diff --git a/k8s/operator-console/base/console-deployment.yaml b/k8s/operator-console/base/console-deployment.yaml index c98795063..cc44bfbfe 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.14.3 + image: minio/console:v0.14.4 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 6d6254cd8..fbbe7601d 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.14.3 + image: minio/console:v0.14.4 imagePullPolicy: "IfNotPresent" env: - name: CONSOLE_MINIO_SERVER diff --git a/portal-ui/build/asset-manifest.json b/portal-ui/build/asset-manifest.json index fabb133c6..087a5fa6f 100644 --- a/portal-ui/build/asset-manifest.json +++ b/portal-ui/build/asset-manifest.json @@ -1,120 +1,120 @@ { "files": { "main.css": "./static/css/main.c4c1effe.css", - "main.js": "./static/js/main.c7ee1a1d.js", - "static/js/2178.cf1507fb.chunk.js": "./static/js/2178.cf1507fb.chunk.js", + "main.js": "./static/js/main.e494763b.js", + "static/js/2178.7830bed4.chunk.js": "./static/js/2178.7830bed4.chunk.js", "static/js/5282.e51b8c66.chunk.js": "./static/js/5282.e51b8c66.chunk.js", - "static/js/1409.ce8091c2.chunk.js": "./static/js/1409.ce8091c2.chunk.js", - "static/js/9560.6ff6a758.chunk.js": "./static/js/9560.6ff6a758.chunk.js", - "static/js/4247.636fee85.chunk.js": "./static/js/4247.636fee85.chunk.js", - "static/js/9330.5c857d6b.chunk.js": "./static/js/9330.5c857d6b.chunk.js", - "static/js/4869.b14a3a6c.chunk.js": "./static/js/4869.b14a3a6c.chunk.js", + "static/js/1409.a1f80372.chunk.js": "./static/js/1409.a1f80372.chunk.js", + "static/js/9560.0462a962.chunk.js": "./static/js/9560.0462a962.chunk.js", + "static/js/4247.cc0f88b2.chunk.js": "./static/js/4247.cc0f88b2.chunk.js", + "static/js/9330.c4a20f8b.chunk.js": "./static/js/9330.c4a20f8b.chunk.js", + "static/js/4869.4a53840e.chunk.js": "./static/js/4869.4a53840e.chunk.js", "static/js/2202.516dc033.chunk.js": "./static/js/2202.516dc033.chunk.js", - "static/js/7436.17e2bbf0.chunk.js": "./static/js/7436.17e2bbf0.chunk.js", - "static/js/1056.6f1cb8e0.chunk.js": "./static/js/1056.6f1cb8e0.chunk.js", - "static/js/9779.0e8be0cc.chunk.js": "./static/js/9779.0e8be0cc.chunk.js", - "static/js/3617.38600ea7.chunk.js": "./static/js/3617.38600ea7.chunk.js", - "static/js/7274.64442dfa.chunk.js": "./static/js/7274.64442dfa.chunk.js", - "static/js/7842.6ec32dd7.chunk.js": "./static/js/7842.6ec32dd7.chunk.js", - "static/js/4745.00dcce39.chunk.js": "./static/js/4745.00dcce39.chunk.js", - "static/js/4515.fc843c16.chunk.js": "./static/js/4515.fc843c16.chunk.js", - "static/js/8259.d34a4da6.chunk.js": "./static/js/8259.d34a4da6.chunk.js", - "static/js/4839.cfc74e75.chunk.js": "./static/js/4839.cfc74e75.chunk.js", - "static/js/8853.b298ca0c.chunk.js": "./static/js/8853.b298ca0c.chunk.js", - "static/js/9275.3648f309.chunk.js": "./static/js/9275.3648f309.chunk.js", - "static/js/3795.ca99e16b.chunk.js": "./static/js/3795.ca99e16b.chunk.js", - "static/js/7314.1fb79e31.chunk.js": "./static/js/7314.1fb79e31.chunk.js", - "static/js/7456.99d2d848.chunk.js": "./static/js/7456.99d2d848.chunk.js", - "static/css/5673.ce92c9f5.chunk.css": "./static/css/5673.ce92c9f5.chunk.css", - "static/js/5673.d3eb036c.chunk.js": "./static/js/5673.d3eb036c.chunk.js", - "static/js/2699.ac935aa8.chunk.js": "./static/js/2699.ac935aa8.chunk.js", - "static/js/5808.5e176e4d.chunk.js": "./static/js/5808.5e176e4d.chunk.js", - "static/js/1237.f11be969.chunk.js": "./static/js/1237.f11be969.chunk.js", - "static/js/8503.6ce0ff69.chunk.js": "./static/js/8503.6ce0ff69.chunk.js", - "static/js/6615.f26600a0.chunk.js": "./static/js/6615.f26600a0.chunk.js", - "static/css/9807.ce92c9f5.chunk.css": "./static/css/9807.ce92c9f5.chunk.css", - "static/js/9807.3f033821.chunk.js": "./static/js/9807.3f033821.chunk.js", - "static/js/3806.e2daceb3.chunk.js": "./static/js/3806.e2daceb3.chunk.js", - "static/js/2742.f1b14cdb.chunk.js": "./static/js/2742.f1b14cdb.chunk.js", - "static/js/3474.378d2159.chunk.js": "./static/js/3474.378d2159.chunk.js", - "static/js/4577.ee518ba9.chunk.js": "./static/js/4577.ee518ba9.chunk.js", - "static/js/5947.88f9751e.chunk.js": "./static/js/5947.88f9751e.chunk.js", - "static/js/4533.e1a532b6.chunk.js": "./static/js/4533.e1a532b6.chunk.js", - "static/js/6147.aed56e85.chunk.js": "./static/js/6147.aed56e85.chunk.js", - "static/js/2805.73cec790.chunk.js": "./static/js/2805.73cec790.chunk.js", + "static/js/7436.ffc144e9.chunk.js": "./static/js/7436.ffc144e9.chunk.js", + "static/js/1056.f7b9df60.chunk.js": "./static/js/1056.f7b9df60.chunk.js", + "static/js/9779.7ac7cbaa.chunk.js": "./static/js/9779.7ac7cbaa.chunk.js", + "static/js/3617.76ae117c.chunk.js": "./static/js/3617.76ae117c.chunk.js", + "static/js/7274.04d18d5b.chunk.js": "./static/js/7274.04d18d5b.chunk.js", + "static/js/7842.dd1f83af.chunk.js": "./static/js/7842.dd1f83af.chunk.js", + "static/js/4745.50faf863.chunk.js": "./static/js/4745.50faf863.chunk.js", + "static/js/4515.56df16f6.chunk.js": "./static/js/4515.56df16f6.chunk.js", + "static/js/8259.096986b8.chunk.js": "./static/js/8259.096986b8.chunk.js", + "static/js/4839.ed81765f.chunk.js": "./static/js/4839.ed81765f.chunk.js", + "static/js/8853.55db07fc.chunk.js": "./static/js/8853.55db07fc.chunk.js", + "static/js/9275.b6d273a8.chunk.js": "./static/js/9275.b6d273a8.chunk.js", + "static/js/3589.dcdc922e.chunk.js": "./static/js/3589.dcdc922e.chunk.js", + "static/js/7314.1f372dfa.chunk.js": "./static/js/7314.1f372dfa.chunk.js", + "static/js/7456.b088e214.chunk.js": "./static/js/7456.b088e214.chunk.js", + "static/css/5673.7ecaf1e3.chunk.css": "./static/css/5673.7ecaf1e3.chunk.css", + "static/js/5673.5777423e.chunk.js": "./static/js/5673.5777423e.chunk.js", + "static/js/2699.9e1fe660.chunk.js": "./static/js/2699.9e1fe660.chunk.js", + "static/js/5808.240a9ffb.chunk.js": "./static/js/5808.240a9ffb.chunk.js", + "static/js/1237.cc7c6a14.chunk.js": "./static/js/1237.cc7c6a14.chunk.js", + "static/js/8503.e5a8b0ef.chunk.js": "./static/js/8503.e5a8b0ef.chunk.js", + "static/css/1990.7ecaf1e3.chunk.css": "./static/css/1990.7ecaf1e3.chunk.css", + "static/js/1990.b0b81374.chunk.js": "./static/js/1990.b0b81374.chunk.js", + "static/css/9807.7ecaf1e3.chunk.css": "./static/css/9807.7ecaf1e3.chunk.css", + "static/js/9807.82e09cb8.chunk.js": "./static/js/9807.82e09cb8.chunk.js", + "static/js/3806.5d7e13c7.chunk.js": "./static/js/3806.5d7e13c7.chunk.js", + "static/js/2742.58c91247.chunk.js": "./static/js/2742.58c91247.chunk.js", + "static/js/3474.fe892013.chunk.js": "./static/js/3474.fe892013.chunk.js", + "static/js/4577.0d2636d3.chunk.js": "./static/js/4577.0d2636d3.chunk.js", + "static/js/5947.59012b92.chunk.js": "./static/js/5947.59012b92.chunk.js", + "static/js/4533.d9c6db0b.chunk.js": "./static/js/4533.d9c6db0b.chunk.js", + "static/js/6147.64405f65.chunk.js": "./static/js/6147.64405f65.chunk.js", + "static/js/2805.fa3b80ee.chunk.js": "./static/js/2805.fa3b80ee.chunk.js", "static/js/3143.e6a9621d.chunk.js": "./static/js/3143.e6a9621d.chunk.js", - "static/js/428.b5539f2b.chunk.js": "./static/js/428.b5539f2b.chunk.js", - "static/js/1069.6dfe4ad0.chunk.js": "./static/js/1069.6dfe4ad0.chunk.js", - "static/js/1140.0208375a.chunk.js": "./static/js/1140.0208375a.chunk.js", - "static/js/2094.4854485e.chunk.js": "./static/js/2094.4854485e.chunk.js", - "static/js/7950.455e5528.chunk.js": "./static/js/7950.455e5528.chunk.js", - "static/js/671.18a32329.chunk.js": "./static/js/671.18a32329.chunk.js", - "static/js/8961.8aa802d6.chunk.js": "./static/js/8961.8aa802d6.chunk.js", - "static/js/3967.ef703755.chunk.js": "./static/js/3967.ef703755.chunk.js", - "static/css/5677.ce92c9f5.chunk.css": "./static/css/5677.ce92c9f5.chunk.css", - "static/js/5677.654039a6.chunk.js": "./static/js/5677.654039a6.chunk.js", - "static/css/4360.ce92c9f5.chunk.css": "./static/css/4360.ce92c9f5.chunk.css", - "static/js/4360.bbbd8faf.chunk.js": "./static/js/4360.bbbd8faf.chunk.js", - "static/js/4109.04a89c2d.chunk.js": "./static/js/4109.04a89c2d.chunk.js", - "static/js/9080.bb419916.chunk.js": "./static/js/9080.bb419916.chunk.js", - "static/js/5961.04fd21a3.chunk.js": "./static/js/5961.04fd21a3.chunk.js", + "static/js/428.4625197b.chunk.js": "./static/js/428.4625197b.chunk.js", + "static/js/1069.57853a28.chunk.js": "./static/js/1069.57853a28.chunk.js", + "static/js/9080.516d04de.chunk.js": "./static/js/9080.516d04de.chunk.js", + "static/js/2094.ef1fbd5b.chunk.js": "./static/js/2094.ef1fbd5b.chunk.js", + "static/js/7950.041ee61e.chunk.js": "./static/js/7950.041ee61e.chunk.js", + "static/js/8967.ec9d9b6b.chunk.js": "./static/js/8967.ec9d9b6b.chunk.js", + "static/js/8961.1587a077.chunk.js": "./static/js/8961.1587a077.chunk.js", + "static/js/3967.94160f6f.chunk.js": "./static/js/3967.94160f6f.chunk.js", + "static/css/4084.7ecaf1e3.chunk.css": "./static/css/4084.7ecaf1e3.chunk.css", + "static/js/4084.3deda75b.chunk.js": "./static/js/4084.3deda75b.chunk.js", + "static/js/8394.c3b5a87f.chunk.js": "./static/js/8394.c3b5a87f.chunk.js", + "static/js/4109.379ba85e.chunk.js": "./static/js/4109.379ba85e.chunk.js", + "static/js/1140.dc4f7cbb.chunk.js": "./static/js/1140.dc4f7cbb.chunk.js", + "static/js/5961.95455f54.chunk.js": "./static/js/5961.95455f54.chunk.js", "static/js/6549.e0686e32.chunk.js": "./static/js/6549.e0686e32.chunk.js", - "static/js/7498.07dd467b.chunk.js": "./static/js/7498.07dd467b.chunk.js", - "static/js/9421.a88c8e02.chunk.js": "./static/js/9421.a88c8e02.chunk.js", - "static/js/5284.e23070a0.chunk.js": "./static/js/5284.e23070a0.chunk.js", - "static/js/4818.65ba088c.chunk.js": "./static/js/4818.65ba088c.chunk.js", + "static/js/7498.ca73ad94.chunk.js": "./static/js/7498.ca73ad94.chunk.js", + "static/js/9421.96205cad.chunk.js": "./static/js/9421.96205cad.chunk.js", + "static/js/5284.5dcf178e.chunk.js": "./static/js/5284.5dcf178e.chunk.js", + "static/js/4818.7391a4e4.chunk.js": "./static/js/4818.7391a4e4.chunk.js", "static/js/2401.74634660.chunk.js": "./static/js/2401.74634660.chunk.js", - "static/css/8724.ce92c9f5.chunk.css": "./static/css/8724.ce92c9f5.chunk.css", - "static/js/8724.cf8fb340.chunk.js": "./static/js/8724.cf8fb340.chunk.js", - "static/js/2182.468a5b4e.chunk.js": "./static/js/2182.468a5b4e.chunk.js", + "static/css/8724.7ecaf1e3.chunk.css": "./static/css/8724.7ecaf1e3.chunk.css", + "static/js/8724.eec4f225.chunk.js": "./static/js/8724.eec4f225.chunk.js", + "static/js/2182.2e7a9981.chunk.js": "./static/js/2182.2e7a9981.chunk.js", "static/js/7764.3b798da3.chunk.js": "./static/js/7764.3b798da3.chunk.js", - "static/js/4220.308c5fb3.chunk.js": "./static/js/4220.308c5fb3.chunk.js", - "static/js/1719.fbaa408a.chunk.js": "./static/js/1719.fbaa408a.chunk.js", - "static/js/3320.2e853989.chunk.js": "./static/js/3320.2e853989.chunk.js", + "static/js/4220.4e3b3b58.chunk.js": "./static/js/4220.4e3b3b58.chunk.js", + "static/js/1719.06e59cd5.chunk.js": "./static/js/1719.06e59cd5.chunk.js", + "static/js/3320.73d7b61f.chunk.js": "./static/js/3320.73d7b61f.chunk.js", "static/js/9923.25fa1a75.chunk.js": "./static/js/9923.25fa1a75.chunk.js", "static/js/9586.c44d8f2b.chunk.js": "./static/js/9586.c44d8f2b.chunk.js", - "static/js/7261.98082dab.chunk.js": "./static/js/7261.98082dab.chunk.js", - "static/js/6436.f2bab163.chunk.js": "./static/js/6436.f2bab163.chunk.js", + "static/js/7261.a4f25607.chunk.js": "./static/js/7261.a4f25607.chunk.js", + "static/js/6436.94fc01ae.chunk.js": "./static/js/6436.94fc01ae.chunk.js", "static/js/8343.b174034e.chunk.js": "./static/js/8343.b174034e.chunk.js", - "static/js/2841.95af1213.chunk.js": "./static/js/2841.95af1213.chunk.js", - "static/js/6167.edad2368.chunk.js": "./static/js/6167.edad2368.chunk.js", - "static/js/3698.49eb7411.chunk.js": "./static/js/3698.49eb7411.chunk.js", - "static/js/1971.306de04b.chunk.js": "./static/js/1971.306de04b.chunk.js", - "static/js/7346.8e455eaa.chunk.js": "./static/js/7346.8e455eaa.chunk.js", + "static/js/2841.3d33d6cd.chunk.js": "./static/js/2841.3d33d6cd.chunk.js", + "static/js/6167.657bf70b.chunk.js": "./static/js/6167.657bf70b.chunk.js", + "static/js/3698.1144caf6.chunk.js": "./static/js/3698.1144caf6.chunk.js", + "static/js/1971.6d62cf1b.chunk.js": "./static/js/1971.6d62cf1b.chunk.js", + "static/js/7346.f40bf7ca.chunk.js": "./static/js/7346.f40bf7ca.chunk.js", "static/js/5144.f66d75af.chunk.js": "./static/js/5144.f66d75af.chunk.js", "static/js/5125.9822771e.chunk.js": "./static/js/5125.9822771e.chunk.js", - "static/js/1973.55987b98.chunk.js": "./static/js/1973.55987b98.chunk.js", + "static/js/1973.34c45ee7.chunk.js": "./static/js/1973.34c45ee7.chunk.js", "static/js/7187.b3ba71a1.chunk.js": "./static/js/7187.b3ba71a1.chunk.js", - "static/js/6173.b70c4e1a.chunk.js": "./static/js/6173.b70c4e1a.chunk.js", - "static/js/7146.09b3a43c.chunk.js": "./static/js/7146.09b3a43c.chunk.js", - "static/js/9924.a7c06331.chunk.js": "./static/js/9924.a7c06331.chunk.js", - "static/js/9193.cbd8d842.chunk.js": "./static/js/9193.cbd8d842.chunk.js", - "static/js/7451.43cf8bf6.chunk.js": "./static/js/7451.43cf8bf6.chunk.js", - "static/css/165.ce92c9f5.chunk.css": "./static/css/165.ce92c9f5.chunk.css", - "static/js/165.6ba70895.chunk.js": "./static/js/165.6ba70895.chunk.js", - "static/js/4121.17b5e70f.chunk.js": "./static/js/4121.17b5e70f.chunk.js", - "static/js/609.218c57b6.chunk.js": "./static/js/609.218c57b6.chunk.js", - "static/js/3421.aa3eeb04.chunk.js": "./static/js/3421.aa3eeb04.chunk.js", - "static/js/2892.f2ab7fe7.chunk.js": "./static/js/2892.f2ab7fe7.chunk.js", - "static/js/7926.d155ef62.chunk.js": "./static/js/7926.d155ef62.chunk.js", - "static/js/6145.819d854c.chunk.js": "./static/js/6145.819d854c.chunk.js", - "static/css/6951.ce92c9f5.chunk.css": "./static/css/6951.ce92c9f5.chunk.css", - "static/js/6951.e58557fd.chunk.js": "./static/js/6951.e58557fd.chunk.js", - "static/js/2966.c61fbf10.chunk.js": "./static/js/2966.c61fbf10.chunk.js", - "static/js/4177.bfe448c8.chunk.js": "./static/js/4177.bfe448c8.chunk.js", - "static/js/9679.2b8424ba.chunk.js": "./static/js/9679.2b8424ba.chunk.js", - "static/js/8333.b0c9e377.chunk.js": "./static/js/8333.b0c9e377.chunk.js", - "static/js/1711.a046e26c.chunk.js": "./static/js/1711.a046e26c.chunk.js", - "static/js/9.0e073695.chunk.js": "./static/js/9.0e073695.chunk.js", - "static/js/4487.3ad24a2d.chunk.js": "./static/js/4487.3ad24a2d.chunk.js", - "static/js/6866.aa2f03f0.chunk.js": "./static/js/6866.aa2f03f0.chunk.js", - "static/js/8564.11a3023b.chunk.js": "./static/js/8564.11a3023b.chunk.js", - "static/js/3152.daa99377.chunk.js": "./static/js/3152.daa99377.chunk.js", - "static/js/7007.3606231e.chunk.js": "./static/js/7007.3606231e.chunk.js", + "static/js/6173.0154f085.chunk.js": "./static/js/6173.0154f085.chunk.js", + "static/js/7146.699d8257.chunk.js": "./static/js/7146.699d8257.chunk.js", + "static/js/9924.0c2cdee6.chunk.js": "./static/js/9924.0c2cdee6.chunk.js", + "static/js/9193.840c0a00.chunk.js": "./static/js/9193.840c0a00.chunk.js", + "static/js/7451.3135dd72.chunk.js": "./static/js/7451.3135dd72.chunk.js", + "static/css/9645.7ecaf1e3.chunk.css": "./static/css/9645.7ecaf1e3.chunk.css", + "static/js/9645.7e223ba8.chunk.js": "./static/js/9645.7e223ba8.chunk.js", + "static/js/4121.0a36aad4.chunk.js": "./static/js/4121.0a36aad4.chunk.js", + "static/js/609.911f7c3a.chunk.js": "./static/js/609.911f7c3a.chunk.js", + "static/js/3421.a52d7b4f.chunk.js": "./static/js/3421.a52d7b4f.chunk.js", + "static/js/2892.612b963a.chunk.js": "./static/js/2892.612b963a.chunk.js", + "static/js/7926.2a96a6b4.chunk.js": "./static/js/7926.2a96a6b4.chunk.js", + "static/js/6145.5fc6589e.chunk.js": "./static/js/6145.5fc6589e.chunk.js", + "static/css/3816.7ecaf1e3.chunk.css": "./static/css/3816.7ecaf1e3.chunk.css", + "static/js/3816.7dc2c7d2.chunk.js": "./static/js/3816.7dc2c7d2.chunk.js", + "static/js/2966.fed828cf.chunk.js": "./static/js/2966.fed828cf.chunk.js", + "static/js/4177.ff48eff7.chunk.js": "./static/js/4177.ff48eff7.chunk.js", + "static/js/9679.eb81d633.chunk.js": "./static/js/9679.eb81d633.chunk.js", + "static/js/8333.8e8ca78e.chunk.js": "./static/js/8333.8e8ca78e.chunk.js", + "static/js/1711.669b8be7.chunk.js": "./static/js/1711.669b8be7.chunk.js", + "static/js/9.e9a15c48.chunk.js": "./static/js/9.e9a15c48.chunk.js", + "static/js/4487.8d3f76aa.chunk.js": "./static/js/4487.8d3f76aa.chunk.js", + "static/js/6866.170616fc.chunk.js": "./static/js/6866.170616fc.chunk.js", + "static/js/8564.eeedae16.chunk.js": "./static/js/8564.eeedae16.chunk.js", + "static/js/1666.d4e2b942.chunk.js": "./static/js/1666.d4e2b942.chunk.js", + "static/js/7007.8a078c5c.chunk.js": "./static/js/7007.8a078c5c.chunk.js", "static/js/14.25ecb28d.chunk.js": "./static/js/14.25ecb28d.chunk.js", - "static/js/2066.5180dac0.chunk.js": "./static/js/2066.5180dac0.chunk.js", + "static/js/2066.16320a68.chunk.js": "./static/js/2066.16320a68.chunk.js", "static/js/5444.e8727da9.chunk.js": "./static/js/5444.e8727da9.chunk.js", - "static/js/892.2aaf58f1.chunk.js": "./static/js/892.2aaf58f1.chunk.js", + "static/js/3152.d03e4df4.chunk.js": "./static/js/3152.d03e4df4.chunk.js", "static/js/3690.536fb187.chunk.js": "./static/js/3690.536fb187.chunk.js", "static/js/5399.6bc650ac.chunk.js": "./static/js/5399.6bc650ac.chunk.js", "static/js/606.28fdb5bc.chunk.js": "./static/js/606.28fdb5bc.chunk.js", @@ -126,152 +126,152 @@ "static/js/3020.3b2e782c.chunk.js": "./static/js/3020.3b2e782c.chunk.js", "static/js/9056.41f0e489.chunk.js": "./static/js/9056.41f0e489.chunk.js", "static/js/3360.453f0701.chunk.js": "./static/js/3360.453f0701.chunk.js", - "static/js/8420.68d5dfb4.chunk.js": "./static/js/8420.68d5dfb4.chunk.js", + "static/js/8420.cf009fd2.chunk.js": "./static/js/8420.cf009fd2.chunk.js", "static/js/1420.517f0e88.chunk.js": "./static/js/1420.517f0e88.chunk.js", "static/js/2309.49be65c5.chunk.js": "./static/js/2309.49be65c5.chunk.js", "static/js/1233.9903fc82.chunk.js": "./static/js/1233.9903fc82.chunk.js", "static/js/3356.05b42758.chunk.js": "./static/js/3356.05b42758.chunk.js", "static/js/8016.b0ab3b67.chunk.js": "./static/js/8016.b0ab3b67.chunk.js", - "static/js/6851.3b47e1b9.chunk.js": "./static/js/6851.3b47e1b9.chunk.js", + "static/js/4817.2c511e72.chunk.js": "./static/js/4817.2c511e72.chunk.js", "static/js/2253.d527f443.chunk.js": "./static/js/2253.d527f443.chunk.js", - "static/js/6427.028089e0.chunk.js": "./static/js/6427.028089e0.chunk.js", + "static/js/5482.c80a5ebb.chunk.js": "./static/js/5482.c80a5ebb.chunk.js", "static/js/3538.60e98cef.chunk.js": "./static/js/3538.60e98cef.chunk.js", "static/js/8749.fa0fb710.chunk.js": "./static/js/8749.fa0fb710.chunk.js", "static/js/7348.b037b952.chunk.js": "./static/js/7348.b037b952.chunk.js", "static/js/1760.8589ea77.chunk.js": "./static/js/1760.8589ea77.chunk.js", - "static/js/2873.ebf17fc8.chunk.js": "./static/js/2873.ebf17fc8.chunk.js", + "static/js/2873.ae77af6d.chunk.js": "./static/js/2873.ae77af6d.chunk.js", "static/js/8708.70b62dd5.chunk.js": "./static/js/8708.70b62dd5.chunk.js", + "static/js/3383.ab285f5a.chunk.js": "./static/js/3383.ab285f5a.chunk.js", "static/js/2594.77f64a1f.chunk.js": "./static/js/2594.77f64a1f.chunk.js", "static/js/440.5bb0a106.chunk.js": "./static/js/440.5bb0a106.chunk.js", - "static/js/3045.f1cc8d42.chunk.js": "./static/js/3045.f1cc8d42.chunk.js", - "static/js/4817.2c511e72.chunk.js": "./static/js/4817.2c511e72.chunk.js", + "static/js/3045.0dea1c04.chunk.js": "./static/js/3045.0dea1c04.chunk.js", "static/js/938.8f6a5aa1.chunk.js": "./static/js/938.8f6a5aa1.chunk.js", - "static/js/4105.a498ca05.chunk.js": "./static/js/4105.a498ca05.chunk.js", + "static/js/4105.4a4541e7.chunk.js": "./static/js/4105.4a4541e7.chunk.js", "static/js/9876.3e5a4f83.chunk.js": "./static/js/9876.3e5a4f83.chunk.js", - "static/js/7777.7ea62662.chunk.js": "./static/js/7777.7ea62662.chunk.js", - "static/js/7042.343b48b2.chunk.js": "./static/js/7042.343b48b2.chunk.js", - "static/js/3201.9f8a570f.chunk.js": "./static/js/3201.9f8a570f.chunk.js", - "static/js/7664.9ba57569.chunk.js": "./static/js/7664.9ba57569.chunk.js", - "static/js/5170.2d3119fa.chunk.js": "./static/js/5170.2d3119fa.chunk.js", - "static/js/7454.6a33b546.chunk.js": "./static/js/7454.6a33b546.chunk.js", - "static/js/6873.a4c0dde3.chunk.js": "./static/js/6873.a4c0dde3.chunk.js", - "static/js/3453.9ef32892.chunk.js": "./static/js/3453.9ef32892.chunk.js", + "static/js/7777.2be735aa.chunk.js": "./static/js/7777.2be735aa.chunk.js", + "static/js/7042.b193939a.chunk.js": "./static/js/7042.b193939a.chunk.js", + "static/js/3201.781acfe1.chunk.js": "./static/js/3201.781acfe1.chunk.js", + "static/js/7664.62484a7b.chunk.js": "./static/js/7664.62484a7b.chunk.js", + "static/js/9469.694915bc.chunk.js": "./static/js/9469.694915bc.chunk.js", + "static/js/7335.53f780ee.chunk.js": "./static/js/7335.53f780ee.chunk.js", + "static/js/6873.b692329a.chunk.js": "./static/js/6873.b692329a.chunk.js", + "static/js/3453.cadd9dca.chunk.js": "./static/js/3453.cadd9dca.chunk.js", "index.html": "./index.html", "main.c4c1effe.css.map": "./static/css/main.c4c1effe.css.map", - "main.c7ee1a1d.js.map": "./static/js/main.c7ee1a1d.js.map", - "2178.cf1507fb.chunk.js.map": "./static/js/2178.cf1507fb.chunk.js.map", + "main.e494763b.js.map": "./static/js/main.e494763b.js.map", + "2178.7830bed4.chunk.js.map": "./static/js/2178.7830bed4.chunk.js.map", "5282.e51b8c66.chunk.js.map": "./static/js/5282.e51b8c66.chunk.js.map", - "1409.ce8091c2.chunk.js.map": "./static/js/1409.ce8091c2.chunk.js.map", - "9560.6ff6a758.chunk.js.map": "./static/js/9560.6ff6a758.chunk.js.map", - "4247.636fee85.chunk.js.map": "./static/js/4247.636fee85.chunk.js.map", - "9330.5c857d6b.chunk.js.map": "./static/js/9330.5c857d6b.chunk.js.map", - "4869.b14a3a6c.chunk.js.map": "./static/js/4869.b14a3a6c.chunk.js.map", + "1409.a1f80372.chunk.js.map": "./static/js/1409.a1f80372.chunk.js.map", + "9560.0462a962.chunk.js.map": "./static/js/9560.0462a962.chunk.js.map", + "4247.cc0f88b2.chunk.js.map": "./static/js/4247.cc0f88b2.chunk.js.map", + "9330.c4a20f8b.chunk.js.map": "./static/js/9330.c4a20f8b.chunk.js.map", + "4869.4a53840e.chunk.js.map": "./static/js/4869.4a53840e.chunk.js.map", "2202.516dc033.chunk.js.map": "./static/js/2202.516dc033.chunk.js.map", - "7436.17e2bbf0.chunk.js.map": "./static/js/7436.17e2bbf0.chunk.js.map", - "1056.6f1cb8e0.chunk.js.map": "./static/js/1056.6f1cb8e0.chunk.js.map", - "9779.0e8be0cc.chunk.js.map": "./static/js/9779.0e8be0cc.chunk.js.map", - "3617.38600ea7.chunk.js.map": "./static/js/3617.38600ea7.chunk.js.map", - "7274.64442dfa.chunk.js.map": "./static/js/7274.64442dfa.chunk.js.map", - "7842.6ec32dd7.chunk.js.map": "./static/js/7842.6ec32dd7.chunk.js.map", - "4745.00dcce39.chunk.js.map": "./static/js/4745.00dcce39.chunk.js.map", - "4515.fc843c16.chunk.js.map": "./static/js/4515.fc843c16.chunk.js.map", - "8259.d34a4da6.chunk.js.map": "./static/js/8259.d34a4da6.chunk.js.map", - "4839.cfc74e75.chunk.js.map": "./static/js/4839.cfc74e75.chunk.js.map", - "8853.b298ca0c.chunk.js.map": "./static/js/8853.b298ca0c.chunk.js.map", - "9275.3648f309.chunk.js.map": "./static/js/9275.3648f309.chunk.js.map", - "3795.ca99e16b.chunk.js.map": "./static/js/3795.ca99e16b.chunk.js.map", - "7314.1fb79e31.chunk.js.map": "./static/js/7314.1fb79e31.chunk.js.map", - "7456.99d2d848.chunk.js.map": "./static/js/7456.99d2d848.chunk.js.map", - "5673.ce92c9f5.chunk.css.map": "./static/css/5673.ce92c9f5.chunk.css.map", - "5673.d3eb036c.chunk.js.map": "./static/js/5673.d3eb036c.chunk.js.map", - "2699.ac935aa8.chunk.js.map": "./static/js/2699.ac935aa8.chunk.js.map", - "5808.5e176e4d.chunk.js.map": "./static/js/5808.5e176e4d.chunk.js.map", - "1237.f11be969.chunk.js.map": "./static/js/1237.f11be969.chunk.js.map", - "8503.6ce0ff69.chunk.js.map": "./static/js/8503.6ce0ff69.chunk.js.map", - "6615.f26600a0.chunk.js.map": "./static/js/6615.f26600a0.chunk.js.map", - "9807.ce92c9f5.chunk.css.map": "./static/css/9807.ce92c9f5.chunk.css.map", - "9807.3f033821.chunk.js.map": "./static/js/9807.3f033821.chunk.js.map", - "3806.e2daceb3.chunk.js.map": "./static/js/3806.e2daceb3.chunk.js.map", - "2742.f1b14cdb.chunk.js.map": "./static/js/2742.f1b14cdb.chunk.js.map", - "3474.378d2159.chunk.js.map": "./static/js/3474.378d2159.chunk.js.map", - "4577.ee518ba9.chunk.js.map": "./static/js/4577.ee518ba9.chunk.js.map", - "5947.88f9751e.chunk.js.map": "./static/js/5947.88f9751e.chunk.js.map", - "4533.e1a532b6.chunk.js.map": "./static/js/4533.e1a532b6.chunk.js.map", - "6147.aed56e85.chunk.js.map": "./static/js/6147.aed56e85.chunk.js.map", - "2805.73cec790.chunk.js.map": "./static/js/2805.73cec790.chunk.js.map", + "7436.ffc144e9.chunk.js.map": "./static/js/7436.ffc144e9.chunk.js.map", + "1056.f7b9df60.chunk.js.map": "./static/js/1056.f7b9df60.chunk.js.map", + "9779.7ac7cbaa.chunk.js.map": "./static/js/9779.7ac7cbaa.chunk.js.map", + "3617.76ae117c.chunk.js.map": "./static/js/3617.76ae117c.chunk.js.map", + "7274.04d18d5b.chunk.js.map": "./static/js/7274.04d18d5b.chunk.js.map", + "7842.dd1f83af.chunk.js.map": "./static/js/7842.dd1f83af.chunk.js.map", + "4745.50faf863.chunk.js.map": "./static/js/4745.50faf863.chunk.js.map", + "4515.56df16f6.chunk.js.map": "./static/js/4515.56df16f6.chunk.js.map", + "8259.096986b8.chunk.js.map": "./static/js/8259.096986b8.chunk.js.map", + "4839.ed81765f.chunk.js.map": "./static/js/4839.ed81765f.chunk.js.map", + "8853.55db07fc.chunk.js.map": "./static/js/8853.55db07fc.chunk.js.map", + "9275.b6d273a8.chunk.js.map": "./static/js/9275.b6d273a8.chunk.js.map", + "3589.dcdc922e.chunk.js.map": "./static/js/3589.dcdc922e.chunk.js.map", + "7314.1f372dfa.chunk.js.map": "./static/js/7314.1f372dfa.chunk.js.map", + "7456.b088e214.chunk.js.map": "./static/js/7456.b088e214.chunk.js.map", + "5673.7ecaf1e3.chunk.css.map": "./static/css/5673.7ecaf1e3.chunk.css.map", + "5673.5777423e.chunk.js.map": "./static/js/5673.5777423e.chunk.js.map", + "2699.9e1fe660.chunk.js.map": "./static/js/2699.9e1fe660.chunk.js.map", + "5808.240a9ffb.chunk.js.map": "./static/js/5808.240a9ffb.chunk.js.map", + "1237.cc7c6a14.chunk.js.map": "./static/js/1237.cc7c6a14.chunk.js.map", + "8503.e5a8b0ef.chunk.js.map": "./static/js/8503.e5a8b0ef.chunk.js.map", + "1990.7ecaf1e3.chunk.css.map": "./static/css/1990.7ecaf1e3.chunk.css.map", + "1990.b0b81374.chunk.js.map": "./static/js/1990.b0b81374.chunk.js.map", + "9807.7ecaf1e3.chunk.css.map": "./static/css/9807.7ecaf1e3.chunk.css.map", + "9807.82e09cb8.chunk.js.map": "./static/js/9807.82e09cb8.chunk.js.map", + "3806.5d7e13c7.chunk.js.map": "./static/js/3806.5d7e13c7.chunk.js.map", + "2742.58c91247.chunk.js.map": "./static/js/2742.58c91247.chunk.js.map", + "3474.fe892013.chunk.js.map": "./static/js/3474.fe892013.chunk.js.map", + "4577.0d2636d3.chunk.js.map": "./static/js/4577.0d2636d3.chunk.js.map", + "5947.59012b92.chunk.js.map": "./static/js/5947.59012b92.chunk.js.map", + "4533.d9c6db0b.chunk.js.map": "./static/js/4533.d9c6db0b.chunk.js.map", + "6147.64405f65.chunk.js.map": "./static/js/6147.64405f65.chunk.js.map", + "2805.fa3b80ee.chunk.js.map": "./static/js/2805.fa3b80ee.chunk.js.map", "3143.e6a9621d.chunk.js.map": "./static/js/3143.e6a9621d.chunk.js.map", - "428.b5539f2b.chunk.js.map": "./static/js/428.b5539f2b.chunk.js.map", - "1069.6dfe4ad0.chunk.js.map": "./static/js/1069.6dfe4ad0.chunk.js.map", - "1140.0208375a.chunk.js.map": "./static/js/1140.0208375a.chunk.js.map", - "2094.4854485e.chunk.js.map": "./static/js/2094.4854485e.chunk.js.map", - "7950.455e5528.chunk.js.map": "./static/js/7950.455e5528.chunk.js.map", - "671.18a32329.chunk.js.map": "./static/js/671.18a32329.chunk.js.map", - "8961.8aa802d6.chunk.js.map": "./static/js/8961.8aa802d6.chunk.js.map", - "3967.ef703755.chunk.js.map": "./static/js/3967.ef703755.chunk.js.map", - "5677.ce92c9f5.chunk.css.map": "./static/css/5677.ce92c9f5.chunk.css.map", - "5677.654039a6.chunk.js.map": "./static/js/5677.654039a6.chunk.js.map", - "4360.ce92c9f5.chunk.css.map": "./static/css/4360.ce92c9f5.chunk.css.map", - "4360.bbbd8faf.chunk.js.map": "./static/js/4360.bbbd8faf.chunk.js.map", - "4109.04a89c2d.chunk.js.map": "./static/js/4109.04a89c2d.chunk.js.map", - "9080.bb419916.chunk.js.map": "./static/js/9080.bb419916.chunk.js.map", - "5961.04fd21a3.chunk.js.map": "./static/js/5961.04fd21a3.chunk.js.map", + "428.4625197b.chunk.js.map": "./static/js/428.4625197b.chunk.js.map", + "1069.57853a28.chunk.js.map": "./static/js/1069.57853a28.chunk.js.map", + "9080.516d04de.chunk.js.map": "./static/js/9080.516d04de.chunk.js.map", + "2094.ef1fbd5b.chunk.js.map": "./static/js/2094.ef1fbd5b.chunk.js.map", + "7950.041ee61e.chunk.js.map": "./static/js/7950.041ee61e.chunk.js.map", + "8967.ec9d9b6b.chunk.js.map": "./static/js/8967.ec9d9b6b.chunk.js.map", + "8961.1587a077.chunk.js.map": "./static/js/8961.1587a077.chunk.js.map", + "3967.94160f6f.chunk.js.map": "./static/js/3967.94160f6f.chunk.js.map", + "4084.7ecaf1e3.chunk.css.map": "./static/css/4084.7ecaf1e3.chunk.css.map", + "4084.3deda75b.chunk.js.map": "./static/js/4084.3deda75b.chunk.js.map", + "8394.c3b5a87f.chunk.js.map": "./static/js/8394.c3b5a87f.chunk.js.map", + "4109.379ba85e.chunk.js.map": "./static/js/4109.379ba85e.chunk.js.map", + "1140.dc4f7cbb.chunk.js.map": "./static/js/1140.dc4f7cbb.chunk.js.map", + "5961.95455f54.chunk.js.map": "./static/js/5961.95455f54.chunk.js.map", "6549.e0686e32.chunk.js.map": "./static/js/6549.e0686e32.chunk.js.map", - "7498.07dd467b.chunk.js.map": "./static/js/7498.07dd467b.chunk.js.map", - "9421.a88c8e02.chunk.js.map": "./static/js/9421.a88c8e02.chunk.js.map", - "5284.e23070a0.chunk.js.map": "./static/js/5284.e23070a0.chunk.js.map", - "4818.65ba088c.chunk.js.map": "./static/js/4818.65ba088c.chunk.js.map", + "7498.ca73ad94.chunk.js.map": "./static/js/7498.ca73ad94.chunk.js.map", + "9421.96205cad.chunk.js.map": "./static/js/9421.96205cad.chunk.js.map", + "5284.5dcf178e.chunk.js.map": "./static/js/5284.5dcf178e.chunk.js.map", + "4818.7391a4e4.chunk.js.map": "./static/js/4818.7391a4e4.chunk.js.map", "2401.74634660.chunk.js.map": "./static/js/2401.74634660.chunk.js.map", - "8724.ce92c9f5.chunk.css.map": "./static/css/8724.ce92c9f5.chunk.css.map", - "8724.cf8fb340.chunk.js.map": "./static/js/8724.cf8fb340.chunk.js.map", - "2182.468a5b4e.chunk.js.map": "./static/js/2182.468a5b4e.chunk.js.map", + "8724.7ecaf1e3.chunk.css.map": "./static/css/8724.7ecaf1e3.chunk.css.map", + "8724.eec4f225.chunk.js.map": "./static/js/8724.eec4f225.chunk.js.map", + "2182.2e7a9981.chunk.js.map": "./static/js/2182.2e7a9981.chunk.js.map", "7764.3b798da3.chunk.js.map": "./static/js/7764.3b798da3.chunk.js.map", - "4220.308c5fb3.chunk.js.map": "./static/js/4220.308c5fb3.chunk.js.map", - "1719.fbaa408a.chunk.js.map": "./static/js/1719.fbaa408a.chunk.js.map", - "3320.2e853989.chunk.js.map": "./static/js/3320.2e853989.chunk.js.map", + "4220.4e3b3b58.chunk.js.map": "./static/js/4220.4e3b3b58.chunk.js.map", + "1719.06e59cd5.chunk.js.map": "./static/js/1719.06e59cd5.chunk.js.map", + "3320.73d7b61f.chunk.js.map": "./static/js/3320.73d7b61f.chunk.js.map", "9923.25fa1a75.chunk.js.map": "./static/js/9923.25fa1a75.chunk.js.map", "9586.c44d8f2b.chunk.js.map": "./static/js/9586.c44d8f2b.chunk.js.map", - "7261.98082dab.chunk.js.map": "./static/js/7261.98082dab.chunk.js.map", - "6436.f2bab163.chunk.js.map": "./static/js/6436.f2bab163.chunk.js.map", + "7261.a4f25607.chunk.js.map": "./static/js/7261.a4f25607.chunk.js.map", + "6436.94fc01ae.chunk.js.map": "./static/js/6436.94fc01ae.chunk.js.map", "8343.b174034e.chunk.js.map": "./static/js/8343.b174034e.chunk.js.map", - "2841.95af1213.chunk.js.map": "./static/js/2841.95af1213.chunk.js.map", - "6167.edad2368.chunk.js.map": "./static/js/6167.edad2368.chunk.js.map", - "3698.49eb7411.chunk.js.map": "./static/js/3698.49eb7411.chunk.js.map", - "1971.306de04b.chunk.js.map": "./static/js/1971.306de04b.chunk.js.map", - "7346.8e455eaa.chunk.js.map": "./static/js/7346.8e455eaa.chunk.js.map", + "2841.3d33d6cd.chunk.js.map": "./static/js/2841.3d33d6cd.chunk.js.map", + "6167.657bf70b.chunk.js.map": "./static/js/6167.657bf70b.chunk.js.map", + "3698.1144caf6.chunk.js.map": "./static/js/3698.1144caf6.chunk.js.map", + "1971.6d62cf1b.chunk.js.map": "./static/js/1971.6d62cf1b.chunk.js.map", + "7346.f40bf7ca.chunk.js.map": "./static/js/7346.f40bf7ca.chunk.js.map", "5144.f66d75af.chunk.js.map": "./static/js/5144.f66d75af.chunk.js.map", "5125.9822771e.chunk.js.map": "./static/js/5125.9822771e.chunk.js.map", - "1973.55987b98.chunk.js.map": "./static/js/1973.55987b98.chunk.js.map", + "1973.34c45ee7.chunk.js.map": "./static/js/1973.34c45ee7.chunk.js.map", "7187.b3ba71a1.chunk.js.map": "./static/js/7187.b3ba71a1.chunk.js.map", - "6173.b70c4e1a.chunk.js.map": "./static/js/6173.b70c4e1a.chunk.js.map", - "7146.09b3a43c.chunk.js.map": "./static/js/7146.09b3a43c.chunk.js.map", - "9924.a7c06331.chunk.js.map": "./static/js/9924.a7c06331.chunk.js.map", - "9193.cbd8d842.chunk.js.map": "./static/js/9193.cbd8d842.chunk.js.map", - "7451.43cf8bf6.chunk.js.map": "./static/js/7451.43cf8bf6.chunk.js.map", - "165.ce92c9f5.chunk.css.map": "./static/css/165.ce92c9f5.chunk.css.map", - "165.6ba70895.chunk.js.map": "./static/js/165.6ba70895.chunk.js.map", - "4121.17b5e70f.chunk.js.map": "./static/js/4121.17b5e70f.chunk.js.map", - "609.218c57b6.chunk.js.map": "./static/js/609.218c57b6.chunk.js.map", - "3421.aa3eeb04.chunk.js.map": "./static/js/3421.aa3eeb04.chunk.js.map", - "2892.f2ab7fe7.chunk.js.map": "./static/js/2892.f2ab7fe7.chunk.js.map", - "7926.d155ef62.chunk.js.map": "./static/js/7926.d155ef62.chunk.js.map", - "6145.819d854c.chunk.js.map": "./static/js/6145.819d854c.chunk.js.map", - "6951.ce92c9f5.chunk.css.map": "./static/css/6951.ce92c9f5.chunk.css.map", - "6951.e58557fd.chunk.js.map": "./static/js/6951.e58557fd.chunk.js.map", - "2966.c61fbf10.chunk.js.map": "./static/js/2966.c61fbf10.chunk.js.map", - "4177.bfe448c8.chunk.js.map": "./static/js/4177.bfe448c8.chunk.js.map", - "9679.2b8424ba.chunk.js.map": "./static/js/9679.2b8424ba.chunk.js.map", - "8333.b0c9e377.chunk.js.map": "./static/js/8333.b0c9e377.chunk.js.map", - "1711.a046e26c.chunk.js.map": "./static/js/1711.a046e26c.chunk.js.map", - "9.0e073695.chunk.js.map": "./static/js/9.0e073695.chunk.js.map", - "4487.3ad24a2d.chunk.js.map": "./static/js/4487.3ad24a2d.chunk.js.map", - "6866.aa2f03f0.chunk.js.map": "./static/js/6866.aa2f03f0.chunk.js.map", - "8564.11a3023b.chunk.js.map": "./static/js/8564.11a3023b.chunk.js.map", - "3152.daa99377.chunk.js.map": "./static/js/3152.daa99377.chunk.js.map", - "7007.3606231e.chunk.js.map": "./static/js/7007.3606231e.chunk.js.map", + "6173.0154f085.chunk.js.map": "./static/js/6173.0154f085.chunk.js.map", + "7146.699d8257.chunk.js.map": "./static/js/7146.699d8257.chunk.js.map", + "9924.0c2cdee6.chunk.js.map": "./static/js/9924.0c2cdee6.chunk.js.map", + "9193.840c0a00.chunk.js.map": "./static/js/9193.840c0a00.chunk.js.map", + "7451.3135dd72.chunk.js.map": "./static/js/7451.3135dd72.chunk.js.map", + "9645.7ecaf1e3.chunk.css.map": "./static/css/9645.7ecaf1e3.chunk.css.map", + "9645.7e223ba8.chunk.js.map": "./static/js/9645.7e223ba8.chunk.js.map", + "4121.0a36aad4.chunk.js.map": "./static/js/4121.0a36aad4.chunk.js.map", + "609.911f7c3a.chunk.js.map": "./static/js/609.911f7c3a.chunk.js.map", + "3421.a52d7b4f.chunk.js.map": "./static/js/3421.a52d7b4f.chunk.js.map", + "2892.612b963a.chunk.js.map": "./static/js/2892.612b963a.chunk.js.map", + "7926.2a96a6b4.chunk.js.map": "./static/js/7926.2a96a6b4.chunk.js.map", + "6145.5fc6589e.chunk.js.map": "./static/js/6145.5fc6589e.chunk.js.map", + "3816.7ecaf1e3.chunk.css.map": "./static/css/3816.7ecaf1e3.chunk.css.map", + "3816.7dc2c7d2.chunk.js.map": "./static/js/3816.7dc2c7d2.chunk.js.map", + "2966.fed828cf.chunk.js.map": "./static/js/2966.fed828cf.chunk.js.map", + "4177.ff48eff7.chunk.js.map": "./static/js/4177.ff48eff7.chunk.js.map", + "9679.eb81d633.chunk.js.map": "./static/js/9679.eb81d633.chunk.js.map", + "8333.8e8ca78e.chunk.js.map": "./static/js/8333.8e8ca78e.chunk.js.map", + "1711.669b8be7.chunk.js.map": "./static/js/1711.669b8be7.chunk.js.map", + "9.e9a15c48.chunk.js.map": "./static/js/9.e9a15c48.chunk.js.map", + "4487.8d3f76aa.chunk.js.map": "./static/js/4487.8d3f76aa.chunk.js.map", + "6866.170616fc.chunk.js.map": "./static/js/6866.170616fc.chunk.js.map", + "8564.eeedae16.chunk.js.map": "./static/js/8564.eeedae16.chunk.js.map", + "1666.d4e2b942.chunk.js.map": "./static/js/1666.d4e2b942.chunk.js.map", + "7007.8a078c5c.chunk.js.map": "./static/js/7007.8a078c5c.chunk.js.map", "14.25ecb28d.chunk.js.map": "./static/js/14.25ecb28d.chunk.js.map", - "2066.5180dac0.chunk.js.map": "./static/js/2066.5180dac0.chunk.js.map", + "2066.16320a68.chunk.js.map": "./static/js/2066.16320a68.chunk.js.map", "5444.e8727da9.chunk.js.map": "./static/js/5444.e8727da9.chunk.js.map", - "892.2aaf58f1.chunk.js.map": "./static/js/892.2aaf58f1.chunk.js.map", + "3152.d03e4df4.chunk.js.map": "./static/js/3152.d03e4df4.chunk.js.map", "3690.536fb187.chunk.js.map": "./static/js/3690.536fb187.chunk.js.map", "5399.6bc650ac.chunk.js.map": "./static/js/5399.6bc650ac.chunk.js.map", "606.28fdb5bc.chunk.js.map": "./static/js/606.28fdb5bc.chunk.js.map", @@ -283,39 +283,39 @@ "3020.3b2e782c.chunk.js.map": "./static/js/3020.3b2e782c.chunk.js.map", "9056.41f0e489.chunk.js.map": "./static/js/9056.41f0e489.chunk.js.map", "3360.453f0701.chunk.js.map": "./static/js/3360.453f0701.chunk.js.map", - "8420.68d5dfb4.chunk.js.map": "./static/js/8420.68d5dfb4.chunk.js.map", + "8420.cf009fd2.chunk.js.map": "./static/js/8420.cf009fd2.chunk.js.map", "1420.517f0e88.chunk.js.map": "./static/js/1420.517f0e88.chunk.js.map", "2309.49be65c5.chunk.js.map": "./static/js/2309.49be65c5.chunk.js.map", "1233.9903fc82.chunk.js.map": "./static/js/1233.9903fc82.chunk.js.map", "3356.05b42758.chunk.js.map": "./static/js/3356.05b42758.chunk.js.map", "8016.b0ab3b67.chunk.js.map": "./static/js/8016.b0ab3b67.chunk.js.map", - "6851.3b47e1b9.chunk.js.map": "./static/js/6851.3b47e1b9.chunk.js.map", + "4817.2c511e72.chunk.js.map": "./static/js/4817.2c511e72.chunk.js.map", "2253.d527f443.chunk.js.map": "./static/js/2253.d527f443.chunk.js.map", - "6427.028089e0.chunk.js.map": "./static/js/6427.028089e0.chunk.js.map", + "5482.c80a5ebb.chunk.js.map": "./static/js/5482.c80a5ebb.chunk.js.map", "3538.60e98cef.chunk.js.map": "./static/js/3538.60e98cef.chunk.js.map", "8749.fa0fb710.chunk.js.map": "./static/js/8749.fa0fb710.chunk.js.map", "7348.b037b952.chunk.js.map": "./static/js/7348.b037b952.chunk.js.map", "1760.8589ea77.chunk.js.map": "./static/js/1760.8589ea77.chunk.js.map", - "2873.ebf17fc8.chunk.js.map": "./static/js/2873.ebf17fc8.chunk.js.map", + "2873.ae77af6d.chunk.js.map": "./static/js/2873.ae77af6d.chunk.js.map", "8708.70b62dd5.chunk.js.map": "./static/js/8708.70b62dd5.chunk.js.map", + "3383.ab285f5a.chunk.js.map": "./static/js/3383.ab285f5a.chunk.js.map", "2594.77f64a1f.chunk.js.map": "./static/js/2594.77f64a1f.chunk.js.map", "440.5bb0a106.chunk.js.map": "./static/js/440.5bb0a106.chunk.js.map", - "3045.f1cc8d42.chunk.js.map": "./static/js/3045.f1cc8d42.chunk.js.map", - "4817.2c511e72.chunk.js.map": "./static/js/4817.2c511e72.chunk.js.map", + "3045.0dea1c04.chunk.js.map": "./static/js/3045.0dea1c04.chunk.js.map", "938.8f6a5aa1.chunk.js.map": "./static/js/938.8f6a5aa1.chunk.js.map", - "4105.a498ca05.chunk.js.map": "./static/js/4105.a498ca05.chunk.js.map", + "4105.4a4541e7.chunk.js.map": "./static/js/4105.4a4541e7.chunk.js.map", "9876.3e5a4f83.chunk.js.map": "./static/js/9876.3e5a4f83.chunk.js.map", - "7777.7ea62662.chunk.js.map": "./static/js/7777.7ea62662.chunk.js.map", - "7042.343b48b2.chunk.js.map": "./static/js/7042.343b48b2.chunk.js.map", - "3201.9f8a570f.chunk.js.map": "./static/js/3201.9f8a570f.chunk.js.map", - "7664.9ba57569.chunk.js.map": "./static/js/7664.9ba57569.chunk.js.map", - "5170.2d3119fa.chunk.js.map": "./static/js/5170.2d3119fa.chunk.js.map", - "7454.6a33b546.chunk.js.map": "./static/js/7454.6a33b546.chunk.js.map", - "6873.a4c0dde3.chunk.js.map": "./static/js/6873.a4c0dde3.chunk.js.map", - "3453.9ef32892.chunk.js.map": "./static/js/3453.9ef32892.chunk.js.map" + "7777.2be735aa.chunk.js.map": "./static/js/7777.2be735aa.chunk.js.map", + "7042.b193939a.chunk.js.map": "./static/js/7042.b193939a.chunk.js.map", + "3201.781acfe1.chunk.js.map": "./static/js/3201.781acfe1.chunk.js.map", + "7664.62484a7b.chunk.js.map": "./static/js/7664.62484a7b.chunk.js.map", + "9469.694915bc.chunk.js.map": "./static/js/9469.694915bc.chunk.js.map", + "7335.53f780ee.chunk.js.map": "./static/js/7335.53f780ee.chunk.js.map", + "6873.b692329a.chunk.js.map": "./static/js/6873.b692329a.chunk.js.map", + "3453.cadd9dca.chunk.js.map": "./static/js/3453.cadd9dca.chunk.js.map" }, "entrypoints": [ "static/css/main.c4c1effe.css", - "static/js/main.c7ee1a1d.js" + "static/js/main.e494763b.js" ] } \ No newline at end of file diff --git a/portal-ui/build/index.html b/portal-ui/build/index.html index ba6b7e0ea..8ec077627 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/165.ce92c9f5.chunk.css.map b/portal-ui/build/static/css/165.ce92c9f5.chunk.css.map deleted file mode 100644 index ea0ca7567..000000000 --- a/portal-ui/build/static/css/165.ce92c9f5.chunk.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/css/165.ce92c9f5.chunk.css","mappings":"AAUA,2DACE,kCAAoC,CAEpC,WAAY,CADZ,uBAEF,CACA,kCAAoC,aAAgB,CACpD,iCAAmC,8BAAiC,CACpE,qCAAuC,aAAgB,CACvD,mCAAqC,6BAAuC,CAC5E,6IAAuJ,6BAAuC,CAC9L,4JAAsK,6BAAuC,CAC7M,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAC/E,6BAA+B,aAAgB,CAC/C,+BAAiC,aAAgB,CACjD,iCAAmC,UAAc,CACjD,0BAA4B,aAAgB,CAE5C,6DAAgC,aAAgB,CAChD,2BAA6B,aAAgB,CAC7C,2BAA6B,aAAgB,CAC7C,0BAA4B,aAAgB,CAE5C,gEAAkC,aAAgB,CAClD,+BAAiC,aAAgB,CACjD,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAE/E,gDAAkD,6BAAmC,CACrF,0CAAwE,oBAAuB,CAAnD,yBAAqD","sources":["../node_modules/codemirror/theme/dracula.css"],"sourcesContent":["/*\n\n Name: dracula\n Author: Michael Kaminsky (http://github.com/mkaminsky11)\n\n Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme)\n\n*/\n\n\n.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters {\n background-color: #282a36 !important;\n color: #f8f8f2 !important;\n border: none;\n}\n.cm-s-dracula .CodeMirror-gutters { color: #282a36; }\n.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; }\n.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; }\n.cm-s-dracula .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula span.cm-comment { color: #6272a4; }\n.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; }\n.cm-s-dracula span.cm-number { color: #bd93f9; }\n.cm-s-dracula span.cm-variable { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-2 { color: white; }\n.cm-s-dracula span.cm-def { color: #50fa7b; }\n.cm-s-dracula span.cm-operator { color: #ff79c6; }\n.cm-s-dracula span.cm-keyword { color: #ff79c6; }\n.cm-s-dracula span.cm-atom { color: #bd93f9; }\n.cm-s-dracula span.cm-meta { color: #f8f8f2; }\n.cm-s-dracula span.cm-tag { color: #ff79c6; }\n.cm-s-dracula span.cm-attribute { color: #50fa7b; }\n.cm-s-dracula span.cm-qualifier { color: #50fa7b; }\n.cm-s-dracula span.cm-property { color: #66d9ef; }\n.cm-s-dracula span.cm-builtin { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-3, .cm-s-dracula span.cm-type { color: #ffb86c; }\n\n.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); }\n.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/165.ce92c9f5.chunk.css b/portal-ui/build/static/css/1990.7ecaf1e3.chunk.css similarity index 96% rename from portal-ui/build/static/css/165.ce92c9f5.chunk.css rename to portal-ui/build/static/css/1990.7ecaf1e3.chunk.css index c655998ab..f6aa6423a 100644 --- a/portal-ui/build/static/css/165.ce92c9f5.chunk.css +++ b/portal-ui/build/static/css/1990.7ecaf1e3.chunk.css @@ -1,2 +1,2 @@ .cm-s-dracula.CodeMirror,.cm-s-dracula .CodeMirror-gutters{background-color:#282a36!important;border:none;color:#f8f8f2!important}.cm-s-dracula .CodeMirror-gutters{color:#282a36}.cm-s-dracula .CodeMirror-cursor{border-left:thin solid #f8f8f0}.cm-s-dracula .CodeMirror-linenumber{color:#6d8a88}.cm-s-dracula .CodeMirror-selected{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::selection,.cm-s-dracula .CodeMirror-line>span::selection,.cm-s-dracula .CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::-moz-selection,.cm-s-dracula .CodeMirror-line>span::-moz-selection,.cm-s-dracula .CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula span.cm-comment{color:#6272a4}.cm-s-dracula span.cm-string,.cm-s-dracula span.cm-string-2{color:#f1fa8c}.cm-s-dracula span.cm-number{color:#bd93f9}.cm-s-dracula span.cm-variable{color:#50fa7b}.cm-s-dracula span.cm-variable-2{color:#fff}.cm-s-dracula span.cm-def{color:#50fa7b}.cm-s-dracula span.cm-keyword,.cm-s-dracula span.cm-operator{color:#ff79c6}.cm-s-dracula span.cm-atom{color:#bd93f9}.cm-s-dracula span.cm-meta{color:#f8f8f2}.cm-s-dracula span.cm-tag{color:#ff79c6}.cm-s-dracula span.cm-attribute,.cm-s-dracula span.cm-qualifier{color:#50fa7b}.cm-s-dracula span.cm-property{color:#66d9ef}.cm-s-dracula span.cm-builtin{color:#50fa7b}.cm-s-dracula span.cm-type,.cm-s-dracula span.cm-variable-3{color:#ffb86c}.cm-s-dracula .CodeMirror-activeline-background{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline} -/*# sourceMappingURL=165.ce92c9f5.chunk.css.map*/ \ No newline at end of file +/*# sourceMappingURL=1990.7ecaf1e3.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/5673.ce92c9f5.chunk.css.map b/portal-ui/build/static/css/1990.7ecaf1e3.chunk.css.map similarity index 97% rename from portal-ui/build/static/css/5673.ce92c9f5.chunk.css.map rename to portal-ui/build/static/css/1990.7ecaf1e3.chunk.css.map index 355b409b9..55d2e1a8f 100644 --- a/portal-ui/build/static/css/5673.ce92c9f5.chunk.css.map +++ b/portal-ui/build/static/css/1990.7ecaf1e3.chunk.css.map @@ -1 +1 @@ -{"version":3,"file":"static/css/5673.ce92c9f5.chunk.css","mappings":"AAUA,2DACE,kCAAoC,CAEpC,WAAY,CADZ,uBAEF,CACA,kCAAoC,aAAgB,CACpD,iCAAmC,8BAAiC,CACpE,qCAAuC,aAAgB,CACvD,mCAAqC,6BAAuC,CAC5E,6IAAuJ,6BAAuC,CAC9L,4JAAsK,6BAAuC,CAC7M,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAC/E,6BAA+B,aAAgB,CAC/C,+BAAiC,aAAgB,CACjD,iCAAmC,UAAc,CACjD,0BAA4B,aAAgB,CAE5C,6DAAgC,aAAgB,CAChD,2BAA6B,aAAgB,CAC7C,2BAA6B,aAAgB,CAC7C,0BAA4B,aAAgB,CAE5C,gEAAkC,aAAgB,CAClD,+BAAiC,aAAgB,CACjD,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAE/E,gDAAkD,6BAAmC,CACrF,0CAAwE,oBAAuB,CAAnD,yBAAqD","sources":["../node_modules/codemirror/theme/dracula.css"],"sourcesContent":["/*\n\n Name: dracula\n Author: Michael Kaminsky (http://github.com/mkaminsky11)\n\n Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme)\n\n*/\n\n\n.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters {\n background-color: #282a36 !important;\n color: #f8f8f2 !important;\n border: none;\n}\n.cm-s-dracula .CodeMirror-gutters { color: #282a36; }\n.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; }\n.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; }\n.cm-s-dracula .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula span.cm-comment { color: #6272a4; }\n.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; }\n.cm-s-dracula span.cm-number { color: #bd93f9; }\n.cm-s-dracula span.cm-variable { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-2 { color: white; }\n.cm-s-dracula span.cm-def { color: #50fa7b; }\n.cm-s-dracula span.cm-operator { color: #ff79c6; }\n.cm-s-dracula span.cm-keyword { color: #ff79c6; }\n.cm-s-dracula span.cm-atom { color: #bd93f9; }\n.cm-s-dracula span.cm-meta { color: #f8f8f2; }\n.cm-s-dracula span.cm-tag { color: #ff79c6; }\n.cm-s-dracula span.cm-attribute { color: #50fa7b; }\n.cm-s-dracula span.cm-qualifier { color: #50fa7b; }\n.cm-s-dracula span.cm-property { color: #66d9ef; }\n.cm-s-dracula span.cm-builtin { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-3, .cm-s-dracula span.cm-type { color: #ffb86c; }\n\n.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); }\n.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }\n"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/css/1990.7ecaf1e3.chunk.css","mappings":"AAUA,2DACE,kCAAoC,CAEpC,WAAY,CADZ,uBAEF,CACA,kCAAoC,aAAgB,CACpD,iCAAmC,8BAAiC,CACpE,qCAAuC,aAAgB,CACvD,mCAAqC,6BAAuC,CAC5E,6IAAuJ,6BAAuC,CAC9L,4JAAsK,6BAAuC,CAC7M,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAC/E,6BAA+B,aAAgB,CAC/C,+BAAiC,aAAgB,CACjD,iCAAmC,UAAc,CACjD,0BAA4B,aAAgB,CAE5C,6DAAgC,aAAgB,CAChD,2BAA6B,aAAgB,CAC7C,2BAA6B,aAAgB,CAC7C,0BAA4B,aAAgB,CAE5C,gEAAkC,aAAgB,CAClD,+BAAiC,aAAgB,CACjD,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAE/E,gDAAkD,6BAAmC,CACrF,0CAAwE,oBAAuB,CAAnD,yBAAqD","sources":["../node_modules/codemirror/theme/dracula.css"],"sourcesContent":["/*\n\n Name: dracula\n Author: Michael Kaminsky (http://github.com/mkaminsky11)\n\n Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme)\n\n*/\n\n\n.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters {\n background-color: #282a36 !important;\n color: #f8f8f2 !important;\n border: none;\n}\n.cm-s-dracula .CodeMirror-gutters { color: #282a36; }\n.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; }\n.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; }\n.cm-s-dracula .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula span.cm-comment { color: #6272a4; }\n.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; }\n.cm-s-dracula span.cm-number { color: #bd93f9; }\n.cm-s-dracula span.cm-variable { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-2 { color: white; }\n.cm-s-dracula span.cm-def { color: #50fa7b; }\n.cm-s-dracula span.cm-operator { color: #ff79c6; }\n.cm-s-dracula span.cm-keyword { color: #ff79c6; }\n.cm-s-dracula span.cm-atom { color: #bd93f9; }\n.cm-s-dracula span.cm-meta { color: #f8f8f2; }\n.cm-s-dracula span.cm-tag { color: #ff79c6; }\n.cm-s-dracula span.cm-attribute { color: #50fa7b; }\n.cm-s-dracula span.cm-qualifier { color: #50fa7b; }\n.cm-s-dracula span.cm-property { color: #66d9ef; }\n.cm-s-dracula span.cm-builtin { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-3, .cm-s-dracula span.cm-type { color: #ffb86c; }\n\n.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); }\n.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/5673.ce92c9f5.chunk.css b/portal-ui/build/static/css/3816.7ecaf1e3.chunk.css similarity index 96% rename from portal-ui/build/static/css/5673.ce92c9f5.chunk.css rename to portal-ui/build/static/css/3816.7ecaf1e3.chunk.css index 93bdd4d8e..9370c03da 100644 --- a/portal-ui/build/static/css/5673.ce92c9f5.chunk.css +++ b/portal-ui/build/static/css/3816.7ecaf1e3.chunk.css @@ -1,2 +1,2 @@ .cm-s-dracula.CodeMirror,.cm-s-dracula .CodeMirror-gutters{background-color:#282a36!important;border:none;color:#f8f8f2!important}.cm-s-dracula .CodeMirror-gutters{color:#282a36}.cm-s-dracula .CodeMirror-cursor{border-left:thin solid #f8f8f0}.cm-s-dracula .CodeMirror-linenumber{color:#6d8a88}.cm-s-dracula .CodeMirror-selected{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::selection,.cm-s-dracula .CodeMirror-line>span::selection,.cm-s-dracula .CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::-moz-selection,.cm-s-dracula .CodeMirror-line>span::-moz-selection,.cm-s-dracula .CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula span.cm-comment{color:#6272a4}.cm-s-dracula span.cm-string,.cm-s-dracula span.cm-string-2{color:#f1fa8c}.cm-s-dracula span.cm-number{color:#bd93f9}.cm-s-dracula span.cm-variable{color:#50fa7b}.cm-s-dracula span.cm-variable-2{color:#fff}.cm-s-dracula span.cm-def{color:#50fa7b}.cm-s-dracula span.cm-keyword,.cm-s-dracula span.cm-operator{color:#ff79c6}.cm-s-dracula span.cm-atom{color:#bd93f9}.cm-s-dracula span.cm-meta{color:#f8f8f2}.cm-s-dracula span.cm-tag{color:#ff79c6}.cm-s-dracula span.cm-attribute,.cm-s-dracula span.cm-qualifier{color:#50fa7b}.cm-s-dracula span.cm-property{color:#66d9ef}.cm-s-dracula span.cm-builtin{color:#50fa7b}.cm-s-dracula span.cm-type,.cm-s-dracula span.cm-variable-3{color:#ffb86c}.cm-s-dracula .CodeMirror-activeline-background{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline} -/*# sourceMappingURL=5673.ce92c9f5.chunk.css.map*/ \ No newline at end of file +/*# sourceMappingURL=3816.7ecaf1e3.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/5677.ce92c9f5.chunk.css.map b/portal-ui/build/static/css/3816.7ecaf1e3.chunk.css.map similarity index 97% rename from portal-ui/build/static/css/5677.ce92c9f5.chunk.css.map rename to portal-ui/build/static/css/3816.7ecaf1e3.chunk.css.map index 86088bdaf..92d206a34 100644 --- a/portal-ui/build/static/css/5677.ce92c9f5.chunk.css.map +++ b/portal-ui/build/static/css/3816.7ecaf1e3.chunk.css.map @@ -1 +1 @@ -{"version":3,"file":"static/css/5677.ce92c9f5.chunk.css","mappings":"AAUA,2DACE,kCAAoC,CAEpC,WAAY,CADZ,uBAEF,CACA,kCAAoC,aAAgB,CACpD,iCAAmC,8BAAiC,CACpE,qCAAuC,aAAgB,CACvD,mCAAqC,6BAAuC,CAC5E,6IAAuJ,6BAAuC,CAC9L,4JAAsK,6BAAuC,CAC7M,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAC/E,6BAA+B,aAAgB,CAC/C,+BAAiC,aAAgB,CACjD,iCAAmC,UAAc,CACjD,0BAA4B,aAAgB,CAE5C,6DAAgC,aAAgB,CAChD,2BAA6B,aAAgB,CAC7C,2BAA6B,aAAgB,CAC7C,0BAA4B,aAAgB,CAE5C,gEAAkC,aAAgB,CAClD,+BAAiC,aAAgB,CACjD,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAE/E,gDAAkD,6BAAmC,CACrF,0CAAwE,oBAAuB,CAAnD,yBAAqD","sources":["../node_modules/codemirror/theme/dracula.css"],"sourcesContent":["/*\n\n Name: dracula\n Author: Michael Kaminsky (http://github.com/mkaminsky11)\n\n Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme)\n\n*/\n\n\n.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters {\n background-color: #282a36 !important;\n color: #f8f8f2 !important;\n border: none;\n}\n.cm-s-dracula .CodeMirror-gutters { color: #282a36; }\n.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; }\n.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; }\n.cm-s-dracula .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula span.cm-comment { color: #6272a4; }\n.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; }\n.cm-s-dracula span.cm-number { color: #bd93f9; }\n.cm-s-dracula span.cm-variable { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-2 { color: white; }\n.cm-s-dracula span.cm-def { color: #50fa7b; }\n.cm-s-dracula span.cm-operator { color: #ff79c6; }\n.cm-s-dracula span.cm-keyword { color: #ff79c6; }\n.cm-s-dracula span.cm-atom { color: #bd93f9; }\n.cm-s-dracula span.cm-meta { color: #f8f8f2; }\n.cm-s-dracula span.cm-tag { color: #ff79c6; }\n.cm-s-dracula span.cm-attribute { color: #50fa7b; }\n.cm-s-dracula span.cm-qualifier { color: #50fa7b; }\n.cm-s-dracula span.cm-property { color: #66d9ef; }\n.cm-s-dracula span.cm-builtin { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-3, .cm-s-dracula span.cm-type { color: #ffb86c; }\n\n.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); }\n.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }\n"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/css/3816.7ecaf1e3.chunk.css","mappings":"AAUA,2DACE,kCAAoC,CAEpC,WAAY,CADZ,uBAEF,CACA,kCAAoC,aAAgB,CACpD,iCAAmC,8BAAiC,CACpE,qCAAuC,aAAgB,CACvD,mCAAqC,6BAAuC,CAC5E,6IAAuJ,6BAAuC,CAC9L,4JAAsK,6BAAuC,CAC7M,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAC/E,6BAA+B,aAAgB,CAC/C,+BAAiC,aAAgB,CACjD,iCAAmC,UAAc,CACjD,0BAA4B,aAAgB,CAE5C,6DAAgC,aAAgB,CAChD,2BAA6B,aAAgB,CAC7C,2BAA6B,aAAgB,CAC7C,0BAA4B,aAAgB,CAE5C,gEAAkC,aAAgB,CAClD,+BAAiC,aAAgB,CACjD,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAE/E,gDAAkD,6BAAmC,CACrF,0CAAwE,oBAAuB,CAAnD,yBAAqD","sources":["../node_modules/codemirror/theme/dracula.css"],"sourcesContent":["/*\n\n Name: dracula\n Author: Michael Kaminsky (http://github.com/mkaminsky11)\n\n Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme)\n\n*/\n\n\n.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters {\n background-color: #282a36 !important;\n color: #f8f8f2 !important;\n border: none;\n}\n.cm-s-dracula .CodeMirror-gutters { color: #282a36; }\n.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; }\n.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; }\n.cm-s-dracula .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula span.cm-comment { color: #6272a4; }\n.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; }\n.cm-s-dracula span.cm-number { color: #bd93f9; }\n.cm-s-dracula span.cm-variable { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-2 { color: white; }\n.cm-s-dracula span.cm-def { color: #50fa7b; }\n.cm-s-dracula span.cm-operator { color: #ff79c6; }\n.cm-s-dracula span.cm-keyword { color: #ff79c6; }\n.cm-s-dracula span.cm-atom { color: #bd93f9; }\n.cm-s-dracula span.cm-meta { color: #f8f8f2; }\n.cm-s-dracula span.cm-tag { color: #ff79c6; }\n.cm-s-dracula span.cm-attribute { color: #50fa7b; }\n.cm-s-dracula span.cm-qualifier { color: #50fa7b; }\n.cm-s-dracula span.cm-property { color: #66d9ef; }\n.cm-s-dracula span.cm-builtin { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-3, .cm-s-dracula span.cm-type { color: #ffb86c; }\n\n.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); }\n.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/4360.ce92c9f5.chunk.css b/portal-ui/build/static/css/4084.7ecaf1e3.chunk.css similarity index 96% rename from portal-ui/build/static/css/4360.ce92c9f5.chunk.css rename to portal-ui/build/static/css/4084.7ecaf1e3.chunk.css index 9113c102a..d77c57e3d 100644 --- a/portal-ui/build/static/css/4360.ce92c9f5.chunk.css +++ b/portal-ui/build/static/css/4084.7ecaf1e3.chunk.css @@ -1,2 +1,2 @@ .cm-s-dracula.CodeMirror,.cm-s-dracula .CodeMirror-gutters{background-color:#282a36!important;border:none;color:#f8f8f2!important}.cm-s-dracula .CodeMirror-gutters{color:#282a36}.cm-s-dracula .CodeMirror-cursor{border-left:thin solid #f8f8f0}.cm-s-dracula .CodeMirror-linenumber{color:#6d8a88}.cm-s-dracula .CodeMirror-selected{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::selection,.cm-s-dracula .CodeMirror-line>span::selection,.cm-s-dracula .CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::-moz-selection,.cm-s-dracula .CodeMirror-line>span::-moz-selection,.cm-s-dracula .CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula span.cm-comment{color:#6272a4}.cm-s-dracula span.cm-string,.cm-s-dracula span.cm-string-2{color:#f1fa8c}.cm-s-dracula span.cm-number{color:#bd93f9}.cm-s-dracula span.cm-variable{color:#50fa7b}.cm-s-dracula span.cm-variable-2{color:#fff}.cm-s-dracula span.cm-def{color:#50fa7b}.cm-s-dracula span.cm-keyword,.cm-s-dracula span.cm-operator{color:#ff79c6}.cm-s-dracula span.cm-atom{color:#bd93f9}.cm-s-dracula span.cm-meta{color:#f8f8f2}.cm-s-dracula span.cm-tag{color:#ff79c6}.cm-s-dracula span.cm-attribute,.cm-s-dracula span.cm-qualifier{color:#50fa7b}.cm-s-dracula span.cm-property{color:#66d9ef}.cm-s-dracula span.cm-builtin{color:#50fa7b}.cm-s-dracula span.cm-type,.cm-s-dracula span.cm-variable-3{color:#ffb86c}.cm-s-dracula .CodeMirror-activeline-background{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline} -/*# sourceMappingURL=4360.ce92c9f5.chunk.css.map*/ \ No newline at end of file +/*# sourceMappingURL=4084.7ecaf1e3.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/6951.ce92c9f5.chunk.css.map b/portal-ui/build/static/css/4084.7ecaf1e3.chunk.css.map similarity index 97% rename from portal-ui/build/static/css/6951.ce92c9f5.chunk.css.map rename to portal-ui/build/static/css/4084.7ecaf1e3.chunk.css.map index 965f38f25..c505537e9 100644 --- a/portal-ui/build/static/css/6951.ce92c9f5.chunk.css.map +++ b/portal-ui/build/static/css/4084.7ecaf1e3.chunk.css.map @@ -1 +1 @@ -{"version":3,"file":"static/css/6951.ce92c9f5.chunk.css","mappings":"AAUA,2DACE,kCAAoC,CAEpC,WAAY,CADZ,uBAEF,CACA,kCAAoC,aAAgB,CACpD,iCAAmC,8BAAiC,CACpE,qCAAuC,aAAgB,CACvD,mCAAqC,6BAAuC,CAC5E,6IAAuJ,6BAAuC,CAC9L,4JAAsK,6BAAuC,CAC7M,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAC/E,6BAA+B,aAAgB,CAC/C,+BAAiC,aAAgB,CACjD,iCAAmC,UAAc,CACjD,0BAA4B,aAAgB,CAE5C,6DAAgC,aAAgB,CAChD,2BAA6B,aAAgB,CAC7C,2BAA6B,aAAgB,CAC7C,0BAA4B,aAAgB,CAE5C,gEAAkC,aAAgB,CAClD,+BAAiC,aAAgB,CACjD,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAE/E,gDAAkD,6BAAmC,CACrF,0CAAwE,oBAAuB,CAAnD,yBAAqD","sources":["../node_modules/codemirror/theme/dracula.css"],"sourcesContent":["/*\n\n Name: dracula\n Author: Michael Kaminsky (http://github.com/mkaminsky11)\n\n Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme)\n\n*/\n\n\n.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters {\n background-color: #282a36 !important;\n color: #f8f8f2 !important;\n border: none;\n}\n.cm-s-dracula .CodeMirror-gutters { color: #282a36; }\n.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; }\n.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; }\n.cm-s-dracula .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula span.cm-comment { color: #6272a4; }\n.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; }\n.cm-s-dracula span.cm-number { color: #bd93f9; }\n.cm-s-dracula span.cm-variable { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-2 { color: white; }\n.cm-s-dracula span.cm-def { color: #50fa7b; }\n.cm-s-dracula span.cm-operator { color: #ff79c6; }\n.cm-s-dracula span.cm-keyword { color: #ff79c6; }\n.cm-s-dracula span.cm-atom { color: #bd93f9; }\n.cm-s-dracula span.cm-meta { color: #f8f8f2; }\n.cm-s-dracula span.cm-tag { color: #ff79c6; }\n.cm-s-dracula span.cm-attribute { color: #50fa7b; }\n.cm-s-dracula span.cm-qualifier { color: #50fa7b; }\n.cm-s-dracula span.cm-property { color: #66d9ef; }\n.cm-s-dracula span.cm-builtin { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-3, .cm-s-dracula span.cm-type { color: #ffb86c; }\n\n.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); }\n.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }\n"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/css/4084.7ecaf1e3.chunk.css","mappings":"AAUA,2DACE,kCAAoC,CAEpC,WAAY,CADZ,uBAEF,CACA,kCAAoC,aAAgB,CACpD,iCAAmC,8BAAiC,CACpE,qCAAuC,aAAgB,CACvD,mCAAqC,6BAAuC,CAC5E,6IAAuJ,6BAAuC,CAC9L,4JAAsK,6BAAuC,CAC7M,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAC/E,6BAA+B,aAAgB,CAC/C,+BAAiC,aAAgB,CACjD,iCAAmC,UAAc,CACjD,0BAA4B,aAAgB,CAE5C,6DAAgC,aAAgB,CAChD,2BAA6B,aAAgB,CAC7C,2BAA6B,aAAgB,CAC7C,0BAA4B,aAAgB,CAE5C,gEAAkC,aAAgB,CAClD,+BAAiC,aAAgB,CACjD,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAE/E,gDAAkD,6BAAmC,CACrF,0CAAwE,oBAAuB,CAAnD,yBAAqD","sources":["../node_modules/codemirror/theme/dracula.css"],"sourcesContent":["/*\n\n Name: dracula\n Author: Michael Kaminsky (http://github.com/mkaminsky11)\n\n Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme)\n\n*/\n\n\n.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters {\n background-color: #282a36 !important;\n color: #f8f8f2 !important;\n border: none;\n}\n.cm-s-dracula .CodeMirror-gutters { color: #282a36; }\n.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; }\n.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; }\n.cm-s-dracula .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula span.cm-comment { color: #6272a4; }\n.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; }\n.cm-s-dracula span.cm-number { color: #bd93f9; }\n.cm-s-dracula span.cm-variable { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-2 { color: white; }\n.cm-s-dracula span.cm-def { color: #50fa7b; }\n.cm-s-dracula span.cm-operator { color: #ff79c6; }\n.cm-s-dracula span.cm-keyword { color: #ff79c6; }\n.cm-s-dracula span.cm-atom { color: #bd93f9; }\n.cm-s-dracula span.cm-meta { color: #f8f8f2; }\n.cm-s-dracula span.cm-tag { color: #ff79c6; }\n.cm-s-dracula span.cm-attribute { color: #50fa7b; }\n.cm-s-dracula span.cm-qualifier { color: #50fa7b; }\n.cm-s-dracula span.cm-property { color: #66d9ef; }\n.cm-s-dracula span.cm-builtin { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-3, .cm-s-dracula span.cm-type { color: #ffb86c; }\n\n.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); }\n.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/5677.ce92c9f5.chunk.css b/portal-ui/build/static/css/5673.7ecaf1e3.chunk.css similarity index 96% rename from portal-ui/build/static/css/5677.ce92c9f5.chunk.css rename to portal-ui/build/static/css/5673.7ecaf1e3.chunk.css index ea0bf4e47..5d931d9bd 100644 --- a/portal-ui/build/static/css/5677.ce92c9f5.chunk.css +++ b/portal-ui/build/static/css/5673.7ecaf1e3.chunk.css @@ -1,2 +1,2 @@ .cm-s-dracula.CodeMirror,.cm-s-dracula .CodeMirror-gutters{background-color:#282a36!important;border:none;color:#f8f8f2!important}.cm-s-dracula .CodeMirror-gutters{color:#282a36}.cm-s-dracula .CodeMirror-cursor{border-left:thin solid #f8f8f0}.cm-s-dracula .CodeMirror-linenumber{color:#6d8a88}.cm-s-dracula .CodeMirror-selected{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::selection,.cm-s-dracula .CodeMirror-line>span::selection,.cm-s-dracula .CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::-moz-selection,.cm-s-dracula .CodeMirror-line>span::-moz-selection,.cm-s-dracula .CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula span.cm-comment{color:#6272a4}.cm-s-dracula span.cm-string,.cm-s-dracula span.cm-string-2{color:#f1fa8c}.cm-s-dracula span.cm-number{color:#bd93f9}.cm-s-dracula span.cm-variable{color:#50fa7b}.cm-s-dracula span.cm-variable-2{color:#fff}.cm-s-dracula span.cm-def{color:#50fa7b}.cm-s-dracula span.cm-keyword,.cm-s-dracula span.cm-operator{color:#ff79c6}.cm-s-dracula span.cm-atom{color:#bd93f9}.cm-s-dracula span.cm-meta{color:#f8f8f2}.cm-s-dracula span.cm-tag{color:#ff79c6}.cm-s-dracula span.cm-attribute,.cm-s-dracula span.cm-qualifier{color:#50fa7b}.cm-s-dracula span.cm-property{color:#66d9ef}.cm-s-dracula span.cm-builtin{color:#50fa7b}.cm-s-dracula span.cm-type,.cm-s-dracula span.cm-variable-3{color:#ffb86c}.cm-s-dracula .CodeMirror-activeline-background{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline} -/*# sourceMappingURL=5677.ce92c9f5.chunk.css.map*/ \ No newline at end of file +/*# sourceMappingURL=5673.7ecaf1e3.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/4360.ce92c9f5.chunk.css.map b/portal-ui/build/static/css/5673.7ecaf1e3.chunk.css.map similarity index 97% rename from portal-ui/build/static/css/4360.ce92c9f5.chunk.css.map rename to portal-ui/build/static/css/5673.7ecaf1e3.chunk.css.map index 813e91543..0294467c1 100644 --- a/portal-ui/build/static/css/4360.ce92c9f5.chunk.css.map +++ b/portal-ui/build/static/css/5673.7ecaf1e3.chunk.css.map @@ -1 +1 @@ -{"version":3,"file":"static/css/4360.ce92c9f5.chunk.css","mappings":"AAUA,2DACE,kCAAoC,CAEpC,WAAY,CADZ,uBAEF,CACA,kCAAoC,aAAgB,CACpD,iCAAmC,8BAAiC,CACpE,qCAAuC,aAAgB,CACvD,mCAAqC,6BAAuC,CAC5E,6IAAuJ,6BAAuC,CAC9L,4JAAsK,6BAAuC,CAC7M,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAC/E,6BAA+B,aAAgB,CAC/C,+BAAiC,aAAgB,CACjD,iCAAmC,UAAc,CACjD,0BAA4B,aAAgB,CAE5C,6DAAgC,aAAgB,CAChD,2BAA6B,aAAgB,CAC7C,2BAA6B,aAAgB,CAC7C,0BAA4B,aAAgB,CAE5C,gEAAkC,aAAgB,CAClD,+BAAiC,aAAgB,CACjD,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAE/E,gDAAkD,6BAAmC,CACrF,0CAAwE,oBAAuB,CAAnD,yBAAqD","sources":["../node_modules/codemirror/theme/dracula.css"],"sourcesContent":["/*\n\n Name: dracula\n Author: Michael Kaminsky (http://github.com/mkaminsky11)\n\n Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme)\n\n*/\n\n\n.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters {\n background-color: #282a36 !important;\n color: #f8f8f2 !important;\n border: none;\n}\n.cm-s-dracula .CodeMirror-gutters { color: #282a36; }\n.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; }\n.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; }\n.cm-s-dracula .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula span.cm-comment { color: #6272a4; }\n.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; }\n.cm-s-dracula span.cm-number { color: #bd93f9; }\n.cm-s-dracula span.cm-variable { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-2 { color: white; }\n.cm-s-dracula span.cm-def { color: #50fa7b; }\n.cm-s-dracula span.cm-operator { color: #ff79c6; }\n.cm-s-dracula span.cm-keyword { color: #ff79c6; }\n.cm-s-dracula span.cm-atom { color: #bd93f9; }\n.cm-s-dracula span.cm-meta { color: #f8f8f2; }\n.cm-s-dracula span.cm-tag { color: #ff79c6; }\n.cm-s-dracula span.cm-attribute { color: #50fa7b; }\n.cm-s-dracula span.cm-qualifier { color: #50fa7b; }\n.cm-s-dracula span.cm-property { color: #66d9ef; }\n.cm-s-dracula span.cm-builtin { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-3, .cm-s-dracula span.cm-type { color: #ffb86c; }\n\n.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); }\n.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }\n"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/css/5673.7ecaf1e3.chunk.css","mappings":"AAUA,2DACE,kCAAoC,CAEpC,WAAY,CADZ,uBAEF,CACA,kCAAoC,aAAgB,CACpD,iCAAmC,8BAAiC,CACpE,qCAAuC,aAAgB,CACvD,mCAAqC,6BAAuC,CAC5E,6IAAuJ,6BAAuC,CAC9L,4JAAsK,6BAAuC,CAC7M,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAC/E,6BAA+B,aAAgB,CAC/C,+BAAiC,aAAgB,CACjD,iCAAmC,UAAc,CACjD,0BAA4B,aAAgB,CAE5C,6DAAgC,aAAgB,CAChD,2BAA6B,aAAgB,CAC7C,2BAA6B,aAAgB,CAC7C,0BAA4B,aAAgB,CAE5C,gEAAkC,aAAgB,CAClD,+BAAiC,aAAgB,CACjD,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAE/E,gDAAkD,6BAAmC,CACrF,0CAAwE,oBAAuB,CAAnD,yBAAqD","sources":["../node_modules/codemirror/theme/dracula.css"],"sourcesContent":["/*\n\n Name: dracula\n Author: Michael Kaminsky (http://github.com/mkaminsky11)\n\n Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme)\n\n*/\n\n\n.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters {\n background-color: #282a36 !important;\n color: #f8f8f2 !important;\n border: none;\n}\n.cm-s-dracula .CodeMirror-gutters { color: #282a36; }\n.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; }\n.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; }\n.cm-s-dracula .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula span.cm-comment { color: #6272a4; }\n.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; }\n.cm-s-dracula span.cm-number { color: #bd93f9; }\n.cm-s-dracula span.cm-variable { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-2 { color: white; }\n.cm-s-dracula span.cm-def { color: #50fa7b; }\n.cm-s-dracula span.cm-operator { color: #ff79c6; }\n.cm-s-dracula span.cm-keyword { color: #ff79c6; }\n.cm-s-dracula span.cm-atom { color: #bd93f9; }\n.cm-s-dracula span.cm-meta { color: #f8f8f2; }\n.cm-s-dracula span.cm-tag { color: #ff79c6; }\n.cm-s-dracula span.cm-attribute { color: #50fa7b; }\n.cm-s-dracula span.cm-qualifier { color: #50fa7b; }\n.cm-s-dracula span.cm-property { color: #66d9ef; }\n.cm-s-dracula span.cm-builtin { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-3, .cm-s-dracula span.cm-type { color: #ffb86c; }\n\n.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); }\n.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/6951.ce92c9f5.chunk.css b/portal-ui/build/static/css/6951.ce92c9f5.chunk.css deleted file mode 100644 index 3a1545aca..000000000 --- a/portal-ui/build/static/css/6951.ce92c9f5.chunk.css +++ /dev/null @@ -1,2 +0,0 @@ -.cm-s-dracula.CodeMirror,.cm-s-dracula .CodeMirror-gutters{background-color:#282a36!important;border:none;color:#f8f8f2!important}.cm-s-dracula .CodeMirror-gutters{color:#282a36}.cm-s-dracula .CodeMirror-cursor{border-left:thin solid #f8f8f0}.cm-s-dracula .CodeMirror-linenumber{color:#6d8a88}.cm-s-dracula .CodeMirror-selected{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::selection,.cm-s-dracula .CodeMirror-line>span::selection,.cm-s-dracula .CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::-moz-selection,.cm-s-dracula .CodeMirror-line>span::-moz-selection,.cm-s-dracula .CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula span.cm-comment{color:#6272a4}.cm-s-dracula span.cm-string,.cm-s-dracula span.cm-string-2{color:#f1fa8c}.cm-s-dracula span.cm-number{color:#bd93f9}.cm-s-dracula span.cm-variable{color:#50fa7b}.cm-s-dracula span.cm-variable-2{color:#fff}.cm-s-dracula span.cm-def{color:#50fa7b}.cm-s-dracula span.cm-keyword,.cm-s-dracula span.cm-operator{color:#ff79c6}.cm-s-dracula span.cm-atom{color:#bd93f9}.cm-s-dracula span.cm-meta{color:#f8f8f2}.cm-s-dracula span.cm-tag{color:#ff79c6}.cm-s-dracula span.cm-attribute,.cm-s-dracula span.cm-qualifier{color:#50fa7b}.cm-s-dracula span.cm-property{color:#66d9ef}.cm-s-dracula span.cm-builtin{color:#50fa7b}.cm-s-dracula span.cm-type,.cm-s-dracula span.cm-variable-3{color:#ffb86c}.cm-s-dracula .CodeMirror-activeline-background{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline} -/*# sourceMappingURL=6951.ce92c9f5.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/8724.7ecaf1e3.chunk.css b/portal-ui/build/static/css/8724.7ecaf1e3.chunk.css new file mode 100644 index 000000000..0b59d15ed --- /dev/null +++ b/portal-ui/build/static/css/8724.7ecaf1e3.chunk.css @@ -0,0 +1,2 @@ +.cm-s-dracula.CodeMirror,.cm-s-dracula .CodeMirror-gutters{background-color:#282a36!important;border:none;color:#f8f8f2!important}.cm-s-dracula .CodeMirror-gutters{color:#282a36}.cm-s-dracula .CodeMirror-cursor{border-left:thin solid #f8f8f0}.cm-s-dracula .CodeMirror-linenumber{color:#6d8a88}.cm-s-dracula .CodeMirror-selected{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::selection,.cm-s-dracula .CodeMirror-line>span::selection,.cm-s-dracula .CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::-moz-selection,.cm-s-dracula .CodeMirror-line>span::-moz-selection,.cm-s-dracula .CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula span.cm-comment{color:#6272a4}.cm-s-dracula span.cm-string,.cm-s-dracula span.cm-string-2{color:#f1fa8c}.cm-s-dracula span.cm-number{color:#bd93f9}.cm-s-dracula span.cm-variable{color:#50fa7b}.cm-s-dracula span.cm-variable-2{color:#fff}.cm-s-dracula span.cm-def{color:#50fa7b}.cm-s-dracula span.cm-keyword,.cm-s-dracula span.cm-operator{color:#ff79c6}.cm-s-dracula span.cm-atom{color:#bd93f9}.cm-s-dracula span.cm-meta{color:#f8f8f2}.cm-s-dracula span.cm-tag{color:#ff79c6}.cm-s-dracula span.cm-attribute,.cm-s-dracula span.cm-qualifier{color:#50fa7b}.cm-s-dracula span.cm-property{color:#66d9ef}.cm-s-dracula span.cm-builtin{color:#50fa7b}.cm-s-dracula span.cm-type,.cm-s-dracula span.cm-variable-3{color:#ffb86c}.cm-s-dracula .CodeMirror-activeline-background{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline} +/*# sourceMappingURL=8724.7ecaf1e3.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/8724.7ecaf1e3.chunk.css.map b/portal-ui/build/static/css/8724.7ecaf1e3.chunk.css.map new file mode 100644 index 000000000..efcb9b5ba --- /dev/null +++ b/portal-ui/build/static/css/8724.7ecaf1e3.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/8724.7ecaf1e3.chunk.css","mappings":"AAUA,2DACE,kCAAoC,CAEpC,WAAY,CADZ,uBAEF,CACA,kCAAoC,aAAgB,CACpD,iCAAmC,8BAAiC,CACpE,qCAAuC,aAAgB,CACvD,mCAAqC,6BAAuC,CAC5E,6IAAuJ,6BAAuC,CAC9L,4JAAsK,6BAAuC,CAC7M,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAC/E,6BAA+B,aAAgB,CAC/C,+BAAiC,aAAgB,CACjD,iCAAmC,UAAc,CACjD,0BAA4B,aAAgB,CAE5C,6DAAgC,aAAgB,CAChD,2BAA6B,aAAgB,CAC7C,2BAA6B,aAAgB,CAC7C,0BAA4B,aAAgB,CAE5C,gEAAkC,aAAgB,CAClD,+BAAiC,aAAgB,CACjD,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAE/E,gDAAkD,6BAAmC,CACrF,0CAAwE,oBAAuB,CAAnD,yBAAqD","sources":["../node_modules/codemirror/theme/dracula.css"],"sourcesContent":["/*\n\n Name: dracula\n Author: Michael Kaminsky (http://github.com/mkaminsky11)\n\n Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme)\n\n*/\n\n\n.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters {\n background-color: #282a36 !important;\n color: #f8f8f2 !important;\n border: none;\n}\n.cm-s-dracula .CodeMirror-gutters { color: #282a36; }\n.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; }\n.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; }\n.cm-s-dracula .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula span.cm-comment { color: #6272a4; }\n.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; }\n.cm-s-dracula span.cm-number { color: #bd93f9; }\n.cm-s-dracula span.cm-variable { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-2 { color: white; }\n.cm-s-dracula span.cm-def { color: #50fa7b; }\n.cm-s-dracula span.cm-operator { color: #ff79c6; }\n.cm-s-dracula span.cm-keyword { color: #ff79c6; }\n.cm-s-dracula span.cm-atom { color: #bd93f9; }\n.cm-s-dracula span.cm-meta { color: #f8f8f2; }\n.cm-s-dracula span.cm-tag { color: #ff79c6; }\n.cm-s-dracula span.cm-attribute { color: #50fa7b; }\n.cm-s-dracula span.cm-qualifier { color: #50fa7b; }\n.cm-s-dracula span.cm-property { color: #66d9ef; }\n.cm-s-dracula span.cm-builtin { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-3, .cm-s-dracula span.cm-type { color: #ffb86c; }\n\n.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); }\n.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/8724.ce92c9f5.chunk.css b/portal-ui/build/static/css/8724.ce92c9f5.chunk.css deleted file mode 100644 index 57533eabf..000000000 --- a/portal-ui/build/static/css/8724.ce92c9f5.chunk.css +++ /dev/null @@ -1,2 +0,0 @@ -.cm-s-dracula.CodeMirror,.cm-s-dracula .CodeMirror-gutters{background-color:#282a36!important;border:none;color:#f8f8f2!important}.cm-s-dracula .CodeMirror-gutters{color:#282a36}.cm-s-dracula .CodeMirror-cursor{border-left:thin solid #f8f8f0}.cm-s-dracula .CodeMirror-linenumber{color:#6d8a88}.cm-s-dracula .CodeMirror-selected{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::selection,.cm-s-dracula .CodeMirror-line>span::selection,.cm-s-dracula .CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::-moz-selection,.cm-s-dracula .CodeMirror-line>span::-moz-selection,.cm-s-dracula .CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula span.cm-comment{color:#6272a4}.cm-s-dracula span.cm-string,.cm-s-dracula span.cm-string-2{color:#f1fa8c}.cm-s-dracula span.cm-number{color:#bd93f9}.cm-s-dracula span.cm-variable{color:#50fa7b}.cm-s-dracula span.cm-variable-2{color:#fff}.cm-s-dracula span.cm-def{color:#50fa7b}.cm-s-dracula span.cm-keyword,.cm-s-dracula span.cm-operator{color:#ff79c6}.cm-s-dracula span.cm-atom{color:#bd93f9}.cm-s-dracula span.cm-meta{color:#f8f8f2}.cm-s-dracula span.cm-tag{color:#ff79c6}.cm-s-dracula span.cm-attribute,.cm-s-dracula span.cm-qualifier{color:#50fa7b}.cm-s-dracula span.cm-property{color:#66d9ef}.cm-s-dracula span.cm-builtin{color:#50fa7b}.cm-s-dracula span.cm-type,.cm-s-dracula span.cm-variable-3{color:#ffb86c}.cm-s-dracula .CodeMirror-activeline-background{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline} -/*# sourceMappingURL=8724.ce92c9f5.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/8724.ce92c9f5.chunk.css.map b/portal-ui/build/static/css/8724.ce92c9f5.chunk.css.map deleted file mode 100644 index 84aa07b2d..000000000 --- a/portal-ui/build/static/css/8724.ce92c9f5.chunk.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/css/8724.ce92c9f5.chunk.css","mappings":"AAUA,2DACE,kCAAoC,CAEpC,WAAY,CADZ,uBAEF,CACA,kCAAoC,aAAgB,CACpD,iCAAmC,8BAAiC,CACpE,qCAAuC,aAAgB,CACvD,mCAAqC,6BAAuC,CAC5E,6IAAuJ,6BAAuC,CAC9L,4JAAsK,6BAAuC,CAC7M,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAC/E,6BAA+B,aAAgB,CAC/C,+BAAiC,aAAgB,CACjD,iCAAmC,UAAc,CACjD,0BAA4B,aAAgB,CAE5C,6DAAgC,aAAgB,CAChD,2BAA6B,aAAgB,CAC7C,2BAA6B,aAAgB,CAC7C,0BAA4B,aAAgB,CAE5C,gEAAkC,aAAgB,CAClD,+BAAiC,aAAgB,CACjD,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAE/E,gDAAkD,6BAAmC,CACrF,0CAAwE,oBAAuB,CAAnD,yBAAqD","sources":["../node_modules/codemirror/theme/dracula.css"],"sourcesContent":["/*\n\n Name: dracula\n Author: Michael Kaminsky (http://github.com/mkaminsky11)\n\n Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme)\n\n*/\n\n\n.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters {\n background-color: #282a36 !important;\n color: #f8f8f2 !important;\n border: none;\n}\n.cm-s-dracula .CodeMirror-gutters { color: #282a36; }\n.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; }\n.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; }\n.cm-s-dracula .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula span.cm-comment { color: #6272a4; }\n.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; }\n.cm-s-dracula span.cm-number { color: #bd93f9; }\n.cm-s-dracula span.cm-variable { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-2 { color: white; }\n.cm-s-dracula span.cm-def { color: #50fa7b; }\n.cm-s-dracula span.cm-operator { color: #ff79c6; }\n.cm-s-dracula span.cm-keyword { color: #ff79c6; }\n.cm-s-dracula span.cm-atom { color: #bd93f9; }\n.cm-s-dracula span.cm-meta { color: #f8f8f2; }\n.cm-s-dracula span.cm-tag { color: #ff79c6; }\n.cm-s-dracula span.cm-attribute { color: #50fa7b; }\n.cm-s-dracula span.cm-qualifier { color: #50fa7b; }\n.cm-s-dracula span.cm-property { color: #66d9ef; }\n.cm-s-dracula span.cm-builtin { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-3, .cm-s-dracula span.cm-type { color: #ffb86c; }\n\n.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); }\n.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/9645.7ecaf1e3.chunk.css b/portal-ui/build/static/css/9645.7ecaf1e3.chunk.css new file mode 100644 index 000000000..17b66274e --- /dev/null +++ b/portal-ui/build/static/css/9645.7ecaf1e3.chunk.css @@ -0,0 +1,2 @@ +.cm-s-dracula.CodeMirror,.cm-s-dracula .CodeMirror-gutters{background-color:#282a36!important;border:none;color:#f8f8f2!important}.cm-s-dracula .CodeMirror-gutters{color:#282a36}.cm-s-dracula .CodeMirror-cursor{border-left:thin solid #f8f8f0}.cm-s-dracula .CodeMirror-linenumber{color:#6d8a88}.cm-s-dracula .CodeMirror-selected{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::selection,.cm-s-dracula .CodeMirror-line>span::selection,.cm-s-dracula .CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::-moz-selection,.cm-s-dracula .CodeMirror-line>span::-moz-selection,.cm-s-dracula .CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula span.cm-comment{color:#6272a4}.cm-s-dracula span.cm-string,.cm-s-dracula span.cm-string-2{color:#f1fa8c}.cm-s-dracula span.cm-number{color:#bd93f9}.cm-s-dracula span.cm-variable{color:#50fa7b}.cm-s-dracula span.cm-variable-2{color:#fff}.cm-s-dracula span.cm-def{color:#50fa7b}.cm-s-dracula span.cm-keyword,.cm-s-dracula span.cm-operator{color:#ff79c6}.cm-s-dracula span.cm-atom{color:#bd93f9}.cm-s-dracula span.cm-meta{color:#f8f8f2}.cm-s-dracula span.cm-tag{color:#ff79c6}.cm-s-dracula span.cm-attribute,.cm-s-dracula span.cm-qualifier{color:#50fa7b}.cm-s-dracula span.cm-property{color:#66d9ef}.cm-s-dracula span.cm-builtin{color:#50fa7b}.cm-s-dracula span.cm-type,.cm-s-dracula span.cm-variable-3{color:#ffb86c}.cm-s-dracula .CodeMirror-activeline-background{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline} +/*# sourceMappingURL=9645.7ecaf1e3.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/9645.7ecaf1e3.chunk.css.map b/portal-ui/build/static/css/9645.7ecaf1e3.chunk.css.map new file mode 100644 index 000000000..37cc76c26 --- /dev/null +++ b/portal-ui/build/static/css/9645.7ecaf1e3.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/9645.7ecaf1e3.chunk.css","mappings":"AAUA,2DACE,kCAAoC,CAEpC,WAAY,CADZ,uBAEF,CACA,kCAAoC,aAAgB,CACpD,iCAAmC,8BAAiC,CACpE,qCAAuC,aAAgB,CACvD,mCAAqC,6BAAuC,CAC5E,6IAAuJ,6BAAuC,CAC9L,4JAAsK,6BAAuC,CAC7M,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAC/E,6BAA+B,aAAgB,CAC/C,+BAAiC,aAAgB,CACjD,iCAAmC,UAAc,CACjD,0BAA4B,aAAgB,CAE5C,6DAAgC,aAAgB,CAChD,2BAA6B,aAAgB,CAC7C,2BAA6B,aAAgB,CAC7C,0BAA4B,aAAgB,CAE5C,gEAAkC,aAAgB,CAClD,+BAAiC,aAAgB,CACjD,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAE/E,gDAAkD,6BAAmC,CACrF,0CAAwE,oBAAuB,CAAnD,yBAAqD","sources":["../node_modules/codemirror/theme/dracula.css"],"sourcesContent":["/*\n\n Name: dracula\n Author: Michael Kaminsky (http://github.com/mkaminsky11)\n\n Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme)\n\n*/\n\n\n.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters {\n background-color: #282a36 !important;\n color: #f8f8f2 !important;\n border: none;\n}\n.cm-s-dracula .CodeMirror-gutters { color: #282a36; }\n.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; }\n.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; }\n.cm-s-dracula .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula span.cm-comment { color: #6272a4; }\n.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; }\n.cm-s-dracula span.cm-number { color: #bd93f9; }\n.cm-s-dracula span.cm-variable { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-2 { color: white; }\n.cm-s-dracula span.cm-def { color: #50fa7b; }\n.cm-s-dracula span.cm-operator { color: #ff79c6; }\n.cm-s-dracula span.cm-keyword { color: #ff79c6; }\n.cm-s-dracula span.cm-atom { color: #bd93f9; }\n.cm-s-dracula span.cm-meta { color: #f8f8f2; }\n.cm-s-dracula span.cm-tag { color: #ff79c6; }\n.cm-s-dracula span.cm-attribute { color: #50fa7b; }\n.cm-s-dracula span.cm-qualifier { color: #50fa7b; }\n.cm-s-dracula span.cm-property { color: #66d9ef; }\n.cm-s-dracula span.cm-builtin { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-3, .cm-s-dracula span.cm-type { color: #ffb86c; }\n\n.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); }\n.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/9807.7ecaf1e3.chunk.css b/portal-ui/build/static/css/9807.7ecaf1e3.chunk.css new file mode 100644 index 000000000..c9cbaee8a --- /dev/null +++ b/portal-ui/build/static/css/9807.7ecaf1e3.chunk.css @@ -0,0 +1,2 @@ +.cm-s-dracula.CodeMirror,.cm-s-dracula .CodeMirror-gutters{background-color:#282a36!important;border:none;color:#f8f8f2!important}.cm-s-dracula .CodeMirror-gutters{color:#282a36}.cm-s-dracula .CodeMirror-cursor{border-left:thin solid #f8f8f0}.cm-s-dracula .CodeMirror-linenumber{color:#6d8a88}.cm-s-dracula .CodeMirror-selected{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::selection,.cm-s-dracula .CodeMirror-line>span::selection,.cm-s-dracula .CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::-moz-selection,.cm-s-dracula .CodeMirror-line>span::-moz-selection,.cm-s-dracula .CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula span.cm-comment{color:#6272a4}.cm-s-dracula span.cm-string,.cm-s-dracula span.cm-string-2{color:#f1fa8c}.cm-s-dracula span.cm-number{color:#bd93f9}.cm-s-dracula span.cm-variable{color:#50fa7b}.cm-s-dracula span.cm-variable-2{color:#fff}.cm-s-dracula span.cm-def{color:#50fa7b}.cm-s-dracula span.cm-keyword,.cm-s-dracula span.cm-operator{color:#ff79c6}.cm-s-dracula span.cm-atom{color:#bd93f9}.cm-s-dracula span.cm-meta{color:#f8f8f2}.cm-s-dracula span.cm-tag{color:#ff79c6}.cm-s-dracula span.cm-attribute,.cm-s-dracula span.cm-qualifier{color:#50fa7b}.cm-s-dracula span.cm-property{color:#66d9ef}.cm-s-dracula span.cm-builtin{color:#50fa7b}.cm-s-dracula span.cm-type,.cm-s-dracula span.cm-variable-3{color:#ffb86c}.cm-s-dracula .CodeMirror-activeline-background{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline} +/*# sourceMappingURL=9807.7ecaf1e3.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/9807.7ecaf1e3.chunk.css.map b/portal-ui/build/static/css/9807.7ecaf1e3.chunk.css.map new file mode 100644 index 000000000..d39f01b95 --- /dev/null +++ b/portal-ui/build/static/css/9807.7ecaf1e3.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/9807.7ecaf1e3.chunk.css","mappings":"AAUA,2DACE,kCAAoC,CAEpC,WAAY,CADZ,uBAEF,CACA,kCAAoC,aAAgB,CACpD,iCAAmC,8BAAiC,CACpE,qCAAuC,aAAgB,CACvD,mCAAqC,6BAAuC,CAC5E,6IAAuJ,6BAAuC,CAC9L,4JAAsK,6BAAuC,CAC7M,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAC/E,6BAA+B,aAAgB,CAC/C,+BAAiC,aAAgB,CACjD,iCAAmC,UAAc,CACjD,0BAA4B,aAAgB,CAE5C,6DAAgC,aAAgB,CAChD,2BAA6B,aAAgB,CAC7C,2BAA6B,aAAgB,CAC7C,0BAA4B,aAAgB,CAE5C,gEAAkC,aAAgB,CAClD,+BAAiC,aAAgB,CACjD,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAE/E,gDAAkD,6BAAmC,CACrF,0CAAwE,oBAAuB,CAAnD,yBAAqD","sources":["../node_modules/codemirror/theme/dracula.css"],"sourcesContent":["/*\n\n Name: dracula\n Author: Michael Kaminsky (http://github.com/mkaminsky11)\n\n Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme)\n\n*/\n\n\n.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters {\n background-color: #282a36 !important;\n color: #f8f8f2 !important;\n border: none;\n}\n.cm-s-dracula .CodeMirror-gutters { color: #282a36; }\n.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; }\n.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; }\n.cm-s-dracula .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula span.cm-comment { color: #6272a4; }\n.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; }\n.cm-s-dracula span.cm-number { color: #bd93f9; }\n.cm-s-dracula span.cm-variable { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-2 { color: white; }\n.cm-s-dracula span.cm-def { color: #50fa7b; }\n.cm-s-dracula span.cm-operator { color: #ff79c6; }\n.cm-s-dracula span.cm-keyword { color: #ff79c6; }\n.cm-s-dracula span.cm-atom { color: #bd93f9; }\n.cm-s-dracula span.cm-meta { color: #f8f8f2; }\n.cm-s-dracula span.cm-tag { color: #ff79c6; }\n.cm-s-dracula span.cm-attribute { color: #50fa7b; }\n.cm-s-dracula span.cm-qualifier { color: #50fa7b; }\n.cm-s-dracula span.cm-property { color: #66d9ef; }\n.cm-s-dracula span.cm-builtin { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-3, .cm-s-dracula span.cm-type { color: #ffb86c; }\n\n.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); }\n.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/css/9807.ce92c9f5.chunk.css b/portal-ui/build/static/css/9807.ce92c9f5.chunk.css deleted file mode 100644 index ecf71d413..000000000 --- a/portal-ui/build/static/css/9807.ce92c9f5.chunk.css +++ /dev/null @@ -1,2 +0,0 @@ -.cm-s-dracula.CodeMirror,.cm-s-dracula .CodeMirror-gutters{background-color:#282a36!important;border:none;color:#f8f8f2!important}.cm-s-dracula .CodeMirror-gutters{color:#282a36}.cm-s-dracula .CodeMirror-cursor{border-left:thin solid #f8f8f0}.cm-s-dracula .CodeMirror-linenumber{color:#6d8a88}.cm-s-dracula .CodeMirror-selected{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::selection,.cm-s-dracula .CodeMirror-line>span::selection,.cm-s-dracula .CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::-moz-selection,.cm-s-dracula .CodeMirror-line>span::-moz-selection,.cm-s-dracula .CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula span.cm-comment{color:#6272a4}.cm-s-dracula span.cm-string,.cm-s-dracula span.cm-string-2{color:#f1fa8c}.cm-s-dracula span.cm-number{color:#bd93f9}.cm-s-dracula span.cm-variable{color:#50fa7b}.cm-s-dracula span.cm-variable-2{color:#fff}.cm-s-dracula span.cm-def{color:#50fa7b}.cm-s-dracula span.cm-keyword,.cm-s-dracula span.cm-operator{color:#ff79c6}.cm-s-dracula span.cm-atom{color:#bd93f9}.cm-s-dracula span.cm-meta{color:#f8f8f2}.cm-s-dracula span.cm-tag{color:#ff79c6}.cm-s-dracula span.cm-attribute,.cm-s-dracula span.cm-qualifier{color:#50fa7b}.cm-s-dracula span.cm-property{color:#66d9ef}.cm-s-dracula span.cm-builtin{color:#50fa7b}.cm-s-dracula span.cm-type,.cm-s-dracula span.cm-variable-3{color:#ffb86c}.cm-s-dracula .CodeMirror-activeline-background{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline} -/*# sourceMappingURL=9807.ce92c9f5.chunk.css.map*/ \ No newline at end of file diff --git a/portal-ui/build/static/css/9807.ce92c9f5.chunk.css.map b/portal-ui/build/static/css/9807.ce92c9f5.chunk.css.map deleted file mode 100644 index 052749796..000000000 --- a/portal-ui/build/static/css/9807.ce92c9f5.chunk.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/css/9807.ce92c9f5.chunk.css","mappings":"AAUA,2DACE,kCAAoC,CAEpC,WAAY,CADZ,uBAEF,CACA,kCAAoC,aAAgB,CACpD,iCAAmC,8BAAiC,CACpE,qCAAuC,aAAgB,CACvD,mCAAqC,6BAAuC,CAC5E,6IAAuJ,6BAAuC,CAC9L,4JAAsK,6BAAuC,CAC7M,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAC/E,6BAA+B,aAAgB,CAC/C,+BAAiC,aAAgB,CACjD,iCAAmC,UAAc,CACjD,0BAA4B,aAAgB,CAE5C,6DAAgC,aAAgB,CAChD,2BAA6B,aAAgB,CAC7C,2BAA6B,aAAgB,CAC7C,0BAA4B,aAAgB,CAE5C,gEAAkC,aAAgB,CAClD,+BAAiC,aAAgB,CACjD,8BAAgC,aAAgB,CAChD,4DAA+D,aAAgB,CAE/E,gDAAkD,6BAAmC,CACrF,0CAAwE,oBAAuB,CAAnD,yBAAqD","sources":["../node_modules/codemirror/theme/dracula.css"],"sourcesContent":["/*\n\n Name: dracula\n Author: Michael Kaminsky (http://github.com/mkaminsky11)\n\n Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme)\n\n*/\n\n\n.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters {\n background-color: #282a36 !important;\n color: #f8f8f2 !important;\n border: none;\n}\n.cm-s-dracula .CodeMirror-gutters { color: #282a36; }\n.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; }\n.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; }\n.cm-s-dracula .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }\n.cm-s-dracula span.cm-comment { color: #6272a4; }\n.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; }\n.cm-s-dracula span.cm-number { color: #bd93f9; }\n.cm-s-dracula span.cm-variable { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-2 { color: white; }\n.cm-s-dracula span.cm-def { color: #50fa7b; }\n.cm-s-dracula span.cm-operator { color: #ff79c6; }\n.cm-s-dracula span.cm-keyword { color: #ff79c6; }\n.cm-s-dracula span.cm-atom { color: #bd93f9; }\n.cm-s-dracula span.cm-meta { color: #f8f8f2; }\n.cm-s-dracula span.cm-tag { color: #ff79c6; }\n.cm-s-dracula span.cm-attribute { color: #50fa7b; }\n.cm-s-dracula span.cm-qualifier { color: #50fa7b; }\n.cm-s-dracula span.cm-property { color: #66d9ef; }\n.cm-s-dracula span.cm-builtin { color: #50fa7b; }\n.cm-s-dracula span.cm-variable-3, .cm-s-dracula span.cm-type { color: #ffb86c; }\n\n.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); }\n.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1056.6f1cb8e0.chunk.js b/portal-ui/build/static/js/1056.6f1cb8e0.chunk.js deleted file mode 100644 index 41457b9f0..000000000 --- a/portal-ui/build/static/js/1056.6f1cb8e0.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1056],{29316:function(e,t,n){n(50390);var a=n(6369),r=n(86509),i=n(4285),s=n(11387),o=n(62559);t.Z=(0,i.Z)((function(e){return(0,r.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var t=e.to,n=e.label,r=e.classes,i=e.className,l=e.executeOnClick;return(0,o.jsxs)(a.rU,{to:t,className:"".concat(r.link," ").concat(i||""),onClick:function(){l&&l()},children:[(0,o.jsx)("div",{className:r.icon,children:(0,o.jsx)(s.xN,{})}),(0,o.jsx)("div",{className:r.label,children:n})]})}))},70758:function(e,t,n){var a=n(18489),r=n(36222),i=n(83738),s=(n(50390),n(86509)),o=n(4285),l=n(95467),c=n(94187),u=n(44977),d=n(62559),m=["classes","children","variant","tooltip"];t.Z=(0,o.Z)((function(e){return(0,s.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var t=e.classes,n=e.children,s=e.variant,o=void 0===s?"outlined":s,p=e.tooltip,g=(0,i.Z)(e,m),f=(0,d.jsx)(l.Z,(0,a.Z)((0,a.Z)({},g),{},{className:(0,u.Z)(t.root,(0,r.Z)({},t.contained,"contained"===o)),children:n}));return p&&""!==p?(0,d.jsx)(c.Z,{title:p,children:(0,d.jsx)("span",{children:f})}):f}))},39080:function(e,t,n){n.r(t),n.d(t,{default:function(){return Z}});var a=n(18489),r=n(35531),i=n(50390),s=n(38342),o=n.n(s),l=n(86509),c=n(4285),u=n(66946),d=n(76352),m=n(25594),p=n(58217),g=n(65771),f=n(70758),h=n(33034),x=n.n(h),v=n(11387),y=n(72462),C=n(62559),S=(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,a.Z)((0,a.Z)({},y.YI.inputLabel),{},{fontSize:".8rem"})})}))((function(e){var t=e.label,n=void 0===t?"":t,a=e.value,r=void 0===a?"":a,i=e.classes,s=void 0===i?{}:i;return(0,C.jsxs)("div",{className:s.container,children:[(0,C.jsxs)("div",{className:s.inputLabel,children:[n,":"]}),(0,C.jsx)("div",{className:s.inputWithCopy,children:(0,C.jsx)(p.Z,{value:r,readOnly:!0,endAdornment:(0,C.jsx)(g.Z,{position:"end",children:(0,C.jsx)(x(),{text:r,children:(0,C.jsx)(f.Z,{"aria-label":"copy",tooltip:"Copy",onClick:function(){},onMouseDown:function(){},edge:"end",children:(0,C.jsx)(v.TI,{})})})})})})]})})),j=n(47424),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:{textAlign:"right",marginTop:"1rem"},credentialsPanel:{overflowY:"auto",maxHeight:350},promptTitle:{display:"flex",alignItems:"center"},buttonSpacer:{marginRight:".9rem"},promptIcon:{marginRight:".1rem",display:"flex",alignItems:"center",height:"2rem",width:"2rem"}})}))((function(e){var t=e.classes,n=e.newServiceAccount,s=e.open,l=e.closeModal,c=e.entity;if(!n)return null;var p=o()(n,"console",null),g=o()(n,"idp",!1);return(0,C.jsx)(d.Z,{modalOpen:s,onClose:function(){l()},title:(0,C.jsx)("div",{className:t.promptTitle,children:(0,C.jsxs)("div",{children:["New ",c," Created"]})}),titleIcon:(0,C.jsx)(v.tV,{}),children:(0,C.jsxs)(m.ZP,{container:!0,children:[(0,C.jsxs)(m.ZP,{item:!0,xs:12,className:t.formScrollable,children:["A new ",c," has been created with the following details:",!g&&p&&(0,C.jsx)(i.Fragment,{children:(0,C.jsxs)(m.ZP,{item:!0,xs:12,className:t.credentialsPanel,children:[(0,C.jsx)("div",{className:t.credentialTitle,children:"Console Credentials"}),Array.isArray(p)&&p.map((function(e,t){return(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(S,{label:"Access Key",value:e.accessKey}),(0,C.jsx)(S,{label:"Secret Key",value:e.secretKey})]})})),!Array.isArray(p)&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(S,{label:"Access Key",value:p.accessKey}),(0,C.jsx)(S,{label:"Secret Key",value:p.secretKey})]})]})}),g?(0,C.jsx)("div",{className:t.warningBlock,children:"Please Login via the configured external identity provider."}):(0,C.jsxs)("div",{className:t.warningBlock,children:[(0,C.jsx)(j.Z,{}),(0,C.jsx)("span",{children:"Write these down, as this is the only time the secret will be displayed."})]})]}),(0,C.jsxs)(m.ZP,{item:!0,xs:12,className:t.buttonContainer,children:[(0,C.jsx)(u.Z,{variant:"outlined",className:t.buttonSpacer,onClick:function(){l()},color:"primary",children:"Done"}),!g&&(0,C.jsx)(u.Z,{onClick:function(){var e={};if(p)if(Array.isArray(p)){var t=p.map((function(e){return{access_key:e.accessKey,secret_key:e.secretKey}}));e={console:(0,r.Z)(t)}}else e={console:[{access_key:p.accessKey,secret_key:p.secretKey}]};!function(e,t){var n=document.createElement("a");n.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(t)),n.setAttribute("download",e),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)}("credentials.json",JSON.stringify((0,a.Z)({},e)))},endIcon:(0,C.jsx)(v._8,{}),variant:"contained",color:"primary",children:"Download"})]})]})})}))},82461:function(e,t,n){n.d(t,{Z:function(){return C}});var a=n(23430),r=n(18489),i=n(50390),s=n(38342),o=n.n(s),l=n(25594),c=n(14602),u=n(94187),d=n(95467),m=n(46529),p=n(94258),g=n(86509),f=n(4285),h=n(72462),x=n(97538),v=n(82981),y=n(62559),C=(0,f.Z)((function(e){return(0,g.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},h.YI),h.Hr),{},{valueString:{maxWidth:350,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginTop:2},fileInputField:{margin:"13px 0","@media (max-width: 900px)":{flexFlow:"column"}}},h.bV),{},{inputLabel:(0,r.Z)((0,r.Z)({},h.YI.inputLabel),{},{fontWeight:"normal"}),textBoxContainer:(0,r.Z)((0,r.Z)({},h.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,g=e.name,f=e.disabled,h=void 0!==f&&f,C=e.tooltip,S=void 0===C?"":C,j=e.required,Z=e.error,b=void 0===Z?"":Z,_=e.accept,P=void 0===_?"":_,N=e.value,I=void 0===N?"":N,A=(0,i.useState)(!1),T=(0,a.Z)(A,2),k=T[0],R=T[1];return(0,y.jsx)(i.Fragment,{children:(0,y.jsxs)(l.ZP,{item:!0,xs:12,className:"".concat(n.fileInputField," ").concat(n.fieldBottom," ").concat(n.fieldContainer," ").concat(""!==b?n.errorInField:""),children:[""!==t&&(0,y.jsxs)(c.Z,{htmlFor:s,className:"".concat(""!==b?n.fieldLabelError:""," ").concat(n.inputLabel),children:[(0,y.jsxs)("span",{children:[t,j?"*":""]}),""!==S&&(0,y.jsx)("div",{className:n.tooltipContainer,children:(0,y.jsx)(u.Z,{title:S,placement:"top-start",children:(0,y.jsx)("div",{className:n.tooltip,children:(0,y.jsx)(x.Z,{})})})})]}),k||""===I?(0,y.jsxs)("div",{className:n.textBoxContainer,children:[(0,y.jsx)("input",{type:"file",name:g,onChange:function(e){var t=o()(e,"target.files[0].name","");!function(e,t){var n=e.target.files[0],a=new FileReader;a.readAsDataURL(n),a.onload=function(){var e=a.result;if(e){var n=e.toString().split("base64,");2===n.length&&t(n[1])}}}(e,(function(e){r(e,t)}))},accept:P,required:j,disabled:h,className:n.fileInputField}),""!==I&&(0,y.jsx)(d.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){R(!1)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,y.jsx)(p.Z,{})}),""!==b&&(0,y.jsx)(v.Z,{errorMessage:b})]}):(0,y.jsxs)("div",{className:n.fileReselect,children:[(0,y.jsx)("div",{className:n.valueString,children:I}),(0,y.jsx)(d.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){R(!0)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,y.jsx)(m.Z,{})})]})]})})}))},27207:function(e,t,n){var a=n(36222),r=n(18489),i=(n(50390),n(44977)),s=n(25594),o=n(82420),l=n(66695),c=n(98893),u=n(14602),d=n(94187),m=n(86509),p=n(4285),g=n(62449),f=n(72462),h=n(97538),x=n(62559),v=(0,g.Z)((0,r.Z)({root:{"&:hover":{backgroundColor:"transparent"}}},f.FU)),y=function(e){var t=v();return(0,x.jsx)(c.Z,(0,r.Z)({className:t.root,disableRipple:!0,color:"default",checkedIcon:(0,x.jsx)("span",{className:t.radioSelectedIcon}),icon:(0,x.jsx)("span",{className:t.radioUnselectedIcon})},e))};t.Z=(0,p.Z)((function(e){return(0,m.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},f.YI),f.Hr),{},{optionLabel:{"&.Mui-disabled":{"& .MuiFormControlLabel-label":{color:"#9c9c9c"}},"&:last-child":{marginRight:0},"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E"}},checkedOption:{"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E",fontWeight:700}}}))}))((function(e){var t=e.selectorOptions,n=void 0===t?[]:t,r=e.currentSelection,c=e.label,m=e.id,p=e.name,g=e.onChange,f=e.tooltip,v=void 0===f?"":f,C=e.disableOptions,S=void 0!==C&&C,j=e.classes,Z=e.displayInColumn,b=void 0!==Z&&Z;return(0,x.jsxs)(s.ZP,{container:!0,alignItems:"center",children:[(0,x.jsx)(s.ZP,{item:!0,xs:!0,children:(0,x.jsxs)(u.Z,{htmlFor:m,className:j.inputLabel,children:[(0,x.jsx)("span",{children:c}),""!==v&&(0,x.jsx)("div",{className:j.tooltipContainer,children:(0,x.jsx)(d.Z,{title:v,placement:"top-start",children:(0,x.jsx)("div",{children:(0,x.jsx)(h.Z,{})})})})]})}),(0,x.jsx)(s.ZP,{item:!0,xs:!0,className:j.radioOptionsLayout,children:(0,x.jsx)(o.Z,{"aria-label":m,id:m,name:p,value:r,onChange:g,row:!b,style:{display:"block",textAlign:"right"},children:n.map((function(e){return(0,x.jsx)(l.Z,{value:e.value,control:(0,x.jsx)(y,{}),label:e.label,disabled:S,className:(0,i.Z)(j.optionLabel,(0,a.Z)({},j.checkedOption,e.value===r))},"rd-".concat(p,"-").concat(e.value))}))})})]})}))},67754:function(e,t,n){var a=n(18489),r=n(50390),i=n(25594),s=n(46413),o=n(14602),l=n(94187),c=n(47554),u=n(43965),d=n(31680),m=n(86509),p=n(4285),g=n(72462),f=n(97538),h=n(62559),x=(0,p.Z)((function(e){return(0,m.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(s.ZP);t.Z=(0,p.Z)((function(e){return(0,m.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},g.YI),g.Hr),{},{inputLabel:(0,a.Z)((0,a.Z)({},g.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var t=e.classes,n=e.id,a=e.name,s=e.onChange,m=e.options,p=e.label,g=e.tooltip,v=void 0===g?"":g,y=e.value,C=e.disabled,S=void 0!==C&&C;return(0,h.jsx)(r.Fragment,{children:(0,h.jsxs)(i.ZP,{item:!0,xs:12,className:t.fieldContainer,children:[""!==p&&(0,h.jsxs)(o.Z,{htmlFor:n,className:t.inputLabel,children:[(0,h.jsx)("span",{children:p}),""!==v&&(0,h.jsx)("div",{className:t.tooltipContainer,children:(0,h.jsx)(l.Z,{title:v,placement:"top-start",children:(0,h.jsx)("div",{className:t.tooltip,children:(0,h.jsx)(f.Z,{})})})})]}),(0,h.jsx)(c.Z,{fullWidth:!0,children:(0,h.jsx)(u.Z,{id:n,name:a,value:y,onChange:s,input:(0,h.jsx)(x,{}),disabled:S,children:m.map((function(e){return(0,h.jsx)(d.Z,{value:e.value,children:e.label},"select-".concat(a,"-").concat(e.label))}))})})]})})}))},76295:function(e,t,n){n.d(t,{Z:function(){return f}});var a=n(23430),r=n(50390),i=n(86509),s=n(4285),o=n(81378),l=n(66946),c=n(62559),u=(0,s.Z)((function(e){return(0,i.Z)({wizardStepContainer:{display:"flex",flexDirection:"column",flex:1},wizardComponent:{overflowY:"auto",marginBottom:10,height:"calc(100vh - 100px - 80px)",minHeight:400,flex:1,width:"100%"},wizardModal:{overflowY:"auto",marginBottom:10,height:"calc(100vh - 515px)"},buttonsContainer:{display:"flex",flexDirection:"row",justifyContent:"flex-start",padding:"10px 0",borderTop:"#EAEAEA 1px solid","& button":{marginLeft:10},"&.forModal":{paddingBottom:0}},buttonInnerContainer:{width:"100%",textAlign:"right",marginRight:15}})}))((function(e){var t=e.classes,n=e.page,a=e.pageChange,r=e.loadingStep,i=e.forModal;return(0,c.jsxs)("div",{className:t.wizardStepContainer,children:[(0,c.jsx)("div",{className:i?t.wizardModal:t.wizardComponent,children:n.componentRender}),r&&(0,c.jsx)("div",{children:(0,c.jsx)(o.Z,{})}),(0,c.jsx)("div",{className:"".concat(t.buttonsContainer," ").concat(i?"forModal":""),children:(0,c.jsx)("div",{className:t.buttonInnerContainer,children:n.buttons.map((function(e){return(0,c.jsx)(l.Z,{variant:"contained",color:"primary",size:"small",onClick:function(){!function(e){switch(e.type){case"next":a("++");break;case"back":a("--");break;case"to":a(e.toPage||0)}e.action&&e.action(a)}(e)},disabled:!e.enabled,children:e.label},"button-".concat(n.label,"-").concat(e.label))}))})})]})})),d=n(5211),m=n(25594),p=n(14291),g=n(70902),f=(0,s.Z)((function(e){return(0,i.Z)({wizFromContainer:{},wizFromModal:{position:"relative"},modalWizardSteps:{padding:5,borderBottom:"#eaeaea 1px solid","& ul":{padding:0,marginTop:0,display:"flex",justifyContent:"space-evenly","& li":{listStyle:"lower-roman","&::marker":{paddingLeft:15}}}},buttonList:{backgroundColor:"transparent",border:"none",cursor:"pointer","&:not(:disabled):hover":{textDecoration:"underline"},"&:selected, &:active, &:focus, &:focus:active":{border:"none",outline:0,boxShadow:"none"}},paddedContentGrid:{marginTop:8,padding:"0 10px",minHeight:400},stepsLabel:{fontSize:20,color:"#393939",fontWeight:600,margin:"15px 12px","&.stepsModalTitle":{textAlign:"center",width:"100%",marginTop:0,marginBottom:10}},stepsMasterContainer:{position:"sticky",top:0,backgroundColor:"#FFFFFF",width:"100%",maxHeight:90},verticalSteps:{borderRight:"1px solid #E5E5E5",background:"#F8F8F8"},stepsContainer:{paddingTop:0,"& .MuiButtonBase-root.Mui-selected":{background:"#E5E5E5"}},stepItem:{minHeight:60,borderBottom:"1px solid #E5E5E5","&:hover":{background:"rgba(247,247,247,0.7)"}}})}))((function(e){var t=e.classes,n=e.wizardSteps,i=e.loadingStep,s=e.forModal,o=(0,r.useState)(0),l=(0,a.Z)(o,2),f=l[0],h=l[1],x=function(e){var t=n.length-1;if("++"===e){var a=f+1;a>t&&(a=t),h(a)}if("--"===e){var r=f-1;r<0&&(r=0),h(r)}if("number"===typeof e){var i=e;e<0&&(i=0),e>t&&(i=t),h(i)}};if(0===n.length)return null;return(0,c.jsxs)(m.ZP,{container:!0,className:s?t.wizFromModal:t.wizFromContainer,children:[s?(0,c.jsx)(r.Fragment,{children:(0,c.jsxs)("div",{className:t.stepsMasterContainer,children:[(0,c.jsx)("div",{className:"".concat(t.stepsLabel," stepsModalTitle"),children:"Steps"}),(0,c.jsx)("div",{className:t.modalWizardSteps,children:(0,c.jsx)("ul",{children:n.map((function(e,n){return(0,c.jsx)("li",{children:(0,c.jsx)("button",{onClick:function(){return x(n)},disabled:n>f,className:t.buttonList,children:e.label})},"wizard-".concat(n.toString()))}))})})]})}):(0,c.jsx)(r.Fragment,{children:(0,c.jsx)(m.ZP,{item:!0,xs:12,sm:2,md:2,lg:2,xl:2,className:t.verticalSteps,children:(0,c.jsx)(r.Fragment,{children:(0,c.jsx)(d.Z,{component:"nav",dense:!0,classes:{root:t.stepsContainer},children:n.map((function(e,n){return(0,c.jsx)(p.ZP,{button:!0,disableRipple:!0,onClick:function(){return x(n)},selected:f===n,classes:{root:t.stepItem},children:(0,c.jsx)(g.Z,{primary:e.label})},"wizard-".concat(n.toString()))}))})})})}),(0,c.jsx)(m.ZP,{item:!0,xs:12,sm:s?12:10,md:s?12:10,lg:s?12:10,xl:s?12:10,className:s?"":t.paddedContentGrid,children:(0,c.jsx)(u,{page:n[f],pageChange:x,loadingStep:i,forModal:s})})]})}))},25534:function(e,t,n){var a=n(18489),r=(n(50390),n(25594)),i=n(86509),s=n(4285),o=n(72462),l=n(62559);t.Z=(0,s.Z)((function(e){return(0,i.Z)((0,a.Z)({},o.Bw))}))((function(e){var t=e.classes,n=e.className,a=void 0===n?"":n,i=e.children;return(0,l.jsx)("div",{className:t.contentSpacer,children:(0,l.jsx)(r.ZP,{container:!0,children:(0,l.jsx)(r.ZP,{item:!0,xs:12,className:a,children:i})})})}))},35721:function(e,t,n){n(50390);var a=n(34424),r=n(25594),i=n(86509),s=n(4285),o=n(35477),l=n(95467),c=n(26805),u=n(44078),d=n(5265),m=n(11387),p=n(62559),g={toggleList:d.kQ},f=(0,a.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),g);t.Z=f((0,s.Z)((function(e){return(0,i.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,a=e.actions,i=e.sidebarOpen,s=e.operatorMode,d=e.managerObjects,g=e.toggleList,f=e.middleComponent;return(0,p.jsxs)(r.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!i&&(0,p.jsx)("div",{className:t.logo,children:s?(0,p.jsx)(c.Z,{}):(0,p.jsx)(u.Z,{})}),(0,p.jsx)(o.Z,{variant:"h4",className:t.labelStyle,children:n})]}),f&&(0,p.jsx)(r.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,p.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:t.rightMenu,children:[a&&a,d&&d.length>0&&(0,p.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){g()},size:"large",children:(0,p.jsx)(m.gx,{})})]})]})})))},1056:function(e,t,n){n.r(t),n.d(t,{default:function(){return ze}});var a,r,i=n(23430),s=n(18489),o=n(50390),l=n(38342),c=n.n(l),u=n(34424),d=n(25594),m=n(81378),p=n(86509),g=n(4285),f=n(72462),h=n(30324),x=n(28948),v=n(76295),y=n(44149),C=n(93127),S=n(39080),j=n(46864),Z=n(35531),b=n(46981),_=n(10369),P=n(84201),N=n(92440),I=n(66964),A=n(67754),T=n(62559),k=(0,u.$j)((function(e){return{storageClasses:e.tenants.createTenant.storageClasses,customImage:e.tenants.createTenant.fields.configure.customImage,imageName:e.tenants.createTenant.fields.configure.imageName,customDockerhub:e.tenants.createTenant.fields.configure.customDockerhub,imageRegistry:e.tenants.createTenant.fields.configure.imageRegistry,imageRegistryUsername:e.tenants.createTenant.fields.configure.imageRegistryUsername,imageRegistryPassword:e.tenants.createTenant.fields.configure.imageRegistryPassword,exposeMinIO:e.tenants.createTenant.fields.configure.exposeMinIO,exposeConsole:e.tenants.createTenant.fields.configure.exposeConsole,prometheusCustom:e.tenants.createTenant.fields.configure.prometheusCustom,tenantCustom:e.tenants.createTenant.fields.configure.tenantCustom,logSearchCustom:e.tenants.createTenant.fields.configure.logSearchCustom,logSearchVolumeSize:e.tenants.createTenant.fields.configure.logSearchVolumeSize,logSearchSizeFactor:e.tenants.createTenant.fields.configure.logSearchSizeFactor,prometheusVolumeSize:e.tenants.createTenant.fields.configure.prometheusVolumeSize,prometheusSizeFactor:e.tenants.createTenant.fields.configure.prometheusSizeFactor,logSearchSelectedStorageClass:e.tenants.createTenant.fields.configure.logSearchSelectedStorageClass,logSearchImage:e.tenants.createTenant.fields.configure.logSearchImage,kesImage:e.tenants.createTenant.fields.configure.kesImage,logSearchPostgresImage:e.tenants.createTenant.fields.configure.logSearchPostgresImage,logSearchPostgresInitImage:e.tenants.createTenant.fields.configure.logSearchPostgresInitImage,prometheusSelectedStorageClass:e.tenants.createTenant.fields.configure.prometheusSelectedStorageClass,prometheusImage:e.tenants.createTenant.fields.configure.prometheusImage,prometheusSidecarImage:e.tenants.createTenant.fields.configure.prometheusSidecarImage,prometheusInitImage:e.tenants.createTenant.fields.configure.prometheusInitImage,selectedStorageClass:e.tenants.createTenant.fields.nameTenant.selectedStorageClass,tenantSecurityContext:e.tenants.createTenant.fields.configure.tenantSecurityContext,logSearchSecurityContext:e.tenants.createTenant.fields.configure.logSearchSecurityContext,logSearchPostgresSecurityContext:e.tenants.createTenant.fields.configure.logSearchPostgresSecurityContext,prometheusSecurityContext:e.tenants.createTenant.fields.configure.prometheusSecurityContext}}),{updateAddField:j.HM,isPageValid:j.NO}),R=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)({configSectionItem:{marginRight:15,"& .multiContainer":{border:"1px solid red"}},tenantCustomizationFields:{marginLeft:30,width:"88%",margin:"auto"},containerItem:{marginRight:15},fieldGroup:(0,s.Z)((0,s.Z)({},f.QV.fieldGroup),{},{paddingTop:15,marginBottom:25}),responsiveSectionItem:{"@media (max-width: 900px)":{flexFlow:"column",alignItems:"flex-start","& div > div":{marginBottom:5,marginRight:0}}},logSearchCustomFields:{marginLeft:20,padding:10,width:"90%",margin:"auto"},fieldSpaceTop:{marginTop:15},prometheusCustomFields:{marginLeft:20,padding:10,width:"90%",margin:"auto"}},f.oO),f.AK))}))(k((function(e){var t=e.classes,n=e.storageClasses,a=e.customImage,r=e.imageName,l=e.customDockerhub,c=e.imageRegistry,u=e.imageRegistryUsername,m=e.imageRegistryPassword,p=e.exposeMinIO,g=e.exposeConsole,f=e.prometheusCustom,h=e.tenantCustom,x=e.logSearchCustom,v=e.logSearchVolumeSize,y=(e.logSearchSizeFactor,e.logSearchImage),C=e.kesImage,S=e.logSearchPostgresImage,j=e.logSearchPostgresInitImage,k=e.prometheusVolumeSize,R=(e.prometheusSizeFactor,e.logSearchSelectedStorageClass),z=e.prometheusSelectedStorageClass,w=e.prometheusImage,F=e.prometheusSidecarImage,D=e.prometheusInitImage,E=e.updateAddField,U=e.isPageValid,K=e.selectedStorageClass,L=e.tenantSecurityContext,M=e.logSearchSecurityContext,q=e.logSearchPostgresSecurityContext,G=e.prometheusSecurityContext,V=(0,o.useState)({}),O=(0,i.Z)(V,2),B=O[0],$=O[1],W=[{label:"Default",value:"default"}].concat((0,Z.Z)(n)),H=(0,o.useCallback)((function(e,t){E("configure",e,t)}),[E]);(0,o.useEffect)((function(){var e=[];h&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"tenant_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:"tenant_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:"tenant_securityContext_fsGroup",required:!0,value:L.fsGroup,customValidation:""===L.fsGroup||parseInt(L.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"}])),f&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"prometheus_storage_class",required:!0,value:z,customValidation:""===z,customValidationMessage:"Field cannot be empty"},{fieldKey:"prometheus_volume_size",required:!0,value:k,customValidation:""===k||parseInt(k)<=0,customValidationMessage:"Volume size must be present and be greater than 0"},{fieldKey:"prometheus_securityContext_runAsUser",required:!0,value:G.runAsUser,customValidation:""===G.runAsUser||parseInt(G.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"prometheus_securityContext_runAsGroup",required:!0,value:G.runAsGroup,customValidation:""===G.runAsGroup||parseInt(G.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"prometheus_securityContext_fsGroup",required:!0,value:G.fsGroup,customValidation:""===G.fsGroup||parseInt(G.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"}])),x&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"log_search_storage_class",required:!0,value:R,customValidation:""===R,customValidationMessage:"Field cannot be empty"},{fieldKey:"log_search_volume_size",required:!0,value:v,customValidation:""===v||parseInt(v)<=0,customValidationMessage:"Volume size must be present and be greatter than 0"},{fieldKey:"logSearch_securityContext_runAsUser",required:!0,value:M.runAsUser,customValidation:""===M.runAsUser||parseInt(M.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"logSearch_securityContext_runAsGroup",required:!0,value:M.runAsGroup,customValidation:""===M.runAsGroup||parseInt(M.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"logSearch_securityContext_fsGroup",required:!0,value:M.fsGroup,customValidation:""===M.fsGroup||parseInt(M.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"},{fieldKey:"postgres_securityContext_runAsUser",required:!0,value:q.runAsUser,customValidation:""===q.runAsUser||parseInt(q.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"postgres_securityContext_runAsGroup",required:!0,value:G.runAsGroup,customValidation:""===q.runAsGroup||parseInt(q.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"postgres_securityContext_fsGroup",required:!0,value:q.fsGroup,customValidation:""===q.fsGroup||parseInt(q.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"}])),a&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"image",required:!1,value:r,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/minio:VERSION'"},{fieldKey:"logSearchImage",required:!1,value:y,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/logsearchapi:VERSION'"},{fieldKey:"kesImage",required:!1,value:C,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/kes:VERSION'"},{fieldKey:"logSearchPostgresImage",required:!1,value:S,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'library/postgres:VERSION'"},{fieldKey:"logSearchPostgresInitImage",required:!1,value:j,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'library/busybox:VERSION'"},{fieldKey:"prometheusImage",required:!1,value:w,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'"}]),l&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"registry",required:!0,value:c},{fieldKey:"registryUsername",required:!0,value:u},{fieldKey:"registryPassword",required:!0,value:m}])));var t=(0,P.R)(e);U("configure",0===Object.keys(t).length),$(t)}),[a,r,y,C,S,j,w,F,D,l,c,u,m,U,f,h,x,z,k,R,v,L,M,q,G]),(0,o.useEffect)((function(){n.length>0&&(0===n.filter((function(e){return e.value===z})).length&&H("prometheusSelectedStorageClass","default"),0===n.filter((function(e){return e.value===R})).length&&H("logSearchSelectedStorageClass","default"))}),[R,z,K,n,H]);var Y=function(e){$((0,_.h)(B,e))};return(0,T.jsxs)(b.Z,{className:t.paperWrapper,children:[(0,T.jsxs)("div",{className:t.headerElement,children:[(0,T.jsx)("h3",{className:t.h3Section,children:"Configure"}),(0,T.jsx)("span",{className:t.descriptionText,children:"Basic configurations for tenant management"})]}),(0,T.jsxs)("div",{className:t.headerElement,children:[(0,T.jsx)("h3",{className:t.h3Section,children:"Expose Services"}),(0,T.jsx)("span",{className:t.descriptionText,children:"Whether the tenant's services should request an external IP."})]}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.configSectionItem,children:(0,T.jsx)(N.Z,{value:"expose_minio",id:"expose_minio",name:"expose_minio",checked:p,onChange:function(e){var t=e.target.checked;H("exposeMinIO",t)},label:"Expose MiniO Service"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.configSectionItem,children:(0,T.jsx)(N.Z,{value:"expose_console",id:"expose_console",name:"expose_console",checked:g,onChange:function(e){var t=e.target.checked;H("exposeConsole",t)},label:"Expose Console Service"})}),(0,T.jsxs)("div",{className:t.headerElement,children:[(0,T.jsx)("h3",{className:t.h3Section,children:"Additional Configurations"}),(0,T.jsx)("span",{className:t.descriptionText,children:"Configure SecurityContext, Storage Classes & Storage size for Log Search, Prometheus add-ons and your Tenant"})]}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.configSectionItem,children:(0,T.jsx)(N.Z,{value:"tenantConfig",id:"tenant_configuration",name:"tenant_configuration",checked:h,onChange:function(e){var t=e.target.checked;H("tenantCustom",t)},label:"Override Tenant defaults"})}),h&&(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.tenantCustomizationFields,children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"SecurityContext for MinIO"}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:"".concat(t.configSectionItem),children:(0,T.jsxs)("div",{className:"".concat(t.multiContainer," ").concat(t.responsiveSectionItem),children:[(0,T.jsx)("div",{className:t.containerItem,children:(0,T.jsx)(I.Z,{type:"number",id:"tenant_securityContext_runAsUser",name:"tenant_securityContext_runAsUser",onChange:function(e){H("tenantSecurityContext",(0,s.Z)((0,s.Z)({},L),{},{runAsUser:e.target.value})),Y("tenant_securityContext_runAsUser")},label:"Run As User",value:L.runAsUser,required:!0,error:B.tenant_securityContext_runAsUser||"",min:"0"})}),(0,T.jsx)("div",{className:t.containerItem,children:(0,T.jsx)(I.Z,{type:"number",id:"tenant_securityContext_runAsGroup",name:"tenant_securityContext_runAsGroup",onChange:function(e){H("tenantSecurityContext",(0,s.Z)((0,s.Z)({},L),{},{runAsGroup:e.target.value})),Y("tenant_securityContext_runAsGroup")},label:"Run As Group",value:L.runAsGroup,required:!0,error:B.tenant_securityContext_runAsGroup||"",min:"0"})}),(0,T.jsx)("div",{className:t.containerItem,children:(0,T.jsx)(I.Z,{type:"number",id:"tenant_securityContext_fsGroup",name:"tenant_securityContext_fsGroup",onChange:function(e){H("tenantSecurityContext",(0,s.Z)((0,s.Z)({},L),{},{fsGroup:e.target.value})),Y("tenant_securityContext_fsGroup")},label:"FsGroup",value:L.fsGroup,required:!0,error:B.tenant_securityContext_fsGroup||"",min:"0"})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.configSectionItem,children:(0,T.jsx)("div",{className:t.multiContainer,children:(0,T.jsx)(N.Z,{value:"tenantSecurityContextRunAsNonRoot",id:"tenant_securityContext_runAsNonRoot",name:"tenant_securityContext_runAsNonRoot",checked:L.runAsNonRoot,onChange:function(e){var t=e.target.checked;H("tenantSecurityContext",(0,s.Z)((0,s.Z)({},L),{},{runAsNonRoot:t}))},label:"Do not run as Root"})})})]})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.configSectionItem,children:(0,T.jsx)(N.Z,{value:"logSearchConfig",id:"log_search_configuration",name:"log_search_configuration",checked:x,onChange:function(e){var t=e.target.checked;H("logSearchCustom",t)},label:"Override Log Search defaults"})}),x&&(0,T.jsxs)(d.ZP,{xs:12,className:t.logSearchCustomFields,children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)(A.Z,{id:"log_search_storage_class",name:"log_search_storage_class",onChange:function(e){H("logSearchSelectedStorageClass",e.target.value)},label:"Log Search Storage Class",value:R,options:W,disabled:W.length<1})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:t.multiContainer,children:(0,T.jsx)(I.Z,{type:"number",id:"log_search_volume_size",name:"log_search_volume_size",onChange:function(e){H("logSearchVolumeSize",e.target.value),Y("log_search_volume_size")},label:"Storage Size [Gi]",value:v,required:!0,error:B.log_search_volume_size||"",min:"0"})})}),(0,T.jsxs)("fieldset",{className:"".concat(t.fieldGroup," ").concat(t.fieldSpaceTop),children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"SecurityContext for LogSearch"}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsxs)("div",{className:"".concat(t.multiContainer," ").concat(t.responsiveSectionItem),children:[(0,T.jsx)("div",{className:t.configSectionItem,children:(0,T.jsx)(I.Z,{type:"number",id:"logSearch_securityContext_runAsUser",name:"logSearch_securityContext_runAsUser",onChange:function(e){H("logSearchSecurityContext",(0,s.Z)((0,s.Z)({},M),{},{runAsUser:e.target.value})),Y("logSearch_securityContext_runAsUser")},label:"Run As User",value:M.runAsUser,required:!0,error:B.logSearch_securityContext_runAsUser||"",min:"0"})}),(0,T.jsx)("div",{className:t.configSectionItem,children:(0,T.jsx)(I.Z,{type:"number",id:"logSearch_securityContext_runAsGroup",name:"logSearch_securityContext_runAsGroup",onChange:function(e){H("logSearchSecurityContext",(0,s.Z)((0,s.Z)({},M),{},{runAsGroup:e.target.value})),Y("logSearch_securityContext_runAsGroup")},label:"Run As Group",value:M.runAsGroup,required:!0,error:B.logSearch_securityContext_runAsGroup||"",min:"0"})}),(0,T.jsx)("div",{className:t.configSectionItem,children:(0,T.jsx)(I.Z,{type:"number",id:"logSearch_securityContext_fsGroup",name:"logSearch_securityContext_fsGroup",onChange:function(e){H("logSearchSecurityContext",(0,s.Z)((0,s.Z)({},M),{},{fsGroup:e.target.value})),Y("logSearch_securityContext_fsGroup")},label:"FsGroup",value:M.fsGroup,required:!0,error:B.logSearch_securityContext_fsGroup||"",min:"0"})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:t.multiContainer,children:(0,T.jsx)(N.Z,{value:"logSearchSecurityContextRunAsNonRoot",id:"logSearch_securityContext_runAsNonRoot",name:"logSearch_securityContext_runAsNonRoot",checked:M.runAsNonRoot,onChange:function(e){var t=e.target.checked;H("logSearchSecurityContext",(0,s.Z)((0,s.Z)({},M),{},{runAsNonRoot:t}))},label:"Do not run as Root"})})})]}),(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"SecurityContext for PostgreSQL"}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsxs)("div",{className:"".concat(t.multiContainer," ").concat(t.responsiveSectionItem),children:[(0,T.jsx)("div",{className:t.configSectionItem,children:(0,T.jsx)(I.Z,{type:"number",id:"postgres_securityContext_runAsUser",name:"postgres_securityContext_runAsUser",onChange:function(e){H("logSearchPostgresSecurityContext",(0,s.Z)((0,s.Z)({},q),{},{runAsUser:e.target.value})),Y("postgres_securityContext_runAsUser")},label:"Run As User",value:q.runAsUser,required:!0,error:B.postgres_securityContext_runAsUser||"",min:"0"})}),(0,T.jsx)("div",{className:t.configSectionItem,children:(0,T.jsx)(I.Z,{type:"number",id:"postgres_securityContext_runAsGroup",name:"postgres_securityContext_runAsGroup",onChange:function(e){H("logSearchPostgresSecurityContext",(0,s.Z)((0,s.Z)({},q),{},{runAsGroup:e.target.value})),Y("postgres_securityContext_runAsGroup")},label:"Run As Group",value:q.runAsGroup,required:!0,error:B.postgres_securityContext_runAsGroup||"",min:"0"})}),(0,T.jsx)("div",{className:t.configSectionItem,children:(0,T.jsx)(I.Z,{type:"number",id:"postgres_securityContext_fsGroup",name:"postgres_securityContext_fsGroup",onChange:function(e){H("logSearchPostgresSecurityContext",(0,s.Z)((0,s.Z)({},q),{},{fsGroup:e.target.value})),Y("postgres_securityContext_fsGroup")},label:"FsGroup",value:q.fsGroup,required:!0,error:B.postgres_securityContext_fsGroup||"",min:"0"})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:t.multiContainer,children:(0,T.jsx)(N.Z,{value:"postgresSecurityContextRunAsNonRoot",id:"postgres_securityContext_runAsNonRoot",name:"postgres_securityContext_runAsNonRoot",checked:q.runAsNonRoot,onChange:function(e){var t=e.target.checked;H("logSearchPostgresSecurityContext",(0,s.Z)((0,s.Z)({},q),{},{runAsNonRoot:t}))},label:"Do not run as Root"})})})]})]}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.configSectionItem,children:(0,T.jsx)(N.Z,{value:"prometheusConfig",id:"prometheus_configuration",name:"prometheus_configuration",checked:f,onChange:function(e){var t=e.target.checked;H("prometheusCustom",t)},label:"Override Prometheus defaults"})}),f&&(0,T.jsxs)(d.ZP,{xs:12,className:t.prometheusCustomFields,children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)(A.Z,{id:"prometheus_storage_class",name:"prometheus_storage_class",onChange:function(e){H("prometheusSelectedStorageClass",e.target.value)},label:"Prometheus Storage Class",value:z,options:W,disabled:W.length<1})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:t.multiContainer,children:(0,T.jsx)(I.Z,{type:"number",id:"prometheus_volume_size",name:"prometheus_volume_size",onChange:function(e){H("prometheusVolumeSize",e.target.value),Y("prometheus_volume_size")},label:"Storage Size [Gi]",value:k,required:!0,error:B.prometheus_volume_size||"",min:"0"})})}),(0,T.jsxs)("fieldset",{className:"".concat(t.fieldGroup," ").concat(t.fieldSpaceTop),children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"SecurityContext for Prometheus"}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.configSectionItem,children:(0,T.jsxs)("div",{className:"".concat(t.multiContainer," ").concat(t.responsiveSectionItem),children:[(0,T.jsx)("div",{className:t.configSectionItem,children:(0,T.jsx)(I.Z,{type:"number",id:"prometheus_securityContext_runAsUser",name:"prometheus_securityContext_runAsUser",onChange:function(e){H("prometheusSecurityContext",(0,s.Z)((0,s.Z)({},G),{},{runAsUser:e.target.value})),Y("prometheus_securityContext_runAsUser")},label:"Run As User",value:G.runAsUser,required:!0,error:B.prometheus_securityContext_runAsUser||"",min:"0"})}),(0,T.jsx)("div",{className:t.configSectionItem,children:(0,T.jsx)(I.Z,{type:"number",id:"prometheus_securityContext_runAsGroup",name:"prometheus_securityContext_runAsGroup",onChange:function(e){H("prometheusSecurityContext",(0,s.Z)((0,s.Z)({},G),{},{runAsGroup:e.target.value})),Y("prometheus_securityContext_runAsGroup")},label:"Run As Group",value:G.runAsGroup,required:!0,error:B.prometheus_securityContext_runAsGroup||"",min:"0"})}),(0,T.jsx)("div",{className:t.configSectionItem,children:(0,T.jsx)(I.Z,{type:"number",id:"prometheus_securityContext_fsGroup",name:"prometheus_securityContext_fsGroup",onChange:function(e){H("prometheusSecurityContext",(0,s.Z)((0,s.Z)({},G),{},{fsGroup:e.target.value})),Y("prometheus_securityContext_fsGroup")},label:"FsGroup",value:G.fsGroup,required:!0,error:B.prometheus_securityContext_fsGroup||"",min:"0"})})]})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.configSectionItem,children:(0,T.jsx)("div",{className:"".concat(t.multiContainer," ").concat(t.fieldSpaceTop),children:(0,T.jsx)(N.Z,{value:"prometheusSecurityContextRunAsNonRoot",id:"prometheus_securityContext_runAsNonRoot",name:"prometheus_securityContext_runAsNonRoot",checked:G.runAsNonRoot,onChange:function(e){var t=e.target.checked;H("prometheusSecurityContext",(0,s.Z)((0,s.Z)({},G),{},{runAsNonRoot:t}))},label:"Do not run as Root"})})})]})]})]})}))),z=n(94187),w=n(95467),F=n(35477),D=n(94759),E=n(43615),U=n(27207),K=n(96152),L=n(35150),M=(0,u.$j)((function(e){return{idpSelection:e.tenants.createTenant.fields.identityProvider.idpSelection,accessKeys:e.tenants.createTenant.fields.identityProvider.accessKeys,secretKeys:e.tenants.createTenant.fields.identityProvider.secretKeys,openIDConfigurationURL:e.tenants.createTenant.fields.identityProvider.openIDConfigurationURL,openIDClientID:e.tenants.createTenant.fields.identityProvider.openIDClientID,openIDSecretID:e.tenants.createTenant.fields.identityProvider.openIDSecretID,openIDCallbackURL:e.tenants.createTenant.fields.identityProvider.openIDCallbackURL,openIDClaimName:e.tenants.createTenant.fields.identityProvider.openIDClaimName,openIDScopes:e.tenants.createTenant.fields.identityProvider.openIDScopes,ADURL:e.tenants.createTenant.fields.identityProvider.ADURL,ADSkipTLS:e.tenants.createTenant.fields.identityProvider.ADSkipTLS,ADServerInsecure:e.tenants.createTenant.fields.identityProvider.ADServerInsecure,ADUserNameSearchFilter:e.tenants.createTenant.fields.identityProvider.ADUserNameSearchFilter,ADGroupSearchBaseDN:e.tenants.createTenant.fields.identityProvider.ADGroupSearchBaseDN,ADGroupSearchFilter:e.tenants.createTenant.fields.identityProvider.ADGroupSearchFilter,ADGroupNameAttribute:e.tenants.createTenant.fields.identityProvider.ADGroupNameAttribute,ADUserDNs:e.tenants.createTenant.fields.identityProvider.ADUserDNs,ADUserNameFormat:e.tenants.createTenant.fields.identityProvider.ADUserNameFormat,ADLookupBindDN:e.tenants.createTenant.fields.identityProvider.ADLookupBindDN,ADLookupBindPassword:e.tenants.createTenant.fields.identityProvider.ADLookupBindPassword,ADUserDNSearchBaseDN:e.tenants.createTenant.fields.identityProvider.ADUserDNSearchBaseDN,ADUserDNSearchFilter:e.tenants.createTenant.fields.identityProvider.ADUserDNSearchFilter,ADServerStartTLS:e.tenants.createTenant.fields.identityProvider.ADServerStartTLS}}),{updateAddField:j.HM,isPageValid:j.NO}),q=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)((0,s.Z)((0,s.Z)({shortened:{gridTemplateColumns:"auto auto 50px 50px",display:"grid",gridGap:15,marginBottom:10,"& input":{fontWeight:400}},buttonTray:{marginLeft:10,display:"flex",height:38,"& button":{background:"#EAEAEA"}},overlayAction:{marginLeft:10,"& svg":{maxWidth:15,maxHeight:15},"& button":{background:"#EAEAEA"}},protocolRadioOptions:{display:"flex",flexFlow:"column",marginBottom:10,"& label":{fontSize:14},"& div":{display:"flex",flexFlow:"column",alignItems:"baseline"}},adUserDnRows:{display:"flex"}},f.QV),f.DF),f.oO),f.AK))}))(M((function(e){var t=e.classes,n=e.idpSelection,a=e.accessKeys,r=e.secretKeys,s=e.openIDConfigurationURL,l=e.openIDClientID,c=e.openIDSecretID,u=e.openIDCallbackURL,m=e.openIDClaimName,p=e.openIDScopes,g=e.ADURL,f=e.ADSkipTLS,h=e.ADServerInsecure,x=e.ADUserNameSearchFilter,v=e.ADGroupSearchBaseDN,y=e.ADGroupSearchFilter,C=e.ADGroupNameAttribute,S=e.ADUserDNs,j=e.ADUserNameFormat,A=e.ADLookupBindDN,k=e.ADLookupBindPassword,R=e.ADUserDNSearchBaseDN,M=e.ADUserDNSearchFilter,q=e.ADServerStartTLS,G=e.updateAddField,V=e.isPageValid,O=(0,o.useState)({}),B=(0,i.Z)(O,2),$=B[0],W=B[1],H=(0,o.useCallback)((function(e,t){G("identityProvider",e,t)}),[G]),Y=function(e,t){var n=(0,Z.Z)(a);n[e]=t,H("accessKeys",n)},Q=function(e,t){var n=(0,Z.Z)(r);n[e]=t,H("secretKeys",n)},X=function(e,t){var n=(0,Z.Z)(S);n[e]=t,H("ADUserDNs",n)},J=function(e){W((0,_.h)($,e))};(0,o.useEffect)((function(){var e=[];if("Built-in"===n){e=(0,Z.Z)(e);for(var t=0;t1&&(a.splice(n,1),r.splice(n,1),Y(a.length-1,a[a.length-1]))},children:(0,T.jsx)(L.Z,{})})})}),(0,T.jsx)(z.Z,{title:"Randomize Credentials","aria-label":"add",children:(0,T.jsx)("div",{className:t.overlayAction,children:(0,T.jsx)(w.Z,{onClick:function(){Y(n,(0,_.z)(16)),Q(n,(0,_.z)(32))},size:"small",children:(0,T.jsx)(D.Z,{})})})})]})]})},"identityField-".concat(n.toString()))}))),"AD"===n&&(ee=S.map((function(e,n){return(0,T.jsx)(o.Fragment,{children:(0,T.jsxs)("div",{className:t.adUserDnRows,children:[(0,T.jsx)(I.Z,{id:"ad-userdn-".concat(n.toString()),label:"",placeholder:"",name:"ad-userdn-".concat(n.toString()),value:S[n],onChange:function(e){X(n,e.target.value),J("ad-userdn-".concat(n.toString()))},index:n,error:$["ad-userdn-".concat(n.toString())]||""},"csv-ad-userdn-".concat(n.toString())),(0,T.jsxs)("div",{className:t.buttonTray,children:[(0,T.jsx)(z.Z,{title:"Add User","aria-label":"add",children:(0,T.jsx)(w.Z,{size:"small",onClick:function(){S.push(""),X(S.length-1,"")},children:(0,T.jsx)(K.Z,{})})}),(0,T.jsx)(z.Z,{title:"Remove","aria-label":"add",children:(0,T.jsx)(w.Z,{size:"small",style:{marginLeft:16},onClick:function(){S.length>1&&(S.splice(n,1),Y(S.length-1,S[S.length-1]))},children:(0,T.jsx)(E.Z,{})})})]})]})},"identityField-".concat(n.toString()))}))),(0,T.jsxs)(b.Z,{className:t.paperWrapper,children:[(0,T.jsxs)("div",{className:t.headerElement,children:[(0,T.jsx)("h3",{className:t.h3Section,children:"Identity Provider"}),(0,T.jsx)("span",{className:t.descriptionText,children:"Access to the tenant can be controlled via an external Identity Manager."})]}),(0,T.jsxs)(d.ZP,{item:!0,xs:12,className:t.protocolRadioOptions,children:[(0,T.jsx)("label",{children:"Protocol"}),(0,T.jsx)(U.Z,{currentSelection:n,id:"idp-options",name:"idp-options",label:" ",onChange:function(e){H("idpSelection",e.target.value)},selectorOptions:[{label:"Built-in",value:"Built-in"},{label:"OpenID",value:"OpenID"},{label:"Active Directory",value:"AD"}]})]}),"Built-in"===n&&(0,T.jsxs)(o.Fragment,{children:["Add additional users",ee]}),"OpenID"===n&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"openID_CONFIGURATION_URL",name:"openID_CONFIGURATION_URL",onChange:function(e){H("openIDConfigurationURL",e.target.value),J("openID_CONFIGURATION_URL")},label:"Configuration URL",value:s,placeholder:"https://your-identity-provider.com/.well-known/openid-configuration",error:$.openID_CONFIGURATION_URL||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"openID_clientID",name:"openID_clientID",onChange:function(e){H("openIDClientID",e.target.value),J("openID_clientID")},label:"Client ID",value:l,error:$.openID_clientID||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"openID_secretID",name:"openID_secretID",onChange:function(e){H("openIDSecretID",e.target.value),J("openID_secretID")},label:"Secret ID",value:c,error:$.openID_secretID||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"openID_callbackURL",name:"openID_callbackURL",onChange:function(e){H("openIDCallbackURL",e.target.value),J("openID_callbackURL")},label:"Callback URL",value:u,placeholder:"https://your-console-endpoint:9443/oauth_callback",error:$.openID_callbackURL||""})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"openID_claimName",name:"openID_claimName",onChange:function(e){H("openIDClaimName",e.target.value),J("openID_claimName")},label:"Claim Name",value:m,error:$.openID_claimName||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"openID_scopes",name:"openID_scopes",onChange:function(e){H("openIDScopes",e.target.value),J("openID_scopes")},label:"Scopes",value:p})})]}),"AD"===n&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"AD_URL",name:"AD_URL",onChange:function(e){H("ADURL",e.target.value),J("AD_URL")},label:"LDAP Server Address",value:g,placeholder:"ldap-server:636",error:$.AD_URL||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(N.Z,{value:"ad_skipTLS",id:"ad_skipTLS",name:"ad_skipTLS",checked:f,onChange:function(e){var t=e.target.checked;H("ADSkipTLS",t)},label:"Skip TLS Verification"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(N.Z,{value:"ad_serverInsecure",id:"ad_serverInsecure",name:"ad_serverInsecure",checked:h,onChange:function(e){var t=e.target.checked;H("ADServerInsecure",t)},label:"Server Insecure"})}),h?(0,T.jsxs)(d.ZP,{item:!0,xs:12,children:[(0,T.jsx)(F.Z,{className:t.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)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(N.Z,{value:"ad_serverStartTLS",id:"ad_serverStartTLS",name:"ad_serverStartTLS",checked:q,onChange:function(e){var t=e.target.checked;H("ADServerStartTLS",t)},label:"Start TLS connection to AD/LDAP server"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"ad_userNameFormat",name:"ad_userNameFormat",onChange:function(e){H("ADUserNameFormat",e.target.value)},label:"Username Format",value:j,placeholder:"uid=%s,cn=accounts,dc=myldapserver,dc=com"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"ad_userNameFilter",name:"ad_userNameFilter",onChange:function(e){H("ADUserNameSearchFilter",e.target.value)},label:"Username Search Filter",value:x,placeholder:"(|(objectclass=posixAccount)(uid=%s))"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"ad_groupSearchBaseDN",name:"ad_groupSearchBaseDN",onChange:function(e){H("ADGroupSearchBaseDN",e.target.value)},label:"Group Search Base DN",value:v,placeholder:"ou=hwengg,dc=min,dc=io;ou=swengg,dc=min,dc=io"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"ad_groupSearchFilter",name:"ad_groupSearchFilter",onChange:function(e){H("ADGroupSearchFilter",e.target.value)},label:"Group Search Filter",value:y,placeholder:"(&(objectclass=groupOfNames)(member=%s))"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"ad_groupNameAttribute",name:"ad_groupNameAttribute",onChange:function(e){H("ADGroupNameAttribute",e.target.value)},label:"Group Name Attribute",value:C,placeholder:"cn"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"ad_lookupBindDN",name:"ad_lookupBindDN",onChange:function(e){H("ADLookupBindDN",e.target.value)},label:"Lookup Bind DN",value:A,placeholder:"cn=admin,dc=min,dc=io"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"ad_lookupBindPassword",name:"ad_lookupBindPassword",onChange:function(e){H("ADLookupBindPassword",e.target.value)},label:"Lookup Bind Password",value:k,placeholder:"admin"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"ad_userDNSearchBaseDN",name:"ad_userDNSearchBaseDN",onChange:function(e){H("ADUserDNSearchBaseDN",e.target.value)},label:"User DN Search Base DN",value:R,placeholder:"dc=min,dc=io"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"ad_userDNSearchFilter",name:"ad_userDNSearchFilter",onChange:function(e){H("ADUserDNSearchFilter",e.target.value)},label:"User DN Search Filter",value:M,placeholder:"(uid=%s)"})}),(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"List of user DNs (Distinguished Names) to be Tenant Administrators"}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:ee})]})]})]})}))),G=n(82461),V=n(14792),O=(0,u.$j)((function(e){return{enableTLS:e.tenants.createTenant.fields.security.enableTLS,enableAutoCert:e.tenants.createTenant.fields.security.enableAutoCert,enableCustomCerts:e.tenants.createTenant.fields.security.enableCustomCerts,minioCertificates:e.tenants.createTenant.certificates.minioCertificates,caCertificates:e.tenants.createTenant.certificates.caCertificates}}),{updateAddField:j.HM,isPageValid:j.NO,addFileToCaCertificates:j.Eq,deleteCaCertificate:j.IG,addCaCertificate:j.fK,addKeyPair:j.Mg,addFileToKeyPair:j.aN,deleteKeyPair:j.XX}),B=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)((0,s.Z)({minioCertificateRows:{display:"flex",alignItems:"center",justifyContent:"flex-start",borderBottom:"1px solid #EAEAEA","&:last-child":{borderBottom:0},"@media (max-width: 900px)":{flex:1}},fileItem:{marginRight:10,display:"flex","& div label":{minWidth:50},"@media (max-width: 900px)":{flexFlow:"column"}},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"}}},f.QV),f.oO),f.AK))}))(O((function(e){var t=e.classes,n=e.enableTLS,a=e.enableAutoCert,r=e.enableCustomCerts,i=e.minioCertificates,s=e.caCertificates,l=e.updateAddField,c=e.isPageValid,u=e.addFileToCaCertificates,m=e.deleteCaCertificate,p=e.addCaCertificate,g=e.addKeyPair,f=e.addFileToKeyPair,h=e.deleteKeyPair,x=(0,o.useCallback)((function(e,t){l("security",e,t)}),[l]);return(0,o.useEffect)((function(){c("security",!n||(!!a||!!r))}),[n,a,r,c]),(0,T.jsxs)(b.Z,{className:t.paperWrapper,children:[(0,T.jsx)("div",{className:t.headerElement,children:(0,T.jsx)("h3",{className:t.h3Section,children:"Security"})}),(0,T.jsxs)(d.ZP,{item:!0,xs:12,children:[(0,T.jsx)(N.Z,{value:"enableTLS",id:"enableTLS",name:"enableTLS",checked:n,onChange:function(e){var t=e.target.checked;x("enableTLS",t)},label:"Enable TLS"}),"Enable TLS for the tenant, this is required for Encryption Configuration",n&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)("br",{}),(0,T.jsx)("br",{}),(0,T.jsx)(F.Z,{variant:"caption",display:"block",gutterBottom:!0,children:"AutoCert: MinIO Operator will generate all TLS certificates automatically"}),(0,T.jsx)(F.Z,{variant:"caption",display:"block",gutterBottom:!0,children:"Custom certificates: Allow user to provide your own certificates"}),(0,T.jsx)("br",{})]})]}),n&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsxs)(d.ZP,{item:!0,xs:12,children:[(0,T.jsx)(N.Z,{value:"enableAutoCert",id:"enableAutoCert",name:"enableAutoCert",checked:a,onChange:function(e){var t=e.target.checked;x("enableAutoCert",t)},label:"Enable AutoCert"}),(0,T.jsx)(N.Z,{value:"enableCustomCerts",id:"enableCustomCerts",name:"enableCustomCerts",checked:r,onChange:function(e){var t=e.target.checked;x("enableCustomCerts",t)},label:"Custom Certificates"})]}),r&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{container:!0,children:(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.minioCertsContainer,children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"MinIO Certificates"}),i.map((function(e){return(0,T.jsxs)(d.ZP,{item:!0,xs:12,className:t.minioCertificateRows,children:[(0,T.jsxs)(d.ZP,{item:!0,xs:10,className:t.fileItem,children:[(0,T.jsx)(G.Z,{onChange:function(t,n){f(e.id,"cert",n,t)},accept:".cer,.crt,.cert,.pem",id:"tlsCert",name:"tlsCert",label:"Cert",value:e.cert}),(0,T.jsx)(G.Z,{onChange:function(t,n){f(e.id,"key",n,t)},accept:".key,.pem",id:"tlsKey",name:"tlsKey",label:"Key",value:e.key})]}),(0,T.jsxs)(d.ZP,{item:!0,xs:2,className:t.rowActions,children:[(0,T.jsx)("div",{className:t.overlayAction,children:(0,T.jsx)(w.Z,{size:"small",onClick:g,children:(0,T.jsx)(V.Z,{})})}),(0,T.jsx)("div",{className:t.overlayAction,children:(0,T.jsx)(w.Z,{size:"small",onClick:function(){h(e.id)},children:(0,T.jsx)(L.Z,{})})})]})]},e.id)}))]})})}),(0,T.jsx)(d.ZP,{container:!0,children:(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.minioCertsContainer,children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"MinIO CA Certificates"}),s.map((function(e){return(0,T.jsxs)(d.ZP,{item:!0,xs:12,className:t.minioCACertsRow,children:[(0,T.jsx)(d.ZP,{item:!0,xs:6,children:(0,T.jsx)(G.Z,{onChange:function(t,n){u(e.id,"cert",n,t)},accept:".cer,.crt,.cert,.pem",id:"tlsCert",name:"tlsCert",label:"Cert",value:e.cert})}),(0,T.jsx)(d.ZP,{item:!0,xs:6,children:(0,T.jsxs)("div",{className:t.rowActions,children:[(0,T.jsx)("div",{className:t.overlayAction,children:(0,T.jsx)(w.Z,{size:"small",onClick:p,children:(0,T.jsx)(V.Z,{})})}),(0,T.jsx)("div",{className:t.overlayAction,children:(0,T.jsx)(w.Z,{size:"small",onClick:function(){m(e.id)},children:(0,T.jsx)(L.Z,{})})})]})})]},e.id)}))]})})})]})]})]})}))),$=(0,u.$j)((function(e){return{replicas:e.tenants.createTenant.fields.encryption.replicas,enableEncryption:e.tenants.createTenant.fields.encryption.enableEncryption,encryptionType:e.tenants.createTenant.fields.encryption.encryptionType,gemaltoEndpoint:e.tenants.createTenant.fields.encryption.gemaltoEndpoint,gemaltoToken:e.tenants.createTenant.fields.encryption.gemaltoToken,gemaltoDomain:e.tenants.createTenant.fields.encryption.gemaltoDomain,gemaltoRetry:e.tenants.createTenant.fields.encryption.gemaltoRetry,awsEndpoint:e.tenants.createTenant.fields.encryption.awsEndpoint,awsRegion:e.tenants.createTenant.fields.encryption.awsRegion,awsKMSKey:e.tenants.createTenant.fields.encryption.awsKMSKey,awsAccessKey:e.tenants.createTenant.fields.encryption.awsAccessKey,awsSecretKey:e.tenants.createTenant.fields.encryption.awsSecretKey,awsToken:e.tenants.createTenant.fields.encryption.awsToken,vaultEndpoint:e.tenants.createTenant.fields.encryption.vaultEndpoint,vaultEngine:e.tenants.createTenant.fields.encryption.vaultEngine,vaultNamespace:e.tenants.createTenant.fields.encryption.vaultNamespace,vaultPrefix:e.tenants.createTenant.fields.encryption.vaultPrefix,vaultAppRoleEngine:e.tenants.createTenant.fields.encryption.vaultAppRoleEngine,vaultId:e.tenants.createTenant.fields.encryption.vaultId,vaultSecret:e.tenants.createTenant.fields.encryption.vaultSecret,vaultRetry:e.tenants.createTenant.fields.encryption.vaultRetry,vaultPing:e.tenants.createTenant.fields.encryption.vaultPing,azureEndpoint:e.tenants.createTenant.fields.encryption.azureEndpoint,azureTenantID:e.tenants.createTenant.fields.encryption.azureTenantID,azureClientID:e.tenants.createTenant.fields.encryption.azureClientID,azureClientSecret:e.tenants.createTenant.fields.encryption.azureClientSecret,gcpProjectID:e.tenants.createTenant.fields.encryption.gcpProjectID,gcpEndpoint:e.tenants.createTenant.fields.encryption.gcpEndpoint,gcpClientEmail:e.tenants.createTenant.fields.encryption.gcpClientEmail,gcpClientID:e.tenants.createTenant.fields.encryption.gcpClientID,gcpPrivateKeyID:e.tenants.createTenant.fields.encryption.gcpPrivateKeyID,gcpPrivateKey:e.tenants.createTenant.fields.encryption.gcpPrivateKey,enableCustomCertsForKES:e.tenants.createTenant.fields.encryption.enableCustomCertsForKES,enableAutoCert:e.tenants.createTenant.fields.security.enableAutoCert,enableTLS:e.tenants.createTenant.fields.security.enableTLS,minioCertificates:e.tenants.createTenant.certificates.minioCertificates,serverCertificate:e.tenants.createTenant.certificates.serverCertificate,clientCertificate:e.tenants.createTenant.certificates.clientCertificate,vaultCertificate:e.tenants.createTenant.certificates.vaultCertificate,vaultCA:e.tenants.createTenant.certificates.vaultCA,gemaltoCA:e.tenants.createTenant.certificates.gemaltoCA,enableCustomCerts:e.tenants.createTenant.fields.security.enableCustomCerts,kesSecurityContext:e.tenants.createTenant.fields.encryption.kesSecurityContext}}),{updateAddField:j.HM,isPageValid:j.NO,addFileServerCert:j.$1,addFileClientCert:j.BI,addFileVaultCert:j.cl,addFileVaultCa:j.fk,addFileGemaltoCa:j.MX}),W=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)((0,s.Z)((0,s.Z)({encryptionTypeOptions:{marginBottom:15},mutualTlsConfig:{marginTop:15,"& fieldset":{flex:1}},rightSpacer:{marginRight:15},responsiveContainer:{"@media (max-width: 900px)":{display:"flex",flexFlow:"column"}}},f.QV),f.DF),f.oO),f.AK))}))($((function(e){var t=e.classes,n=e.updateAddField,a=e.isPageValid,r=e.addFileServerCert,l=e.addFileClientCert,c=e.addFileVaultCert,u=e.addFileVaultCa,m=e.addFileGemaltoCa,p=e.enableEncryption,g=e.enableCustomCerts,f=e.encryptionType,h=e.gemaltoEndpoint,x=e.gemaltoToken,v=e.gemaltoDomain,y=e.gemaltoRetry,C=e.awsEndpoint,S=e.awsRegion,j=e.awsKMSKey,A=e.awsAccessKey,k=e.awsSecretKey,R=e.awsToken,z=e.vaultEndpoint,w=e.vaultEngine,F=e.vaultNamespace,D=e.vaultPrefix,E=e.vaultAppRoleEngine,K=e.vaultId,L=e.vaultSecret,M=e.vaultRetry,q=e.vaultPing,V=e.azureEndpoint,O=e.azureTenantID,B=e.azureClientID,$=e.azureClientSecret,W=e.gcpProjectID,H=e.gcpEndpoint,Y=e.gcpClientEmail,Q=e.gcpClientID,X=e.gcpPrivateKeyID,J=e.gcpPrivateKey,ee=e.enableCustomCertsForKES,te=e.enableAutoCert,ne=e.enableTLS,ae=e.minioCertificates,re=e.serverCertificate,ie=e.clientCertificate,se=e.vaultCertificate,oe=e.vaultCA,le=e.gemaltoCA,ce=e.kesSecurityContext,ue=e.replicas,de=(0,o.useState)({}),me=(0,i.Z)(de,2),pe=me[0],ge=me[1],fe=!1;ne&&(te||ae&&ae.filter((function(e){return e.encoded_key&&e.encoded_cert})).length>0)&&(fe=!0);var he=(0,o.useCallback)((function(e,t){n("encryption",e,t)}),[n]),xe=function(e){ge((0,_.h)(pe,e))};return(0,o.useEffect)((function(){var e=[];p&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"replicas",required:!0,value:ue,customValidation:parseInt(ue)<1,customValidationMessage:"Replicas needs to be 1 or greater"},{fieldKey:"kes_securityContext_runAsUser",required:!0,value:ce.runAsUser,customValidation:""===ce.runAsUser||parseInt(ce.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"kes_securityContext_runAsGroup",required:!0,value:ce.runAsGroup,customValidation:""===ce.runAsGroup||parseInt(ce.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"kes_securityContext_fsGroup",required:!0,value:ce.fsGroup,customValidation:""===ce.fsGroup||parseInt(ce.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"}]),g&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"serverKey",required:!te,value:re.encoded_key},{fieldKey:"serverCert",required:!te,value:re.encoded_cert},{fieldKey:"clientKey",required:!te,value:ie.encoded_key},{fieldKey:"clientCert",required:!te,value:ie.encoded_cert}])),"vault"===f&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"vault_endpoint",required:!0,value:z},{fieldKey:"vault_id",required:!0,value:K},{fieldKey:"vault_secret",required:!0,value:L},{fieldKey:"vault_ping",required:!1,value:q,customValidation:parseInt(q)<0,customValidationMessage:"Value needs to be 0 or greater"},{fieldKey:"vault_retry",required:!1,value:M,customValidation:parseInt(M)<0,customValidationMessage:"Value needs to be 0 or greater"}])),"aws"===f&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"aws_endpoint",required:!0,value:C},{fieldKey:"aws_region",required:!0,value:S},{fieldKey:"aws_accessKey",required:!0,value:A},{fieldKey:"aws_secretKey",required:!0,value:k}])),"gemalto"===f&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"gemalto_endpoint",required:!0,value:h},{fieldKey:"gemalto_token",required:!0,value:x},{fieldKey:"gemalto_domain",required:!0,value:v},{fieldKey:"gemalto_retry",required:!1,value:y,customValidation:parseInt(y)<0,customValidationMessage:"Value needs to be 0 or greater"}])),"azure"===f&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"azure_endpoint",required:!0,value:V},{fieldKey:"azure_tenant_id",required:!0,value:O},{fieldKey:"azure_client_id",required:!0,value:B},{fieldKey:"azure_client_secret",required:!0,value:$}])));var t=(0,P.R)(e);a("encryption",0===Object.keys(t).length),ge(t)}),[p,f,z,w,K,L,q,M,C,S,k,A,h,x,v,y,W,H,Y,Q,X,J,V,O,B,$,a,te,g,re.encoded_key,re.encoded_cert,ie.encoded_key,ie.encoded_cert,ce,ue]),(0,T.jsxs)(b.Z,{className:t.paperWrapper,children:[(0,T.jsxs)("div",{className:t.headerElement,children:[(0,T.jsx)("h3",{className:t.h3Section,children:"Encryption"}),(0,T.jsx)("span",{className:t.descriptionText,children:"How would you like to encrypt the information at rest."})]}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)(N.Z,{value:"enableEncryption",id:"enableEncryption",name:"enableEncryption",checked:p,onChange:function(e){var t=e.target.checked;he("enableEncryption",t)},label:"Enable Server Side Encryption",disabled:!fe})}),p&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.encryptionTypeOptions,children:(0,T.jsx)(U.Z,{currentSelection:f,id:"encryptionType",name:"encryptionType",label:"Encryption Options",onChange:function(e){he("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"===f&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)(N.Z,{value:"enableCustomCertsForKES",id:"enableCustomCertsForKES",name:"enableCustomCertsForKES",checked:ee||!te,onChange:function(e){var t=e.target.checked;he("enableCustomCertsForKES",t)},label:"Custom Certificates",disabled:!te})}),(ee||!te)&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{container:!0,children:(0,T.jsx)(d.ZP,{item:!0,xs:12,style:{marginBottom:15},children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"Encryption Service Certificates"}),(0,T.jsx)(G.Z,{onChange:function(e,t){r("key",t,e),xe("serverKey")},accept:".key,.pem",id:"serverKey",name:"serverKey",label:"Key",error:pe.serverKey||"",value:re.key,required:!te}),(0,T.jsx)(G.Z,{onChange:function(e,t){r("cert",t,e),xe("serverCert")},accept:".cer,.crt,.cert,.pem",id:"serverCert",name:"serverCert",label:"Cert",error:pe.serverCert||"",value:re.cert,required:!te})]})})}),(0,T.jsx)(d.ZP,{container:!0,style:{marginBottom:15},children:(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"Mutual TLS authentication"}),(0,T.jsx)(G.Z,{onChange:function(e,t){l("key",t,e),xe("clientKey")},accept:".key,.pem",id:"clientKey",name:"clientKey",label:"Key",error:pe.clientKey||"",value:ie.key,required:!te}),(0,T.jsx)(G.Z,{onChange:function(e,t){l("cert",t,e),xe("clientCert")},accept:".cer,.crt,.cert,.pem",id:"clientCert",name:"clientCert",label:"Cert",error:pe.clientCert||"",value:ie.cert,required:!te})]})})})]}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"vault_endpoint",name:"vault_endpoint",onChange:function(e){he("vaultEndpoint",e.target.value),xe("vault_endpoint")},label:"Endpoint",value:z,error:pe.vault_endpoint||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"vault_engine",name:"vault_engine",onChange:function(e){he("vaultEngine",e.target.value),xe("vault_engine")},label:"Engine",value:w})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"vault_namespace",name:"vault_namespace",onChange:function(e){he("vaultNamespace",e.target.value)},label:"Namespace",value:F})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"vault_prefix",name:"vault_prefix",onChange:function(e){he("vaultPrefix",e.target.value)},label:"Prefix",value:D})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"App Role"}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"vault_approle_engine",name:"vault_approle_engine",onChange:function(e){he("vaultAppRoleEngine",e.target.value)},label:"Engine",value:E})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"vault_id",name:"vault_id",onChange:function(e){he("vaultId",e.target.value),xe("vault_id")},label:"AppRole ID",value:K,error:pe.vault_id||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"vault_secret",name:"vault_secret",onChange:function(e){he("vaultSecret",e.target.value),xe("vault_secret")},label:"AppRole Secret",value:L,error:pe.vault_secret||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{type:"number",min:"0",id:"vault_retry",name:"vault_retry",onChange:function(e){he("vaultRetry",e.target.value),xe("vault_retry")},label:"Retry (Seconds)",value:M,error:pe.vault_retry||""})})]})}),(0,T.jsx)(d.ZP,{container:!0,className:t.mutualTlsConfig,children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"Mutual TLS authentication (optional)"}),(0,T.jsx)(G.Z,{onChange:function(e,t){c("key",t,e),xe("vault_key")},accept:".key,.pem",id:"vault_key",name:"vault_key",label:"Key",value:se.key}),(0,T.jsx)(G.Z,{onChange:function(e,t){c("cert",t,e),xe("vault_cert")},accept:".cer,.crt,.cert,.pem",id:"vault_cert",name:"vault_cert",label:"Cert",value:se.cert}),(0,T.jsx)(G.Z,{onChange:function(e,t){u(t,e),xe("vault_ca")},accept:".cer,.crt,.cert,.pem",id:"vault_ca",name:"vault_ca",label:"CA",value:oe.cert})]})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,style:{marginTop:15},children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"Status"}),(0,T.jsx)(I.Z,{type:"number",min:"0",id:"vault_ping",name:"vault_ping",onChange:function(e){he("vaultPing",e.target.value),xe("vault_ping")},label:"Ping (Seconds)",value:q,error:pe.vault_ping||""})]})})]}),"azure"===f&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"azure_endpoint",name:"azure_endpoint",onChange:function(e){he("azureEndpoint",e.target.value),xe("azure_endpoint")},label:"Endpoint",value:V,error:pe.azure_endpoint||""})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"Credentials"}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"azure_tenant_id",name:"azure_tenant_id",onChange:function(e){he("azureTenantID",e.target.value),xe("azure_tenant_id")},label:"Tenant ID",value:O,error:pe.azure_tenant_id||""})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"azure_client_id",name:"azure_client_id",onChange:function(e){he("azureClientID",e.target.value),xe("azure_client_id")},label:"Client ID",value:B,error:pe.azure_client_id||""})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"azure_client_secret",name:"azure_client_secret",onChange:function(e){he("azureClientSecret",e.target.value),xe("azure_client_secret")},label:"Client Secret",value:$,error:pe.azure_client_secret||""})})]})})]}),"gcp"===f&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"gcp_project_id",name:"gcp_project_id",onChange:function(e){he("gcpProjectID",e.target.value)},label:"Project ID",value:W})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"gcp_endpoint",name:"gcp_endpoint",onChange:function(e){he("gcpEndpoint",e.target.value)},label:"Endpoint",value:H})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"Credentials"}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"gcp_client_email",name:"gcp_client_email",onChange:function(e){he("gcpClientEmail",e.target.value)},label:"Client Email",value:Y})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"gcp_client_id",name:"gcp_client_id",onChange:function(e){he("gcpClientID",e.target.value)},label:"Client ID",value:Q})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"gcp_private_key_id",name:"gcp_private_key_id",onChange:function(e){he("gcpPrivateKeyID",e.target.value)},label:"Private Key ID",value:X})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"gcp_private_key",name:"gcp_private_key",onChange:function(e){he("gcpPrivateKey",e.target.value)},label:"Private Key",value:J})})]})})]}),"aws"===f&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"aws_endpoint",name:"aws_endpoint",onChange:function(e){he("awsEndpoint",e.target.value),xe("aws_endpoint")},label:"Endpoint",value:C,error:pe.aws_endpoint||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"aws_region",name:"aws_region",onChange:function(e){he("awsRegion",e.target.value),xe("aws_region")},label:"Region",value:S,error:pe.aws_region||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"aws_kmsKey",name:"aws_kmsKey",onChange:function(e){he("awsKMSKey",e.target.value)},label:"KMS Key",value:j})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"Credentials"}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"aws_accessKey",name:"aws_accessKey",onChange:function(e){he("awsAccessKey",e.target.value),xe("aws_accessKey")},label:"Access Key",value:A,error:pe.aws_accessKey||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"aws_secretKey",name:"aws_secretKey",onChange:function(e){he("awsSecretKey",e.target.value),xe("aws_secretKey")},label:"Secret Key",value:k,error:pe.aws_secretKey||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"aws_token",name:"aws_token",onChange:function(e){he("awsToken",e.target.value)},label:"Token",value:R})})]})})]}),"gemalto"===f&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"gemalto_endpoint",name:"gemalto_endpoint",onChange:function(e){he("gemaltoEndpoint",e.target.value),xe("gemalto_endpoint")},label:"Endpoint",value:h,error:pe.gemalto_endpoint||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,style:{marginBottom:15},children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"Credentials"}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"gemalto_token",name:"gemalto_token",onChange:function(e){he("gemaltoToken",e.target.value),xe("gemalto_token")},label:"Token",value:x,error:pe.gemalto_token||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"gemalto_domain",name:"gemalto_domain",onChange:function(e){he("gemaltoDomain",e.target.value),xe("gemalto_domain")},label:"Domain",value:v,error:pe.gemalto_domain||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{type:"number",min:"0",id:"gemalto_retry",name:"gemalto_retry",onChange:function(e){he("gemaltoRetry",e.target.value),xe("gemalto_retry")},label:"Retry (seconds)",value:y,error:pe.gemalto_retry||""})})]})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,style:{marginBottom:15},children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"Custom CA Root certificate verification"}),(0,T.jsx)(G.Z,{onChange:function(e,t){m(t,e),xe("gemalto_ca")},accept:".cer,.crt,.cert,.pem",id:"gemalto_ca",name:"gemalto_ca",label:"CA",value:le.cert})]})})]}),(0,T.jsx)("div",{className:t.headerElement,children:(0,T.jsx)("h4",{className:t.h3Section,children:"Additional Configurations"})}),(0,T.jsxs)(d.ZP,{item:!0,xs:12,children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,classes:t.formFieldRow,children:(0,T.jsx)(I.Z,{type:"number",min:"1",id:"replicas",name:"replicas",onChange:function(e){he("replicas",e.target.value),xe("replicas")},label:"Replicas",value:ue,required:!0,error:pe.replicas||""})}),(0,T.jsxs)("fieldset",{className:t.fieldGroup,style:{marginTop:15},children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"SecurityContext for KES pods"}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.kesSecurityContext,children:(0,T.jsxs)("div",{className:"".concat(t.multiContainer," ").concat(t.responsiveContainer),children:[(0,T.jsx)("div",{className:"".concat(t.formFieldRow," ").concat(t.rightSpacer),children:(0,T.jsx)(I.Z,{type:"number",id:"kes_securityContext_runAsUser",name:"kes_securityContext_runAsUser",onChange:function(e){he("kesSecurityContext",(0,s.Z)((0,s.Z)({},ce),{},{runAsUser:e.target.value})),xe("kes_securityContext_runAsUser")},label:"Run As User",value:ce.runAsUser,required:!0,error:pe.kes_securityContext_runAsUser||"",min:"0"})}),(0,T.jsx)("div",{className:"".concat(t.formFieldRow," ").concat(t.rightSpacer),children:(0,T.jsx)(I.Z,{type:"number",id:"kes_securityContext_runAsGroup",name:"kes_securityContext_runAsGroup",onChange:function(e){he("kesSecurityContext",(0,s.Z)((0,s.Z)({},ce),{},{runAsGroup:e.target.value})),xe("kes_securityContext_runAsGroup")},label:"Run As Group",value:ce.runAsGroup,required:!0,error:pe.kes_securityContext_runAsGroup||"",min:"0"})}),(0,T.jsx)("div",{className:"".concat(t.formFieldRow," ").concat(t.rightSpacer),children:(0,T.jsx)(I.Z,{type:"number",id:"kes_securityContext_fsGroup",name:"kes_securityContext_fsGroup",onChange:function(e){he("kesSecurityContext",(0,s.Z)((0,s.Z)({},ce),{},{fsGroup:e.target.value})),xe("kes_securityContext_fsGroup")},label:"FsGroup",value:ce.fsGroup,required:!0,error:pe.kes_securityContext_fsGroup||"",min:"0"})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:t.multiContainer,children:(0,T.jsx)(N.Z,{value:"kesSecurityContextRunAsNonRoot",id:"kes_securityContext_runAsNonRoot",name:"kes_securityContext_runAsNonRoot",checked:ce.runAsNonRoot,onChange:function(e){var t=e.target.checked;he("kesSecurityContext",(0,s.Z)((0,s.Z)({},ce),{},{runAsNonRoot:t}))},label:"Do not run as Root"})})})]})]})]})]})}))),H=(0,u.$j)((function(e){var t=e.tenants.createTenant;return{podAffinity:t.fields.affinity.podAffinity,nodeSelectorLabels:t.fields.affinity.nodeSelectorLabels,withPodAntiAffinity:t.fields.affinity.withPodAntiAffinity,keyValuePairs:t.nodeSelectorPairs}}),{setModalErrorSnackMessage:y.zb,updateAddField:j.HM,isPageValid:j.NO,setKeyValuePairs:j.i$}),Y=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)({overlayAction:{marginLeft:10,"& 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"},fieldContainer:{marginBottom:0},affinityRow:{marginBottom:10,display:"flex"}},f.oO),f.AK))}))(H((function(e){var t=e.classes,n=e.podAffinity,a=e.nodeSelectorLabels,r=e.withPodAntiAffinity,s=e.setModalErrorSnackMessage,l=e.updateAddField,c=e.keyValuePairs,u=e.setKeyValuePairs,m=e.isPageValid,p=(0,o.useState)({}),g=(0,i.Z)(p,2),f=g[0],x=g[1],v=(0,o.useState)(!0),y=(0,i.Z)(v,2),C=y[0],S=y[1],j=(0,o.useState)({}),_=(0,i.Z)(j,2),k=_[0],R=_[1],z=(0,o.useState)([]),F=(0,i.Z)(z,2),D=F[0],E=F[1],K=(0,o.useCallback)((function(e,t){l("affinity",e,t)}),[l]);return(0,o.useEffect)((function(){C&&h.Z.invoke("GET","/api/v1/nodes/labels").then((function(e){S(!1),R(e);var t=[];for(var n in e)t.push({label:n,value:n});E(t)})).catch((function(e){S(!1),s(e),R({})}))}),[s,C]),(0,o.useEffect)((function(){if(c){var e=c.filter((function(e){return""!==e.key})).map((function(e){return"".concat(e.key,"=").concat(e.value)})).filter((function(e,t,n){return n.indexOf(e)===t})).join("&");K("nodeSelectorLabels",e)}}),[c,K]),(0,o.useEffect)((function(){var e=[];if("nodeSelector"===n){var t=!0,r=a.split("&");1===r.length&&""===r[0]&&(t=!1),r.forEach((function(e,n){var a=e.split("=");2!==a.length&&(t=!1),n+1!==r.length&&(""!==a[0]&&""!==a[1]||(t=!1))})),e=[].concat((0,Z.Z)(e),[{fieldKey:"labels",required:!0,value:a,customValidation:!t,customValidationMessage:"You need to add at least one label key-pair"}])}var i=(0,P.R)(e);m("affinity",0===Object.keys(i).length),x(i)}),[m,n,a]),(0,T.jsxs)(b.Z,{className:t.paperWrapper,children:[(0,T.jsxs)("div",{className:t.headerElement,children:[(0,T.jsx)("h3",{className:t.h3Section,children:"Pod Placement"}),(0,T.jsx)("span",{className:t.descriptionText,children:"Configure how pods will be assigned to nodes"})]}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.affinityConfigField,children:(0,T.jsxs)(d.ZP,{item:!0,className:t.affinityFieldLabel,children:[(0,T.jsx)("div",{className:t.label,children:"Type"}),(0,T.jsx)("div",{className:"".concat(t.descriptionText," ").concat(t.affinityHelpText),children:"MinIO supports multiple configurations for Pod Affinity"}),(0,T.jsx)(d.ZP,{item:!0,className:t.radioField,children:(0,T.jsx)(U.Z,{currentSelection:n,id:"affinity-options",name:"affinity-options",label:" ",onChange:function(e){K("podAffinity",e.target.value)},selectorOptions:[{label:"None",value:"none"},{label:"Default (Pod Anti-Affinnity)",value:"default"},{label:"Node Selector",value:"nodeSelector"}]})})]})}),"nodeSelector"===n&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)("br",{}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)(N.Z,{value:"with_pod_anti_affinity",id:"with_pod_anti_affinity",name:"with_pod_anti_affinity",checked:r,onChange:function(e){var t=e.target.checked;K("withPodAntiAffinity",t)},label:"With Pod Anti-Affinity"})}),(0,T.jsxs)(d.ZP,{item:!0,xs:12,children:[(0,T.jsx)("h3",{children:"Labels"}),(0,T.jsx)("span",{className:t.error,children:f.labels}),(0,T.jsx)(d.ZP,{container:!0,children:c&&c.map((function(e,n){return(0,T.jsxs)(d.ZP,{item:!0,xs:12,className:t.affinityRow,children:[(0,T.jsxs)(d.ZP,{item:!0,xs:5,className:t.affinityLabelKey,children:[D.length>0&&(0,T.jsx)(A.Z,{onChange:function(e){var t=e.target.value,a=Object.assign([],c);a[n].key=e.target.value,a[n].value=k[t][0],u(a)},id:"select-access-policy",name:"select-access-policy",label:"",value:e.key,options:D}),0===D.length&&(0,T.jsx)(I.Z,{id:"nodeselector-key-".concat(n.toString()),label:"",name:"nodeselector-".concat(n.toString()),value:e.key,onChange:function(e){var t=Object.assign([],c);t[n].key=e.target.value,u(t)},index:n,placeholder:"Key"})]}),(0,T.jsxs)(d.ZP,{item:!0,xs:5,className:t.affinityLabelValue,children:[D.length>0&&(0,T.jsx)(A.Z,{onChange:function(e){var t=Object.assign([],c);t[n].value=e.target.value,u(t)},id:"select-access-policy",name:"select-access-policy",label:"",value:e.value,options:k[e.key]?k[e.key].map((function(e){return{label:e,value:e}})):[]}),0===D.length&&(0,T.jsx)(I.Z,{id:"nodeselector-value-".concat(n.toString()),label:"",name:"nodeselector-".concat(n.toString()),value:e.value,onChange:function(e){var t=Object.assign([],c);t[n].value=e.target.value,u(t)},index:n,placeholder:"value"})]}),(0,T.jsxs)(d.ZP,{item:!0,xs:2,className:t.rowActions,children:[(0,T.jsx)("div",{className:t.overlayAction,children:(0,T.jsx)(w.Z,{size:"small",onClick:function(){var e=Object.assign([],c);D.length>0?e.push({key:D[0].value,value:k[D[0].value][0]}):e.push({key:"",value:""}),u(e)},children:(0,T.jsx)(V.Z,{})})}),c.length>1&&(0,T.jsx)("div",{className:t.overlayAction,children:(0,T.jsx)(w.Z,{size:"small",onClick:function(){var e=c.filter((function(e,t){return t!==n}));u(e)},children:(0,T.jsx)(L.Z,{})})})]})]},"affinity-keyVal-".concat(n.toString()))}))})]})]})]})}))),Q=n(35721),X=n(24442),J=(0,u.$j)((function(e){return{storageClasses:e.tenants.createTenant.storageClasses,customImage:e.tenants.createTenant.fields.configure.customImage,imageName:e.tenants.createTenant.fields.configure.imageName,customDockerhub:e.tenants.createTenant.fields.configure.customDockerhub,imageRegistry:e.tenants.createTenant.fields.configure.imageRegistry,imageRegistryUsername:e.tenants.createTenant.fields.configure.imageRegistryUsername,imageRegistryPassword:e.tenants.createTenant.fields.configure.imageRegistryPassword,exposeMinIO:e.tenants.createTenant.fields.configure.exposeMinIO,exposeConsole:e.tenants.createTenant.fields.configure.exposeConsole,prometheusCustom:e.tenants.createTenant.fields.configure.prometheusCustom,tenantCustom:e.tenants.createTenant.fields.configure.tenantCustom,logSearchCustom:e.tenants.createTenant.fields.configure.logSearchCustom,logSearchVolumeSize:e.tenants.createTenant.fields.configure.logSearchVolumeSize,logSearchSizeFactor:e.tenants.createTenant.fields.configure.logSearchSizeFactor,prometheusVolumeSize:e.tenants.createTenant.fields.configure.prometheusVolumeSize,prometheusSizeFactor:e.tenants.createTenant.fields.configure.prometheusSizeFactor,logSearchSelectedStorageClass:e.tenants.createTenant.fields.configure.logSearchSelectedStorageClass,logSearchImage:e.tenants.createTenant.fields.configure.logSearchImage,kesImage:e.tenants.createTenant.fields.configure.kesImage,logSearchPostgresImage:e.tenants.createTenant.fields.configure.logSearchPostgresImage,logSearchPostgresInitImage:e.tenants.createTenant.fields.configure.logSearchPostgresInitImage,prometheusSelectedStorageClass:e.tenants.createTenant.fields.configure.prometheusSelectedStorageClass,prometheusImage:e.tenants.createTenant.fields.configure.prometheusImage,prometheusSidecarImage:e.tenants.createTenant.fields.configure.prometheusSidecarImage,prometheusInitImage:e.tenants.createTenant.fields.configure.prometheusInitImage,selectedStorageClass:e.tenants.createTenant.fields.nameTenant.selectedStorageClass}}),{updateAddField:j.HM,isPageValid:j.NO}),ee=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)((0,s.Z)({},f.DF),f.oO),f.AK))}))(J((function(e){var t=e.classes,n=(e.storageClasses,e.customImage),a=e.imageName,r=e.customDockerhub,s=e.imageRegistry,l=e.imageRegistryUsername,c=e.imageRegistryPassword,u=(e.exposeMinIO,e.exposeConsole,e.prometheusCustom),m=e.tenantCustom,p=e.logSearchCustom,g=e.logSearchVolumeSize,f=(e.logSearchSizeFactor,e.logSearchImage),h=e.kesImage,x=e.logSearchPostgresImage,v=e.logSearchPostgresInitImage,y=e.prometheusVolumeSize,C=(e.prometheusSizeFactor,e.logSearchSelectedStorageClass),S=e.prometheusSelectedStorageClass,j=e.prometheusImage,A=e.prometheusSidecarImage,k=e.prometheusInitImage,R=e.updateAddField,z=e.isPageValid,w=(e.selectedStorageClass,(0,o.useState)({})),F=(0,i.Z)(w,2),D=F[0],E=F[1],U=(0,o.useCallback)((function(e,t){R("configure",e,t)}),[R]);(0,o.useEffect)((function(){var e=[];u&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"prometheus_storage_class",required:!0,value:S,customValidation:""===S,customValidationMessage:"Field cannot be empty"},{fieldKey:"prometheus_volume_size",required:!0,value:y,customValidation:""===y||parseInt(y)<=0,customValidationMessage:"Volume size must be present and be greatter than 0"}])),p&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"log_search_storage_class",required:!0,value:C,customValidation:""===C,customValidationMessage:"Field cannot be empty"},{fieldKey:"log_search_volume_size",required:!0,value:g,customValidation:""===g||parseInt(g)<=0,customValidationMessage:"Volume size must be present and be greatter than 0"}])),n&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"image",required:!1,value:a,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/minio:VERSION'"},{fieldKey:"logSearchImage",required:!1,value:f,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/logsearchapi:VERSION'"},{fieldKey:"kesImage",required:!1,value:h,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/kes:VERSION'"},{fieldKey:"logSearchPostgresImage",required:!1,value:x,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'library/postgres:VERSION'"},{fieldKey:"logSearchPostgresInitImage",required:!1,value:v,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'library/busybox:VERSION'"},{fieldKey:"prometheusImage",required:!1,value:j,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/prometheus:VERSION'"},{fieldKey:"prometheusSidecarImage",required:!1,value:A,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'project/container:VERSION'"},{fieldKey:"prometheusInitImage",required:!1,value:k,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'library/busybox:VERSION'"}]),r&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"registry",required:!0,value:s},{fieldKey:"registryUsername",required:!0,value:l},{fieldKey:"registryPassword",required:!0,value:c}])));var t=(0,P.R)(e);z("configure",0===Object.keys(t).length),E(t)}),[n,a,f,h,x,v,j,A,k,r,s,l,c,z,u,m,p,S,y,C,g]);var K=function(e){E((0,_.h)(D,e))};return(0,T.jsxs)(b.Z,{className:t.paperWrapper,children:[(0,T.jsxs)("div",{className:t.headerElement,children:[(0,T.jsx)("h3",{className:t.h3Section,children:"Container Images"}),(0,T.jsx)("span",{className:t.descriptionText,children:"Images used by the Tenant Deployment"})]}),(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"image",name:"image",onChange:function(e){U("imageName",e.target.value),K("image")},label:"MinIO's Image",value:a,error:D.image||"",placeholder:"E.g. minio/minio:RELEASE.2022-01-08T03-11-54Z"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"logSearchImage",name:"logSearchImage",onChange:function(e){U("logSearchImage",e.target.value),K("logSearchImage")},label:"Log Search API's Image",value:f,error:D.logSearchImage||"",placeholder:"E.g. minio/logsearchapi:v4.1.1"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"kesImage",name:"kesImage",onChange:function(e){U("kesImage",e.target.value),K("kesImage")},label:"KES Image",value:h,error:D.kesImage||"",placeholder:"E.g. minio/kes:v0.14.0"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"logSearchPostgresImage",name:"logSearchPostgresImage",onChange:function(e){U("logSearchPostgresImage",e.target.value),K("logSearchPostgresImage")},label:"Log Search Postgres's Image",value:x,error:D.logSearchPostgresImage||"",placeholder:"E.g. library/postgres:13"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"logSearchPostgresInitImage",name:"logSearchPostgresInitImage",onChange:function(e){U("logSearchPostgresInitImage",e.target.value),K("logSearchPostgresInitImage")},label:"Log Search Postgres's Init Image",value:v,error:D.logSearchPostgresInitImage||"",placeholder:"E.g. library/busybox:1.33.1"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"prometheusImage",name:"prometheusImage",onChange:function(e){U("prometheusImage",e.target.value),K("prometheusImage")},label:"Prometheus Image",value:j,error:D.prometheusImage||"",placeholder:"E.g. quay.io/prometheus/prometheus:latest"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"prometheusSidecarImage",name:"prometheusSidecarImage",onChange:function(e){U("prometheusSidecarImage",e.target.value),K("prometheusSidecarImage")},label:"Prometheus Sidecar Image",value:A,error:D.prometheusSidecarImage||"",placeholder:"E.g. quay.io/prometheus/prometheus:latest"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"prometheusInitImage",name:"prometheusInitImage",onChange:function(e){U("prometheusInitImage",e.target.value),K("prometheusInitImage")},label:"Prometheus Init Image",value:k,error:D.prometheusInitImage||"",placeholder:"E.g. quay.io/prometheus/prometheus:latest"})})]}),n&&(0,T.jsx)(o.Fragment,{children:(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(N.Z,{value:"custom_docker_hub",id:"custom_docker_hub",name:"custom_docker_hub",checked:r,onChange:function(e){var t=e.target.checked;U("customDockerhub",t)},label:"Set/Update Image Registry"})})}),r&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"registry",name:"registry",onChange:function(e){U("imageRegistry",e.target.value)},label:"Endpoint",value:s,error:D.registry||"",placeholder:"E.g. https://index.docker.io/v1/",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"registryUsername",name:"registryUsername",onChange:function(e){U("imageRegistryUsername",e.target.value)},label:"Username",value:l,error:D.registryUsername||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"registryPassword",name:"registryPassword",onChange:function(e){U("imageRegistryPassword",e.target.value)},label:"Password",value:c,error:D.registryPassword||"",required:!0})})]})]})}))),te=n(25534),ne=n(29316),ae=n(3143),re=n.n(ae),ie=n(32120),se=n(23473),oe=n(60656),le=n(11387),ce={setErrorSnackMessage:y.Ih},ue=(0,u.$j)(null,ce),de=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)({wrapText:{maxWidth:"200px",whiteSpace:"normal",wordWrap:"break-word"}},f.oO),f.Qw))}))(ue((function(e){var t=e.classes,n=e.namespace,a=e.addNamespaceOpen,r=e.closeAddNamespaceModalAndRefresh,s=e.setErrorSnackMessage,l=(0,o.useState)(!1),c=(0,i.Z)(l,2),u=c[0],d=c[1];(0,o.useEffect)((function(){u&&h.Z.invoke("POST","/api/v1/namespace",{name:n}).then((function(e){d(!1),r(!0)})).catch((function(e){d(!1),s(e)}))}),[u,r,n,s]);return(0,T.jsx)(oe.Z,{title:"New namespace",confirmText:"Create",confirmButtonProps:{color:"primary",variant:"contained"},isOpen:a,titleIcon:(0,T.jsx)(le.Ej,{}),isLoading:u,onConfirm:function(){d(!0)},onClose:function(){r(!1)},confirmationContent:(0,T.jsxs)(o.Fragment,{children:[u&&(0,T.jsx)(m.Z,{}),(0,T.jsxs)(se.Z,{children:["Are you sure you want to add a namespace called",(0,T.jsx)("br",{}),(0,T.jsx)("b",{className:t.wrapText,children:n}),"?"]})]})})}))),me=n(4182),pe=n(35044),ge=n(73481),fe=n(29399),he=n(95995),xe=(0,u.$j)((function(e){return{volumeSize:e.tenants.createTenant.fields.tenantSize.volumeSize,sizeFactor:e.tenants.createTenant.fields.tenantSize.sizeFactor,drivesPerServer:e.tenants.createTenant.fields.tenantSize.drivesPerServer,nodes:e.tenants.createTenant.fields.tenantSize.nodes,memoryNode:e.tenants.createTenant.fields.tenantSize.memoryNode,ecParity:e.tenants.createTenant.fields.tenantSize.ecParity,ecParityChoices:e.tenants.createTenant.fields.tenantSize.ecParityChoices,cleanECChoices:e.tenants.createTenant.fields.tenantSize.cleanECChoices,resourcesSize:e.tenants.createTenant.fields.tenantSize.resourcesSize,distribution:e.tenants.createTenant.fields.tenantSize.distribution,ecParityCalc:e.tenants.createTenant.fields.tenantSize.ecParityCalc,limitSize:e.tenants.createTenant.fields.tenantSize.limitSize,selectedStorageClass:e.tenants.createTenant.fields.nameTenant.selectedStorageClass,cpuToUse:e.tenants.createTenant.fields.tenantSize.cpuToUse,integrationSelection:e.tenants.createTenant.fields.tenantSize.integrationSelection}}),{updateAddField:j.HM,isPageValid:j.NO}),ve=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)({root:{margin:4},table:{"& .MuiTableCell-root":{fontSize:13}}},f.oO),f.AK))}))(xe((function(e){var t=e.classes,n=(e.updateAddField,e.isPageValid,e.volumeSize,e.sizeFactor,e.drivesPerServer,e.nodes),a=e.memoryNode,r=e.ecParity,i=(e.ecParityChoices,e.cleanECChoices,e.resourcesSize,e.distribution),s=e.ecParityCalc,l=(e.limitSize,e.selectedStorageClass,e.cpuToUse),c=e.integrationSelection,u=s.storageFactors.find((function(e){return e.erasureCode===r}));return(0,T.jsxs)("div",{className:t.root,children:[(0,T.jsx)("h4",{children:"Resource Allocation"}),(0,T.jsx)(he.Z,{}),(0,T.jsx)(me.Z,{className:t.table,"aria-label":"simple table",size:"small",children:(0,T.jsxs)(pe.Z,{children:[(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{scope:"row",children:"Number of Servers"}),(0,T.jsx)(ge.Z,{align:"right",children:parseInt(n)>0?n:"-"})]}),""===c.typeSelection&&""===c.storageClass&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{scope:"row",children:"Drives per Server"}),(0,T.jsx)(ge.Z,{align:"right",children:i?i.disks:"-"})]}),(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{scope:"row",children:"Drive Capacity"}),(0,T.jsx)(ge.Z,{align:"right",children:i?(0,x.ae)(i.pvSize):"-"})]})]}),(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{scope:"row",children:"Total Volumes"}),(0,T.jsx)(ge.Z,{align:"right",children:i?i.persistentVolumes:"-"})]}),""===c.typeSelection&&""===c.storageClass&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{scope:"row",children:"Memory per Node"}),(0,T.jsxs)(ge.Z,{align:"right",children:[a," Gi"]})]}),(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{style:{borderBottom:0},scope:"row",children:"CPU Selection"}),(0,T.jsx)(ge.Z,{style:{borderBottom:0},align:"right",children:l})]})]})]})}),0===s.error&&u&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)("h4",{children:"Erasure Code Configuration"}),(0,T.jsx)(he.Z,{}),(0,T.jsx)(me.Z,{className:t.table,"aria-label":"simple table",size:"small",children:(0,T.jsxs)(pe.Z,{children:[(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{scope:"row",children:"EC Parity"}),(0,T.jsx)(ge.Z,{align:"right",children:""!==r?r:"-"})]}),(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{scope:"row",children:"Raw Capacity"}),(0,T.jsx)(ge.Z,{align:"right",children:(0,x.ae)(s.rawCapacity)})]}),(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{scope:"row",children:"Usable Capacity"}),(0,T.jsx)(ge.Z,{align:"right",children:(0,x.ae)(u.maxCapacity)})]}),(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{style:{borderBottom:0},scope:"row",children:"Server Failures Tolerated"}),(0,T.jsx)(ge.Z,{style:{borderBottom:0},align:"right",children:i?Math.floor(u.maxFailureTolerations/i.disks):"-"})]})]})})]}),""!==c.typeSelection&&""!==c.storageClass&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)("h4",{children:"Single Instance Configuration"}),(0,T.jsx)(he.Z,{}),(0,T.jsx)(me.Z,{className:t.table,"aria-label":"simple table",size:"small",children:(0,T.jsxs)(pe.Z,{children:[(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{scope:"row",children:"CPU"}),(0,T.jsx)(ge.Z,{align:"right",children:0!==c.CPU?c.CPU:"-"})]}),(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{scope:"row",children:"Memory"}),(0,T.jsx)(ge.Z,{align:"right",children:0!==c.memory?"".concat(c.memory," Gi"):"-"})]}),(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{scope:"row",children:"Drives per Server"}),(0,T.jsx)(ge.Z,{align:"right",children:0!==c.drivesPerServer?"".concat(c.drivesPerServer):"-"})]}),(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{style:{borderBottom:0},scope:"row",children:"Drive Size"}),(0,T.jsxs)(ge.Z,{style:{borderBottom:0},align:"right",children:[c.driveSize.driveSize,c.driveSize.sizeUnit]})]})]})})]})]})}))),ye=n(7262),Ce=(0,u.$j)((function(e){return{nodes:e.tenants.createTenant.fields.tenantSize.nodes,resourcesSize:e.tenants.createTenant.fields.tenantSize.resourcesSize,selectedStorageClass:e.tenants.createTenant.fields.nameTenant.selectedStorageClass,maxAllocatableResources:e.tenants.createTenant.fields.tenantSize.maxAllocatableResources,maxCPUsUse:e.tenants.createTenant.fields.tenantSize.maxCPUsUse,maxMemorySize:e.tenants.createTenant.fields.tenantSize.maxMemorySize,resourcesSpecifyLimit:e.tenants.createTenant.fields.tenantSize.resourcesSpecifyLimit,resourcesCPURequestError:e.tenants.createTenant.fields.tenantSize.resourcesCPURequestError,resourcesCPURequest:e.tenants.createTenant.fields.tenantSize.resourcesCPURequest,resourcesCPULimitError:e.tenants.createTenant.fields.tenantSize.resourcesCPULimitError,resourcesCPULimit:e.tenants.createTenant.fields.tenantSize.resourcesCPULimit,resourcesMemoryRequestError:e.tenants.createTenant.fields.tenantSize.resourcesMemoryRequestError,resourcesMemoryRequest:e.tenants.createTenant.fields.tenantSize.resourcesMemoryRequest,resourcesMemoryLimitError:e.tenants.createTenant.fields.tenantSize.resourcesMemoryLimitError,resourcesMemoryLimit:e.tenants.createTenant.fields.tenantSize.resourcesMemoryLimit}}),{updateAddField:j.HM,isPageValid:j.NO}),Se=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)((0,s.Z)({compositeFieldContainer:{display:"flex",alignItems:"center"},compositeAddOn:{marginLeft:10,"& div":{marginBottom:0},"@media (max-width: 900px)":{"& div":{marginTop:5}}}},f.DF),f.oO),f.AK))}))(Ce((function(e){var t=e.classes,n=e.updateAddField,a=e.isPageValid,r=e.nodes,i=e.resourcesSize,s=e.selectedStorageClass,l=(e.maxAllocatableResources,e.maxCPUsUse),u=e.maxMemorySize,m=e.resourcesSpecifyLimit,p=e.resourcesCPURequestError,g=e.resourcesCPURequest,f=e.resourcesCPULimitError,x=e.resourcesCPULimit,v=e.resourcesMemoryRequestError,y=e.resourcesMemoryRequest,C=e.resourcesMemoryLimitError,S=e.resourcesMemoryLimit,j=(0,o.useCallback)((function(e,t){n("tenantSize",e,t)}),[n]);return(0,o.useEffect)((function(){a("tenantSize",""===v&&""===C&&""===p&&""===f)}),[a,v,C,p,f]),(0,o.useEffect)((function(){h.Z.invoke("GET","api/v1/cluster/allocatable-resources?num_nodes=".concat(r)).then((function(e){j("maxAllocatableResources",e);var t=e,n=c()(t,"min_allocatable_mem",!1),a=c()(t,"min_allocatable_cpu",!1);if(!1===n||!1===a)return j("cpuToUse",0),j("maxMemorySize",""),void j("maxCPUsUse","");var r=(0,ye.floor)(e.mem_priority.max_allocatable_mem/1024/1024/1024);j("maxMemorySize",r.toString()),j("maxCPUsUse",e.cpu_priority.max_allocatable_cpu.toString());var i=c()(t,"cpu_priority.max_allocatable_cpu",0),s=Math.max(1,(0,ye.floor)(i/2));j("resourcesCPURequest",s);var o=Math.max(2,(0,ye.floor)(r/2));j("resourcesMemoryRequest",o)})).catch((function(e){j("maxMemorySize",0),j("resourcesCPURequest",""),console.error(e)}))}),[r,j]),(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsxs)("div",{className:t.headerElement,children:[(0,T.jsx)("h3",{className:t.h3Section,children:"Resources"}),(0,T.jsx)("span",{className:t.descriptionText,children:"You may specify the amount of CPU and Memory that MinIO servers should reserve on each node."})]})}),""!==i.error&&(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:t.error,children:i.error})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{label:"CPU Request",id:"resourcesCPURequest",name:"resourcesCPURequest",onChange:function(e){var t=parseInt(e.target.value);""===e.target.value?j("resourcesCPURequestError",""):isNaN(t)?j("resourcesCPURequestError","Invalid number"):t>parseInt(l)?j("resourcesCPURequestError","Request exceeds available cores (".concat(l,")")):e.target.validity.valid?j("resourcesCPURequestError",""):j("resourcesCPURequestError","Invalid configuration"),j("resourcesCPURequest",e.target.value)},value:g,disabled:""===s,max:l,error:p,pattern:"[0-9]*"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"resourcesMemoryRequest",name:"resourcesMemoryRequest",onChange:function(e){var t=parseInt(e.target.value);""===e.target.value?j("resourcesMemoryRequestError",""):isNaN(t)?j("resourcesMemoryRequestError","Invalid number"):t>parseInt(u)?j("resourcesMemoryRequestError","Request exceeds available memory across ".concat(r," nodes (").concat(u,"Gi)")):t<2?j("resourcesMemoryRequestError","At least 2Gi must be requested"):e.target.validity.valid?j("resourcesMemoryRequestError",""):j("resourcesMemoryRequestError","Invalid configuration"),j("resourcesMemoryRequest",e.target.value)},label:"Memory Request [Gi]",value:y,disabled:""===s,error:v,pattern:"[0-9]*"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)(N.Z,{value:"resourcesSpecifyLimit",id:"resourcesSpecifyLimit",name:"resourcesSpecifyLimit",checked:m,onChange:function(e){var t=e.target.checked;j("resourcesSpecifyLimit",t)},label:"Specify Limit"})}),m&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{label:"CPU Limit",id:"resourcesCPULimit",name:"resourcesCPULimit",onChange:function(e){var t=parseInt(e.target.value);""===e.target.value?j("resourcesCPULimitError",""):isNaN(t)?j("resourcesCPULimitError","Invalid number"):e.target.validity.valid?j("resourcesCPULimitError",""):j("resourcesCPULimitError","Invalid configuration"),j("resourcesCPULimit",e.target.value)},value:x,disabled:""===s,max:l,error:f,pattern:"[0-9]*"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"resourcesMemoryLimit",name:"resourcesMemoryLimit",onChange:function(e){var t=parseInt(e.target.value);console.log("value",t),""===e.target.value?j("resourcesMemoryLimitError",""):isNaN(t)?j("resourcesMemoryLimitError","Invalid number"):e.target.validity.valid?j("resourcesMemoryLimitError",""):j("resourcesMemoryLimitError","Invalid configuration"),j("resourcesMemoryLimit",e.target.value)},label:"Memory Limit [Gi]",value:S,disabled:""===s,error:C,pattern:"[0-9]*"})})]})]})}))),je=(0,u.$j)((function(e){return{volumeSize:e.tenants.createTenant.fields.tenantSize.volumeSize,sizeFactor:e.tenants.createTenant.fields.tenantSize.sizeFactor,drivesPerServer:e.tenants.createTenant.fields.tenantSize.drivesPerServer,nodes:e.tenants.createTenant.fields.tenantSize.nodes,memoryNode:e.tenants.createTenant.fields.tenantSize.memoryNode,ecParity:e.tenants.createTenant.fields.tenantSize.ecParity,ecParityChoices:e.tenants.createTenant.fields.tenantSize.ecParityChoices,cleanECChoices:e.tenants.createTenant.fields.tenantSize.cleanECChoices,resourcesSize:e.tenants.createTenant.fields.tenantSize.resourcesSize,distribution:e.tenants.createTenant.fields.tenantSize.distribution,ecParityCalc:e.tenants.createTenant.fields.tenantSize.ecParityCalc,limitSize:e.tenants.createTenant.limitSize,selectedStorageClass:e.tenants.createTenant.fields.nameTenant.selectedStorageClass}}),{updateAddField:j.HM,isPageValid:j.NO}),Ze=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)((0,s.Z)({compositeFieldContainer:{display:"flex",alignItems:"center"},compositeAddOn:{marginLeft:10,"& div":{marginBottom:0},"@media (max-width: 900px)":{"& div":{marginTop:5}}}},f.DF),f.oO),f.AK))}))(je((function(e){var t=e.classes,n=e.updateAddField,a=e.isPageValid,r=e.volumeSize,s=e.sizeFactor,l=e.drivesPerServer,c=e.nodes,u=e.memoryNode,m=e.ecParity,p=e.ecParityChoices,g=e.cleanECChoices,f=e.resourcesSize,v=e.distribution,y=e.ecParityCalc,C=e.limitSize,S=e.selectedStorageClass,j=(0,o.useState)({}),Z=(0,i.Z)(j,2),b=Z[0],N=Z[1],k=(0,o.useState)(!1),R=(0,i.Z)(k,2),z=R[0],w=R[1],F=(0,o.useState)(""),D=(0,i.Z)(F,2),E=D[0],U=D[1],K=(0,o.useCallback)((function(e,t){n("tenantSize",e,t)}),[n]),L=function(e){N((0,_.h)(b,e))};return(0,o.useEffect)((function(){if(p.length>0&&""===v.error){var e=(0,x.ES)(g,v.persistentVolumes,v.pvSize,v.nodes);K("ecParityCalc",e),g.includes(m)&&""!==m||K("ecParity",e.defaultEC)}}),[m,p.length,v,g,K]),(0,o.useEffect)((function(){var e=r,t=s,n=(0,x.Pw)("12","Ti",!0),a={unit:t,value:e.toString()},i=(0,x.zg)(a,parseInt(c),parseInt(n),parseInt(l));K("distribution",i),w(!1),U("")}),[c,r,s,K,l]),(0,o.useEffect)((function(){var e=(0,x.Pw)(r,s,!0),t=(0,P.R)([{fieldKey:"nodes",required:!0,value:c,customValidation:z,customValidationMessage:E},{fieldKey:"volume_size",required:!0,value:r,customValidation:parseInt(e)<1073741824||parseInt(e)>C[S],customValidationMessage:"Volume size must be greater than 1Gi and less than ".concat((0,x.ae)(C[S],!0))},{fieldKey:"drivesps",required:!0,value:l,customValidation:parseInt(l)<1,customValidationMessage:"There must be at least one drive"}]);a("tenantSize",!("nodes"in t)&&!("volume_size"in t)&&!("drivesps"in t)&&""===v.error&&0===y.error&&""!==m),N(t)}),[c,r,s,u,v,y,f,C,S,a,z,E,l,m]),(0,o.useEffect)((function(){""===v.error&&""!==c.trim()&&0!==v.disks&&h.Z.invoke("GET","api/v1/get-parity/".concat(c,"/").concat(v.disks)).then((function(e){K("ecParityChoices",(0,ie.dv)(e)),K("cleanECChoices",e)})).catch((function(e){K("ecparityChoices",[]),a("tenantSize",!1),K("ecParity","")}))}),[v,a,K,c]),(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsxs)("div",{className:t.headerElement,children:[(0,T.jsx)("h3",{className:t.h3Section,children:"Capacity"}),(0,T.jsx)("span",{className:t.descriptionText,children:"Please select the desired capacity"})]})}),""!==v.error&&(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:t.error,children:v.error})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"nodes",name:"nodes",onChange:function(e){e.target.validity.valid&&(K("nodes",e.target.value),L("nodes"))},label:"Number of Servers",disabled:""===S,value:c,min:"4",required:!0,error:b.nodes||"",pattern:"[0-9]*"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"drivesps",name:"drivesps",onChange:function(e){e.target.validity.valid&&(K("drivesPerServer",e.target.value),L("drivesps"))},label:"Drives per Server",value:l,disabled:""===S,min:"1",required:!0,error:b.drivesps||"",pattern:"[0-9]*"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:t.multiContainer,children:(0,T.jsx)("div",{className:t.formFieldRow,children:(0,T.jsxs)("div",{className:t.compositeFieldContainer,children:[(0,T.jsx)(I.Z,{type:"number",id:"volume_size",name:"volume_size",onChange:function(e){K("volumeSize",e.target.value),L("volume_size")},label:"Total Size",value:r,disabled:""===S,required:!0,error:b.volume_size||"",min:"0"}),(0,T.jsx)("div",{className:t.compositeAddOn,children:(0,T.jsx)(A.Z,{label:"",id:"size_factor",name:"size_factor",value:s,disabled:""===S,onChange:function(e){K("sizeFactor",e.target.value)},options:(0,x.QU)()})})]})})})}),(0,T.jsxs)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:[(0,T.jsx)(A.Z,{id:"ec_parity",name:"ec_parity",onChange:function(e){K("ecParity",e.target.value)},label:"Erasure Code Parity",disabled:""===S,value:m,options:p}),(0,T.jsx)("span",{className:t.descriptionText,children:"Please select the desired parity. This setting will change the max usable capacity in the cluster"})]}),(0,T.jsx)(Se,{})]})}))),be=n(36222),_e=(0,u.$j)((function(e){return function(){var t=e.tenants.createTenant,n=t.fields.tenantSize,a=n.memoryNode,r=n.ecParityChoices,i=n.distribution,s=n.cleanECChoices,o=n.sizeFactor,l=n.ecParity,c=n.cpuToUse,u=n.integrationSelection,d=n.resourcesSize,m=n.drivesPerServer,p=n.maxCPUsUse,g=n.ecParityCalc;return{volumeSize:n.volumeSize,sizeFactor:o,drivesPerServer:m,nodes:n.nodes,memoryNode:a,ecParity:l,ecParityChoices:r,cleanECChoices:s,resourcesSize:d,distribution:i,ecParityCalc:g,cpuToUse:c,maxCPUsUse:p,integrationSelection:u,limitSize:t.limitSize,selectedStorageType:t.fields.nameTenant.selectedStorageType}}}),{updateAddField:j.HM,isPageValid:j.NO}),Pe=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)((0,s.Z)({compositeFieldContainer:{display:"flex",alignItems:"center"},compositeAddOn:{marginLeft:10,"& div":{marginBottom:0},"@media (max-width: 900px)":{"& div":{marginTop:5}}}},f.DF),f.oO),f.AK))}))(_e((function(e){var t=e.classes,n=e.updateAddField,a=e.isPageValid,r=e.volumeSize,s=e.sizeFactor,l=e.drivesPerServer,u=e.nodes,m=e.memoryNode,p=e.ecParity,g=e.ecParityChoices,f=e.cleanECChoices,v=e.resourcesSize,y=e.distribution,C=e.ecParityCalc,S=e.limitSize,j=e.cpuToUse,Z=e.selectedStorageType,b=e.maxCPUsUse,N=e.formToRender,k=e.integrationSelection,R=(0,o.useState)({}),z=(0,i.Z)(R,2),w=z[0],F=z[1],D=(0,o.useCallback)((function(e,t){n("tenantSize",e,t)}),[n]),E=(0,o.useCallback)((function(e,t){n("nameTenant",e,t)}),[n]);return(0,o.useEffect)((function(){if(g.length>0&&""===y.error){var e=(0,x.ES)(f,y.persistentVolumes,y.pvSize,y.nodes);D("ecParityCalc",e),f.includes(p)&&""!==p||D("ecParity",e.defaultEC)}}),[p,g,y,f,D]),(0,o.useEffect)((function(){if(void 0!==N&&parseInt(u)>=4){var e=Ie[N];if(Object.keys(e).length>0){var t=c()(e,"configurations",[]).find((function(e){return e.typeSelection===Z}));if(t){D("integrationSelection",t),E("selectedStorageClass",t.storageClass);var n={pvSize:parseInt((0,x.Pw)(t.driveSize.driveSize,t.driveSize.sizeUnit,!0),10),nodes:parseInt(u),disks:t.drivesPerServer,persistentVolumes:t.drivesPerServer*parseInt(u),error:""};D("distribution",n),D("resourcesCPURequest",Math.max(1,t.CPU/2)),D("resourcesMemoryRequest",Math.max(2,t.memory/2))}}}}),[u,Z,N,D,E]),(0,o.useEffect)((function(){var e=(0,P.R)([{fieldKey:"nodes",required:!0,value:u,customValidation:parseInt(u)<4,customValidationMessage:"Al least 4 servers must be selected"}]);a("tenantSize",!("nodes"in e)&&""===y.error&&0===C.error&&""===v.error&&""!==p&&parseInt(u)>=4),F(e)}),[u,r,s,m,y,C,v,S,Z,j,b,a,l,p]),(0,o.useEffect)((function(){0!==k.drivesPerServer&&""!==u.trim()&&h.Z.invoke("GET","api/v1/get-parity/".concat(u,"/").concat(k.drivesPerServer)).then((function(e){D("ecParityChoices",(0,ie.dv)(e)),D("cleanECChoices",e)})).catch((function(e){D("ecparityChoices",[]),a("tenantSize",!1),D("ecParity","")}))}),[k,u,a,D]),(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsxs)("div",{className:t.headerElement,children:[(0,T.jsx)("h3",{className:t.h3Section,children:"Tenant Size"}),(0,T.jsx)("span",{className:t.descriptionText,children:"Please select the desired capacity"})]})}),""!==y.error&&(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:t.error,children:y.error})}),""!==v.error&&(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:t.error,children:v.error})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"nodes",name:"nodes",onChange:function(e){var t;e.target.validity.valid&&(D("nodes",e.target.value),t="nodes",F((0,_.h)(w,t)))},label:"Number of Servers",disabled:""===Z,value:u,min:"4",required:!0,error:w.nodes||"",pattern:"[0-9]*"})}),(0,T.jsxs)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:[(0,T.jsx)(A.Z,{id:"ec_parity",name:"ec_parity",onChange:function(e){D("ecParity",e.target.value)},label:"Erasure Code Parity",disabled:""===Z,value:p,options:g}),(0,T.jsx)("span",{className:t.descriptionText,children:"Please select the desired parity. This setting will change the max usable capacity in the cluster"})]})]})})));!function(e){e[e.aws=0]="aws",e[e.azure=1]="azure",e[e.gcp=2]="gcp",e[e.default=3]="default",e[e[void 0]=4]="undefined"}(r||(r={}));var Ne={"mp-mode-aws":r.aws,"mp-mode-azure":r.azure,"mp-mode-gcp":r.gcp},Ie=(a={},(0,be.Z)(a,r.aws,{variantSelectorLabel:"Storage Type",variantSelectorValues:[{label:"NVME",value:"nvme"},{label:"HDD",value:"hdd"}],configurations:[{typeSelection:"nvme",storageClass:"nvme-i3en-12xlarge",CPU:48,memory:384,driveSize:{driveSize:"7500",sizeUnit:"Gi"},drivesPerServer:4},{typeSelection:"hdd",storageClass:"hdd-d3en-12xlarge",CPU:8,memory:32,driveSize:{driveSize:"12.7",sizeUnit:"Ti"},drivesPerServer:4}],sizingComponent:(0,T.jsx)(Pe,{formToRender:r.aws})}),(0,be.Z)(a,r.azure,{variantSelectorLabel:"VM Size",variantSelectorValues:[{label:"Standard_L32s_v2",value:"Standard_L32s_v2"},{label:"Standard_L48s_v2",value:"Standard_L48s_v2"},{label:"Standard_L64s_v2",value:"Standard_L64s_v2"}],configurations:[{typeSelection:"Standard_L8s_v2",storageClass:"local-nvme",CPU:8,memory:64,driveSize:{driveSize:"1787",sizeUnit:"Gi"},drivesPerServer:1},{typeSelection:"Standard_L16s_v2",storageClass:"local-nvme",CPU:16,memory:128,driveSize:{driveSize:"1787",sizeUnit:"Gi"},drivesPerServer:2},{typeSelection:"Standard_L32s_v2",storageClass:"local-nvme",CPU:32,memory:256,driveSize:{driveSize:"1787",sizeUnit:"Gi"},drivesPerServer:4},{typeSelection:"Standard_L48s_v2",storageClass:"local-nvme",CPU:48,memory:384,driveSize:{driveSize:"1787",sizeUnit:"Gi"},drivesPerServer:6},{typeSelection:"Standard_L64s_v2",storageClass:"local-nvme",CPU:64,memory:512,driveSize:{driveSize:"1787",sizeUnit:"Gi"},drivesPerServer:8}],sizingComponent:(0,T.jsx)(Pe,{formToRender:r.azure})}),(0,be.Z)(a,r.gcp,{variantSelectorLabel:"Storage Type",variantSelectorValues:[{label:"SSD",value:"ssd"}],configurations:[{typeSelection:"ssd",storageClass:"local-ssd",CPU:32,memory:128,driveSize:{driveSize:"368",sizeUnit:"Gi"},drivesPerServer:24}],sizingComponent:(0,T.jsx)(Pe,{formToRender:r.gcp})}),(0,be.Z)(a,r.default,{}),(0,be.Z)(a,r.undefined,{}),a),Ae=(0,u.$j)((function(e){return{tenantName:e.tenants.createTenant.fields.nameTenant.tenantName,namespace:e.tenants.createTenant.fields.nameTenant.namespace,selectedStorageClass:e.tenants.createTenant.fields.nameTenant.selectedStorageClass,selectedStorageType:e.tenants.createTenant.fields.nameTenant.selectedStorageType,storageClasses:e.tenants.createTenant.storageClasses}}),{setModalErrorSnackMessage:y.zb,updateAddField:j.HM,setStorageClassesList:j.wZ,setLimitSize:j.DH,isPageValid:j.NO}),Te=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)((0,s.Z)({sizePreview:{position:"fixed",marginLeft:10,background:"#FFFFFF",border:"1px solid #EAEAEA",padding:2}},f.DF),f.oO),f.AK))}))(Ae((function(e){var t=e.classes,n=e.storageClasses,a=e.tenantName,s=e.namespace,l=e.selectedStorageClass,u=e.selectedStorageType,m=e.formToRender,p=void 0===m?r.default:m,g=e.updateAddField,f=e.setStorageClassesList,x=e.setLimitSize,v=e.isPageValid,y=e.setModalErrorSnackMessage,C=(0,o.useState)({}),S=(0,i.Z)(C,2),j=S[0],Z=S[1],N=(0,o.useState)(!0),k=(0,i.Z)(N,2),R=k[0],z=k[1],w=(0,o.useState)(!1),F=(0,i.Z)(w,2),D=F[0],E=F[1],U=(0,o.useState)(!1),K=(0,i.Z)(U,2),L=K[0],M=K[1],q=(0,o.useState)(!1),G=(0,i.Z)(q,2),O=G[0],B=G[1],$=(0,o.useCallback)((function(e,t){g("nameTenant",e,t)}),[g]),W=(0,o.useCallback)((function(){M(!1),h.Z.invoke("GET","/api/v1/namespaces/".concat(s,"/tenants")).then((function(e){var t=c()(e,"tenants",[]);if(t&&t.length>0)return z(!1),void E(!1);z(!0),h.Z.invoke("GET","/api/v1/namespaces/".concat(s,"/resourcequotas/").concat(s,"-storagequota")).then((function(e){var t=c()(e,"elements",[]);x((0,ie.OU)(e));var n=t.map((function(e){var t=c()(e,"name","").split(".storageclass.storage.k8s.io/requests.storage")[0];return{label:t,value:t}}));f(n);var a=n.findIndex((function(e){return e.value===l}));n.length>0&&-1===a?$("selectedStorageClass",n[0].value):0===n.length&&($("selectedStorageClass",""),f([])),E(!1)})).catch((function(e){E(!1),M(!0),$("selectedStorageClass",""),f([]),console.error("Namespace error: ",e)}))})).catch((function(e){y({errorMessage:"Error validating if namespace already has tenants",detailedError:e.detailedError})}))}),[s,x,y,f,$,l]),H=(0,o.useMemo)((function(){return re()(W,500)}),[W]);(0,o.useEffect)((function(){if(""!==s)return H(),E(!0),H.cancel}),[H,s]),(0,o.useEffect)((function(){var e=!1,t="";R||D?n.length<1&&R&&!D&&(e=!0,t="Please enter a valid namespace"):(e=!0,t="You can only create one tenant per namespace");var i=(0,P.R)([{fieldKey:"tenant-name",required:!0,pattern:/^[a-z0-9-]{3,63}$/,customPatternMessage:"Name only can contain lowercase letters, numbers and '-'. Min. Length: 3",value:a},{fieldKey:"namespace",required:!0,value:s,customValidation:e,customValidationMessage:t}]),o=!("tenant-name"in i)&&!("namespace"in i)&&(p===r.default&&n.length>0||p!==r.default&&""!==u);v("nameTenant",o),Z(i)}),[n,s,a,v,R,D,u,p]);var Y=function(e){Z((0,_.h)(j,e))};return(0,T.jsxs)(o.Fragment,{children:[O&&(0,T.jsx)(de,{addNamespaceOpen:O,closeAddNamespaceModalAndRefresh:function(e){B(!1),e&&H()},namespace:s}),(0,T.jsxs)(d.ZP,{container:!0,children:[(0,T.jsx)(d.ZP,{item:!0,xs:8,md:9,children:(0,T.jsx)(b.Z,{className:t.paperWrapper,sx:{minHeight:550},children:(0,T.jsxs)(d.ZP,{container:!0,children:[(0,T.jsxs)(d.ZP,{item:!0,xs:12,children:[(0,T.jsxs)("div",{className:t.headerElement,children:[(0,T.jsx)("h3",{className:t.h3Section,children:"Name"}),(0,T.jsx)("span",{className:t.descriptionText,children:"How would you like to name this new tenant?"})]}),(0,T.jsx)("div",{className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"tenant-name",name:"tenant-name",onChange:function(e){$("tenantName",e.target.value),Y("tenant-name")},label:"Name",value:a,required:!0,error:j["tenant-name"]||""})})]}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"namespace",name:"namespace",onChange:function(e){$("namespace",e.target.value),Y("namespace")},label:"Namespace",value:s,error:j.namespace||"",overlayIcon:L?(0,T.jsx)(V.Z,{}):null,overlayAction:function(){B(!0)},required:!0})}),p===r.default?(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(A.Z,{id:"storage_class",name:"storage_class",onChange:function(e){$("selectedStorageClass",e.target.value)},label:"Storage Class",value:l,options:n,disabled:n.length<1})}):(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(A.Z,{id:"storage_type",name:"storage_type",onChange:function(e){$("selectedStorageType",e.target.value)},label:c()(Ie,"".concat(p,".variantSelectorLabel"),"Storage Type"),value:u,options:c()(Ie,"".concat(p,".variantSelectorValues"),[])})}),p===r.default?(0,T.jsx)(Ze,{}):c()(Ie,"".concat(p,".sizingComponent"),null)]})})}),(0,T.jsx)(d.ZP,{item:!0,xs:4,md:3,children:(0,T.jsx)("div",{className:t.sizePreview,children:(0,T.jsx)(ve,{})})})]})]})}))),ke=(0,u.$j)((function(e){return{features:e.console.session.features}}),null)((function(e){var t=e.features,n=(0,o.useState)(null),a=(0,i.Z)(n,2),s=a[0],l=a[1];return(0,o.useEffect)((function(){var e=r.default;t&&0!==t.length&&Object.keys(Ne).forEach((function(n){t.includes(n)&&(e=c()(Ne,n,r.default))}));l(e)}),[t]),null===s?null:(0,T.jsx)(Te,{formToRender:s})})),Re=(0,u.$j)((function(e){return{namespace:e.tenants.createTenant.fields.nameTenant.namespace,validPages:e.tenants.createTenant.validPages,fields:e.tenants.createTenant.fields,certificates:e.tenants.createTenant.certificates,selectedStorageClass:e.tenants.createTenant.fields.nameTenant.selectedStorageClass}}),{setErrorSnackMessage:y.Ih,updateAddField:j.HM,resetAddTenantForm:j.dS}),ze=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)((0,s.Z)({pageBox:{border:"1px solid #EAEAEA"}},f.oO),f.AK),f.Je))}))(Re((function(e){var t=e.classes,n=e.fields,a=e.certificates,r=e.selectedStorageClass,l=e.namespace,u=e.validPages,p=e.setErrorSnackMessage,g=e.resetAddTenantForm,f=(0,o.useState)(!1),y=(0,i.Z)(f,2),j=y[0],Z=y[1],b=(0,o.useState)(null),_=(0,i.Z)(b,2),P=_[0],N=_[1],I=(0,o.useState)(!1),A=(0,i.Z)(I,2),k=A[0],z=A[1];(0,o.useEffect)((function(){var e=n.nameTenant.tenantName,t=n.nameTenant.selectedStorageClass,r=n.configure.imageName,i=n.configure.customDockerhub,o=n.configure.imageRegistry,u=n.configure.imageRegistryUsername,d=n.configure.imageRegistryPassword,m=n.configure.exposeMinIO,g=n.configure.exposeConsole,f=n.identityProvider.idpSelection,v=n.identityProvider.openIDConfigurationURL,y=n.identityProvider.openIDClientID,S=n.identityProvider.openIDClaimName,j=n.identityProvider.openIDCallbackURL,b=n.identityProvider.openIDScopes,_=n.identityProvider.openIDSecretID,P=n.identityProvider.ADURL,I=n.identityProvider.ADSkipTLS,A=n.identityProvider.ADServerInsecure,T=n.identityProvider.ADUserNameSearchFilter,R=n.identityProvider.ADGroupSearchBaseDN,w=n.identityProvider.ADGroupSearchFilter,F=n.identityProvider.ADGroupNameAttribute,D=n.identityProvider.ADUserDNs,E=n.identityProvider.ADUserNameFormat,U=n.identityProvider.ADLookupBindDN,K=n.identityProvider.ADLookupBindPassword,L=n.identityProvider.ADUserDNSearchBaseDN,M=n.identityProvider.ADUserDNSearchFilter,q=n.identityProvider.ADServerStartTLS,G=n.identityProvider.accessKeys,V=n.identityProvider.secretKeys,O=a.minioCertificates,B=a.caCertificates,$=a.consoleCaCertificates,W=a.consoleCertificate,H=a.serverCertificate,Y=a.clientCertificate,Q=a.vaultCertificate,X=a.vaultCA,J=a.gemaltoCA,ee=n.encryption.enableEncryption,te=n.encryption.encryptionType,ne=n.encryption.gemaltoEndpoint,ae=n.encryption.gemaltoToken,re=n.encryption.gemaltoDomain,ie=n.encryption.gemaltoRetry,se=n.encryption.awsEndpoint,oe=n.encryption.awsRegion,le=n.encryption.awsKMSKey,ce=n.encryption.awsAccessKey,ue=n.encryption.awsSecretKey,de=n.encryption.awsToken,me=n.encryption.vaultEndpoint,pe=n.encryption.vaultEngine,ge=n.encryption.vaultNamespace,fe=n.encryption.vaultPrefix,he=n.encryption.vaultAppRoleEngine,xe=n.encryption.vaultId,ve=n.encryption.vaultSecret,ye=n.encryption.vaultRetry,Ce=n.encryption.vaultPing,Se=n.encryption.azureEndpoint,je=n.encryption.azureTenantID,Ze=n.encryption.azureClientID,be=n.encryption.azureClientSecret,_e=n.encryption.gcpProjectID,Pe=n.encryption.gcpEndpoint,Ne=n.encryption.gcpClientEmail,Ie=n.encryption.gcpClientID,Ae=n.encryption.gcpPrivateKeyID,Te=n.encryption.gcpPrivateKey,ke=n.security.enableAutoCert,Re=n.security.enableTLS,ze=n.tenantSize.ecParity,we=n.tenantSize.distribution,Fe=n.configure.tenantCustom,De=n.configure.logSearchCustom,Ee=n.configure.prometheusCustom,Ue=n.configure.logSearchVolumeSize,Ke=n.configure.logSearchSelectedStorageClass,Le=n.configure.logSearchImage,Me=n.configure.kesImage,qe=n.configure.logSearchPostgresImage,Ge=n.configure.logSearchPostgresInitImage,Ve=n.configure.prometheusImage,Oe=n.configure.prometheusSidecarImage,Be=n.configure.prometheusInitImage,$e=n.configure.prometheusSelectedStorageClass,We=n.configure.prometheusVolumeSize,He=n.affinity.podAffinity,Ye=n.affinity.nodeSelectorLabels,Qe=n.affinity.withPodAntiAffinity,Xe=n.configure.tenantSecurityContext,Je=n.configure.logSearchSecurityContext,et=n.configure.logSearchPostgresSecurityContext,tt=n.configure.prometheusSecurityContext,nt=n.encryption.kesSecurityContext,at=n.encryption.replicas;if(k){var rt=(0,x.en)([]),it={};switch(He){case"default":it={affinity:(0,C.P)(e,rt)};break;case"nodeSelector":it={affinity:(0,C.q)(Ye,Qe,e,rt)}}var st=ze.split(":")[1],ot={name:e,namespace:l,access_key:"",secret_key:"",access_keys:[],secret_keys:[],enable_tls:Re&&ke,enable_console:!0,enable_prometheus:!0,service_name:"",image:r,expose_minio:m,expose_console:g,pools:[(0,s.Z)({name:rt,servers:we.nodes,volumes_per_server:we.disks,volume_configuration:{size:we.pvSize,storage_class_name:t},securityContext:Fe?Xe:null},it)],erasureCodingParity:parseInt(st,10)};""===n.tenantSize.resourcesCPURequest&&""===n.tenantSize.resourcesCPULimit&&""===n.tenantSize.resourcesMemoryRequest&&""===n.tenantSize.resourcesMemoryLimit||(ot.pools[0].resources={},""===n.tenantSize.resourcesCPURequest&&""===n.tenantSize.resourcesMemoryRequest||(ot.pools[0].resources.requests={},""!==n.tenantSize.resourcesCPURequest&&(ot.pools[0].resources.requests.cpu=parseInt(n.tenantSize.resourcesCPURequest)),""!==n.tenantSize.resourcesMemoryRequest&&(ot.pools[0].resources.requests.memory=parseInt(n.tenantSize.resourcesMemoryRequest))),""===n.tenantSize.resourcesCPULimit&&""===n.tenantSize.resourcesMemoryLimit||(ot.pools[0].resources.limits={},""!==n.tenantSize.resourcesCPULimit&&(ot.pools[0].resources.limits.cpu=parseInt(n.tenantSize.resourcesCPULimit)),""!==n.tenantSize.resourcesMemoryLimit&&(ot.pools[0].resources.limits.memory=parseInt(n.tenantSize.resourcesMemoryLimit)))),i&&(ot=(0,s.Z)((0,s.Z)({},ot),{},{image_registry:{registry:o,username:u,password:d}})),ot=De?(0,s.Z)((0,s.Z)({},ot),{},{logSearchConfiguration:{storageClass:"default"===Ke?"":Ke,storageSize:parseInt(Ue),image:Le,postgres_image:qe,postgres_init_image:Ge,securityContext:Je,postgres_securityContext:et}}):(0,s.Z)((0,s.Z)({},ot),{},{logSearchConfiguration:{image:Le,postgres_image:qe,postgres_init_image:Ge}}),ot=Ee?(0,s.Z)((0,s.Z)({},ot),{},{prometheusConfiguration:{storageClass:"default"===$e?"":$e,storageSize:parseInt(We),image:Ve,sidecar_image:Oe,init_image:Be,securityContext:tt}}):(0,s.Z)((0,s.Z)({},ot),{},{prometheusConfiguration:{image:Ve,sidecar_image:Oe,init_image:Be}});var lt=null,ct=null,ut=null,dt=null;if(B.length>0&&(ut={ca_certificates:B.map((function(e){return e.encoded_cert})).filter((function(e){return e}))}),$.length>0&&(dt={console_ca_certificates:$.map((function(e){return e.encoded_cert})).filter((function(e){return e}))}),Re&&O.length>0&&(lt={minio:O.map((function(e){return{crt:e.encoded_cert,key:e.encoded_key}})).filter((function(e){return e.crt&&e.key}))}),Re&&""!==W.encoded_cert&&""!==W.encoded_key&&(ct={console:{crt:W.encoded_cert,key:W.encoded_key}}),(lt||ct||ut||dt)&&(ot=(0,s.Z)((0,s.Z)({},ot),{},{tls:(0,s.Z)((0,s.Z)((0,s.Z)((0,s.Z)({},lt),ct),ut),dt)})),ee){var mt={};switch(te){case"gemalto":var pt={};""!==J.encoded_cert&&(pt={ca:J.encoded_cert}),mt={gemalto:{keysecure:{endpoint:ne,credentials:{token:ae,domain:re,retry:parseInt(ie)},tls:(0,s.Z)({},pt)}}};break;case"aws":mt={aws:{secretsmanager:{endpoint:se,region:oe,kmskey:le,credentials:{accesskey:ce,secretkey:ue,token:de}}}};break;case"azure":mt={azure:{keyvault:{endpoint:Se,credentials:{tenant_id:je,client_id:Ze,client_secret:be}}}};break;case"gcp":mt={gcp:{secretmanager:{project_id:_e,endpoint:Pe,credentials:{client_email:Ne,client_id:Ie,private_key_id:Ae,private_key:Te}}}};break;case"vault":var gt=null,ft=null;""!==Q.encoded_key&&""!==Q.encoded_cert&&(gt={key:Q.encoded_key,crt:Q.encoded_cert}),""!==X.encoded_cert&&(ft={ca:X.encoded_cert});var ht=null;(gt||X)&&(ht={tls:(0,s.Z)((0,s.Z)({},gt),ft)}),mt={vault:(0,s.Z)((0,s.Z)({endpoint:me,engine:pe,namespace:ge,prefix:fe,approle:{engine:he,id:xe,secret:ve,retry:parseInt(ye)}},ht),{},{status:{ping:parseInt(Ce)}})}}var xt={},vt={};""!==Y.encoded_key&&""!==Y.encoded_cert&&(vt={client:{key:Y.encoded_key,crt:Y.encoded_cert}}),""!==H.encoded_key&&""!==H.encoded_cert&&(xt={server:{key:H.encoded_key,crt:H.encoded_cert}}),ot=(0,s.Z)((0,s.Z)({},ot),{},{encryption:(0,s.Z)((0,s.Z)((0,s.Z)({replicas:at,securityContext:nt,image:Me},vt),xt),mt)})}var yt={};switch(f){case"Built-in":for(var Ct=[],St=0;St.\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({ to, label, classes, className, executeOnClick }: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 BoxIconButton from \"../BoxIconButton/BoxIconButton\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { CopyIcon } from \"../../../../icons\";\nimport { fieldBasic } from \"../FormComponents/common/styleLibrary\";\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 onMouseDown={() => {}}\n edge=\"end\"\n >\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 createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { NewServiceAccount } from \"./types\";\nimport { Button } from \"@mui/material\";\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\";\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 textAlign: \"right\",\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 promptIcon: {\n marginRight: \".1rem\",\n display: \"flex\",\n alignItems: \"center\",\n height: \"2rem\",\n width: \"2rem\",\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(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + encodeURIComponent(text)\n );\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n\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\n const consoleCreds = get(newServiceAccount, \"console\", null);\n const idp = get(newServiceAccount, \"idp\", false);\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 {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 {\n closeModal();\n }}\n color=\"primary\"\n >\n Done\n \n\n {!idp && (\n {\n let consoleExtras = {};\n\n if (consoleCreds) {\n if (!Array.isArray(consoleCreds)) {\n consoleExtras = {\n console: [\n {\n access_key: consoleCreds.accessKey,\n secret_key: consoleCreds.secretKey,\n },\n ],\n };\n } else {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n access_key: itemMap.accessKey,\n secret_key: itemMap.secretKey,\n };\n });\n\n consoleExtras = {\n console: [...cCreds],\n };\n }\n }\n\n download(\n \"credentials.json\",\n JSON.stringify({\n ...consoleExtras,\n })\n );\n }}\n endIcon={}\n variant=\"contained\"\n color=\"primary\"\n >\n Download\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, { 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 from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { IWizardButton, IWizardPage } from \"./types\";\nimport { Button, LinearProgress } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wizardStepContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n flex: 1,\n },\n wizardComponent: {\n overflowY: \"auto\",\n marginBottom: 10,\n height: \"calc(100vh - 100px - 80px)\",\n minHeight: 400,\n flex: 1,\n width: \"100%\",\n },\n wizardModal: {\n overflowY: \"auto\",\n marginBottom: 10,\n height: \"calc(100vh - 515px)\",\n },\n buttonsContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"flex-start\" as const,\n padding: \"10px 0\",\n borderTop: \"#EAEAEA 1px solid\",\n \"& button\": {\n marginLeft: 10,\n },\n \"&.forModal\": {\n paddingBottom: 0,\n },\n },\n buttonInnerContainer: {\n width: \"100%\",\n textAlign: \"right\" as const,\n marginRight: 15,\n },\n });\n\nconst WizardPage = ({\n classes,\n page,\n pageChange,\n loadingStep,\n forModal,\n}: IWizardPage) => {\n const buttonAction = (btn: IWizardButton) => {\n switch (btn.type) {\n case \"next\":\n pageChange(\"++\");\n break;\n case \"back\":\n pageChange(\"--\");\n break;\n case \"to\":\n pageChange(btn.toPage || 0);\n break;\n case \"custom\":\n default:\n }\n\n if (btn.action) {\n btn.action(pageChange);\n }\n };\n\n return (\n
\n
\n {page.componentRender}\n
\n {loadingStep && (\n
\n \n
\n )}\n \n
\n {page.buttons.map((btn) => {\n return (\n {\n buttonAction(btn);\n }}\n disabled={!btn.enabled}\n key={`button-${page.label}-${btn.label}`}\n >\n {btn.label}\n \n );\n })}\n
\n
\n \n );\n};\n\nexport default withStyles(styles)(WizardPage);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IWizardMain } from \"./types\";\nimport WizardPage from \"./WizardPage\";\nimport { Grid, List } from \"@mui/material\";\nimport ListItem from \"@mui/material/ListItem\";\nimport ListItemText from \"@mui/material/ListItemText\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wizFromContainer: {},\n wizFromModal: {\n position: \"relative\",\n },\n modalWizardSteps: {\n padding: 5,\n borderBottom: \"#eaeaea 1px solid\",\n \"& ul\": {\n padding: 0,\n marginTop: 0,\n display: \"flex\",\n justifyContent: \"space-evenly\",\n\n \"& li\": {\n listStyle: \"lower-roman\",\n \"&::marker\": {\n paddingLeft: 15,\n },\n },\n },\n },\n buttonList: {\n backgroundColor: \"transparent\",\n border: \"none\",\n cursor: \"pointer\",\n \"&:not(:disabled):hover\": {\n textDecoration: \"underline\",\n },\n \"&:selected, &:active, &:focus, &:focus:active\": {\n border: \"none\",\n outline: 0,\n boxShadow: \"none\",\n },\n },\n paddedContentGrid: {\n marginTop: 8,\n padding: \"0 10px\",\n minHeight: 400,\n },\n stepsLabel: {\n fontSize: 20,\n color: \"#393939\",\n fontWeight: 600,\n margin: \"15px 12px\",\n \"&.stepsModalTitle\": {\n textAlign: \"center\",\n width: \"100%\",\n marginTop: 0,\n marginBottom: 10,\n },\n },\n stepsMasterContainer: {\n position: \"sticky\",\n top: 0,\n backgroundColor: \"#FFFFFF\",\n width: \"100%\",\n maxHeight: 90,\n },\n verticalSteps: {\n borderRight: \"1px solid #E5E5E5\",\n background: \"#F8F8F8\",\n },\n stepsContainer: {\n paddingTop: 0,\n \"& .MuiButtonBase-root.Mui-selected\": {\n background: \"#E5E5E5\",\n },\n },\n stepItem: {\n minHeight: 60,\n borderBottom: \"1px solid #E5E5E5\",\n \"&:hover\": {\n background: \"rgba(247,247,247,0.7)\",\n },\n },\n });\n\nconst GenericWizard = ({\n classes,\n wizardSteps,\n loadingStep,\n forModal,\n}: IWizardMain) => {\n const [currentStep, setCurrentStep] = useState(0);\n\n const pageChange = (toElement: string | number) => {\n const lastPage = wizardSteps.length - 1;\n\n if (toElement === \"++\") {\n let nextPage = currentStep + 1;\n\n if (nextPage > lastPage) {\n nextPage = lastPage;\n }\n\n setCurrentStep(nextPage);\n }\n\n if (toElement === \"--\") {\n let prevPage = currentStep - 1;\n\n if (prevPage < 0) {\n prevPage = 0;\n }\n\n setCurrentStep(prevPage);\n }\n\n if (typeof toElement === \"number\") {\n let pg = toElement;\n if (toElement < 0) {\n pg = 0;\n }\n\n if (toElement > lastPage) {\n pg = lastPage;\n }\n\n setCurrentStep(pg);\n }\n };\n\n if (wizardSteps.length === 0) {\n return null;\n }\n\n const stepsList = () => {\n return (\n \n \n {wizardSteps.map((step, index) => {\n return (\n pageChange(index)}\n key={`wizard-${index.toString()}`}\n selected={currentStep === index}\n classes={{\n root: classes.stepItem,\n }}\n >\n \n \n );\n })}\n \n \n );\n };\n const stepsListModal = () => {\n return (\n
    \n {wizardSteps.map((step, index) => {\n return (\n
  • \n pageChange(index)}\n disabled={index > currentStep}\n className={classes.buttonList}\n >\n {step.label}\n \n
  • \n );\n })}\n
\n );\n };\n\n return (\n \n {forModal ? (\n \n
\n
Steps
\n
{stepsListModal()}
\n
\n
\n ) : (\n \n \n {stepsList()}\n \n \n )}\n\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(GenericWizard);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Opts } from \"../../../ListTenants/utils\";\nimport TenantSizeMK from \"./TenantSizeMK\";\n\nexport enum IMkEnvs {\n \"aws\",\n \"azure\",\n \"gcp\",\n \"default\",\n undefined,\n}\n\nexport interface IDriveSizing {\n driveSize: string;\n sizeUnit: string;\n}\n\nexport interface IntegrationConfiguration {\n typeSelection: string;\n storageClass: string;\n CPU: number;\n memory: number;\n drivesPerServer: number;\n driveSize: IDriveSizing;\n}\n\nexport const AWSStorageTypes: Opts[] = [\n { label: \"NVME\", value: \"nvme\" },\n { label: \"HDD\", value: \"hdd\" },\n];\n\nexport const AzureStorageTypes: Opts[] = [\n { label: \"Standard_L32s_v2\", value: \"Standard_L32s_v2\" },\n { label: \"Standard_L48s_v2\", value: \"Standard_L48s_v2\" },\n { label: \"Standard_L64s_v2\", value: \"Standard_L64s_v2\" },\n];\n\nexport const resourcesConfigurations = {\n \"mp-mode-aws\": IMkEnvs.aws,\n \"mp-mode-azure\": IMkEnvs.azure,\n \"mp-mode-gcp\": IMkEnvs.gcp,\n};\n\nexport const AWSConfigurations: IntegrationConfiguration[] = [\n {\n typeSelection: \"nvme\",\n storageClass: \"nvme-i3en-12xlarge\",\n CPU: 48,\n memory: 384,\n driveSize: { driveSize: \"7500\", sizeUnit: \"Gi\" },\n drivesPerServer: 4,\n },\n {\n typeSelection: \"hdd\",\n storageClass: \"hdd-d3en-12xlarge\",\n CPU: 8,\n memory: 32,\n driveSize: { driveSize: \"12.7\", sizeUnit: \"Ti\" },\n drivesPerServer: 4,\n },\n];\n\nexport const AzureConfigurations: IntegrationConfiguration[] = [\n {\n typeSelection: \"Standard_L8s_v2\",\n storageClass: \"local-nvme\",\n CPU: 8,\n memory: 64,\n driveSize: { driveSize: \"1787\", sizeUnit: \"Gi\" },\n drivesPerServer: 1,\n },\n {\n typeSelection: \"Standard_L16s_v2\",\n storageClass: \"local-nvme\",\n CPU: 16,\n memory: 128,\n driveSize: { driveSize: \"1787\", sizeUnit: \"Gi\" },\n drivesPerServer: 2,\n },\n {\n typeSelection: \"Standard_L32s_v2\",\n storageClass: \"local-nvme\",\n CPU: 32,\n memory: 256,\n driveSize: { driveSize: \"1787\", sizeUnit: \"Gi\" },\n drivesPerServer: 4,\n },\n {\n typeSelection: \"Standard_L48s_v2\",\n storageClass: \"local-nvme\",\n CPU: 48,\n memory: 384,\n driveSize: { driveSize: \"1787\", sizeUnit: \"Gi\" },\n drivesPerServer: 6,\n },\n {\n typeSelection: \"Standard_L64s_v2\",\n storageClass: \"local-nvme\",\n CPU: 64,\n memory: 512,\n driveSize: { driveSize: \"1787\", sizeUnit: \"Gi\" },\n drivesPerServer: 8,\n },\n];\n\nexport const GCPStorageTypes: Opts[] = [{ label: \"SSD\", value: \"ssd\" }];\n\nexport const GCPConfigurations: IntegrationConfiguration[] = [\n {\n typeSelection: \"ssd\",\n storageClass: \"local-ssd\",\n CPU: 32,\n memory: 128,\n driveSize: { driveSize: \"368\", sizeUnit: \"Gi\" },\n drivesPerServer: 24,\n },\n];\n\nexport const mkPanelConfigurations = {\n [IMkEnvs.aws]: {\n variantSelectorLabel: \"Storage Type\",\n variantSelectorValues: AWSStorageTypes,\n configurations: AWSConfigurations,\n sizingComponent: ,\n },\n [IMkEnvs.azure]: {\n variantSelectorLabel: \"VM Size\",\n variantSelectorValues: AzureStorageTypes,\n configurations: AzureConfigurations,\n sizingComponent: ,\n },\n [IMkEnvs.gcp]: {\n variantSelectorLabel: \"Storage Type\",\n variantSelectorValues: GCPStorageTypes,\n configurations: GCPConfigurations,\n sizingComponent: ,\n },\n [IMkEnvs.default]: {},\n [IMkEnvs.undefined]: {},\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, { useCallback, useEffect, useState } from \"react\";\nimport { connect } 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 { isPageValid, updateAddField } from \"../../actions\";\nimport { AppState } 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 { ISecurityContext } from \"../../types\";\n\ninterface IConfigureProps {\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n storageClasses: any;\n classes: any;\n customImage: boolean;\n imageName: string;\n customDockerhub: boolean;\n imageRegistry: string;\n imageRegistryUsername: string;\n imageRegistryPassword: string;\n exposeMinIO: boolean;\n exposeConsole: boolean;\n prometheusCustom: boolean;\n tenantCustom: boolean;\n logSearchCustom: boolean;\n logSearchVolumeSize: string;\n logSearchSizeFactor: string;\n prometheusVolumeSize: string;\n prometheusSizeFactor: string;\n logSearchSelectedStorageClass: string;\n logSearchImage: string;\n kesImage: string;\n logSearchPostgresImage: string;\n logSearchPostgresInitImage: string;\n prometheusSelectedStorageClass: string;\n prometheusImage: string;\n prometheusSidecarImage: string;\n prometheusInitImage: string;\n selectedStorageClass: string;\n tenantSecurityContext: ISecurityContext;\n logSearchSecurityContext: ISecurityContext;\n logSearchPostgresSecurityContext: ISecurityContext;\n prometheusSecurityContext: ISecurityContext;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n configSectionItem: {\n marginRight: 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\n logSearchCustomFields: {\n marginLeft: 20, // 2nd Level(15+15)\n padding: 10,\n width: \"90%\",\n margin: \"auto\",\n },\n fieldSpaceTop: {\n marginTop: 15,\n },\n prometheusCustomFields: {\n marginLeft: 20, // 2nd Level(15+15)\n padding: 10,\n width: \"90%\",\n margin: \"auto\",\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst Configure = ({\n classes,\n storageClasses,\n customImage,\n imageName,\n customDockerhub,\n imageRegistry,\n imageRegistryUsername,\n imageRegistryPassword,\n exposeMinIO,\n exposeConsole,\n prometheusCustom,\n tenantCustom,\n logSearchCustom,\n logSearchVolumeSize,\n logSearchSizeFactor,\n logSearchImage,\n kesImage,\n logSearchPostgresImage,\n logSearchPostgresInitImage,\n prometheusVolumeSize,\n prometheusSizeFactor,\n logSearchSelectedStorageClass,\n prometheusSelectedStorageClass,\n prometheusImage,\n prometheusSidecarImage,\n prometheusInitImage,\n updateAddField,\n isPageValid,\n selectedStorageClass,\n tenantSecurityContext,\n logSearchSecurityContext,\n logSearchPostgresSecurityContext,\n prometheusSecurityContext,\n}: IConfigureProps) => {\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 updateAddField(\"configure\", field, value);\n },\n [updateAddField]\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 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 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 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 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: prometheusSecurityContext.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 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/logsearchapi: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 isPageValid(\"configure\", Object.keys(commonVal).length === 0);\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 isPageValid,\n prometheusCustom,\n tenantCustom,\n logSearchCustom,\n prometheusSelectedStorageClass,\n prometheusVolumeSize,\n logSearchSelectedStorageClass,\n logSearchVolumeSize,\n tenantSecurityContext,\n logSearchSecurityContext,\n logSearchPostgresSecurityContext,\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 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 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

Configure

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

Expose Services

\n \n Whether the tenant's services should request an external IP.\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

Additional Configurations

\n \n Configure SecurityContext, Storage Classes & Storage size for Log\n Search, Prometheus add-ons and your Tenant\n \n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"tenantCustom\", checked);\n }}\n label={\"Override Tenant defaults\"}\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 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 \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 const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"logSearchCustom\", checked);\n }}\n label={\"Override Log Search defaults\"}\n />\n \n {logSearchCustom && (\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 [Gi]\"\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[\"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 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
\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[\"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[\"postgres_securityContext_runAsGroup\"] ||\n \"\"\n }\n min=\"0\"\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 min=\"0\"\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 const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"prometheusCustom\", checked);\n }}\n label={\"Override Prometheus defaults\"}\n />\n \n {prometheusCustom && (\n \n \n ) => {\n updateField(\n \"prometheusSelectedStorageClass\",\n e.target.value as string\n );\n }}\n label=\"Prometheus 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 [Gi]\"\n value={prometheusVolumeSize}\n required\n error={validationErrors[\"prometheus_volume_size\"] || \"\"}\n min=\"0\"\n />\n
\n
\n \n \n SecurityContext for Prometheus\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(\"prometheus_securityContext_runAsGroup\");\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 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[\"prometheus_securityContext_fsGroup\"] ||\n \"\"\n }\n min=\"0\"\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\nconst mapState = (state: AppState) => ({\n storageClasses: state.tenants.createTenant.storageClasses,\n customImage: state.tenants.createTenant.fields.configure.customImage,\n imageName: state.tenants.createTenant.fields.configure.imageName,\n customDockerhub: state.tenants.createTenant.fields.configure.customDockerhub,\n imageRegistry: state.tenants.createTenant.fields.configure.imageRegistry,\n imageRegistryUsername:\n state.tenants.createTenant.fields.configure.imageRegistryUsername,\n imageRegistryPassword:\n state.tenants.createTenant.fields.configure.imageRegistryPassword,\n exposeMinIO: state.tenants.createTenant.fields.configure.exposeMinIO,\n exposeConsole: state.tenants.createTenant.fields.configure.exposeConsole,\n prometheusCustom:\n state.tenants.createTenant.fields.configure.prometheusCustom,\n tenantCustom: state.tenants.createTenant.fields.configure.tenantCustom,\n logSearchCustom: state.tenants.createTenant.fields.configure.logSearchCustom,\n logSearchVolumeSize:\n state.tenants.createTenant.fields.configure.logSearchVolumeSize,\n logSearchSizeFactor:\n state.tenants.createTenant.fields.configure.logSearchSizeFactor,\n prometheusVolumeSize:\n state.tenants.createTenant.fields.configure.prometheusVolumeSize,\n prometheusSizeFactor:\n state.tenants.createTenant.fields.configure.prometheusSizeFactor,\n logSearchSelectedStorageClass:\n state.tenants.createTenant.fields.configure.logSearchSelectedStorageClass,\n logSearchImage: state.tenants.createTenant.fields.configure.logSearchImage,\n kesImage: state.tenants.createTenant.fields.configure.kesImage,\n logSearchPostgresImage:\n state.tenants.createTenant.fields.configure.logSearchPostgresImage,\n logSearchPostgresInitImage:\n state.tenants.createTenant.fields.configure.logSearchPostgresInitImage,\n prometheusSelectedStorageClass:\n state.tenants.createTenant.fields.configure.prometheusSelectedStorageClass,\n prometheusImage: state.tenants.createTenant.fields.configure.prometheusImage,\n prometheusSidecarImage:\n state.tenants.createTenant.fields.configure.prometheusSidecarImage,\n prometheusInitImage:\n state.tenants.createTenant.fields.configure.prometheusInitImage,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n tenantSecurityContext:\n state.tenants.createTenant.fields.configure.tenantSecurityContext,\n logSearchSecurityContext:\n state.tenants.createTenant.fields.configure.logSearchSecurityContext,\n logSearchPostgresSecurityContext:\n state.tenants.createTenant.fields.configure\n .logSearchPostgresSecurityContext,\n prometheusSecurityContext:\n state.tenants.createTenant.fields.configure.prometheusSecurityContext,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(Configure));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } 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, Tooltip, Typography } from \"@mui/material\";\nimport CasinoIcon from \"@mui/icons-material/Casino\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { isPageValid, updateAddField } from \"../../actions\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport { AppState } from \"../../../../../store\";\nimport { clearValidationError, getRandomString } from \"../../utils\";\nimport RadioGroupSelector from \"../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport RemoveIcon from \"../../../../../icons/RemoveIcon\";\n\ninterface IIdentityProviderProps {\n classes: any;\n idpSelection: string;\n accessKeys: string[];\n secretKeys: string[];\n openIDConfigurationURL: string;\n openIDClientID: string;\n openIDSecretID: string;\n openIDCallbackURL: string;\n openIDClaimName: string;\n openIDScopes: string;\n ADURL: string;\n ADSkipTLS: boolean;\n ADServerInsecure: boolean;\n ADUserNameSearchFilter: string;\n ADGroupSearchBaseDN: string;\n ADGroupSearchFilter: string;\n ADGroupNameAttribute: string;\n ADUserDNs: string[];\n ADUserNameFormat: string;\n ADLookupBindDN: string;\n ADLookupBindPassword: string;\n ADUserDNSearchBaseDN: string;\n ADUserDNSearchFilter: string;\n ADServerStartTLS: boolean;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\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 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 protocolRadioOptions: {\n display: \"flex\",\n flexFlow: \"column\",\n marginBottom: 10,\n\n \"& label\": {\n fontSize: 14,\n },\n \"& div\": {\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"baseline\",\n },\n },\n adUserDnRows: {\n display: \"flex\",\n },\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst IdentityProvider = ({\n classes,\n idpSelection,\n accessKeys,\n secretKeys,\n openIDConfigurationURL,\n openIDClientID,\n openIDSecretID,\n openIDCallbackURL,\n openIDClaimName,\n openIDScopes,\n ADURL,\n ADSkipTLS,\n ADServerInsecure,\n ADUserNameSearchFilter,\n ADGroupSearchBaseDN,\n ADGroupSearchFilter,\n ADGroupNameAttribute,\n ADUserDNs,\n ADUserNameFormat,\n ADLookupBindDN,\n ADLookupBindPassword,\n ADUserDNSearchBaseDN,\n ADUserDNSearchFilter,\n ADServerStartTLS,\n updateAddField,\n isPageValid,\n}: IIdentityProviderProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"identityProvider\", field, value);\n },\n [updateAddField]\n );\n const updateUserField = (index: number, value: string) => {\n const newUserField = [...accessKeys];\n newUserField[index] = value;\n updateField(\"accessKeys\", newUserField);\n };\n const updatePwordField = (index: number, value: string) => {\n const newUserField = [...secretKeys];\n newUserField[index] = value;\n updateField(\"secretKeys\", newUserField);\n };\n const updateADUserField = (index: number, value: string) => {\n const newADUserDNsField = [...ADUserDNs];\n newADUserDNsField[index] = value;\n updateField(\"ADUserDNs\", newADUserDNsField);\n };\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n // Validation\n\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 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 if (idpSelection === \"AD\") {\n customIDPValidation = [\n ...customIDPValidation,\n {\n fieldKey: \"AD_URL\",\n required: true,\n value: ADURL,\n },\n ];\n // validate user DNs\n for (let i = 0; i < ADUserDNs.length; i++) {\n customIDPValidation.push({\n fieldKey: `ad-userdn-${i.toString()}`,\n required: true,\n value: ADUserDNs[i],\n });\n }\n }\n\n const commonVal = commonFormValidation(customIDPValidation);\n\n isPageValid(\"identityProvider\", Object.keys(commonVal).length === 0);\n\n setValidationErrors(commonVal);\n }, [\n idpSelection,\n accessKeys,\n secretKeys,\n openIDClientID,\n openIDSecretID,\n ADURL,\n ADUserNameSearchFilter,\n ADGroupSearchBaseDN,\n ADGroupSearchFilter,\n ADGroupNameAttribute,\n ADUserDNs,\n isPageValid,\n openIDConfigurationURL,\n openIDClaimName,\n ]);\n let inputs = null;\n if (idpSelection === \"Built-in\") {\n inputs = accessKeys.map((_, index) => {\n return (\n \n
\n ) => {\n updateUserField(index, e.target.value);\n cleanValidation(`accesskey-${index.toString()}`);\n }}\n index={index}\n key={`csv-accesskey-${index.toString()}`}\n error={validationErrors[`accesskey-${index.toString()}`] || \"\"}\n />\n ) => {\n updatePwordField(index, e.target.value);\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 {\n accessKeys.push(\"\");\n secretKeys.push(\"\");\n updateUserField(accessKeys.length - 1, \"\");\n updatePwordField(secretKeys.length - 1, \"\");\n }}\n >\n \n \n
\n
\n \n
\n {\n if (accessKeys.length > 1) {\n accessKeys.splice(index, 1);\n secretKeys.splice(index, 1);\n updateUserField(\n accessKeys.length - 1,\n accessKeys[accessKeys.length - 1]\n );\n }\n }}\n >\n \n \n
\n
\n \n
\n {\n updateUserField(index, getRandomString(16));\n updatePwordField(index, getRandomString(32));\n }}\n size={\"small\"}\n >\n \n \n
\n
\n
\n
\n
\n );\n });\n }\n if (idpSelection === \"AD\") {\n inputs = ADUserDNs.map((_, index) => {\n return (\n \n
\n ) => {\n updateADUserField(index, e.target.value);\n cleanValidation(`ad-userdn-${index.toString()}`);\n }}\n index={index}\n key={`csv-ad-userdn-${index.toString()}`}\n error={validationErrors[`ad-userdn-${index.toString()}`] || \"\"}\n />\n
\n \n {\n ADUserDNs.push(\"\");\n updateADUserField(ADUserDNs.length - 1, \"\");\n }}\n >\n \n \n \n \n {\n if (ADUserDNs.length > 1) {\n ADUserDNs.splice(index, 1);\n updateUserField(\n ADUserDNs.length - 1,\n ADUserDNs[ADUserDNs.length - 1]\n );\n }\n }}\n >\n \n \n \n
\n
\n
\n );\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 {\n updateField(\"idpSelection\", e.target.value);\n }}\n selectorOptions={[\n { label: \"Built-in\", value: \"Built-in\" },\n { label: \"OpenID\", value: \"OpenID\" },\n { label: \"Active Directory\", value: \"AD\" },\n ]}\n />\n \n {idpSelection === \"Built-in\" && (\n \n Add additional users\n {inputs}\n \n )}\n {idpSelection === \"OpenID\" && (\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 {idpSelection === \"AD\" && (\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(\"ADUserNameFormat\", e.target.value);\n }}\n label=\"Username Format\"\n value={ADUserNameFormat}\n placeholder=\"uid=%s,cn=accounts,dc=myldapserver,dc=com\"\n />\n \n \n ) => {\n updateField(\"ADUserNameSearchFilter\", e.target.value);\n }}\n label=\"Username Search Filter\"\n value={ADUserNameSearchFilter}\n placeholder=\"(|(objectclass=posixAccount)(uid=%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 updateField(\"ADGroupNameAttribute\", e.target.value);\n }}\n label=\"Group Name Attribute\"\n value={ADGroupNameAttribute}\n placeholder=\"cn\"\n />\n \n \n ) => {\n updateField(\"ADLookupBindDN\", e.target.value);\n }}\n label=\"Lookup Bind DN\"\n value={ADLookupBindDN}\n placeholder=\"cn=admin,dc=min,dc=io\"\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=\"(uid=%s)\"\n />\n \n
\n \n List of user DNs (Distinguished Names) to be Tenant Administrators\n \n \n {inputs}\n \n
\n
\n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n idpSelection: state.tenants.createTenant.fields.identityProvider.idpSelection,\n accessKeys: state.tenants.createTenant.fields.identityProvider.accessKeys,\n secretKeys: state.tenants.createTenant.fields.identityProvider.secretKeys,\n openIDConfigurationURL:\n state.tenants.createTenant.fields.identityProvider.openIDConfigurationURL,\n openIDClientID:\n state.tenants.createTenant.fields.identityProvider.openIDClientID,\n openIDSecretID:\n state.tenants.createTenant.fields.identityProvider.openIDSecretID,\n openIDCallbackURL:\n state.tenants.createTenant.fields.identityProvider.openIDCallbackURL,\n openIDClaimName:\n state.tenants.createTenant.fields.identityProvider.openIDClaimName,\n openIDScopes: state.tenants.createTenant.fields.identityProvider.openIDScopes,\n ADURL: state.tenants.createTenant.fields.identityProvider.ADURL,\n ADSkipTLS: state.tenants.createTenant.fields.identityProvider.ADSkipTLS,\n ADServerInsecure:\n state.tenants.createTenant.fields.identityProvider.ADServerInsecure,\n ADUserNameSearchFilter:\n state.tenants.createTenant.fields.identityProvider.ADUserNameSearchFilter,\n ADGroupSearchBaseDN:\n state.tenants.createTenant.fields.identityProvider.ADGroupSearchBaseDN,\n ADGroupSearchFilter:\n state.tenants.createTenant.fields.identityProvider.ADGroupSearchFilter,\n ADGroupNameAttribute:\n state.tenants.createTenant.fields.identityProvider.ADGroupNameAttribute,\n ADUserDNs: state.tenants.createTenant.fields.identityProvider.ADUserDNs,\n ADUserNameFormat:\n state.tenants.createTenant.fields.identityProvider.ADUserNameFormat,\n ADLookupBindDN:\n state.tenants.createTenant.fields.identityProvider.ADLookupBindDN,\n ADLookupBindPassword:\n state.tenants.createTenant.fields.identityProvider.ADLookupBindPassword,\n ADUserDNSearchBaseDN:\n state.tenants.createTenant.fields.identityProvider.ADUserDNSearchBaseDN,\n ADUserDNSearchFilter:\n state.tenants.createTenant.fields.identityProvider.ADUserDNSearchFilter,\n ADServerStartTLS:\n state.tenants.createTenant.fields.identityProvider.ADServerStartTLS,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(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 { connect } 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, Typography } from \"@mui/material\";\nimport {\n createTenantCommon,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport {\n addCaCertificate,\n addFileToCaCertificates,\n addFileToKeyPair,\n addKeyPair,\n deleteCaCertificate,\n deleteKeyPair,\n isPageValid,\n updateAddField,\n} from \"../../actions\";\nimport { AppState } from \"../../../../../store\";\nimport { KeyPair } from \"../../ListTenants/utils\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport FileSelector from \"../../../Common/FormComponents/FileSelector/FileSelector\";\nimport AddIcon from \"../../../../../icons/AddIcon\";\nimport RemoveIcon from \"../../../../../icons/RemoveIcon\";\n\ninterface ISecurityProps {\n classes: any;\n enableTLS: boolean;\n enableAutoCert: boolean;\n enableCustomCerts: boolean;\n minioCertificates: KeyPair[];\n caCertificates: KeyPair[];\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n addFileToCaCertificates: typeof addFileToCaCertificates;\n deleteCaCertificate: typeof deleteCaCertificate;\n addCaCertificate: typeof addCaCertificate;\n addKeyPair: typeof addKeyPair;\n addFileToKeyPair: typeof addFileToKeyPair;\n deleteKeyPair: typeof deleteKeyPair;\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 = ({\n classes,\n enableTLS,\n enableAutoCert,\n enableCustomCerts,\n minioCertificates,\n caCertificates,\n updateAddField,\n isPageValid,\n addFileToCaCertificates,\n deleteCaCertificate,\n addCaCertificate,\n addKeyPair,\n addFileToKeyPair,\n deleteKeyPair,\n}: ISecurityProps) => {\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"security\", field, value);\n },\n [updateAddField]\n );\n\n // Validation\n\n useEffect(() => {\n if (!enableTLS) {\n isPageValid(\"security\", true);\n return;\n }\n if (enableAutoCert) {\n isPageValid(\"security\", true);\n return;\n }\n if (enableCustomCerts) {\n isPageValid(\"security\", true);\n return;\n }\n isPageValid(\"security\", false);\n }, [enableTLS, enableAutoCert, enableCustomCerts, isPageValid]);\n\n return (\n \n
\n

Security

\n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableTLS\", checked);\n }}\n label={\"Enable TLS\"}\n />\n Enable TLS for the tenant, this is required for Encryption Configuration\n {enableTLS && (\n \n
\n
\n \n AutoCert: MinIO Operator will generate all TLS certificates\n automatically\n \n \n Custom certificates: Allow user to provide your own certificates\n \n
\n
\n )}\n
\n {enableTLS && (\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableAutoCert\", checked);\n }}\n label={\"Enable AutoCert\"}\n />\n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableCustomCerts\", checked);\n }}\n label={\"Custom Certificates\"}\n />\n \n {enableCustomCerts && (\n \n \n \n
\n \n MinIO Certificates\n \n {minioCertificates.map((keyPair: KeyPair) => (\n \n \n {\n addFileToKeyPair(\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 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
\n \n \n \n
\n
\n {\n deleteKeyPair(keyPair.id);\n }}\n >\n \n \n
\n
\n \n ))}\n
\n
\n
\n\n \n \n
\n \n MinIO CA Certificates\n \n\n {caCertificates.map((keyPair: KeyPair) => (\n \n \n {\n addFileToCaCertificates(\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 \n \n \n
\n
\n {\n deleteCaCertificate(keyPair.id);\n }}\n >\n \n \n
\n
\n
\n \n ))}\n
\n
\n
\n
\n )}\n
\n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n enableTLS: state.tenants.createTenant.fields.security.enableTLS,\n enableAutoCert: state.tenants.createTenant.fields.security.enableAutoCert,\n enableCustomCerts:\n state.tenants.createTenant.fields.security.enableCustomCerts,\n minioCertificates: state.tenants.createTenant.certificates.minioCertificates,\n caCertificates: state.tenants.createTenant.certificates.caCertificates,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n addFileToCaCertificates,\n deleteCaCertificate,\n addCaCertificate,\n addKeyPair,\n addFileToKeyPair,\n deleteKeyPair,\n});\n\nexport default withStyles(styles)(connector(Security));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Paper } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n addFileClientCert,\n addFileGemaltoCa,\n addFileServerCert,\n addFileVaultCa,\n addFileVaultCert,\n isPageValid,\n updateAddField,\n} from \"../../actions\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { AppState } 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 { KeyPair } from \"../../ListTenants/utils\";\nimport { ISecurityContext } from \"../../types\";\n\ninterface IEncryptionProps {\n classes: any;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n addFileServerCert: typeof addFileServerCert;\n addFileClientCert: typeof addFileClientCert;\n addFileVaultCert: typeof addFileVaultCert;\n addFileVaultCa: typeof addFileVaultCa;\n addFileGemaltoCa: typeof addFileGemaltoCa;\n enableEncryption: boolean;\n encryptionType: string;\n gemaltoEndpoint: string;\n gemaltoToken: string;\n gemaltoDomain: string;\n gemaltoRetry: string;\n awsEndpoint: string;\n awsRegion: string;\n awsKMSKey: string;\n awsAccessKey: string;\n awsSecretKey: string;\n awsToken: string;\n vaultEndpoint: string;\n vaultEngine: string;\n vaultNamespace: string;\n vaultPrefix: string;\n vaultAppRoleEngine: string;\n vaultId: string;\n vaultSecret: string;\n vaultRetry: string;\n vaultPing: string;\n azureEndpoint: string;\n azureTenantID: string;\n azureClientID: string;\n azureClientSecret: string;\n gcpProjectID: string;\n gcpEndpoint: string;\n gcpClientEmail: string;\n gcpClientID: string;\n gcpPrivateKeyID: string;\n gcpPrivateKey: string;\n enableCustomCertsForKES: boolean;\n enableAutoCert: boolean;\n enableTLS: boolean;\n enableCustomCerts: boolean;\n minioCertificates: KeyPair[];\n serverCertificate: KeyPair;\n clientCertificate: KeyPair;\n vaultCertificate: KeyPair;\n vaultCA: KeyPair;\n gemaltoCA: KeyPair;\n kesSecurityContext: ISecurityContext;\n replicas: string;\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 = ({\n classes,\n updateAddField,\n isPageValid,\n addFileServerCert,\n addFileClientCert,\n addFileVaultCert,\n addFileVaultCa,\n addFileGemaltoCa,\n enableEncryption,\n enableCustomCerts,\n encryptionType,\n gemaltoEndpoint,\n gemaltoToken,\n gemaltoDomain,\n gemaltoRetry,\n awsEndpoint,\n awsRegion,\n awsKMSKey,\n awsAccessKey,\n awsSecretKey,\n awsToken,\n vaultEndpoint,\n vaultEngine,\n vaultNamespace,\n vaultPrefix,\n vaultAppRoleEngine,\n vaultId,\n vaultSecret,\n vaultRetry,\n vaultPing,\n azureEndpoint,\n azureTenantID,\n azureClientID,\n azureClientSecret,\n gcpProjectID,\n gcpEndpoint,\n gcpClientEmail,\n gcpClientID,\n gcpPrivateKeyID,\n gcpPrivateKey,\n enableCustomCertsForKES,\n enableAutoCert,\n enableTLS,\n minioCertificates,\n serverCertificate,\n clientCertificate,\n vaultCertificate,\n vaultCA,\n gemaltoCA,\n kesSecurityContext,\n replicas,\n}: IEncryptionProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n\n let encryptionAvailable = false;\n if (\n enableTLS &&\n (enableAutoCert ||\n (minioCertificates &&\n minioCertificates.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 updateAddField(\"encryption\", field, value);\n },\n [updateAddField]\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: \"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: serverCertificate.encoded_key,\n },\n {\n fieldKey: \"serverCert\",\n required: !enableAutoCert,\n value: serverCertificate.encoded_cert,\n },\n {\n fieldKey: \"clientKey\",\n required: !enableAutoCert,\n value: clientCertificate.encoded_key,\n },\n {\n fieldKey: \"clientCert\",\n required: !enableAutoCert,\n value: clientCertificate.encoded_cert,\n },\n ];\n }\n\n if (encryptionType === \"vault\") {\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 if (encryptionType === \"aws\") {\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 if (encryptionType === \"gemalto\") {\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 if (encryptionType === \"azure\") {\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\n const commonVal = commonFormValidation(encryptionValidation);\n\n isPageValid(\"encryption\", Object.keys(commonVal).length === 0);\n\n setValidationErrors(commonVal);\n }, [\n enableEncryption,\n encryptionType,\n vaultEndpoint,\n vaultEngine,\n vaultId,\n vaultSecret,\n vaultPing,\n vaultRetry,\n awsEndpoint,\n awsRegion,\n awsSecretKey,\n awsAccessKey,\n gemaltoEndpoint,\n gemaltoToken,\n gemaltoDomain,\n gemaltoRetry,\n gcpProjectID,\n gcpEndpoint,\n gcpClientEmail,\n gcpClientID,\n gcpPrivateKeyID,\n gcpPrivateKey,\n azureEndpoint,\n azureTenantID,\n azureClientID,\n azureClientSecret,\n isPageValid,\n enableAutoCert,\n enableCustomCerts,\n serverCertificate.encoded_key,\n serverCertificate.encoded_cert,\n clientCertificate.encoded_key,\n clientCertificate.encoded_cert,\n kesSecurityContext,\n replicas,\n ]);\n\n return (\n \n
\n

Encryption

\n \n How would you like to encrypt the information at rest.\n \n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableEncryption\", checked);\n }}\n label={\"Enable Server Side Encryption\"}\n disabled={!encryptionAvailable}\n />\n \n {enableEncryption && (\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 \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 Service Certificates\n \n {\n addFileServerCert(\"key\", fileName, encodedValue);\n cleanValidation(\"serverKey\");\n }}\n accept=\".key,.pem\"\n id=\"serverKey\"\n name=\"serverKey\"\n label=\"Key\"\n error={validationErrors[\"serverKey\"] || \"\"}\n value={serverCertificate.key}\n required={!enableAutoCert}\n />\n {\n addFileServerCert(\"cert\", fileName, encodedValue);\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={serverCertificate.cert}\n required={!enableAutoCert}\n />\n
\n
\n
\n\n \n \n
\n \n Mutual TLS authentication\n \n {\n addFileClientCert(\"key\", fileName, encodedValue);\n cleanValidation(\"clientKey\");\n }}\n accept=\".key,.pem\"\n id=\"clientKey\"\n name=\"clientKey\"\n label=\"Key\"\n error={validationErrors[\"clientKey\"] || \"\"}\n value={clientCertificate.key}\n required={!enableAutoCert}\n />\n {\n addFileClientCert(\"cert\", fileName, encodedValue);\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={clientCertificate.cert}\n required={!enableAutoCert}\n />\n
\n
\n
\n
\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
\n \n Mutual TLS authentication (optional)\n \n {\n addFileVaultCert(\"key\", fileName, encodedValue);\n cleanValidation(\"vault_key\");\n }}\n accept=\".key,.pem\"\n id=\"vault_key\"\n name=\"vault_key\"\n label=\"Key\"\n value={vaultCertificate.key}\n />\n {\n addFileVaultCert(\"cert\", fileName, encodedValue);\n cleanValidation(\"vault_cert\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"vault_cert\"\n name=\"vault_cert\"\n label=\"Cert\"\n value={vaultCertificate.cert}\n />\n {\n addFileVaultCa(fileName, encodedValue);\n cleanValidation(\"vault_ca\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"vault_ca\"\n name=\"vault_ca\"\n label=\"CA\"\n value={vaultCA.cert}\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 {encryptionType === \"azure\" && (\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 \n Credentials\n \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 {encryptionType === \"gcp\" && (\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 \n Credentials\n \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 {encryptionType === \"aws\" && (\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 \n Credentials\n \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 {encryptionType === \"gemalto\" && (\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 \n Credentials\n \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 Custom CA Root certificate verification\n \n\n {\n addFileGemaltoCa(fileName, encodedValue);\n cleanValidation(\"gemalto_ca\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"gemalto_ca\"\n name=\"gemalto_ca\"\n label=\"CA\"\n value={gemaltoCA.cert}\n />\n
\n \n
\n )}\n
\n

Additional Configurations

\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 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 min=\"0\"\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
\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\nconst mapState = (state: AppState) => ({\n replicas: state.tenants.createTenant.fields.encryption.replicas,\n enableEncryption:\n state.tenants.createTenant.fields.encryption.enableEncryption,\n encryptionType: state.tenants.createTenant.fields.encryption.encryptionType,\n gemaltoEndpoint: state.tenants.createTenant.fields.encryption.gemaltoEndpoint,\n gemaltoToken: state.tenants.createTenant.fields.encryption.gemaltoToken,\n gemaltoDomain: state.tenants.createTenant.fields.encryption.gemaltoDomain,\n gemaltoRetry: state.tenants.createTenant.fields.encryption.gemaltoRetry,\n awsEndpoint: state.tenants.createTenant.fields.encryption.awsEndpoint,\n awsRegion: state.tenants.createTenant.fields.encryption.awsRegion,\n awsKMSKey: state.tenants.createTenant.fields.encryption.awsKMSKey,\n awsAccessKey: state.tenants.createTenant.fields.encryption.awsAccessKey,\n awsSecretKey: state.tenants.createTenant.fields.encryption.awsSecretKey,\n awsToken: state.tenants.createTenant.fields.encryption.awsToken,\n vaultEndpoint: state.tenants.createTenant.fields.encryption.vaultEndpoint,\n vaultEngine: state.tenants.createTenant.fields.encryption.vaultEngine,\n vaultNamespace: state.tenants.createTenant.fields.encryption.vaultNamespace,\n vaultPrefix: state.tenants.createTenant.fields.encryption.vaultPrefix,\n vaultAppRoleEngine:\n state.tenants.createTenant.fields.encryption.vaultAppRoleEngine,\n vaultId: state.tenants.createTenant.fields.encryption.vaultId,\n vaultSecret: state.tenants.createTenant.fields.encryption.vaultSecret,\n vaultRetry: state.tenants.createTenant.fields.encryption.vaultRetry,\n vaultPing: state.tenants.createTenant.fields.encryption.vaultPing,\n azureEndpoint: state.tenants.createTenant.fields.encryption.azureEndpoint,\n azureTenantID: state.tenants.createTenant.fields.encryption.azureTenantID,\n azureClientID: state.tenants.createTenant.fields.encryption.azureClientID,\n azureClientSecret:\n state.tenants.createTenant.fields.encryption.azureClientSecret,\n gcpProjectID: state.tenants.createTenant.fields.encryption.gcpProjectID,\n gcpEndpoint: state.tenants.createTenant.fields.encryption.gcpEndpoint,\n gcpClientEmail: state.tenants.createTenant.fields.encryption.gcpClientEmail,\n gcpClientID: state.tenants.createTenant.fields.encryption.gcpClientID,\n gcpPrivateKeyID: state.tenants.createTenant.fields.encryption.gcpPrivateKeyID,\n gcpPrivateKey: state.tenants.createTenant.fields.encryption.gcpPrivateKey,\n enableCustomCertsForKES:\n state.tenants.createTenant.fields.encryption.enableCustomCertsForKES,\n enableAutoCert: state.tenants.createTenant.fields.security.enableAutoCert,\n enableTLS: state.tenants.createTenant.fields.security.enableTLS,\n minioCertificates: state.tenants.createTenant.certificates.minioCertificates,\n serverCertificate: state.tenants.createTenant.certificates.serverCertificate,\n clientCertificate: state.tenants.createTenant.certificates.clientCertificate,\n vaultCertificate: state.tenants.createTenant.certificates.vaultCertificate,\n vaultCA: state.tenants.createTenant.certificates.vaultCA,\n gemaltoCA: state.tenants.createTenant.certificates.gemaltoCA,\n enableCustomCerts:\n state.tenants.createTenant.fields.security.enableCustomCerts,\n kesSecurityContext:\n state.tenants.createTenant.fields.encryption.kesSecurityContext,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n addFileServerCert,\n addFileClientCert,\n addFileVaultCert,\n addFileVaultCa,\n addFileGemaltoCa,\n});\n\nexport default withStyles(styles)(connector(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 { connect } 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 } from \"../../../../../store\";\nimport { isPageValid, setKeyValuePairs, updateAddField } from \"../../actions\";\nimport { setModalErrorSnackMessage } from \"../../../../../actions\";\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\";\n\ninterface IAffinityProps {\n classes: any;\n podAffinity: string;\n nodeSelectorLabels: string;\n withPodAntiAffinity: boolean;\n keyValuePairs: LabelKeyPair[];\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n setKeyValuePairs: typeof setKeyValuePairs;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n overlayAction: {\n marginLeft: 10,\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 fieldContainer: {\n marginBottom: 0,\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 = ({\n classes,\n podAffinity,\n nodeSelectorLabels,\n withPodAntiAffinity,\n setModalErrorSnackMessage,\n updateAddField,\n keyValuePairs,\n setKeyValuePairs,\n isPageValid,\n}: IAffinityProps) => {\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 updateAddField(\"affinity\", field, value);\n },\n [updateAddField]\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 setModalErrorSnackMessage(err);\n setKeyValueMap({});\n });\n }\n }, [setModalErrorSnackMessage, 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 isPageValid(\"affinity\", Object.keys(commonVal).length === 0);\n\n setValidationErrors(commonVal);\n }, [isPageValid, podAffinity, nodeSelectorLabels]);\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-Affinnity)\", 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 arrCp: LabelKeyPair[] = Object.assign(\n [],\n keyValuePairs\n );\n\n arrCp[i].key = e.target.value as string;\n arrCp[i].value = keyValueMap[newKey][0];\n 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[] = Object.assign(\n [],\n keyValuePairs\n );\n arrCp[i].key = e.target.value;\n setKeyValuePairs(arrCp);\n }}\n index={i}\n placeholder={\"Key\"}\n />\n )}\n \n \n {keyOptions.length > 0 && (\n ) => {\n const arrCp: LabelKeyPair[] = Object.assign(\n [],\n keyValuePairs\n );\n arrCp[i].value = e.target.value as string;\n 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[] = Object.assign(\n [],\n keyValuePairs\n );\n arrCp[i].value = e.target.value;\n setKeyValuePairs(arrCp);\n }}\n index={i}\n placeholder={\"value\"}\n />\n )}\n \n \n
\n {\n const arrCp = Object.assign([], 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 setKeyValuePairs(arrCp);\n }}\n >\n \n \n
\n {keyValuePairs.length > 1 && (\n
\n {\n const arrCp = keyValuePairs.filter(\n (item, index) => index !== i\n );\n setKeyValuePairs(arrCp);\n }}\n >\n \n \n
\n )}\n
\n
\n );\n })}\n
\n
\n
\n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => {\n const createTenant = state.tenants.createTenant;\n\n return {\n podAffinity: createTenant.fields.affinity.podAffinity,\n nodeSelectorLabels: createTenant.fields.affinity.nodeSelectorLabels,\n withPodAntiAffinity: createTenant.fields.affinity.withPodAntiAffinity,\n keyValuePairs: createTenant.nodeSelectorPairs,\n };\n};\n\nconst connector = connect(mapState, {\n setModalErrorSnackMessage,\n updateAddField,\n isPageValid,\n setKeyValuePairs,\n});\n\nexport default withStyles(styles)(connector(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 { connect } 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 { isPageValid, updateAddField } from \"../../actions\";\nimport { AppState } 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\";\n\ninterface IImagesProps {\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n storageClasses: any;\n classes: any;\n customImage: boolean;\n imageName: string;\n customDockerhub: boolean;\n imageRegistry: string;\n imageRegistryUsername: string;\n imageRegistryPassword: string;\n exposeMinIO: boolean;\n exposeConsole: boolean;\n prometheusCustom: boolean;\n tenantCustom: boolean;\n logSearchCustom: boolean;\n logSearchVolumeSize: string;\n logSearchSizeFactor: string;\n prometheusVolumeSize: string;\n prometheusSizeFactor: string;\n logSearchSelectedStorageClass: string;\n logSearchImage: string;\n kesImage: string;\n logSearchPostgresImage: string;\n logSearchPostgresInitImage: string;\n prometheusSelectedStorageClass: string;\n prometheusImage: string;\n prometheusSidecarImage: string;\n prometheusInitImage: string;\n selectedStorageClass: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst Images = ({\n classes,\n storageClasses,\n customImage,\n imageName,\n customDockerhub,\n imageRegistry,\n imageRegistryUsername,\n imageRegistryPassword,\n exposeMinIO,\n exposeConsole,\n prometheusCustom,\n tenantCustom,\n logSearchCustom,\n logSearchVolumeSize,\n logSearchSizeFactor,\n logSearchImage,\n kesImage,\n logSearchPostgresImage,\n logSearchPostgresInitImage,\n prometheusVolumeSize,\n prometheusSizeFactor,\n logSearchSelectedStorageClass,\n prometheusSelectedStorageClass,\n prometheusImage,\n prometheusSidecarImage,\n prometheusInitImage,\n updateAddField,\n isPageValid,\n selectedStorageClass,\n}: IImagesProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"configure\", field, value);\n },\n [updateAddField]\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/logsearchapi: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 isPageValid(\"configure\", Object.keys(commonVal).length === 0);\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 isPageValid,\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 Images used by the Tenant Deployment\n \n
\n\n \n \n ) => {\n updateField(\"imageName\", e.target.value);\n cleanValidation(\"image\");\n }}\n label=\"MinIO's Image\"\n value={imageName}\n error={validationErrors[\"image\"] || \"\"}\n placeholder=\"E.g. minio/minio:RELEASE.2022-01-08T03-11-54Z\"\n />\n \n \n ) => {\n updateField(\"logSearchImage\", e.target.value);\n cleanValidation(\"logSearchImage\");\n }}\n label=\"Log Search API's Image\"\n value={logSearchImage}\n error={validationErrors[\"logSearchImage\"] || \"\"}\n placeholder=\"E.g. minio/logsearchapi:v4.1.1\"\n />\n \n \n ) => {\n updateField(\"kesImage\", e.target.value);\n cleanValidation(\"kesImage\");\n }}\n label=\"KES Image\"\n value={kesImage}\n error={validationErrors[\"kesImage\"] || \"\"}\n placeholder=\"E.g. minio/kes:v0.14.0\"\n />\n \n \n ) => {\n updateField(\"logSearchPostgresImage\", e.target.value);\n cleanValidation(\"logSearchPostgresImage\");\n }}\n label=\"Log Search Postgres's Image\"\n value={logSearchPostgresImage}\n error={validationErrors[\"logSearchPostgresImage\"] || \"\"}\n placeholder=\"E.g. library/postgres:13\"\n />\n \n \n ) => {\n updateField(\"logSearchPostgresInitImage\", e.target.value);\n cleanValidation(\"logSearchPostgresInitImage\");\n }}\n label=\"Log Search Postgres's Init Image\"\n value={logSearchPostgresInitImage}\n error={validationErrors[\"logSearchPostgresInitImage\"] || \"\"}\n placeholder=\"E.g. library/busybox:1.33.1\"\n />\n \n \n ) => {\n updateField(\"prometheusImage\", e.target.value);\n cleanValidation(\"prometheusImage\");\n }}\n label=\"Prometheus Image\"\n value={prometheusImage}\n error={validationErrors[\"prometheusImage\"] || \"\"}\n placeholder=\"E.g. quay.io/prometheus/prometheus:latest\"\n />\n \n \n ) => {\n updateField(\"prometheusSidecarImage\", e.target.value);\n cleanValidation(\"prometheusSidecarImage\");\n }}\n label=\"Prometheus Sidecar Image\"\n value={prometheusSidecarImage}\n error={validationErrors[\"prometheusSidecarImage\"] || \"\"}\n placeholder=\"E.g. quay.io/prometheus/prometheus:latest\"\n />\n \n \n ) => {\n updateField(\"prometheusInitImage\", e.target.value);\n cleanValidation(\"prometheusInitImage\");\n }}\n label=\"Prometheus Init Image\"\n value={prometheusInitImage}\n error={validationErrors[\"prometheusInitImage\"] || \"\"}\n placeholder=\"E.g. quay.io/prometheus/prometheus:latest\"\n />\n \n \n\n {customImage && (\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"customDockerhub\", checked);\n }}\n label={\"Set/Update Image 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=\"E.g. 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\nconst mapState = (state: AppState) => ({\n storageClasses: state.tenants.createTenant.storageClasses,\n customImage: state.tenants.createTenant.fields.configure.customImage,\n imageName: state.tenants.createTenant.fields.configure.imageName,\n customDockerhub: state.tenants.createTenant.fields.configure.customDockerhub,\n imageRegistry: state.tenants.createTenant.fields.configure.imageRegistry,\n imageRegistryUsername:\n state.tenants.createTenant.fields.configure.imageRegistryUsername,\n imageRegistryPassword:\n state.tenants.createTenant.fields.configure.imageRegistryPassword,\n exposeMinIO: state.tenants.createTenant.fields.configure.exposeMinIO,\n exposeConsole: state.tenants.createTenant.fields.configure.exposeConsole,\n prometheusCustom:\n state.tenants.createTenant.fields.configure.prometheusCustom,\n tenantCustom: state.tenants.createTenant.fields.configure.tenantCustom,\n logSearchCustom: state.tenants.createTenant.fields.configure.logSearchCustom,\n logSearchVolumeSize:\n state.tenants.createTenant.fields.configure.logSearchVolumeSize,\n logSearchSizeFactor:\n state.tenants.createTenant.fields.configure.logSearchSizeFactor,\n prometheusVolumeSize:\n state.tenants.createTenant.fields.configure.prometheusVolumeSize,\n prometheusSizeFactor:\n state.tenants.createTenant.fields.configure.prometheusSizeFactor,\n logSearchSelectedStorageClass:\n state.tenants.createTenant.fields.configure.logSearchSelectedStorageClass,\n logSearchImage: state.tenants.createTenant.fields.configure.logSearchImage,\n kesImage: state.tenants.createTenant.fields.configure.kesImage,\n logSearchPostgresImage:\n state.tenants.createTenant.fields.configure.logSearchPostgresImage,\n logSearchPostgresInitImage:\n state.tenants.createTenant.fields.configure.logSearchPostgresInitImage,\n prometheusSelectedStorageClass:\n state.tenants.createTenant.fields.configure.prometheusSelectedStorageClass,\n prometheusImage: state.tenants.createTenant.fields.configure.prometheusImage,\n prometheusSidecarImage:\n state.tenants.createTenant.fields.configure.prometheusSidecarImage,\n prometheusInitImage:\n state.tenants.createTenant.fields.configure.prometheusInitImage,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(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, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\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 {\n deleteDialogStyles,\n modalBasic,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { setErrorSnackMessage } from \"../../../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport api from \"../../../../../../common/api\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmModalIcon } from \"../../../../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wrapText: {\n maxWidth: \"200px\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n },\n ...modalBasic,\n ...deleteDialogStyles,\n });\n\ninterface IAddNamespace {\n classes: any;\n namespace: string;\n addNamespaceOpen: boolean;\n closeAddNamespaceModalAndRefresh: (reloadNamespaceData: boolean) => void;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst AddNamespaceModal = ({\n classes,\n namespace,\n addNamespaceOpen,\n closeAddNamespaceModalAndRefresh,\n setErrorSnackMessage,\n}: IAddNamespace) => {\n const [addNamespaceLoading, setAddNamespaceLoading] =\n useState(false);\n\n useEffect(() => {\n if (addNamespaceLoading) {\n api\n .invoke(\"POST\", \"/api/v1/namespace\", {\n name: namespace,\n })\n .then((res) => {\n setAddNamespaceLoading(false);\n closeAddNamespaceModalAndRefresh(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddNamespaceLoading(false);\n setErrorSnackMessage(err);\n });\n }\n }, [\n addNamespaceLoading,\n closeAddNamespaceModalAndRefresh,\n namespace,\n setErrorSnackMessage,\n ]);\n\n const addNamespace = () => {\n setAddNamespaceLoading(true);\n };\n\n return (\n }\n isLoading={addNamespaceLoading}\n onConfirm={addNamespace}\n onClose={() => {\n closeAddNamespaceModalAndRefresh(false);\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\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddNamespaceModal));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } 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 { isPageValid, updateAddField } from \"../../actions\";\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\";\nimport { Opts } from \"../../ListTenants/utils\";\nimport { IResourcesSize } from \"../../ListTenants/types\";\nimport { IErasureCodeCalc } from \"../../../../../common/types\";\n\nimport { Divider } from \"@mui/material\";\nimport { IntegrationConfiguration } from \"./TenantResources/utils\";\n\ninterface ISizePreviewProps {\n classes: any;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n volumeSize: string;\n sizeFactor: string;\n drivesPerServer: string;\n nodes: string;\n memoryNode: string;\n ecParity: string;\n ecParityChoices: Opts[];\n cleanECChoices: string[];\n resourcesSize: IResourcesSize;\n distribution: any;\n ecParityCalc: IErasureCodeCalc;\n limitSize: any;\n selectedStorageClass: string;\n cpuToUse: string;\n integrationSelection: IntegrationConfiguration;\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 = ({\n classes,\n updateAddField,\n isPageValid,\n volumeSize,\n sizeFactor,\n drivesPerServer,\n nodes,\n memoryNode,\n ecParity,\n ecParityChoices,\n cleanECChoices,\n resourcesSize,\n distribution,\n ecParityCalc,\n limitSize,\n selectedStorageClass,\n cpuToUse,\n integrationSelection,\n}: ISizePreviewProps) => {\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\nconst mapState = (state: AppState) => ({\n volumeSize: state.tenants.createTenant.fields.tenantSize.volumeSize,\n sizeFactor: state.tenants.createTenant.fields.tenantSize.sizeFactor,\n drivesPerServer: state.tenants.createTenant.fields.tenantSize.drivesPerServer,\n nodes: state.tenants.createTenant.fields.tenantSize.nodes,\n memoryNode: state.tenants.createTenant.fields.tenantSize.memoryNode,\n ecParity: state.tenants.createTenant.fields.tenantSize.ecParity,\n ecParityChoices: state.tenants.createTenant.fields.tenantSize.ecParityChoices,\n cleanECChoices: state.tenants.createTenant.fields.tenantSize.cleanECChoices,\n resourcesSize: state.tenants.createTenant.fields.tenantSize.resourcesSize,\n distribution: state.tenants.createTenant.fields.tenantSize.distribution,\n ecParityCalc: state.tenants.createTenant.fields.tenantSize.ecParityCalc,\n limitSize: state.tenants.createTenant.fields.tenantSize.limitSize,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n cpuToUse: state.tenants.createTenant.fields.tenantSize.cpuToUse,\n integrationSelection:\n state.tenants.createTenant.fields.tenantSize.integrationSelection,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(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, { Fragment, useCallback, useEffect } from \"react\";\nimport { connect } 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 { AppState } from \"../../../../../../store\";\nimport { isPageValid, updateAddField } from \"../../../actions\";\nimport {\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport { IResourcesSize } from \"../../../ListTenants/types\";\nimport { AllocableResourcesResponse } from \"../../../types\";\nimport api from \"../../../../../../common/api\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport { floor } from \"lodash\";\n\ninterface ITenantSizeResourcesProps {\n classes: any;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n nodes: string;\n resourcesSize: IResourcesSize;\n selectedStorageClass: string;\n maxAllocatableResources: AllocableResourcesResponse;\n maxCPUsUse: string;\n maxMemorySize: string;\n\n resourcesSpecifyLimit: boolean;\n resourcesCPURequestError: string;\n resourcesCPURequest: string;\n resourcesCPULimitError: string;\n resourcesCPULimit: string;\n resourcesMemoryRequestError: string;\n resourcesMemoryRequest: string;\n resourcesMemoryLimitError: string;\n resourcesMemoryLimit: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n compositeFieldContainer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n compositeAddOn: {\n marginLeft: 10,\n \"& div\": {\n marginBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n \"& div\": {\n marginTop: 5,\n },\n },\n },\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst TenantSizeResources = ({\n classes,\n updateAddField,\n isPageValid,\n nodes,\n\n resourcesSize,\n selectedStorageClass,\n maxAllocatableResources,\n maxCPUsUse,\n maxMemorySize,\n resourcesSpecifyLimit,\n resourcesCPURequestError,\n resourcesCPURequest,\n resourcesCPULimitError,\n resourcesCPULimit,\n resourcesMemoryRequestError,\n resourcesMemoryRequest,\n resourcesMemoryLimitError,\n resourcesMemoryLimit,\n}: ITenantSizeResourcesProps) => {\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"tenantSize\", field, value);\n },\n [updateAddField]\n );\n\n /*Debounce functions*/\n\n useEffect(() => {\n isPageValid(\n \"tenantSize\",\n resourcesMemoryRequestError === \"\" &&\n resourcesMemoryLimitError === \"\" &&\n resourcesCPURequestError === \"\" &&\n resourcesCPULimitError === \"\"\n );\n }, [\n isPageValid,\n resourcesMemoryRequestError,\n resourcesMemoryLimitError,\n resourcesCPURequestError,\n resourcesCPULimitError,\n ]);\n\n /*End debounce functions*/\n\n /*Calculate Allocation*/\n useEffect(() => {\n // Get allocatable Resources\n api\n .invoke(\"GET\", `api/v1/cluster/allocatable-resources?num_nodes=${nodes}`)\n .then((res: AllocableResourcesResponse) => {\n updateField(\"maxAllocatableResources\", res);\n\n const maxAllocatableResources = res;\n\n const memoryExists = get(\n maxAllocatableResources,\n \"min_allocatable_mem\",\n false\n );\n\n const cpuExists = get(\n maxAllocatableResources,\n \"min_allocatable_cpu\",\n false\n );\n\n if (memoryExists === false || cpuExists === false) {\n updateField(\"cpuToUse\", 0);\n\n updateField(\"maxMemorySize\", \"\");\n updateField(\"maxCPUsUse\", \"\");\n\n return;\n }\n\n const maxMemory = floor(\n res.mem_priority.max_allocatable_mem / 1024 / 1024 / 1024\n );\n // We default to Best CPU Configuration\n updateField(\"maxMemorySize\", maxMemory.toString());\n updateField(\n \"maxCPUsUse\",\n res.cpu_priority.max_allocatable_cpu.toString()\n );\n\n const maxAllocatableCPU = get(\n maxAllocatableResources,\n \"cpu_priority.max_allocatable_cpu\",\n 0\n );\n\n const baseCpuUse = Math.max(1, floor(maxAllocatableCPU / 2));\n updateField(\"resourcesCPURequest\", baseCpuUse);\n\n const baseMemoryUse = Math.max(2, floor(maxMemory / 2));\n updateField(\"resourcesMemoryRequest\", baseMemoryUse);\n })\n .catch((err: any) => {\n updateField(\"maxMemorySize\", 0);\n updateField(\"resourcesCPURequest\", \"\");\n\n console.error(err);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [nodes, updateField]);\n\n /*Calculate Allocation End*/\n\n return (\n \n \n
\n

Resources

\n \n You may specify the amount of CPU and Memory that MinIO servers\n should reserve on each node.\n \n
\n
\n {resourcesSize.error !== \"\" && (\n \n
{resourcesSize.error}
\n
\n )}\n\n \n {\n let value = parseInt(e.target.value);\n if (e.target.value === \"\") {\n updateField(\"resourcesCPURequestError\", \"\");\n } else if (isNaN(value)) {\n updateField(\"resourcesCPURequestError\", \"Invalid number\");\n } else if (value > parseInt(maxCPUsUse)) {\n updateField(\n \"resourcesCPURequestError\",\n `Request exceeds available cores (${maxCPUsUse})`\n );\n } else if (e.target.validity.valid) {\n updateField(\"resourcesCPURequestError\", \"\");\n } else {\n updateField(\"resourcesCPURequestError\", \"Invalid configuration\");\n }\n updateField(\"resourcesCPURequest\", e.target.value);\n }}\n value={resourcesCPURequest}\n disabled={selectedStorageClass === \"\"}\n max={maxCPUsUse}\n error={resourcesCPURequestError}\n pattern={\"[0-9]*\"}\n />\n \n\n \n ) => {\n let value = parseInt(e.target.value);\n if (e.target.value === \"\") {\n updateField(\"resourcesMemoryRequestError\", \"\");\n } else if (isNaN(value)) {\n updateField(\"resourcesMemoryRequestError\", \"Invalid number\");\n } else if (value > parseInt(maxMemorySize)) {\n updateField(\n \"resourcesMemoryRequestError\",\n `Request exceeds available memory across ${nodes} nodes (${maxMemorySize}Gi)`\n );\n } else if (value < 2) {\n updateField(\n \"resourcesMemoryRequestError\",\n \"At least 2Gi must be requested\"\n );\n } else if (e.target.validity.valid) {\n updateField(\"resourcesMemoryRequestError\", \"\");\n } else {\n updateField(\n \"resourcesMemoryRequestError\",\n \"Invalid configuration\"\n );\n }\n updateField(\"resourcesMemoryRequest\", e.target.value);\n }}\n label=\"Memory Request [Gi]\"\n value={resourcesMemoryRequest}\n disabled={selectedStorageClass === \"\"}\n error={resourcesMemoryRequestError}\n pattern={\"[0-9]*\"}\n />\n \n\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"resourcesSpecifyLimit\", checked);\n }}\n label={\"Specify Limit\"}\n />\n \n\n {resourcesSpecifyLimit && (\n \n \n {\n let value = parseInt(e.target.value);\n if (e.target.value === \"\") {\n updateField(\"resourcesCPULimitError\", \"\");\n } else if (isNaN(value)) {\n updateField(\"resourcesCPULimitError\", \"Invalid number\");\n } else if (e.target.validity.valid) {\n updateField(\"resourcesCPULimitError\", \"\");\n } else {\n updateField(\n \"resourcesCPULimitError\",\n \"Invalid configuration\"\n );\n }\n updateField(\"resourcesCPULimit\", e.target.value);\n }}\n value={resourcesCPULimit}\n disabled={selectedStorageClass === \"\"}\n max={maxCPUsUse}\n error={resourcesCPULimitError}\n pattern={\"[0-9]*\"}\n />\n \n\n \n ) => {\n let value = parseInt(e.target.value);\n console.log(\"value\", value);\n if (e.target.value === \"\") {\n updateField(\"resourcesMemoryLimitError\", \"\");\n } else if (isNaN(value)) {\n updateField(\"resourcesMemoryLimitError\", \"Invalid number\");\n } else if (e.target.validity.valid) {\n updateField(\"resourcesMemoryLimitError\", \"\");\n } else {\n updateField(\n \"resourcesMemoryLimitError\",\n \"Invalid configuration\"\n );\n }\n updateField(\"resourcesMemoryLimit\", e.target.value);\n }}\n label=\"Memory Limit [Gi]\"\n value={resourcesMemoryLimit}\n disabled={selectedStorageClass === \"\"}\n error={resourcesMemoryLimitError}\n pattern={\"[0-9]*\"}\n />\n \n \n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n nodes: state.tenants.createTenant.fields.tenantSize.nodes,\n\n resourcesSize: state.tenants.createTenant.fields.tenantSize.resourcesSize,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n maxAllocatableResources:\n state.tenants.createTenant.fields.tenantSize.maxAllocatableResources,\n maxCPUsUse: state.tenants.createTenant.fields.tenantSize.maxCPUsUse,\n maxMemorySize: state.tenants.createTenant.fields.tenantSize.maxMemorySize,\n\n resourcesSpecifyLimit:\n state.tenants.createTenant.fields.tenantSize.resourcesSpecifyLimit,\n\n resourcesCPURequestError:\n state.tenants.createTenant.fields.tenantSize.resourcesCPURequestError,\n resourcesCPURequest:\n state.tenants.createTenant.fields.tenantSize.resourcesCPURequest,\n resourcesCPULimitError:\n state.tenants.createTenant.fields.tenantSize.resourcesCPULimitError,\n resourcesCPULimit:\n state.tenants.createTenant.fields.tenantSize.resourcesCPULimit,\n\n resourcesMemoryRequestError:\n state.tenants.createTenant.fields.tenantSize.resourcesMemoryRequestError,\n resourcesMemoryRequest:\n state.tenants.createTenant.fields.tenantSize.resourcesMemoryRequest,\n resourcesMemoryLimitError:\n state.tenants.createTenant.fields.tenantSize.resourcesMemoryLimitError,\n resourcesMemoryLimit:\n state.tenants.createTenant.fields.tenantSize.resourcesMemoryLimit,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(TenantSizeResources));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport { SelectChangeEvent } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../../store\";\nimport { isPageValid, updateAddField } from \"../../../actions\";\nimport {\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n calculateDistribution,\n erasureCodeCalc,\n getBytes,\n k8sfactorForDropdown,\n niceBytes,\n} from \"../../../../../../common/utils\";\nimport { clearValidationError } from \"../../../utils\";\nimport { ecListTransform, Opts } from \"../../../ListTenants/utils\";\nimport { IResourcesSize } from \"../../../ListTenants/types\";\nimport { ICapacity, IErasureCodeCalc } from \"../../../../../../common/types\";\nimport { commonFormValidation } from \"../../../../../../utils/validationFunctions\";\nimport api from \"../../../../../../common/api\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport TenantSizeResources from \"./TenantSizeResources\";\n\ninterface ITenantSizeProps {\n classes: any;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n volumeSize: string;\n sizeFactor: string;\n drivesPerServer: string;\n nodes: string;\n memoryNode: string;\n ecParity: string;\n ecParityChoices: Opts[];\n cleanECChoices: string[];\n resourcesSize: IResourcesSize;\n distribution: any;\n ecParityCalc: IErasureCodeCalc;\n limitSize: any;\n selectedStorageClass: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n compositeFieldContainer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n compositeAddOn: {\n marginLeft: 10,\n \"& div\": {\n marginBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n \"& div\": {\n marginTop: 5,\n },\n },\n },\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst TenantSize = ({\n classes,\n updateAddField,\n isPageValid,\n volumeSize,\n sizeFactor,\n drivesPerServer,\n nodes,\n memoryNode,\n ecParity,\n ecParityChoices,\n cleanECChoices,\n resourcesSize,\n distribution,\n ecParityCalc,\n limitSize,\n selectedStorageClass,\n}: ITenantSizeProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n const [errorFlag, setErrorFlag] = useState(false);\n const [nodeError, setNodeError] = useState(\"\");\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"tenantSize\", field, value);\n },\n [updateAddField]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n /*Debounce functions*/\n\n // Storage Quotas\n\n useEffect(() => {\n if (ecParityChoices.length > 0 && distribution.error === \"\") {\n const ecCodeValidated = erasureCodeCalc(\n cleanECChoices,\n distribution.persistentVolumes,\n distribution.pvSize,\n distribution.nodes\n );\n\n updateField(\"ecParityCalc\", ecCodeValidated);\n if (!cleanECChoices.includes(ecParity) || ecParity === \"\") {\n updateField(\"ecParity\", ecCodeValidated.defaultEC);\n }\n }\n }, [\n ecParity,\n ecParityChoices.length,\n distribution,\n cleanECChoices,\n updateField,\n ]);\n /*End debounce functions*/\n\n /*Calculate Allocation*/\n useEffect(() => {\n //Validate Cluster Size\n const size = volumeSize;\n const factor = sizeFactor;\n const limitSize = getBytes(\"12\", \"Ti\", true);\n\n const clusterCapacity: ICapacity = {\n unit: factor,\n value: size.toString(),\n };\n\n const distrCalculate = calculateDistribution(\n clusterCapacity,\n parseInt(nodes),\n parseInt(limitSize),\n parseInt(drivesPerServer)\n );\n\n updateField(\"distribution\", distrCalculate);\n setErrorFlag(false);\n setNodeError(\"\");\n }, [nodes, volumeSize, sizeFactor, updateField, drivesPerServer]);\n\n /*Calculate Allocation End*/\n\n /* Validations of pages */\n\n useEffect(() => {\n const parsedSize = getBytes(volumeSize, sizeFactor, true);\n\n const commonValidation = commonFormValidation([\n {\n fieldKey: \"nodes\",\n required: true,\n value: nodes,\n customValidation: errorFlag,\n customValidationMessage: nodeError,\n },\n {\n fieldKey: \"volume_size\",\n required: true,\n value: volumeSize,\n customValidation:\n parseInt(parsedSize) < 1073741824 ||\n parseInt(parsedSize) > limitSize[selectedStorageClass],\n customValidationMessage: `Volume size must be greater than 1Gi and less than ${niceBytes(\n limitSize[selectedStorageClass],\n true\n )}`,\n },\n {\n fieldKey: \"drivesps\",\n required: true,\n value: drivesPerServer,\n customValidation: parseInt(drivesPerServer) < 1,\n customValidationMessage: \"There must be at least one drive\",\n },\n ]);\n\n isPageValid(\n \"tenantSize\",\n !(\"nodes\" in commonValidation) &&\n !(\"volume_size\" in commonValidation) &&\n !(\"drivesps\" in commonValidation) &&\n distribution.error === \"\" &&\n ecParityCalc.error === 0 &&\n ecParity !== \"\"\n );\n\n setValidationErrors(commonValidation);\n }, [\n nodes,\n volumeSize,\n sizeFactor,\n memoryNode,\n distribution,\n ecParityCalc,\n resourcesSize,\n limitSize,\n selectedStorageClass,\n isPageValid,\n errorFlag,\n nodeError,\n drivesPerServer,\n ecParity,\n ]);\n\n useEffect(() => {\n if (distribution.error === \"\") {\n // Get EC Value\n if (nodes.trim() !== \"\" && distribution.disks !== 0) {\n api\n .invoke(\"GET\", `api/v1/get-parity/${nodes}/${distribution.disks}`)\n .then((ecList: string[]) => {\n updateField(\"ecParityChoices\", ecListTransform(ecList));\n updateField(\"cleanECChoices\", ecList);\n })\n .catch((err: any) => {\n updateField(\"ecparityChoices\", []);\n isPageValid(\"tenantSize\", false);\n updateField(\"ecParity\", \"\");\n });\n }\n }\n }, [distribution, isPageValid, updateField, nodes]);\n\n /* End Validation of pages */\n\n return (\n \n \n
\n

Capacity

\n \n Please select the desired capacity\n \n
\n
\n {distribution.error !== \"\" && (\n \n
{distribution.error}
\n
\n )}\n \n ) => {\n if (e.target.validity.valid) {\n updateField(\"nodes\", e.target.value);\n cleanValidation(\"nodes\");\n }\n }}\n label=\"Number of Servers\"\n disabled={selectedStorageClass === \"\"}\n value={nodes}\n min=\"4\"\n required\n error={validationErrors[\"nodes\"] || \"\"}\n pattern={\"[0-9]*\"}\n />\n \n \n ) => {\n if (e.target.validity.valid) {\n updateField(\"drivesPerServer\", e.target.value);\n cleanValidation(\"drivesps\");\n }\n }}\n label=\"Drives per Server\"\n value={drivesPerServer}\n disabled={selectedStorageClass === \"\"}\n min=\"1\"\n required\n error={validationErrors[\"drivesps\"] || \"\"}\n pattern={\"[0-9]*\"}\n />\n \n \n
\n
\n
\n ) => {\n updateField(\"volumeSize\", e.target.value);\n cleanValidation(\"volume_size\");\n }}\n label=\"Total Size\"\n value={volumeSize}\n disabled={selectedStorageClass === \"\"}\n required\n error={validationErrors[\"volume_size\"] || \"\"}\n min=\"0\"\n />\n
\n ) => {\n updateField(\"sizeFactor\", e.target.value as string);\n }}\n options={k8sfactorForDropdown()}\n />\n
\n
\n
\n
\n
\n\n \n ) => {\n updateField(\"ecParity\", e.target.value as string);\n }}\n label=\"Erasure Code Parity\"\n disabled={selectedStorageClass === \"\"}\n value={ecParity}\n options={ecParityChoices}\n />\n \n Please select the desired parity. This setting will change the max\n usable capacity in the cluster\n \n \n\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n volumeSize: state.tenants.createTenant.fields.tenantSize.volumeSize,\n sizeFactor: state.tenants.createTenant.fields.tenantSize.sizeFactor,\n drivesPerServer: state.tenants.createTenant.fields.tenantSize.drivesPerServer,\n nodes: state.tenants.createTenant.fields.tenantSize.nodes,\n memoryNode: state.tenants.createTenant.fields.tenantSize.memoryNode,\n ecParity: state.tenants.createTenant.fields.tenantSize.ecParity,\n ecParityChoices: state.tenants.createTenant.fields.tenantSize.ecParityChoices,\n cleanECChoices: state.tenants.createTenant.fields.tenantSize.cleanECChoices,\n\n resourcesSize: state.tenants.createTenant.fields.tenantSize.resourcesSize,\n distribution: state.tenants.createTenant.fields.tenantSize.distribution,\n ecParityCalc: state.tenants.createTenant.fields.tenantSize.ecParityCalc,\n limitSize: state.tenants.createTenant.limitSize,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(TenantSize));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport { SelectChangeEvent } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../../store\";\nimport { isPageValid, updateAddField } from \"../../../actions\";\nimport {\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport { erasureCodeCalc, getBytes } from \"../../../../../../common/utils\";\nimport { clearValidationError } from \"../../../utils\";\nimport { ecListTransform, Opts } from \"../../../ListTenants/utils\";\nimport { IResourcesSize } from \"../../../ListTenants/types\";\nimport {\n IErasureCodeCalc,\n IStorageDistribution,\n} from \"../../../../../../common/types\";\nimport { commonFormValidation } from \"../../../../../../utils/validationFunctions\";\nimport api from \"../../../../../../common/api\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport {\n IMkEnvs,\n IntegrationConfiguration,\n mkPanelConfigurations,\n} from \"./utils\";\n\ninterface ITenantSizeAWSProps {\n classes: any;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n volumeSize: string;\n sizeFactor: string;\n drivesPerServer: string;\n nodes: string;\n memoryNode: string;\n ecParity: string;\n ecParityChoices: Opts[];\n cleanECChoices: string[];\n resourcesSize: IResourcesSize;\n distribution: any;\n ecParityCalc: IErasureCodeCalc;\n limitSize: any;\n selectedStorageType: string;\n cpuToUse: string;\n maxCPUsUse: string;\n formToRender?: IMkEnvs;\n integrationSelection: IntegrationConfiguration;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n compositeFieldContainer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n compositeAddOn: {\n marginLeft: 10,\n \"& div\": {\n marginBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n \"& div\": {\n marginTop: 5,\n },\n },\n },\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst TenantSizeMK = ({\n classes,\n updateAddField,\n isPageValid,\n volumeSize,\n sizeFactor,\n drivesPerServer,\n nodes,\n memoryNode,\n ecParity,\n ecParityChoices,\n cleanECChoices,\n resourcesSize,\n distribution,\n ecParityCalc,\n limitSize,\n cpuToUse,\n selectedStorageType,\n maxCPUsUse,\n formToRender,\n integrationSelection,\n}: ITenantSizeAWSProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"tenantSize\", field, value);\n },\n [updateAddField]\n );\n\n const updateMainField = useCallback(\n (field: string, value: string) => {\n updateAddField(\"nameTenant\", field, value);\n },\n [updateAddField]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n /*Debounce functions*/\n\n // Storage Quotas\n useEffect(() => {\n if (ecParityChoices.length > 0 && distribution.error === \"\") {\n const ecCodeValidated = erasureCodeCalc(\n cleanECChoices,\n distribution.persistentVolumes,\n distribution.pvSize,\n distribution.nodes\n );\n\n updateField(\"ecParityCalc\", ecCodeValidated);\n\n if (!cleanECChoices.includes(ecParity) || ecParity === \"\") {\n updateField(\"ecParity\", ecCodeValidated.defaultEC);\n }\n }\n }, [ecParity, ecParityChoices, distribution, cleanECChoices, updateField]);\n /*End debounce functions*/\n\n /*Set location Storage Types*/\n useEffect(() => {\n if (formToRender !== undefined && parseInt(nodes) >= 4) {\n const setConfigs = mkPanelConfigurations[formToRender];\n const keyCount = Object.keys(setConfigs).length;\n\n //Configuration is filled\n if (keyCount > 0) {\n const configs: IntegrationConfiguration[] = get(\n setConfigs,\n \"configurations\",\n []\n );\n\n const mainSelection = configs.find(\n (item) => item.typeSelection === selectedStorageType\n );\n\n if (mainSelection) {\n updateField(\"integrationSelection\", mainSelection);\n updateMainField(\"selectedStorageClass\", mainSelection.storageClass);\n\n let pvSize = parseInt(\n getBytes(\n mainSelection.driveSize.driveSize,\n mainSelection.driveSize.sizeUnit,\n true\n ),\n 10\n );\n\n const distrCalculate: IStorageDistribution = {\n pvSize,\n nodes: parseInt(nodes),\n disks: mainSelection.drivesPerServer,\n persistentVolumes: mainSelection.drivesPerServer * parseInt(nodes),\n error: \"\",\n };\n\n updateField(\"distribution\", distrCalculate);\n // apply requests, half of the available resources\n updateField(\n \"resourcesCPURequest\",\n Math.max(1, mainSelection.CPU / 2)\n );\n updateField(\n \"resourcesMemoryRequest\",\n Math.max(2, mainSelection.memory / 2)\n );\n }\n }\n }\n }, [nodes, selectedStorageType, formToRender, updateField, updateMainField]);\n\n /*Calculate Allocation End*/\n\n /* Validations of pages */\n\n useEffect(() => {\n const commonValidation = commonFormValidation([\n {\n fieldKey: \"nodes\",\n required: true,\n value: nodes,\n customValidation: parseInt(nodes) < 4,\n customValidationMessage: \"Al least 4 servers must be selected\",\n },\n ]);\n\n isPageValid(\n \"tenantSize\",\n !(\"nodes\" in commonValidation) &&\n distribution.error === \"\" &&\n ecParityCalc.error === 0 &&\n resourcesSize.error === \"\" &&\n ecParity !== \"\" &&\n parseInt(nodes) >= 4\n );\n\n setValidationErrors(commonValidation);\n }, [\n nodes,\n volumeSize,\n sizeFactor,\n memoryNode,\n distribution,\n ecParityCalc,\n resourcesSize,\n limitSize,\n selectedStorageType,\n cpuToUse,\n maxCPUsUse,\n isPageValid,\n drivesPerServer,\n ecParity,\n ]);\n\n useEffect(() => {\n if (integrationSelection.drivesPerServer !== 0) {\n // Get EC Value\n if (nodes.trim() !== \"\") {\n api\n .invoke(\n \"GET\",\n `api/v1/get-parity/${nodes}/${integrationSelection.drivesPerServer}`\n )\n .then((ecList: string[]) => {\n updateField(\"ecParityChoices\", ecListTransform(ecList));\n updateField(\"cleanECChoices\", ecList);\n })\n .catch((err: any) => {\n updateField(\"ecparityChoices\", []);\n isPageValid(\"tenantSize\", false);\n updateField(\"ecParity\", \"\");\n });\n }\n }\n }, [integrationSelection, nodes, isPageValid, updateField]);\n\n /* End Validation of pages */\n\n return (\n \n \n
\n

Tenant Size

\n \n Please select the desired capacity\n \n
\n
\n {distribution.error !== \"\" && (\n \n
{distribution.error}
\n
\n )}\n {resourcesSize.error !== \"\" && (\n \n
{resourcesSize.error}
\n
\n )}\n \n ) => {\n if (e.target.validity.valid) {\n updateField(\"nodes\", e.target.value);\n cleanValidation(\"nodes\");\n }\n }}\n label=\"Number of Servers\"\n disabled={selectedStorageType === \"\"}\n value={nodes}\n min=\"4\"\n required\n error={validationErrors[\"nodes\"] || \"\"}\n pattern={\"[0-9]*\"}\n />\n \n \n ) => {\n updateField(\"ecParity\", e.target.value as string);\n }}\n label=\"Erasure Code Parity\"\n disabled={selectedStorageType === \"\"}\n value={ecParity}\n options={ecParityChoices}\n />\n \n Please select the desired parity. This setting will change the max\n usable capacity in the cluster\n \n \n
\n );\n};\n\nconst mapState = (state: AppState) => () => {\n const createTenant = state.tenants.createTenant;\n\n const {\n memoryNode,\n ecParityChoices,\n distribution,\n cleanECChoices,\n sizeFactor,\n ecParity,\n cpuToUse,\n integrationSelection,\n resourcesSize,\n drivesPerServer,\n maxCPUsUse,\n ecParityCalc,\n volumeSize,\n nodes,\n } = createTenant.fields.tenantSize;\n\n return {\n volumeSize,\n sizeFactor,\n drivesPerServer,\n nodes,\n memoryNode,\n ecParity,\n ecParityChoices,\n cleanECChoices,\n resourcesSize,\n distribution,\n ecParityCalc,\n cpuToUse,\n maxCPUsUse,\n integrationSelection,\n limitSize: createTenant.limitSize,\n selectedStorageType: createTenant.fields.nameTenant.selectedStorageType,\n };\n};\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(TenantSizeMK));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, {\n Fragment,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { connect } 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 debounce from \"lodash/debounce\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../../../actions\";\nimport {\n isPageValid,\n setLimitSize,\n setStorageClassesList,\n updateAddField,\n} from \"../../../actions\";\nimport {\n getLimitSizes,\n IQuotaElement,\n IQuotas,\n Opts,\n} from \"../../../ListTenants/utils\";\nimport { AppState } from \"../../../../../../store\";\nimport { commonFormValidation } from \"../../../../../../utils/validationFunctions\";\nimport { clearValidationError } from \"../../../utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport api from \"../../../../../../common/api\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport AddIcon from \"../../../../../../icons/AddIcon\";\nimport AddNamespaceModal from \"../helpers/AddNamespaceModal\";\nimport SizePreview from \"../SizePreview\";\nimport TenantSize from \"./TenantSize\";\nimport { Paper, SelectChangeEvent } from \"@mui/material\";\nimport { IMkEnvs, mkPanelConfigurations } from \"./utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n sizePreview: {\n position: \"fixed\",\n marginLeft: 10,\n background: \"#FFFFFF\",\n border: \"1px solid #EAEAEA\",\n padding: 2,\n },\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\ninterface INameTenantMainScreen {\n classes: any;\n storageClasses: Opts[];\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n setStorageClassesList: typeof setStorageClassesList;\n setLimitSize: typeof setLimitSize;\n tenantName: string;\n namespace: string;\n selectedStorageClass: string;\n selectedStorageType: string;\n formToRender?: IMkEnvs;\n}\n\nconst NameTenantMain = ({\n classes,\n storageClasses,\n tenantName,\n namespace,\n selectedStorageClass,\n selectedStorageType,\n formToRender = IMkEnvs.default,\n updateAddField,\n setStorageClassesList,\n setLimitSize,\n isPageValid,\n setModalErrorSnackMessage,\n}: INameTenantMainScreen) => {\n const [validationErrors, setValidationErrors] = useState({});\n const [emptyNamespace, setEmptyNamespace] = useState(true);\n const [loadingNamespaceInfo, setLoadingNamespaceInfo] =\n useState(false);\n const [showCreateButton, setShowCreateButton] = useState(false);\n const [openAddNSConfirm, setOpenAddNSConfirm] = useState(false);\n\n // Common\n const updateField = useCallback(\n (field: string, value: string) => {\n updateAddField(\"nameTenant\", field, value);\n },\n [updateAddField]\n );\n\n // Storage classes retrieval\n const getNamespaceInformation = useCallback(() => {\n setShowCreateButton(false);\n // Empty tenantValidation\n api\n .invoke(\"GET\", `/api/v1/namespaces/${namespace}/tenants`)\n .then((res: any[]) => {\n const tenantsList = get(res, \"tenants\", []);\n\n if (tenantsList && tenantsList.length > 0) {\n setEmptyNamespace(false);\n setLoadingNamespaceInfo(false);\n return;\n }\n setEmptyNamespace(true);\n\n // Storagequotas retrieval\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${namespace}/resourcequotas/${namespace}-storagequota`\n )\n .then((res: IQuotas) => {\n const elements: IQuotaElement[] = get(res, \"elements\", []);\n setLimitSize(getLimitSizes(res));\n\n const newStorage = elements.map((storageClass: any) => {\n const name = get(storageClass, \"name\", \"\").split(\n \".storageclass.storage.k8s.io/requests.storage\"\n )[0];\n\n return { label: name, value: name };\n });\n\n setStorageClassesList(newStorage);\n\n const stExists = newStorage.findIndex(\n (storageClass) => storageClass.value === selectedStorageClass\n );\n\n if (newStorage.length > 0 && stExists === -1) {\n updateField(\"selectedStorageClass\", newStorage[0].value);\n } else if (newStorage.length === 0) {\n updateField(\"selectedStorageClass\", \"\");\n setStorageClassesList([]);\n }\n setLoadingNamespaceInfo(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingNamespaceInfo(false);\n setShowCreateButton(true);\n updateField(\"selectedStorageClass\", \"\");\n setStorageClassesList([]);\n console.error(\"Namespace error: \", err);\n });\n })\n .catch((err: ErrorResponseHandler) => {\n setModalErrorSnackMessage({\n errorMessage: \"Error validating if namespace already has tenants\",\n detailedError: err.detailedError,\n });\n });\n }, [\n namespace,\n setLimitSize,\n setModalErrorSnackMessage,\n setStorageClassesList,\n updateField,\n selectedStorageClass,\n ]);\n\n const debounceNamespace = useMemo(\n () => debounce(getNamespaceInformation, 500),\n [getNamespaceInformation]\n );\n\n useEffect(() => {\n if (namespace !== \"\") {\n debounceNamespace();\n setLoadingNamespaceInfo(true);\n\n // Cancel previous debounce calls during useEffect cleanup.\n return debounceNamespace.cancel;\n }\n }, [debounceNamespace, namespace]);\n\n // Validation\n useEffect(() => {\n let customNamespaceError = false;\n let errorMessage = \"\";\n\n if (!emptyNamespace && !loadingNamespaceInfo) {\n customNamespaceError = true;\n errorMessage = \"You can only create one tenant per namespace\";\n } else if (\n storageClasses.length < 1 &&\n emptyNamespace &&\n !loadingNamespaceInfo\n ) {\n customNamespaceError = true;\n errorMessage = \"Please enter a valid namespace\";\n }\n\n const commonValidation = commonFormValidation([\n {\n fieldKey: \"tenant-name\",\n required: true,\n pattern: /^[a-z0-9-]{3,63}$/,\n customPatternMessage:\n \"Name only can contain lowercase letters, numbers and '-'. Min. Length: 3\",\n value: tenantName,\n },\n {\n fieldKey: \"namespace\",\n required: true,\n value: namespace,\n customValidation: customNamespaceError,\n customValidationMessage: errorMessage,\n },\n ]);\n\n const isValid =\n !(\"tenant-name\" in commonValidation) &&\n !(\"namespace\" in commonValidation) &&\n ((formToRender === IMkEnvs.default && storageClasses.length > 0) ||\n (formToRender !== IMkEnvs.default && selectedStorageType !== \"\"));\n\n isPageValid(\"nameTenant\", isValid);\n\n setValidationErrors(commonValidation);\n }, [\n storageClasses,\n namespace,\n tenantName,\n isPageValid,\n emptyNamespace,\n loadingNamespaceInfo,\n selectedStorageType,\n formToRender,\n ]);\n\n const frmValidationCleanup = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n const addNamespace = () => {\n setOpenAddNSConfirm(true);\n };\n\n const closeAddNamespace = (refresh: boolean) => {\n setOpenAddNSConfirm(false);\n\n if (refresh) {\n debounceNamespace();\n }\n };\n\n return (\n \n {openAddNSConfirm && (\n \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 updateField(\"tenantName\", e.target.value);\n frmValidationCleanup(\"tenant-name\");\n }}\n label=\"Name\"\n value={tenantName}\n required\n error={validationErrors[\"tenant-name\"] || \"\"}\n />\n
\n
\n \n ) => {\n updateField(\"namespace\", e.target.value);\n frmValidationCleanup(\"namespace\");\n }}\n label=\"Namespace\"\n value={namespace}\n error={validationErrors[\"namespace\"] || \"\"}\n overlayIcon={showCreateButton ? : null}\n overlayAction={addNamespace}\n required\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 updateField(\n \"selectedStorageType\",\n e.target.value as string\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\nconst mapState = (state: AppState) => ({\n tenantName: state.tenants.createTenant.fields.nameTenant.tenantName,\n namespace: state.tenants.createTenant.fields.nameTenant.namespace,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n selectedStorageType:\n state.tenants.createTenant.fields.nameTenant.selectedStorageType,\n storageClasses: state.tenants.createTenant.storageClasses,\n});\n\nconst connector = connect(mapState, {\n setModalErrorSnackMessage,\n updateAddField,\n setStorageClassesList,\n setLimitSize,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(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 { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport NameTenantMain from \"./NameTenantMain\";\nimport { IMkEnvs, resourcesConfigurations } from \"./utils\";\nimport { AppState } from \"../../../../../../store\";\n\ninterface ITenantResources {\n features?: string[];\n}\n\nconst TenantResources = ({ features }: ITenantResources) => {\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\nconst mapState = (state: AppState) => ({\n features: state.console.session.features,\n});\n\nconst connector = connect(mapState, null);\n\nexport default connector(TenantResources);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } 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 withStyles from \"@mui/styles/withStyles\";\nimport {\n modalBasic,\n settingsCommon,\n wizardCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport api from \"../../../../common/api\";\nimport { generatePoolName } from \"../../../../common/utils\";\nimport GenericWizard from \"../../Common/GenericWizard/GenericWizard\";\nimport { IWizardElement } from \"../../Common/GenericWizard/types\";\nimport { NewServiceAccount } from \"../../Common/CredentialsPrompt/types\";\nimport { ErrorResponseHandler, ITenantCreator } from \"../../../../common/types\";\nimport { KeyPair } from \"../ListTenants/utils\";\n\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { getDefaultAffinity, getNodeSelector } from \"../TenantDetails/utils\";\nimport CredentialsPrompt from \"../../Common/CredentialsPrompt/CredentialsPrompt\";\nimport { AppState } from \"../../../../store\";\nimport { ICertificatesItems, IFieldStore } from \"../types\";\nimport { resetAddTenantForm, updateAddField } from \"../actions\";\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 history from \"../../../../history\";\nimport Images from \"./Steps/Images\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport BackLink from \"../../../../common/BackLink\";\nimport TenantResources from \"./Steps/TenantResources/TenantResources\";\n\ninterface IAddTenantProps {\n setErrorSnackMessage: typeof setErrorSnackMessage;\n resetAddTenantForm: typeof resetAddTenantForm;\n updateAddField: typeof updateAddField;\n fields: IFieldStore;\n certificates: ICertificatesItems;\n selectedStorageClass: string;\n namespace: string;\n validPages: string[];\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n pageBox: {\n border: \"1px solid #EAEAEA\",\n },\n ...modalBasic,\n ...wizardCommon,\n ...settingsCommon,\n });\n\nconst AddTenant = ({\n classes,\n fields,\n certificates,\n selectedStorageClass,\n namespace,\n validPages,\n setErrorSnackMessage,\n resetAddTenantForm,\n}: IAddTenantProps) => {\n // Modals\n const [showNewCredentials, setShowNewCredentials] = useState(false);\n const [createdAccount, setCreatedAccount] =\n useState(null);\n\n // Fields\n const [addSending, setAddSending] = useState(false);\n\n /* Send Information to backend */\n useEffect(() => {\n const tenantName = fields.nameTenant.tenantName;\n const selectedStorageClass = fields.nameTenant.selectedStorageClass;\n const imageName = fields.configure.imageName;\n const customDockerhub = fields.configure.customDockerhub;\n const imageRegistry = fields.configure.imageRegistry;\n const imageRegistryUsername = fields.configure.imageRegistryUsername;\n const imageRegistryPassword = fields.configure.imageRegistryPassword;\n const exposeMinIO = fields.configure.exposeMinIO;\n const exposeConsole = fields.configure.exposeConsole;\n const idpSelection = fields.identityProvider.idpSelection;\n const openIDConfigurationURL =\n fields.identityProvider.openIDConfigurationURL;\n const openIDClientID = fields.identityProvider.openIDClientID;\n const openIDClaimName = fields.identityProvider.openIDClaimName;\n const openIDCallbackURL = fields.identityProvider.openIDCallbackURL;\n const openIDScopes = fields.identityProvider.openIDScopes;\n const openIDSecretID = fields.identityProvider.openIDSecretID;\n const ADURL = fields.identityProvider.ADURL;\n const ADSkipTLS = fields.identityProvider.ADSkipTLS;\n const ADServerInsecure = fields.identityProvider.ADServerInsecure;\n const ADUserNameSearchFilter =\n fields.identityProvider.ADUserNameSearchFilter;\n const ADGroupSearchBaseDN = fields.identityProvider.ADGroupSearchBaseDN;\n const ADGroupSearchFilter = fields.identityProvider.ADGroupSearchFilter;\n const ADGroupNameAttribute = fields.identityProvider.ADGroupNameAttribute;\n const ADUserDNs = fields.identityProvider.ADUserDNs;\n const ADUserNameFormat = fields.identityProvider.ADUserNameFormat;\n const ADLookupBindDN = fields.identityProvider.ADLookupBindDN;\n const ADLookupBindPassword = fields.identityProvider.ADLookupBindPassword;\n const ADUserDNSearchBaseDN = fields.identityProvider.ADUserDNSearchBaseDN;\n const ADUserDNSearchFilter = fields.identityProvider.ADUserDNSearchFilter;\n const ADServerStartTLS = fields.identityProvider.ADServerStartTLS;\n const accessKeys = fields.identityProvider.accessKeys;\n const secretKeys = fields.identityProvider.secretKeys;\n const minioCertificates = certificates.minioCertificates;\n const caCertificates = certificates.caCertificates;\n const consoleCaCertificates = certificates.consoleCaCertificates;\n const consoleCertificate = certificates.consoleCertificate;\n const serverCertificate = certificates.serverCertificate;\n const clientCertificate = certificates.clientCertificate;\n const vaultCertificate = certificates.vaultCertificate;\n const vaultCA = certificates.vaultCA;\n const gemaltoCA = certificates.gemaltoCA;\n const enableEncryption = fields.encryption.enableEncryption;\n const encryptionType = fields.encryption.encryptionType;\n const gemaltoEndpoint = fields.encryption.gemaltoEndpoint;\n const gemaltoToken = fields.encryption.gemaltoToken;\n const gemaltoDomain = fields.encryption.gemaltoDomain;\n const gemaltoRetry = fields.encryption.gemaltoRetry;\n const awsEndpoint = fields.encryption.awsEndpoint;\n const awsRegion = fields.encryption.awsRegion;\n const awsKMSKey = fields.encryption.awsKMSKey;\n const awsAccessKey = fields.encryption.awsAccessKey;\n const awsSecretKey = fields.encryption.awsSecretKey;\n const awsToken = fields.encryption.awsToken;\n const vaultEndpoint = fields.encryption.vaultEndpoint;\n const vaultEngine = fields.encryption.vaultEngine;\n const vaultNamespace = fields.encryption.vaultNamespace;\n const vaultPrefix = fields.encryption.vaultPrefix;\n const vaultAppRoleEngine = fields.encryption.vaultAppRoleEngine;\n const vaultId = fields.encryption.vaultId;\n const vaultSecret = fields.encryption.vaultSecret;\n const vaultRetry = fields.encryption.vaultRetry;\n const vaultPing = fields.encryption.vaultPing;\n const azureEndpoint = fields.encryption.azureEndpoint;\n const azureTenantID = fields.encryption.azureTenantID;\n const azureClientID = fields.encryption.azureClientID;\n const azureClientSecret = fields.encryption.azureClientSecret;\n const gcpProjectID = fields.encryption.gcpProjectID;\n const gcpEndpoint = fields.encryption.gcpEndpoint;\n const gcpClientEmail = fields.encryption.gcpClientEmail;\n const gcpClientID = fields.encryption.gcpClientID;\n const gcpPrivateKeyID = fields.encryption.gcpPrivateKeyID;\n const gcpPrivateKey = fields.encryption.gcpPrivateKey;\n const enableAutoCert = fields.security.enableAutoCert;\n const enableTLS = fields.security.enableTLS;\n const ecParity = fields.tenantSize.ecParity;\n const distribution = fields.tenantSize.distribution;\n const tenantCustom = fields.configure.tenantCustom;\n const logSearchCustom = fields.configure.logSearchCustom;\n const prometheusCustom = fields.configure.prometheusCustom;\n const logSearchVolumeSize = fields.configure.logSearchVolumeSize;\n const logSearchSelectedStorageClass =\n fields.configure.logSearchSelectedStorageClass;\n const logSearchImage = fields.configure.logSearchImage;\n const kesImage = fields.configure.kesImage;\n const logSearchPostgresImage = fields.configure.logSearchPostgresImage;\n const logSearchPostgresInitImage =\n fields.configure.logSearchPostgresInitImage;\n const prometheusImage = fields.configure.prometheusImage;\n const prometheusSidecarImage = fields.configure.prometheusSidecarImage;\n const prometheusInitImage = fields.configure.prometheusInitImage;\n const prometheusSelectedStorageClass =\n fields.configure.prometheusSelectedStorageClass;\n const prometheusVolumeSize = fields.configure.prometheusVolumeSize;\n const affinityType = fields.affinity.podAffinity;\n const nodeSelectorLabels = fields.affinity.nodeSelectorLabels;\n const withPodAntiAffinity = fields.affinity.withPodAntiAffinity;\n\n const tenantSecurityContext = fields.configure.tenantSecurityContext;\n const logSearchSecurityContext = fields.configure.logSearchSecurityContext;\n const logSearchPostgresSecurityContext =\n fields.configure.logSearchPostgresSecurityContext;\n const prometheusSecurityContext =\n fields.configure.prometheusSecurityContext;\n const kesSecurityContext = fields.encryption.kesSecurityContext;\n const kesReplicas = fields.encryption.replicas;\n\n if (addSending) {\n const poolName = generatePoolName([]);\n\n let affinityObject = {};\n\n switch (affinityType) {\n case \"default\":\n affinityObject = {\n affinity: getDefaultAffinity(tenantName, poolName),\n };\n break;\n case \"nodeSelector\":\n affinityObject = {\n affinity: getNodeSelector(\n nodeSelectorLabels,\n withPodAntiAffinity,\n tenantName,\n poolName\n ),\n };\n break;\n }\n\n const erasureCode = ecParity.split(\":\")[1];\n\n let dataSend: ITenantCreator = {\n name: tenantName,\n namespace: namespace,\n access_key: \"\",\n secret_key: \"\",\n access_keys: [],\n secret_keys: [],\n enable_tls: enableTLS && enableAutoCert,\n enable_console: true,\n enable_prometheus: true,\n service_name: \"\",\n image: imageName,\n expose_minio: exposeMinIO,\n expose_console: exposeConsole,\n pools: [\n {\n name: poolName,\n servers: distribution.nodes,\n volumes_per_server: distribution.disks,\n volume_configuration: {\n size: distribution.pvSize,\n storage_class_name: selectedStorageClass,\n },\n securityContext: tenantCustom ? tenantSecurityContext : null,\n ...affinityObject,\n },\n ],\n erasureCodingParity: parseInt(erasureCode, 10),\n };\n\n // Set Resources\n if (\n fields.tenantSize.resourcesCPURequest !== \"\" ||\n fields.tenantSize.resourcesCPULimit !== \"\" ||\n fields.tenantSize.resourcesMemoryRequest !== \"\" ||\n fields.tenantSize.resourcesMemoryLimit !== \"\"\n ) {\n dataSend.pools[0].resources = {};\n // requests\n if (\n fields.tenantSize.resourcesCPURequest !== \"\" ||\n fields.tenantSize.resourcesMemoryRequest !== \"\"\n ) {\n dataSend.pools[0].resources.requests = {};\n if (fields.tenantSize.resourcesCPURequest !== \"\") {\n dataSend.pools[0].resources.requests.cpu = parseInt(\n fields.tenantSize.resourcesCPURequest\n );\n }\n if (fields.tenantSize.resourcesMemoryRequest !== \"\") {\n dataSend.pools[0].resources.requests.memory = parseInt(\n fields.tenantSize.resourcesMemoryRequest\n );\n }\n }\n // limits\n if (\n fields.tenantSize.resourcesCPULimit !== \"\" ||\n fields.tenantSize.resourcesMemoryLimit !== \"\"\n ) {\n dataSend.pools[0].resources.limits = {};\n if (fields.tenantSize.resourcesCPULimit !== \"\") {\n dataSend.pools[0].resources.limits.cpu = parseInt(\n fields.tenantSize.resourcesCPULimit\n );\n }\n if (fields.tenantSize.resourcesMemoryLimit !== \"\") {\n dataSend.pools[0].resources.limits.memory = parseInt(\n fields.tenantSize.resourcesMemoryLimit\n );\n }\n }\n }\n if (customDockerhub) {\n dataSend = {\n ...dataSend,\n image_registry: {\n registry: imageRegistry,\n username: imageRegistryUsername,\n password: imageRegistryPassword,\n },\n };\n }\n\n if (logSearchCustom) {\n dataSend = {\n ...dataSend,\n logSearchConfiguration: {\n storageClass:\n logSearchSelectedStorageClass === \"default\"\n ? \"\"\n : logSearchSelectedStorageClass,\n storageSize: parseInt(logSearchVolumeSize),\n image: logSearchImage,\n postgres_image: logSearchPostgresImage,\n postgres_init_image: logSearchPostgresInitImage,\n securityContext: logSearchSecurityContext,\n postgres_securityContext: logSearchPostgresSecurityContext,\n },\n };\n } else {\n dataSend = {\n ...dataSend,\n logSearchConfiguration: {\n image: logSearchImage,\n postgres_image: logSearchPostgresImage,\n postgres_init_image: logSearchPostgresInitImage,\n },\n };\n }\n\n if (prometheusCustom) {\n dataSend = {\n ...dataSend,\n prometheusConfiguration: {\n storageClass:\n prometheusSelectedStorageClass === \"default\"\n ? \"\"\n : prometheusSelectedStorageClass,\n storageSize: parseInt(prometheusVolumeSize),\n image: prometheusImage,\n sidecar_image: prometheusSidecarImage,\n init_image: prometheusInitImage,\n securityContext: prometheusSecurityContext,\n },\n };\n } else {\n dataSend = {\n ...dataSend,\n prometheusConfiguration: {\n image: prometheusImage,\n sidecar_image: prometheusSidecarImage,\n init_image: prometheusInitImage,\n },\n };\n }\n\n let tenantCerts: any = null;\n let consoleCerts: any = null;\n let caCerts: any = null;\n let consoleCaCerts: any = null;\n\n if (caCertificates.length > 0) {\n caCerts = {\n ca_certificates: caCertificates\n .map((keyPair: KeyPair) => keyPair.encoded_cert)\n .filter((keyPair) => keyPair),\n };\n }\n\n if (consoleCaCertificates.length > 0) {\n consoleCaCerts = {\n console_ca_certificates: consoleCaCertificates\n .map((keyPair: KeyPair) => keyPair.encoded_cert)\n .filter((keyPair) => keyPair),\n };\n }\n\n if (enableTLS && minioCertificates.length > 0) {\n tenantCerts = {\n minio: minioCertificates\n .map((keyPair: KeyPair) => ({\n crt: keyPair.encoded_cert,\n key: keyPair.encoded_key,\n }))\n .filter((keyPair) => keyPair.crt && keyPair.key),\n };\n }\n\n if (\n enableTLS &&\n consoleCertificate.encoded_cert !== \"\" &&\n consoleCertificate.encoded_key !== \"\"\n ) {\n consoleCerts = {\n console: {\n crt: consoleCertificate.encoded_cert,\n key: consoleCertificate.encoded_key,\n },\n };\n }\n\n if (tenantCerts || consoleCerts || caCerts || consoleCaCerts) {\n dataSend = {\n ...dataSend,\n tls: {\n ...tenantCerts,\n ...consoleCerts,\n ...caCerts,\n ...consoleCaCerts,\n },\n };\n }\n\n if (enableEncryption) {\n let insertEncrypt = {};\n\n switch (encryptionType) {\n case \"gemalto\":\n let gemaltoCAIntroduce = {};\n\n if (gemaltoCA.encoded_cert !== \"\") {\n gemaltoCAIntroduce = {\n ca: gemaltoCA.encoded_cert,\n };\n }\n insertEncrypt = {\n gemalto: {\n keysecure: {\n endpoint: gemaltoEndpoint,\n credentials: {\n token: gemaltoToken,\n domain: gemaltoDomain,\n retry: parseInt(gemaltoRetry),\n },\n tls: {\n ...gemaltoCAIntroduce,\n },\n },\n },\n };\n break;\n case \"aws\":\n insertEncrypt = {\n aws: {\n secretsmanager: {\n endpoint: awsEndpoint,\n region: awsRegion,\n kmskey: awsKMSKey,\n credentials: {\n accesskey: awsAccessKey,\n secretkey: awsSecretKey,\n token: awsToken,\n },\n },\n },\n };\n break;\n case \"azure\":\n insertEncrypt = {\n azure: {\n keyvault: {\n endpoint: azureEndpoint,\n credentials: {\n tenant_id: azureTenantID,\n client_id: azureClientID,\n client_secret: azureClientSecret,\n },\n },\n },\n };\n break;\n case \"gcp\":\n insertEncrypt = {\n gcp: {\n secretmanager: {\n project_id: gcpProjectID,\n endpoint: gcpEndpoint,\n credentials: {\n client_email: gcpClientEmail,\n client_id: gcpClientID,\n private_key_id: gcpPrivateKeyID,\n private_key: gcpPrivateKey,\n },\n },\n },\n };\n break;\n case \"vault\":\n let vaultKeyPair = null;\n let vaultCAInsert = null;\n if (\n vaultCertificate.encoded_key !== \"\" &&\n vaultCertificate.encoded_cert !== \"\"\n ) {\n vaultKeyPair = {\n key: vaultCertificate.encoded_key,\n crt: vaultCertificate.encoded_cert,\n };\n }\n if (vaultCA.encoded_cert !== \"\") {\n vaultCAInsert = {\n ca: vaultCA.encoded_cert,\n };\n }\n let vaultTLS = null;\n if (vaultKeyPair || vaultCA) {\n vaultTLS = {\n tls: {\n ...vaultKeyPair,\n ...vaultCAInsert,\n },\n };\n }\n insertEncrypt = {\n vault: {\n endpoint: vaultEndpoint,\n engine: vaultEngine,\n namespace: vaultNamespace,\n prefix: vaultPrefix,\n approle: {\n engine: vaultAppRoleEngine,\n id: vaultId,\n secret: vaultSecret,\n retry: parseInt(vaultRetry),\n },\n ...vaultTLS,\n status: {\n ping: parseInt(vaultPing),\n },\n },\n };\n break;\n }\n\n let encryptionServerKeyPair: any = {};\n let encryptionClientKeyPair: any = {};\n\n if (\n clientCertificate.encoded_key !== \"\" &&\n clientCertificate.encoded_cert !== \"\"\n ) {\n encryptionClientKeyPair = {\n client: {\n key: clientCertificate.encoded_key,\n crt: clientCertificate.encoded_cert,\n },\n };\n }\n\n if (\n serverCertificate.encoded_key !== \"\" &&\n serverCertificate.encoded_cert !== \"\"\n ) {\n encryptionServerKeyPair = {\n server: {\n key: serverCertificate.encoded_key,\n crt: serverCertificate.encoded_cert,\n },\n };\n }\n\n dataSend = {\n ...dataSend,\n encryption: {\n replicas: kesReplicas,\n securityContext: kesSecurityContext,\n image: kesImage,\n ...encryptionClientKeyPair,\n ...encryptionServerKeyPair,\n ...insertEncrypt,\n },\n };\n }\n\n let dataIDP: any = {};\n switch (idpSelection) {\n case \"Built-in\":\n let keyarray = [];\n for (let i = 0; i < accessKeys.length; i++) {\n keyarray.push({\n access_key: accessKeys[i],\n secret_key: secretKeys[i],\n });\n }\n dataIDP = {\n keys: keyarray,\n };\n break;\n case \"OpenID\":\n dataIDP = {\n oidc: {\n configuration_url: openIDConfigurationURL,\n client_id: openIDClientID,\n secret_id: openIDSecretID,\n claim_name: openIDClaimName,\n callback_url: openIDCallbackURL,\n scopes: openIDScopes,\n },\n };\n break;\n case \"AD\":\n dataIDP = {\n active_directory: {\n url: ADURL,\n skip_tls_verification: ADSkipTLS,\n server_insecure: ADServerInsecure,\n username_format: ADUserNameFormat,\n username_search_filter: ADUserNameSearchFilter,\n group_search_base_dn: ADGroupSearchBaseDN,\n group_search_filter: ADGroupSearchFilter,\n group_name_attribute: ADGroupNameAttribute,\n user_dns: ADUserDNs,\n lookup_bind_dn: ADLookupBindDN,\n lookup_bind_password: ADLookupBindPassword,\n user_dn_search_base_dn: ADUserDNSearchBaseDN,\n user_dn_search_filter: ADUserDNSearchFilter,\n server_start_tls: ADServerStartTLS,\n },\n };\n break;\n }\n\n dataSend = {\n ...dataSend,\n idp: { ...dataIDP },\n };\n api\n .invoke(\"POST\", `/api/v1/tenants`, dataSend)\n .then((res) => {\n const consoleSAList = get(res, \"console\", []);\n\n let newSrvAcc: NewServiceAccount = {\n idp: get(res, \"externalIDP\", false),\n console: [],\n };\n\n if (consoleSAList) {\n if (Array.isArray(consoleSAList)) {\n const consoleItem = consoleSAList.map((consoleKey) => {\n return {\n accessKey: consoleKey.access_key,\n secretKey: consoleKey.secret_key,\n };\n });\n\n newSrvAcc.console = consoleItem;\n } else {\n newSrvAcc = {\n console: {\n accessKey: res.console.access_key,\n secretKey: res.console.secret_key,\n },\n };\n }\n }\n setAddSending(false);\n setShowNewCredentials(true);\n setCreatedAccount(newSrvAcc);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n setErrorSnackMessage(err);\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [addSending]);\n\n const cancelButton = {\n label: \"Cancel\",\n type: \"other\",\n enabled: true,\n action: () => {\n resetAddTenantForm();\n history.push(\"/tenants\");\n },\n };\n const requiredPages = [\n \"nameTenant\",\n \"tenantSize\",\n \"configure\",\n \"affinity\",\n \"identityProvider\",\n \"security\",\n \"encryption\",\n ];\n const createButton = {\n label: \"Create\",\n type: \"submit\",\n enabled:\n !addSending &&\n selectedStorageClass !== \"\" &&\n requiredPages.every((v) => validPages.includes(v)),\n action: () => {\n setAddSending(true);\n },\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\n let filteredWizardSteps = wizardSteps;\n\n const closeCredentialsModal = () => {\n resetAddTenantForm();\n history.push(\"/tenants\");\n };\n\n return (\n \n {showNewCredentials && (\n {\n closeCredentialsModal();\n }}\n entity=\"Tenant\"\n />\n )}\n \n \n \n {addSending && (\n \n \n \n )}\n \n \n \n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n namespace: state.tenants.createTenant.fields.nameTenant.namespace,\n validPages: state.tenants.createTenant.validPages,\n fields: state.tenants.createTenant.fields,\n certificates: state.tenants.createTenant.certificates,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n updateAddField,\n resetAddTenantForm,\n});\n\nexport default withStyles(styles)(connector(AddTenant));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport get from \"lodash/get\";\nimport { ITenant } from \"./types\";\n\nexport interface Opts {\n label: string;\n value: string;\n}\n\nexport interface IQuotaElement {\n hard: number;\n name: string;\n}\n\nexport interface IQuotas {\n elements?: IQuotaElement[];\n name: string;\n}\n\nexport const minMemReq = 2147483648;\n\nexport interface KeyPair {\n id: string;\n encoded_cert: string;\n encoded_key: string;\n cert: string;\n key: string;\n}\n\nexport const ecListTransform = (ecList: string[]): Opts[] => {\n return ecList.map((value) => {\n return { label: value, value };\n });\n};\n\nexport const getLimitSizes = (resourceQuotas: IQuotas) => {\n const quotas: IQuotaElement[] = get(resourceQuotas, \"elements\", []);\n\n const returnQuotas: any = {};\n\n quotas.forEach((rsQuota) => {\n const stCName = rsQuota.name.split(\n \".storageclass.storage.k8s.io/requests.storage\"\n )[0];\n const hard = get(rsQuota, \"hard\", 0);\n const used = get(rsQuota, \"used\", 0);\n\n returnQuotas[stCName] = hard - used;\n });\n\n return returnQuotas;\n};\n\nexport const tenantIsOnline = (tenant: ITenant): boolean => {\n if (tenant.currentState === \"\") {\n return false;\n }\n if (\n !tenant.status &&\n tenant.health_status !== \"green\" &&\n tenant.health_status !== \"yellow\"\n ) {\n return false;\n }\n if (\n tenant.status &&\n tenant.status.health_status !== \"green\" &&\n tenant.status.health_status !== \"yellow\"\n ) {\n return false;\n }\n return true;\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 { IAffinityModel } from \"../../../../common/types\";\n\nexport const getDefaultAffinity = (tenantName: string, poolName: string) => {\n const defaultAffinity: IAffinityModel = {\n podAntiAffinity: {\n requiredDuringSchedulingIgnoredDuringExecution: [\n {\n labelSelector: {\n matchExpressions: [\n {\n key: \"v1.min.io/tenant\",\n operator: \"In\",\n values: [tenantName],\n },\n {\n key: \"v1.min.io/pool\",\n operator: \"In\",\n values: [poolName],\n },\n ],\n },\n topologyKey: \"kubernetes.io/hostname\",\n },\n ],\n },\n };\n return defaultAffinity;\n};\n\nexport const getNodeSelector = (\n labels: string,\n withPodAntiAffinity: boolean,\n tenantName: string,\n poolName: string\n) => {\n // Labels in the form of key1=value1&key2=value2&key3=value3...\n const splittedLabels = labels.split(\"&\");\n let matchExpressions: any = [];\n\n splittedLabels.forEach((label: string) => {\n const splitKeyValue = label.split(\"=\");\n if (splitKeyValue.length === 2) {\n matchExpressions.push({\n key: splitKeyValue[0],\n operator: \"In\",\n values: [splitKeyValue[1]],\n });\n }\n });\n\n const nodeSelector: IAffinityModel = {\n nodeAffinity: {\n requiredDuringSchedulingIgnoredDuringExecution: {\n nodeSelectorTerms: [\n {\n matchExpressions: matchExpressions,\n },\n ],\n },\n },\n };\n if (withPodAntiAffinity) {\n const def = getDefaultAffinity(tenantName, poolName);\n nodeSelector.podAntiAffinity = def.podAntiAffinity;\n }\n console.log(nodeSelector);\n return nodeSelector;\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 { ITenant } from \"./ListTenants/types\";\nimport { Opts } from \"./ListTenants/utils\";\nimport {\n ADD_TENANT_ADD_CA_KEYPAIR,\n ADD_TENANT_ADD_CONSOLE_CA_KEYPAIR,\n ADD_TENANT_ADD_CONSOLE_CERT,\n ADD_TENANT_ADD_FILE_TO_CA_KEYPAIR,\n ADD_TENANT_ADD_FILE_TO_CONSOLE_CA_KEYPAIR,\n ADD_TENANT_ADD_FILE_TO_MINIO_KEYPAIR,\n ADD_TENANT_ADD_MINIO_KEYPAIR,\n ADD_TENANT_DELETE_CA_KEYPAIR,\n ADD_TENANT_DELETE_CONSOLE_CA_KEYPAIR,\n ADD_TENANT_DELETE_MINIO_KEYPAIR,\n ADD_TENANT_ENCRYPTION_CLIENT_CERT,\n ADD_TENANT_ENCRYPTION_GEMALTO_CA,\n ADD_TENANT_ENCRYPTION_SERVER_CERT,\n ADD_TENANT_ENCRYPTION_VAULT_CA,\n ADD_TENANT_ENCRYPTION_VAULT_CERT,\n ADD_TENANT_RESET_FORM,\n ADD_TENANT_SET_CURRENT_PAGE,\n ADD_TENANT_SET_LIMIT_SIZE,\n ADD_TENANT_SET_PAGE_VALID,\n ADD_TENANT_SET_STORAGE_CLASSES_LIST,\n ADD_TENANT_UPDATE_FIELD,\n TENANT_DETAILS_SET_CURRENT_TENANT,\n TENANT_DETAILS_SET_LOADING,\n TENANT_DETAILS_SET_TAB,\n TENANT_DETAILS_SET_TENANT,\n ADD_TENANT_SET_KEY_PAIR_VALUE,\n LabelKeyPair,\n} from \"./types\";\n\n// Basic actions\nexport const setWizardPage = (page: number) => {\n return {\n type: ADD_TENANT_SET_CURRENT_PAGE,\n page,\n };\n};\n\nexport const updateAddField = (\n pageName: string,\n fieldName: string,\n value: any\n) => {\n return {\n type: ADD_TENANT_UPDATE_FIELD,\n pageName,\n field: fieldName,\n value,\n };\n};\n\nexport const isPageValid = (pageName: string, valid: boolean) => {\n return {\n type: ADD_TENANT_SET_PAGE_VALID,\n pageName,\n valid,\n };\n};\n\n// Name Tenant actions\n\nexport const setStorageClassesList = (storageClasses: Opts[]) => {\n return {\n type: ADD_TENANT_SET_STORAGE_CLASSES_LIST,\n storageClasses,\n };\n};\n\nexport const setLimitSize = (limitSize: any) => {\n return {\n type: ADD_TENANT_SET_LIMIT_SIZE,\n limitSize,\n };\n};\n\n// Security actions\n\nexport const addCaCertificate = () => {\n return {\n type: ADD_TENANT_ADD_CA_KEYPAIR,\n };\n};\n\nexport const deleteCaCertificate = (id: string) => {\n return {\n type: ADD_TENANT_DELETE_CA_KEYPAIR,\n id,\n };\n};\n\nexport const addFileToCaCertificates = (\n id: string,\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_FILE_TO_CA_KEYPAIR,\n id,\n key,\n fileName,\n value,\n };\n};\n\nexport const addConsoleCaCertificate = () => {\n return {\n type: ADD_TENANT_ADD_CONSOLE_CA_KEYPAIR,\n };\n};\n\nexport const deleteConsoleCaCertificate = (id: string) => {\n return {\n type: ADD_TENANT_DELETE_CONSOLE_CA_KEYPAIR,\n id,\n };\n};\n\nexport const addFileToConsoleCaCertificates = (\n id: string,\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_FILE_TO_CONSOLE_CA_KEYPAIR,\n id,\n key,\n fileName,\n value,\n };\n};\n\nexport const addKeyPair = () => {\n return {\n type: ADD_TENANT_ADD_MINIO_KEYPAIR,\n };\n};\n\nexport const deleteKeyPair = (id: string) => {\n return {\n type: ADD_TENANT_DELETE_MINIO_KEYPAIR,\n id,\n };\n};\n\nexport const addFileToKeyPair = (\n id: string,\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_FILE_TO_MINIO_KEYPAIR,\n id,\n key,\n fileName,\n value,\n };\n};\n\nexport const addConsoleCertificate = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_CONSOLE_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileServerCert = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ENCRYPTION_SERVER_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileClientCert = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ENCRYPTION_CLIENT_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileVaultCert = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ENCRYPTION_VAULT_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileVaultCa = (fileName: string, value: string) => {\n return {\n type: ADD_TENANT_ENCRYPTION_VAULT_CA,\n fileName,\n value,\n };\n};\n\nexport const addFileGemaltoCa = (fileName: string, value: string) => {\n return {\n type: ADD_TENANT_ENCRYPTION_GEMALTO_CA,\n fileName,\n value,\n };\n};\n\nexport const resetAddTenantForm = () => {\n return {\n type: ADD_TENANT_RESET_FORM,\n };\n};\n\nexport const setTenantDetailsLoad = (loading: boolean) => {\n return {\n type: TENANT_DETAILS_SET_LOADING,\n state: loading,\n };\n};\n\nexport const setTenantName = (tenantName: string, tenantNamespace: string) => {\n return {\n type: TENANT_DETAILS_SET_CURRENT_TENANT,\n name: tenantName,\n namespace: tenantNamespace,\n };\n};\n\nexport const setTenantInfo = (tenant: ITenant | null) => {\n return {\n type: TENANT_DETAILS_SET_TENANT,\n tenant,\n };\n};\n\nexport const setTenantTab = (tab: string) => {\n return {\n type: TENANT_DETAILS_SET_TAB,\n tab,\n };\n};\n\nexport const setKeyValuePairs = (newArray: LabelKeyPair[]) => {\n return {\n type: ADD_TENANT_SET_KEY_PAIR_VALUE,\n newArray,\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"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","root","marginLeft","borderWidth","borderColor","borderStyle","borderRadius","backgroundColor","main","opacity","contained","background","dark","children","variant","tooltip","rest","button","clsx","title","container","flexFlow","inputWithCopy","height","inputLabel","fieldBasic","value","OutlinedInput","readOnly","endAdornment","InputAdornment","position","text","BoxIconButton","onMouseDown","edge","warningBlock","margin","credentialTitle","fontWeight","buttonContainer","textAlign","marginTop","credentialsPanel","overflowY","maxHeight","promptTitle","buttonSpacer","promptIcon","newServiceAccount","open","closeModal","entity","consoleCreds","get","idp","ModalWrapper","modalOpen","onClose","titleIcon","Grid","item","xs","formScrollable","Array","isArray","map","credentialsPair","index","accessKey","secretKey","WarnIcon","Button","consoleExtras","cCreds","itemMap","access_key","secret_key","console","filename","element","document","createElement","setAttribute","encodeURIComponent","style","body","appendChild","click","removeChild","download","JSON","stringify","endIcon","tooltipHelper","valueString","whiteSpace","overflow","textOverflow","fileInputField","fileInputStyles","textBoxContainer","border","paddingLeft","onChange","id","name","disabled","required","error","accept","useState","showFileSelector","setShowSelector","fieldBottom","fieldContainer","errorInField","InputLabel","htmlFor","fieldLabelError","tooltipContainer","Tooltip","placement","HelpIcon","type","e","fileName","evt","callback","file","target","files","reader","FileReader","readAsDataURL","onload","fileBase64","result","fileArray","toString","split","length","fileProcess","data","IconButton","component","disableRipple","disableFocusRipple","size","Cancel","ErrorBlock","errorMessage","fileReselect","AttachFile","radioStyles","makeStyles","radioIcons","RadioButton","props","checkedIcon","radioSelectedIcon","radioUnselectedIcon","optionLabel","checkedOption","selectorOptions","currentSelection","disableOptions","displayInColumn","radioOptionsLayout","row","selectorOption","control","SelectStyled","lineHeight","spacing","input","InputBase","options","fullWidth","option","wizardStepContainer","flexDirection","flex","wizardComponent","marginBottom","minHeight","wizardModal","buttonsContainer","borderTop","paddingBottom","buttonInnerContainer","page","pageChange","loadingStep","forModal","componentRender","LinearProgress","buttons","btn","toPage","action","buttonAction","enabled","wizFromContainer","wizFromModal","modalWizardSteps","borderBottom","listStyle","buttonList","cursor","outline","boxShadow","paddedContentGrid","stepsLabel","stepsMasterContainer","top","verticalSteps","borderRight","stepsContainer","paddingTop","stepItem","wizardSteps","currentStep","setCurrentStep","toElement","lastPage","nextPage","prevPage","pg","Fragment","step","sm","md","lg","xl","List","dense","ListItem","selected","ListItemText","pageContentStyles","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","left","labelStyle","rightMenu","logo","fill","middleComponent","actions","direction","sx","IMkEnvs","storageClasses","tenants","createTenant","customImage","fields","configure","imageName","customDockerhub","imageRegistry","imageRegistryUsername","imageRegistryPassword","exposeMinIO","exposeConsole","prometheusCustom","tenantCustom","logSearchCustom","logSearchVolumeSize","logSearchSizeFactor","prometheusVolumeSize","prometheusSizeFactor","logSearchSelectedStorageClass","logSearchImage","kesImage","logSearchPostgresImage","logSearchPostgresInitImage","prometheusSelectedStorageClass","prometheusImage","prometheusSidecarImage","prometheusInitImage","selectedStorageClass","nameTenant","tenantSecurityContext","logSearchSecurityContext","logSearchPostgresSecurityContext","prometheusSecurityContext","updateAddField","isPageValid","configSectionItem","tenantCustomizationFields","containerItem","fieldGroup","createTenantCommon","responsiveSectionItem","logSearchCustomFields","fieldSpaceTop","prometheusCustomFields","modalBasic","wizardCommon","validationErrors","setValidationErrors","configureSTClasses","updateField","useCallback","field","useEffect","customAccountValidation","fieldKey","runAsUser","customValidation","parseInt","customValidationMessage","runAsGroup","fsGroup","pattern","customPatternMessage","commonVal","commonFormValidation","Object","keys","filter","cleanValidation","fieldName","clearValidationError","Paper","paperWrapper","headerElement","h3Section","descriptionText","FormSwitchWrapper","checked","multiContainer","InputBoxWrapper","min","runAsNonRoot","SelectWrapper","idpSelection","identityProvider","accessKeys","secretKeys","openIDConfigurationURL","openIDClientID","openIDSecretID","openIDCallbackURL","openIDClaimName","openIDScopes","ADURL","ADSkipTLS","ADServerInsecure","ADUserNameSearchFilter","ADGroupSearchBaseDN","ADGroupSearchFilter","ADGroupNameAttribute","ADUserDNs","ADUserNameFormat","ADLookupBindDN","ADLookupBindPassword","ADUserDNSearchBaseDN","ADUserDNSearchFilter","ADServerStartTLS","shortened","gridTemplateColumns","gridGap","buttonTray","overlayAction","protocolRadioOptions","adUserDnRows","formFieldStyles","updateUserField","newUserField","updatePwordField","updateADUserField","newADUserDNsField","customIDPValidation","i","push","inputs","_","placeholder","Add","splice","RemoveIcon","getRandomString","Casino","Delete","RadioGroupSelector","formFieldRow","Typography","gutterBottom","enableTLS","security","enableAutoCert","enableCustomCerts","minioCertificates","certificates","caCertificates","addFileToCaCertificates","deleteCaCertificate","addCaCertificate","addKeyPair","addFileToKeyPair","deleteKeyPair","minioCertificateRows","fileItem","minWidth","minioCertsContainer","minioCACertsRow","rowActions","keyPair","FileSelector","encodedValue","cert","key","AddIcon","replicas","encryption","enableEncryption","encryptionType","gemaltoEndpoint","gemaltoToken","gemaltoDomain","gemaltoRetry","awsEndpoint","awsRegion","awsKMSKey","awsAccessKey","awsSecretKey","awsToken","vaultEndpoint","vaultEngine","vaultNamespace","vaultPrefix","vaultAppRoleEngine","vaultId","vaultSecret","vaultRetry","vaultPing","azureEndpoint","azureTenantID","azureClientID","azureClientSecret","gcpProjectID","gcpEndpoint","gcpClientEmail","gcpClientID","gcpPrivateKeyID","gcpPrivateKey","enableCustomCertsForKES","serverCertificate","clientCertificate","vaultCertificate","vaultCA","gemaltoCA","kesSecurityContext","addFileServerCert","addFileClientCert","addFileVaultCert","addFileVaultCa","addFileGemaltoCa","encryptionTypeOptions","mutualTlsConfig","rightSpacer","responsiveContainer","encryptionAvailable","encoded_key","encoded_cert","encryptionValidation","podAffinity","affinity","nodeSelectorLabels","withPodAntiAffinity","keyValuePairs","nodeSelectorPairs","setModalErrorSnackMessage","setKeyValuePairs","affinityConfigField","affinityFieldLabel","radioField","affinityLabelKey","affinityLabelValue","affinityRow","loading","setLoading","keyValueMap","setKeyValueMap","keyOptions","setKeyOptions","api","then","res","k","catch","err","vl","kvp","kvs","a","indexOf","join","valid","splittedLabels","forEach","splitItem","affinityHelpText","newKey","arrCp","assign","v","setErrorSnackMessage","wrapText","wordWrap","deleteDialogStyles","namespace","addNamespaceOpen","closeAddNamespaceModalAndRefresh","addNamespaceLoading","setAddNamespaceLoading","ConfirmDialog","confirmText","confirmButtonProps","isOpen","isLoading","onConfirm","confirmationContent","DialogContentText","volumeSize","tenantSize","sizeFactor","drivesPerServer","nodes","memoryNode","ecParity","ecParityChoices","cleanECChoices","resourcesSize","distribution","ecParityCalc","limitSize","cpuToUse","integrationSelection","table","usableInformation","storageFactors","find","erasureCode","Divider","Table","TableBody","TableRow","TableCell","scope","align","typeSelection","storageClass","disks","niceBytes","pvSize","persistentVolumes","rawCapacity","maxCapacity","Math","floor","maxFailureTolerations","CPU","memory","driveSize","sizeUnit","maxAllocatableResources","maxCPUsUse","maxMemorySize","resourcesSpecifyLimit","resourcesCPURequestError","resourcesCPURequest","resourcesCPULimitError","resourcesCPULimit","resourcesMemoryRequestError","resourcesMemoryRequest","resourcesMemoryLimitError","resourcesMemoryLimit","compositeFieldContainer","compositeAddOn","memoryExists","cpuExists","maxMemory","mem_priority","max_allocatable_mem","cpu_priority","max_allocatable_cpu","maxAllocatableCPU","baseCpuUse","max","baseMemoryUse","isNaN","validity","log","errorFlag","setErrorFlag","nodeError","setNodeError","ecCodeValidated","erasureCodeCalc","includes","defaultEC","factor","getBytes","clusterCapacity","unit","distrCalculate","calculateDistribution","parsedSize","commonValidation","trim","ecList","ecListTransform","k8sfactorForDropdown","selectedStorageType","formToRender","updateMainField","undefined","setConfigs","mkPanelConfigurations","mainSelection","resourcesConfigurations","aws","azure","gcp","variantSelectorLabel","variantSelectorValues","configurations","sizingComponent","default","tenantName","setStorageClassesList","setLimitSize","sizePreview","emptyNamespace","setEmptyNamespace","loadingNamespaceInfo","setLoadingNamespaceInfo","showCreateButton","setShowCreateButton","openAddNSConfirm","setOpenAddNSConfirm","getNamespaceInformation","tenantsList","elements","getLimitSizes","newStorage","stExists","findIndex","detailedError","debounceNamespace","useMemo","debounce","cancel","customNamespaceError","isValid","frmValidationCleanup","refresh","overlayIcon","features","session","formRender","setFormRender","setConfiguration","validPages","resetAddTenantForm","pageBox","settingsCommon","showNewCredentials","setShowNewCredentials","createdAccount","setCreatedAccount","addSending","setAddSending","consoleCaCertificates","consoleCertificate","affinityType","kesReplicas","poolName","generatePoolName","affinityObject","getDefaultAffinity","getNodeSelector","dataSend","access_keys","secret_keys","enable_tls","enable_console","enable_prometheus","service_name","image","expose_minio","expose_console","pools","servers","volumes_per_server","volume_configuration","storage_class_name","securityContext","erasureCodingParity","resources","requests","cpu","limits","image_registry","registry","username","password","logSearchConfiguration","storageSize","postgres_image","postgres_init_image","postgres_securityContext","prometheusConfiguration","sidecar_image","init_image","tenantCerts","consoleCerts","caCerts","consoleCaCerts","ca_certificates","console_ca_certificates","minio","crt","tls","insertEncrypt","gemaltoCAIntroduce","ca","gemalto","keysecure","endpoint","credentials","token","domain","retry","secretsmanager","region","kmskey","accesskey","secretkey","keyvault","tenant_id","client_id","client_secret","secretmanager","project_id","client_email","private_key_id","private_key","vaultKeyPair","vaultCAInsert","vaultTLS","vault","engine","prefix","approle","secret","status","ping","encryptionServerKeyPair","encryptionClientKeyPair","client","server","dataIDP","keyarray","oidc","configuration_url","secret_id","claim_name","callback_url","scopes","active_directory","url","skip_tls_verification","server_insecure","username_format","username_search_filter","group_search_base_dn","group_search_filter","group_name_attribute","user_dns","lookup_bind_dn","lookup_bind_password","user_dn_search_base_dn","user_dn_search_filter","server_start_tls","consoleSAList","newSrvAcc","consoleItem","consoleKey","cancelButton","history","createButton","every","filteredWizardSteps","advancedOnly","CredentialsPrompt","PageHeader","BackLink","PageLayout","GenericWizard","resourceQuotas","quotas","returnQuotas","rsQuota","stCName","hard","used","tenantIsOnline","tenant","currentState","health_status","podAntiAffinity","requiredDuringSchedulingIgnoredDuringExecution","labelSelector","matchExpressions","operator","values","topologyKey","labels","splitKeyValue","nodeSelector","nodeAffinity","nodeSelectorTerms","def","pageName","ADD_TENANT_UPDATE_FIELD","ADD_TENANT_SET_PAGE_VALID","ADD_TENANT_SET_STORAGE_CLASSES_LIST","ADD_TENANT_SET_LIMIT_SIZE","ADD_TENANT_ADD_CA_KEYPAIR","ADD_TENANT_DELETE_CA_KEYPAIR","ADD_TENANT_ADD_FILE_TO_CA_KEYPAIR","ADD_TENANT_ADD_MINIO_KEYPAIR","ADD_TENANT_DELETE_MINIO_KEYPAIR","ADD_TENANT_ADD_FILE_TO_MINIO_KEYPAIR","ADD_TENANT_ENCRYPTION_SERVER_CERT","ADD_TENANT_ENCRYPTION_CLIENT_CERT","ADD_TENANT_ENCRYPTION_VAULT_CERT","ADD_TENANT_ENCRYPTION_VAULT_CA","ADD_TENANT_ENCRYPTION_GEMALTO_CA","ADD_TENANT_RESET_FORM","setTenantDetailsLoad","TENANT_DETAILS_SET_LOADING","setTenantName","tenantNamespace","TENANT_DETAILS_SET_CURRENT_TENANT","setTenantInfo","TENANT_DETAILS_SET_TENANT","setTenantTab","tab","TENANT_DETAILS_SET_TAB","newArray","ADD_TENANT_SET_KEY_PAIR_VALUE","errorBlock","withBreak"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1056.f7b9df60.chunk.js b/portal-ui/build/static/js/1056.f7b9df60.chunk.js new file mode 100644 index 000000000..bd586c5a2 --- /dev/null +++ b/portal-ui/build/static/js/1056.f7b9df60.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1056,1140],{29316:function(e,t,n){n(50390);var a=n(6369),r=n(86509),i=n(4285),s=n(98280),o=n(62559);t.Z=(0,i.Z)((function(e){return(0,r.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var t=e.to,n=e.label,r=e.classes,i=e.className,l=e.executeOnClick;return(0,o.jsxs)(a.rU,{to:t,className:"".concat(r.link," ").concat(i||""),onClick:function(){l&&l()},children:[(0,o.jsx)("div",{className:r.icon,children:(0,o.jsx)(s.xN,{})}),(0,o.jsx)("div",{className:r.label,children:n})]})}))},70758:function(e,t,n){var a=n(18489),r=n(36222),i=n(83738),s=(n(50390),n(86509)),o=n(4285),l=n(95467),c=n(94187),u=n(44977),d=n(62559),m=["classes","children","variant","tooltip"];t.Z=(0,o.Z)((function(e){return(0,s.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var t=e.classes,n=e.children,s=e.variant,o=void 0===s?"outlined":s,p=e.tooltip,g=(0,i.Z)(e,m),f=(0,d.jsx)(l.Z,(0,a.Z)((0,a.Z)({},g),{},{className:(0,u.Z)(t.root,(0,r.Z)({},t.contained,"contained"===o)),children:n}));return p&&""!==p?(0,d.jsx)(c.Z,{title:p,children:(0,d.jsx)("span",{children:f})}):f}))},39080:function(e,t,n){n.r(t),n.d(t,{default:function(){return Z}});var a=n(18489),r=n(35531),i=n(50390),s=n(38342),o=n.n(s),l=n(86509),c=n(4285),u=n(66946),d=n(76352),m=n(25594),p=n(58217),g=n(65771),f=n(70758),h=n(33034),x=n.n(h),v=n(98280),y=n(72462),C=n(62559),S=(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,a.Z)((0,a.Z)({},y.YI.inputLabel),{},{fontSize:".8rem"})})}))((function(e){var t=e.label,n=void 0===t?"":t,a=e.value,r=void 0===a?"":a,i=e.classes,s=void 0===i?{}:i;return(0,C.jsxs)("div",{className:s.container,children:[(0,C.jsxs)("div",{className:s.inputLabel,children:[n,":"]}),(0,C.jsx)("div",{className:s.inputWithCopy,children:(0,C.jsx)(p.Z,{value:r,readOnly:!0,endAdornment:(0,C.jsx)(g.Z,{position:"end",children:(0,C.jsx)(x(),{text:r,children:(0,C.jsx)(f.Z,{"aria-label":"copy",tooltip:"Copy",onClick:function(){},onMouseDown:function(){},edge:"end",children:(0,C.jsx)(v.TI,{})})})})})})]})})),j=n(47424),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:{textAlign:"right",marginTop:"1rem"},credentialsPanel:{overflowY:"auto",maxHeight:350},promptTitle:{display:"flex",alignItems:"center"},buttonSpacer:{marginRight:".9rem"},promptIcon:{marginRight:".1rem",display:"flex",alignItems:"center",height:"2rem",width:"2rem"}})}))((function(e){var t=e.classes,n=e.newServiceAccount,s=e.open,l=e.closeModal,c=e.entity;if(!n)return null;var p=o()(n,"console",null),g=o()(n,"idp",!1);return(0,C.jsx)(d.Z,{modalOpen:s,onClose:function(){l()},title:(0,C.jsx)("div",{className:t.promptTitle,children:(0,C.jsxs)("div",{children:["New ",c," Created"]})}),titleIcon:(0,C.jsx)(v.tV,{}),children:(0,C.jsxs)(m.ZP,{container:!0,children:[(0,C.jsxs)(m.ZP,{item:!0,xs:12,className:t.formScrollable,children:["A new ",c," has been created with the following details:",!g&&p&&(0,C.jsx)(i.Fragment,{children:(0,C.jsxs)(m.ZP,{item:!0,xs:12,className:t.credentialsPanel,children:[(0,C.jsx)("div",{className:t.credentialTitle,children:"Console Credentials"}),Array.isArray(p)&&p.map((function(e,t){return(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(S,{label:"Access Key",value:e.accessKey}),(0,C.jsx)(S,{label:"Secret Key",value:e.secretKey})]})})),!Array.isArray(p)&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(S,{label:"Access Key",value:p.accessKey}),(0,C.jsx)(S,{label:"Secret Key",value:p.secretKey})]})]})}),g?(0,C.jsx)("div",{className:t.warningBlock,children:"Please Login via the configured external identity provider."}):(0,C.jsxs)("div",{className:t.warningBlock,children:[(0,C.jsx)(j.Z,{}),(0,C.jsx)("span",{children:"Write these down, as this is the only time the secret will be displayed."})]})]}),(0,C.jsxs)(m.ZP,{item:!0,xs:12,className:t.buttonContainer,children:[(0,C.jsx)(u.Z,{variant:"outlined",className:t.buttonSpacer,onClick:function(){l()},color:"primary",children:"Done"}),!g&&(0,C.jsx)(u.Z,{onClick:function(){var e={};if(p)if(Array.isArray(p)){var t=p.map((function(e){return{access_key:e.accessKey,secret_key:e.secretKey}}));e={console:(0,r.Z)(t)}}else e={console:[{access_key:p.accessKey,secret_key:p.secretKey}]};!function(e,t){var n=document.createElement("a");n.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(t)),n.setAttribute("download",e),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)}("credentials.json",JSON.stringify((0,a.Z)({},e)))},endIcon:(0,C.jsx)(v._8,{}),variant:"contained",color:"primary",children:"Download"})]})]})})}))},82461:function(e,t,n){n.d(t,{Z:function(){return C}});var a=n(23430),r=n(18489),i=n(50390),s=n(38342),o=n.n(s),l=n(25594),c=n(36554),u=n(94187),d=n(95467),m=n(46529),p=n(94258),g=n(86509),f=n(4285),h=n(72462),x=n(97538),v=n(82981),y=n(62559),C=(0,f.Z)((function(e){return(0,g.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},h.YI),h.Hr),{},{valueString:{maxWidth:350,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginTop:2},fileInputField:{margin:"13px 0","@media (max-width: 900px)":{flexFlow:"column"}}},h.bV),{},{inputLabel:(0,r.Z)((0,r.Z)({},h.YI.inputLabel),{},{fontWeight:"normal"}),textBoxContainer:(0,r.Z)((0,r.Z)({},h.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,g=e.name,f=e.disabled,h=void 0!==f&&f,C=e.tooltip,S=void 0===C?"":C,j=e.required,Z=e.error,b=void 0===Z?"":Z,_=e.accept,P=void 0===_?"":_,N=e.value,I=void 0===N?"":N,A=(0,i.useState)(!1),T=(0,a.Z)(A,2),k=T[0],R=T[1];return(0,y.jsx)(i.Fragment,{children:(0,y.jsxs)(l.ZP,{item:!0,xs:12,className:"".concat(n.fileInputField," ").concat(n.fieldBottom," ").concat(n.fieldContainer," ").concat(""!==b?n.errorInField:""),children:[""!==t&&(0,y.jsxs)(c.Z,{htmlFor:s,className:"".concat(""!==b?n.fieldLabelError:""," ").concat(n.inputLabel),children:[(0,y.jsxs)("span",{children:[t,j?"*":""]}),""!==S&&(0,y.jsx)("div",{className:n.tooltipContainer,children:(0,y.jsx)(u.Z,{title:S,placement:"top-start",children:(0,y.jsx)("div",{className:n.tooltip,children:(0,y.jsx)(x.Z,{})})})})]}),k||""===I?(0,y.jsxs)("div",{className:n.textBoxContainer,children:[(0,y.jsx)("input",{type:"file",name:g,onChange:function(e){var t=o()(e,"target.files[0].name","");!function(e,t){var n=e.target.files[0],a=new FileReader;a.readAsDataURL(n),a.onload=function(){var e=a.result;if(e){var n=e.toString().split("base64,");2===n.length&&t(n[1])}}}(e,(function(e){r(e,t)}))},accept:P,required:j,disabled:h,className:n.fileInputField}),""!==I&&(0,y.jsx)(d.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){R(!1)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,y.jsx)(p.Z,{})}),""!==b&&(0,y.jsx)(v.Z,{errorMessage:b})]}):(0,y.jsxs)("div",{className:n.fileReselect,children:[(0,y.jsx)("div",{className:n.valueString,children:I}),(0,y.jsx)(d.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){R(!0)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,y.jsx)(m.Z,{})})]})]})})}))},27207:function(e,t,n){var a=n(36222),r=n(18489),i=(n(50390),n(44977)),s=n(25594),o=n(82420),l=n(66695),c=n(98893),u=n(36554),d=n(94187),m=n(86509),p=n(4285),g=n(62449),f=n(72462),h=n(97538),x=n(62559),v=(0,g.Z)((0,r.Z)({root:{"&:hover":{backgroundColor:"transparent"}}},f.FU)),y=function(e){var t=v();return(0,x.jsx)(c.Z,(0,r.Z)({className:t.root,disableRipple:!0,color:"default",checkedIcon:(0,x.jsx)("span",{className:t.radioSelectedIcon}),icon:(0,x.jsx)("span",{className:t.radioUnselectedIcon})},e))};t.Z=(0,p.Z)((function(e){return(0,m.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},f.YI),f.Hr),{},{optionLabel:{"&.Mui-disabled":{"& .MuiFormControlLabel-label":{color:"#9c9c9c"}},"&:last-child":{marginRight:0},"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E"}},checkedOption:{"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E",fontWeight:700}}}))}))((function(e){var t=e.selectorOptions,n=void 0===t?[]:t,r=e.currentSelection,c=e.label,m=e.id,p=e.name,g=e.onChange,f=e.tooltip,v=void 0===f?"":f,C=e.disableOptions,S=void 0!==C&&C,j=e.classes,Z=e.displayInColumn,b=void 0!==Z&&Z;return(0,x.jsxs)(s.ZP,{container:!0,alignItems:"center",children:[(0,x.jsx)(s.ZP,{item:!0,xs:!0,children:(0,x.jsxs)(u.Z,{htmlFor:m,className:j.inputLabel,children:[(0,x.jsx)("span",{children:c}),""!==v&&(0,x.jsx)("div",{className:j.tooltipContainer,children:(0,x.jsx)(d.Z,{title:v,placement:"top-start",children:(0,x.jsx)("div",{children:(0,x.jsx)(h.Z,{})})})})]})}),(0,x.jsx)(s.ZP,{item:!0,xs:!0,className:j.radioOptionsLayout,children:(0,x.jsx)(o.Z,{"aria-label":m,id:m,name:p,value:r,onChange:g,row:!b,style:{display:"block",textAlign:"right"},children:n.map((function(e){return(0,x.jsx)(l.Z,{value:e.value,control:(0,x.jsx)(y,{}),label:e.label,disabled:S,className:(0,i.Z)(j.optionLabel,(0,a.Z)({},j.checkedOption,e.value===r))},"rd-".concat(p,"-").concat(e.value))}))})})]})}))},67754:function(e,t,n){var a=n(18489),r=n(50390),i=n(25594),s=n(46413),o=n(36554),l=n(94187),c=n(47554),u=n(43965),d=n(31680),m=n(86509),p=n(4285),g=n(72462),f=n(97538),h=n(62559),x=(0,p.Z)((function(e){return(0,m.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(s.ZP);t.Z=(0,p.Z)((function(e){return(0,m.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},g.YI),g.Hr),{},{inputLabel:(0,a.Z)((0,a.Z)({},g.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var t=e.classes,n=e.id,a=e.name,s=e.onChange,m=e.options,p=e.label,g=e.tooltip,v=void 0===g?"":g,y=e.value,C=e.disabled,S=void 0!==C&&C;return(0,h.jsx)(r.Fragment,{children:(0,h.jsxs)(i.ZP,{item:!0,xs:12,className:t.fieldContainer,children:[""!==p&&(0,h.jsxs)(o.Z,{htmlFor:n,className:t.inputLabel,children:[(0,h.jsx)("span",{children:p}),""!==v&&(0,h.jsx)("div",{className:t.tooltipContainer,children:(0,h.jsx)(l.Z,{title:v,placement:"top-start",children:(0,h.jsx)("div",{className:t.tooltip,children:(0,h.jsx)(f.Z,{})})})})]}),(0,h.jsx)(c.Z,{fullWidth:!0,children:(0,h.jsx)(u.Z,{id:n,name:a,value:y,onChange:s,input:(0,h.jsx)(x,{}),disabled:S,children:m.map((function(e){return(0,h.jsx)(d.Z,{value:e.value,children:e.label},"select-".concat(a,"-").concat(e.label))}))})})]})})}))},76295:function(e,t,n){n.d(t,{Z:function(){return f}});var a=n(23430),r=n(50390),i=n(86509),s=n(4285),o=n(81378),l=n(66946),c=n(62559),u=(0,s.Z)((function(e){return(0,i.Z)({wizardStepContainer:{display:"flex",flexDirection:"column",flex:1},wizardComponent:{overflowY:"auto",marginBottom:10,height:"calc(100vh - 100px - 80px)",minHeight:400,flex:1,width:"100%"},wizardModal:{overflowY:"auto",marginBottom:10,height:"calc(100vh - 515px)"},buttonsContainer:{display:"flex",flexDirection:"row",justifyContent:"flex-start",padding:"10px 0",borderTop:"#EAEAEA 1px solid","& button":{marginLeft:10},"&.forModal":{paddingBottom:0}},buttonInnerContainer:{width:"100%",textAlign:"right",marginRight:15}})}))((function(e){var t=e.classes,n=e.page,a=e.pageChange,r=e.loadingStep,i=e.forModal;return(0,c.jsxs)("div",{className:t.wizardStepContainer,children:[(0,c.jsx)("div",{className:i?t.wizardModal:t.wizardComponent,children:n.componentRender}),r&&(0,c.jsx)("div",{children:(0,c.jsx)(o.Z,{})}),(0,c.jsx)("div",{className:"".concat(t.buttonsContainer," ").concat(i?"forModal":""),children:(0,c.jsx)("div",{className:t.buttonInnerContainer,children:n.buttons.map((function(e){return(0,c.jsx)(l.Z,{variant:"contained",color:"primary",size:"small",onClick:function(){!function(e){switch(e.type){case"next":a("++");break;case"back":a("--");break;case"to":a(e.toPage||0)}e.action&&e.action(a)}(e)},disabled:!e.enabled,children:e.label},"button-".concat(n.label,"-").concat(e.label))}))})})]})})),d=n(5211),m=n(25594),p=n(14291),g=n(70902),f=(0,s.Z)((function(e){return(0,i.Z)({wizFromContainer:{},wizFromModal:{position:"relative"},modalWizardSteps:{padding:5,borderBottom:"#eaeaea 1px solid","& ul":{padding:0,marginTop:0,display:"flex",justifyContent:"space-evenly","& li":{listStyle:"lower-roman","&::marker":{paddingLeft:15}}}},buttonList:{backgroundColor:"transparent",border:"none",cursor:"pointer","&:not(:disabled):hover":{textDecoration:"underline"},"&:selected, &:active, &:focus, &:focus:active":{border:"none",outline:0,boxShadow:"none"}},paddedContentGrid:{marginTop:8,padding:"0 10px",minHeight:400},stepsLabel:{fontSize:20,color:"#393939",fontWeight:600,margin:"15px 12px","&.stepsModalTitle":{textAlign:"center",width:"100%",marginTop:0,marginBottom:10}},stepsMasterContainer:{position:"sticky",top:0,backgroundColor:"#FFFFFF",width:"100%",maxHeight:90},verticalSteps:{borderRight:"1px solid #E5E5E5",background:"#F8F8F8"},stepsContainer:{paddingTop:0,"& .MuiButtonBase-root.Mui-selected":{background:"#E5E5E5"}},stepItem:{minHeight:60,borderBottom:"1px solid #E5E5E5","&:hover":{background:"rgba(247,247,247,0.7)"}}})}))((function(e){var t=e.classes,n=e.wizardSteps,i=e.loadingStep,s=e.forModal,o=(0,r.useState)(0),l=(0,a.Z)(o,2),f=l[0],h=l[1],x=function(e){var t=n.length-1;if("++"===e){var a=f+1;a>t&&(a=t),h(a)}if("--"===e){var r=f-1;r<0&&(r=0),h(r)}if("number"===typeof e){var i=e;e<0&&(i=0),e>t&&(i=t),h(i)}};if(0===n.length)return null;return(0,c.jsxs)(m.ZP,{container:!0,className:s?t.wizFromModal:t.wizFromContainer,children:[s?(0,c.jsx)(r.Fragment,{children:(0,c.jsxs)("div",{className:t.stepsMasterContainer,children:[(0,c.jsx)("div",{className:"".concat(t.stepsLabel," stepsModalTitle"),children:"Steps"}),(0,c.jsx)("div",{className:t.modalWizardSteps,children:(0,c.jsx)("ul",{children:n.map((function(e,n){return(0,c.jsx)("li",{children:(0,c.jsx)("button",{onClick:function(){return x(n)},disabled:n>f,className:t.buttonList,children:e.label})},"wizard-".concat(n.toString()))}))})})]})}):(0,c.jsx)(r.Fragment,{children:(0,c.jsx)(m.ZP,{item:!0,xs:12,sm:2,md:2,lg:2,xl:2,className:t.verticalSteps,children:(0,c.jsx)(r.Fragment,{children:(0,c.jsx)(d.Z,{component:"nav",dense:!0,classes:{root:t.stepsContainer},children:n.map((function(e,n){return(0,c.jsx)(p.ZP,{button:!0,disableRipple:!0,onClick:function(){return x(n)},selected:f===n,classes:{root:t.stepItem},children:(0,c.jsx)(g.Z,{primary:e.label})},"wizard-".concat(n.toString()))}))})})})}),(0,c.jsx)(m.ZP,{item:!0,xs:12,sm:s?12:10,md:s?12:10,lg:s?12:10,xl:s?12:10,className:s?"":t.paddedContentGrid,children:(0,c.jsx)(u,{page:n[f],pageChange:x,loadingStep:i,forModal:s})})]})}))},25534:function(e,t,n){var a=n(18489),r=(n(50390),n(25594)),i=n(86509),s=n(4285),o=n(72462),l=n(62559);t.Z=(0,s.Z)((function(e){return(0,i.Z)((0,a.Z)({},o.Bw))}))((function(e){var t=e.classes,n=e.className,a=void 0===n?"":n,i=e.children;return(0,l.jsx)("div",{className:t.contentSpacer,children:(0,l.jsx)(r.ZP,{container:!0,children:(0,l.jsx)(r.ZP,{item:!0,xs:12,className:a,children:i})})})}))},35721:function(e,t,n){n(50390);var a=n(34424),r=n(25594),i=n(86509),s=n(4285),o=n(35477),l=n(95467),c=n(26805),u=n(44078),d=n(5265),m=n(98280),p=n(62559),g={toggleList:d.kQ},f=(0,a.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),g);t.Z=f((0,s.Z)((function(e){return(0,i.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,a=e.actions,i=e.sidebarOpen,s=e.operatorMode,d=e.managerObjects,g=e.toggleList,f=e.middleComponent;return(0,p.jsxs)(r.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!i&&(0,p.jsx)("div",{className:t.logo,children:s?(0,p.jsx)(c.Z,{}):(0,p.jsx)(u.Z,{})}),(0,p.jsx)(o.Z,{variant:"h4",className:t.labelStyle,children:n})]}),f&&(0,p.jsx)(r.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,p.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:t.rightMenu,children:[a&&a,d&&d.length>0&&(0,p.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){g()},size:"large",children:(0,p.jsx)(m.gx,{})})]})]})})))},1056:function(e,t,n){n.r(t),n.d(t,{default:function(){return ze}});var a,r,i=n(23430),s=n(18489),o=n(50390),l=n(38342),c=n.n(l),u=n(34424),d=n(25594),m=n(81378),p=n(86509),g=n(4285),f=n(72462),h=n(30324),x=n(28948),v=n(76295),y=n(44149),C=n(93127),S=n(39080),j=n(46864),Z=n(35531),b=n(46981),_=n(10369),P=n(84201),N=n(92440),I=n(66964),A=n(67754),T=n(62559),k=(0,u.$j)((function(e){return{storageClasses:e.tenants.createTenant.storageClasses,customImage:e.tenants.createTenant.fields.configure.customImage,imageName:e.tenants.createTenant.fields.configure.imageName,customDockerhub:e.tenants.createTenant.fields.configure.customDockerhub,imageRegistry:e.tenants.createTenant.fields.configure.imageRegistry,imageRegistryUsername:e.tenants.createTenant.fields.configure.imageRegistryUsername,imageRegistryPassword:e.tenants.createTenant.fields.configure.imageRegistryPassword,exposeMinIO:e.tenants.createTenant.fields.configure.exposeMinIO,exposeConsole:e.tenants.createTenant.fields.configure.exposeConsole,prometheusCustom:e.tenants.createTenant.fields.configure.prometheusCustom,tenantCustom:e.tenants.createTenant.fields.configure.tenantCustom,logSearchCustom:e.tenants.createTenant.fields.configure.logSearchCustom,logSearchVolumeSize:e.tenants.createTenant.fields.configure.logSearchVolumeSize,logSearchSizeFactor:e.tenants.createTenant.fields.configure.logSearchSizeFactor,prometheusVolumeSize:e.tenants.createTenant.fields.configure.prometheusVolumeSize,prometheusSizeFactor:e.tenants.createTenant.fields.configure.prometheusSizeFactor,logSearchSelectedStorageClass:e.tenants.createTenant.fields.configure.logSearchSelectedStorageClass,logSearchImage:e.tenants.createTenant.fields.configure.logSearchImage,kesImage:e.tenants.createTenant.fields.configure.kesImage,logSearchPostgresImage:e.tenants.createTenant.fields.configure.logSearchPostgresImage,logSearchPostgresInitImage:e.tenants.createTenant.fields.configure.logSearchPostgresInitImage,prometheusSelectedStorageClass:e.tenants.createTenant.fields.configure.prometheusSelectedStorageClass,prometheusImage:e.tenants.createTenant.fields.configure.prometheusImage,prometheusSidecarImage:e.tenants.createTenant.fields.configure.prometheusSidecarImage,prometheusInitImage:e.tenants.createTenant.fields.configure.prometheusInitImage,selectedStorageClass:e.tenants.createTenant.fields.nameTenant.selectedStorageClass,tenantSecurityContext:e.tenants.createTenant.fields.configure.tenantSecurityContext,logSearchSecurityContext:e.tenants.createTenant.fields.configure.logSearchSecurityContext,logSearchPostgresSecurityContext:e.tenants.createTenant.fields.configure.logSearchPostgresSecurityContext,prometheusSecurityContext:e.tenants.createTenant.fields.configure.prometheusSecurityContext}}),{updateAddField:j.HM,isPageValid:j.NO}),R=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)({configSectionItem:{marginRight:15,"& .multiContainer":{border:"1px solid red"}},tenantCustomizationFields:{marginLeft:30,width:"88%",margin:"auto"},containerItem:{marginRight:15},fieldGroup:(0,s.Z)((0,s.Z)({},f.QV.fieldGroup),{},{paddingTop:15,marginBottom:25}),responsiveSectionItem:{"@media (max-width: 900px)":{flexFlow:"column",alignItems:"flex-start","& div > div":{marginBottom:5,marginRight:0}}},logSearchCustomFields:{marginLeft:20,padding:10,width:"90%",margin:"auto"},fieldSpaceTop:{marginTop:15},prometheusCustomFields:{marginLeft:20,padding:10,width:"90%",margin:"auto"}},f.oO),f.AK))}))(k((function(e){var t=e.classes,n=e.storageClasses,a=e.customImage,r=e.imageName,l=e.customDockerhub,c=e.imageRegistry,u=e.imageRegistryUsername,m=e.imageRegistryPassword,p=e.exposeMinIO,g=e.exposeConsole,f=e.prometheusCustom,h=e.tenantCustom,x=e.logSearchCustom,v=e.logSearchVolumeSize,y=(e.logSearchSizeFactor,e.logSearchImage),C=e.kesImage,S=e.logSearchPostgresImage,j=e.logSearchPostgresInitImage,k=e.prometheusVolumeSize,R=(e.prometheusSizeFactor,e.logSearchSelectedStorageClass),z=e.prometheusSelectedStorageClass,w=e.prometheusImage,F=e.prometheusSidecarImage,D=e.prometheusInitImage,E=e.updateAddField,U=e.isPageValid,K=e.selectedStorageClass,L=e.tenantSecurityContext,M=e.logSearchSecurityContext,q=e.logSearchPostgresSecurityContext,G=e.prometheusSecurityContext,V=(0,o.useState)({}),O=(0,i.Z)(V,2),B=O[0],$=O[1],W=[{label:"Default",value:"default"}].concat((0,Z.Z)(n)),H=(0,o.useCallback)((function(e,t){E("configure",e,t)}),[E]);(0,o.useEffect)((function(){var e=[];h&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"tenant_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:"tenant_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:"tenant_securityContext_fsGroup",required:!0,value:L.fsGroup,customValidation:""===L.fsGroup||parseInt(L.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"}])),f&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"prometheus_storage_class",required:!0,value:z,customValidation:""===z,customValidationMessage:"Field cannot be empty"},{fieldKey:"prometheus_volume_size",required:!0,value:k,customValidation:""===k||parseInt(k)<=0,customValidationMessage:"Volume size must be present and be greater than 0"},{fieldKey:"prometheus_securityContext_runAsUser",required:!0,value:G.runAsUser,customValidation:""===G.runAsUser||parseInt(G.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"prometheus_securityContext_runAsGroup",required:!0,value:G.runAsGroup,customValidation:""===G.runAsGroup||parseInt(G.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"prometheus_securityContext_fsGroup",required:!0,value:G.fsGroup,customValidation:""===G.fsGroup||parseInt(G.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"}])),x&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"log_search_storage_class",required:!0,value:R,customValidation:""===R,customValidationMessage:"Field cannot be empty"},{fieldKey:"log_search_volume_size",required:!0,value:v,customValidation:""===v||parseInt(v)<=0,customValidationMessage:"Volume size must be present and be greatter than 0"},{fieldKey:"logSearch_securityContext_runAsUser",required:!0,value:M.runAsUser,customValidation:""===M.runAsUser||parseInt(M.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"logSearch_securityContext_runAsGroup",required:!0,value:M.runAsGroup,customValidation:""===M.runAsGroup||parseInt(M.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"logSearch_securityContext_fsGroup",required:!0,value:M.fsGroup,customValidation:""===M.fsGroup||parseInt(M.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"},{fieldKey:"postgres_securityContext_runAsUser",required:!0,value:q.runAsUser,customValidation:""===q.runAsUser||parseInt(q.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"postgres_securityContext_runAsGroup",required:!0,value:G.runAsGroup,customValidation:""===q.runAsGroup||parseInt(q.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"postgres_securityContext_fsGroup",required:!0,value:q.fsGroup,customValidation:""===q.fsGroup||parseInt(q.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"}])),a&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"image",required:!1,value:r,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/minio:VERSION'"},{fieldKey:"logSearchImage",required:!1,value:y,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/logsearchapi:VERSION'"},{fieldKey:"kesImage",required:!1,value:C,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/kes:VERSION'"},{fieldKey:"logSearchPostgresImage",required:!1,value:S,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'library/postgres:VERSION'"},{fieldKey:"logSearchPostgresInitImage",required:!1,value:j,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'library/busybox:VERSION'"},{fieldKey:"prometheusImage",required:!1,value:w,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'"}]),l&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"registry",required:!0,value:c},{fieldKey:"registryUsername",required:!0,value:u},{fieldKey:"registryPassword",required:!0,value:m}])));var t=(0,P.R)(e);U("configure",0===Object.keys(t).length),$(t)}),[a,r,y,C,S,j,w,F,D,l,c,u,m,U,f,h,x,z,k,R,v,L,M,q,G]),(0,o.useEffect)((function(){n.length>0&&(0===n.filter((function(e){return e.value===z})).length&&H("prometheusSelectedStorageClass","default"),0===n.filter((function(e){return e.value===R})).length&&H("logSearchSelectedStorageClass","default"))}),[R,z,K,n,H]);var Y=function(e){$((0,_.h)(B,e))};return(0,T.jsxs)(b.Z,{className:t.paperWrapper,children:[(0,T.jsxs)("div",{className:t.headerElement,children:[(0,T.jsx)("h3",{className:t.h3Section,children:"Configure"}),(0,T.jsx)("span",{className:t.descriptionText,children:"Basic configurations for tenant management"})]}),(0,T.jsxs)("div",{className:t.headerElement,children:[(0,T.jsx)("h3",{className:t.h3Section,children:"Expose Services"}),(0,T.jsx)("span",{className:t.descriptionText,children:"Whether the tenant's services should request an external IP."})]}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.configSectionItem,children:(0,T.jsx)(N.Z,{value:"expose_minio",id:"expose_minio",name:"expose_minio",checked:p,onChange:function(e){var t=e.target.checked;H("exposeMinIO",t)},label:"Expose MiniO Service"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.configSectionItem,children:(0,T.jsx)(N.Z,{value:"expose_console",id:"expose_console",name:"expose_console",checked:g,onChange:function(e){var t=e.target.checked;H("exposeConsole",t)},label:"Expose Console Service"})}),(0,T.jsxs)("div",{className:t.headerElement,children:[(0,T.jsx)("h3",{className:t.h3Section,children:"Additional Configurations"}),(0,T.jsx)("span",{className:t.descriptionText,children:"Configure SecurityContext, Storage Classes & Storage size for Log Search, Prometheus add-ons and your Tenant"})]}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.configSectionItem,children:(0,T.jsx)(N.Z,{value:"tenantConfig",id:"tenant_configuration",name:"tenant_configuration",checked:h,onChange:function(e){var t=e.target.checked;H("tenantCustom",t)},label:"Override Tenant defaults"})}),h&&(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.tenantCustomizationFields,children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"SecurityContext for MinIO"}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:"".concat(t.configSectionItem),children:(0,T.jsxs)("div",{className:"".concat(t.multiContainer," ").concat(t.responsiveSectionItem),children:[(0,T.jsx)("div",{className:t.containerItem,children:(0,T.jsx)(I.Z,{type:"number",id:"tenant_securityContext_runAsUser",name:"tenant_securityContext_runAsUser",onChange:function(e){H("tenantSecurityContext",(0,s.Z)((0,s.Z)({},L),{},{runAsUser:e.target.value})),Y("tenant_securityContext_runAsUser")},label:"Run As User",value:L.runAsUser,required:!0,error:B.tenant_securityContext_runAsUser||"",min:"0"})}),(0,T.jsx)("div",{className:t.containerItem,children:(0,T.jsx)(I.Z,{type:"number",id:"tenant_securityContext_runAsGroup",name:"tenant_securityContext_runAsGroup",onChange:function(e){H("tenantSecurityContext",(0,s.Z)((0,s.Z)({},L),{},{runAsGroup:e.target.value})),Y("tenant_securityContext_runAsGroup")},label:"Run As Group",value:L.runAsGroup,required:!0,error:B.tenant_securityContext_runAsGroup||"",min:"0"})}),(0,T.jsx)("div",{className:t.containerItem,children:(0,T.jsx)(I.Z,{type:"number",id:"tenant_securityContext_fsGroup",name:"tenant_securityContext_fsGroup",onChange:function(e){H("tenantSecurityContext",(0,s.Z)((0,s.Z)({},L),{},{fsGroup:e.target.value})),Y("tenant_securityContext_fsGroup")},label:"FsGroup",value:L.fsGroup,required:!0,error:B.tenant_securityContext_fsGroup||"",min:"0"})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.configSectionItem,children:(0,T.jsx)("div",{className:t.multiContainer,children:(0,T.jsx)(N.Z,{value:"tenantSecurityContextRunAsNonRoot",id:"tenant_securityContext_runAsNonRoot",name:"tenant_securityContext_runAsNonRoot",checked:L.runAsNonRoot,onChange:function(e){var t=e.target.checked;H("tenantSecurityContext",(0,s.Z)((0,s.Z)({},L),{},{runAsNonRoot:t}))},label:"Do not run as Root"})})})]})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.configSectionItem,children:(0,T.jsx)(N.Z,{value:"logSearchConfig",id:"log_search_configuration",name:"log_search_configuration",checked:x,onChange:function(e){var t=e.target.checked;H("logSearchCustom",t)},label:"Override Log Search defaults"})}),x&&(0,T.jsxs)(d.ZP,{xs:12,className:t.logSearchCustomFields,children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)(A.Z,{id:"log_search_storage_class",name:"log_search_storage_class",onChange:function(e){H("logSearchSelectedStorageClass",e.target.value)},label:"Log Search Storage Class",value:R,options:W,disabled:W.length<1})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:t.multiContainer,children:(0,T.jsx)(I.Z,{type:"number",id:"log_search_volume_size",name:"log_search_volume_size",onChange:function(e){H("logSearchVolumeSize",e.target.value),Y("log_search_volume_size")},label:"Storage Size [Gi]",value:v,required:!0,error:B.log_search_volume_size||"",min:"0"})})}),(0,T.jsxs)("fieldset",{className:"".concat(t.fieldGroup," ").concat(t.fieldSpaceTop),children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"SecurityContext for LogSearch"}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsxs)("div",{className:"".concat(t.multiContainer," ").concat(t.responsiveSectionItem),children:[(0,T.jsx)("div",{className:t.configSectionItem,children:(0,T.jsx)(I.Z,{type:"number",id:"logSearch_securityContext_runAsUser",name:"logSearch_securityContext_runAsUser",onChange:function(e){H("logSearchSecurityContext",(0,s.Z)((0,s.Z)({},M),{},{runAsUser:e.target.value})),Y("logSearch_securityContext_runAsUser")},label:"Run As User",value:M.runAsUser,required:!0,error:B.logSearch_securityContext_runAsUser||"",min:"0"})}),(0,T.jsx)("div",{className:t.configSectionItem,children:(0,T.jsx)(I.Z,{type:"number",id:"logSearch_securityContext_runAsGroup",name:"logSearch_securityContext_runAsGroup",onChange:function(e){H("logSearchSecurityContext",(0,s.Z)((0,s.Z)({},M),{},{runAsGroup:e.target.value})),Y("logSearch_securityContext_runAsGroup")},label:"Run As Group",value:M.runAsGroup,required:!0,error:B.logSearch_securityContext_runAsGroup||"",min:"0"})}),(0,T.jsx)("div",{className:t.configSectionItem,children:(0,T.jsx)(I.Z,{type:"number",id:"logSearch_securityContext_fsGroup",name:"logSearch_securityContext_fsGroup",onChange:function(e){H("logSearchSecurityContext",(0,s.Z)((0,s.Z)({},M),{},{fsGroup:e.target.value})),Y("logSearch_securityContext_fsGroup")},label:"FsGroup",value:M.fsGroup,required:!0,error:B.logSearch_securityContext_fsGroup||"",min:"0"})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:t.multiContainer,children:(0,T.jsx)(N.Z,{value:"logSearchSecurityContextRunAsNonRoot",id:"logSearch_securityContext_runAsNonRoot",name:"logSearch_securityContext_runAsNonRoot",checked:M.runAsNonRoot,onChange:function(e){var t=e.target.checked;H("logSearchSecurityContext",(0,s.Z)((0,s.Z)({},M),{},{runAsNonRoot:t}))},label:"Do not run as Root"})})})]}),(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"SecurityContext for PostgreSQL"}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsxs)("div",{className:"".concat(t.multiContainer," ").concat(t.responsiveSectionItem),children:[(0,T.jsx)("div",{className:t.configSectionItem,children:(0,T.jsx)(I.Z,{type:"number",id:"postgres_securityContext_runAsUser",name:"postgres_securityContext_runAsUser",onChange:function(e){H("logSearchPostgresSecurityContext",(0,s.Z)((0,s.Z)({},q),{},{runAsUser:e.target.value})),Y("postgres_securityContext_runAsUser")},label:"Run As User",value:q.runAsUser,required:!0,error:B.postgres_securityContext_runAsUser||"",min:"0"})}),(0,T.jsx)("div",{className:t.configSectionItem,children:(0,T.jsx)(I.Z,{type:"number",id:"postgres_securityContext_runAsGroup",name:"postgres_securityContext_runAsGroup",onChange:function(e){H("logSearchPostgresSecurityContext",(0,s.Z)((0,s.Z)({},q),{},{runAsGroup:e.target.value})),Y("postgres_securityContext_runAsGroup")},label:"Run As Group",value:q.runAsGroup,required:!0,error:B.postgres_securityContext_runAsGroup||"",min:"0"})}),(0,T.jsx)("div",{className:t.configSectionItem,children:(0,T.jsx)(I.Z,{type:"number",id:"postgres_securityContext_fsGroup",name:"postgres_securityContext_fsGroup",onChange:function(e){H("logSearchPostgresSecurityContext",(0,s.Z)((0,s.Z)({},q),{},{fsGroup:e.target.value})),Y("postgres_securityContext_fsGroup")},label:"FsGroup",value:q.fsGroup,required:!0,error:B.postgres_securityContext_fsGroup||"",min:"0"})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:t.multiContainer,children:(0,T.jsx)(N.Z,{value:"postgresSecurityContextRunAsNonRoot",id:"postgres_securityContext_runAsNonRoot",name:"postgres_securityContext_runAsNonRoot",checked:q.runAsNonRoot,onChange:function(e){var t=e.target.checked;H("logSearchPostgresSecurityContext",(0,s.Z)((0,s.Z)({},q),{},{runAsNonRoot:t}))},label:"Do not run as Root"})})})]})]}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.configSectionItem,children:(0,T.jsx)(N.Z,{value:"prometheusConfig",id:"prometheus_configuration",name:"prometheus_configuration",checked:f,onChange:function(e){var t=e.target.checked;H("prometheusCustom",t)},label:"Override Prometheus defaults"})}),f&&(0,T.jsxs)(d.ZP,{xs:12,className:t.prometheusCustomFields,children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)(A.Z,{id:"prometheus_storage_class",name:"prometheus_storage_class",onChange:function(e){H("prometheusSelectedStorageClass",e.target.value)},label:"Prometheus Storage Class",value:z,options:W,disabled:W.length<1})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:t.multiContainer,children:(0,T.jsx)(I.Z,{type:"number",id:"prometheus_volume_size",name:"prometheus_volume_size",onChange:function(e){H("prometheusVolumeSize",e.target.value),Y("prometheus_volume_size")},label:"Storage Size [Gi]",value:k,required:!0,error:B.prometheus_volume_size||"",min:"0"})})}),(0,T.jsxs)("fieldset",{className:"".concat(t.fieldGroup," ").concat(t.fieldSpaceTop),children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"SecurityContext for Prometheus"}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.configSectionItem,children:(0,T.jsxs)("div",{className:"".concat(t.multiContainer," ").concat(t.responsiveSectionItem),children:[(0,T.jsx)("div",{className:t.configSectionItem,children:(0,T.jsx)(I.Z,{type:"number",id:"prometheus_securityContext_runAsUser",name:"prometheus_securityContext_runAsUser",onChange:function(e){H("prometheusSecurityContext",(0,s.Z)((0,s.Z)({},G),{},{runAsUser:e.target.value})),Y("prometheus_securityContext_runAsUser")},label:"Run As User",value:G.runAsUser,required:!0,error:B.prometheus_securityContext_runAsUser||"",min:"0"})}),(0,T.jsx)("div",{className:t.configSectionItem,children:(0,T.jsx)(I.Z,{type:"number",id:"prometheus_securityContext_runAsGroup",name:"prometheus_securityContext_runAsGroup",onChange:function(e){H("prometheusSecurityContext",(0,s.Z)((0,s.Z)({},G),{},{runAsGroup:e.target.value})),Y("prometheus_securityContext_runAsGroup")},label:"Run As Group",value:G.runAsGroup,required:!0,error:B.prometheus_securityContext_runAsGroup||"",min:"0"})}),(0,T.jsx)("div",{className:t.configSectionItem,children:(0,T.jsx)(I.Z,{type:"number",id:"prometheus_securityContext_fsGroup",name:"prometheus_securityContext_fsGroup",onChange:function(e){H("prometheusSecurityContext",(0,s.Z)((0,s.Z)({},G),{},{fsGroup:e.target.value})),Y("prometheus_securityContext_fsGroup")},label:"FsGroup",value:G.fsGroup,required:!0,error:B.prometheus_securityContext_fsGroup||"",min:"0"})})]})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.configSectionItem,children:(0,T.jsx)("div",{className:"".concat(t.multiContainer," ").concat(t.fieldSpaceTop),children:(0,T.jsx)(N.Z,{value:"prometheusSecurityContextRunAsNonRoot",id:"prometheus_securityContext_runAsNonRoot",name:"prometheus_securityContext_runAsNonRoot",checked:G.runAsNonRoot,onChange:function(e){var t=e.target.checked;H("prometheusSecurityContext",(0,s.Z)((0,s.Z)({},G),{},{runAsNonRoot:t}))},label:"Do not run as Root"})})})]})]})]})}))),z=n(94187),w=n(95467),F=n(35477),D=n(94759),E=n(43615),U=n(27207),K=n(96152),L=n(35150),M=(0,u.$j)((function(e){return{idpSelection:e.tenants.createTenant.fields.identityProvider.idpSelection,accessKeys:e.tenants.createTenant.fields.identityProvider.accessKeys,secretKeys:e.tenants.createTenant.fields.identityProvider.secretKeys,openIDConfigurationURL:e.tenants.createTenant.fields.identityProvider.openIDConfigurationURL,openIDClientID:e.tenants.createTenant.fields.identityProvider.openIDClientID,openIDSecretID:e.tenants.createTenant.fields.identityProvider.openIDSecretID,openIDCallbackURL:e.tenants.createTenant.fields.identityProvider.openIDCallbackURL,openIDClaimName:e.tenants.createTenant.fields.identityProvider.openIDClaimName,openIDScopes:e.tenants.createTenant.fields.identityProvider.openIDScopes,ADURL:e.tenants.createTenant.fields.identityProvider.ADURL,ADSkipTLS:e.tenants.createTenant.fields.identityProvider.ADSkipTLS,ADServerInsecure:e.tenants.createTenant.fields.identityProvider.ADServerInsecure,ADUserNameSearchFilter:e.tenants.createTenant.fields.identityProvider.ADUserNameSearchFilter,ADGroupSearchBaseDN:e.tenants.createTenant.fields.identityProvider.ADGroupSearchBaseDN,ADGroupSearchFilter:e.tenants.createTenant.fields.identityProvider.ADGroupSearchFilter,ADGroupNameAttribute:e.tenants.createTenant.fields.identityProvider.ADGroupNameAttribute,ADUserDNs:e.tenants.createTenant.fields.identityProvider.ADUserDNs,ADUserNameFormat:e.tenants.createTenant.fields.identityProvider.ADUserNameFormat,ADLookupBindDN:e.tenants.createTenant.fields.identityProvider.ADLookupBindDN,ADLookupBindPassword:e.tenants.createTenant.fields.identityProvider.ADLookupBindPassword,ADUserDNSearchBaseDN:e.tenants.createTenant.fields.identityProvider.ADUserDNSearchBaseDN,ADUserDNSearchFilter:e.tenants.createTenant.fields.identityProvider.ADUserDNSearchFilter,ADServerStartTLS:e.tenants.createTenant.fields.identityProvider.ADServerStartTLS}}),{updateAddField:j.HM,isPageValid:j.NO}),q=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)((0,s.Z)((0,s.Z)({shortened:{gridTemplateColumns:"auto auto 50px 50px",display:"grid",gridGap:15,marginBottom:10,"& input":{fontWeight:400}},buttonTray:{marginLeft:10,display:"flex",height:38,"& button":{background:"#EAEAEA"}},overlayAction:{marginLeft:10,"& svg":{maxWidth:15,maxHeight:15},"& button":{background:"#EAEAEA"}},protocolRadioOptions:{display:"flex",flexFlow:"column",marginBottom:10,"& label":{fontSize:14},"& div":{display:"flex",flexFlow:"column",alignItems:"baseline"}},adUserDnRows:{display:"flex"}},f.QV),f.DF),f.oO),f.AK))}))(M((function(e){var t=e.classes,n=e.idpSelection,a=e.accessKeys,r=e.secretKeys,s=e.openIDConfigurationURL,l=e.openIDClientID,c=e.openIDSecretID,u=e.openIDCallbackURL,m=e.openIDClaimName,p=e.openIDScopes,g=e.ADURL,f=e.ADSkipTLS,h=e.ADServerInsecure,x=e.ADUserNameSearchFilter,v=e.ADGroupSearchBaseDN,y=e.ADGroupSearchFilter,C=e.ADGroupNameAttribute,S=e.ADUserDNs,j=e.ADUserNameFormat,A=e.ADLookupBindDN,k=e.ADLookupBindPassword,R=e.ADUserDNSearchBaseDN,M=e.ADUserDNSearchFilter,q=e.ADServerStartTLS,G=e.updateAddField,V=e.isPageValid,O=(0,o.useState)({}),B=(0,i.Z)(O,2),$=B[0],W=B[1],H=(0,o.useCallback)((function(e,t){G("identityProvider",e,t)}),[G]),Y=function(e,t){var n=(0,Z.Z)(a);n[e]=t,H("accessKeys",n)},Q=function(e,t){var n=(0,Z.Z)(r);n[e]=t,H("secretKeys",n)},X=function(e,t){var n=(0,Z.Z)(S);n[e]=t,H("ADUserDNs",n)},J=function(e){W((0,_.h)($,e))};(0,o.useEffect)((function(){var e=[];if("Built-in"===n){e=(0,Z.Z)(e);for(var t=0;t1&&(a.splice(n,1),r.splice(n,1),Y(a.length-1,a[a.length-1]))},children:(0,T.jsx)(L.Z,{})})})}),(0,T.jsx)(z.Z,{title:"Randomize Credentials","aria-label":"add",children:(0,T.jsx)("div",{className:t.overlayAction,children:(0,T.jsx)(w.Z,{onClick:function(){Y(n,(0,_.z)(16)),Q(n,(0,_.z)(32))},size:"small",children:(0,T.jsx)(D.Z,{})})})})]})]})},"identityField-".concat(n.toString()))}))),"AD"===n&&(ee=S.map((function(e,n){return(0,T.jsx)(o.Fragment,{children:(0,T.jsxs)("div",{className:t.adUserDnRows,children:[(0,T.jsx)(I.Z,{id:"ad-userdn-".concat(n.toString()),label:"",placeholder:"",name:"ad-userdn-".concat(n.toString()),value:S[n],onChange:function(e){X(n,e.target.value),J("ad-userdn-".concat(n.toString()))},index:n,error:$["ad-userdn-".concat(n.toString())]||""},"csv-ad-userdn-".concat(n.toString())),(0,T.jsxs)("div",{className:t.buttonTray,children:[(0,T.jsx)(z.Z,{title:"Add User","aria-label":"add",children:(0,T.jsx)(w.Z,{size:"small",onClick:function(){S.push(""),X(S.length-1,"")},children:(0,T.jsx)(K.Z,{})})}),(0,T.jsx)(z.Z,{title:"Remove","aria-label":"add",children:(0,T.jsx)(w.Z,{size:"small",style:{marginLeft:16},onClick:function(){S.length>1&&(S.splice(n,1),Y(S.length-1,S[S.length-1]))},children:(0,T.jsx)(E.Z,{})})})]})]})},"identityField-".concat(n.toString()))}))),(0,T.jsxs)(b.Z,{className:t.paperWrapper,children:[(0,T.jsxs)("div",{className:t.headerElement,children:[(0,T.jsx)("h3",{className:t.h3Section,children:"Identity Provider"}),(0,T.jsx)("span",{className:t.descriptionText,children:"Access to the tenant can be controlled via an external Identity Manager."})]}),(0,T.jsxs)(d.ZP,{item:!0,xs:12,className:t.protocolRadioOptions,children:[(0,T.jsx)("label",{children:"Protocol"}),(0,T.jsx)(U.Z,{currentSelection:n,id:"idp-options",name:"idp-options",label:" ",onChange:function(e){H("idpSelection",e.target.value)},selectorOptions:[{label:"Built-in",value:"Built-in"},{label:"OpenID",value:"OpenID"},{label:"Active Directory",value:"AD"}]})]}),"Built-in"===n&&(0,T.jsxs)(o.Fragment,{children:["Add additional users",ee]}),"OpenID"===n&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"openID_CONFIGURATION_URL",name:"openID_CONFIGURATION_URL",onChange:function(e){H("openIDConfigurationURL",e.target.value),J("openID_CONFIGURATION_URL")},label:"Configuration URL",value:s,placeholder:"https://your-identity-provider.com/.well-known/openid-configuration",error:$.openID_CONFIGURATION_URL||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"openID_clientID",name:"openID_clientID",onChange:function(e){H("openIDClientID",e.target.value),J("openID_clientID")},label:"Client ID",value:l,error:$.openID_clientID||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"openID_secretID",name:"openID_secretID",onChange:function(e){H("openIDSecretID",e.target.value),J("openID_secretID")},label:"Secret ID",value:c,error:$.openID_secretID||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"openID_callbackURL",name:"openID_callbackURL",onChange:function(e){H("openIDCallbackURL",e.target.value),J("openID_callbackURL")},label:"Callback URL",value:u,placeholder:"https://your-console-endpoint:9443/oauth_callback",error:$.openID_callbackURL||""})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"openID_claimName",name:"openID_claimName",onChange:function(e){H("openIDClaimName",e.target.value),J("openID_claimName")},label:"Claim Name",value:m,error:$.openID_claimName||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"openID_scopes",name:"openID_scopes",onChange:function(e){H("openIDScopes",e.target.value),J("openID_scopes")},label:"Scopes",value:p})})]}),"AD"===n&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"AD_URL",name:"AD_URL",onChange:function(e){H("ADURL",e.target.value),J("AD_URL")},label:"LDAP Server Address",value:g,placeholder:"ldap-server:636",error:$.AD_URL||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(N.Z,{value:"ad_skipTLS",id:"ad_skipTLS",name:"ad_skipTLS",checked:f,onChange:function(e){var t=e.target.checked;H("ADSkipTLS",t)},label:"Skip TLS Verification"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(N.Z,{value:"ad_serverInsecure",id:"ad_serverInsecure",name:"ad_serverInsecure",checked:h,onChange:function(e){var t=e.target.checked;H("ADServerInsecure",t)},label:"Server Insecure"})}),h?(0,T.jsxs)(d.ZP,{item:!0,xs:12,children:[(0,T.jsx)(F.Z,{className:t.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)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(N.Z,{value:"ad_serverStartTLS",id:"ad_serverStartTLS",name:"ad_serverStartTLS",checked:q,onChange:function(e){var t=e.target.checked;H("ADServerStartTLS",t)},label:"Start TLS connection to AD/LDAP server"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"ad_userNameFormat",name:"ad_userNameFormat",onChange:function(e){H("ADUserNameFormat",e.target.value)},label:"Username Format",value:j,placeholder:"uid=%s,cn=accounts,dc=myldapserver,dc=com"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"ad_userNameFilter",name:"ad_userNameFilter",onChange:function(e){H("ADUserNameSearchFilter",e.target.value)},label:"Username Search Filter",value:x,placeholder:"(|(objectclass=posixAccount)(uid=%s))"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"ad_groupSearchBaseDN",name:"ad_groupSearchBaseDN",onChange:function(e){H("ADGroupSearchBaseDN",e.target.value)},label:"Group Search Base DN",value:v,placeholder:"ou=hwengg,dc=min,dc=io;ou=swengg,dc=min,dc=io"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"ad_groupSearchFilter",name:"ad_groupSearchFilter",onChange:function(e){H("ADGroupSearchFilter",e.target.value)},label:"Group Search Filter",value:y,placeholder:"(&(objectclass=groupOfNames)(member=%s))"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"ad_groupNameAttribute",name:"ad_groupNameAttribute",onChange:function(e){H("ADGroupNameAttribute",e.target.value)},label:"Group Name Attribute",value:C,placeholder:"cn"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"ad_lookupBindDN",name:"ad_lookupBindDN",onChange:function(e){H("ADLookupBindDN",e.target.value)},label:"Lookup Bind DN",value:A,placeholder:"cn=admin,dc=min,dc=io"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"ad_lookupBindPassword",name:"ad_lookupBindPassword",onChange:function(e){H("ADLookupBindPassword",e.target.value)},label:"Lookup Bind Password",value:k,placeholder:"admin"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"ad_userDNSearchBaseDN",name:"ad_userDNSearchBaseDN",onChange:function(e){H("ADUserDNSearchBaseDN",e.target.value)},label:"User DN Search Base DN",value:R,placeholder:"dc=min,dc=io"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"ad_userDNSearchFilter",name:"ad_userDNSearchFilter",onChange:function(e){H("ADUserDNSearchFilter",e.target.value)},label:"User DN Search Filter",value:M,placeholder:"(uid=%s)"})}),(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"List of user DNs (Distinguished Names) to be Tenant Administrators"}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:ee})]})]})]})}))),G=n(82461),V=n(14792),O=(0,u.$j)((function(e){return{enableTLS:e.tenants.createTenant.fields.security.enableTLS,enableAutoCert:e.tenants.createTenant.fields.security.enableAutoCert,enableCustomCerts:e.tenants.createTenant.fields.security.enableCustomCerts,minioCertificates:e.tenants.createTenant.certificates.minioCertificates,caCertificates:e.tenants.createTenant.certificates.caCertificates}}),{updateAddField:j.HM,isPageValid:j.NO,addFileToCaCertificates:j.Eq,deleteCaCertificate:j.IG,addCaCertificate:j.fK,addKeyPair:j.Mg,addFileToKeyPair:j.aN,deleteKeyPair:j.XX}),B=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)((0,s.Z)({minioCertificateRows:{display:"flex",alignItems:"center",justifyContent:"flex-start",borderBottom:"1px solid #EAEAEA","&:last-child":{borderBottom:0},"@media (max-width: 900px)":{flex:1}},fileItem:{marginRight:10,display:"flex","& div label":{minWidth:50},"@media (max-width: 900px)":{flexFlow:"column"}},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"}}},f.QV),f.oO),f.AK))}))(O((function(e){var t=e.classes,n=e.enableTLS,a=e.enableAutoCert,r=e.enableCustomCerts,i=e.minioCertificates,s=e.caCertificates,l=e.updateAddField,c=e.isPageValid,u=e.addFileToCaCertificates,m=e.deleteCaCertificate,p=e.addCaCertificate,g=e.addKeyPair,f=e.addFileToKeyPair,h=e.deleteKeyPair,x=(0,o.useCallback)((function(e,t){l("security",e,t)}),[l]);return(0,o.useEffect)((function(){c("security",!n||(!!a||!!r))}),[n,a,r,c]),(0,T.jsxs)(b.Z,{className:t.paperWrapper,children:[(0,T.jsx)("div",{className:t.headerElement,children:(0,T.jsx)("h3",{className:t.h3Section,children:"Security"})}),(0,T.jsxs)(d.ZP,{item:!0,xs:12,children:[(0,T.jsx)(N.Z,{value:"enableTLS",id:"enableTLS",name:"enableTLS",checked:n,onChange:function(e){var t=e.target.checked;x("enableTLS",t)},label:"Enable TLS"}),"Enable TLS for the tenant, this is required for Encryption Configuration",n&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)("br",{}),(0,T.jsx)("br",{}),(0,T.jsx)(F.Z,{variant:"caption",display:"block",gutterBottom:!0,children:"AutoCert: MinIO Operator will generate all TLS certificates automatically"}),(0,T.jsx)(F.Z,{variant:"caption",display:"block",gutterBottom:!0,children:"Custom certificates: Allow user to provide your own certificates"}),(0,T.jsx)("br",{})]})]}),n&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsxs)(d.ZP,{item:!0,xs:12,children:[(0,T.jsx)(N.Z,{value:"enableAutoCert",id:"enableAutoCert",name:"enableAutoCert",checked:a,onChange:function(e){var t=e.target.checked;x("enableAutoCert",t)},label:"Enable AutoCert"}),(0,T.jsx)(N.Z,{value:"enableCustomCerts",id:"enableCustomCerts",name:"enableCustomCerts",checked:r,onChange:function(e){var t=e.target.checked;x("enableCustomCerts",t)},label:"Custom Certificates"})]}),r&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{container:!0,children:(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.minioCertsContainer,children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"MinIO Certificates"}),i.map((function(e){return(0,T.jsxs)(d.ZP,{item:!0,xs:12,className:t.minioCertificateRows,children:[(0,T.jsxs)(d.ZP,{item:!0,xs:10,className:t.fileItem,children:[(0,T.jsx)(G.Z,{onChange:function(t,n){f(e.id,"cert",n,t)},accept:".cer,.crt,.cert,.pem",id:"tlsCert",name:"tlsCert",label:"Cert",value:e.cert}),(0,T.jsx)(G.Z,{onChange:function(t,n){f(e.id,"key",n,t)},accept:".key,.pem",id:"tlsKey",name:"tlsKey",label:"Key",value:e.key})]}),(0,T.jsxs)(d.ZP,{item:!0,xs:2,className:t.rowActions,children:[(0,T.jsx)("div",{className:t.overlayAction,children:(0,T.jsx)(w.Z,{size:"small",onClick:g,children:(0,T.jsx)(V.Z,{})})}),(0,T.jsx)("div",{className:t.overlayAction,children:(0,T.jsx)(w.Z,{size:"small",onClick:function(){h(e.id)},children:(0,T.jsx)(L.Z,{})})})]})]},e.id)}))]})})}),(0,T.jsx)(d.ZP,{container:!0,children:(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.minioCertsContainer,children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"MinIO CA Certificates"}),s.map((function(e){return(0,T.jsxs)(d.ZP,{item:!0,xs:12,className:t.minioCACertsRow,children:[(0,T.jsx)(d.ZP,{item:!0,xs:6,children:(0,T.jsx)(G.Z,{onChange:function(t,n){u(e.id,"cert",n,t)},accept:".cer,.crt,.cert,.pem",id:"tlsCert",name:"tlsCert",label:"Cert",value:e.cert})}),(0,T.jsx)(d.ZP,{item:!0,xs:6,children:(0,T.jsxs)("div",{className:t.rowActions,children:[(0,T.jsx)("div",{className:t.overlayAction,children:(0,T.jsx)(w.Z,{size:"small",onClick:p,children:(0,T.jsx)(V.Z,{})})}),(0,T.jsx)("div",{className:t.overlayAction,children:(0,T.jsx)(w.Z,{size:"small",onClick:function(){m(e.id)},children:(0,T.jsx)(L.Z,{})})})]})})]},e.id)}))]})})})]})]})]})}))),$=(0,u.$j)((function(e){return{replicas:e.tenants.createTenant.fields.encryption.replicas,enableEncryption:e.tenants.createTenant.fields.encryption.enableEncryption,encryptionType:e.tenants.createTenant.fields.encryption.encryptionType,gemaltoEndpoint:e.tenants.createTenant.fields.encryption.gemaltoEndpoint,gemaltoToken:e.tenants.createTenant.fields.encryption.gemaltoToken,gemaltoDomain:e.tenants.createTenant.fields.encryption.gemaltoDomain,gemaltoRetry:e.tenants.createTenant.fields.encryption.gemaltoRetry,awsEndpoint:e.tenants.createTenant.fields.encryption.awsEndpoint,awsRegion:e.tenants.createTenant.fields.encryption.awsRegion,awsKMSKey:e.tenants.createTenant.fields.encryption.awsKMSKey,awsAccessKey:e.tenants.createTenant.fields.encryption.awsAccessKey,awsSecretKey:e.tenants.createTenant.fields.encryption.awsSecretKey,awsToken:e.tenants.createTenant.fields.encryption.awsToken,vaultEndpoint:e.tenants.createTenant.fields.encryption.vaultEndpoint,vaultEngine:e.tenants.createTenant.fields.encryption.vaultEngine,vaultNamespace:e.tenants.createTenant.fields.encryption.vaultNamespace,vaultPrefix:e.tenants.createTenant.fields.encryption.vaultPrefix,vaultAppRoleEngine:e.tenants.createTenant.fields.encryption.vaultAppRoleEngine,vaultId:e.tenants.createTenant.fields.encryption.vaultId,vaultSecret:e.tenants.createTenant.fields.encryption.vaultSecret,vaultRetry:e.tenants.createTenant.fields.encryption.vaultRetry,vaultPing:e.tenants.createTenant.fields.encryption.vaultPing,azureEndpoint:e.tenants.createTenant.fields.encryption.azureEndpoint,azureTenantID:e.tenants.createTenant.fields.encryption.azureTenantID,azureClientID:e.tenants.createTenant.fields.encryption.azureClientID,azureClientSecret:e.tenants.createTenant.fields.encryption.azureClientSecret,gcpProjectID:e.tenants.createTenant.fields.encryption.gcpProjectID,gcpEndpoint:e.tenants.createTenant.fields.encryption.gcpEndpoint,gcpClientEmail:e.tenants.createTenant.fields.encryption.gcpClientEmail,gcpClientID:e.tenants.createTenant.fields.encryption.gcpClientID,gcpPrivateKeyID:e.tenants.createTenant.fields.encryption.gcpPrivateKeyID,gcpPrivateKey:e.tenants.createTenant.fields.encryption.gcpPrivateKey,enableCustomCertsForKES:e.tenants.createTenant.fields.encryption.enableCustomCertsForKES,enableAutoCert:e.tenants.createTenant.fields.security.enableAutoCert,enableTLS:e.tenants.createTenant.fields.security.enableTLS,minioCertificates:e.tenants.createTenant.certificates.minioCertificates,serverCertificate:e.tenants.createTenant.certificates.serverCertificate,clientCertificate:e.tenants.createTenant.certificates.clientCertificate,vaultCertificate:e.tenants.createTenant.certificates.vaultCertificate,vaultCA:e.tenants.createTenant.certificates.vaultCA,gemaltoCA:e.tenants.createTenant.certificates.gemaltoCA,enableCustomCerts:e.tenants.createTenant.fields.security.enableCustomCerts,kesSecurityContext:e.tenants.createTenant.fields.encryption.kesSecurityContext}}),{updateAddField:j.HM,isPageValid:j.NO,addFileServerCert:j.$1,addFileClientCert:j.BI,addFileVaultCert:j.cl,addFileVaultCa:j.fk,addFileGemaltoCa:j.MX}),W=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)((0,s.Z)((0,s.Z)({encryptionTypeOptions:{marginBottom:15},mutualTlsConfig:{marginTop:15,"& fieldset":{flex:1}},rightSpacer:{marginRight:15},responsiveContainer:{"@media (max-width: 900px)":{display:"flex",flexFlow:"column"}}},f.QV),f.DF),f.oO),f.AK))}))($((function(e){var t=e.classes,n=e.updateAddField,a=e.isPageValid,r=e.addFileServerCert,l=e.addFileClientCert,c=e.addFileVaultCert,u=e.addFileVaultCa,m=e.addFileGemaltoCa,p=e.enableEncryption,g=e.enableCustomCerts,f=e.encryptionType,h=e.gemaltoEndpoint,x=e.gemaltoToken,v=e.gemaltoDomain,y=e.gemaltoRetry,C=e.awsEndpoint,S=e.awsRegion,j=e.awsKMSKey,A=e.awsAccessKey,k=e.awsSecretKey,R=e.awsToken,z=e.vaultEndpoint,w=e.vaultEngine,F=e.vaultNamespace,D=e.vaultPrefix,E=e.vaultAppRoleEngine,K=e.vaultId,L=e.vaultSecret,M=e.vaultRetry,q=e.vaultPing,V=e.azureEndpoint,O=e.azureTenantID,B=e.azureClientID,$=e.azureClientSecret,W=e.gcpProjectID,H=e.gcpEndpoint,Y=e.gcpClientEmail,Q=e.gcpClientID,X=e.gcpPrivateKeyID,J=e.gcpPrivateKey,ee=e.enableCustomCertsForKES,te=e.enableAutoCert,ne=e.enableTLS,ae=e.minioCertificates,re=e.serverCertificate,ie=e.clientCertificate,se=e.vaultCertificate,oe=e.vaultCA,le=e.gemaltoCA,ce=e.kesSecurityContext,ue=e.replicas,de=(0,o.useState)({}),me=(0,i.Z)(de,2),pe=me[0],ge=me[1],fe=!1;ne&&(te||ae&&ae.filter((function(e){return e.encoded_key&&e.encoded_cert})).length>0)&&(fe=!0);var he=(0,o.useCallback)((function(e,t){n("encryption",e,t)}),[n]),xe=function(e){ge((0,_.h)(pe,e))};return(0,o.useEffect)((function(){var e=[];p&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"replicas",required:!0,value:ue,customValidation:parseInt(ue)<1,customValidationMessage:"Replicas needs to be 1 or greater"},{fieldKey:"kes_securityContext_runAsUser",required:!0,value:ce.runAsUser,customValidation:""===ce.runAsUser||parseInt(ce.runAsUser)<0,customValidationMessage:"runAsUser must be present and be 0 or more"},{fieldKey:"kes_securityContext_runAsGroup",required:!0,value:ce.runAsGroup,customValidation:""===ce.runAsGroup||parseInt(ce.runAsGroup)<0,customValidationMessage:"runAsGroup must be present and be 0 or more"},{fieldKey:"kes_securityContext_fsGroup",required:!0,value:ce.fsGroup,customValidation:""===ce.fsGroup||parseInt(ce.fsGroup)<0,customValidationMessage:"fsGroup must be present and be 0 or more"}]),g&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"serverKey",required:!te,value:re.encoded_key},{fieldKey:"serverCert",required:!te,value:re.encoded_cert},{fieldKey:"clientKey",required:!te,value:ie.encoded_key},{fieldKey:"clientCert",required:!te,value:ie.encoded_cert}])),"vault"===f&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"vault_endpoint",required:!0,value:z},{fieldKey:"vault_id",required:!0,value:K},{fieldKey:"vault_secret",required:!0,value:L},{fieldKey:"vault_ping",required:!1,value:q,customValidation:parseInt(q)<0,customValidationMessage:"Value needs to be 0 or greater"},{fieldKey:"vault_retry",required:!1,value:M,customValidation:parseInt(M)<0,customValidationMessage:"Value needs to be 0 or greater"}])),"aws"===f&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"aws_endpoint",required:!0,value:C},{fieldKey:"aws_region",required:!0,value:S},{fieldKey:"aws_accessKey",required:!0,value:A},{fieldKey:"aws_secretKey",required:!0,value:k}])),"gemalto"===f&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"gemalto_endpoint",required:!0,value:h},{fieldKey:"gemalto_token",required:!0,value:x},{fieldKey:"gemalto_domain",required:!0,value:v},{fieldKey:"gemalto_retry",required:!1,value:y,customValidation:parseInt(y)<0,customValidationMessage:"Value needs to be 0 or greater"}])),"azure"===f&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"azure_endpoint",required:!0,value:V},{fieldKey:"azure_tenant_id",required:!0,value:O},{fieldKey:"azure_client_id",required:!0,value:B},{fieldKey:"azure_client_secret",required:!0,value:$}])));var t=(0,P.R)(e);a("encryption",0===Object.keys(t).length),ge(t)}),[p,f,z,w,K,L,q,M,C,S,k,A,h,x,v,y,W,H,Y,Q,X,J,V,O,B,$,a,te,g,re.encoded_key,re.encoded_cert,ie.encoded_key,ie.encoded_cert,ce,ue]),(0,T.jsxs)(b.Z,{className:t.paperWrapper,children:[(0,T.jsxs)("div",{className:t.headerElement,children:[(0,T.jsx)("h3",{className:t.h3Section,children:"Encryption"}),(0,T.jsx)("span",{className:t.descriptionText,children:"How would you like to encrypt the information at rest."})]}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)(N.Z,{value:"enableEncryption",id:"enableEncryption",name:"enableEncryption",checked:p,onChange:function(e){var t=e.target.checked;he("enableEncryption",t)},label:"Enable Server Side Encryption",disabled:!fe})}),p&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.encryptionTypeOptions,children:(0,T.jsx)(U.Z,{currentSelection:f,id:"encryptionType",name:"encryptionType",label:"Encryption Options",onChange:function(e){he("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"===f&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)(N.Z,{value:"enableCustomCertsForKES",id:"enableCustomCertsForKES",name:"enableCustomCertsForKES",checked:ee||!te,onChange:function(e){var t=e.target.checked;he("enableCustomCertsForKES",t)},label:"Custom Certificates",disabled:!te})}),(ee||!te)&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{container:!0,children:(0,T.jsx)(d.ZP,{item:!0,xs:12,style:{marginBottom:15},children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"Encryption Service Certificates"}),(0,T.jsx)(G.Z,{onChange:function(e,t){r("key",t,e),xe("serverKey")},accept:".key,.pem",id:"serverKey",name:"serverKey",label:"Key",error:pe.serverKey||"",value:re.key,required:!te}),(0,T.jsx)(G.Z,{onChange:function(e,t){r("cert",t,e),xe("serverCert")},accept:".cer,.crt,.cert,.pem",id:"serverCert",name:"serverCert",label:"Cert",error:pe.serverCert||"",value:re.cert,required:!te})]})})}),(0,T.jsx)(d.ZP,{container:!0,style:{marginBottom:15},children:(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"Mutual TLS authentication"}),(0,T.jsx)(G.Z,{onChange:function(e,t){l("key",t,e),xe("clientKey")},accept:".key,.pem",id:"clientKey",name:"clientKey",label:"Key",error:pe.clientKey||"",value:ie.key,required:!te}),(0,T.jsx)(G.Z,{onChange:function(e,t){l("cert",t,e),xe("clientCert")},accept:".cer,.crt,.cert,.pem",id:"clientCert",name:"clientCert",label:"Cert",error:pe.clientCert||"",value:ie.cert,required:!te})]})})})]}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"vault_endpoint",name:"vault_endpoint",onChange:function(e){he("vaultEndpoint",e.target.value),xe("vault_endpoint")},label:"Endpoint",value:z,error:pe.vault_endpoint||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"vault_engine",name:"vault_engine",onChange:function(e){he("vaultEngine",e.target.value),xe("vault_engine")},label:"Engine",value:w})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"vault_namespace",name:"vault_namespace",onChange:function(e){he("vaultNamespace",e.target.value)},label:"Namespace",value:F})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"vault_prefix",name:"vault_prefix",onChange:function(e){he("vaultPrefix",e.target.value)},label:"Prefix",value:D})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"App Role"}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"vault_approle_engine",name:"vault_approle_engine",onChange:function(e){he("vaultAppRoleEngine",e.target.value)},label:"Engine",value:E})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"vault_id",name:"vault_id",onChange:function(e){he("vaultId",e.target.value),xe("vault_id")},label:"AppRole ID",value:K,error:pe.vault_id||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"vault_secret",name:"vault_secret",onChange:function(e){he("vaultSecret",e.target.value),xe("vault_secret")},label:"AppRole Secret",value:L,error:pe.vault_secret||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{type:"number",min:"0",id:"vault_retry",name:"vault_retry",onChange:function(e){he("vaultRetry",e.target.value),xe("vault_retry")},label:"Retry (Seconds)",value:M,error:pe.vault_retry||""})})]})}),(0,T.jsx)(d.ZP,{container:!0,className:t.mutualTlsConfig,children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"Mutual TLS authentication (optional)"}),(0,T.jsx)(G.Z,{onChange:function(e,t){c("key",t,e),xe("vault_key")},accept:".key,.pem",id:"vault_key",name:"vault_key",label:"Key",value:se.key}),(0,T.jsx)(G.Z,{onChange:function(e,t){c("cert",t,e),xe("vault_cert")},accept:".cer,.crt,.cert,.pem",id:"vault_cert",name:"vault_cert",label:"Cert",value:se.cert}),(0,T.jsx)(G.Z,{onChange:function(e,t){u(t,e),xe("vault_ca")},accept:".cer,.crt,.cert,.pem",id:"vault_ca",name:"vault_ca",label:"CA",value:oe.cert})]})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,style:{marginTop:15},children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"Status"}),(0,T.jsx)(I.Z,{type:"number",min:"0",id:"vault_ping",name:"vault_ping",onChange:function(e){he("vaultPing",e.target.value),xe("vault_ping")},label:"Ping (Seconds)",value:q,error:pe.vault_ping||""})]})})]}),"azure"===f&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"azure_endpoint",name:"azure_endpoint",onChange:function(e){he("azureEndpoint",e.target.value),xe("azure_endpoint")},label:"Endpoint",value:V,error:pe.azure_endpoint||""})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"Credentials"}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"azure_tenant_id",name:"azure_tenant_id",onChange:function(e){he("azureTenantID",e.target.value),xe("azure_tenant_id")},label:"Tenant ID",value:O,error:pe.azure_tenant_id||""})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"azure_client_id",name:"azure_client_id",onChange:function(e){he("azureClientID",e.target.value),xe("azure_client_id")},label:"Client ID",value:B,error:pe.azure_client_id||""})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"azure_client_secret",name:"azure_client_secret",onChange:function(e){he("azureClientSecret",e.target.value),xe("azure_client_secret")},label:"Client Secret",value:$,error:pe.azure_client_secret||""})})]})})]}),"gcp"===f&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"gcp_project_id",name:"gcp_project_id",onChange:function(e){he("gcpProjectID",e.target.value)},label:"Project ID",value:W})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"gcp_endpoint",name:"gcp_endpoint",onChange:function(e){he("gcpEndpoint",e.target.value)},label:"Endpoint",value:H})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"Credentials"}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"gcp_client_email",name:"gcp_client_email",onChange:function(e){he("gcpClientEmail",e.target.value)},label:"Client Email",value:Y})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"gcp_client_id",name:"gcp_client_id",onChange:function(e){he("gcpClientID",e.target.value)},label:"Client ID",value:Q})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"gcp_private_key_id",name:"gcp_private_key_id",onChange:function(e){he("gcpPrivateKeyID",e.target.value)},label:"Private Key ID",value:X})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"gcp_private_key",name:"gcp_private_key",onChange:function(e){he("gcpPrivateKey",e.target.value)},label:"Private Key",value:J})})]})})]}),"aws"===f&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"aws_endpoint",name:"aws_endpoint",onChange:function(e){he("awsEndpoint",e.target.value),xe("aws_endpoint")},label:"Endpoint",value:C,error:pe.aws_endpoint||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"aws_region",name:"aws_region",onChange:function(e){he("awsRegion",e.target.value),xe("aws_region")},label:"Region",value:S,error:pe.aws_region||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"aws_kmsKey",name:"aws_kmsKey",onChange:function(e){he("awsKMSKey",e.target.value)},label:"KMS Key",value:j})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"Credentials"}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"aws_accessKey",name:"aws_accessKey",onChange:function(e){he("awsAccessKey",e.target.value),xe("aws_accessKey")},label:"Access Key",value:A,error:pe.aws_accessKey||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"aws_secretKey",name:"aws_secretKey",onChange:function(e){he("awsSecretKey",e.target.value),xe("aws_secretKey")},label:"Secret Key",value:k,error:pe.aws_secretKey||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"aws_token",name:"aws_token",onChange:function(e){he("awsToken",e.target.value)},label:"Token",value:R})})]})})]}),"gemalto"===f&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"gemalto_endpoint",name:"gemalto_endpoint",onChange:function(e){he("gemaltoEndpoint",e.target.value),xe("gemalto_endpoint")},label:"Endpoint",value:h,error:pe.gemalto_endpoint||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,style:{marginBottom:15},children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"Credentials"}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"gemalto_token",name:"gemalto_token",onChange:function(e){he("gemaltoToken",e.target.value),xe("gemalto_token")},label:"Token",value:x,error:pe.gemalto_token||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"gemalto_domain",name:"gemalto_domain",onChange:function(e){he("gemaltoDomain",e.target.value),xe("gemalto_domain")},label:"Domain",value:v,error:pe.gemalto_domain||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{type:"number",min:"0",id:"gemalto_retry",name:"gemalto_retry",onChange:function(e){he("gemaltoRetry",e.target.value),xe("gemalto_retry")},label:"Retry (seconds)",value:y,error:pe.gemalto_retry||""})})]})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,style:{marginBottom:15},children:(0,T.jsxs)("fieldset",{className:t.fieldGroup,children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"Custom CA Root certificate verification"}),(0,T.jsx)(G.Z,{onChange:function(e,t){m(t,e),xe("gemalto_ca")},accept:".cer,.crt,.cert,.pem",id:"gemalto_ca",name:"gemalto_ca",label:"CA",value:le.cert})]})})]}),(0,T.jsx)("div",{className:t.headerElement,children:(0,T.jsx)("h4",{className:t.h3Section,children:"Additional Configurations"})}),(0,T.jsxs)(d.ZP,{item:!0,xs:12,children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,classes:t.formFieldRow,children:(0,T.jsx)(I.Z,{type:"number",min:"1",id:"replicas",name:"replicas",onChange:function(e){he("replicas",e.target.value),xe("replicas")},label:"Replicas",value:ue,required:!0,error:pe.replicas||""})}),(0,T.jsxs)("fieldset",{className:t.fieldGroup,style:{marginTop:15},children:[(0,T.jsx)("legend",{className:t.descriptionText,children:"SecurityContext for KES pods"}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.kesSecurityContext,children:(0,T.jsxs)("div",{className:"".concat(t.multiContainer," ").concat(t.responsiveContainer),children:[(0,T.jsx)("div",{className:"".concat(t.formFieldRow," ").concat(t.rightSpacer),children:(0,T.jsx)(I.Z,{type:"number",id:"kes_securityContext_runAsUser",name:"kes_securityContext_runAsUser",onChange:function(e){he("kesSecurityContext",(0,s.Z)((0,s.Z)({},ce),{},{runAsUser:e.target.value})),xe("kes_securityContext_runAsUser")},label:"Run As User",value:ce.runAsUser,required:!0,error:pe.kes_securityContext_runAsUser||"",min:"0"})}),(0,T.jsx)("div",{className:"".concat(t.formFieldRow," ").concat(t.rightSpacer),children:(0,T.jsx)(I.Z,{type:"number",id:"kes_securityContext_runAsGroup",name:"kes_securityContext_runAsGroup",onChange:function(e){he("kesSecurityContext",(0,s.Z)((0,s.Z)({},ce),{},{runAsGroup:e.target.value})),xe("kes_securityContext_runAsGroup")},label:"Run As Group",value:ce.runAsGroup,required:!0,error:pe.kes_securityContext_runAsGroup||"",min:"0"})}),(0,T.jsx)("div",{className:"".concat(t.formFieldRow," ").concat(t.rightSpacer),children:(0,T.jsx)(I.Z,{type:"number",id:"kes_securityContext_fsGroup",name:"kes_securityContext_fsGroup",onChange:function(e){he("kesSecurityContext",(0,s.Z)((0,s.Z)({},ce),{},{fsGroup:e.target.value})),xe("kes_securityContext_fsGroup")},label:"FsGroup",value:ce.fsGroup,required:!0,error:pe.kes_securityContext_fsGroup||"",min:"0"})})]})}),(0,T.jsx)("br",{}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:t.multiContainer,children:(0,T.jsx)(N.Z,{value:"kesSecurityContextRunAsNonRoot",id:"kes_securityContext_runAsNonRoot",name:"kes_securityContext_runAsNonRoot",checked:ce.runAsNonRoot,onChange:function(e){var t=e.target.checked;he("kesSecurityContext",(0,s.Z)((0,s.Z)({},ce),{},{runAsNonRoot:t}))},label:"Do not run as Root"})})})]})]})]})]})}))),H=(0,u.$j)((function(e){var t=e.tenants.createTenant;return{podAffinity:t.fields.affinity.podAffinity,nodeSelectorLabels:t.fields.affinity.nodeSelectorLabels,withPodAntiAffinity:t.fields.affinity.withPodAntiAffinity,keyValuePairs:t.nodeSelectorPairs}}),{setModalErrorSnackMessage:y.zb,updateAddField:j.HM,isPageValid:j.NO,setKeyValuePairs:j.i$}),Y=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)({overlayAction:{marginLeft:10,"& 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"},fieldContainer:{marginBottom:0},affinityRow:{marginBottom:10,display:"flex"}},f.oO),f.AK))}))(H((function(e){var t=e.classes,n=e.podAffinity,a=e.nodeSelectorLabels,r=e.withPodAntiAffinity,s=e.setModalErrorSnackMessage,l=e.updateAddField,c=e.keyValuePairs,u=e.setKeyValuePairs,m=e.isPageValid,p=(0,o.useState)({}),g=(0,i.Z)(p,2),f=g[0],x=g[1],v=(0,o.useState)(!0),y=(0,i.Z)(v,2),C=y[0],S=y[1],j=(0,o.useState)({}),_=(0,i.Z)(j,2),k=_[0],R=_[1],z=(0,o.useState)([]),F=(0,i.Z)(z,2),D=F[0],E=F[1],K=(0,o.useCallback)((function(e,t){l("affinity",e,t)}),[l]);return(0,o.useEffect)((function(){C&&h.Z.invoke("GET","/api/v1/nodes/labels").then((function(e){S(!1),R(e);var t=[];for(var n in e)t.push({label:n,value:n});E(t)})).catch((function(e){S(!1),s(e),R({})}))}),[s,C]),(0,o.useEffect)((function(){if(c){var e=c.filter((function(e){return""!==e.key})).map((function(e){return"".concat(e.key,"=").concat(e.value)})).filter((function(e,t,n){return n.indexOf(e)===t})).join("&");K("nodeSelectorLabels",e)}}),[c,K]),(0,o.useEffect)((function(){var e=[];if("nodeSelector"===n){var t=!0,r=a.split("&");1===r.length&&""===r[0]&&(t=!1),r.forEach((function(e,n){var a=e.split("=");2!==a.length&&(t=!1),n+1!==r.length&&(""!==a[0]&&""!==a[1]||(t=!1))})),e=[].concat((0,Z.Z)(e),[{fieldKey:"labels",required:!0,value:a,customValidation:!t,customValidationMessage:"You need to add at least one label key-pair"}])}var i=(0,P.R)(e);m("affinity",0===Object.keys(i).length),x(i)}),[m,n,a]),(0,T.jsxs)(b.Z,{className:t.paperWrapper,children:[(0,T.jsxs)("div",{className:t.headerElement,children:[(0,T.jsx)("h3",{className:t.h3Section,children:"Pod Placement"}),(0,T.jsx)("span",{className:t.descriptionText,children:"Configure how pods will be assigned to nodes"})]}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.affinityConfigField,children:(0,T.jsxs)(d.ZP,{item:!0,className:t.affinityFieldLabel,children:[(0,T.jsx)("div",{className:t.label,children:"Type"}),(0,T.jsx)("div",{className:"".concat(t.descriptionText," ").concat(t.affinityHelpText),children:"MinIO supports multiple configurations for Pod Affinity"}),(0,T.jsx)(d.ZP,{item:!0,className:t.radioField,children:(0,T.jsx)(U.Z,{currentSelection:n,id:"affinity-options",name:"affinity-options",label:" ",onChange:function(e){K("podAffinity",e.target.value)},selectorOptions:[{label:"None",value:"none"},{label:"Default (Pod Anti-Affinnity)",value:"default"},{label:"Node Selector",value:"nodeSelector"}]})})]})}),"nodeSelector"===n&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)("br",{}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)(N.Z,{value:"with_pod_anti_affinity",id:"with_pod_anti_affinity",name:"with_pod_anti_affinity",checked:r,onChange:function(e){var t=e.target.checked;K("withPodAntiAffinity",t)},label:"With Pod Anti-Affinity"})}),(0,T.jsxs)(d.ZP,{item:!0,xs:12,children:[(0,T.jsx)("h3",{children:"Labels"}),(0,T.jsx)("span",{className:t.error,children:f.labels}),(0,T.jsx)(d.ZP,{container:!0,children:c&&c.map((function(e,n){return(0,T.jsxs)(d.ZP,{item:!0,xs:12,className:t.affinityRow,children:[(0,T.jsxs)(d.ZP,{item:!0,xs:5,className:t.affinityLabelKey,children:[D.length>0&&(0,T.jsx)(A.Z,{onChange:function(e){var t=e.target.value,a=Object.assign([],c);a[n].key=e.target.value,a[n].value=k[t][0],u(a)},id:"select-access-policy",name:"select-access-policy",label:"",value:e.key,options:D}),0===D.length&&(0,T.jsx)(I.Z,{id:"nodeselector-key-".concat(n.toString()),label:"",name:"nodeselector-".concat(n.toString()),value:e.key,onChange:function(e){var t=Object.assign([],c);t[n].key=e.target.value,u(t)},index:n,placeholder:"Key"})]}),(0,T.jsxs)(d.ZP,{item:!0,xs:5,className:t.affinityLabelValue,children:[D.length>0&&(0,T.jsx)(A.Z,{onChange:function(e){var t=Object.assign([],c);t[n].value=e.target.value,u(t)},id:"select-access-policy",name:"select-access-policy",label:"",value:e.value,options:k[e.key]?k[e.key].map((function(e){return{label:e,value:e}})):[]}),0===D.length&&(0,T.jsx)(I.Z,{id:"nodeselector-value-".concat(n.toString()),label:"",name:"nodeselector-".concat(n.toString()),value:e.value,onChange:function(e){var t=Object.assign([],c);t[n].value=e.target.value,u(t)},index:n,placeholder:"value"})]}),(0,T.jsxs)(d.ZP,{item:!0,xs:2,className:t.rowActions,children:[(0,T.jsx)("div",{className:t.overlayAction,children:(0,T.jsx)(w.Z,{size:"small",onClick:function(){var e=Object.assign([],c);D.length>0?e.push({key:D[0].value,value:k[D[0].value][0]}):e.push({key:"",value:""}),u(e)},children:(0,T.jsx)(V.Z,{})})}),c.length>1&&(0,T.jsx)("div",{className:t.overlayAction,children:(0,T.jsx)(w.Z,{size:"small",onClick:function(){var e=c.filter((function(e,t){return t!==n}));u(e)},children:(0,T.jsx)(L.Z,{})})})]})]},"affinity-keyVal-".concat(n.toString()))}))})]})]})]})}))),Q=n(35721),X=n(24442),J=(0,u.$j)((function(e){return{storageClasses:e.tenants.createTenant.storageClasses,customImage:e.tenants.createTenant.fields.configure.customImage,imageName:e.tenants.createTenant.fields.configure.imageName,customDockerhub:e.tenants.createTenant.fields.configure.customDockerhub,imageRegistry:e.tenants.createTenant.fields.configure.imageRegistry,imageRegistryUsername:e.tenants.createTenant.fields.configure.imageRegistryUsername,imageRegistryPassword:e.tenants.createTenant.fields.configure.imageRegistryPassword,exposeMinIO:e.tenants.createTenant.fields.configure.exposeMinIO,exposeConsole:e.tenants.createTenant.fields.configure.exposeConsole,prometheusCustom:e.tenants.createTenant.fields.configure.prometheusCustom,tenantCustom:e.tenants.createTenant.fields.configure.tenantCustom,logSearchCustom:e.tenants.createTenant.fields.configure.logSearchCustom,logSearchVolumeSize:e.tenants.createTenant.fields.configure.logSearchVolumeSize,logSearchSizeFactor:e.tenants.createTenant.fields.configure.logSearchSizeFactor,prometheusVolumeSize:e.tenants.createTenant.fields.configure.prometheusVolumeSize,prometheusSizeFactor:e.tenants.createTenant.fields.configure.prometheusSizeFactor,logSearchSelectedStorageClass:e.tenants.createTenant.fields.configure.logSearchSelectedStorageClass,logSearchImage:e.tenants.createTenant.fields.configure.logSearchImage,kesImage:e.tenants.createTenant.fields.configure.kesImage,logSearchPostgresImage:e.tenants.createTenant.fields.configure.logSearchPostgresImage,logSearchPostgresInitImage:e.tenants.createTenant.fields.configure.logSearchPostgresInitImage,prometheusSelectedStorageClass:e.tenants.createTenant.fields.configure.prometheusSelectedStorageClass,prometheusImage:e.tenants.createTenant.fields.configure.prometheusImage,prometheusSidecarImage:e.tenants.createTenant.fields.configure.prometheusSidecarImage,prometheusInitImage:e.tenants.createTenant.fields.configure.prometheusInitImage,selectedStorageClass:e.tenants.createTenant.fields.nameTenant.selectedStorageClass}}),{updateAddField:j.HM,isPageValid:j.NO}),ee=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)((0,s.Z)({},f.DF),f.oO),f.AK))}))(J((function(e){var t=e.classes,n=(e.storageClasses,e.customImage),a=e.imageName,r=e.customDockerhub,s=e.imageRegistry,l=e.imageRegistryUsername,c=e.imageRegistryPassword,u=(e.exposeMinIO,e.exposeConsole,e.prometheusCustom),m=e.tenantCustom,p=e.logSearchCustom,g=e.logSearchVolumeSize,f=(e.logSearchSizeFactor,e.logSearchImage),h=e.kesImage,x=e.logSearchPostgresImage,v=e.logSearchPostgresInitImage,y=e.prometheusVolumeSize,C=(e.prometheusSizeFactor,e.logSearchSelectedStorageClass),S=e.prometheusSelectedStorageClass,j=e.prometheusImage,A=e.prometheusSidecarImage,k=e.prometheusInitImage,R=e.updateAddField,z=e.isPageValid,w=(e.selectedStorageClass,(0,o.useState)({})),F=(0,i.Z)(w,2),D=F[0],E=F[1],U=(0,o.useCallback)((function(e,t){R("configure",e,t)}),[R]);(0,o.useEffect)((function(){var e=[];u&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"prometheus_storage_class",required:!0,value:S,customValidation:""===S,customValidationMessage:"Field cannot be empty"},{fieldKey:"prometheus_volume_size",required:!0,value:y,customValidation:""===y||parseInt(y)<=0,customValidationMessage:"Volume size must be present and be greatter than 0"}])),p&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"log_search_storage_class",required:!0,value:C,customValidation:""===C,customValidationMessage:"Field cannot be empty"},{fieldKey:"log_search_volume_size",required:!0,value:g,customValidation:""===g||parseInt(g)<=0,customValidationMessage:"Volume size must be present and be greatter than 0"}])),n&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"image",required:!1,value:a,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/minio:VERSION'"},{fieldKey:"logSearchImage",required:!1,value:f,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/logsearchapi:VERSION'"},{fieldKey:"kesImage",required:!1,value:h,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/kes:VERSION'"},{fieldKey:"logSearchPostgresImage",required:!1,value:x,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'library/postgres:VERSION'"},{fieldKey:"logSearchPostgresInitImage",required:!1,value:v,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'library/busybox:VERSION'"},{fieldKey:"prometheusImage",required:!1,value:j,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'minio/prometheus:VERSION'"},{fieldKey:"prometheusSidecarImage",required:!1,value:A,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'project/container:VERSION'"},{fieldKey:"prometheusInitImage",required:!1,value:k,pattern:/^((.*?)\/(.*?):(.+))$/,customPatternMessage:"Format must be of form: 'library/busybox:VERSION'"}]),r&&(e=[].concat((0,Z.Z)(e),[{fieldKey:"registry",required:!0,value:s},{fieldKey:"registryUsername",required:!0,value:l},{fieldKey:"registryPassword",required:!0,value:c}])));var t=(0,P.R)(e);z("configure",0===Object.keys(t).length),E(t)}),[n,a,f,h,x,v,j,A,k,r,s,l,c,z,u,m,p,S,y,C,g]);var K=function(e){E((0,_.h)(D,e))};return(0,T.jsxs)(b.Z,{className:t.paperWrapper,children:[(0,T.jsxs)("div",{className:t.headerElement,children:[(0,T.jsx)("h3",{className:t.h3Section,children:"Container Images"}),(0,T.jsx)("span",{className:t.descriptionText,children:"Images used by the Tenant Deployment"})]}),(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"image",name:"image",onChange:function(e){U("imageName",e.target.value),K("image")},label:"MinIO's Image",value:a,error:D.image||"",placeholder:"E.g. minio/minio:RELEASE.2022-01-08T03-11-54Z"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"logSearchImage",name:"logSearchImage",onChange:function(e){U("logSearchImage",e.target.value),K("logSearchImage")},label:"Log Search API's Image",value:f,error:D.logSearchImage||"",placeholder:"E.g. minio/logsearchapi:v4.1.1"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"kesImage",name:"kesImage",onChange:function(e){U("kesImage",e.target.value),K("kesImage")},label:"KES Image",value:h,error:D.kesImage||"",placeholder:"E.g. minio/kes:v0.14.0"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"logSearchPostgresImage",name:"logSearchPostgresImage",onChange:function(e){U("logSearchPostgresImage",e.target.value),K("logSearchPostgresImage")},label:"Log Search Postgres's Image",value:x,error:D.logSearchPostgresImage||"",placeholder:"E.g. library/postgres:13"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"logSearchPostgresInitImage",name:"logSearchPostgresInitImage",onChange:function(e){U("logSearchPostgresInitImage",e.target.value),K("logSearchPostgresInitImage")},label:"Log Search Postgres's Init Image",value:v,error:D.logSearchPostgresInitImage||"",placeholder:"E.g. library/busybox:1.33.1"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"prometheusImage",name:"prometheusImage",onChange:function(e){U("prometheusImage",e.target.value),K("prometheusImage")},label:"Prometheus Image",value:j,error:D.prometheusImage||"",placeholder:"E.g. quay.io/prometheus/prometheus:latest"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"prometheusSidecarImage",name:"prometheusSidecarImage",onChange:function(e){U("prometheusSidecarImage",e.target.value),K("prometheusSidecarImage")},label:"Prometheus Sidecar Image",value:A,error:D.prometheusSidecarImage||"",placeholder:"E.g. quay.io/prometheus/prometheus:latest"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"prometheusInitImage",name:"prometheusInitImage",onChange:function(e){U("prometheusInitImage",e.target.value),K("prometheusInitImage")},label:"Prometheus Init Image",value:k,error:D.prometheusInitImage||"",placeholder:"E.g. quay.io/prometheus/prometheus:latest"})})]}),n&&(0,T.jsx)(o.Fragment,{children:(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(N.Z,{value:"custom_docker_hub",id:"custom_docker_hub",name:"custom_docker_hub",checked:r,onChange:function(e){var t=e.target.checked;U("customDockerhub",t)},label:"Set/Update Image Registry"})})}),r&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"registry",name:"registry",onChange:function(e){U("imageRegistry",e.target.value)},label:"Endpoint",value:s,error:D.registry||"",placeholder:"E.g. https://index.docker.io/v1/",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"registryUsername",name:"registryUsername",onChange:function(e){U("imageRegistryUsername",e.target.value)},label:"Username",value:l,error:D.registryUsername||"",required:!0})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"registryPassword",name:"registryPassword",onChange:function(e){U("imageRegistryPassword",e.target.value)},label:"Password",value:c,error:D.registryPassword||"",required:!0})})]})]})}))),te=n(25534),ne=n(29316),ae=n(3143),re=n.n(ae),ie=n(32120),se=n(23473),oe=n(60656),le=n(98280),ce={setErrorSnackMessage:y.Ih},ue=(0,u.$j)(null,ce),de=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)({wrapText:{maxWidth:"200px",whiteSpace:"normal",wordWrap:"break-word"}},f.oO),f.Qw))}))(ue((function(e){var t=e.classes,n=e.namespace,a=e.addNamespaceOpen,r=e.closeAddNamespaceModalAndRefresh,s=e.setErrorSnackMessage,l=(0,o.useState)(!1),c=(0,i.Z)(l,2),u=c[0],d=c[1];(0,o.useEffect)((function(){u&&h.Z.invoke("POST","/api/v1/namespace",{name:n}).then((function(e){d(!1),r(!0)})).catch((function(e){d(!1),s(e)}))}),[u,r,n,s]);return(0,T.jsx)(oe.Z,{title:"New namespace",confirmText:"Create",confirmButtonProps:{color:"primary",variant:"contained"},isOpen:a,titleIcon:(0,T.jsx)(le.Ej,{}),isLoading:u,onConfirm:function(){d(!0)},onClose:function(){r(!1)},confirmationContent:(0,T.jsxs)(o.Fragment,{children:[u&&(0,T.jsx)(m.Z,{}),(0,T.jsxs)(se.Z,{children:["Are you sure you want to add a namespace called",(0,T.jsx)("br",{}),(0,T.jsx)("b",{className:t.wrapText,children:n}),"?"]})]})})}))),me=n(4182),pe=n(35044),ge=n(73481),fe=n(29399),he=n(95995),xe=(0,u.$j)((function(e){return{volumeSize:e.tenants.createTenant.fields.tenantSize.volumeSize,sizeFactor:e.tenants.createTenant.fields.tenantSize.sizeFactor,drivesPerServer:e.tenants.createTenant.fields.tenantSize.drivesPerServer,nodes:e.tenants.createTenant.fields.tenantSize.nodes,memoryNode:e.tenants.createTenant.fields.tenantSize.memoryNode,ecParity:e.tenants.createTenant.fields.tenantSize.ecParity,ecParityChoices:e.tenants.createTenant.fields.tenantSize.ecParityChoices,cleanECChoices:e.tenants.createTenant.fields.tenantSize.cleanECChoices,resourcesSize:e.tenants.createTenant.fields.tenantSize.resourcesSize,distribution:e.tenants.createTenant.fields.tenantSize.distribution,ecParityCalc:e.tenants.createTenant.fields.tenantSize.ecParityCalc,limitSize:e.tenants.createTenant.fields.tenantSize.limitSize,selectedStorageClass:e.tenants.createTenant.fields.nameTenant.selectedStorageClass,cpuToUse:e.tenants.createTenant.fields.tenantSize.cpuToUse,integrationSelection:e.tenants.createTenant.fields.tenantSize.integrationSelection}}),{updateAddField:j.HM,isPageValid:j.NO}),ve=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)({root:{margin:4},table:{"& .MuiTableCell-root":{fontSize:13}}},f.oO),f.AK))}))(xe((function(e){var t=e.classes,n=(e.updateAddField,e.isPageValid,e.volumeSize,e.sizeFactor,e.drivesPerServer,e.nodes),a=e.memoryNode,r=e.ecParity,i=(e.ecParityChoices,e.cleanECChoices,e.resourcesSize,e.distribution),s=e.ecParityCalc,l=(e.limitSize,e.selectedStorageClass,e.cpuToUse),c=e.integrationSelection,u=s.storageFactors.find((function(e){return e.erasureCode===r}));return(0,T.jsxs)("div",{className:t.root,children:[(0,T.jsx)("h4",{children:"Resource Allocation"}),(0,T.jsx)(he.Z,{}),(0,T.jsx)(me.Z,{className:t.table,"aria-label":"simple table",size:"small",children:(0,T.jsxs)(pe.Z,{children:[(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{scope:"row",children:"Number of Servers"}),(0,T.jsx)(ge.Z,{align:"right",children:parseInt(n)>0?n:"-"})]}),""===c.typeSelection&&""===c.storageClass&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{scope:"row",children:"Drives per Server"}),(0,T.jsx)(ge.Z,{align:"right",children:i?i.disks:"-"})]}),(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{scope:"row",children:"Drive Capacity"}),(0,T.jsx)(ge.Z,{align:"right",children:i?(0,x.ae)(i.pvSize):"-"})]})]}),(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{scope:"row",children:"Total Volumes"}),(0,T.jsx)(ge.Z,{align:"right",children:i?i.persistentVolumes:"-"})]}),""===c.typeSelection&&""===c.storageClass&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{scope:"row",children:"Memory per Node"}),(0,T.jsxs)(ge.Z,{align:"right",children:[a," Gi"]})]}),(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{style:{borderBottom:0},scope:"row",children:"CPU Selection"}),(0,T.jsx)(ge.Z,{style:{borderBottom:0},align:"right",children:l})]})]})]})}),0===s.error&&u&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)("h4",{children:"Erasure Code Configuration"}),(0,T.jsx)(he.Z,{}),(0,T.jsx)(me.Z,{className:t.table,"aria-label":"simple table",size:"small",children:(0,T.jsxs)(pe.Z,{children:[(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{scope:"row",children:"EC Parity"}),(0,T.jsx)(ge.Z,{align:"right",children:""!==r?r:"-"})]}),(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{scope:"row",children:"Raw Capacity"}),(0,T.jsx)(ge.Z,{align:"right",children:(0,x.ae)(s.rawCapacity)})]}),(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{scope:"row",children:"Usable Capacity"}),(0,T.jsx)(ge.Z,{align:"right",children:(0,x.ae)(u.maxCapacity)})]}),(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{style:{borderBottom:0},scope:"row",children:"Server Failures Tolerated"}),(0,T.jsx)(ge.Z,{style:{borderBottom:0},align:"right",children:i?Math.floor(u.maxFailureTolerations/i.disks):"-"})]})]})})]}),""!==c.typeSelection&&""!==c.storageClass&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)("h4",{children:"Single Instance Configuration"}),(0,T.jsx)(he.Z,{}),(0,T.jsx)(me.Z,{className:t.table,"aria-label":"simple table",size:"small",children:(0,T.jsxs)(pe.Z,{children:[(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{scope:"row",children:"CPU"}),(0,T.jsx)(ge.Z,{align:"right",children:0!==c.CPU?c.CPU:"-"})]}),(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{scope:"row",children:"Memory"}),(0,T.jsx)(ge.Z,{align:"right",children:0!==c.memory?"".concat(c.memory," Gi"):"-"})]}),(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{scope:"row",children:"Drives per Server"}),(0,T.jsx)(ge.Z,{align:"right",children:0!==c.drivesPerServer?"".concat(c.drivesPerServer):"-"})]}),(0,T.jsxs)(fe.Z,{children:[(0,T.jsx)(ge.Z,{style:{borderBottom:0},scope:"row",children:"Drive Size"}),(0,T.jsxs)(ge.Z,{style:{borderBottom:0},align:"right",children:[c.driveSize.driveSize,c.driveSize.sizeUnit]})]})]})})]})]})}))),ye=n(7262),Ce=(0,u.$j)((function(e){return{nodes:e.tenants.createTenant.fields.tenantSize.nodes,resourcesSize:e.tenants.createTenant.fields.tenantSize.resourcesSize,selectedStorageClass:e.tenants.createTenant.fields.nameTenant.selectedStorageClass,maxAllocatableResources:e.tenants.createTenant.fields.tenantSize.maxAllocatableResources,maxCPUsUse:e.tenants.createTenant.fields.tenantSize.maxCPUsUse,maxMemorySize:e.tenants.createTenant.fields.tenantSize.maxMemorySize,resourcesSpecifyLimit:e.tenants.createTenant.fields.tenantSize.resourcesSpecifyLimit,resourcesCPURequestError:e.tenants.createTenant.fields.tenantSize.resourcesCPURequestError,resourcesCPURequest:e.tenants.createTenant.fields.tenantSize.resourcesCPURequest,resourcesCPULimitError:e.tenants.createTenant.fields.tenantSize.resourcesCPULimitError,resourcesCPULimit:e.tenants.createTenant.fields.tenantSize.resourcesCPULimit,resourcesMemoryRequestError:e.tenants.createTenant.fields.tenantSize.resourcesMemoryRequestError,resourcesMemoryRequest:e.tenants.createTenant.fields.tenantSize.resourcesMemoryRequest,resourcesMemoryLimitError:e.tenants.createTenant.fields.tenantSize.resourcesMemoryLimitError,resourcesMemoryLimit:e.tenants.createTenant.fields.tenantSize.resourcesMemoryLimit}}),{updateAddField:j.HM,isPageValid:j.NO}),Se=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)((0,s.Z)({compositeFieldContainer:{display:"flex",alignItems:"center"},compositeAddOn:{marginLeft:10,"& div":{marginBottom:0},"@media (max-width: 900px)":{"& div":{marginTop:5}}}},f.DF),f.oO),f.AK))}))(Ce((function(e){var t=e.classes,n=e.updateAddField,a=e.isPageValid,r=e.nodes,i=e.resourcesSize,s=e.selectedStorageClass,l=(e.maxAllocatableResources,e.maxCPUsUse),u=e.maxMemorySize,m=e.resourcesSpecifyLimit,p=e.resourcesCPURequestError,g=e.resourcesCPURequest,f=e.resourcesCPULimitError,x=e.resourcesCPULimit,v=e.resourcesMemoryRequestError,y=e.resourcesMemoryRequest,C=e.resourcesMemoryLimitError,S=e.resourcesMemoryLimit,j=(0,o.useCallback)((function(e,t){n("tenantSize",e,t)}),[n]);return(0,o.useEffect)((function(){a("tenantSize",""===v&&""===C&&""===p&&""===f)}),[a,v,C,p,f]),(0,o.useEffect)((function(){h.Z.invoke("GET","api/v1/cluster/allocatable-resources?num_nodes=".concat(r)).then((function(e){j("maxAllocatableResources",e);var t=e,n=c()(t,"min_allocatable_mem",!1),a=c()(t,"min_allocatable_cpu",!1);if(!1===n||!1===a)return j("cpuToUse",0),j("maxMemorySize",""),void j("maxCPUsUse","");var r=(0,ye.floor)(e.mem_priority.max_allocatable_mem/1024/1024/1024);j("maxMemorySize",r.toString()),j("maxCPUsUse",e.cpu_priority.max_allocatable_cpu.toString());var i=c()(t,"cpu_priority.max_allocatable_cpu",0),s=Math.max(1,(0,ye.floor)(i/2));j("resourcesCPURequest",s);var o=Math.max(2,(0,ye.floor)(r/2));j("resourcesMemoryRequest",o)})).catch((function(e){j("maxMemorySize",0),j("resourcesCPURequest",""),console.error(e)}))}),[r,j]),(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsxs)("div",{className:t.headerElement,children:[(0,T.jsx)("h3",{className:t.h3Section,children:"Resources"}),(0,T.jsx)("span",{className:t.descriptionText,children:"You may specify the amount of CPU and Memory that MinIO servers should reserve on each node."})]})}),""!==i.error&&(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:t.error,children:i.error})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{label:"CPU Request",id:"resourcesCPURequest",name:"resourcesCPURequest",onChange:function(e){var t=parseInt(e.target.value);""===e.target.value?j("resourcesCPURequestError",""):isNaN(t)?j("resourcesCPURequestError","Invalid number"):t>parseInt(l)?j("resourcesCPURequestError","Request exceeds available cores (".concat(l,")")):e.target.validity.valid?j("resourcesCPURequestError",""):j("resourcesCPURequestError","Invalid configuration"),j("resourcesCPURequest",e.target.value)},value:g,disabled:""===s,max:l,error:p,pattern:"[0-9]*"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"resourcesMemoryRequest",name:"resourcesMemoryRequest",onChange:function(e){var t=parseInt(e.target.value);""===e.target.value?j("resourcesMemoryRequestError",""):isNaN(t)?j("resourcesMemoryRequestError","Invalid number"):t>parseInt(u)?j("resourcesMemoryRequestError","Request exceeds available memory across ".concat(r," nodes (").concat(u,"Gi)")):t<2?j("resourcesMemoryRequestError","At least 2Gi must be requested"):e.target.validity.valid?j("resourcesMemoryRequestError",""):j("resourcesMemoryRequestError","Invalid configuration"),j("resourcesMemoryRequest",e.target.value)},label:"Memory Request [Gi]",value:y,disabled:""===s,error:v,pattern:"[0-9]*"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)(N.Z,{value:"resourcesSpecifyLimit",id:"resourcesSpecifyLimit",name:"resourcesSpecifyLimit",checked:m,onChange:function(e){var t=e.target.checked;j("resourcesSpecifyLimit",t)},label:"Specify Limit"})}),m&&(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{label:"CPU Limit",id:"resourcesCPULimit",name:"resourcesCPULimit",onChange:function(e){var t=parseInt(e.target.value);""===e.target.value?j("resourcesCPULimitError",""):isNaN(t)?j("resourcesCPULimitError","Invalid number"):e.target.validity.valid?j("resourcesCPULimitError",""):j("resourcesCPULimitError","Invalid configuration"),j("resourcesCPULimit",e.target.value)},value:x,disabled:""===s,max:l,error:f,pattern:"[0-9]*"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"resourcesMemoryLimit",name:"resourcesMemoryLimit",onChange:function(e){var t=parseInt(e.target.value);console.log("value",t),""===e.target.value?j("resourcesMemoryLimitError",""):isNaN(t)?j("resourcesMemoryLimitError","Invalid number"):e.target.validity.valid?j("resourcesMemoryLimitError",""):j("resourcesMemoryLimitError","Invalid configuration"),j("resourcesMemoryLimit",e.target.value)},label:"Memory Limit [Gi]",value:S,disabled:""===s,error:C,pattern:"[0-9]*"})})]})]})}))),je=(0,u.$j)((function(e){return{volumeSize:e.tenants.createTenant.fields.tenantSize.volumeSize,sizeFactor:e.tenants.createTenant.fields.tenantSize.sizeFactor,drivesPerServer:e.tenants.createTenant.fields.tenantSize.drivesPerServer,nodes:e.tenants.createTenant.fields.tenantSize.nodes,memoryNode:e.tenants.createTenant.fields.tenantSize.memoryNode,ecParity:e.tenants.createTenant.fields.tenantSize.ecParity,ecParityChoices:e.tenants.createTenant.fields.tenantSize.ecParityChoices,cleanECChoices:e.tenants.createTenant.fields.tenantSize.cleanECChoices,resourcesSize:e.tenants.createTenant.fields.tenantSize.resourcesSize,distribution:e.tenants.createTenant.fields.tenantSize.distribution,ecParityCalc:e.tenants.createTenant.fields.tenantSize.ecParityCalc,limitSize:e.tenants.createTenant.limitSize,selectedStorageClass:e.tenants.createTenant.fields.nameTenant.selectedStorageClass}}),{updateAddField:j.HM,isPageValid:j.NO}),Ze=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)((0,s.Z)({compositeFieldContainer:{display:"flex",alignItems:"center"},compositeAddOn:{marginLeft:10,"& div":{marginBottom:0},"@media (max-width: 900px)":{"& div":{marginTop:5}}}},f.DF),f.oO),f.AK))}))(je((function(e){var t=e.classes,n=e.updateAddField,a=e.isPageValid,r=e.volumeSize,s=e.sizeFactor,l=e.drivesPerServer,c=e.nodes,u=e.memoryNode,m=e.ecParity,p=e.ecParityChoices,g=e.cleanECChoices,f=e.resourcesSize,v=e.distribution,y=e.ecParityCalc,C=e.limitSize,S=e.selectedStorageClass,j=(0,o.useState)({}),Z=(0,i.Z)(j,2),b=Z[0],N=Z[1],k=(0,o.useState)(!1),R=(0,i.Z)(k,2),z=R[0],w=R[1],F=(0,o.useState)(""),D=(0,i.Z)(F,2),E=D[0],U=D[1],K=(0,o.useCallback)((function(e,t){n("tenantSize",e,t)}),[n]),L=function(e){N((0,_.h)(b,e))};return(0,o.useEffect)((function(){if(p.length>0&&""===v.error){var e=(0,x.ES)(g,v.persistentVolumes,v.pvSize,v.nodes);K("ecParityCalc",e),g.includes(m)&&""!==m||K("ecParity",e.defaultEC)}}),[m,p.length,v,g,K]),(0,o.useEffect)((function(){var e=r,t=s,n=(0,x.Pw)("12","Ti",!0),a={unit:t,value:e.toString()},i=(0,x.zg)(a,parseInt(c),parseInt(n),parseInt(l));K("distribution",i),w(!1),U("")}),[c,r,s,K,l]),(0,o.useEffect)((function(){var e=(0,x.Pw)(r,s,!0),t=(0,P.R)([{fieldKey:"nodes",required:!0,value:c,customValidation:z,customValidationMessage:E},{fieldKey:"volume_size",required:!0,value:r,customValidation:parseInt(e)<1073741824||parseInt(e)>C[S],customValidationMessage:"Volume size must be greater than 1Gi and less than ".concat((0,x.ae)(C[S],!0))},{fieldKey:"drivesps",required:!0,value:l,customValidation:parseInt(l)<1,customValidationMessage:"There must be at least one drive"}]);a("tenantSize",!("nodes"in t)&&!("volume_size"in t)&&!("drivesps"in t)&&""===v.error&&0===y.error&&""!==m),N(t)}),[c,r,s,u,v,y,f,C,S,a,z,E,l,m]),(0,o.useEffect)((function(){""===v.error&&""!==c.trim()&&0!==v.disks&&h.Z.invoke("GET","api/v1/get-parity/".concat(c,"/").concat(v.disks)).then((function(e){K("ecParityChoices",(0,ie.dv)(e)),K("cleanECChoices",e)})).catch((function(e){K("ecparityChoices",[]),a("tenantSize",!1),K("ecParity","")}))}),[v,a,K,c]),(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsxs)("div",{className:t.headerElement,children:[(0,T.jsx)("h3",{className:t.h3Section,children:"Capacity"}),(0,T.jsx)("span",{className:t.descriptionText,children:"Please select the desired capacity"})]})}),""!==v.error&&(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:t.error,children:v.error})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"nodes",name:"nodes",onChange:function(e){e.target.validity.valid&&(K("nodes",e.target.value),L("nodes"))},label:"Number of Servers",disabled:""===S,value:c,min:"4",required:!0,error:b.nodes||"",pattern:"[0-9]*"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"drivesps",name:"drivesps",onChange:function(e){e.target.validity.valid&&(K("drivesPerServer",e.target.value),L("drivesps"))},label:"Drives per Server",value:l,disabled:""===S,min:"1",required:!0,error:b.drivesps||"",pattern:"[0-9]*"})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:t.multiContainer,children:(0,T.jsx)("div",{className:t.formFieldRow,children:(0,T.jsxs)("div",{className:t.compositeFieldContainer,children:[(0,T.jsx)(I.Z,{type:"number",id:"volume_size",name:"volume_size",onChange:function(e){K("volumeSize",e.target.value),L("volume_size")},label:"Total Size",value:r,disabled:""===S,required:!0,error:b.volume_size||"",min:"0"}),(0,T.jsx)("div",{className:t.compositeAddOn,children:(0,T.jsx)(A.Z,{label:"",id:"size_factor",name:"size_factor",value:s,disabled:""===S,onChange:function(e){K("sizeFactor",e.target.value)},options:(0,x.QU)()})})]})})})}),(0,T.jsxs)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:[(0,T.jsx)(A.Z,{id:"ec_parity",name:"ec_parity",onChange:function(e){K("ecParity",e.target.value)},label:"Erasure Code Parity",disabled:""===S,value:m,options:p}),(0,T.jsx)("span",{className:t.descriptionText,children:"Please select the desired parity. This setting will change the max usable capacity in the cluster"})]}),(0,T.jsx)(Se,{})]})}))),be=n(36222),_e=(0,u.$j)((function(e){return function(){var t=e.tenants.createTenant,n=t.fields.tenantSize,a=n.memoryNode,r=n.ecParityChoices,i=n.distribution,s=n.cleanECChoices,o=n.sizeFactor,l=n.ecParity,c=n.cpuToUse,u=n.integrationSelection,d=n.resourcesSize,m=n.drivesPerServer,p=n.maxCPUsUse,g=n.ecParityCalc;return{volumeSize:n.volumeSize,sizeFactor:o,drivesPerServer:m,nodes:n.nodes,memoryNode:a,ecParity:l,ecParityChoices:r,cleanECChoices:s,resourcesSize:d,distribution:i,ecParityCalc:g,cpuToUse:c,maxCPUsUse:p,integrationSelection:u,limitSize:t.limitSize,selectedStorageType:t.fields.nameTenant.selectedStorageType}}}),{updateAddField:j.HM,isPageValid:j.NO}),Pe=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)((0,s.Z)({compositeFieldContainer:{display:"flex",alignItems:"center"},compositeAddOn:{marginLeft:10,"& div":{marginBottom:0},"@media (max-width: 900px)":{"& div":{marginTop:5}}}},f.DF),f.oO),f.AK))}))(_e((function(e){var t=e.classes,n=e.updateAddField,a=e.isPageValid,r=e.volumeSize,s=e.sizeFactor,l=e.drivesPerServer,u=e.nodes,m=e.memoryNode,p=e.ecParity,g=e.ecParityChoices,f=e.cleanECChoices,v=e.resourcesSize,y=e.distribution,C=e.ecParityCalc,S=e.limitSize,j=e.cpuToUse,Z=e.selectedStorageType,b=e.maxCPUsUse,N=e.formToRender,k=e.integrationSelection,R=(0,o.useState)({}),z=(0,i.Z)(R,2),w=z[0],F=z[1],D=(0,o.useCallback)((function(e,t){n("tenantSize",e,t)}),[n]),E=(0,o.useCallback)((function(e,t){n("nameTenant",e,t)}),[n]);return(0,o.useEffect)((function(){if(g.length>0&&""===y.error){var e=(0,x.ES)(f,y.persistentVolumes,y.pvSize,y.nodes);D("ecParityCalc",e),f.includes(p)&&""!==p||D("ecParity",e.defaultEC)}}),[p,g,y,f,D]),(0,o.useEffect)((function(){if(void 0!==N&&parseInt(u)>=4){var e=Ie[N];if(Object.keys(e).length>0){var t=c()(e,"configurations",[]).find((function(e){return e.typeSelection===Z}));if(t){D("integrationSelection",t),E("selectedStorageClass",t.storageClass);var n={pvSize:parseInt((0,x.Pw)(t.driveSize.driveSize,t.driveSize.sizeUnit,!0),10),nodes:parseInt(u),disks:t.drivesPerServer,persistentVolumes:t.drivesPerServer*parseInt(u),error:""};D("distribution",n),D("resourcesCPURequest",Math.max(1,t.CPU/2)),D("resourcesMemoryRequest",Math.max(2,t.memory/2))}}}}),[u,Z,N,D,E]),(0,o.useEffect)((function(){var e=(0,P.R)([{fieldKey:"nodes",required:!0,value:u,customValidation:parseInt(u)<4,customValidationMessage:"Al least 4 servers must be selected"}]);a("tenantSize",!("nodes"in e)&&""===y.error&&0===C.error&&""===v.error&&""!==p&&parseInt(u)>=4),F(e)}),[u,r,s,m,y,C,v,S,Z,j,b,a,l,p]),(0,o.useEffect)((function(){0!==k.drivesPerServer&&""!==u.trim()&&h.Z.invoke("GET","api/v1/get-parity/".concat(u,"/").concat(k.drivesPerServer)).then((function(e){D("ecParityChoices",(0,ie.dv)(e)),D("cleanECChoices",e)})).catch((function(e){D("ecparityChoices",[]),a("tenantSize",!1),D("ecParity","")}))}),[k,u,a,D]),(0,T.jsxs)(o.Fragment,{children:[(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsxs)("div",{className:t.headerElement,children:[(0,T.jsx)("h3",{className:t.h3Section,children:"Tenant Size"}),(0,T.jsx)("span",{className:t.descriptionText,children:"Please select the desired capacity"})]})}),""!==y.error&&(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:t.error,children:y.error})}),""!==v.error&&(0,T.jsx)(d.ZP,{item:!0,xs:12,children:(0,T.jsx)("div",{className:t.error,children:v.error})}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"nodes",name:"nodes",onChange:function(e){var t;e.target.validity.valid&&(D("nodes",e.target.value),t="nodes",F((0,_.h)(w,t)))},label:"Number of Servers",disabled:""===Z,value:u,min:"4",required:!0,error:w.nodes||"",pattern:"[0-9]*"})}),(0,T.jsxs)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:[(0,T.jsx)(A.Z,{id:"ec_parity",name:"ec_parity",onChange:function(e){D("ecParity",e.target.value)},label:"Erasure Code Parity",disabled:""===Z,value:p,options:g}),(0,T.jsx)("span",{className:t.descriptionText,children:"Please select the desired parity. This setting will change the max usable capacity in the cluster"})]})]})})));!function(e){e[e.aws=0]="aws",e[e.azure=1]="azure",e[e.gcp=2]="gcp",e[e.default=3]="default",e[e[void 0]=4]="undefined"}(r||(r={}));var Ne={"mp-mode-aws":r.aws,"mp-mode-azure":r.azure,"mp-mode-gcp":r.gcp},Ie=(a={},(0,be.Z)(a,r.aws,{variantSelectorLabel:"Storage Type",variantSelectorValues:[{label:"NVME",value:"nvme"},{label:"HDD",value:"hdd"}],configurations:[{typeSelection:"nvme",storageClass:"nvme-i3en-12xlarge",CPU:48,memory:384,driveSize:{driveSize:"7500",sizeUnit:"Gi"},drivesPerServer:4},{typeSelection:"hdd",storageClass:"hdd-d3en-12xlarge",CPU:8,memory:32,driveSize:{driveSize:"12.7",sizeUnit:"Ti"},drivesPerServer:4}],sizingComponent:(0,T.jsx)(Pe,{formToRender:r.aws})}),(0,be.Z)(a,r.azure,{variantSelectorLabel:"VM Size",variantSelectorValues:[{label:"Standard_L32s_v2",value:"Standard_L32s_v2"},{label:"Standard_L48s_v2",value:"Standard_L48s_v2"},{label:"Standard_L64s_v2",value:"Standard_L64s_v2"}],configurations:[{typeSelection:"Standard_L8s_v2",storageClass:"local-nvme",CPU:8,memory:64,driveSize:{driveSize:"1787",sizeUnit:"Gi"},drivesPerServer:1},{typeSelection:"Standard_L16s_v2",storageClass:"local-nvme",CPU:16,memory:128,driveSize:{driveSize:"1787",sizeUnit:"Gi"},drivesPerServer:2},{typeSelection:"Standard_L32s_v2",storageClass:"local-nvme",CPU:32,memory:256,driveSize:{driveSize:"1787",sizeUnit:"Gi"},drivesPerServer:4},{typeSelection:"Standard_L48s_v2",storageClass:"local-nvme",CPU:48,memory:384,driveSize:{driveSize:"1787",sizeUnit:"Gi"},drivesPerServer:6},{typeSelection:"Standard_L64s_v2",storageClass:"local-nvme",CPU:64,memory:512,driveSize:{driveSize:"1787",sizeUnit:"Gi"},drivesPerServer:8}],sizingComponent:(0,T.jsx)(Pe,{formToRender:r.azure})}),(0,be.Z)(a,r.gcp,{variantSelectorLabel:"Storage Type",variantSelectorValues:[{label:"SSD",value:"ssd"}],configurations:[{typeSelection:"ssd",storageClass:"local-ssd",CPU:32,memory:128,driveSize:{driveSize:"368",sizeUnit:"Gi"},drivesPerServer:24}],sizingComponent:(0,T.jsx)(Pe,{formToRender:r.gcp})}),(0,be.Z)(a,r.default,{}),(0,be.Z)(a,r.undefined,{}),a),Ae=(0,u.$j)((function(e){return{tenantName:e.tenants.createTenant.fields.nameTenant.tenantName,namespace:e.tenants.createTenant.fields.nameTenant.namespace,selectedStorageClass:e.tenants.createTenant.fields.nameTenant.selectedStorageClass,selectedStorageType:e.tenants.createTenant.fields.nameTenant.selectedStorageType,storageClasses:e.tenants.createTenant.storageClasses}}),{setModalErrorSnackMessage:y.zb,updateAddField:j.HM,setStorageClassesList:j.wZ,setLimitSize:j.DH,isPageValid:j.NO}),Te=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)((0,s.Z)({sizePreview:{position:"fixed",marginLeft:10,background:"#FFFFFF",border:"1px solid #EAEAEA",padding:2}},f.DF),f.oO),f.AK))}))(Ae((function(e){var t=e.classes,n=e.storageClasses,a=e.tenantName,s=e.namespace,l=e.selectedStorageClass,u=e.selectedStorageType,m=e.formToRender,p=void 0===m?r.default:m,g=e.updateAddField,f=e.setStorageClassesList,x=e.setLimitSize,v=e.isPageValid,y=e.setModalErrorSnackMessage,C=(0,o.useState)({}),S=(0,i.Z)(C,2),j=S[0],Z=S[1],N=(0,o.useState)(!0),k=(0,i.Z)(N,2),R=k[0],z=k[1],w=(0,o.useState)(!1),F=(0,i.Z)(w,2),D=F[0],E=F[1],U=(0,o.useState)(!1),K=(0,i.Z)(U,2),L=K[0],M=K[1],q=(0,o.useState)(!1),G=(0,i.Z)(q,2),O=G[0],B=G[1],$=(0,o.useCallback)((function(e,t){g("nameTenant",e,t)}),[g]),W=(0,o.useCallback)((function(){M(!1),h.Z.invoke("GET","/api/v1/namespaces/".concat(s,"/tenants")).then((function(e){var t=c()(e,"tenants",[]);if(t&&t.length>0)return z(!1),void E(!1);z(!0),h.Z.invoke("GET","/api/v1/namespaces/".concat(s,"/resourcequotas/").concat(s,"-storagequota")).then((function(e){var t=c()(e,"elements",[]);x((0,ie.OU)(e));var n=t.map((function(e){var t=c()(e,"name","").split(".storageclass.storage.k8s.io/requests.storage")[0];return{label:t,value:t}}));f(n);var a=n.findIndex((function(e){return e.value===l}));n.length>0&&-1===a?$("selectedStorageClass",n[0].value):0===n.length&&($("selectedStorageClass",""),f([])),E(!1)})).catch((function(e){E(!1),M(!0),$("selectedStorageClass",""),f([]),console.error("Namespace error: ",e)}))})).catch((function(e){y({errorMessage:"Error validating if namespace already has tenants",detailedError:e.detailedError})}))}),[s,x,y,f,$,l]),H=(0,o.useMemo)((function(){return re()(W,500)}),[W]);(0,o.useEffect)((function(){if(""!==s)return H(),E(!0),H.cancel}),[H,s]),(0,o.useEffect)((function(){var e=!1,t="";R||D?n.length<1&&R&&!D&&(e=!0,t="Please enter a valid namespace"):(e=!0,t="You can only create one tenant per namespace");var i=(0,P.R)([{fieldKey:"tenant-name",required:!0,pattern:/^[a-z0-9-]{3,63}$/,customPatternMessage:"Name only can contain lowercase letters, numbers and '-'. Min. Length: 3",value:a},{fieldKey:"namespace",required:!0,value:s,customValidation:e,customValidationMessage:t}]),o=!("tenant-name"in i)&&!("namespace"in i)&&(p===r.default&&n.length>0||p!==r.default&&""!==u);v("nameTenant",o),Z(i)}),[n,s,a,v,R,D,u,p]);var Y=function(e){Z((0,_.h)(j,e))};return(0,T.jsxs)(o.Fragment,{children:[O&&(0,T.jsx)(de,{addNamespaceOpen:O,closeAddNamespaceModalAndRefresh:function(e){B(!1),e&&H()},namespace:s}),(0,T.jsxs)(d.ZP,{container:!0,children:[(0,T.jsx)(d.ZP,{item:!0,xs:8,md:9,children:(0,T.jsx)(b.Z,{className:t.paperWrapper,sx:{minHeight:550},children:(0,T.jsxs)(d.ZP,{container:!0,children:[(0,T.jsxs)(d.ZP,{item:!0,xs:12,children:[(0,T.jsxs)("div",{className:t.headerElement,children:[(0,T.jsx)("h3",{className:t.h3Section,children:"Name"}),(0,T.jsx)("span",{className:t.descriptionText,children:"How would you like to name this new tenant?"})]}),(0,T.jsx)("div",{className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"tenant-name",name:"tenant-name",onChange:function(e){$("tenantName",e.target.value),Y("tenant-name")},label:"Name",value:a,required:!0,error:j["tenant-name"]||""})})]}),(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(I.Z,{id:"namespace",name:"namespace",onChange:function(e){$("namespace",e.target.value),Y("namespace")},label:"Namespace",value:s,error:j.namespace||"",overlayIcon:L?(0,T.jsx)(V.Z,{}):null,overlayAction:function(){B(!0)},required:!0})}),p===r.default?(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(A.Z,{id:"storage_class",name:"storage_class",onChange:function(e){$("selectedStorageClass",e.target.value)},label:"Storage Class",value:l,options:n,disabled:n.length<1})}):(0,T.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,T.jsx)(A.Z,{id:"storage_type",name:"storage_type",onChange:function(e){$("selectedStorageType",e.target.value)},label:c()(Ie,"".concat(p,".variantSelectorLabel"),"Storage Type"),value:u,options:c()(Ie,"".concat(p,".variantSelectorValues"),[])})}),p===r.default?(0,T.jsx)(Ze,{}):c()(Ie,"".concat(p,".sizingComponent"),null)]})})}),(0,T.jsx)(d.ZP,{item:!0,xs:4,md:3,children:(0,T.jsx)("div",{className:t.sizePreview,children:(0,T.jsx)(ve,{})})})]})]})}))),ke=(0,u.$j)((function(e){return{features:e.console.session.features}}),null)((function(e){var t=e.features,n=(0,o.useState)(null),a=(0,i.Z)(n,2),s=a[0],l=a[1];return(0,o.useEffect)((function(){var e=r.default;t&&0!==t.length&&Object.keys(Ne).forEach((function(n){t.includes(n)&&(e=c()(Ne,n,r.default))}));l(e)}),[t]),null===s?null:(0,T.jsx)(Te,{formToRender:s})})),Re=(0,u.$j)((function(e){return{namespace:e.tenants.createTenant.fields.nameTenant.namespace,validPages:e.tenants.createTenant.validPages,fields:e.tenants.createTenant.fields,certificates:e.tenants.createTenant.certificates,selectedStorageClass:e.tenants.createTenant.fields.nameTenant.selectedStorageClass}}),{setErrorSnackMessage:y.Ih,updateAddField:j.HM,resetAddTenantForm:j.dS}),ze=(0,g.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)((0,s.Z)({pageBox:{border:"1px solid #EAEAEA"}},f.oO),f.AK),f.Je))}))(Re((function(e){var t=e.classes,n=e.fields,a=e.certificates,r=e.selectedStorageClass,l=e.namespace,u=e.validPages,p=e.setErrorSnackMessage,g=e.resetAddTenantForm,f=(0,o.useState)(!1),y=(0,i.Z)(f,2),j=y[0],Z=y[1],b=(0,o.useState)(null),_=(0,i.Z)(b,2),P=_[0],N=_[1],I=(0,o.useState)(!1),A=(0,i.Z)(I,2),k=A[0],z=A[1];(0,o.useEffect)((function(){var e=n.nameTenant.tenantName,t=n.nameTenant.selectedStorageClass,r=n.configure.imageName,i=n.configure.customDockerhub,o=n.configure.imageRegistry,u=n.configure.imageRegistryUsername,d=n.configure.imageRegistryPassword,m=n.configure.exposeMinIO,g=n.configure.exposeConsole,f=n.identityProvider.idpSelection,v=n.identityProvider.openIDConfigurationURL,y=n.identityProvider.openIDClientID,S=n.identityProvider.openIDClaimName,j=n.identityProvider.openIDCallbackURL,b=n.identityProvider.openIDScopes,_=n.identityProvider.openIDSecretID,P=n.identityProvider.ADURL,I=n.identityProvider.ADSkipTLS,A=n.identityProvider.ADServerInsecure,T=n.identityProvider.ADUserNameSearchFilter,R=n.identityProvider.ADGroupSearchBaseDN,w=n.identityProvider.ADGroupSearchFilter,F=n.identityProvider.ADGroupNameAttribute,D=n.identityProvider.ADUserDNs,E=n.identityProvider.ADUserNameFormat,U=n.identityProvider.ADLookupBindDN,K=n.identityProvider.ADLookupBindPassword,L=n.identityProvider.ADUserDNSearchBaseDN,M=n.identityProvider.ADUserDNSearchFilter,q=n.identityProvider.ADServerStartTLS,G=n.identityProvider.accessKeys,V=n.identityProvider.secretKeys,O=a.minioCertificates,B=a.caCertificates,$=a.consoleCaCertificates,W=a.consoleCertificate,H=a.serverCertificate,Y=a.clientCertificate,Q=a.vaultCertificate,X=a.vaultCA,J=a.gemaltoCA,ee=n.encryption.enableEncryption,te=n.encryption.encryptionType,ne=n.encryption.gemaltoEndpoint,ae=n.encryption.gemaltoToken,re=n.encryption.gemaltoDomain,ie=n.encryption.gemaltoRetry,se=n.encryption.awsEndpoint,oe=n.encryption.awsRegion,le=n.encryption.awsKMSKey,ce=n.encryption.awsAccessKey,ue=n.encryption.awsSecretKey,de=n.encryption.awsToken,me=n.encryption.vaultEndpoint,pe=n.encryption.vaultEngine,ge=n.encryption.vaultNamespace,fe=n.encryption.vaultPrefix,he=n.encryption.vaultAppRoleEngine,xe=n.encryption.vaultId,ve=n.encryption.vaultSecret,ye=n.encryption.vaultRetry,Ce=n.encryption.vaultPing,Se=n.encryption.azureEndpoint,je=n.encryption.azureTenantID,Ze=n.encryption.azureClientID,be=n.encryption.azureClientSecret,_e=n.encryption.gcpProjectID,Pe=n.encryption.gcpEndpoint,Ne=n.encryption.gcpClientEmail,Ie=n.encryption.gcpClientID,Ae=n.encryption.gcpPrivateKeyID,Te=n.encryption.gcpPrivateKey,ke=n.security.enableAutoCert,Re=n.security.enableTLS,ze=n.tenantSize.ecParity,we=n.tenantSize.distribution,Fe=n.configure.tenantCustom,De=n.configure.logSearchCustom,Ee=n.configure.prometheusCustom,Ue=n.configure.logSearchVolumeSize,Ke=n.configure.logSearchSelectedStorageClass,Le=n.configure.logSearchImage,Me=n.configure.kesImage,qe=n.configure.logSearchPostgresImage,Ge=n.configure.logSearchPostgresInitImage,Ve=n.configure.prometheusImage,Oe=n.configure.prometheusSidecarImage,Be=n.configure.prometheusInitImage,$e=n.configure.prometheusSelectedStorageClass,We=n.configure.prometheusVolumeSize,He=n.affinity.podAffinity,Ye=n.affinity.nodeSelectorLabels,Qe=n.affinity.withPodAntiAffinity,Xe=n.configure.tenantSecurityContext,Je=n.configure.logSearchSecurityContext,et=n.configure.logSearchPostgresSecurityContext,tt=n.configure.prometheusSecurityContext,nt=n.encryption.kesSecurityContext,at=n.encryption.replicas;if(k){var rt=(0,x.en)([]),it={};switch(He){case"default":it={affinity:(0,C.P)(e,rt)};break;case"nodeSelector":it={affinity:(0,C.q)(Ye,Qe,e,rt)}}var st=ze.split(":")[1],ot={name:e,namespace:l,access_key:"",secret_key:"",access_keys:[],secret_keys:[],enable_tls:Re&&ke,enable_console:!0,enable_prometheus:!0,service_name:"",image:r,expose_minio:m,expose_console:g,pools:[(0,s.Z)({name:rt,servers:we.nodes,volumes_per_server:we.disks,volume_configuration:{size:we.pvSize,storage_class_name:t},securityContext:Fe?Xe:null},it)],erasureCodingParity:parseInt(st,10)};""===n.tenantSize.resourcesCPURequest&&""===n.tenantSize.resourcesCPULimit&&""===n.tenantSize.resourcesMemoryRequest&&""===n.tenantSize.resourcesMemoryLimit||(ot.pools[0].resources={},""===n.tenantSize.resourcesCPURequest&&""===n.tenantSize.resourcesMemoryRequest||(ot.pools[0].resources.requests={},""!==n.tenantSize.resourcesCPURequest&&(ot.pools[0].resources.requests.cpu=parseInt(n.tenantSize.resourcesCPURequest)),""!==n.tenantSize.resourcesMemoryRequest&&(ot.pools[0].resources.requests.memory=parseInt(n.tenantSize.resourcesMemoryRequest))),""===n.tenantSize.resourcesCPULimit&&""===n.tenantSize.resourcesMemoryLimit||(ot.pools[0].resources.limits={},""!==n.tenantSize.resourcesCPULimit&&(ot.pools[0].resources.limits.cpu=parseInt(n.tenantSize.resourcesCPULimit)),""!==n.tenantSize.resourcesMemoryLimit&&(ot.pools[0].resources.limits.memory=parseInt(n.tenantSize.resourcesMemoryLimit)))),i&&(ot=(0,s.Z)((0,s.Z)({},ot),{},{image_registry:{registry:o,username:u,password:d}})),ot=De?(0,s.Z)((0,s.Z)({},ot),{},{logSearchConfiguration:{storageClass:"default"===Ke?"":Ke,storageSize:parseInt(Ue),image:Le,postgres_image:qe,postgres_init_image:Ge,securityContext:Je,postgres_securityContext:et}}):(0,s.Z)((0,s.Z)({},ot),{},{logSearchConfiguration:{image:Le,postgres_image:qe,postgres_init_image:Ge}}),ot=Ee?(0,s.Z)((0,s.Z)({},ot),{},{prometheusConfiguration:{storageClass:"default"===$e?"":$e,storageSize:parseInt(We),image:Ve,sidecar_image:Oe,init_image:Be,securityContext:tt}}):(0,s.Z)((0,s.Z)({},ot),{},{prometheusConfiguration:{image:Ve,sidecar_image:Oe,init_image:Be}});var lt=null,ct=null,ut=null,dt=null;if(B.length>0&&(ut={ca_certificates:B.map((function(e){return e.encoded_cert})).filter((function(e){return e}))}),$.length>0&&(dt={console_ca_certificates:$.map((function(e){return e.encoded_cert})).filter((function(e){return e}))}),Re&&O.length>0&&(lt={minio:O.map((function(e){return{crt:e.encoded_cert,key:e.encoded_key}})).filter((function(e){return e.crt&&e.key}))}),Re&&""!==W.encoded_cert&&""!==W.encoded_key&&(ct={console:{crt:W.encoded_cert,key:W.encoded_key}}),(lt||ct||ut||dt)&&(ot=(0,s.Z)((0,s.Z)({},ot),{},{tls:(0,s.Z)((0,s.Z)((0,s.Z)((0,s.Z)({},lt),ct),ut),dt)})),ee){var mt={};switch(te){case"gemalto":var pt={};""!==J.encoded_cert&&(pt={ca:J.encoded_cert}),mt={gemalto:{keysecure:{endpoint:ne,credentials:{token:ae,domain:re,retry:parseInt(ie)},tls:(0,s.Z)({},pt)}}};break;case"aws":mt={aws:{secretsmanager:{endpoint:se,region:oe,kmskey:le,credentials:{accesskey:ce,secretkey:ue,token:de}}}};break;case"azure":mt={azure:{keyvault:{endpoint:Se,credentials:{tenant_id:je,client_id:Ze,client_secret:be}}}};break;case"gcp":mt={gcp:{secretmanager:{project_id:_e,endpoint:Pe,credentials:{client_email:Ne,client_id:Ie,private_key_id:Ae,private_key:Te}}}};break;case"vault":var gt=null,ft=null;""!==Q.encoded_key&&""!==Q.encoded_cert&&(gt={key:Q.encoded_key,crt:Q.encoded_cert}),""!==X.encoded_cert&&(ft={ca:X.encoded_cert});var ht=null;(gt||X)&&(ht={tls:(0,s.Z)((0,s.Z)({},gt),ft)}),mt={vault:(0,s.Z)((0,s.Z)({endpoint:me,engine:pe,namespace:ge,prefix:fe,approle:{engine:he,id:xe,secret:ve,retry:parseInt(ye)}},ht),{},{status:{ping:parseInt(Ce)}})}}var xt={},vt={};""!==Y.encoded_key&&""!==Y.encoded_cert&&(vt={client:{key:Y.encoded_key,crt:Y.encoded_cert}}),""!==H.encoded_key&&""!==H.encoded_cert&&(xt={server:{key:H.encoded_key,crt:H.encoded_cert}}),ot=(0,s.Z)((0,s.Z)({},ot),{},{encryption:(0,s.Z)((0,s.Z)((0,s.Z)({replicas:at,securityContext:nt,image:Me},vt),xt),mt)})}var yt={};switch(f){case"Built-in":for(var Ct=[],St=0;St.\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 BoxIconButton from \"../BoxIconButton/BoxIconButton\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { CopyIcon } from \"../../../../icons\";\nimport { fieldBasic } from \"../FormComponents/common/styleLibrary\";\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 onMouseDown={() => {}}\n edge=\"end\"\n >\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 createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { NewServiceAccount } from \"./types\";\nimport { Button } from \"@mui/material\";\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\";\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 textAlign: \"right\",\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 promptIcon: {\n marginRight: \".1rem\",\n display: \"flex\",\n alignItems: \"center\",\n height: \"2rem\",\n width: \"2rem\",\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(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + encodeURIComponent(text)\n );\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n\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\n const consoleCreds = get(newServiceAccount, \"console\", null);\n const idp = get(newServiceAccount, \"idp\", false);\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 {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 {\n closeModal();\n }}\n color=\"primary\"\n >\n Done\n \n\n {!idp && (\n {\n let consoleExtras = {};\n\n if (consoleCreds) {\n if (!Array.isArray(consoleCreds)) {\n consoleExtras = {\n console: [\n {\n access_key: consoleCreds.accessKey,\n secret_key: consoleCreds.secretKey,\n },\n ],\n };\n } else {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n access_key: itemMap.accessKey,\n secret_key: itemMap.secretKey,\n };\n });\n\n consoleExtras = {\n console: [...cCreds],\n };\n }\n }\n\n download(\n \"credentials.json\",\n JSON.stringify({\n ...consoleExtras,\n })\n );\n }}\n endIcon={}\n variant=\"contained\"\n color=\"primary\"\n >\n Download\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, { 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 from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { IWizardButton, IWizardPage } from \"./types\";\nimport { Button, LinearProgress } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wizardStepContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n flex: 1,\n },\n wizardComponent: {\n overflowY: \"auto\",\n marginBottom: 10,\n height: \"calc(100vh - 100px - 80px)\",\n minHeight: 400,\n flex: 1,\n width: \"100%\",\n },\n wizardModal: {\n overflowY: \"auto\",\n marginBottom: 10,\n height: \"calc(100vh - 515px)\",\n },\n buttonsContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"flex-start\" as const,\n padding: \"10px 0\",\n borderTop: \"#EAEAEA 1px solid\",\n \"& button\": {\n marginLeft: 10,\n },\n \"&.forModal\": {\n paddingBottom: 0,\n },\n },\n buttonInnerContainer: {\n width: \"100%\",\n textAlign: \"right\" as const,\n marginRight: 15,\n },\n });\n\nconst WizardPage = ({\n classes,\n page,\n pageChange,\n loadingStep,\n forModal,\n}: IWizardPage) => {\n const buttonAction = (btn: IWizardButton) => {\n switch (btn.type) {\n case \"next\":\n pageChange(\"++\");\n break;\n case \"back\":\n pageChange(\"--\");\n break;\n case \"to\":\n pageChange(btn.toPage || 0);\n break;\n case \"custom\":\n default:\n }\n\n if (btn.action) {\n btn.action(pageChange);\n }\n };\n\n return (\n
\n
\n {page.componentRender}\n
\n {loadingStep && (\n
\n \n
\n )}\n \n
\n {page.buttons.map((btn) => {\n return (\n {\n buttonAction(btn);\n }}\n disabled={!btn.enabled}\n key={`button-${page.label}-${btn.label}`}\n >\n {btn.label}\n \n );\n })}\n
\n
\n \n );\n};\n\nexport default withStyles(styles)(WizardPage);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IWizardMain } from \"./types\";\nimport WizardPage from \"./WizardPage\";\nimport { Grid, List } from \"@mui/material\";\nimport ListItem from \"@mui/material/ListItem\";\nimport ListItemText from \"@mui/material/ListItemText\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wizFromContainer: {},\n wizFromModal: {\n position: \"relative\",\n },\n modalWizardSteps: {\n padding: 5,\n borderBottom: \"#eaeaea 1px solid\",\n \"& ul\": {\n padding: 0,\n marginTop: 0,\n display: \"flex\",\n justifyContent: \"space-evenly\",\n\n \"& li\": {\n listStyle: \"lower-roman\",\n \"&::marker\": {\n paddingLeft: 15,\n },\n },\n },\n },\n buttonList: {\n backgroundColor: \"transparent\",\n border: \"none\",\n cursor: \"pointer\",\n \"&:not(:disabled):hover\": {\n textDecoration: \"underline\",\n },\n \"&:selected, &:active, &:focus, &:focus:active\": {\n border: \"none\",\n outline: 0,\n boxShadow: \"none\",\n },\n },\n paddedContentGrid: {\n marginTop: 8,\n padding: \"0 10px\",\n minHeight: 400,\n },\n stepsLabel: {\n fontSize: 20,\n color: \"#393939\",\n fontWeight: 600,\n margin: \"15px 12px\",\n \"&.stepsModalTitle\": {\n textAlign: \"center\",\n width: \"100%\",\n marginTop: 0,\n marginBottom: 10,\n },\n },\n stepsMasterContainer: {\n position: \"sticky\",\n top: 0,\n backgroundColor: \"#FFFFFF\",\n width: \"100%\",\n maxHeight: 90,\n },\n verticalSteps: {\n borderRight: \"1px solid #E5E5E5\",\n background: \"#F8F8F8\",\n },\n stepsContainer: {\n paddingTop: 0,\n \"& .MuiButtonBase-root.Mui-selected\": {\n background: \"#E5E5E5\",\n },\n },\n stepItem: {\n minHeight: 60,\n borderBottom: \"1px solid #E5E5E5\",\n \"&:hover\": {\n background: \"rgba(247,247,247,0.7)\",\n },\n },\n });\n\nconst GenericWizard = ({\n classes,\n wizardSteps,\n loadingStep,\n forModal,\n}: IWizardMain) => {\n const [currentStep, setCurrentStep] = useState(0);\n\n const pageChange = (toElement: string | number) => {\n const lastPage = wizardSteps.length - 1;\n\n if (toElement === \"++\") {\n let nextPage = currentStep + 1;\n\n if (nextPage > lastPage) {\n nextPage = lastPage;\n }\n\n setCurrentStep(nextPage);\n }\n\n if (toElement === \"--\") {\n let prevPage = currentStep - 1;\n\n if (prevPage < 0) {\n prevPage = 0;\n }\n\n setCurrentStep(prevPage);\n }\n\n if (typeof toElement === \"number\") {\n let pg = toElement;\n if (toElement < 0) {\n pg = 0;\n }\n\n if (toElement > lastPage) {\n pg = lastPage;\n }\n\n setCurrentStep(pg);\n }\n };\n\n if (wizardSteps.length === 0) {\n return null;\n }\n\n const stepsList = () => {\n return (\n \n \n {wizardSteps.map((step, index) => {\n return (\n pageChange(index)}\n key={`wizard-${index.toString()}`}\n selected={currentStep === index}\n classes={{\n root: classes.stepItem,\n }}\n >\n \n \n );\n })}\n \n \n );\n };\n const stepsListModal = () => {\n return (\n
    \n {wizardSteps.map((step, index) => {\n return (\n
  • \n pageChange(index)}\n disabled={index > currentStep}\n className={classes.buttonList}\n >\n {step.label}\n \n
  • \n );\n })}\n
\n );\n };\n\n return (\n \n {forModal ? (\n \n
\n
Steps
\n
{stepsListModal()}
\n
\n
\n ) : (\n \n \n {stepsList()}\n \n \n )}\n\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(GenericWizard);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Opts } from \"../../../ListTenants/utils\";\nimport TenantSizeMK from \"./TenantSizeMK\";\n\nexport enum IMkEnvs {\n \"aws\",\n \"azure\",\n \"gcp\",\n \"default\",\n undefined,\n}\n\nexport interface IDriveSizing {\n driveSize: string;\n sizeUnit: string;\n}\n\nexport interface IntegrationConfiguration {\n typeSelection: string;\n storageClass: string;\n CPU: number;\n memory: number;\n drivesPerServer: number;\n driveSize: IDriveSizing;\n}\n\nexport const AWSStorageTypes: Opts[] = [\n { label: \"NVME\", value: \"nvme\" },\n { label: \"HDD\", value: \"hdd\" },\n];\n\nexport const AzureStorageTypes: Opts[] = [\n { label: \"Standard_L32s_v2\", value: \"Standard_L32s_v2\" },\n { label: \"Standard_L48s_v2\", value: \"Standard_L48s_v2\" },\n { label: \"Standard_L64s_v2\", value: \"Standard_L64s_v2\" },\n];\n\nexport const resourcesConfigurations = {\n \"mp-mode-aws\": IMkEnvs.aws,\n \"mp-mode-azure\": IMkEnvs.azure,\n \"mp-mode-gcp\": IMkEnvs.gcp,\n};\n\nexport const AWSConfigurations: IntegrationConfiguration[] = [\n {\n typeSelection: \"nvme\",\n storageClass: \"nvme-i3en-12xlarge\",\n CPU: 48,\n memory: 384,\n driveSize: { driveSize: \"7500\", sizeUnit: \"Gi\" },\n drivesPerServer: 4,\n },\n {\n typeSelection: \"hdd\",\n storageClass: \"hdd-d3en-12xlarge\",\n CPU: 8,\n memory: 32,\n driveSize: { driveSize: \"12.7\", sizeUnit: \"Ti\" },\n drivesPerServer: 4,\n },\n];\n\nexport const AzureConfigurations: IntegrationConfiguration[] = [\n {\n typeSelection: \"Standard_L8s_v2\",\n storageClass: \"local-nvme\",\n CPU: 8,\n memory: 64,\n driveSize: { driveSize: \"1787\", sizeUnit: \"Gi\" },\n drivesPerServer: 1,\n },\n {\n typeSelection: \"Standard_L16s_v2\",\n storageClass: \"local-nvme\",\n CPU: 16,\n memory: 128,\n driveSize: { driveSize: \"1787\", sizeUnit: \"Gi\" },\n drivesPerServer: 2,\n },\n {\n typeSelection: \"Standard_L32s_v2\",\n storageClass: \"local-nvme\",\n CPU: 32,\n memory: 256,\n driveSize: { driveSize: \"1787\", sizeUnit: \"Gi\" },\n drivesPerServer: 4,\n },\n {\n typeSelection: \"Standard_L48s_v2\",\n storageClass: \"local-nvme\",\n CPU: 48,\n memory: 384,\n driveSize: { driveSize: \"1787\", sizeUnit: \"Gi\" },\n drivesPerServer: 6,\n },\n {\n typeSelection: \"Standard_L64s_v2\",\n storageClass: \"local-nvme\",\n CPU: 64,\n memory: 512,\n driveSize: { driveSize: \"1787\", sizeUnit: \"Gi\" },\n drivesPerServer: 8,\n },\n];\n\nexport const GCPStorageTypes: Opts[] = [{ label: \"SSD\", value: \"ssd\" }];\n\nexport const GCPConfigurations: IntegrationConfiguration[] = [\n {\n typeSelection: \"ssd\",\n storageClass: \"local-ssd\",\n CPU: 32,\n memory: 128,\n driveSize: { driveSize: \"368\", sizeUnit: \"Gi\" },\n drivesPerServer: 24,\n },\n];\n\nexport const mkPanelConfigurations = {\n [IMkEnvs.aws]: {\n variantSelectorLabel: \"Storage Type\",\n variantSelectorValues: AWSStorageTypes,\n configurations: AWSConfigurations,\n sizingComponent: ,\n },\n [IMkEnvs.azure]: {\n variantSelectorLabel: \"VM Size\",\n variantSelectorValues: AzureStorageTypes,\n configurations: AzureConfigurations,\n sizingComponent: ,\n },\n [IMkEnvs.gcp]: {\n variantSelectorLabel: \"Storage Type\",\n variantSelectorValues: GCPStorageTypes,\n configurations: GCPConfigurations,\n sizingComponent: ,\n },\n [IMkEnvs.default]: {},\n [IMkEnvs.undefined]: {},\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, { useCallback, useEffect, useState } from \"react\";\nimport { connect } 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 { isPageValid, updateAddField } from \"../../actions\";\nimport { AppState } 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 { ISecurityContext } from \"../../types\";\n\ninterface IConfigureProps {\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n storageClasses: any;\n classes: any;\n customImage: boolean;\n imageName: string;\n customDockerhub: boolean;\n imageRegistry: string;\n imageRegistryUsername: string;\n imageRegistryPassword: string;\n exposeMinIO: boolean;\n exposeConsole: boolean;\n prometheusCustom: boolean;\n tenantCustom: boolean;\n logSearchCustom: boolean;\n logSearchVolumeSize: string;\n logSearchSizeFactor: string;\n prometheusVolumeSize: string;\n prometheusSizeFactor: string;\n logSearchSelectedStorageClass: string;\n logSearchImage: string;\n kesImage: string;\n logSearchPostgresImage: string;\n logSearchPostgresInitImage: string;\n prometheusSelectedStorageClass: string;\n prometheusImage: string;\n prometheusSidecarImage: string;\n prometheusInitImage: string;\n selectedStorageClass: string;\n tenantSecurityContext: ISecurityContext;\n logSearchSecurityContext: ISecurityContext;\n logSearchPostgresSecurityContext: ISecurityContext;\n prometheusSecurityContext: ISecurityContext;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n configSectionItem: {\n marginRight: 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\n logSearchCustomFields: {\n marginLeft: 20, // 2nd Level(15+15)\n padding: 10,\n width: \"90%\",\n margin: \"auto\",\n },\n fieldSpaceTop: {\n marginTop: 15,\n },\n prometheusCustomFields: {\n marginLeft: 20, // 2nd Level(15+15)\n padding: 10,\n width: \"90%\",\n margin: \"auto\",\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst Configure = ({\n classes,\n storageClasses,\n customImage,\n imageName,\n customDockerhub,\n imageRegistry,\n imageRegistryUsername,\n imageRegistryPassword,\n exposeMinIO,\n exposeConsole,\n prometheusCustom,\n tenantCustom,\n logSearchCustom,\n logSearchVolumeSize,\n logSearchSizeFactor,\n logSearchImage,\n kesImage,\n logSearchPostgresImage,\n logSearchPostgresInitImage,\n prometheusVolumeSize,\n prometheusSizeFactor,\n logSearchSelectedStorageClass,\n prometheusSelectedStorageClass,\n prometheusImage,\n prometheusSidecarImage,\n prometheusInitImage,\n updateAddField,\n isPageValid,\n selectedStorageClass,\n tenantSecurityContext,\n logSearchSecurityContext,\n logSearchPostgresSecurityContext,\n prometheusSecurityContext,\n}: IConfigureProps) => {\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 updateAddField(\"configure\", field, value);\n },\n [updateAddField]\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 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 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 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 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: prometheusSecurityContext.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 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/logsearchapi: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 isPageValid(\"configure\", Object.keys(commonVal).length === 0);\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 isPageValid,\n prometheusCustom,\n tenantCustom,\n logSearchCustom,\n prometheusSelectedStorageClass,\n prometheusVolumeSize,\n logSearchSelectedStorageClass,\n logSearchVolumeSize,\n tenantSecurityContext,\n logSearchSecurityContext,\n logSearchPostgresSecurityContext,\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 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 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

Configure

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

Expose Services

\n \n Whether the tenant's services should request an external IP.\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

Additional Configurations

\n \n Configure SecurityContext, Storage Classes & Storage size for Log\n Search, Prometheus add-ons and your Tenant\n \n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"tenantCustom\", checked);\n }}\n label={\"Override Tenant defaults\"}\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 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 \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 const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"logSearchCustom\", checked);\n }}\n label={\"Override Log Search defaults\"}\n />\n \n {logSearchCustom && (\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 [Gi]\"\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[\"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 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
\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[\"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[\"postgres_securityContext_runAsGroup\"] ||\n \"\"\n }\n min=\"0\"\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 min=\"0\"\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 const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"prometheusCustom\", checked);\n }}\n label={\"Override Prometheus defaults\"}\n />\n \n {prometheusCustom && (\n \n \n ) => {\n updateField(\n \"prometheusSelectedStorageClass\",\n e.target.value as string\n );\n }}\n label=\"Prometheus 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 [Gi]\"\n value={prometheusVolumeSize}\n required\n error={validationErrors[\"prometheus_volume_size\"] || \"\"}\n min=\"0\"\n />\n
\n
\n \n \n SecurityContext for Prometheus\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(\"prometheus_securityContext_runAsGroup\");\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 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[\"prometheus_securityContext_fsGroup\"] ||\n \"\"\n }\n min=\"0\"\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\nconst mapState = (state: AppState) => ({\n storageClasses: state.tenants.createTenant.storageClasses,\n customImage: state.tenants.createTenant.fields.configure.customImage,\n imageName: state.tenants.createTenant.fields.configure.imageName,\n customDockerhub: state.tenants.createTenant.fields.configure.customDockerhub,\n imageRegistry: state.tenants.createTenant.fields.configure.imageRegistry,\n imageRegistryUsername:\n state.tenants.createTenant.fields.configure.imageRegistryUsername,\n imageRegistryPassword:\n state.tenants.createTenant.fields.configure.imageRegistryPassword,\n exposeMinIO: state.tenants.createTenant.fields.configure.exposeMinIO,\n exposeConsole: state.tenants.createTenant.fields.configure.exposeConsole,\n prometheusCustom:\n state.tenants.createTenant.fields.configure.prometheusCustom,\n tenantCustom: state.tenants.createTenant.fields.configure.tenantCustom,\n logSearchCustom: state.tenants.createTenant.fields.configure.logSearchCustom,\n logSearchVolumeSize:\n state.tenants.createTenant.fields.configure.logSearchVolumeSize,\n logSearchSizeFactor:\n state.tenants.createTenant.fields.configure.logSearchSizeFactor,\n prometheusVolumeSize:\n state.tenants.createTenant.fields.configure.prometheusVolumeSize,\n prometheusSizeFactor:\n state.tenants.createTenant.fields.configure.prometheusSizeFactor,\n logSearchSelectedStorageClass:\n state.tenants.createTenant.fields.configure.logSearchSelectedStorageClass,\n logSearchImage: state.tenants.createTenant.fields.configure.logSearchImage,\n kesImage: state.tenants.createTenant.fields.configure.kesImage,\n logSearchPostgresImage:\n state.tenants.createTenant.fields.configure.logSearchPostgresImage,\n logSearchPostgresInitImage:\n state.tenants.createTenant.fields.configure.logSearchPostgresInitImage,\n prometheusSelectedStorageClass:\n state.tenants.createTenant.fields.configure.prometheusSelectedStorageClass,\n prometheusImage: state.tenants.createTenant.fields.configure.prometheusImage,\n prometheusSidecarImage:\n state.tenants.createTenant.fields.configure.prometheusSidecarImage,\n prometheusInitImage:\n state.tenants.createTenant.fields.configure.prometheusInitImage,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n tenantSecurityContext:\n state.tenants.createTenant.fields.configure.tenantSecurityContext,\n logSearchSecurityContext:\n state.tenants.createTenant.fields.configure.logSearchSecurityContext,\n logSearchPostgresSecurityContext:\n state.tenants.createTenant.fields.configure\n .logSearchPostgresSecurityContext,\n prometheusSecurityContext:\n state.tenants.createTenant.fields.configure.prometheusSecurityContext,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(Configure));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } 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, Tooltip, Typography } from \"@mui/material\";\nimport CasinoIcon from \"@mui/icons-material/Casino\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { isPageValid, updateAddField } from \"../../actions\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../../utils/validationFunctions\";\nimport { AppState } from \"../../../../../store\";\nimport { clearValidationError, getRandomString } from \"../../utils\";\nimport RadioGroupSelector from \"../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport InputBoxWrapper from \"../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport RemoveIcon from \"../../../../../icons/RemoveIcon\";\n\ninterface IIdentityProviderProps {\n classes: any;\n idpSelection: string;\n accessKeys: string[];\n secretKeys: string[];\n openIDConfigurationURL: string;\n openIDClientID: string;\n openIDSecretID: string;\n openIDCallbackURL: string;\n openIDClaimName: string;\n openIDScopes: string;\n ADURL: string;\n ADSkipTLS: boolean;\n ADServerInsecure: boolean;\n ADUserNameSearchFilter: string;\n ADGroupSearchBaseDN: string;\n ADGroupSearchFilter: string;\n ADGroupNameAttribute: string;\n ADUserDNs: string[];\n ADUserNameFormat: string;\n ADLookupBindDN: string;\n ADLookupBindPassword: string;\n ADUserDNSearchBaseDN: string;\n ADUserDNSearchFilter: string;\n ADServerStartTLS: boolean;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\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 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 protocolRadioOptions: {\n display: \"flex\",\n flexFlow: \"column\",\n marginBottom: 10,\n\n \"& label\": {\n fontSize: 14,\n },\n \"& div\": {\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"baseline\",\n },\n },\n adUserDnRows: {\n display: \"flex\",\n },\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst IdentityProvider = ({\n classes,\n idpSelection,\n accessKeys,\n secretKeys,\n openIDConfigurationURL,\n openIDClientID,\n openIDSecretID,\n openIDCallbackURL,\n openIDClaimName,\n openIDScopes,\n ADURL,\n ADSkipTLS,\n ADServerInsecure,\n ADUserNameSearchFilter,\n ADGroupSearchBaseDN,\n ADGroupSearchFilter,\n ADGroupNameAttribute,\n ADUserDNs,\n ADUserNameFormat,\n ADLookupBindDN,\n ADLookupBindPassword,\n ADUserDNSearchBaseDN,\n ADUserDNSearchFilter,\n ADServerStartTLS,\n updateAddField,\n isPageValid,\n}: IIdentityProviderProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"identityProvider\", field, value);\n },\n [updateAddField]\n );\n const updateUserField = (index: number, value: string) => {\n const newUserField = [...accessKeys];\n newUserField[index] = value;\n updateField(\"accessKeys\", newUserField);\n };\n const updatePwordField = (index: number, value: string) => {\n const newUserField = [...secretKeys];\n newUserField[index] = value;\n updateField(\"secretKeys\", newUserField);\n };\n const updateADUserField = (index: number, value: string) => {\n const newADUserDNsField = [...ADUserDNs];\n newADUserDNsField[index] = value;\n updateField(\"ADUserDNs\", newADUserDNsField);\n };\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n // Validation\n\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 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 if (idpSelection === \"AD\") {\n customIDPValidation = [\n ...customIDPValidation,\n {\n fieldKey: \"AD_URL\",\n required: true,\n value: ADURL,\n },\n ];\n // validate user DNs\n for (let i = 0; i < ADUserDNs.length; i++) {\n customIDPValidation.push({\n fieldKey: `ad-userdn-${i.toString()}`,\n required: true,\n value: ADUserDNs[i],\n });\n }\n }\n\n const commonVal = commonFormValidation(customIDPValidation);\n\n isPageValid(\"identityProvider\", Object.keys(commonVal).length === 0);\n\n setValidationErrors(commonVal);\n }, [\n idpSelection,\n accessKeys,\n secretKeys,\n openIDClientID,\n openIDSecretID,\n ADURL,\n ADUserNameSearchFilter,\n ADGroupSearchBaseDN,\n ADGroupSearchFilter,\n ADGroupNameAttribute,\n ADUserDNs,\n isPageValid,\n openIDConfigurationURL,\n openIDClaimName,\n ]);\n let inputs = null;\n if (idpSelection === \"Built-in\") {\n inputs = accessKeys.map((_, index) => {\n return (\n \n
\n ) => {\n updateUserField(index, e.target.value);\n cleanValidation(`accesskey-${index.toString()}`);\n }}\n index={index}\n key={`csv-accesskey-${index.toString()}`}\n error={validationErrors[`accesskey-${index.toString()}`] || \"\"}\n />\n ) => {\n updatePwordField(index, e.target.value);\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 {\n accessKeys.push(\"\");\n secretKeys.push(\"\");\n updateUserField(accessKeys.length - 1, \"\");\n updatePwordField(secretKeys.length - 1, \"\");\n }}\n >\n \n \n
\n
\n \n
\n {\n if (accessKeys.length > 1) {\n accessKeys.splice(index, 1);\n secretKeys.splice(index, 1);\n updateUserField(\n accessKeys.length - 1,\n accessKeys[accessKeys.length - 1]\n );\n }\n }}\n >\n \n \n
\n
\n \n
\n {\n updateUserField(index, getRandomString(16));\n updatePwordField(index, getRandomString(32));\n }}\n size={\"small\"}\n >\n \n \n
\n
\n
\n
\n
\n );\n });\n }\n if (idpSelection === \"AD\") {\n inputs = ADUserDNs.map((_, index) => {\n return (\n \n
\n ) => {\n updateADUserField(index, e.target.value);\n cleanValidation(`ad-userdn-${index.toString()}`);\n }}\n index={index}\n key={`csv-ad-userdn-${index.toString()}`}\n error={validationErrors[`ad-userdn-${index.toString()}`] || \"\"}\n />\n
\n \n {\n ADUserDNs.push(\"\");\n updateADUserField(ADUserDNs.length - 1, \"\");\n }}\n >\n \n \n \n \n {\n if (ADUserDNs.length > 1) {\n ADUserDNs.splice(index, 1);\n updateUserField(\n ADUserDNs.length - 1,\n ADUserDNs[ADUserDNs.length - 1]\n );\n }\n }}\n >\n \n \n \n
\n
\n
\n );\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 {\n updateField(\"idpSelection\", e.target.value);\n }}\n selectorOptions={[\n { label: \"Built-in\", value: \"Built-in\" },\n { label: \"OpenID\", value: \"OpenID\" },\n { label: \"Active Directory\", value: \"AD\" },\n ]}\n />\n \n {idpSelection === \"Built-in\" && (\n \n Add additional users\n {inputs}\n \n )}\n {idpSelection === \"OpenID\" && (\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 {idpSelection === \"AD\" && (\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(\"ADUserNameFormat\", e.target.value);\n }}\n label=\"Username Format\"\n value={ADUserNameFormat}\n placeholder=\"uid=%s,cn=accounts,dc=myldapserver,dc=com\"\n />\n \n \n ) => {\n updateField(\"ADUserNameSearchFilter\", e.target.value);\n }}\n label=\"Username Search Filter\"\n value={ADUserNameSearchFilter}\n placeholder=\"(|(objectclass=posixAccount)(uid=%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 updateField(\"ADGroupNameAttribute\", e.target.value);\n }}\n label=\"Group Name Attribute\"\n value={ADGroupNameAttribute}\n placeholder=\"cn\"\n />\n \n \n ) => {\n updateField(\"ADLookupBindDN\", e.target.value);\n }}\n label=\"Lookup Bind DN\"\n value={ADLookupBindDN}\n placeholder=\"cn=admin,dc=min,dc=io\"\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=\"(uid=%s)\"\n />\n \n
\n \n List of user DNs (Distinguished Names) to be Tenant Administrators\n \n \n {inputs}\n \n
\n
\n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n idpSelection: state.tenants.createTenant.fields.identityProvider.idpSelection,\n accessKeys: state.tenants.createTenant.fields.identityProvider.accessKeys,\n secretKeys: state.tenants.createTenant.fields.identityProvider.secretKeys,\n openIDConfigurationURL:\n state.tenants.createTenant.fields.identityProvider.openIDConfigurationURL,\n openIDClientID:\n state.tenants.createTenant.fields.identityProvider.openIDClientID,\n openIDSecretID:\n state.tenants.createTenant.fields.identityProvider.openIDSecretID,\n openIDCallbackURL:\n state.tenants.createTenant.fields.identityProvider.openIDCallbackURL,\n openIDClaimName:\n state.tenants.createTenant.fields.identityProvider.openIDClaimName,\n openIDScopes: state.tenants.createTenant.fields.identityProvider.openIDScopes,\n ADURL: state.tenants.createTenant.fields.identityProvider.ADURL,\n ADSkipTLS: state.tenants.createTenant.fields.identityProvider.ADSkipTLS,\n ADServerInsecure:\n state.tenants.createTenant.fields.identityProvider.ADServerInsecure,\n ADUserNameSearchFilter:\n state.tenants.createTenant.fields.identityProvider.ADUserNameSearchFilter,\n ADGroupSearchBaseDN:\n state.tenants.createTenant.fields.identityProvider.ADGroupSearchBaseDN,\n ADGroupSearchFilter:\n state.tenants.createTenant.fields.identityProvider.ADGroupSearchFilter,\n ADGroupNameAttribute:\n state.tenants.createTenant.fields.identityProvider.ADGroupNameAttribute,\n ADUserDNs: state.tenants.createTenant.fields.identityProvider.ADUserDNs,\n ADUserNameFormat:\n state.tenants.createTenant.fields.identityProvider.ADUserNameFormat,\n ADLookupBindDN:\n state.tenants.createTenant.fields.identityProvider.ADLookupBindDN,\n ADLookupBindPassword:\n state.tenants.createTenant.fields.identityProvider.ADLookupBindPassword,\n ADUserDNSearchBaseDN:\n state.tenants.createTenant.fields.identityProvider.ADUserDNSearchBaseDN,\n ADUserDNSearchFilter:\n state.tenants.createTenant.fields.identityProvider.ADUserDNSearchFilter,\n ADServerStartTLS:\n state.tenants.createTenant.fields.identityProvider.ADServerStartTLS,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(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 { connect } 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, Typography } from \"@mui/material\";\nimport {\n createTenantCommon,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport {\n addCaCertificate,\n addFileToCaCertificates,\n addFileToKeyPair,\n addKeyPair,\n deleteCaCertificate,\n deleteKeyPair,\n isPageValid,\n updateAddField,\n} from \"../../actions\";\nimport { AppState } from \"../../../../../store\";\nimport { KeyPair } from \"../../ListTenants/utils\";\nimport FormSwitchWrapper from \"../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport FileSelector from \"../../../Common/FormComponents/FileSelector/FileSelector\";\nimport AddIcon from \"../../../../../icons/AddIcon\";\nimport RemoveIcon from \"../../../../../icons/RemoveIcon\";\n\ninterface ISecurityProps {\n classes: any;\n enableTLS: boolean;\n enableAutoCert: boolean;\n enableCustomCerts: boolean;\n minioCertificates: KeyPair[];\n caCertificates: KeyPair[];\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n addFileToCaCertificates: typeof addFileToCaCertificates;\n deleteCaCertificate: typeof deleteCaCertificate;\n addCaCertificate: typeof addCaCertificate;\n addKeyPair: typeof addKeyPair;\n addFileToKeyPair: typeof addFileToKeyPair;\n deleteKeyPair: typeof deleteKeyPair;\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 = ({\n classes,\n enableTLS,\n enableAutoCert,\n enableCustomCerts,\n minioCertificates,\n caCertificates,\n updateAddField,\n isPageValid,\n addFileToCaCertificates,\n deleteCaCertificate,\n addCaCertificate,\n addKeyPair,\n addFileToKeyPair,\n deleteKeyPair,\n}: ISecurityProps) => {\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"security\", field, value);\n },\n [updateAddField]\n );\n\n // Validation\n\n useEffect(() => {\n if (!enableTLS) {\n isPageValid(\"security\", true);\n return;\n }\n if (enableAutoCert) {\n isPageValid(\"security\", true);\n return;\n }\n if (enableCustomCerts) {\n isPageValid(\"security\", true);\n return;\n }\n isPageValid(\"security\", false);\n }, [enableTLS, enableAutoCert, enableCustomCerts, isPageValid]);\n\n return (\n \n
\n

Security

\n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableTLS\", checked);\n }}\n label={\"Enable TLS\"}\n />\n Enable TLS for the tenant, this is required for Encryption Configuration\n {enableTLS && (\n \n
\n
\n \n AutoCert: MinIO Operator will generate all TLS certificates\n automatically\n \n \n Custom certificates: Allow user to provide your own certificates\n \n
\n
\n )}\n
\n {enableTLS && (\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableAutoCert\", checked);\n }}\n label={\"Enable AutoCert\"}\n />\n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableCustomCerts\", checked);\n }}\n label={\"Custom Certificates\"}\n />\n \n {enableCustomCerts && (\n \n \n \n
\n \n MinIO Certificates\n \n {minioCertificates.map((keyPair: KeyPair) => (\n \n \n {\n addFileToKeyPair(\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 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
\n \n \n \n
\n
\n {\n deleteKeyPair(keyPair.id);\n }}\n >\n \n \n
\n
\n \n ))}\n
\n
\n
\n\n \n \n
\n \n MinIO CA Certificates\n \n\n {caCertificates.map((keyPair: KeyPair) => (\n \n \n {\n addFileToCaCertificates(\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 \n \n \n
\n
\n {\n deleteCaCertificate(keyPair.id);\n }}\n >\n \n \n
\n
\n
\n \n ))}\n
\n
\n
\n
\n )}\n
\n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n enableTLS: state.tenants.createTenant.fields.security.enableTLS,\n enableAutoCert: state.tenants.createTenant.fields.security.enableAutoCert,\n enableCustomCerts:\n state.tenants.createTenant.fields.security.enableCustomCerts,\n minioCertificates: state.tenants.createTenant.certificates.minioCertificates,\n caCertificates: state.tenants.createTenant.certificates.caCertificates,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n addFileToCaCertificates,\n deleteCaCertificate,\n addCaCertificate,\n addKeyPair,\n addFileToKeyPair,\n deleteKeyPair,\n});\n\nexport default withStyles(styles)(connector(Security));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Paper } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n addFileClientCert,\n addFileGemaltoCa,\n addFileServerCert,\n addFileVaultCa,\n addFileVaultCert,\n isPageValid,\n updateAddField,\n} from \"../../actions\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { AppState } 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 { KeyPair } from \"../../ListTenants/utils\";\nimport { ISecurityContext } from \"../../types\";\n\ninterface IEncryptionProps {\n classes: any;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n addFileServerCert: typeof addFileServerCert;\n addFileClientCert: typeof addFileClientCert;\n addFileVaultCert: typeof addFileVaultCert;\n addFileVaultCa: typeof addFileVaultCa;\n addFileGemaltoCa: typeof addFileGemaltoCa;\n enableEncryption: boolean;\n encryptionType: string;\n gemaltoEndpoint: string;\n gemaltoToken: string;\n gemaltoDomain: string;\n gemaltoRetry: string;\n awsEndpoint: string;\n awsRegion: string;\n awsKMSKey: string;\n awsAccessKey: string;\n awsSecretKey: string;\n awsToken: string;\n vaultEndpoint: string;\n vaultEngine: string;\n vaultNamespace: string;\n vaultPrefix: string;\n vaultAppRoleEngine: string;\n vaultId: string;\n vaultSecret: string;\n vaultRetry: string;\n vaultPing: string;\n azureEndpoint: string;\n azureTenantID: string;\n azureClientID: string;\n azureClientSecret: string;\n gcpProjectID: string;\n gcpEndpoint: string;\n gcpClientEmail: string;\n gcpClientID: string;\n gcpPrivateKeyID: string;\n gcpPrivateKey: string;\n enableCustomCertsForKES: boolean;\n enableAutoCert: boolean;\n enableTLS: boolean;\n enableCustomCerts: boolean;\n minioCertificates: KeyPair[];\n serverCertificate: KeyPair;\n clientCertificate: KeyPair;\n vaultCertificate: KeyPair;\n vaultCA: KeyPair;\n gemaltoCA: KeyPair;\n kesSecurityContext: ISecurityContext;\n replicas: string;\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 = ({\n classes,\n updateAddField,\n isPageValid,\n addFileServerCert,\n addFileClientCert,\n addFileVaultCert,\n addFileVaultCa,\n addFileGemaltoCa,\n enableEncryption,\n enableCustomCerts,\n encryptionType,\n gemaltoEndpoint,\n gemaltoToken,\n gemaltoDomain,\n gemaltoRetry,\n awsEndpoint,\n awsRegion,\n awsKMSKey,\n awsAccessKey,\n awsSecretKey,\n awsToken,\n vaultEndpoint,\n vaultEngine,\n vaultNamespace,\n vaultPrefix,\n vaultAppRoleEngine,\n vaultId,\n vaultSecret,\n vaultRetry,\n vaultPing,\n azureEndpoint,\n azureTenantID,\n azureClientID,\n azureClientSecret,\n gcpProjectID,\n gcpEndpoint,\n gcpClientEmail,\n gcpClientID,\n gcpPrivateKeyID,\n gcpPrivateKey,\n enableCustomCertsForKES,\n enableAutoCert,\n enableTLS,\n minioCertificates,\n serverCertificate,\n clientCertificate,\n vaultCertificate,\n vaultCA,\n gemaltoCA,\n kesSecurityContext,\n replicas,\n}: IEncryptionProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n\n let encryptionAvailable = false;\n if (\n enableTLS &&\n (enableAutoCert ||\n (minioCertificates &&\n minioCertificates.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 updateAddField(\"encryption\", field, value);\n },\n [updateAddField]\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: \"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: serverCertificate.encoded_key,\n },\n {\n fieldKey: \"serverCert\",\n required: !enableAutoCert,\n value: serverCertificate.encoded_cert,\n },\n {\n fieldKey: \"clientKey\",\n required: !enableAutoCert,\n value: clientCertificate.encoded_key,\n },\n {\n fieldKey: \"clientCert\",\n required: !enableAutoCert,\n value: clientCertificate.encoded_cert,\n },\n ];\n }\n\n if (encryptionType === \"vault\") {\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 if (encryptionType === \"aws\") {\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 if (encryptionType === \"gemalto\") {\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 if (encryptionType === \"azure\") {\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\n const commonVal = commonFormValidation(encryptionValidation);\n\n isPageValid(\"encryption\", Object.keys(commonVal).length === 0);\n\n setValidationErrors(commonVal);\n }, [\n enableEncryption,\n encryptionType,\n vaultEndpoint,\n vaultEngine,\n vaultId,\n vaultSecret,\n vaultPing,\n vaultRetry,\n awsEndpoint,\n awsRegion,\n awsSecretKey,\n awsAccessKey,\n gemaltoEndpoint,\n gemaltoToken,\n gemaltoDomain,\n gemaltoRetry,\n gcpProjectID,\n gcpEndpoint,\n gcpClientEmail,\n gcpClientID,\n gcpPrivateKeyID,\n gcpPrivateKey,\n azureEndpoint,\n azureTenantID,\n azureClientID,\n azureClientSecret,\n isPageValid,\n enableAutoCert,\n enableCustomCerts,\n serverCertificate.encoded_key,\n serverCertificate.encoded_cert,\n clientCertificate.encoded_key,\n clientCertificate.encoded_cert,\n kesSecurityContext,\n replicas,\n ]);\n\n return (\n \n
\n

Encryption

\n \n How would you like to encrypt the information at rest.\n \n
\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"enableEncryption\", checked);\n }}\n label={\"Enable Server Side Encryption\"}\n disabled={!encryptionAvailable}\n />\n \n {enableEncryption && (\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 \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 Service Certificates\n \n {\n addFileServerCert(\"key\", fileName, encodedValue);\n cleanValidation(\"serverKey\");\n }}\n accept=\".key,.pem\"\n id=\"serverKey\"\n name=\"serverKey\"\n label=\"Key\"\n error={validationErrors[\"serverKey\"] || \"\"}\n value={serverCertificate.key}\n required={!enableAutoCert}\n />\n {\n addFileServerCert(\"cert\", fileName, encodedValue);\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={serverCertificate.cert}\n required={!enableAutoCert}\n />\n
\n
\n
\n\n \n \n
\n \n Mutual TLS authentication\n \n {\n addFileClientCert(\"key\", fileName, encodedValue);\n cleanValidation(\"clientKey\");\n }}\n accept=\".key,.pem\"\n id=\"clientKey\"\n name=\"clientKey\"\n label=\"Key\"\n error={validationErrors[\"clientKey\"] || \"\"}\n value={clientCertificate.key}\n required={!enableAutoCert}\n />\n {\n addFileClientCert(\"cert\", fileName, encodedValue);\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={clientCertificate.cert}\n required={!enableAutoCert}\n />\n
\n
\n
\n
\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
\n \n Mutual TLS authentication (optional)\n \n {\n addFileVaultCert(\"key\", fileName, encodedValue);\n cleanValidation(\"vault_key\");\n }}\n accept=\".key,.pem\"\n id=\"vault_key\"\n name=\"vault_key\"\n label=\"Key\"\n value={vaultCertificate.key}\n />\n {\n addFileVaultCert(\"cert\", fileName, encodedValue);\n cleanValidation(\"vault_cert\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"vault_cert\"\n name=\"vault_cert\"\n label=\"Cert\"\n value={vaultCertificate.cert}\n />\n {\n addFileVaultCa(fileName, encodedValue);\n cleanValidation(\"vault_ca\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"vault_ca\"\n name=\"vault_ca\"\n label=\"CA\"\n value={vaultCA.cert}\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 {encryptionType === \"azure\" && (\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 \n Credentials\n \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 {encryptionType === \"gcp\" && (\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 \n Credentials\n \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 {encryptionType === \"aws\" && (\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 \n Credentials\n \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 {encryptionType === \"gemalto\" && (\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 \n Credentials\n \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 Custom CA Root certificate verification\n \n\n {\n addFileGemaltoCa(fileName, encodedValue);\n cleanValidation(\"gemalto_ca\");\n }}\n accept=\".cer,.crt,.cert,.pem\"\n id=\"gemalto_ca\"\n name=\"gemalto_ca\"\n label=\"CA\"\n value={gemaltoCA.cert}\n />\n
\n \n
\n )}\n
\n

Additional Configurations

\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 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 min=\"0\"\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
\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\nconst mapState = (state: AppState) => ({\n replicas: state.tenants.createTenant.fields.encryption.replicas,\n enableEncryption:\n state.tenants.createTenant.fields.encryption.enableEncryption,\n encryptionType: state.tenants.createTenant.fields.encryption.encryptionType,\n gemaltoEndpoint: state.tenants.createTenant.fields.encryption.gemaltoEndpoint,\n gemaltoToken: state.tenants.createTenant.fields.encryption.gemaltoToken,\n gemaltoDomain: state.tenants.createTenant.fields.encryption.gemaltoDomain,\n gemaltoRetry: state.tenants.createTenant.fields.encryption.gemaltoRetry,\n awsEndpoint: state.tenants.createTenant.fields.encryption.awsEndpoint,\n awsRegion: state.tenants.createTenant.fields.encryption.awsRegion,\n awsKMSKey: state.tenants.createTenant.fields.encryption.awsKMSKey,\n awsAccessKey: state.tenants.createTenant.fields.encryption.awsAccessKey,\n awsSecretKey: state.tenants.createTenant.fields.encryption.awsSecretKey,\n awsToken: state.tenants.createTenant.fields.encryption.awsToken,\n vaultEndpoint: state.tenants.createTenant.fields.encryption.vaultEndpoint,\n vaultEngine: state.tenants.createTenant.fields.encryption.vaultEngine,\n vaultNamespace: state.tenants.createTenant.fields.encryption.vaultNamespace,\n vaultPrefix: state.tenants.createTenant.fields.encryption.vaultPrefix,\n vaultAppRoleEngine:\n state.tenants.createTenant.fields.encryption.vaultAppRoleEngine,\n vaultId: state.tenants.createTenant.fields.encryption.vaultId,\n vaultSecret: state.tenants.createTenant.fields.encryption.vaultSecret,\n vaultRetry: state.tenants.createTenant.fields.encryption.vaultRetry,\n vaultPing: state.tenants.createTenant.fields.encryption.vaultPing,\n azureEndpoint: state.tenants.createTenant.fields.encryption.azureEndpoint,\n azureTenantID: state.tenants.createTenant.fields.encryption.azureTenantID,\n azureClientID: state.tenants.createTenant.fields.encryption.azureClientID,\n azureClientSecret:\n state.tenants.createTenant.fields.encryption.azureClientSecret,\n gcpProjectID: state.tenants.createTenant.fields.encryption.gcpProjectID,\n gcpEndpoint: state.tenants.createTenant.fields.encryption.gcpEndpoint,\n gcpClientEmail: state.tenants.createTenant.fields.encryption.gcpClientEmail,\n gcpClientID: state.tenants.createTenant.fields.encryption.gcpClientID,\n gcpPrivateKeyID: state.tenants.createTenant.fields.encryption.gcpPrivateKeyID,\n gcpPrivateKey: state.tenants.createTenant.fields.encryption.gcpPrivateKey,\n enableCustomCertsForKES:\n state.tenants.createTenant.fields.encryption.enableCustomCertsForKES,\n enableAutoCert: state.tenants.createTenant.fields.security.enableAutoCert,\n enableTLS: state.tenants.createTenant.fields.security.enableTLS,\n minioCertificates: state.tenants.createTenant.certificates.minioCertificates,\n serverCertificate: state.tenants.createTenant.certificates.serverCertificate,\n clientCertificate: state.tenants.createTenant.certificates.clientCertificate,\n vaultCertificate: state.tenants.createTenant.certificates.vaultCertificate,\n vaultCA: state.tenants.createTenant.certificates.vaultCA,\n gemaltoCA: state.tenants.createTenant.certificates.gemaltoCA,\n enableCustomCerts:\n state.tenants.createTenant.fields.security.enableCustomCerts,\n kesSecurityContext:\n state.tenants.createTenant.fields.encryption.kesSecurityContext,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n addFileServerCert,\n addFileClientCert,\n addFileVaultCert,\n addFileVaultCa,\n addFileGemaltoCa,\n});\n\nexport default withStyles(styles)(connector(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 { connect } 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 } from \"../../../../../store\";\nimport { isPageValid, setKeyValuePairs, updateAddField } from \"../../actions\";\nimport { setModalErrorSnackMessage } from \"../../../../../actions\";\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\";\n\ninterface IAffinityProps {\n classes: any;\n podAffinity: string;\n nodeSelectorLabels: string;\n withPodAntiAffinity: boolean;\n keyValuePairs: LabelKeyPair[];\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n setKeyValuePairs: typeof setKeyValuePairs;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n overlayAction: {\n marginLeft: 10,\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 fieldContainer: {\n marginBottom: 0,\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 = ({\n classes,\n podAffinity,\n nodeSelectorLabels,\n withPodAntiAffinity,\n setModalErrorSnackMessage,\n updateAddField,\n keyValuePairs,\n setKeyValuePairs,\n isPageValid,\n}: IAffinityProps) => {\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 updateAddField(\"affinity\", field, value);\n },\n [updateAddField]\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 setModalErrorSnackMessage(err);\n setKeyValueMap({});\n });\n }\n }, [setModalErrorSnackMessage, 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 isPageValid(\"affinity\", Object.keys(commonVal).length === 0);\n\n setValidationErrors(commonVal);\n }, [isPageValid, podAffinity, nodeSelectorLabels]);\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-Affinnity)\", 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 arrCp: LabelKeyPair[] = Object.assign(\n [],\n keyValuePairs\n );\n\n arrCp[i].key = e.target.value as string;\n arrCp[i].value = keyValueMap[newKey][0];\n 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[] = Object.assign(\n [],\n keyValuePairs\n );\n arrCp[i].key = e.target.value;\n setKeyValuePairs(arrCp);\n }}\n index={i}\n placeholder={\"Key\"}\n />\n )}\n \n \n {keyOptions.length > 0 && (\n ) => {\n const arrCp: LabelKeyPair[] = Object.assign(\n [],\n keyValuePairs\n );\n arrCp[i].value = e.target.value as string;\n 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[] = Object.assign(\n [],\n keyValuePairs\n );\n arrCp[i].value = e.target.value;\n setKeyValuePairs(arrCp);\n }}\n index={i}\n placeholder={\"value\"}\n />\n )}\n \n \n
\n {\n const arrCp = Object.assign([], 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 setKeyValuePairs(arrCp);\n }}\n >\n \n \n
\n {keyValuePairs.length > 1 && (\n
\n {\n const arrCp = keyValuePairs.filter(\n (item, index) => index !== i\n );\n setKeyValuePairs(arrCp);\n }}\n >\n \n \n
\n )}\n
\n
\n );\n })}\n
\n \n
\n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => {\n const createTenant = state.tenants.createTenant;\n\n return {\n podAffinity: createTenant.fields.affinity.podAffinity,\n nodeSelectorLabels: createTenant.fields.affinity.nodeSelectorLabels,\n withPodAntiAffinity: createTenant.fields.affinity.withPodAntiAffinity,\n keyValuePairs: createTenant.nodeSelectorPairs,\n };\n};\n\nconst connector = connect(mapState, {\n setModalErrorSnackMessage,\n updateAddField,\n isPageValid,\n setKeyValuePairs,\n});\n\nexport default withStyles(styles)(connector(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 { connect } 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 { isPageValid, updateAddField } from \"../../actions\";\nimport { AppState } 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\";\n\ninterface IImagesProps {\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n storageClasses: any;\n classes: any;\n customImage: boolean;\n imageName: string;\n customDockerhub: boolean;\n imageRegistry: string;\n imageRegistryUsername: string;\n imageRegistryPassword: string;\n exposeMinIO: boolean;\n exposeConsole: boolean;\n prometheusCustom: boolean;\n tenantCustom: boolean;\n logSearchCustom: boolean;\n logSearchVolumeSize: string;\n logSearchSizeFactor: string;\n prometheusVolumeSize: string;\n prometheusSizeFactor: string;\n logSearchSelectedStorageClass: string;\n logSearchImage: string;\n kesImage: string;\n logSearchPostgresImage: string;\n logSearchPostgresInitImage: string;\n prometheusSelectedStorageClass: string;\n prometheusImage: string;\n prometheusSidecarImage: string;\n prometheusInitImage: string;\n selectedStorageClass: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst Images = ({\n classes,\n storageClasses,\n customImage,\n imageName,\n customDockerhub,\n imageRegistry,\n imageRegistryUsername,\n imageRegistryPassword,\n exposeMinIO,\n exposeConsole,\n prometheusCustom,\n tenantCustom,\n logSearchCustom,\n logSearchVolumeSize,\n logSearchSizeFactor,\n logSearchImage,\n kesImage,\n logSearchPostgresImage,\n logSearchPostgresInitImage,\n prometheusVolumeSize,\n prometheusSizeFactor,\n logSearchSelectedStorageClass,\n prometheusSelectedStorageClass,\n prometheusImage,\n prometheusSidecarImage,\n prometheusInitImage,\n updateAddField,\n isPageValid,\n selectedStorageClass,\n}: IImagesProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"configure\", field, value);\n },\n [updateAddField]\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/logsearchapi: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 isPageValid(\"configure\", Object.keys(commonVal).length === 0);\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 isPageValid,\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 Images used by the Tenant Deployment\n \n
\n\n \n \n ) => {\n updateField(\"imageName\", e.target.value);\n cleanValidation(\"image\");\n }}\n label=\"MinIO's Image\"\n value={imageName}\n error={validationErrors[\"image\"] || \"\"}\n placeholder=\"E.g. minio/minio:RELEASE.2022-01-08T03-11-54Z\"\n />\n \n \n ) => {\n updateField(\"logSearchImage\", e.target.value);\n cleanValidation(\"logSearchImage\");\n }}\n label=\"Log Search API's Image\"\n value={logSearchImage}\n error={validationErrors[\"logSearchImage\"] || \"\"}\n placeholder=\"E.g. minio/logsearchapi:v4.1.1\"\n />\n \n \n ) => {\n updateField(\"kesImage\", e.target.value);\n cleanValidation(\"kesImage\");\n }}\n label=\"KES Image\"\n value={kesImage}\n error={validationErrors[\"kesImage\"] || \"\"}\n placeholder=\"E.g. minio/kes:v0.14.0\"\n />\n \n \n ) => {\n updateField(\"logSearchPostgresImage\", e.target.value);\n cleanValidation(\"logSearchPostgresImage\");\n }}\n label=\"Log Search Postgres's Image\"\n value={logSearchPostgresImage}\n error={validationErrors[\"logSearchPostgresImage\"] || \"\"}\n placeholder=\"E.g. library/postgres:13\"\n />\n \n \n ) => {\n updateField(\"logSearchPostgresInitImage\", e.target.value);\n cleanValidation(\"logSearchPostgresInitImage\");\n }}\n label=\"Log Search Postgres's Init Image\"\n value={logSearchPostgresInitImage}\n error={validationErrors[\"logSearchPostgresInitImage\"] || \"\"}\n placeholder=\"E.g. library/busybox:1.33.1\"\n />\n \n \n ) => {\n updateField(\"prometheusImage\", e.target.value);\n cleanValidation(\"prometheusImage\");\n }}\n label=\"Prometheus Image\"\n value={prometheusImage}\n error={validationErrors[\"prometheusImage\"] || \"\"}\n placeholder=\"E.g. quay.io/prometheus/prometheus:latest\"\n />\n \n \n ) => {\n updateField(\"prometheusSidecarImage\", e.target.value);\n cleanValidation(\"prometheusSidecarImage\");\n }}\n label=\"Prometheus Sidecar Image\"\n value={prometheusSidecarImage}\n error={validationErrors[\"prometheusSidecarImage\"] || \"\"}\n placeholder=\"E.g. quay.io/prometheus/prometheus:latest\"\n />\n \n \n ) => {\n updateField(\"prometheusInitImage\", e.target.value);\n cleanValidation(\"prometheusInitImage\");\n }}\n label=\"Prometheus Init Image\"\n value={prometheusInitImage}\n error={validationErrors[\"prometheusInitImage\"] || \"\"}\n placeholder=\"E.g. quay.io/prometheus/prometheus:latest\"\n />\n \n \n\n {customImage && (\n \n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"customDockerhub\", checked);\n }}\n label={\"Set/Update Image 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=\"E.g. 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\nconst mapState = (state: AppState) => ({\n storageClasses: state.tenants.createTenant.storageClasses,\n customImage: state.tenants.createTenant.fields.configure.customImage,\n imageName: state.tenants.createTenant.fields.configure.imageName,\n customDockerhub: state.tenants.createTenant.fields.configure.customDockerhub,\n imageRegistry: state.tenants.createTenant.fields.configure.imageRegistry,\n imageRegistryUsername:\n state.tenants.createTenant.fields.configure.imageRegistryUsername,\n imageRegistryPassword:\n state.tenants.createTenant.fields.configure.imageRegistryPassword,\n exposeMinIO: state.tenants.createTenant.fields.configure.exposeMinIO,\n exposeConsole: state.tenants.createTenant.fields.configure.exposeConsole,\n prometheusCustom:\n state.tenants.createTenant.fields.configure.prometheusCustom,\n tenantCustom: state.tenants.createTenant.fields.configure.tenantCustom,\n logSearchCustom: state.tenants.createTenant.fields.configure.logSearchCustom,\n logSearchVolumeSize:\n state.tenants.createTenant.fields.configure.logSearchVolumeSize,\n logSearchSizeFactor:\n state.tenants.createTenant.fields.configure.logSearchSizeFactor,\n prometheusVolumeSize:\n state.tenants.createTenant.fields.configure.prometheusVolumeSize,\n prometheusSizeFactor:\n state.tenants.createTenant.fields.configure.prometheusSizeFactor,\n logSearchSelectedStorageClass:\n state.tenants.createTenant.fields.configure.logSearchSelectedStorageClass,\n logSearchImage: state.tenants.createTenant.fields.configure.logSearchImage,\n kesImage: state.tenants.createTenant.fields.configure.kesImage,\n logSearchPostgresImage:\n state.tenants.createTenant.fields.configure.logSearchPostgresImage,\n logSearchPostgresInitImage:\n state.tenants.createTenant.fields.configure.logSearchPostgresInitImage,\n prometheusSelectedStorageClass:\n state.tenants.createTenant.fields.configure.prometheusSelectedStorageClass,\n prometheusImage: state.tenants.createTenant.fields.configure.prometheusImage,\n prometheusSidecarImage:\n state.tenants.createTenant.fields.configure.prometheusSidecarImage,\n prometheusInitImage:\n state.tenants.createTenant.fields.configure.prometheusInitImage,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(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, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\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 {\n deleteDialogStyles,\n modalBasic,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { setErrorSnackMessage } from \"../../../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport api from \"../../../../../../common/api\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmModalIcon } from \"../../../../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wrapText: {\n maxWidth: \"200px\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n },\n ...modalBasic,\n ...deleteDialogStyles,\n });\n\ninterface IAddNamespace {\n classes: any;\n namespace: string;\n addNamespaceOpen: boolean;\n closeAddNamespaceModalAndRefresh: (reloadNamespaceData: boolean) => void;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst AddNamespaceModal = ({\n classes,\n namespace,\n addNamespaceOpen,\n closeAddNamespaceModalAndRefresh,\n setErrorSnackMessage,\n}: IAddNamespace) => {\n const [addNamespaceLoading, setAddNamespaceLoading] =\n useState(false);\n\n useEffect(() => {\n if (addNamespaceLoading) {\n api\n .invoke(\"POST\", \"/api/v1/namespace\", {\n name: namespace,\n })\n .then((res) => {\n setAddNamespaceLoading(false);\n closeAddNamespaceModalAndRefresh(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddNamespaceLoading(false);\n setErrorSnackMessage(err);\n });\n }\n }, [\n addNamespaceLoading,\n closeAddNamespaceModalAndRefresh,\n namespace,\n setErrorSnackMessage,\n ]);\n\n const addNamespace = () => {\n setAddNamespaceLoading(true);\n };\n\n return (\n }\n isLoading={addNamespaceLoading}\n onConfirm={addNamespace}\n onClose={() => {\n closeAddNamespaceModalAndRefresh(false);\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\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddNamespaceModal));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } 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 { isPageValid, updateAddField } from \"../../actions\";\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\";\nimport { Opts } from \"../../ListTenants/utils\";\nimport { IResourcesSize } from \"../../ListTenants/types\";\nimport { IErasureCodeCalc } from \"../../../../../common/types\";\n\nimport { Divider } from \"@mui/material\";\nimport { IntegrationConfiguration } from \"./TenantResources/utils\";\n\ninterface ISizePreviewProps {\n classes: any;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n volumeSize: string;\n sizeFactor: string;\n drivesPerServer: string;\n nodes: string;\n memoryNode: string;\n ecParity: string;\n ecParityChoices: Opts[];\n cleanECChoices: string[];\n resourcesSize: IResourcesSize;\n distribution: any;\n ecParityCalc: IErasureCodeCalc;\n limitSize: any;\n selectedStorageClass: string;\n cpuToUse: string;\n integrationSelection: IntegrationConfiguration;\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 = ({\n classes,\n updateAddField,\n isPageValid,\n volumeSize,\n sizeFactor,\n drivesPerServer,\n nodes,\n memoryNode,\n ecParity,\n ecParityChoices,\n cleanECChoices,\n resourcesSize,\n distribution,\n ecParityCalc,\n limitSize,\n selectedStorageClass,\n cpuToUse,\n integrationSelection,\n}: ISizePreviewProps) => {\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\nconst mapState = (state: AppState) => ({\n volumeSize: state.tenants.createTenant.fields.tenantSize.volumeSize,\n sizeFactor: state.tenants.createTenant.fields.tenantSize.sizeFactor,\n drivesPerServer: state.tenants.createTenant.fields.tenantSize.drivesPerServer,\n nodes: state.tenants.createTenant.fields.tenantSize.nodes,\n memoryNode: state.tenants.createTenant.fields.tenantSize.memoryNode,\n ecParity: state.tenants.createTenant.fields.tenantSize.ecParity,\n ecParityChoices: state.tenants.createTenant.fields.tenantSize.ecParityChoices,\n cleanECChoices: state.tenants.createTenant.fields.tenantSize.cleanECChoices,\n resourcesSize: state.tenants.createTenant.fields.tenantSize.resourcesSize,\n distribution: state.tenants.createTenant.fields.tenantSize.distribution,\n ecParityCalc: state.tenants.createTenant.fields.tenantSize.ecParityCalc,\n limitSize: state.tenants.createTenant.fields.tenantSize.limitSize,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n cpuToUse: state.tenants.createTenant.fields.tenantSize.cpuToUse,\n integrationSelection:\n state.tenants.createTenant.fields.tenantSize.integrationSelection,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(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, { Fragment, useCallback, useEffect } from \"react\";\nimport { connect } 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 { AppState } from \"../../../../../../store\";\nimport { isPageValid, updateAddField } from \"../../../actions\";\nimport {\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport { IResourcesSize } from \"../../../ListTenants/types\";\nimport { AllocableResourcesResponse } from \"../../../types\";\nimport api from \"../../../../../../common/api\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport { floor } from \"lodash\";\n\ninterface ITenantSizeResourcesProps {\n classes: any;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n nodes: string;\n resourcesSize: IResourcesSize;\n selectedStorageClass: string;\n maxAllocatableResources: AllocableResourcesResponse;\n maxCPUsUse: string;\n maxMemorySize: string;\n\n resourcesSpecifyLimit: boolean;\n resourcesCPURequestError: string;\n resourcesCPURequest: string;\n resourcesCPULimitError: string;\n resourcesCPULimit: string;\n resourcesMemoryRequestError: string;\n resourcesMemoryRequest: string;\n resourcesMemoryLimitError: string;\n resourcesMemoryLimit: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n compositeFieldContainer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n compositeAddOn: {\n marginLeft: 10,\n \"& div\": {\n marginBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n \"& div\": {\n marginTop: 5,\n },\n },\n },\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst TenantSizeResources = ({\n classes,\n updateAddField,\n isPageValid,\n nodes,\n\n resourcesSize,\n selectedStorageClass,\n maxAllocatableResources,\n maxCPUsUse,\n maxMemorySize,\n resourcesSpecifyLimit,\n resourcesCPURequestError,\n resourcesCPURequest,\n resourcesCPULimitError,\n resourcesCPULimit,\n resourcesMemoryRequestError,\n resourcesMemoryRequest,\n resourcesMemoryLimitError,\n resourcesMemoryLimit,\n}: ITenantSizeResourcesProps) => {\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"tenantSize\", field, value);\n },\n [updateAddField]\n );\n\n /*Debounce functions*/\n\n useEffect(() => {\n isPageValid(\n \"tenantSize\",\n resourcesMemoryRequestError === \"\" &&\n resourcesMemoryLimitError === \"\" &&\n resourcesCPURequestError === \"\" &&\n resourcesCPULimitError === \"\"\n );\n }, [\n isPageValid,\n resourcesMemoryRequestError,\n resourcesMemoryLimitError,\n resourcesCPURequestError,\n resourcesCPULimitError,\n ]);\n\n /*End debounce functions*/\n\n /*Calculate Allocation*/\n useEffect(() => {\n // Get allocatable Resources\n api\n .invoke(\"GET\", `api/v1/cluster/allocatable-resources?num_nodes=${nodes}`)\n .then((res: AllocableResourcesResponse) => {\n updateField(\"maxAllocatableResources\", res);\n\n const maxAllocatableResources = res;\n\n const memoryExists = get(\n maxAllocatableResources,\n \"min_allocatable_mem\",\n false\n );\n\n const cpuExists = get(\n maxAllocatableResources,\n \"min_allocatable_cpu\",\n false\n );\n\n if (memoryExists === false || cpuExists === false) {\n updateField(\"cpuToUse\", 0);\n\n updateField(\"maxMemorySize\", \"\");\n updateField(\"maxCPUsUse\", \"\");\n\n return;\n }\n\n const maxMemory = floor(\n res.mem_priority.max_allocatable_mem / 1024 / 1024 / 1024\n );\n // We default to Best CPU Configuration\n updateField(\"maxMemorySize\", maxMemory.toString());\n updateField(\n \"maxCPUsUse\",\n res.cpu_priority.max_allocatable_cpu.toString()\n );\n\n const maxAllocatableCPU = get(\n maxAllocatableResources,\n \"cpu_priority.max_allocatable_cpu\",\n 0\n );\n\n const baseCpuUse = Math.max(1, floor(maxAllocatableCPU / 2));\n updateField(\"resourcesCPURequest\", baseCpuUse);\n\n const baseMemoryUse = Math.max(2, floor(maxMemory / 2));\n updateField(\"resourcesMemoryRequest\", baseMemoryUse);\n })\n .catch((err: any) => {\n updateField(\"maxMemorySize\", 0);\n updateField(\"resourcesCPURequest\", \"\");\n\n console.error(err);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [nodes, updateField]);\n\n /*Calculate Allocation End*/\n\n return (\n \n \n
\n

Resources

\n \n You may specify the amount of CPU and Memory that MinIO servers\n should reserve on each node.\n \n
\n
\n {resourcesSize.error !== \"\" && (\n \n
{resourcesSize.error}
\n
\n )}\n\n \n {\n let value = parseInt(e.target.value);\n if (e.target.value === \"\") {\n updateField(\"resourcesCPURequestError\", \"\");\n } else if (isNaN(value)) {\n updateField(\"resourcesCPURequestError\", \"Invalid number\");\n } else if (value > parseInt(maxCPUsUse)) {\n updateField(\n \"resourcesCPURequestError\",\n `Request exceeds available cores (${maxCPUsUse})`\n );\n } else if (e.target.validity.valid) {\n updateField(\"resourcesCPURequestError\", \"\");\n } else {\n updateField(\"resourcesCPURequestError\", \"Invalid configuration\");\n }\n updateField(\"resourcesCPURequest\", e.target.value);\n }}\n value={resourcesCPURequest}\n disabled={selectedStorageClass === \"\"}\n max={maxCPUsUse}\n error={resourcesCPURequestError}\n pattern={\"[0-9]*\"}\n />\n \n\n \n ) => {\n let value = parseInt(e.target.value);\n if (e.target.value === \"\") {\n updateField(\"resourcesMemoryRequestError\", \"\");\n } else if (isNaN(value)) {\n updateField(\"resourcesMemoryRequestError\", \"Invalid number\");\n } else if (value > parseInt(maxMemorySize)) {\n updateField(\n \"resourcesMemoryRequestError\",\n `Request exceeds available memory across ${nodes} nodes (${maxMemorySize}Gi)`\n );\n } else if (value < 2) {\n updateField(\n \"resourcesMemoryRequestError\",\n \"At least 2Gi must be requested\"\n );\n } else if (e.target.validity.valid) {\n updateField(\"resourcesMemoryRequestError\", \"\");\n } else {\n updateField(\n \"resourcesMemoryRequestError\",\n \"Invalid configuration\"\n );\n }\n updateField(\"resourcesMemoryRequest\", e.target.value);\n }}\n label=\"Memory Request [Gi]\"\n value={resourcesMemoryRequest}\n disabled={selectedStorageClass === \"\"}\n error={resourcesMemoryRequestError}\n pattern={\"[0-9]*\"}\n />\n \n\n \n {\n const targetD = e.target;\n const checked = targetD.checked;\n\n updateField(\"resourcesSpecifyLimit\", checked);\n }}\n label={\"Specify Limit\"}\n />\n \n\n {resourcesSpecifyLimit && (\n \n \n {\n let value = parseInt(e.target.value);\n if (e.target.value === \"\") {\n updateField(\"resourcesCPULimitError\", \"\");\n } else if (isNaN(value)) {\n updateField(\"resourcesCPULimitError\", \"Invalid number\");\n } else if (e.target.validity.valid) {\n updateField(\"resourcesCPULimitError\", \"\");\n } else {\n updateField(\n \"resourcesCPULimitError\",\n \"Invalid configuration\"\n );\n }\n updateField(\"resourcesCPULimit\", e.target.value);\n }}\n value={resourcesCPULimit}\n disabled={selectedStorageClass === \"\"}\n max={maxCPUsUse}\n error={resourcesCPULimitError}\n pattern={\"[0-9]*\"}\n />\n \n\n \n ) => {\n let value = parseInt(e.target.value);\n console.log(\"value\", value);\n if (e.target.value === \"\") {\n updateField(\"resourcesMemoryLimitError\", \"\");\n } else if (isNaN(value)) {\n updateField(\"resourcesMemoryLimitError\", \"Invalid number\");\n } else if (e.target.validity.valid) {\n updateField(\"resourcesMemoryLimitError\", \"\");\n } else {\n updateField(\n \"resourcesMemoryLimitError\",\n \"Invalid configuration\"\n );\n }\n updateField(\"resourcesMemoryLimit\", e.target.value);\n }}\n label=\"Memory Limit [Gi]\"\n value={resourcesMemoryLimit}\n disabled={selectedStorageClass === \"\"}\n error={resourcesMemoryLimitError}\n pattern={\"[0-9]*\"}\n />\n \n \n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n nodes: state.tenants.createTenant.fields.tenantSize.nodes,\n\n resourcesSize: state.tenants.createTenant.fields.tenantSize.resourcesSize,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n maxAllocatableResources:\n state.tenants.createTenant.fields.tenantSize.maxAllocatableResources,\n maxCPUsUse: state.tenants.createTenant.fields.tenantSize.maxCPUsUse,\n maxMemorySize: state.tenants.createTenant.fields.tenantSize.maxMemorySize,\n\n resourcesSpecifyLimit:\n state.tenants.createTenant.fields.tenantSize.resourcesSpecifyLimit,\n\n resourcesCPURequestError:\n state.tenants.createTenant.fields.tenantSize.resourcesCPURequestError,\n resourcesCPURequest:\n state.tenants.createTenant.fields.tenantSize.resourcesCPURequest,\n resourcesCPULimitError:\n state.tenants.createTenant.fields.tenantSize.resourcesCPULimitError,\n resourcesCPULimit:\n state.tenants.createTenant.fields.tenantSize.resourcesCPULimit,\n\n resourcesMemoryRequestError:\n state.tenants.createTenant.fields.tenantSize.resourcesMemoryRequestError,\n resourcesMemoryRequest:\n state.tenants.createTenant.fields.tenantSize.resourcesMemoryRequest,\n resourcesMemoryLimitError:\n state.tenants.createTenant.fields.tenantSize.resourcesMemoryLimitError,\n resourcesMemoryLimit:\n state.tenants.createTenant.fields.tenantSize.resourcesMemoryLimit,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(TenantSizeResources));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport { SelectChangeEvent } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../../store\";\nimport { isPageValid, updateAddField } from \"../../../actions\";\nimport {\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n calculateDistribution,\n erasureCodeCalc,\n getBytes,\n k8sfactorForDropdown,\n niceBytes,\n} from \"../../../../../../common/utils\";\nimport { clearValidationError } from \"../../../utils\";\nimport { ecListTransform, Opts } from \"../../../ListTenants/utils\";\nimport { IResourcesSize } from \"../../../ListTenants/types\";\nimport { ICapacity, IErasureCodeCalc } from \"../../../../../../common/types\";\nimport { commonFormValidation } from \"../../../../../../utils/validationFunctions\";\nimport api from \"../../../../../../common/api\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport TenantSizeResources from \"./TenantSizeResources\";\n\ninterface ITenantSizeProps {\n classes: any;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n volumeSize: string;\n sizeFactor: string;\n drivesPerServer: string;\n nodes: string;\n memoryNode: string;\n ecParity: string;\n ecParityChoices: Opts[];\n cleanECChoices: string[];\n resourcesSize: IResourcesSize;\n distribution: any;\n ecParityCalc: IErasureCodeCalc;\n limitSize: any;\n selectedStorageClass: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n compositeFieldContainer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n compositeAddOn: {\n marginLeft: 10,\n \"& div\": {\n marginBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n \"& div\": {\n marginTop: 5,\n },\n },\n },\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst TenantSize = ({\n classes,\n updateAddField,\n isPageValid,\n volumeSize,\n sizeFactor,\n drivesPerServer,\n nodes,\n memoryNode,\n ecParity,\n ecParityChoices,\n cleanECChoices,\n resourcesSize,\n distribution,\n ecParityCalc,\n limitSize,\n selectedStorageClass,\n}: ITenantSizeProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n const [errorFlag, setErrorFlag] = useState(false);\n const [nodeError, setNodeError] = useState(\"\");\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"tenantSize\", field, value);\n },\n [updateAddField]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n /*Debounce functions*/\n\n // Storage Quotas\n\n useEffect(() => {\n if (ecParityChoices.length > 0 && distribution.error === \"\") {\n const ecCodeValidated = erasureCodeCalc(\n cleanECChoices,\n distribution.persistentVolumes,\n distribution.pvSize,\n distribution.nodes\n );\n\n updateField(\"ecParityCalc\", ecCodeValidated);\n if (!cleanECChoices.includes(ecParity) || ecParity === \"\") {\n updateField(\"ecParity\", ecCodeValidated.defaultEC);\n }\n }\n }, [\n ecParity,\n ecParityChoices.length,\n distribution,\n cleanECChoices,\n updateField,\n ]);\n /*End debounce functions*/\n\n /*Calculate Allocation*/\n useEffect(() => {\n //Validate Cluster Size\n const size = volumeSize;\n const factor = sizeFactor;\n const limitSize = getBytes(\"12\", \"Ti\", true);\n\n const clusterCapacity: ICapacity = {\n unit: factor,\n value: size.toString(),\n };\n\n const distrCalculate = calculateDistribution(\n clusterCapacity,\n parseInt(nodes),\n parseInt(limitSize),\n parseInt(drivesPerServer)\n );\n\n updateField(\"distribution\", distrCalculate);\n setErrorFlag(false);\n setNodeError(\"\");\n }, [nodes, volumeSize, sizeFactor, updateField, drivesPerServer]);\n\n /*Calculate Allocation End*/\n\n /* Validations of pages */\n\n useEffect(() => {\n const parsedSize = getBytes(volumeSize, sizeFactor, true);\n\n const commonValidation = commonFormValidation([\n {\n fieldKey: \"nodes\",\n required: true,\n value: nodes,\n customValidation: errorFlag,\n customValidationMessage: nodeError,\n },\n {\n fieldKey: \"volume_size\",\n required: true,\n value: volumeSize,\n customValidation:\n parseInt(parsedSize) < 1073741824 ||\n parseInt(parsedSize) > limitSize[selectedStorageClass],\n customValidationMessage: `Volume size must be greater than 1Gi and less than ${niceBytes(\n limitSize[selectedStorageClass],\n true\n )}`,\n },\n {\n fieldKey: \"drivesps\",\n required: true,\n value: drivesPerServer,\n customValidation: parseInt(drivesPerServer) < 1,\n customValidationMessage: \"There must be at least one drive\",\n },\n ]);\n\n isPageValid(\n \"tenantSize\",\n !(\"nodes\" in commonValidation) &&\n !(\"volume_size\" in commonValidation) &&\n !(\"drivesps\" in commonValidation) &&\n distribution.error === \"\" &&\n ecParityCalc.error === 0 &&\n ecParity !== \"\"\n );\n\n setValidationErrors(commonValidation);\n }, [\n nodes,\n volumeSize,\n sizeFactor,\n memoryNode,\n distribution,\n ecParityCalc,\n resourcesSize,\n limitSize,\n selectedStorageClass,\n isPageValid,\n errorFlag,\n nodeError,\n drivesPerServer,\n ecParity,\n ]);\n\n useEffect(() => {\n if (distribution.error === \"\") {\n // Get EC Value\n if (nodes.trim() !== \"\" && distribution.disks !== 0) {\n api\n .invoke(\"GET\", `api/v1/get-parity/${nodes}/${distribution.disks}`)\n .then((ecList: string[]) => {\n updateField(\"ecParityChoices\", ecListTransform(ecList));\n updateField(\"cleanECChoices\", ecList);\n })\n .catch((err: any) => {\n updateField(\"ecparityChoices\", []);\n isPageValid(\"tenantSize\", false);\n updateField(\"ecParity\", \"\");\n });\n }\n }\n }, [distribution, isPageValid, updateField, nodes]);\n\n /* End Validation of pages */\n\n return (\n \n \n
\n

Capacity

\n \n Please select the desired capacity\n \n
\n
\n {distribution.error !== \"\" && (\n \n
{distribution.error}
\n
\n )}\n \n ) => {\n if (e.target.validity.valid) {\n updateField(\"nodes\", e.target.value);\n cleanValidation(\"nodes\");\n }\n }}\n label=\"Number of Servers\"\n disabled={selectedStorageClass === \"\"}\n value={nodes}\n min=\"4\"\n required\n error={validationErrors[\"nodes\"] || \"\"}\n pattern={\"[0-9]*\"}\n />\n \n \n ) => {\n if (e.target.validity.valid) {\n updateField(\"drivesPerServer\", e.target.value);\n cleanValidation(\"drivesps\");\n }\n }}\n label=\"Drives per Server\"\n value={drivesPerServer}\n disabled={selectedStorageClass === \"\"}\n min=\"1\"\n required\n error={validationErrors[\"drivesps\"] || \"\"}\n pattern={\"[0-9]*\"}\n />\n \n \n
\n
\n
\n ) => {\n updateField(\"volumeSize\", e.target.value);\n cleanValidation(\"volume_size\");\n }}\n label=\"Total Size\"\n value={volumeSize}\n disabled={selectedStorageClass === \"\"}\n required\n error={validationErrors[\"volume_size\"] || \"\"}\n min=\"0\"\n />\n
\n ) => {\n updateField(\"sizeFactor\", e.target.value as string);\n }}\n options={k8sfactorForDropdown()}\n />\n
\n
\n
\n
\n
\n\n \n ) => {\n updateField(\"ecParity\", e.target.value as string);\n }}\n label=\"Erasure Code Parity\"\n disabled={selectedStorageClass === \"\"}\n value={ecParity}\n options={ecParityChoices}\n />\n \n Please select the desired parity. This setting will change the max\n usable capacity in the cluster\n \n \n\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n volumeSize: state.tenants.createTenant.fields.tenantSize.volumeSize,\n sizeFactor: state.tenants.createTenant.fields.tenantSize.sizeFactor,\n drivesPerServer: state.tenants.createTenant.fields.tenantSize.drivesPerServer,\n nodes: state.tenants.createTenant.fields.tenantSize.nodes,\n memoryNode: state.tenants.createTenant.fields.tenantSize.memoryNode,\n ecParity: state.tenants.createTenant.fields.tenantSize.ecParity,\n ecParityChoices: state.tenants.createTenant.fields.tenantSize.ecParityChoices,\n cleanECChoices: state.tenants.createTenant.fields.tenantSize.cleanECChoices,\n\n resourcesSize: state.tenants.createTenant.fields.tenantSize.resourcesSize,\n distribution: state.tenants.createTenant.fields.tenantSize.distribution,\n ecParityCalc: state.tenants.createTenant.fields.tenantSize.ecParityCalc,\n limitSize: state.tenants.createTenant.limitSize,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n});\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(TenantSize));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport { SelectChangeEvent } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../../store\";\nimport { isPageValid, updateAddField } from \"../../../actions\";\nimport {\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport { erasureCodeCalc, getBytes } from \"../../../../../../common/utils\";\nimport { clearValidationError } from \"../../../utils\";\nimport { ecListTransform, Opts } from \"../../../ListTenants/utils\";\nimport { IResourcesSize } from \"../../../ListTenants/types\";\nimport {\n IErasureCodeCalc,\n IStorageDistribution,\n} from \"../../../../../../common/types\";\nimport { commonFormValidation } from \"../../../../../../utils/validationFunctions\";\nimport api from \"../../../../../../common/api\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport {\n IMkEnvs,\n IntegrationConfiguration,\n mkPanelConfigurations,\n} from \"./utils\";\n\ninterface ITenantSizeAWSProps {\n classes: any;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n volumeSize: string;\n sizeFactor: string;\n drivesPerServer: string;\n nodes: string;\n memoryNode: string;\n ecParity: string;\n ecParityChoices: Opts[];\n cleanECChoices: string[];\n resourcesSize: IResourcesSize;\n distribution: any;\n ecParityCalc: IErasureCodeCalc;\n limitSize: any;\n selectedStorageType: string;\n cpuToUse: string;\n maxCPUsUse: string;\n formToRender?: IMkEnvs;\n integrationSelection: IntegrationConfiguration;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n compositeFieldContainer: {\n display: \"flex\",\n alignItems: \"center\",\n },\n compositeAddOn: {\n marginLeft: 10,\n \"& div\": {\n marginBottom: 0,\n },\n \"@media (max-width: 900px)\": {\n \"& div\": {\n marginTop: 5,\n },\n },\n },\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst TenantSizeMK = ({\n classes,\n updateAddField,\n isPageValid,\n volumeSize,\n sizeFactor,\n drivesPerServer,\n nodes,\n memoryNode,\n ecParity,\n ecParityChoices,\n cleanECChoices,\n resourcesSize,\n distribution,\n ecParityCalc,\n limitSize,\n cpuToUse,\n selectedStorageType,\n maxCPUsUse,\n formToRender,\n integrationSelection,\n}: ITenantSizeAWSProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n\n // Common\n const updateField = useCallback(\n (field: string, value: any) => {\n updateAddField(\"tenantSize\", field, value);\n },\n [updateAddField]\n );\n\n const updateMainField = useCallback(\n (field: string, value: string) => {\n updateAddField(\"nameTenant\", field, value);\n },\n [updateAddField]\n );\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n /*Debounce functions*/\n\n // Storage Quotas\n useEffect(() => {\n if (ecParityChoices.length > 0 && distribution.error === \"\") {\n const ecCodeValidated = erasureCodeCalc(\n cleanECChoices,\n distribution.persistentVolumes,\n distribution.pvSize,\n distribution.nodes\n );\n\n updateField(\"ecParityCalc\", ecCodeValidated);\n\n if (!cleanECChoices.includes(ecParity) || ecParity === \"\") {\n updateField(\"ecParity\", ecCodeValidated.defaultEC);\n }\n }\n }, [ecParity, ecParityChoices, distribution, cleanECChoices, updateField]);\n /*End debounce functions*/\n\n /*Set location Storage Types*/\n useEffect(() => {\n if (formToRender !== undefined && parseInt(nodes) >= 4) {\n const setConfigs = mkPanelConfigurations[formToRender];\n const keyCount = Object.keys(setConfigs).length;\n\n //Configuration is filled\n if (keyCount > 0) {\n const configs: IntegrationConfiguration[] = get(\n setConfigs,\n \"configurations\",\n []\n );\n\n const mainSelection = configs.find(\n (item) => item.typeSelection === selectedStorageType\n );\n\n if (mainSelection) {\n updateField(\"integrationSelection\", mainSelection);\n updateMainField(\"selectedStorageClass\", mainSelection.storageClass);\n\n let pvSize = parseInt(\n getBytes(\n mainSelection.driveSize.driveSize,\n mainSelection.driveSize.sizeUnit,\n true\n ),\n 10\n );\n\n const distrCalculate: IStorageDistribution = {\n pvSize,\n nodes: parseInt(nodes),\n disks: mainSelection.drivesPerServer,\n persistentVolumes: mainSelection.drivesPerServer * parseInt(nodes),\n error: \"\",\n };\n\n updateField(\"distribution\", distrCalculate);\n // apply requests, half of the available resources\n updateField(\n \"resourcesCPURequest\",\n Math.max(1, mainSelection.CPU / 2)\n );\n updateField(\n \"resourcesMemoryRequest\",\n Math.max(2, mainSelection.memory / 2)\n );\n }\n }\n }\n }, [nodes, selectedStorageType, formToRender, updateField, updateMainField]);\n\n /*Calculate Allocation End*/\n\n /* Validations of pages */\n\n useEffect(() => {\n const commonValidation = commonFormValidation([\n {\n fieldKey: \"nodes\",\n required: true,\n value: nodes,\n customValidation: parseInt(nodes) < 4,\n customValidationMessage: \"Al least 4 servers must be selected\",\n },\n ]);\n\n isPageValid(\n \"tenantSize\",\n !(\"nodes\" in commonValidation) &&\n distribution.error === \"\" &&\n ecParityCalc.error === 0 &&\n resourcesSize.error === \"\" &&\n ecParity !== \"\" &&\n parseInt(nodes) >= 4\n );\n\n setValidationErrors(commonValidation);\n }, [\n nodes,\n volumeSize,\n sizeFactor,\n memoryNode,\n distribution,\n ecParityCalc,\n resourcesSize,\n limitSize,\n selectedStorageType,\n cpuToUse,\n maxCPUsUse,\n isPageValid,\n drivesPerServer,\n ecParity,\n ]);\n\n useEffect(() => {\n if (integrationSelection.drivesPerServer !== 0) {\n // Get EC Value\n if (nodes.trim() !== \"\") {\n api\n .invoke(\n \"GET\",\n `api/v1/get-parity/${nodes}/${integrationSelection.drivesPerServer}`\n )\n .then((ecList: string[]) => {\n updateField(\"ecParityChoices\", ecListTransform(ecList));\n updateField(\"cleanECChoices\", ecList);\n })\n .catch((err: any) => {\n updateField(\"ecparityChoices\", []);\n isPageValid(\"tenantSize\", false);\n updateField(\"ecParity\", \"\");\n });\n }\n }\n }, [integrationSelection, nodes, isPageValid, updateField]);\n\n /* End Validation of pages */\n\n return (\n \n \n
\n

Tenant Size

\n \n Please select the desired capacity\n \n
\n
\n {distribution.error !== \"\" && (\n \n
{distribution.error}
\n
\n )}\n {resourcesSize.error !== \"\" && (\n \n
{resourcesSize.error}
\n
\n )}\n \n ) => {\n if (e.target.validity.valid) {\n updateField(\"nodes\", e.target.value);\n cleanValidation(\"nodes\");\n }\n }}\n label=\"Number of Servers\"\n disabled={selectedStorageType === \"\"}\n value={nodes}\n min=\"4\"\n required\n error={validationErrors[\"nodes\"] || \"\"}\n pattern={\"[0-9]*\"}\n />\n \n \n ) => {\n updateField(\"ecParity\", e.target.value as string);\n }}\n label=\"Erasure Code Parity\"\n disabled={selectedStorageType === \"\"}\n value={ecParity}\n options={ecParityChoices}\n />\n \n Please select the desired parity. This setting will change the max\n usable capacity in the cluster\n \n \n
\n );\n};\n\nconst mapState = (state: AppState) => () => {\n const createTenant = state.tenants.createTenant;\n\n const {\n memoryNode,\n ecParityChoices,\n distribution,\n cleanECChoices,\n sizeFactor,\n ecParity,\n cpuToUse,\n integrationSelection,\n resourcesSize,\n drivesPerServer,\n maxCPUsUse,\n ecParityCalc,\n volumeSize,\n nodes,\n } = createTenant.fields.tenantSize;\n\n return {\n volumeSize,\n sizeFactor,\n drivesPerServer,\n nodes,\n memoryNode,\n ecParity,\n ecParityChoices,\n cleanECChoices,\n resourcesSize,\n distribution,\n ecParityCalc,\n cpuToUse,\n maxCPUsUse,\n integrationSelection,\n limitSize: createTenant.limitSize,\n selectedStorageType: createTenant.fields.nameTenant.selectedStorageType,\n };\n};\n\nconst connector = connect(mapState, {\n updateAddField,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(TenantSizeMK));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, {\n Fragment,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { connect } 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 debounce from \"lodash/debounce\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n formFieldStyles,\n modalBasic,\n wizardCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../../../actions\";\nimport {\n isPageValid,\n setLimitSize,\n setStorageClassesList,\n updateAddField,\n} from \"../../../actions\";\nimport {\n getLimitSizes,\n IQuotaElement,\n IQuotas,\n Opts,\n} from \"../../../ListTenants/utils\";\nimport { AppState } from \"../../../../../../store\";\nimport { commonFormValidation } from \"../../../../../../utils/validationFunctions\";\nimport { clearValidationError } from \"../../../utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport api from \"../../../../../../common/api\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport AddIcon from \"../../../../../../icons/AddIcon\";\nimport AddNamespaceModal from \"../helpers/AddNamespaceModal\";\nimport SizePreview from \"../SizePreview\";\nimport TenantSize from \"./TenantSize\";\nimport { Paper, SelectChangeEvent } from \"@mui/material\";\nimport { IMkEnvs, mkPanelConfigurations } from \"./utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n sizePreview: {\n position: \"fixed\",\n marginLeft: 10,\n background: \"#FFFFFF\",\n border: \"1px solid #EAEAEA\",\n padding: 2,\n },\n ...formFieldStyles,\n ...modalBasic,\n ...wizardCommon,\n });\n\ninterface INameTenantMainScreen {\n classes: any;\n storageClasses: Opts[];\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n updateAddField: typeof updateAddField;\n isPageValid: typeof isPageValid;\n setStorageClassesList: typeof setStorageClassesList;\n setLimitSize: typeof setLimitSize;\n tenantName: string;\n namespace: string;\n selectedStorageClass: string;\n selectedStorageType: string;\n formToRender?: IMkEnvs;\n}\n\nconst NameTenantMain = ({\n classes,\n storageClasses,\n tenantName,\n namespace,\n selectedStorageClass,\n selectedStorageType,\n formToRender = IMkEnvs.default,\n updateAddField,\n setStorageClassesList,\n setLimitSize,\n isPageValid,\n setModalErrorSnackMessage,\n}: INameTenantMainScreen) => {\n const [validationErrors, setValidationErrors] = useState({});\n const [emptyNamespace, setEmptyNamespace] = useState(true);\n const [loadingNamespaceInfo, setLoadingNamespaceInfo] =\n useState(false);\n const [showCreateButton, setShowCreateButton] = useState(false);\n const [openAddNSConfirm, setOpenAddNSConfirm] = useState(false);\n\n // Common\n const updateField = useCallback(\n (field: string, value: string) => {\n updateAddField(\"nameTenant\", field, value);\n },\n [updateAddField]\n );\n\n // Storage classes retrieval\n const getNamespaceInformation = useCallback(() => {\n setShowCreateButton(false);\n // Empty tenantValidation\n api\n .invoke(\"GET\", `/api/v1/namespaces/${namespace}/tenants`)\n .then((res: any[]) => {\n const tenantsList = get(res, \"tenants\", []);\n\n if (tenantsList && tenantsList.length > 0) {\n setEmptyNamespace(false);\n setLoadingNamespaceInfo(false);\n return;\n }\n setEmptyNamespace(true);\n\n // Storagequotas retrieval\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${namespace}/resourcequotas/${namespace}-storagequota`\n )\n .then((res: IQuotas) => {\n const elements: IQuotaElement[] = get(res, \"elements\", []);\n setLimitSize(getLimitSizes(res));\n\n const newStorage = elements.map((storageClass: any) => {\n const name = get(storageClass, \"name\", \"\").split(\n \".storageclass.storage.k8s.io/requests.storage\"\n )[0];\n\n return { label: name, value: name };\n });\n\n setStorageClassesList(newStorage);\n\n const stExists = newStorage.findIndex(\n (storageClass) => storageClass.value === selectedStorageClass\n );\n\n if (newStorage.length > 0 && stExists === -1) {\n updateField(\"selectedStorageClass\", newStorage[0].value);\n } else if (newStorage.length === 0) {\n updateField(\"selectedStorageClass\", \"\");\n setStorageClassesList([]);\n }\n setLoadingNamespaceInfo(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingNamespaceInfo(false);\n setShowCreateButton(true);\n updateField(\"selectedStorageClass\", \"\");\n setStorageClassesList([]);\n console.error(\"Namespace error: \", err);\n });\n })\n .catch((err: ErrorResponseHandler) => {\n setModalErrorSnackMessage({\n errorMessage: \"Error validating if namespace already has tenants\",\n detailedError: err.detailedError,\n });\n });\n }, [\n namespace,\n setLimitSize,\n setModalErrorSnackMessage,\n setStorageClassesList,\n updateField,\n selectedStorageClass,\n ]);\n\n const debounceNamespace = useMemo(\n () => debounce(getNamespaceInformation, 500),\n [getNamespaceInformation]\n );\n\n useEffect(() => {\n if (namespace !== \"\") {\n debounceNamespace();\n setLoadingNamespaceInfo(true);\n\n // Cancel previous debounce calls during useEffect cleanup.\n return debounceNamespace.cancel;\n }\n }, [debounceNamespace, namespace]);\n\n // Validation\n useEffect(() => {\n let customNamespaceError = false;\n let errorMessage = \"\";\n\n if (!emptyNamespace && !loadingNamespaceInfo) {\n customNamespaceError = true;\n errorMessage = \"You can only create one tenant per namespace\";\n } else if (\n storageClasses.length < 1 &&\n emptyNamespace &&\n !loadingNamespaceInfo\n ) {\n customNamespaceError = true;\n errorMessage = \"Please enter a valid namespace\";\n }\n\n const commonValidation = commonFormValidation([\n {\n fieldKey: \"tenant-name\",\n required: true,\n pattern: /^[a-z0-9-]{3,63}$/,\n customPatternMessage:\n \"Name only can contain lowercase letters, numbers and '-'. Min. Length: 3\",\n value: tenantName,\n },\n {\n fieldKey: \"namespace\",\n required: true,\n value: namespace,\n customValidation: customNamespaceError,\n customValidationMessage: errorMessage,\n },\n ]);\n\n const isValid =\n !(\"tenant-name\" in commonValidation) &&\n !(\"namespace\" in commonValidation) &&\n ((formToRender === IMkEnvs.default && storageClasses.length > 0) ||\n (formToRender !== IMkEnvs.default && selectedStorageType !== \"\"));\n\n isPageValid(\"nameTenant\", isValid);\n\n setValidationErrors(commonValidation);\n }, [\n storageClasses,\n namespace,\n tenantName,\n isPageValid,\n emptyNamespace,\n loadingNamespaceInfo,\n selectedStorageType,\n formToRender,\n ]);\n\n const frmValidationCleanup = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n const addNamespace = () => {\n setOpenAddNSConfirm(true);\n };\n\n const closeAddNamespace = (refresh: boolean) => {\n setOpenAddNSConfirm(false);\n\n if (refresh) {\n debounceNamespace();\n }\n };\n\n return (\n \n {openAddNSConfirm && (\n \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 updateField(\"tenantName\", e.target.value);\n frmValidationCleanup(\"tenant-name\");\n }}\n label=\"Name\"\n value={tenantName}\n required\n error={validationErrors[\"tenant-name\"] || \"\"}\n />\n
\n
\n \n ) => {\n updateField(\"namespace\", e.target.value);\n frmValidationCleanup(\"namespace\");\n }}\n label=\"Namespace\"\n value={namespace}\n error={validationErrors[\"namespace\"] || \"\"}\n overlayIcon={showCreateButton ? : null}\n overlayAction={addNamespace}\n required\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 updateField(\n \"selectedStorageType\",\n e.target.value as string\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\nconst mapState = (state: AppState) => ({\n tenantName: state.tenants.createTenant.fields.nameTenant.tenantName,\n namespace: state.tenants.createTenant.fields.nameTenant.namespace,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n selectedStorageType:\n state.tenants.createTenant.fields.nameTenant.selectedStorageType,\n storageClasses: state.tenants.createTenant.storageClasses,\n});\n\nconst connector = connect(mapState, {\n setModalErrorSnackMessage,\n updateAddField,\n setStorageClassesList,\n setLimitSize,\n isPageValid,\n});\n\nexport default withStyles(styles)(connector(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 { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport NameTenantMain from \"./NameTenantMain\";\nimport { IMkEnvs, resourcesConfigurations } from \"./utils\";\nimport { AppState } from \"../../../../../../store\";\n\ninterface ITenantResources {\n features?: string[];\n}\n\nconst TenantResources = ({ features }: ITenantResources) => {\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\nconst mapState = (state: AppState) => ({\n features: state.console.session.features,\n});\n\nconst connector = connect(mapState, null);\n\nexport default connector(TenantResources);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } 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 withStyles from \"@mui/styles/withStyles\";\nimport {\n modalBasic,\n settingsCommon,\n wizardCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport api from \"../../../../common/api\";\nimport { generatePoolName } from \"../../../../common/utils\";\nimport GenericWizard from \"../../Common/GenericWizard/GenericWizard\";\nimport { IWizardElement } from \"../../Common/GenericWizard/types\";\nimport { NewServiceAccount } from \"../../Common/CredentialsPrompt/types\";\nimport { ErrorResponseHandler, ITenantCreator } from \"../../../../common/types\";\nimport { KeyPair } from \"../ListTenants/utils\";\n\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { getDefaultAffinity, getNodeSelector } from \"../TenantDetails/utils\";\nimport CredentialsPrompt from \"../../Common/CredentialsPrompt/CredentialsPrompt\";\nimport { AppState } from \"../../../../store\";\nimport { ICertificatesItems, IFieldStore } from \"../types\";\nimport { resetAddTenantForm, updateAddField } from \"../actions\";\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 history from \"../../../../history\";\nimport Images from \"./Steps/Images\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport BackLink from \"../../../../common/BackLink\";\nimport TenantResources from \"./Steps/TenantResources/TenantResources\";\n\ninterface IAddTenantProps {\n setErrorSnackMessage: typeof setErrorSnackMessage;\n resetAddTenantForm: typeof resetAddTenantForm;\n updateAddField: typeof updateAddField;\n fields: IFieldStore;\n certificates: ICertificatesItems;\n selectedStorageClass: string;\n namespace: string;\n validPages: string[];\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n pageBox: {\n border: \"1px solid #EAEAEA\",\n },\n ...modalBasic,\n ...wizardCommon,\n ...settingsCommon,\n });\n\nconst AddTenant = ({\n classes,\n fields,\n certificates,\n selectedStorageClass,\n namespace,\n validPages,\n setErrorSnackMessage,\n resetAddTenantForm,\n}: IAddTenantProps) => {\n // Modals\n const [showNewCredentials, setShowNewCredentials] = useState(false);\n const [createdAccount, setCreatedAccount] =\n useState(null);\n\n // Fields\n const [addSending, setAddSending] = useState(false);\n\n /* Send Information to backend */\n useEffect(() => {\n const tenantName = fields.nameTenant.tenantName;\n const selectedStorageClass = fields.nameTenant.selectedStorageClass;\n const imageName = fields.configure.imageName;\n const customDockerhub = fields.configure.customDockerhub;\n const imageRegistry = fields.configure.imageRegistry;\n const imageRegistryUsername = fields.configure.imageRegistryUsername;\n const imageRegistryPassword = fields.configure.imageRegistryPassword;\n const exposeMinIO = fields.configure.exposeMinIO;\n const exposeConsole = fields.configure.exposeConsole;\n const idpSelection = fields.identityProvider.idpSelection;\n const openIDConfigurationURL =\n fields.identityProvider.openIDConfigurationURL;\n const openIDClientID = fields.identityProvider.openIDClientID;\n const openIDClaimName = fields.identityProvider.openIDClaimName;\n const openIDCallbackURL = fields.identityProvider.openIDCallbackURL;\n const openIDScopes = fields.identityProvider.openIDScopes;\n const openIDSecretID = fields.identityProvider.openIDSecretID;\n const ADURL = fields.identityProvider.ADURL;\n const ADSkipTLS = fields.identityProvider.ADSkipTLS;\n const ADServerInsecure = fields.identityProvider.ADServerInsecure;\n const ADUserNameSearchFilter =\n fields.identityProvider.ADUserNameSearchFilter;\n const ADGroupSearchBaseDN = fields.identityProvider.ADGroupSearchBaseDN;\n const ADGroupSearchFilter = fields.identityProvider.ADGroupSearchFilter;\n const ADGroupNameAttribute = fields.identityProvider.ADGroupNameAttribute;\n const ADUserDNs = fields.identityProvider.ADUserDNs;\n const ADUserNameFormat = fields.identityProvider.ADUserNameFormat;\n const ADLookupBindDN = fields.identityProvider.ADLookupBindDN;\n const ADLookupBindPassword = fields.identityProvider.ADLookupBindPassword;\n const ADUserDNSearchBaseDN = fields.identityProvider.ADUserDNSearchBaseDN;\n const ADUserDNSearchFilter = fields.identityProvider.ADUserDNSearchFilter;\n const ADServerStartTLS = fields.identityProvider.ADServerStartTLS;\n const accessKeys = fields.identityProvider.accessKeys;\n const secretKeys = fields.identityProvider.secretKeys;\n const minioCertificates = certificates.minioCertificates;\n const caCertificates = certificates.caCertificates;\n const consoleCaCertificates = certificates.consoleCaCertificates;\n const consoleCertificate = certificates.consoleCertificate;\n const serverCertificate = certificates.serverCertificate;\n const clientCertificate = certificates.clientCertificate;\n const vaultCertificate = certificates.vaultCertificate;\n const vaultCA = certificates.vaultCA;\n const gemaltoCA = certificates.gemaltoCA;\n const enableEncryption = fields.encryption.enableEncryption;\n const encryptionType = fields.encryption.encryptionType;\n const gemaltoEndpoint = fields.encryption.gemaltoEndpoint;\n const gemaltoToken = fields.encryption.gemaltoToken;\n const gemaltoDomain = fields.encryption.gemaltoDomain;\n const gemaltoRetry = fields.encryption.gemaltoRetry;\n const awsEndpoint = fields.encryption.awsEndpoint;\n const awsRegion = fields.encryption.awsRegion;\n const awsKMSKey = fields.encryption.awsKMSKey;\n const awsAccessKey = fields.encryption.awsAccessKey;\n const awsSecretKey = fields.encryption.awsSecretKey;\n const awsToken = fields.encryption.awsToken;\n const vaultEndpoint = fields.encryption.vaultEndpoint;\n const vaultEngine = fields.encryption.vaultEngine;\n const vaultNamespace = fields.encryption.vaultNamespace;\n const vaultPrefix = fields.encryption.vaultPrefix;\n const vaultAppRoleEngine = fields.encryption.vaultAppRoleEngine;\n const vaultId = fields.encryption.vaultId;\n const vaultSecret = fields.encryption.vaultSecret;\n const vaultRetry = fields.encryption.vaultRetry;\n const vaultPing = fields.encryption.vaultPing;\n const azureEndpoint = fields.encryption.azureEndpoint;\n const azureTenantID = fields.encryption.azureTenantID;\n const azureClientID = fields.encryption.azureClientID;\n const azureClientSecret = fields.encryption.azureClientSecret;\n const gcpProjectID = fields.encryption.gcpProjectID;\n const gcpEndpoint = fields.encryption.gcpEndpoint;\n const gcpClientEmail = fields.encryption.gcpClientEmail;\n const gcpClientID = fields.encryption.gcpClientID;\n const gcpPrivateKeyID = fields.encryption.gcpPrivateKeyID;\n const gcpPrivateKey = fields.encryption.gcpPrivateKey;\n const enableAutoCert = fields.security.enableAutoCert;\n const enableTLS = fields.security.enableTLS;\n const ecParity = fields.tenantSize.ecParity;\n const distribution = fields.tenantSize.distribution;\n const tenantCustom = fields.configure.tenantCustom;\n const logSearchCustom = fields.configure.logSearchCustom;\n const prometheusCustom = fields.configure.prometheusCustom;\n const logSearchVolumeSize = fields.configure.logSearchVolumeSize;\n const logSearchSelectedStorageClass =\n fields.configure.logSearchSelectedStorageClass;\n const logSearchImage = fields.configure.logSearchImage;\n const kesImage = fields.configure.kesImage;\n const logSearchPostgresImage = fields.configure.logSearchPostgresImage;\n const logSearchPostgresInitImage =\n fields.configure.logSearchPostgresInitImage;\n const prometheusImage = fields.configure.prometheusImage;\n const prometheusSidecarImage = fields.configure.prometheusSidecarImage;\n const prometheusInitImage = fields.configure.prometheusInitImage;\n const prometheusSelectedStorageClass =\n fields.configure.prometheusSelectedStorageClass;\n const prometheusVolumeSize = fields.configure.prometheusVolumeSize;\n const affinityType = fields.affinity.podAffinity;\n const nodeSelectorLabels = fields.affinity.nodeSelectorLabels;\n const withPodAntiAffinity = fields.affinity.withPodAntiAffinity;\n\n const tenantSecurityContext = fields.configure.tenantSecurityContext;\n const logSearchSecurityContext = fields.configure.logSearchSecurityContext;\n const logSearchPostgresSecurityContext =\n fields.configure.logSearchPostgresSecurityContext;\n const prometheusSecurityContext =\n fields.configure.prometheusSecurityContext;\n const kesSecurityContext = fields.encryption.kesSecurityContext;\n const kesReplicas = fields.encryption.replicas;\n\n if (addSending) {\n const poolName = generatePoolName([]);\n\n let affinityObject = {};\n\n switch (affinityType) {\n case \"default\":\n affinityObject = {\n affinity: getDefaultAffinity(tenantName, poolName),\n };\n break;\n case \"nodeSelector\":\n affinityObject = {\n affinity: getNodeSelector(\n nodeSelectorLabels,\n withPodAntiAffinity,\n tenantName,\n poolName\n ),\n };\n break;\n }\n\n const erasureCode = ecParity.split(\":\")[1];\n\n let dataSend: ITenantCreator = {\n name: tenantName,\n namespace: namespace,\n access_key: \"\",\n secret_key: \"\",\n access_keys: [],\n secret_keys: [],\n enable_tls: enableTLS && enableAutoCert,\n enable_console: true,\n enable_prometheus: true,\n service_name: \"\",\n image: imageName,\n expose_minio: exposeMinIO,\n expose_console: exposeConsole,\n pools: [\n {\n name: poolName,\n servers: distribution.nodes,\n volumes_per_server: distribution.disks,\n volume_configuration: {\n size: distribution.pvSize,\n storage_class_name: selectedStorageClass,\n },\n securityContext: tenantCustom ? tenantSecurityContext : null,\n ...affinityObject,\n },\n ],\n erasureCodingParity: parseInt(erasureCode, 10),\n };\n\n // Set Resources\n if (\n fields.tenantSize.resourcesCPURequest !== \"\" ||\n fields.tenantSize.resourcesCPULimit !== \"\" ||\n fields.tenantSize.resourcesMemoryRequest !== \"\" ||\n fields.tenantSize.resourcesMemoryLimit !== \"\"\n ) {\n dataSend.pools[0].resources = {};\n // requests\n if (\n fields.tenantSize.resourcesCPURequest !== \"\" ||\n fields.tenantSize.resourcesMemoryRequest !== \"\"\n ) {\n dataSend.pools[0].resources.requests = {};\n if (fields.tenantSize.resourcesCPURequest !== \"\") {\n dataSend.pools[0].resources.requests.cpu = parseInt(\n fields.tenantSize.resourcesCPURequest\n );\n }\n if (fields.tenantSize.resourcesMemoryRequest !== \"\") {\n dataSend.pools[0].resources.requests.memory = parseInt(\n fields.tenantSize.resourcesMemoryRequest\n );\n }\n }\n // limits\n if (\n fields.tenantSize.resourcesCPULimit !== \"\" ||\n fields.tenantSize.resourcesMemoryLimit !== \"\"\n ) {\n dataSend.pools[0].resources.limits = {};\n if (fields.tenantSize.resourcesCPULimit !== \"\") {\n dataSend.pools[0].resources.limits.cpu = parseInt(\n fields.tenantSize.resourcesCPULimit\n );\n }\n if (fields.tenantSize.resourcesMemoryLimit !== \"\") {\n dataSend.pools[0].resources.limits.memory = parseInt(\n fields.tenantSize.resourcesMemoryLimit\n );\n }\n }\n }\n if (customDockerhub) {\n dataSend = {\n ...dataSend,\n image_registry: {\n registry: imageRegistry,\n username: imageRegistryUsername,\n password: imageRegistryPassword,\n },\n };\n }\n\n if (logSearchCustom) {\n dataSend = {\n ...dataSend,\n logSearchConfiguration: {\n storageClass:\n logSearchSelectedStorageClass === \"default\"\n ? \"\"\n : logSearchSelectedStorageClass,\n storageSize: parseInt(logSearchVolumeSize),\n image: logSearchImage,\n postgres_image: logSearchPostgresImage,\n postgres_init_image: logSearchPostgresInitImage,\n securityContext: logSearchSecurityContext,\n postgres_securityContext: logSearchPostgresSecurityContext,\n },\n };\n } else {\n dataSend = {\n ...dataSend,\n logSearchConfiguration: {\n image: logSearchImage,\n postgres_image: logSearchPostgresImage,\n postgres_init_image: logSearchPostgresInitImage,\n },\n };\n }\n\n if (prometheusCustom) {\n dataSend = {\n ...dataSend,\n prometheusConfiguration: {\n storageClass:\n prometheusSelectedStorageClass === \"default\"\n ? \"\"\n : prometheusSelectedStorageClass,\n storageSize: parseInt(prometheusVolumeSize),\n image: prometheusImage,\n sidecar_image: prometheusSidecarImage,\n init_image: prometheusInitImage,\n securityContext: prometheusSecurityContext,\n },\n };\n } else {\n dataSend = {\n ...dataSend,\n prometheusConfiguration: {\n image: prometheusImage,\n sidecar_image: prometheusSidecarImage,\n init_image: prometheusInitImage,\n },\n };\n }\n\n let tenantCerts: any = null;\n let consoleCerts: any = null;\n let caCerts: any = null;\n let consoleCaCerts: any = null;\n\n if (caCertificates.length > 0) {\n caCerts = {\n ca_certificates: caCertificates\n .map((keyPair: KeyPair) => keyPair.encoded_cert)\n .filter((keyPair) => keyPair),\n };\n }\n\n if (consoleCaCertificates.length > 0) {\n consoleCaCerts = {\n console_ca_certificates: consoleCaCertificates\n .map((keyPair: KeyPair) => keyPair.encoded_cert)\n .filter((keyPair) => keyPair),\n };\n }\n\n if (enableTLS && minioCertificates.length > 0) {\n tenantCerts = {\n minio: minioCertificates\n .map((keyPair: KeyPair) => ({\n crt: keyPair.encoded_cert,\n key: keyPair.encoded_key,\n }))\n .filter((keyPair) => keyPair.crt && keyPair.key),\n };\n }\n\n if (\n enableTLS &&\n consoleCertificate.encoded_cert !== \"\" &&\n consoleCertificate.encoded_key !== \"\"\n ) {\n consoleCerts = {\n console: {\n crt: consoleCertificate.encoded_cert,\n key: consoleCertificate.encoded_key,\n },\n };\n }\n\n if (tenantCerts || consoleCerts || caCerts || consoleCaCerts) {\n dataSend = {\n ...dataSend,\n tls: {\n ...tenantCerts,\n ...consoleCerts,\n ...caCerts,\n ...consoleCaCerts,\n },\n };\n }\n\n if (enableEncryption) {\n let insertEncrypt = {};\n\n switch (encryptionType) {\n case \"gemalto\":\n let gemaltoCAIntroduce = {};\n\n if (gemaltoCA.encoded_cert !== \"\") {\n gemaltoCAIntroduce = {\n ca: gemaltoCA.encoded_cert,\n };\n }\n insertEncrypt = {\n gemalto: {\n keysecure: {\n endpoint: gemaltoEndpoint,\n credentials: {\n token: gemaltoToken,\n domain: gemaltoDomain,\n retry: parseInt(gemaltoRetry),\n },\n tls: {\n ...gemaltoCAIntroduce,\n },\n },\n },\n };\n break;\n case \"aws\":\n insertEncrypt = {\n aws: {\n secretsmanager: {\n endpoint: awsEndpoint,\n region: awsRegion,\n kmskey: awsKMSKey,\n credentials: {\n accesskey: awsAccessKey,\n secretkey: awsSecretKey,\n token: awsToken,\n },\n },\n },\n };\n break;\n case \"azure\":\n insertEncrypt = {\n azure: {\n keyvault: {\n endpoint: azureEndpoint,\n credentials: {\n tenant_id: azureTenantID,\n client_id: azureClientID,\n client_secret: azureClientSecret,\n },\n },\n },\n };\n break;\n case \"gcp\":\n insertEncrypt = {\n gcp: {\n secretmanager: {\n project_id: gcpProjectID,\n endpoint: gcpEndpoint,\n credentials: {\n client_email: gcpClientEmail,\n client_id: gcpClientID,\n private_key_id: gcpPrivateKeyID,\n private_key: gcpPrivateKey,\n },\n },\n },\n };\n break;\n case \"vault\":\n let vaultKeyPair = null;\n let vaultCAInsert = null;\n if (\n vaultCertificate.encoded_key !== \"\" &&\n vaultCertificate.encoded_cert !== \"\"\n ) {\n vaultKeyPair = {\n key: vaultCertificate.encoded_key,\n crt: vaultCertificate.encoded_cert,\n };\n }\n if (vaultCA.encoded_cert !== \"\") {\n vaultCAInsert = {\n ca: vaultCA.encoded_cert,\n };\n }\n let vaultTLS = null;\n if (vaultKeyPair || vaultCA) {\n vaultTLS = {\n tls: {\n ...vaultKeyPair,\n ...vaultCAInsert,\n },\n };\n }\n insertEncrypt = {\n vault: {\n endpoint: vaultEndpoint,\n engine: vaultEngine,\n namespace: vaultNamespace,\n prefix: vaultPrefix,\n approle: {\n engine: vaultAppRoleEngine,\n id: vaultId,\n secret: vaultSecret,\n retry: parseInt(vaultRetry),\n },\n ...vaultTLS,\n status: {\n ping: parseInt(vaultPing),\n },\n },\n };\n break;\n }\n\n let encryptionServerKeyPair: any = {};\n let encryptionClientKeyPair: any = {};\n\n if (\n clientCertificate.encoded_key !== \"\" &&\n clientCertificate.encoded_cert !== \"\"\n ) {\n encryptionClientKeyPair = {\n client: {\n key: clientCertificate.encoded_key,\n crt: clientCertificate.encoded_cert,\n },\n };\n }\n\n if (\n serverCertificate.encoded_key !== \"\" &&\n serverCertificate.encoded_cert !== \"\"\n ) {\n encryptionServerKeyPair = {\n server: {\n key: serverCertificate.encoded_key,\n crt: serverCertificate.encoded_cert,\n },\n };\n }\n\n dataSend = {\n ...dataSend,\n encryption: {\n replicas: kesReplicas,\n securityContext: kesSecurityContext,\n image: kesImage,\n ...encryptionClientKeyPair,\n ...encryptionServerKeyPair,\n ...insertEncrypt,\n },\n };\n }\n\n let dataIDP: any = {};\n switch (idpSelection) {\n case \"Built-in\":\n let keyarray = [];\n for (let i = 0; i < accessKeys.length; i++) {\n keyarray.push({\n access_key: accessKeys[i],\n secret_key: secretKeys[i],\n });\n }\n dataIDP = {\n keys: keyarray,\n };\n break;\n case \"OpenID\":\n dataIDP = {\n oidc: {\n configuration_url: openIDConfigurationURL,\n client_id: openIDClientID,\n secret_id: openIDSecretID,\n claim_name: openIDClaimName,\n callback_url: openIDCallbackURL,\n scopes: openIDScopes,\n },\n };\n break;\n case \"AD\":\n dataIDP = {\n active_directory: {\n url: ADURL,\n skip_tls_verification: ADSkipTLS,\n server_insecure: ADServerInsecure,\n username_format: ADUserNameFormat,\n username_search_filter: ADUserNameSearchFilter,\n group_search_base_dn: ADGroupSearchBaseDN,\n group_search_filter: ADGroupSearchFilter,\n group_name_attribute: ADGroupNameAttribute,\n user_dns: ADUserDNs,\n lookup_bind_dn: ADLookupBindDN,\n lookup_bind_password: ADLookupBindPassword,\n user_dn_search_base_dn: ADUserDNSearchBaseDN,\n user_dn_search_filter: ADUserDNSearchFilter,\n server_start_tls: ADServerStartTLS,\n },\n };\n break;\n }\n\n dataSend = {\n ...dataSend,\n idp: { ...dataIDP },\n };\n api\n .invoke(\"POST\", `/api/v1/tenants`, dataSend)\n .then((res) => {\n const consoleSAList = get(res, \"console\", []);\n\n let newSrvAcc: NewServiceAccount = {\n idp: get(res, \"externalIDP\", false),\n console: [],\n };\n\n if (consoleSAList) {\n if (Array.isArray(consoleSAList)) {\n const consoleItem = consoleSAList.map((consoleKey) => {\n return {\n accessKey: consoleKey.access_key,\n secretKey: consoleKey.secret_key,\n };\n });\n\n newSrvAcc.console = consoleItem;\n } else {\n newSrvAcc = {\n console: {\n accessKey: res.console.access_key,\n secretKey: res.console.secret_key,\n },\n };\n }\n }\n setAddSending(false);\n setShowNewCredentials(true);\n setCreatedAccount(newSrvAcc);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n setErrorSnackMessage(err);\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [addSending]);\n\n const cancelButton = {\n label: \"Cancel\",\n type: \"other\",\n enabled: true,\n action: () => {\n resetAddTenantForm();\n history.push(\"/tenants\");\n },\n };\n const requiredPages = [\n \"nameTenant\",\n \"tenantSize\",\n \"configure\",\n \"affinity\",\n \"identityProvider\",\n \"security\",\n \"encryption\",\n ];\n const createButton = {\n label: \"Create\",\n type: \"submit\",\n enabled:\n !addSending &&\n selectedStorageClass !== \"\" &&\n requiredPages.every((v) => validPages.includes(v)),\n action: () => {\n setAddSending(true);\n },\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\n let filteredWizardSteps = wizardSteps;\n\n const closeCredentialsModal = () => {\n resetAddTenantForm();\n history.push(\"/tenants\");\n };\n\n return (\n \n {showNewCredentials && (\n {\n closeCredentialsModal();\n }}\n entity=\"Tenant\"\n />\n )}\n \n \n \n {addSending && (\n \n \n \n )}\n \n \n \n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n namespace: state.tenants.createTenant.fields.nameTenant.namespace,\n validPages: state.tenants.createTenant.validPages,\n fields: state.tenants.createTenant.fields,\n certificates: state.tenants.createTenant.certificates,\n selectedStorageClass:\n state.tenants.createTenant.fields.nameTenant.selectedStorageClass,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n updateAddField,\n resetAddTenantForm,\n});\n\nexport default withStyles(styles)(connector(AddTenant));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport get from \"lodash/get\";\nimport { ITenant } from \"./types\";\n\nexport interface Opts {\n label: string;\n value: string;\n}\n\nexport interface IQuotaElement {\n hard: number;\n name: string;\n}\n\nexport interface IQuotas {\n elements?: IQuotaElement[];\n name: string;\n}\n\nexport const minMemReq = 2147483648;\n\nexport interface KeyPair {\n id: string;\n encoded_cert: string;\n encoded_key: string;\n cert: string;\n key: string;\n}\n\nexport const ecListTransform = (ecList: string[]): Opts[] => {\n return ecList.map((value) => {\n return { label: value, value };\n });\n};\n\nexport const getLimitSizes = (resourceQuotas: IQuotas) => {\n const quotas: IQuotaElement[] = get(resourceQuotas, \"elements\", []);\n\n const returnQuotas: any = {};\n\n quotas.forEach((rsQuota) => {\n const stCName = rsQuota.name.split(\n \".storageclass.storage.k8s.io/requests.storage\"\n )[0];\n const hard = get(rsQuota, \"hard\", 0);\n const used = get(rsQuota, \"used\", 0);\n\n returnQuotas[stCName] = hard - used;\n });\n\n return returnQuotas;\n};\n\nexport const tenantIsOnline = (tenant: ITenant): boolean => {\n if (tenant.currentState === \"\") {\n return false;\n }\n if (\n !tenant.status &&\n tenant.health_status !== \"green\" &&\n tenant.health_status !== \"yellow\"\n ) {\n return false;\n }\n if (\n tenant.status &&\n tenant.status.health_status !== \"green\" &&\n tenant.status.health_status !== \"yellow\"\n ) {\n return false;\n }\n return true;\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 { IAffinityModel } from \"../../../../common/types\";\n\nexport const getDefaultAffinity = (tenantName: string, poolName: string) => {\n const defaultAffinity: IAffinityModel = {\n podAntiAffinity: {\n requiredDuringSchedulingIgnoredDuringExecution: [\n {\n labelSelector: {\n matchExpressions: [\n {\n key: \"v1.min.io/tenant\",\n operator: \"In\",\n values: [tenantName],\n },\n {\n key: \"v1.min.io/pool\",\n operator: \"In\",\n values: [poolName],\n },\n ],\n },\n topologyKey: \"kubernetes.io/hostname\",\n },\n ],\n },\n };\n return defaultAffinity;\n};\n\nexport const getNodeSelector = (\n labels: string,\n withPodAntiAffinity: boolean,\n tenantName: string,\n poolName: string\n) => {\n // Labels in the form of key1=value1&key2=value2&key3=value3...\n const splittedLabels = labels.split(\"&\");\n let matchExpressions: any = [];\n\n splittedLabels.forEach((label: string) => {\n const splitKeyValue = label.split(\"=\");\n if (splitKeyValue.length === 2) {\n matchExpressions.push({\n key: splitKeyValue[0],\n operator: \"In\",\n values: [splitKeyValue[1]],\n });\n }\n });\n\n const nodeSelector: IAffinityModel = {\n nodeAffinity: {\n requiredDuringSchedulingIgnoredDuringExecution: {\n nodeSelectorTerms: [\n {\n matchExpressions: matchExpressions,\n },\n ],\n },\n },\n };\n if (withPodAntiAffinity) {\n const def = getDefaultAffinity(tenantName, poolName);\n nodeSelector.podAntiAffinity = def.podAntiAffinity;\n }\n console.log(nodeSelector);\n return nodeSelector;\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 { ITenant } from \"./ListTenants/types\";\nimport { Opts } from \"./ListTenants/utils\";\nimport {\n ADD_TENANT_ADD_CA_KEYPAIR,\n ADD_TENANT_ADD_CONSOLE_CA_KEYPAIR,\n ADD_TENANT_ADD_CONSOLE_CERT,\n ADD_TENANT_ADD_FILE_TO_CA_KEYPAIR,\n ADD_TENANT_ADD_FILE_TO_CONSOLE_CA_KEYPAIR,\n ADD_TENANT_ADD_FILE_TO_MINIO_KEYPAIR,\n ADD_TENANT_ADD_MINIO_KEYPAIR,\n ADD_TENANT_DELETE_CA_KEYPAIR,\n ADD_TENANT_DELETE_CONSOLE_CA_KEYPAIR,\n ADD_TENANT_DELETE_MINIO_KEYPAIR,\n ADD_TENANT_ENCRYPTION_CLIENT_CERT,\n ADD_TENANT_ENCRYPTION_GEMALTO_CA,\n ADD_TENANT_ENCRYPTION_SERVER_CERT,\n ADD_TENANT_ENCRYPTION_VAULT_CA,\n ADD_TENANT_ENCRYPTION_VAULT_CERT,\n ADD_TENANT_RESET_FORM,\n ADD_TENANT_SET_CURRENT_PAGE,\n ADD_TENANT_SET_LIMIT_SIZE,\n ADD_TENANT_SET_PAGE_VALID,\n ADD_TENANT_SET_STORAGE_CLASSES_LIST,\n ADD_TENANT_UPDATE_FIELD,\n TENANT_DETAILS_SET_CURRENT_TENANT,\n TENANT_DETAILS_SET_LOADING,\n TENANT_DETAILS_SET_TAB,\n TENANT_DETAILS_SET_TENANT,\n ADD_TENANT_SET_KEY_PAIR_VALUE,\n LabelKeyPair,\n} from \"./types\";\n\n// Basic actions\nexport const setWizardPage = (page: number) => {\n return {\n type: ADD_TENANT_SET_CURRENT_PAGE,\n page,\n };\n};\n\nexport const updateAddField = (\n pageName: string,\n fieldName: string,\n value: any\n) => {\n return {\n type: ADD_TENANT_UPDATE_FIELD,\n pageName,\n field: fieldName,\n value,\n };\n};\n\nexport const isPageValid = (pageName: string, valid: boolean) => {\n return {\n type: ADD_TENANT_SET_PAGE_VALID,\n pageName,\n valid,\n };\n};\n\n// Name Tenant actions\n\nexport const setStorageClassesList = (storageClasses: Opts[]) => {\n return {\n type: ADD_TENANT_SET_STORAGE_CLASSES_LIST,\n storageClasses,\n };\n};\n\nexport const setLimitSize = (limitSize: any) => {\n return {\n type: ADD_TENANT_SET_LIMIT_SIZE,\n limitSize,\n };\n};\n\n// Security actions\n\nexport const addCaCertificate = () => {\n return {\n type: ADD_TENANT_ADD_CA_KEYPAIR,\n };\n};\n\nexport const deleteCaCertificate = (id: string) => {\n return {\n type: ADD_TENANT_DELETE_CA_KEYPAIR,\n id,\n };\n};\n\nexport const addFileToCaCertificates = (\n id: string,\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_FILE_TO_CA_KEYPAIR,\n id,\n key,\n fileName,\n value,\n };\n};\n\nexport const addConsoleCaCertificate = () => {\n return {\n type: ADD_TENANT_ADD_CONSOLE_CA_KEYPAIR,\n };\n};\n\nexport const deleteConsoleCaCertificate = (id: string) => {\n return {\n type: ADD_TENANT_DELETE_CONSOLE_CA_KEYPAIR,\n id,\n };\n};\n\nexport const addFileToConsoleCaCertificates = (\n id: string,\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_FILE_TO_CONSOLE_CA_KEYPAIR,\n id,\n key,\n fileName,\n value,\n };\n};\n\nexport const addKeyPair = () => {\n return {\n type: ADD_TENANT_ADD_MINIO_KEYPAIR,\n };\n};\n\nexport const deleteKeyPair = (id: string) => {\n return {\n type: ADD_TENANT_DELETE_MINIO_KEYPAIR,\n id,\n };\n};\n\nexport const addFileToKeyPair = (\n id: string,\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_FILE_TO_MINIO_KEYPAIR,\n id,\n key,\n fileName,\n value,\n };\n};\n\nexport const addConsoleCertificate = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_CONSOLE_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileServerCert = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ENCRYPTION_SERVER_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileClientCert = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ENCRYPTION_CLIENT_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileVaultCert = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ENCRYPTION_VAULT_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileVaultCa = (fileName: string, value: string) => {\n return {\n type: ADD_TENANT_ENCRYPTION_VAULT_CA,\n fileName,\n value,\n };\n};\n\nexport const addFileGemaltoCa = (fileName: string, value: string) => {\n return {\n type: ADD_TENANT_ENCRYPTION_GEMALTO_CA,\n fileName,\n value,\n };\n};\n\nexport const resetAddTenantForm = () => {\n return {\n type: ADD_TENANT_RESET_FORM,\n };\n};\n\nexport const setTenantDetailsLoad = (loading: boolean) => {\n return {\n type: TENANT_DETAILS_SET_LOADING,\n state: loading,\n };\n};\n\nexport const setTenantName = (tenantName: string, tenantNamespace: string) => {\n return {\n type: TENANT_DETAILS_SET_CURRENT_TENANT,\n name: tenantName,\n namespace: tenantNamespace,\n };\n};\n\nexport const setTenantInfo = (tenant: ITenant | null) => {\n return {\n type: TENANT_DETAILS_SET_TENANT,\n tenant,\n };\n};\n\nexport const setTenantTab = (tab: string) => {\n return {\n type: TENANT_DETAILS_SET_TAB,\n tab,\n };\n};\n\nexport const setKeyValuePairs = (newArray: LabelKeyPair[]) => {\n return {\n type: ADD_TENANT_SET_KEY_PAIR_VALUE,\n newArray,\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"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","root","marginLeft","borderWidth","borderColor","borderStyle","borderRadius","backgroundColor","main","opacity","contained","background","dark","children","variant","tooltip","rest","button","clsx","title","container","flexFlow","inputWithCopy","height","inputLabel","fieldBasic","value","OutlinedInput","readOnly","endAdornment","InputAdornment","position","text","BoxIconButton","onMouseDown","edge","warningBlock","margin","credentialTitle","fontWeight","buttonContainer","textAlign","marginTop","credentialsPanel","overflowY","maxHeight","promptTitle","buttonSpacer","promptIcon","newServiceAccount","open","closeModal","entity","consoleCreds","get","idp","ModalWrapper","modalOpen","onClose","titleIcon","Grid","item","xs","formScrollable","Array","isArray","map","credentialsPair","index","accessKey","secretKey","WarnIcon","Button","consoleExtras","cCreds","itemMap","access_key","secret_key","console","filename","element","document","createElement","setAttribute","encodeURIComponent","style","body","appendChild","click","removeChild","download","JSON","stringify","endIcon","tooltipHelper","valueString","whiteSpace","overflow","textOverflow","fileInputField","fileInputStyles","textBoxContainer","border","paddingLeft","onChange","id","name","disabled","required","error","accept","useState","showFileSelector","setShowSelector","fieldBottom","fieldContainer","errorInField","InputLabel","htmlFor","fieldLabelError","tooltipContainer","Tooltip","placement","HelpIcon","type","e","fileName","evt","callback","file","target","files","reader","FileReader","readAsDataURL","onload","fileBase64","result","fileArray","toString","split","length","fileProcess","data","IconButton","component","disableRipple","disableFocusRipple","size","Cancel","ErrorBlock","errorMessage","fileReselect","AttachFile","radioStyles","makeStyles","radioIcons","RadioButton","props","checkedIcon","radioSelectedIcon","radioUnselectedIcon","optionLabel","checkedOption","selectorOptions","currentSelection","disableOptions","displayInColumn","radioOptionsLayout","row","selectorOption","control","SelectStyled","lineHeight","spacing","input","InputBase","options","fullWidth","option","wizardStepContainer","flexDirection","flex","wizardComponent","marginBottom","minHeight","wizardModal","buttonsContainer","borderTop","paddingBottom","buttonInnerContainer","page","pageChange","loadingStep","forModal","componentRender","LinearProgress","buttons","btn","toPage","action","buttonAction","enabled","wizFromContainer","wizFromModal","modalWizardSteps","borderBottom","listStyle","buttonList","cursor","outline","boxShadow","paddedContentGrid","stepsLabel","stepsMasterContainer","top","verticalSteps","borderRight","stepsContainer","paddingTop","stepItem","wizardSteps","currentStep","setCurrentStep","toElement","lastPage","nextPage","prevPage","pg","Fragment","step","sm","md","lg","xl","List","dense","ListItem","selected","ListItemText","pageContentStyles","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","left","labelStyle","rightMenu","logo","fill","middleComponent","actions","direction","sx","IMkEnvs","storageClasses","tenants","createTenant","customImage","fields","configure","imageName","customDockerhub","imageRegistry","imageRegistryUsername","imageRegistryPassword","exposeMinIO","exposeConsole","prometheusCustom","tenantCustom","logSearchCustom","logSearchVolumeSize","logSearchSizeFactor","prometheusVolumeSize","prometheusSizeFactor","logSearchSelectedStorageClass","logSearchImage","kesImage","logSearchPostgresImage","logSearchPostgresInitImage","prometheusSelectedStorageClass","prometheusImage","prometheusSidecarImage","prometheusInitImage","selectedStorageClass","nameTenant","tenantSecurityContext","logSearchSecurityContext","logSearchPostgresSecurityContext","prometheusSecurityContext","updateAddField","isPageValid","configSectionItem","tenantCustomizationFields","containerItem","fieldGroup","createTenantCommon","responsiveSectionItem","logSearchCustomFields","fieldSpaceTop","prometheusCustomFields","modalBasic","wizardCommon","validationErrors","setValidationErrors","configureSTClasses","updateField","useCallback","field","useEffect","customAccountValidation","fieldKey","runAsUser","customValidation","parseInt","customValidationMessage","runAsGroup","fsGroup","pattern","customPatternMessage","commonVal","commonFormValidation","Object","keys","filter","cleanValidation","fieldName","clearValidationError","Paper","paperWrapper","headerElement","h3Section","descriptionText","FormSwitchWrapper","checked","multiContainer","InputBoxWrapper","min","runAsNonRoot","SelectWrapper","idpSelection","identityProvider","accessKeys","secretKeys","openIDConfigurationURL","openIDClientID","openIDSecretID","openIDCallbackURL","openIDClaimName","openIDScopes","ADURL","ADSkipTLS","ADServerInsecure","ADUserNameSearchFilter","ADGroupSearchBaseDN","ADGroupSearchFilter","ADGroupNameAttribute","ADUserDNs","ADUserNameFormat","ADLookupBindDN","ADLookupBindPassword","ADUserDNSearchBaseDN","ADUserDNSearchFilter","ADServerStartTLS","shortened","gridTemplateColumns","gridGap","buttonTray","overlayAction","protocolRadioOptions","adUserDnRows","formFieldStyles","updateUserField","newUserField","updatePwordField","updateADUserField","newADUserDNsField","customIDPValidation","i","push","inputs","_","placeholder","Add","splice","RemoveIcon","getRandomString","Casino","Delete","RadioGroupSelector","formFieldRow","Typography","gutterBottom","enableTLS","security","enableAutoCert","enableCustomCerts","minioCertificates","certificates","caCertificates","addFileToCaCertificates","deleteCaCertificate","addCaCertificate","addKeyPair","addFileToKeyPair","deleteKeyPair","minioCertificateRows","fileItem","minWidth","minioCertsContainer","minioCACertsRow","rowActions","keyPair","FileSelector","encodedValue","cert","key","AddIcon","replicas","encryption","enableEncryption","encryptionType","gemaltoEndpoint","gemaltoToken","gemaltoDomain","gemaltoRetry","awsEndpoint","awsRegion","awsKMSKey","awsAccessKey","awsSecretKey","awsToken","vaultEndpoint","vaultEngine","vaultNamespace","vaultPrefix","vaultAppRoleEngine","vaultId","vaultSecret","vaultRetry","vaultPing","azureEndpoint","azureTenantID","azureClientID","azureClientSecret","gcpProjectID","gcpEndpoint","gcpClientEmail","gcpClientID","gcpPrivateKeyID","gcpPrivateKey","enableCustomCertsForKES","serverCertificate","clientCertificate","vaultCertificate","vaultCA","gemaltoCA","kesSecurityContext","addFileServerCert","addFileClientCert","addFileVaultCert","addFileVaultCa","addFileGemaltoCa","encryptionTypeOptions","mutualTlsConfig","rightSpacer","responsiveContainer","encryptionAvailable","encoded_key","encoded_cert","encryptionValidation","podAffinity","affinity","nodeSelectorLabels","withPodAntiAffinity","keyValuePairs","nodeSelectorPairs","setModalErrorSnackMessage","setKeyValuePairs","affinityConfigField","affinityFieldLabel","radioField","affinityLabelKey","affinityLabelValue","affinityRow","loading","setLoading","keyValueMap","setKeyValueMap","keyOptions","setKeyOptions","api","then","res","k","catch","err","vl","kvp","kvs","a","indexOf","join","valid","splittedLabels","forEach","splitItem","affinityHelpText","newKey","arrCp","assign","v","setErrorSnackMessage","wrapText","wordWrap","deleteDialogStyles","namespace","addNamespaceOpen","closeAddNamespaceModalAndRefresh","addNamespaceLoading","setAddNamespaceLoading","ConfirmDialog","confirmText","confirmButtonProps","isOpen","isLoading","onConfirm","confirmationContent","DialogContentText","volumeSize","tenantSize","sizeFactor","drivesPerServer","nodes","memoryNode","ecParity","ecParityChoices","cleanECChoices","resourcesSize","distribution","ecParityCalc","limitSize","cpuToUse","integrationSelection","table","usableInformation","storageFactors","find","erasureCode","Divider","Table","TableBody","TableRow","TableCell","scope","align","typeSelection","storageClass","disks","niceBytes","pvSize","persistentVolumes","rawCapacity","maxCapacity","Math","floor","maxFailureTolerations","CPU","memory","driveSize","sizeUnit","maxAllocatableResources","maxCPUsUse","maxMemorySize","resourcesSpecifyLimit","resourcesCPURequestError","resourcesCPURequest","resourcesCPULimitError","resourcesCPULimit","resourcesMemoryRequestError","resourcesMemoryRequest","resourcesMemoryLimitError","resourcesMemoryLimit","compositeFieldContainer","compositeAddOn","memoryExists","cpuExists","maxMemory","mem_priority","max_allocatable_mem","cpu_priority","max_allocatable_cpu","maxAllocatableCPU","baseCpuUse","max","baseMemoryUse","isNaN","validity","log","errorFlag","setErrorFlag","nodeError","setNodeError","ecCodeValidated","erasureCodeCalc","includes","defaultEC","factor","getBytes","clusterCapacity","unit","distrCalculate","calculateDistribution","parsedSize","commonValidation","trim","ecList","ecListTransform","k8sfactorForDropdown","selectedStorageType","formToRender","updateMainField","undefined","setConfigs","mkPanelConfigurations","mainSelection","resourcesConfigurations","aws","azure","gcp","variantSelectorLabel","variantSelectorValues","configurations","sizingComponent","default","tenantName","setStorageClassesList","setLimitSize","sizePreview","emptyNamespace","setEmptyNamespace","loadingNamespaceInfo","setLoadingNamespaceInfo","showCreateButton","setShowCreateButton","openAddNSConfirm","setOpenAddNSConfirm","getNamespaceInformation","tenantsList","elements","getLimitSizes","newStorage","stExists","findIndex","detailedError","debounceNamespace","useMemo","debounce","cancel","customNamespaceError","isValid","frmValidationCleanup","refresh","overlayIcon","features","session","formRender","setFormRender","setConfiguration","validPages","resetAddTenantForm","pageBox","settingsCommon","showNewCredentials","setShowNewCredentials","createdAccount","setCreatedAccount","addSending","setAddSending","consoleCaCertificates","consoleCertificate","affinityType","kesReplicas","poolName","generatePoolName","affinityObject","getDefaultAffinity","getNodeSelector","dataSend","access_keys","secret_keys","enable_tls","enable_console","enable_prometheus","service_name","image","expose_minio","expose_console","pools","servers","volumes_per_server","volume_configuration","storage_class_name","securityContext","erasureCodingParity","resources","requests","cpu","limits","image_registry","registry","username","password","logSearchConfiguration","storageSize","postgres_image","postgres_init_image","postgres_securityContext","prometheusConfiguration","sidecar_image","init_image","tenantCerts","consoleCerts","caCerts","consoleCaCerts","ca_certificates","console_ca_certificates","minio","crt","tls","insertEncrypt","gemaltoCAIntroduce","ca","gemalto","keysecure","endpoint","credentials","token","domain","retry","secretsmanager","region","kmskey","accesskey","secretkey","keyvault","tenant_id","client_id","client_secret","secretmanager","project_id","client_email","private_key_id","private_key","vaultKeyPair","vaultCAInsert","vaultTLS","vault","engine","prefix","approle","secret","status","ping","encryptionServerKeyPair","encryptionClientKeyPair","client","server","dataIDP","keyarray","oidc","configuration_url","secret_id","claim_name","callback_url","scopes","active_directory","url","skip_tls_verification","server_insecure","username_format","username_search_filter","group_search_base_dn","group_search_filter","group_name_attribute","user_dns","lookup_bind_dn","lookup_bind_password","user_dn_search_base_dn","user_dn_search_filter","server_start_tls","consoleSAList","newSrvAcc","consoleItem","consoleKey","cancelButton","history","createButton","every","filteredWizardSteps","advancedOnly","CredentialsPrompt","PageHeader","BackLink","PageLayout","GenericWizard","resourceQuotas","quotas","returnQuotas","rsQuota","stCName","hard","used","tenantIsOnline","tenant","currentState","health_status","podAntiAffinity","requiredDuringSchedulingIgnoredDuringExecution","labelSelector","matchExpressions","operator","values","topologyKey","labels","splitKeyValue","nodeSelector","nodeAffinity","nodeSelectorTerms","def","pageName","ADD_TENANT_UPDATE_FIELD","ADD_TENANT_SET_PAGE_VALID","ADD_TENANT_SET_STORAGE_CLASSES_LIST","ADD_TENANT_SET_LIMIT_SIZE","ADD_TENANT_ADD_CA_KEYPAIR","ADD_TENANT_DELETE_CA_KEYPAIR","ADD_TENANT_ADD_FILE_TO_CA_KEYPAIR","ADD_TENANT_ADD_MINIO_KEYPAIR","ADD_TENANT_DELETE_MINIO_KEYPAIR","ADD_TENANT_ADD_FILE_TO_MINIO_KEYPAIR","ADD_TENANT_ENCRYPTION_SERVER_CERT","ADD_TENANT_ENCRYPTION_CLIENT_CERT","ADD_TENANT_ENCRYPTION_VAULT_CERT","ADD_TENANT_ENCRYPTION_VAULT_CA","ADD_TENANT_ENCRYPTION_GEMALTO_CA","ADD_TENANT_RESET_FORM","setTenantDetailsLoad","TENANT_DETAILS_SET_LOADING","setTenantName","tenantNamespace","TENANT_DETAILS_SET_CURRENT_TENANT","setTenantInfo","TENANT_DETAILS_SET_TENANT","setTenantTab","tab","TENANT_DETAILS_SET_TAB","newArray","ADD_TENANT_SET_KEY_PAIR_VALUE","errorBlock","withBreak"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1069.6dfe4ad0.chunk.js b/portal-ui/build/static/js/1069.57853a28.chunk.js similarity index 98% rename from portal-ui/build/static/js/1069.6dfe4ad0.chunk.js rename to portal-ui/build/static/js/1069.57853a28.chunk.js index d35f0f278..8a338d901 100644 --- a/portal-ui/build/static/js/1069.6dfe4ad0.chunk.js +++ b/portal-ui/build/static/js/1069.57853a28.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1069],{82461:function(e,a,n){n.d(a,{Z:function(){return j}});var t=n(23430),r=n(18489),o=n(50390),i=n(38342),s=n.n(i),l=n(25594),c=n(14602),d=n(94187),u=n(95467),m=n(46529),p=n(94258),x=n(86509),f=n(4285),h=n(72462),v=n(97538),g=n(82981),Z=n(62559),j=(0,f.Z)((function(e){return(0,x.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},h.YI),h.Hr),{},{valueString:{maxWidth:350,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginTop:2},fileInputField:{margin:"13px 0","@media (max-width: 900px)":{flexFlow:"column"}}},h.bV),{},{inputLabel:(0,r.Z)((0,r.Z)({},h.YI.inputLabel),{},{fontWeight:"normal"}),textBoxContainer:(0,r.Z)((0,r.Z)({},h.YI.textBoxContainer),{},{maxWidth:"100%",border:"1px solid #eaeaea",paddingLeft:"15px"})}))}))((function(e){var a=e.label,n=e.classes,r=e.onChange,i=e.id,x=e.name,f=e.disabled,h=void 0!==f&&f,j=e.tooltip,b=void 0===j?"":j,C=e.required,y=e.error,N=void 0===y?"":y,S=e.accept,k=void 0===S?"":S,M=e.value,w=void 0===M?"":M,F=(0,o.useState)(!1),E=(0,t.Z)(F,2),L=E[0],B=E[1];return(0,Z.jsx)(o.Fragment,{children:(0,Z.jsxs)(l.ZP,{item:!0,xs:12,className:"".concat(n.fileInputField," ").concat(n.fieldBottom," ").concat(n.fieldContainer," ").concat(""!==N?n.errorInField:""),children:[""!==a&&(0,Z.jsxs)(c.Z,{htmlFor:i,className:"".concat(""!==N?n.fieldLabelError:""," ").concat(n.inputLabel),children:[(0,Z.jsxs)("span",{children:[a,C?"*":""]}),""!==b&&(0,Z.jsx)("div",{className:n.tooltipContainer,children:(0,Z.jsx)(d.Z,{title:b,placement:"top-start",children:(0,Z.jsx)("div",{className:n.tooltip,children:(0,Z.jsx)(v.Z,{})})})})]}),L||""===w?(0,Z.jsxs)("div",{className:n.textBoxContainer,children:[(0,Z.jsx)("input",{type:"file",name:x,onChange:function(e){var a=s()(e,"target.files[0].name","");!function(e,a){var n=e.target.files[0],t=new FileReader;t.readAsDataURL(n),t.onload=function(){var e=t.result;if(e){var n=e.toString().split("base64,");2===n.length&&a(n[1])}}}(e,(function(e){r(e,a)}))},accept:k,required:C,disabled:h,className:n.fileInputField}),""!==w&&(0,Z.jsx)(u.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){B(!1)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,Z.jsx)(p.Z,{})}),""!==N&&(0,Z.jsx)(g.Z,{errorMessage:N})]}):(0,Z.jsxs)("div",{className:n.fileReselect,children:[(0,Z.jsx)("div",{className:n.valueString,children:w}),(0,Z.jsx)(u.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){B(!0)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,Z.jsx)(m.Z,{})})]})]})})}))},66964:function(e,a,n){var t=n(18489),r=n(50390),o=n(12066),i=n(25594),s=n(14602),l=n(94187),c=n(95467),d=n(86509),u=n(62449),m=n(4285),p=n(72462),x=n(97538),f=n(44977),h=n(62559),v=(0,u.Z)((function(e){return(0,d.Z)((0,t.Z)({},p.gM))}));function g(e){var a=v();return(0,h.jsx)(o.Z,(0,t.Z)({InputProps:{classes:a}},e))}a.Z=(0,m.Z)((function(e){return(0,d.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var a=e.label,n=e.onChange,o=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,v=e.autoComplete,Z=void 0===v?"off":v,j=e.disabled,b=void 0!==j&&j,C=e.multiline,y=void 0!==C&&C,N=e.tooltip,S=void 0===N?"":N,k=e.index,M=void 0===k?0:k,w=e.error,F=void 0===w?"":w,E=e.required,L=void 0!==E&&E,B=e.placeholder,I=void 0===B?"":B,R=e.min,z=e.max,D=e.overlayIcon,A=void 0===D?null:D,K=e.overlayObject,P=void 0===K?null:K,W=e.extraInputProps,O=void 0===W?{}:W,T=e.overlayAction,H=e.noLabelMinWidth,V=void 0!==H&&H,Y=e.pattern,_=void 0===Y?"":Y,q=e.autoFocus,U=void 0!==q&&q,$=e.classes,G=e.className,Q=void 0===G?"":G,X=(0,t.Z)({"data-index":M},O);return"number"===p&&R&&(X.min=R),"number"===p&&z&&(X.max=z),""!==_&&(X.pattern=_),(0,h.jsx)(r.Fragment,{children:(0,h.jsxs)(i.ZP,{container:!0,className:(0,f.Z)(""!==Q?Q:"",""!==F?$.errorInField:$.inputBoxContainer),children:[""!==a&&(0,h.jsxs)(s.Z,{htmlFor:d,className:V?$.noMinWidthLabel:$.inputLabel,children:[(0,h.jsxs)("span",{children:[a,L?"*":""]}),""!==S&&(0,h.jsx)("div",{className:$.tooltipContainer,children:(0,h.jsx)(l.Z,{title:S,placement:"top-start",children:(0,h.jsx)("div",{className:$.tooltip,children:(0,h.jsx)(x.Z,{})})})})]}),(0,h.jsxs)("div",{className:$.textBoxContainer,children:[(0,h.jsx)(g,{id:d,name:u,fullWidth:!0,value:o,autoFocus:U,disabled:b,onChange:n,type:p,multiline:y,autoComplete:Z,inputProps:X,error:""!==F,helperText:F,placeholder:I,className:$.inputRebase}),A&&(0,h.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==a?"withLabel":""),children:(0,h.jsx)(c.Z,{onClick:T?function(){T()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:A})}),P&&(0,h.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==a?"withLabel":""),children:P})]})]})})}))},76352:function(e,a,n){n.d(a,{Z:function(){return M}});var t,r=n(23430),o=n(18489),i=n(50390),s=n(34424),l=n(95467),c=n(97771),d=n(84402),u=n(78426),m=n(93085),p=n(86509),x=n(4285),f=n(72462),h=n(44149),v=n(38342),g=n.n(v),Z=n(92125),j=n(19538),b=n(21278),C=n(62559),y=function(){clearInterval(t)},N={displayErrorMessage:h.zb},S=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),N)((0,x.Z)((function(e){return(0,p.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var a=e.classes,n=e.modalSnackMessage,o=e.displayErrorMessage,s=e.customStyle,l=(0,i.useState)(!1),c=(0,r.Z)(l,2),d=c[0],u=c[1],m=(0,i.useState)(!1),p=(0,r.Z)(m,2),x=p[0],f=p[1],h=(0,i.useCallback)((function(){f(!1)}),[]);(0,i.useEffect)((function(){x||(o({detailedError:"",errorMessage:""}),u(!1))}),[o,x]),(0,i.useEffect)((function(){""!==n.message&&"error"===n.type&&f(!0)}),[h,n.message,n.type]);var v=g()(n,"message",""),N=g()(n,"detailedErrorMsg","");return"error"!==n.type||""===v?null:(0,C.jsx)(i.Fragment,{children:(0,C.jsxs)("div",{className:"".concat(a.modalErrorContainer," ").concat(x?a.modalErrorShow:""),style:s,onMouseOver:y,onMouseLeave:function(){t=setInterval(h,1e4)},children:[(0,C.jsx)("button",{className:a.closeButton,onClick:h,children:(0,C.jsx)(b.Z,{})}),(0,C.jsxs)("div",{className:a.errorTitle,children:[(0,C.jsx)("span",{className:a.messageIcon,children:(0,C.jsx)(j.Z,{})}),(0,C.jsx)("span",{className:a.errorLabel,children:v})]}),""!==N&&(0,C.jsxs)(i.Fragment,{children:[(0,C.jsx)("div",{className:a.detailsContainerLink,children:(0,C.jsxs)("button",{className:a.detailsButton,onClick:function(){u(!d)},children:["Details",(0,C.jsx)(Z.Z,{className:"".concat(a.arrowElement," ").concat(d?a.arrowOpen:"")})]})}),(0,C.jsx)("div",{className:"".concat(a.extraDetailsContainer," ").concat(d?a.extraDetailsOpen:""),children:N})]})]})})}))),k=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:h.MK}),M=(0,x.Z)((function(e){return(0,p.Z)((0,o.Z)((0,o.Z)({},f.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},f.sN))}))(k((function(e){var a=e.onClose,n=e.modalOpen,t=e.title,s=e.children,p=e.classes,x=e.wideLimit,f=void 0===x||x,h=e.modalSnackMessage,v=e.noContentPadding,g=e.setModalSnackMessage,Z=e.titleIcon,j=void 0===Z?null:Z,y=(0,i.useState)(!1),N=(0,r.Z)(y,2),k=N[0],M=N[1];(0,i.useEffect)((function(){g("")}),[g]),(0,i.useEffect)((function(){if(h){if(""===h.message)return void M(!1);"error"!==h.type&&M(!0)}}),[h]);var w=f?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},F="";return h&&(F=h.detailedErrorMsg,(""===h.detailedErrorMsg||h.detailedErrorMsg.length<5)&&(F=h.message)),(0,C.jsxs)(d.Z,(0,o.Z)((0,o.Z)({open:n,classes:p},w),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&a()},className:p.root,children:[(0,C.jsxs)(u.Z,{className:p.title,children:[(0,C.jsxs)("div",{className:p.titleText,children:[j," ",t]}),(0,C.jsx)("div",{className:p.closeContainer,children:(0,C.jsx)(l.Z,{"aria-label":"close",className:p.closeButton,onClick:a,disableRipple:!0,size:"small",children:(0,C.jsx)(b.Z,{})})})]}),(0,C.jsx)(S,{}),(0,C.jsx)(c.Z,{open:k,className:p.snackBarModal,onClose:function(){M(!1),g("")},message:F,ContentProps:{className:"".concat(p.snackBar," ").concat(h&&"error"===h.type?p.errorSnackBar:"")},autoHideDuration:h&&"error"===h.type?1e4:5e3}),(0,C.jsx)(m.Z,{className:v?"":p.content,children:s})]}))})))},81069:function(e,a,n){n.r(a);var t=n(23430),r=n(18489),o=n(50390),i=n(38342),s=n.n(i),l=n(34424),c=n(86509),d=n(4285),u=n(66946),m=n(81378),p=n(25594),x=n(72462),f=n(44149),h=n(66964),v=n(82461),g=n(30324),Z=n(76352),j=n(11387),b=n(62559),C=(0,l.$j)(null,{setModalErrorSnackMessage:f.zb});a.default=(0,d.Z)((function(e){return(0,c.Z)((0,r.Z)((0,r.Z)({buttonContainer:{textAlign:"right"}},x.oO),x.DF))}))(C((function(e){var a=e.open,n=e.closeModalAndRefresh,r=e.classes,i=e.tierData,l=e.setModalErrorSnackMessage,c=(0,o.useState)(!1),d=(0,t.Z)(c,2),x=d[0],f=d[1],C=(0,o.useState)(""),y=(0,t.Z)(C,2),N=y[0],S=y[1],k=(0,o.useState)(""),M=(0,t.Z)(k,2),w=M[0],F=M[1],E=(0,o.useState)(""),L=(0,t.Z)(E,2),B=L[0],I=L[1],R=(0,o.useState)(""),z=(0,t.Z)(R,2),D=z[0],A=z[1],K=(0,o.useState)(""),P=(0,t.Z)(K,2),W=P[0],O=P[1],T=(0,o.useState)(""),H=(0,t.Z)(T,2),V=H[0],Y=H[1],_=(0,o.useState)(!0),q=(0,t.Z)(_,2),U=q[0],$=q[1],G=s()(i,"type",""),Q=s()(i,"".concat(G,".name"),"");(0,o.useEffect)((function(){var e=!0;"s3"===G||"azure"===G?""!==W&&""!==V||(e=!1):"gcs"===G&&""===D&&(e=!1),$(e)}),[V,W,D,G]);return(0,b.jsx)(Z.Z,{modalOpen:a,titleIcon:(0,b.jsx)(j.mB,{}),onClose:function(){n(!1)},title:"Update Credentials - ".concat(G," / ").concat(Q),children:(0,b.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),f(!0),function(){var e={};"s3"===G||"azure"===G?e={access_key:W,secret_key:V}:"gcs"===G&&(e={creds:D}),""!==Q?g.Z.invoke("PUT","/api/v1/admin/tiers/".concat(G,"/").concat(Q,"/credentials"),e).then((function(){f(!1),n(!0)})).catch((function(e){f(!1),l(e)})):l({errorMessage:"There was an error retrieving tier information",detailedError:""})}()},children:(0,b.jsxs)(p.ZP,{container:!0,children:[(0,b.jsxs)(p.ZP,{item:!0,xs:12,children:["s3"===G&&(0,b.jsxs)(o.Fragment,{children:[(0,b.jsx)("div",{className:r.formFieldRow,children:(0,b.jsx)(h.Z,{id:"accessKey",name:"accessKey",label:"Access Key",placeholder:"Enter Access Key",value:N,onChange:function(e){S(e.target.value)}})}),(0,b.jsx)("div",{className:r.formFieldRow,children:(0,b.jsx)(h.Z,{id:"secretKey",name:"secretKey",label:"Secret Key",placeholder:"Enter Secret Key",value:w,onChange:function(e){F(e.target.value)}})})]}),"gcs"===G&&(0,b.jsx)(o.Fragment,{children:(0,b.jsx)(v.Z,{accept:".json",id:"creds",label:"Credentials",name:"creds",onChange:function(e,a){A(e),I(a)},value:B})}),"azure"===G&&(0,b.jsxs)(o.Fragment,{children:[(0,b.jsx)("div",{className:r.formFieldRow,children:(0,b.jsx)(h.Z,{id:"accountName",name:"accountName",label:"Account Name",placeholder:"Enter Account Name",value:W,onChange:function(e){O(e.target.value)}})}),(0,b.jsx)("div",{className:r.formFieldRow,children:(0,b.jsx)(h.Z,{id:"accountKey",name:"accountKey",label:"Account Key",placeholder:"Enter Account Key",value:V,onChange:function(e){Y(e.target.value)}})})]})]}),(0,b.jsx)(p.ZP,{item:!0,xs:12,className:r.buttonContainer,children:(0,b.jsx)(u.Z,{type:"submit",variant:"contained",color:"primary",disabled:x||!U,children:"Save"})}),x&&(0,b.jsx)(p.ZP,{item:!0,xs:12,children:(0,b.jsx)(m.Z,{})})]})})})})))},82981:function(e,a,n){var t=n(50390),r=n(35477),o=n(86509),i=n(4285),s=n(62559);a.Z=(0,i.Z)((function(e){var a;return(0,o.Z)({errorBlock:{color:(null===(a=e.palette)||void 0===a?void 0:a.error.main)||"#C83B51"}})}))((function(e){var a=e.classes,n=e.errorMessage,o=e.withBreak,i=void 0===o||o;return(0,s.jsxs)(t.Fragment,{children:[i&&(0,s.jsx)("br",{}),(0,s.jsx)(r.Z,{component:"p",variant:"body1",className:a.errorBlock,children:n})]})}))},46529:function(e,a,n){var t=n(64119);a.Z=void 0;var r=t(n(66830)),o=n(62559),i=(0,r.default)((0,o.jsx)("path",{d:"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z"}),"AttachFile");a.Z=i},94258:function(e,a,n){var t=n(64119);a.Z=void 0;var r=t(n(66830)),o=n(62559),i=(0,r.default)((0,o.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}),"Cancel");a.Z=i}}]); -//# sourceMappingURL=1069.6dfe4ad0.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1069],{82461:function(e,a,n){n.d(a,{Z:function(){return j}});var t=n(23430),r=n(18489),o=n(50390),i=n(38342),s=n.n(i),l=n(25594),c=n(36554),d=n(94187),u=n(95467),m=n(46529),p=n(94258),x=n(86509),f=n(4285),h=n(72462),v=n(97538),g=n(82981),Z=n(62559),j=(0,f.Z)((function(e){return(0,x.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},h.YI),h.Hr),{},{valueString:{maxWidth:350,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginTop:2},fileInputField:{margin:"13px 0","@media (max-width: 900px)":{flexFlow:"column"}}},h.bV),{},{inputLabel:(0,r.Z)((0,r.Z)({},h.YI.inputLabel),{},{fontWeight:"normal"}),textBoxContainer:(0,r.Z)((0,r.Z)({},h.YI.textBoxContainer),{},{maxWidth:"100%",border:"1px solid #eaeaea",paddingLeft:"15px"})}))}))((function(e){var a=e.label,n=e.classes,r=e.onChange,i=e.id,x=e.name,f=e.disabled,h=void 0!==f&&f,j=e.tooltip,b=void 0===j?"":j,C=e.required,y=e.error,N=void 0===y?"":y,S=e.accept,k=void 0===S?"":S,M=e.value,w=void 0===M?"":M,F=(0,o.useState)(!1),E=(0,t.Z)(F,2),L=E[0],B=E[1];return(0,Z.jsx)(o.Fragment,{children:(0,Z.jsxs)(l.ZP,{item:!0,xs:12,className:"".concat(n.fileInputField," ").concat(n.fieldBottom," ").concat(n.fieldContainer," ").concat(""!==N?n.errorInField:""),children:[""!==a&&(0,Z.jsxs)(c.Z,{htmlFor:i,className:"".concat(""!==N?n.fieldLabelError:""," ").concat(n.inputLabel),children:[(0,Z.jsxs)("span",{children:[a,C?"*":""]}),""!==b&&(0,Z.jsx)("div",{className:n.tooltipContainer,children:(0,Z.jsx)(d.Z,{title:b,placement:"top-start",children:(0,Z.jsx)("div",{className:n.tooltip,children:(0,Z.jsx)(v.Z,{})})})})]}),L||""===w?(0,Z.jsxs)("div",{className:n.textBoxContainer,children:[(0,Z.jsx)("input",{type:"file",name:x,onChange:function(e){var a=s()(e,"target.files[0].name","");!function(e,a){var n=e.target.files[0],t=new FileReader;t.readAsDataURL(n),t.onload=function(){var e=t.result;if(e){var n=e.toString().split("base64,");2===n.length&&a(n[1])}}}(e,(function(e){r(e,a)}))},accept:k,required:C,disabled:h,className:n.fileInputField}),""!==w&&(0,Z.jsx)(u.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){B(!1)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,Z.jsx)(p.Z,{})}),""!==N&&(0,Z.jsx)(g.Z,{errorMessage:N})]}):(0,Z.jsxs)("div",{className:n.fileReselect,children:[(0,Z.jsx)("div",{className:n.valueString,children:w}),(0,Z.jsx)(u.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){B(!0)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,Z.jsx)(m.Z,{})})]})]})})}))},66964:function(e,a,n){var t=n(18489),r=n(50390),o=n(12066),i=n(25594),s=n(36554),l=n(94187),c=n(95467),d=n(86509),u=n(62449),m=n(4285),p=n(72462),x=n(97538),f=n(44977),h=n(62559),v=(0,u.Z)((function(e){return(0,d.Z)((0,t.Z)({},p.gM))}));function g(e){var a=v();return(0,h.jsx)(o.Z,(0,t.Z)({InputProps:{classes:a}},e))}a.Z=(0,m.Z)((function(e){return(0,d.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var a=e.label,n=e.onChange,o=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,v=e.autoComplete,Z=void 0===v?"off":v,j=e.disabled,b=void 0!==j&&j,C=e.multiline,y=void 0!==C&&C,N=e.tooltip,S=void 0===N?"":N,k=e.index,M=void 0===k?0:k,w=e.error,F=void 0===w?"":w,E=e.required,L=void 0!==E&&E,B=e.placeholder,I=void 0===B?"":B,R=e.min,z=e.max,D=e.overlayIcon,A=void 0===D?null:D,K=e.overlayObject,P=void 0===K?null:K,W=e.extraInputProps,O=void 0===W?{}:W,T=e.overlayAction,H=e.noLabelMinWidth,V=void 0!==H&&H,Y=e.pattern,_=void 0===Y?"":Y,q=e.autoFocus,U=void 0!==q&&q,$=e.classes,G=e.className,Q=void 0===G?"":G,X=(0,t.Z)({"data-index":M},O);return"number"===p&&R&&(X.min=R),"number"===p&&z&&(X.max=z),""!==_&&(X.pattern=_),(0,h.jsx)(r.Fragment,{children:(0,h.jsxs)(i.ZP,{container:!0,className:(0,f.Z)(""!==Q?Q:"",""!==F?$.errorInField:$.inputBoxContainer),children:[""!==a&&(0,h.jsxs)(s.Z,{htmlFor:d,className:V?$.noMinWidthLabel:$.inputLabel,children:[(0,h.jsxs)("span",{children:[a,L?"*":""]}),""!==S&&(0,h.jsx)("div",{className:$.tooltipContainer,children:(0,h.jsx)(l.Z,{title:S,placement:"top-start",children:(0,h.jsx)("div",{className:$.tooltip,children:(0,h.jsx)(x.Z,{})})})})]}),(0,h.jsxs)("div",{className:$.textBoxContainer,children:[(0,h.jsx)(g,{id:d,name:u,fullWidth:!0,value:o,autoFocus:U,disabled:b,onChange:n,type:p,multiline:y,autoComplete:Z,inputProps:X,error:""!==F,helperText:F,placeholder:I,className:$.inputRebase}),A&&(0,h.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==a?"withLabel":""),children:(0,h.jsx)(c.Z,{onClick:T?function(){T()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:A})}),P&&(0,h.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==a?"withLabel":""),children:P})]})]})})}))},76352:function(e,a,n){n.d(a,{Z:function(){return M}});var t,r=n(23430),o=n(18489),i=n(50390),s=n(34424),l=n(95467),c=n(97771),d=n(84402),u=n(78426),m=n(93085),p=n(86509),x=n(4285),f=n(72462),h=n(44149),v=n(38342),g=n.n(v),Z=n(92125),j=n(19538),b=n(21278),C=n(62559),y=function(){clearInterval(t)},N={displayErrorMessage:h.zb},S=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),N)((0,x.Z)((function(e){return(0,p.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var a=e.classes,n=e.modalSnackMessage,o=e.displayErrorMessage,s=e.customStyle,l=(0,i.useState)(!1),c=(0,r.Z)(l,2),d=c[0],u=c[1],m=(0,i.useState)(!1),p=(0,r.Z)(m,2),x=p[0],f=p[1],h=(0,i.useCallback)((function(){f(!1)}),[]);(0,i.useEffect)((function(){x||(o({detailedError:"",errorMessage:""}),u(!1))}),[o,x]),(0,i.useEffect)((function(){""!==n.message&&"error"===n.type&&f(!0)}),[h,n.message,n.type]);var v=g()(n,"message",""),N=g()(n,"detailedErrorMsg","");return"error"!==n.type||""===v?null:(0,C.jsx)(i.Fragment,{children:(0,C.jsxs)("div",{className:"".concat(a.modalErrorContainer," ").concat(x?a.modalErrorShow:""),style:s,onMouseOver:y,onMouseLeave:function(){t=setInterval(h,1e4)},children:[(0,C.jsx)("button",{className:a.closeButton,onClick:h,children:(0,C.jsx)(b.Z,{})}),(0,C.jsxs)("div",{className:a.errorTitle,children:[(0,C.jsx)("span",{className:a.messageIcon,children:(0,C.jsx)(j.Z,{})}),(0,C.jsx)("span",{className:a.errorLabel,children:v})]}),""!==N&&(0,C.jsxs)(i.Fragment,{children:[(0,C.jsx)("div",{className:a.detailsContainerLink,children:(0,C.jsxs)("button",{className:a.detailsButton,onClick:function(){u(!d)},children:["Details",(0,C.jsx)(Z.Z,{className:"".concat(a.arrowElement," ").concat(d?a.arrowOpen:"")})]})}),(0,C.jsx)("div",{className:"".concat(a.extraDetailsContainer," ").concat(d?a.extraDetailsOpen:""),children:N})]})]})})}))),k=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:h.MK}),M=(0,x.Z)((function(e){return(0,p.Z)((0,o.Z)((0,o.Z)({},f.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},f.sN))}))(k((function(e){var a=e.onClose,n=e.modalOpen,t=e.title,s=e.children,p=e.classes,x=e.wideLimit,f=void 0===x||x,h=e.modalSnackMessage,v=e.noContentPadding,g=e.setModalSnackMessage,Z=e.titleIcon,j=void 0===Z?null:Z,y=(0,i.useState)(!1),N=(0,r.Z)(y,2),k=N[0],M=N[1];(0,i.useEffect)((function(){g("")}),[g]),(0,i.useEffect)((function(){if(h){if(""===h.message)return void M(!1);"error"!==h.type&&M(!0)}}),[h]);var w=f?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},F="";return h&&(F=h.detailedErrorMsg,(""===h.detailedErrorMsg||h.detailedErrorMsg.length<5)&&(F=h.message)),(0,C.jsxs)(d.Z,(0,o.Z)((0,o.Z)({open:n,classes:p},w),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&a()},className:p.root,children:[(0,C.jsxs)(u.Z,{className:p.title,children:[(0,C.jsxs)("div",{className:p.titleText,children:[j," ",t]}),(0,C.jsx)("div",{className:p.closeContainer,children:(0,C.jsx)(l.Z,{"aria-label":"close",className:p.closeButton,onClick:a,disableRipple:!0,size:"small",children:(0,C.jsx)(b.Z,{})})})]}),(0,C.jsx)(S,{}),(0,C.jsx)(c.Z,{open:k,className:p.snackBarModal,onClose:function(){M(!1),g("")},message:F,ContentProps:{className:"".concat(p.snackBar," ").concat(h&&"error"===h.type?p.errorSnackBar:"")},autoHideDuration:h&&"error"===h.type?1e4:5e3}),(0,C.jsx)(m.Z,{className:v?"":p.content,children:s})]}))})))},81069:function(e,a,n){n.r(a);var t=n(23430),r=n(18489),o=n(50390),i=n(38342),s=n.n(i),l=n(34424),c=n(86509),d=n(4285),u=n(66946),m=n(81378),p=n(25594),x=n(72462),f=n(44149),h=n(66964),v=n(82461),g=n(30324),Z=n(76352),j=n(98280),b=n(62559),C=(0,l.$j)(null,{setModalErrorSnackMessage:f.zb});a.default=(0,d.Z)((function(e){return(0,c.Z)((0,r.Z)((0,r.Z)({buttonContainer:{textAlign:"right"}},x.oO),x.DF))}))(C((function(e){var a=e.open,n=e.closeModalAndRefresh,r=e.classes,i=e.tierData,l=e.setModalErrorSnackMessage,c=(0,o.useState)(!1),d=(0,t.Z)(c,2),x=d[0],f=d[1],C=(0,o.useState)(""),y=(0,t.Z)(C,2),N=y[0],S=y[1],k=(0,o.useState)(""),M=(0,t.Z)(k,2),w=M[0],F=M[1],E=(0,o.useState)(""),L=(0,t.Z)(E,2),B=L[0],I=L[1],R=(0,o.useState)(""),z=(0,t.Z)(R,2),D=z[0],A=z[1],K=(0,o.useState)(""),P=(0,t.Z)(K,2),W=P[0],O=P[1],T=(0,o.useState)(""),H=(0,t.Z)(T,2),V=H[0],Y=H[1],_=(0,o.useState)(!0),q=(0,t.Z)(_,2),U=q[0],$=q[1],G=s()(i,"type",""),Q=s()(i,"".concat(G,".name"),"");(0,o.useEffect)((function(){var e=!0;"s3"===G||"azure"===G?""!==W&&""!==V||(e=!1):"gcs"===G&&""===D&&(e=!1),$(e)}),[V,W,D,G]);return(0,b.jsx)(Z.Z,{modalOpen:a,titleIcon:(0,b.jsx)(j.mB,{}),onClose:function(){n(!1)},title:"Update Credentials - ".concat(G," / ").concat(Q),children:(0,b.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),f(!0),function(){var e={};"s3"===G||"azure"===G?e={access_key:W,secret_key:V}:"gcs"===G&&(e={creds:D}),""!==Q?g.Z.invoke("PUT","/api/v1/admin/tiers/".concat(G,"/").concat(Q,"/credentials"),e).then((function(){f(!1),n(!0)})).catch((function(e){f(!1),l(e)})):l({errorMessage:"There was an error retrieving tier information",detailedError:""})}()},children:(0,b.jsxs)(p.ZP,{container:!0,children:[(0,b.jsxs)(p.ZP,{item:!0,xs:12,children:["s3"===G&&(0,b.jsxs)(o.Fragment,{children:[(0,b.jsx)("div",{className:r.formFieldRow,children:(0,b.jsx)(h.Z,{id:"accessKey",name:"accessKey",label:"Access Key",placeholder:"Enter Access Key",value:N,onChange:function(e){S(e.target.value)}})}),(0,b.jsx)("div",{className:r.formFieldRow,children:(0,b.jsx)(h.Z,{id:"secretKey",name:"secretKey",label:"Secret Key",placeholder:"Enter Secret Key",value:w,onChange:function(e){F(e.target.value)}})})]}),"gcs"===G&&(0,b.jsx)(o.Fragment,{children:(0,b.jsx)(v.Z,{accept:".json",id:"creds",label:"Credentials",name:"creds",onChange:function(e,a){A(e),I(a)},value:B})}),"azure"===G&&(0,b.jsxs)(o.Fragment,{children:[(0,b.jsx)("div",{className:r.formFieldRow,children:(0,b.jsx)(h.Z,{id:"accountName",name:"accountName",label:"Account Name",placeholder:"Enter Account Name",value:W,onChange:function(e){O(e.target.value)}})}),(0,b.jsx)("div",{className:r.formFieldRow,children:(0,b.jsx)(h.Z,{id:"accountKey",name:"accountKey",label:"Account Key",placeholder:"Enter Account Key",value:V,onChange:function(e){Y(e.target.value)}})})]})]}),(0,b.jsx)(p.ZP,{item:!0,xs:12,className:r.buttonContainer,children:(0,b.jsx)(u.Z,{type:"submit",variant:"contained",color:"primary",disabled:x||!U,children:"Save"})}),x&&(0,b.jsx)(p.ZP,{item:!0,xs:12,children:(0,b.jsx)(m.Z,{})})]})})})})))},82981:function(e,a,n){var t=n(50390),r=n(35477),o=n(86509),i=n(4285),s=n(62559);a.Z=(0,i.Z)((function(e){var a;return(0,o.Z)({errorBlock:{color:(null===(a=e.palette)||void 0===a?void 0:a.error.main)||"#C83B51"}})}))((function(e){var a=e.classes,n=e.errorMessage,o=e.withBreak,i=void 0===o||o;return(0,s.jsxs)(t.Fragment,{children:[i&&(0,s.jsx)("br",{}),(0,s.jsx)(r.Z,{component:"p",variant:"body1",className:a.errorBlock,children:n})]})}))},46529:function(e,a,n){var t=n(64119);a.Z=void 0;var r=t(n(66830)),o=n(62559),i=(0,r.default)((0,o.jsx)("path",{d:"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z"}),"AttachFile");a.Z=i},94258:function(e,a,n){var t=n(64119);a.Z=void 0;var r=t(n(66830)),o=n(62559),i=(0,r.default)((0,o.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}),"Cancel");a.Z=i}}]); +//# sourceMappingURL=1069.57853a28.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1069.6dfe4ad0.chunk.js.map b/portal-ui/build/static/js/1069.57853a28.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/1069.6dfe4ad0.chunk.js.map rename to portal-ui/build/static/js/1069.57853a28.chunk.js.map index d8b950bbe..2de5618e4 100644 --- a/portal-ui/build/static/js/1069.6dfe4ad0.chunk.js.map +++ b/portal-ui/build/static/js/1069.57853a28.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/1069.6dfe4ad0.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/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Configurations/TiersConfiguration/UpdateTierCredentialsModal.tsx","screens/shared/ErrorBlock.tsx","../node_modules/@mui/icons-material/AttachFile.js","../node_modules/@mui/icons-material/Cancel.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport 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 from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(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, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n formFieldStyles,\n modalBasic,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FileSelector from \"../../Common/FormComponents/FileSelector/FileSelector\";\nimport api from \"../../../../common/api\";\nimport { ITierElement } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { LockIcon } from \"../../../../icons\";\n\ninterface ITierCredentialsModal {\n open: boolean;\n closeModalAndRefresh: (refresh: boolean) => any;\n classes: any;\n tierData: ITierElement;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n ...modalBasic,\n ...formFieldStyles,\n });\n\nconst UpdateTierCredentialsModal = ({\n open,\n closeModalAndRefresh,\n classes,\n tierData,\n setModalErrorSnackMessage,\n}: ITierCredentialsModal) => {\n const [savingTiers, setSavingTiers] = useState(false);\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n\n const [creds, setCreds] = useState(\"\");\n const [encodedCreds, setEncodedCreds] = useState(\"\");\n\n const [accountName, setAccountName] = useState(\"\");\n const [accountKey, setAccountKey] = useState(\"\");\n\n // Validations\n const [isFormValid, setIsFormValid] = useState(true);\n\n const type = get(tierData, \"type\", \"\");\n const name = get(tierData, `${type}.name`, \"\");\n\n useEffect(() => {\n let valid = true;\n\n if (type === \"s3\" || type === \"azure\") {\n if (accountName === \"\" || accountKey === \"\") {\n valid = false;\n }\n } else if (type === \"gcs\") {\n if (encodedCreds === \"\") {\n valid = false;\n }\n }\n setIsFormValid(valid);\n }, [accountKey, accountName, encodedCreds, type]);\n\n const addRecord = () => {\n let rules = {};\n\n if (type === \"s3\" || type === \"azure\") {\n rules = {\n access_key: accountName,\n secret_key: accountKey,\n };\n } else if (type === \"gcs\") {\n rules = {\n creds: encodedCreds,\n };\n }\n if (name !== \"\") {\n api\n .invoke(\"PUT\", `/api/v1/admin/tiers/${type}/${name}/credentials`, rules)\n .then(() => {\n setSavingTiers(false);\n closeModalAndRefresh(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setSavingTiers(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n setModalErrorSnackMessage({\n errorMessage: \"There was an error retrieving tier information\",\n detailedError: \"\",\n });\n }\n };\n\n return (\n }\n onClose={() => {\n closeModalAndRefresh(false);\n }}\n title={`Update Credentials - ${type} / ${name}`}\n >\n ) => {\n e.preventDefault();\n setSavingTiers(true);\n addRecord();\n }}\n >\n \n \n {type === \"s3\" && (\n \n
\n ) => {\n setAccessKey(e.target.value);\n }}\n />\n
\n
\n ) => {\n setSecretKey(e.target.value);\n }}\n />\n
\n
\n )}\n {type === \"gcs\" && (\n \n {\n setEncodedCreds(encodedValue);\n setCreds(fileName);\n }}\n value={creds}\n />\n \n )}\n {type === \"azure\" && (\n \n
\n ) => {\n setAccountName(e.target.value);\n }}\n />\n
\n
\n ) => {\n setAccountKey(e.target.value);\n }}\n />\n
\n
\n )}\n
\n \n \n Save\n \n \n {savingTiers && (\n \n \n \n )}\n
\n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(UpdateTierCredentialsModal));\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\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"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');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"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');\n\nexports.default = _default;"],"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","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","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","flexGrow","position","overlayAction","right","top","maxHeight","autoComplete","multiline","index","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputProps","container","clsx","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","disableTouchRipple","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","width","backgroundColor","borderLeftWidth","borderRadius","zIndex","padding","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","fontSize","cursor","errorTitle","display","alignItems","errorLabel","marginLeft","marginRight","messageIcon","height","detailsButton","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","message","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","deleteDialogStyles","root","content","paddingBottom","customDialogSize","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","buttonContainer","textAlign","modalBasic","formFieldStyles","closeModalAndRefresh","tierData","savingTiers","setSavingTiers","accessKey","setAccessKey","secretKey","setSecretKey","creds","setCreds","encodedCreds","setEncodedCreds","accountName","setAccountName","accountKey","setAccountKey","isFormValid","setIsFormValid","valid","noValidate","onSubmit","preventDefault","rules","access_key","secret_key","api","then","catch","err","addRecord","formFieldRow","encodedValue","variant","errorBlock","palette","main","withBreak","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/1069.57853a28.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/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Configurations/TiersConfiguration/UpdateTierCredentialsModal.tsx","screens/shared/ErrorBlock.tsx","../node_modules/@mui/icons-material/AttachFile.js","../node_modules/@mui/icons-material/Cancel.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport 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 from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(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, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n formFieldStyles,\n modalBasic,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FileSelector from \"../../Common/FormComponents/FileSelector/FileSelector\";\nimport api from \"../../../../common/api\";\nimport { ITierElement } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { LockIcon } from \"../../../../icons\";\n\ninterface ITierCredentialsModal {\n open: boolean;\n closeModalAndRefresh: (refresh: boolean) => any;\n classes: any;\n tierData: ITierElement;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n ...modalBasic,\n ...formFieldStyles,\n });\n\nconst UpdateTierCredentialsModal = ({\n open,\n closeModalAndRefresh,\n classes,\n tierData,\n setModalErrorSnackMessage,\n}: ITierCredentialsModal) => {\n const [savingTiers, setSavingTiers] = useState(false);\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n\n const [creds, setCreds] = useState(\"\");\n const [encodedCreds, setEncodedCreds] = useState(\"\");\n\n const [accountName, setAccountName] = useState(\"\");\n const [accountKey, setAccountKey] = useState(\"\");\n\n // Validations\n const [isFormValid, setIsFormValid] = useState(true);\n\n const type = get(tierData, \"type\", \"\");\n const name = get(tierData, `${type}.name`, \"\");\n\n useEffect(() => {\n let valid = true;\n\n if (type === \"s3\" || type === \"azure\") {\n if (accountName === \"\" || accountKey === \"\") {\n valid = false;\n }\n } else if (type === \"gcs\") {\n if (encodedCreds === \"\") {\n valid = false;\n }\n }\n setIsFormValid(valid);\n }, [accountKey, accountName, encodedCreds, type]);\n\n const addRecord = () => {\n let rules = {};\n\n if (type === \"s3\" || type === \"azure\") {\n rules = {\n access_key: accountName,\n secret_key: accountKey,\n };\n } else if (type === \"gcs\") {\n rules = {\n creds: encodedCreds,\n };\n }\n if (name !== \"\") {\n api\n .invoke(\"PUT\", `/api/v1/admin/tiers/${type}/${name}/credentials`, rules)\n .then(() => {\n setSavingTiers(false);\n closeModalAndRefresh(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setSavingTiers(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n setModalErrorSnackMessage({\n errorMessage: \"There was an error retrieving tier information\",\n detailedError: \"\",\n });\n }\n };\n\n return (\n }\n onClose={() => {\n closeModalAndRefresh(false);\n }}\n title={`Update Credentials - ${type} / ${name}`}\n >\n ) => {\n e.preventDefault();\n setSavingTiers(true);\n addRecord();\n }}\n >\n \n \n {type === \"s3\" && (\n \n
\n ) => {\n setAccessKey(e.target.value);\n }}\n />\n
\n
\n ) => {\n setSecretKey(e.target.value);\n }}\n />\n
\n
\n )}\n {type === \"gcs\" && (\n \n {\n setEncodedCreds(encodedValue);\n setCreds(fileName);\n }}\n value={creds}\n />\n \n )}\n {type === \"azure\" && (\n \n
\n ) => {\n setAccountName(e.target.value);\n }}\n />\n
\n
\n ) => {\n setAccountKey(e.target.value);\n }}\n />\n
\n
\n )}\n
\n \n \n Save\n \n \n {savingTiers && (\n \n \n \n )}\n
\n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(UpdateTierCredentialsModal));\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\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"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');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"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');\n\nexports.default = _default;"],"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","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","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","flexGrow","position","overlayAction","right","top","maxHeight","autoComplete","multiline","index","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputProps","container","clsx","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","disableTouchRipple","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","width","backgroundColor","borderLeftWidth","borderRadius","zIndex","padding","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","fontSize","cursor","errorTitle","display","alignItems","errorLabel","marginLeft","marginRight","messageIcon","height","detailsButton","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","message","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","deleteDialogStyles","root","content","paddingBottom","customDialogSize","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","buttonContainer","textAlign","modalBasic","formFieldStyles","closeModalAndRefresh","tierData","savingTiers","setSavingTiers","accessKey","setAccessKey","secretKey","setSecretKey","creds","setCreds","encodedCreds","setEncodedCreds","accountName","setAccountName","accountKey","setAccountKey","isFormValid","setIsFormValid","valid","noValidate","onSubmit","preventDefault","rules","access_key","secret_key","api","then","catch","err","addRecord","formFieldRow","encodedValue","variant","errorBlock","palette","main","withBreak","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1140.dc4f7cbb.chunk.js b/portal-ui/build/static/js/1140.dc4f7cbb.chunk.js new file mode 100644 index 000000000..8b871c9aa --- /dev/null +++ b/portal-ui/build/static/js/1140.dc4f7cbb.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1140],{39080:function(e,n,i){i.r(n),i.d(n,{default:function(){return Z}});var t=i(18489),r=i(35531),s=i(50390),a=i(38342),l=i.n(a),c=i(86509),o=i(4285),d=i(66946),u=i(76352),m=i(25594),h=i(58217),p=i(65771),x=i(70758),y=i(33034),g=i.n(y),f=i(98280),j=i(72462),v=i(62559),b=(0,o.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,t.Z)((0,t.Z)({},j.YI.inputLabel),{},{fontSize:".8rem"})})}))((function(e){var n=e.label,i=void 0===n?"":n,t=e.value,r=void 0===t?"":t,s=e.classes,a=void 0===s?{}:s;return(0,v.jsxs)("div",{className:a.container,children:[(0,v.jsxs)("div",{className:a.inputLabel,children:[i,":"]}),(0,v.jsx)("div",{className:a.inputWithCopy,children:(0,v.jsx)(h.Z,{value:r,readOnly:!0,endAdornment:(0,v.jsx)(p.Z,{position:"end",children:(0,v.jsx)(g(),{text:r,children:(0,v.jsx)(x.Z,{"aria-label":"copy",tooltip:"Copy",onClick:function(){},onMouseDown:function(){},edge:"end",children:(0,v.jsx)(f.TI,{})})})})})})]})})),w=i(47424),Z=(0,o.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:{textAlign:"right",marginTop:"1rem"},credentialsPanel:{overflowY:"auto",maxHeight:350},promptTitle:{display:"flex",alignItems:"center"},buttonSpacer:{marginRight:".9rem"},promptIcon:{marginRight:".1rem",display:"flex",alignItems:"center",height:"2rem",width:"2rem"}})}))((function(e){var n=e.classes,i=e.newServiceAccount,a=e.open,c=e.closeModal,o=e.entity;if(!i)return null;var h=l()(i,"console",null),p=l()(i,"idp",!1);return(0,v.jsx)(u.Z,{modalOpen:a,onClose:function(){c()},title:(0,v.jsx)("div",{className:n.promptTitle,children:(0,v.jsxs)("div",{children:["New ",o," Created"]})}),titleIcon:(0,v.jsx)(f.tV,{}),children:(0,v.jsxs)(m.ZP,{container:!0,children:[(0,v.jsxs)(m.ZP,{item:!0,xs:12,className:n.formScrollable,children:["A new ",o," has been created with the following details:",!p&&h&&(0,v.jsx)(s.Fragment,{children:(0,v.jsxs)(m.ZP,{item:!0,xs:12,className:n.credentialsPanel,children:[(0,v.jsx)("div",{className:n.credentialTitle,children:"Console Credentials"}),Array.isArray(h)&&h.map((function(e,n){return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(b,{label:"Access Key",value:e.accessKey}),(0,v.jsx)(b,{label:"Secret Key",value:e.secretKey})]})})),!Array.isArray(h)&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(b,{label:"Access Key",value:h.accessKey}),(0,v.jsx)(b,{label:"Secret Key",value:h.secretKey})]})]})}),p?(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)(w.Z,{}),(0,v.jsx)("span",{children:"Write these down, as this is the only time the secret will be displayed."})]})]}),(0,v.jsxs)(m.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[(0,v.jsx)(d.Z,{variant:"outlined",className:n.buttonSpacer,onClick:function(){c()},color:"primary",children:"Done"}),!p&&(0,v.jsx)(d.Z,{onClick:function(){var e={};if(h)if(Array.isArray(h)){var n=h.map((function(e){return{access_key:e.accessKey,secret_key:e.secretKey}}));e={console:(0,r.Z)(n)}}else e={console:[{access_key:h.accessKey,secret_key:h.secretKey}]};!function(e,n){var i=document.createElement("a");i.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(n)),i.setAttribute("download",e),i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i)}("credentials.json",JSON.stringify((0,t.Z)({},e)))},endIcon:(0,v.jsx)(f._8,{}),variant:"contained",color:"primary",children:"Download"})]})]})})}))}}]); +//# sourceMappingURL=1140.dc4f7cbb.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1140.dc4f7cbb.chunk.js.map b/portal-ui/build/static/js/1140.dc4f7cbb.chunk.js.map new file mode 100644 index 000000000..b31982dce --- /dev/null +++ b/portal-ui/build/static/js/1140.dc4f7cbb.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1140.dc4f7cbb.chunk.js","mappings":"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","sources":["screens/Console/Common/CredentialsPrompt/CredentialItem.tsx","screens/Console/Common/CredentialsPrompt/CredentialsPrompt.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 { InputAdornment, OutlinedInput } from \"@mui/material\";\nimport BoxIconButton from \"../BoxIconButton/BoxIconButton\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { CopyIcon } from \"../../../../icons\";\nimport { fieldBasic } from \"../FormComponents/common/styleLibrary\";\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 onMouseDown={() => {}}\n edge=\"end\"\n >\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 createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { NewServiceAccount } from \"./types\";\nimport { Button } from \"@mui/material\";\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\";\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 textAlign: \"right\",\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 promptIcon: {\n marginRight: \".1rem\",\n display: \"flex\",\n alignItems: \"center\",\n height: \"2rem\",\n width: \"2rem\",\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(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + encodeURIComponent(text)\n );\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n\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\n const consoleCreds = get(newServiceAccount, \"console\", null);\n const idp = get(newServiceAccount, \"idp\", false);\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 {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 {\n closeModal();\n }}\n color=\"primary\"\n >\n Done\n \n\n {!idp && (\n {\n let consoleExtras = {};\n\n if (consoleCreds) {\n if (!Array.isArray(consoleCreds)) {\n consoleExtras = {\n console: [\n {\n access_key: consoleCreds.accessKey,\n secret_key: consoleCreds.secretKey,\n },\n ],\n };\n } else {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n access_key: itemMap.accessKey,\n secret_key: itemMap.secretKey,\n };\n });\n\n consoleExtras = {\n console: [...cCreds],\n };\n }\n }\n\n download(\n \"credentials.json\",\n JSON.stringify({\n ...consoleExtras,\n })\n );\n }}\n endIcon={}\n variant=\"contained\"\n color=\"primary\"\n >\n Download\n \n )}\n \n
\n \n );\n};\n\nexport default withStyles(styles)(CredentialsPrompt);\n"],"names":["withStyles","theme","createStyles","container","display","flexFlow","padding","inputWithCopy","width","background","height","marginRight","inputLabel","fieldBasic","fontSize","label","value","classes","className","OutlinedInput","readOnly","endAdornment","InputAdornment","position","text","BoxIconButton","tooltip","onClick","onMouseDown","edge","warningBlock","color","margin","alignItems","credentialTitle","fontWeight","buttonContainer","textAlign","marginTop","credentialsPanel","overflowY","maxHeight","promptTitle","buttonSpacer","promptIcon","newServiceAccount","open","closeModal","entity","consoleCreds","get","idp","ModalWrapper","modalOpen","onClose","title","titleIcon","Grid","item","xs","formScrollable","Array","isArray","map","credentialsPair","index","accessKey","secretKey","WarnIcon","Button","variant","consoleExtras","cCreds","itemMap","access_key","secret_key","console","filename","element","document","createElement","setAttribute","encodeURIComponent","style","body","appendChild","click","removeChild","download","JSON","stringify","endIcon"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1237.cc7c6a14.chunk.js b/portal-ui/build/static/js/1237.cc7c6a14.chunk.js new file mode 100644 index 000000000..485a58205 --- /dev/null +++ b/portal-ui/build/static/js/1237.cc7c6a14.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1237],{37882:function(n,e,r){var o=r(18489),t=r(50390),i=r(62559);e.Z=function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function r(r){return(0,i.jsx)(t.Suspense,{fallback:e,children:(0,i.jsx)(n,(0,o.Z)({},r))})}return r}},25534:function(n,e,r){var o=r(18489),t=(r(50390),r(25594)),i=r(86509),a=r(4285),c=r(72462),l=r(62559);e.Z=(0,a.Z)((function(n){return(0,i.Z)((0,o.Z)({},c.Bw))}))((function(n){var e=n.classes,r=n.className,o=void 0===r?"":r,i=n.children;return(0,l.jsx)("div",{className:e.contentSpacer,children:(0,l.jsx)(t.ZP,{container:!0,children:(0,l.jsx)(t.ZP,{item:!0,xs:12,className:o,children:i})})})}))},31237:function(n,e,r){r.r(e);var o=r(50390),t=r(24442),i=r(70971),a=r(34424),c=r(44149),l=r(36176),u=r(37882),s=r(49495),d=r(62559),f=(0,u.Z)(o.lazy((function(){return Promise.all([r.e(14),r.e(2066),r.e(3152),r.e(3690),r.e(5399),r.e(7777),r.e(3967)]).then(r.bind(r,63967))}))),p=(0,u.Z)(o.lazy((function(){return Promise.all([r.e(14),r.e(2066),r.e(3152),r.e(3690),r.e(5399),r.e(9998),r.e(8954),r.e(7777),r.e(4084)]).then(r.bind(r,5604))}))),m=(0,a.$j)((function(n){return{open:n.system.sidebarOpen}}),{setMenuOpen:c.gG});e.default=(0,i.EN)(m((function(){return(0,d.jsx)(i.F0,{history:t.Z,children:(0,d.jsxs)(i.rs,{children:[(0,d.jsx)(i.AW,{path:s.gA.POLICIES,exact:!0,component:f}),(0,d.jsx)(i.AW,{path:"".concat(s.gA.POLICIES,"/*"),component:p}),(0,d.jsx)(i.AW,{path:"/",component:f}),(0,d.jsx)(i.AW,{component:l.Z})]})})})))},36176:function(n,e,r){r.d(e,{Z:function(){return u}});r(50390);var o=r(56805),t=r(35477),i=r(10567),a=r(62559);function c(){return(0,a.jsxs)(t.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(25534),u=function(){return(0,a.jsx)(l.Z,{children:(0,a.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",textAlign:"center",margin:"auto",flexFlow:"column"},children:[(0,a.jsx)(o.Z,{sx:{fontSize:"110%",margin:"0 0 0.25rem",color:"#909090"},children:"404 Error"}),(0,a.jsx)(o.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)(o.Z,{mt:5,children:(0,a.jsx)(c,{})})]})})}},10567:function(n,e,r){r.d(e,{Z:function(){return k}});var o=r(23430),t=r(36222),i=r(1048),a=r(32793),c=r(50390),l=r(44977),u=r(50076),s=r(29001),d=r(36128),f=r(91442),p=r(8208),m=r(15573),h=r(42081),x=r(3299),Z=r(35477),v=r(10594);function y(n){return(0,v.Z)("MuiLink",n)}var b=(0,r(43349).Z)("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),g=r(62559),j=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant"],S={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},w=(0,p.ZP)(Z.Z,{name:"MuiLink",slot:"Root",overridesResolver:function(n,e){var r=n.ownerState;return[e.root,e["underline".concat((0,f.Z)(r.underline))],"button"===r.component&&e.button]}})((function(n){var e=n.theme,r=n.ownerState,o=(0,s.D)(e,"palette.".concat(function(n){return S[n]||n}(r.color)))||r.color;return(0,a.Z)({},"none"===r.underline&&{textDecoration:"none"},"hover"===r.underline&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},"always"===r.underline&&{textDecoration:"underline",textDecorationColor:"inherit"!==o?(0,d.Fq)(o,.4):void 0,"&:hover":{textDecorationColor:"inherit"}},"button"===r.component&&(0,t.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"}))})),k=c.forwardRef((function(n,e){var r=(0,m.Z)({props:n,name:"MuiLink"}),t=r.className,s=r.color,d=void 0===s?"primary":s,p=r.component,Z=void 0===p?"a":p,v=r.onBlur,b=r.onFocus,S=r.TypographyClasses,k=r.underline,C=void 0===k?"always":k,A=r.variant,F=void 0===A?"inherit":A,D=(0,i.Z)(r,j),N=(0,h.Z)(),P=N.isFocusVisibleRef,M=N.onBlur,W=N.onFocus,z=N.ref,I=c.useState(!1),L=(0,o.Z)(I,2),V=L[0],B=L[1],O=(0,x.Z)(e,z),R=(0,a.Z)({},r,{color:d,component:Z,focusVisible:V,underline:C,variant:F}),E=function(n){var e=n.classes,r=n.component,o=n.focusVisible,t=n.underline,i={root:["root","underline".concat((0,f.Z)(t)),"button"===r&&"button",o&&"focusVisible"]};return(0,u.Z)(i,y,e)}(R);return(0,g.jsx)(w,(0,a.Z)({className:(0,l.Z)(E.root,t),classes:S,color:d,component:Z,onBlur:function(n){M(n),!1===P.current&&B(!1),v&&v(n)},onFocus:function(n){W(n),!0===P.current&&B(!0),b&&b(n)},ref:O,ownerState:R,variant:F},D))}))}}]); +//# sourceMappingURL=1237.cc7c6a14.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1237.f11be969.chunk.js.map b/portal-ui/build/static/js/1237.cc7c6a14.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/1237.f11be969.chunk.js.map rename to portal-ui/build/static/js/1237.cc7c6a14.chunk.js.map index 482dbbc23..d1957b203 100644 --- a/portal-ui/build/static/js/1237.f11be969.chunk.js.map +++ b/portal-ui/build/static/js/1237.cc7c6a14.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/1237.f11be969.chunk.js","mappings":"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","sources":["screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Policies/Policies.tsx","common/Copyright.tsx","screens/NotFoundPage.tsx","../node_modules/@mui/material/Link/linkClasses.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","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n

\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// 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 history from \"../../../history\";\nimport { Route, Router, Switch, withRouter } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport { AppState } from \"../../../store\";\nimport { setMenuOpen } from \"../../../actions\";\nimport NotFoundPage from \"../../NotFoundPage\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nconst ListPolicies = withSuspense(React.lazy(() => import(\"./ListPolicies\")));\nconst PolicyDetails = withSuspense(React.lazy(() => import(\"./PolicyDetails\")));\n\nconst mapState = (state: AppState) => ({\n open: state.system.sidebarOpen,\n});\n\nconst connector = connect(mapState, { setMenuOpen });\n\nconst Policies = () => {\n return (\n \n \n \n \n \n \n \n \n );\n};\n\nexport default withRouter(connector(Policies));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLinkUtilityClass(slot) {\n return generateUtilityClass('MuiLink', slot);\n}\nconst linkClasses = generateUtilityClasses('MuiLink', ['root', 'underlineNone', 'underlineHover', 'underlineAlways', 'button', 'focusVisible']);\nexport default linkClasses;","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\"];\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 { alpha, getPath } from '@mui/system';\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 { jsx as _jsx } from \"react/jsx-runtime\";\nconst colorTransformations = {\n primary: 'primary.main',\n textPrimary: 'text.primary',\n secondary: 'secondary.main',\n textSecondary: 'text.secondary',\n error: 'error.main'\n};\n\nconst transformDeprecatedColors = color => {\n return colorTransformations[color] || color;\n};\n\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};\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 const color = getPath(theme, `palette.${transformDeprecatedColors(ownerState.color)}`) || ownerState.color;\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' && {\n textDecoration: 'underline',\n textDecorationColor: color !== 'inherit' ? alpha(color, 0.4) : undefined,\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\n const {\n className,\n color = 'primary',\n component = 'a',\n onBlur,\n onFocus,\n TypographyClasses,\n underline = 'always',\n variant = 'inherit'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\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\n const handleBlur = event => {\n handleBlurVisible(event);\n\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleFocus = event => {\n handleFocusVisible(event);\n\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const ownerState = _extends({}, props, {\n color,\n component,\n focusVisible,\n underline,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LinkRoot, _extends({\n className: clsx(classes.root, className),\n classes: TypographyClasses,\n color: color,\n component: component,\n onBlur: handleBlur,\n onFocus: handleFocus,\n ref: handlerRef,\n ownerState: ownerState,\n variant: variant\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the link.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .any,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * `classes` prop applied to the [`Typography`](/api/typography/) element.\n */\n TypographyClasses: PropTypes.object,\n\n /**\n * Controls when the link should have an underline.\n * @default 'always'\n */\n underline: PropTypes.oneOf(['always', 'hover', 'none']),\n\n /**\n * Applies the theme typography styles.\n * @default 'inherit'\n */\n variant: PropTypes\n /* @typescript-to-proptypes-ignore */\n .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","withStyles","theme","createStyles","pageContentStyles","classes","className","children","contentSpacer","container","item","xs","ListPolicies","withSuspense","React","PolicyDetails","connector","connect","state","open","system","sidebarOpen","setMenuOpen","withRouter","history","path","IAM_PAGES","exact","component","NotFoundPage","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","_excluded","colorTransformations","primary","textPrimary","secondary","textSecondary","error","LinkRoot","styled","name","overridesResolver","styles","ownerState","root","capitalize","underline","button","getPath","transformDeprecatedColors","_extends","textDecoration","textDecorationColor","alpha","undefined","position","WebkitTapHighlightColor","backgroundColor","outline","border","borderRadius","padding","cursor","userSelect","verticalAlign","MozAppearance","WebkitAppearance","borderStyle","linkClasses","inProps","ref","useThemeProps","onBlur","onFocus","TypographyClasses","other","_objectWithoutPropertiesLoose","useIsFocusVisible","isFocusVisibleRef","handleBlurVisible","handleFocusVisible","focusVisibleRef","focusVisible","setFocusVisible","handlerRef","useForkRef","slots","composeClasses","useUtilityClasses","_jsx","clsx","event","current"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/1237.cc7c6a14.chunk.js","mappings":"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","sources":["screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Policies/Policies.tsx","common/Copyright.tsx","screens/NotFoundPage.tsx","../node_modules/@mui/material/Link/linkClasses.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","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n

\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// 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 history from \"../../../history\";\nimport { Route, Router, Switch, withRouter } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport { AppState } from \"../../../store\";\nimport { setMenuOpen } from \"../../../actions\";\nimport NotFoundPage from \"../../NotFoundPage\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nconst ListPolicies = withSuspense(React.lazy(() => import(\"./ListPolicies\")));\nconst PolicyDetails = withSuspense(React.lazy(() => import(\"./PolicyDetails\")));\n\nconst mapState = (state: AppState) => ({\n open: state.system.sidebarOpen,\n});\n\nconst connector = connect(mapState, { setMenuOpen });\n\nconst Policies = () => {\n return (\n \n \n \n \n \n \n \n \n );\n};\n\nexport default withRouter(connector(Policies));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLinkUtilityClass(slot) {\n return generateUtilityClass('MuiLink', slot);\n}\nconst linkClasses = generateUtilityClasses('MuiLink', ['root', 'underlineNone', 'underlineHover', 'underlineAlways', 'button', 'focusVisible']);\nexport default linkClasses;","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\"];\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 { alpha, getPath } from '@mui/system';\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 { jsx as _jsx } from \"react/jsx-runtime\";\nconst colorTransformations = {\n primary: 'primary.main',\n textPrimary: 'text.primary',\n secondary: 'secondary.main',\n textSecondary: 'text.secondary',\n error: 'error.main'\n};\n\nconst transformDeprecatedColors = color => {\n return colorTransformations[color] || color;\n};\n\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};\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 const color = getPath(theme, `palette.${transformDeprecatedColors(ownerState.color)}`) || ownerState.color;\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' && {\n textDecoration: 'underline',\n textDecorationColor: color !== 'inherit' ? alpha(color, 0.4) : undefined,\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\n const {\n className,\n color = 'primary',\n component = 'a',\n onBlur,\n onFocus,\n TypographyClasses,\n underline = 'always',\n variant = 'inherit'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\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\n const handleBlur = event => {\n handleBlurVisible(event);\n\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleFocus = event => {\n handleFocusVisible(event);\n\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const ownerState = _extends({}, props, {\n color,\n component,\n focusVisible,\n underline,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LinkRoot, _extends({\n className: clsx(classes.root, className),\n classes: TypographyClasses,\n color: color,\n component: component,\n onBlur: handleBlur,\n onFocus: handleFocus,\n ref: handlerRef,\n ownerState: ownerState,\n variant: variant\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the link.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .any,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * `classes` prop applied to the [`Typography`](/api/typography/) element.\n */\n TypographyClasses: PropTypes.object,\n\n /**\n * Controls when the link should have an underline.\n * @default 'always'\n */\n underline: PropTypes.oneOf(['always', 'hover', 'none']),\n\n /**\n * Applies the theme typography styles.\n * @default 'inherit'\n */\n variant: PropTypes\n /* @typescript-to-proptypes-ignore */\n .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","withStyles","theme","createStyles","pageContentStyles","classes","className","children","contentSpacer","container","item","xs","ListPolicies","withSuspense","React","PolicyDetails","connector","connect","state","open","system","sidebarOpen","setMenuOpen","withRouter","history","path","IAM_PAGES","exact","component","NotFoundPage","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","_excluded","colorTransformations","primary","textPrimary","secondary","textSecondary","error","LinkRoot","styled","name","overridesResolver","styles","ownerState","root","capitalize","underline","button","getPath","transformDeprecatedColors","_extends","textDecoration","textDecorationColor","alpha","undefined","position","WebkitTapHighlightColor","backgroundColor","outline","border","borderRadius","padding","cursor","userSelect","verticalAlign","MozAppearance","WebkitAppearance","borderStyle","linkClasses","inProps","ref","useThemeProps","onBlur","onFocus","TypographyClasses","other","_objectWithoutPropertiesLoose","useIsFocusVisible","isFocusVisibleRef","handleBlurVisible","handleFocusVisible","focusVisibleRef","focusVisible","setFocusVisible","handlerRef","useForkRef","slots","composeClasses","useUtilityClasses","_jsx","clsx","event","current"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1237.f11be969.chunk.js b/portal-ui/build/static/js/1237.f11be969.chunk.js deleted file mode 100644 index 9ef6f86b8..000000000 --- a/portal-ui/build/static/js/1237.f11be969.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1237],{37882:function(n,e,r){var o=r(18489),t=r(50390),i=r(62559);e.Z=function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function r(r){return(0,i.jsx)(t.Suspense,{fallback:e,children:(0,i.jsx)(n,(0,o.Z)({},r))})}return r}},25534:function(n,e,r){var o=r(18489),t=(r(50390),r(25594)),i=r(86509),a=r(4285),c=r(72462),l=r(62559);e.Z=(0,a.Z)((function(n){return(0,i.Z)((0,o.Z)({},c.Bw))}))((function(n){var e=n.classes,r=n.className,o=void 0===r?"":r,i=n.children;return(0,l.jsx)("div",{className:e.contentSpacer,children:(0,l.jsx)(t.ZP,{container:!0,children:(0,l.jsx)(t.ZP,{item:!0,xs:12,className:o,children:i})})})}))},31237:function(n,e,r){r.r(e);var o=r(50390),t=r(24442),i=r(70971),a=r(34424),c=r(44149),l=r(36176),u=r(37882),s=r(49495),d=r(62559),f=(0,u.Z)(o.lazy((function(){return Promise.all([r.e(14),r.e(2066),r.e(892),r.e(3690),r.e(5399),r.e(7777),r.e(3967)]).then(r.bind(r,63967))}))),p=(0,u.Z)(o.lazy((function(){return Promise.all([r.e(14),r.e(2066),r.e(892),r.e(3690),r.e(5399),r.e(9998),r.e(8954),r.e(7777),r.e(5677)]).then(r.bind(r,5604))}))),m=(0,a.$j)((function(n){return{open:n.system.sidebarOpen}}),{setMenuOpen:c.gG});e.default=(0,i.EN)(m((function(){return(0,d.jsx)(i.F0,{history:t.Z,children:(0,d.jsxs)(i.rs,{children:[(0,d.jsx)(i.AW,{path:s.gA.POLICIES,exact:!0,component:f}),(0,d.jsx)(i.AW,{path:"".concat(s.gA.POLICIES,"/*"),component:p}),(0,d.jsx)(i.AW,{path:"/",component:f}),(0,d.jsx)(i.AW,{component:l.Z})]})})})))},36176:function(n,e,r){r.d(e,{Z:function(){return u}});r(50390);var o=r(56805),t=r(35477),i=r(10567),a=r(62559);function c(){return(0,a.jsxs)(t.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(25534),u=function(){return(0,a.jsx)(l.Z,{children:(0,a.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",textAlign:"center",margin:"auto",flexFlow:"column"},children:[(0,a.jsx)(o.Z,{sx:{fontSize:"110%",margin:"0 0 0.25rem",color:"#909090"},children:"404 Error"}),(0,a.jsx)(o.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)(o.Z,{mt:5,children:(0,a.jsx)(c,{})})]})})}},10567:function(n,e,r){r.d(e,{Z:function(){return k}});var o=r(23430),t=r(36222),i=r(1048),a=r(32793),c=r(50390),l=r(44977),u=r(50076),s=r(29001),d=r(36128),f=r(91442),p=r(8208),m=r(15573),h=r(42081),x=r(3299),Z=r(35477),v=r(10594);function y(n){return(0,v.Z)("MuiLink",n)}var b=(0,r(43349).Z)("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),g=r(62559),j=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant"],S={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},w=(0,p.ZP)(Z.Z,{name:"MuiLink",slot:"Root",overridesResolver:function(n,e){var r=n.ownerState;return[e.root,e["underline".concat((0,f.Z)(r.underline))],"button"===r.component&&e.button]}})((function(n){var e=n.theme,r=n.ownerState,o=(0,s.D)(e,"palette.".concat(function(n){return S[n]||n}(r.color)))||r.color;return(0,a.Z)({},"none"===r.underline&&{textDecoration:"none"},"hover"===r.underline&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},"always"===r.underline&&{textDecoration:"underline",textDecorationColor:"inherit"!==o?(0,d.Fq)(o,.4):void 0,"&:hover":{textDecorationColor:"inherit"}},"button"===r.component&&(0,t.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"}))})),k=c.forwardRef((function(n,e){var r=(0,m.Z)({props:n,name:"MuiLink"}),t=r.className,s=r.color,d=void 0===s?"primary":s,p=r.component,Z=void 0===p?"a":p,v=r.onBlur,b=r.onFocus,S=r.TypographyClasses,k=r.underline,C=void 0===k?"always":k,A=r.variant,F=void 0===A?"inherit":A,D=(0,i.Z)(r,j),N=(0,h.Z)(),P=N.isFocusVisibleRef,M=N.onBlur,W=N.onFocus,z=N.ref,I=c.useState(!1),L=(0,o.Z)(I,2),V=L[0],B=L[1],O=(0,x.Z)(e,z),R=(0,a.Z)({},r,{color:d,component:Z,focusVisible:V,underline:C,variant:F}),E=function(n){var e=n.classes,r=n.component,o=n.focusVisible,t=n.underline,i={root:["root","underline".concat((0,f.Z)(t)),"button"===r&&"button",o&&"focusVisible"]};return(0,u.Z)(i,y,e)}(R);return(0,g.jsx)(w,(0,a.Z)({className:(0,l.Z)(E.root,t),classes:S,color:d,component:Z,onBlur:function(n){M(n),!1===P.current&&B(!1),v&&v(n)},onFocus:function(n){W(n),!0===P.current&&B(!0),b&&b(n)},ref:O,ownerState:R,variant:F},D))}))}}]); -//# sourceMappingURL=1237.f11be969.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1409.ce8091c2.chunk.js b/portal-ui/build/static/js/1409.a1f80372.chunk.js similarity index 98% rename from portal-ui/build/static/js/1409.ce8091c2.chunk.js rename to portal-ui/build/static/js/1409.a1f80372.chunk.js index c66216c0b..f50de89a5 100644 --- a/portal-ui/build/static/js/1409.ce8091c2.chunk.js +++ b/portal-ui/build/static/js/1409.a1f80372.chunk.js @@ -1,2 +1,2 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1409],{25534:function(e,t,n){"use strict";var a=n(18489),s=(n(50390),n(25594)),r=n(86509),l=n(4285),o=n(72462),i=n(62559);t.Z=(0,l.Z)((function(e){return(0,r.Z)((0,a.Z)({},o.Bw))}))((function(e){var t=e.classes,n=e.className,a=void 0===n?"":n,r=e.children;return(0,i.jsx)("div",{className:t.contentSpacer,children:(0,i.jsx)(s.ZP,{container:!0,children:(0,i.jsx)(s.ZP,{item:!0,xs:12,className:a,children:r})})})}))},35721:function(e,t,n){"use strict";n(50390);var a=n(34424),s=n(25594),r=n(86509),l=n(4285),o=n(35477),i=n(95467),c=n(26805),d=n(44078),u=n(5265),m=n(11387),h=n(62559),f={toggleList:u.kQ},g=(0,a.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),f);t.Z=g((0,l.Z)((function(e){return(0,r.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,a=e.actions,r=e.sidebarOpen,l=e.operatorMode,u=e.managerObjects,f=e.toggleList,g=e.middleComponent;return(0,h.jsxs)(s.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,h.jsxs)(s.ZP,{item:!0,xs:12,sm:12,md:g?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!r&&(0,h.jsx)("div",{className:t.logo,children:l?(0,h.jsx)(c.Z,{}):(0,h.jsx)(d.Z,{})}),(0,h.jsx)(o.Z,{variant:"h4",className:t.labelStyle,children:n})]}),g&&(0,h.jsx)(s.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:g}),(0,h.jsxs)(s.ZP,{item:!0,xs:12,sm:12,md:g?3:6,className:t.rightMenu,children:[a&&a,u&&u.length>0&&(0,h.jsx)(i.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},size:"large",children:(0,h.jsx)(m.gx,{})})]})]})})))},12818:function(e,t,n){"use strict";n.r(t);var a=n(23430),s=n(18489),r=n(50390),l=n(25594),o=n(12066),i=n(66946),c=n(69686),d=n(34424),u=n(97687),m=n(86509),h=n(4285),f=n(28948),g=n(51774),p=n(72462),b=n(17777),x=n(35721),y=n(54950),j=n(60606),v=n.n(j),Z=n(25534),S=n(62559),C=null,w=(0,d.$j)((function(e){return{messages:e.trace.messages,traceStarted:e.trace.traceStarted}}),{traceMessageReceived:u.ho,traceResetMessages:u.At,setTraceStarted:u.qv});t.default=w((0,h.Z)((function(e){return(0,m.Z)((0,s.Z)((0,s.Z)((0,s.Z)((0,s.Z)((0,s.Z)({sizeItem:{width:150},timeItem:{width:100},startButton:{textAlign:"right"}},p.OR),p.qg),p.bp),p.VX),{},{searchField:(0,s.Z)((0,s.Z)({},p.qg.searchField),{},{margin:"0 5px","&:first-of-type":{marginLeft:0},"&:last-of-type":{marginRight:0}}),tableWrapper:{height:"calc(100vh - 292px)"},inlineCheckboxes:(0,s.Z)((0,s.Z)({},p.IX.inlineCheckboxes),{},{alignItems:"center","@media (max-width: 900px)":{flexFlow:"column",alignItems:"flex-start"}}),checkBoxLabel:{marginTop:10,fontSize:16,fontWeight:500},formBox:{border:"1px solid #EAEAEA",padding:15,marginBottom:15},midColumnCheckboxes:{display:"flex"},separatorBar:{fontSize:16,fontWeight:700,paddingTop:19,"@media (max-width: 900px)":{display:"none"}}},(0,p.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=e.traceMessageReceived,s=e.traceResetMessages,d=e.setTraceStarted,u=e.traceStarted,m=e.messages,h=(0,r.useState)(""),p=(0,a.Z)(h,2),j=p[0],w=p[1],k=(0,r.useState)(""),N=(0,a.Z)(k,2),_=N[0],O=N[1],I=(0,r.useState)(""),P=(0,a.Z)(I,2),T=P[0],F=P[1],M=(0,r.useState)(""),B=(0,a.Z)(M,2),E=B[0],L=B[1],z=(0,r.useState)(0),R=(0,a.Z)(z,2),U=R[0],A=R[1],W=(0,r.useState)(!1),D=(0,a.Z)(W,2),K=D[0],H=D[1],Y=(0,r.useState)(!0),q=(0,a.Z)(Y,2),G=q[0],V=q[1],X=(0,r.useState)(!1),$=(0,a.Z)(X,2),J=$[0],Q=$[1],ee=(0,r.useState)(!1),te=(0,a.Z)(ee,2),ne=te[0],ae=te[1],se=(0,r.useState)(!1),re=(0,a.Z)(se,2),le=re[0],oe=re[1],ie=(0,r.useState)(!1),ce=(0,a.Z)(ie,2),de=ce[0],ue=ce[1];return(0,S.jsxs)(r.Fragment,{children:[(0,S.jsx)(x.Z,{label:"Trace"}),(0,S.jsxs)(Z.Z,{children:[(0,S.jsxs)(l.ZP,{xs:12,className:t.formBox,children:[(0,S.jsxs)(l.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,S.jsx)(o.Z,{className:t.searchField,id:"status-code",label:"Status Code",InputProps:{disableUnderline:!0},value:j,onChange:function(e){w(e.target.value)},disabled:u,variant:"standard"}),(0,S.jsx)(o.Z,{className:t.searchField,id:"method",label:"Method",InputProps:{disableUnderline:!0},value:_,onChange:function(e){O(e.target.value)},disabled:u,variant:"standard"}),(0,S.jsx)(o.Z,{label:"Function Name",className:t.searchField,id:"func-name",disabled:u,InputProps:{disableUnderline:!0},value:T,onChange:function(e){F(e.target.value)},variant:"standard"}),(0,S.jsx)(o.Z,{className:t.searchField,id:"path",label:"Path",disabled:u,InputProps:{disableUnderline:!0},value:E,onChange:function(e){L(e.target.value)},variant:"standard"}),(0,S.jsx)(o.Z,{type:"number",className:t.searchField,id:"fthreshold",label:"Response Threshold",disabled:u,InputProps:{disableUnderline:!0},inputProps:{min:0},value:U,onChange:function(e){A(parseInt(e.target.value))},variant:"standard"})]}),(0,S.jsxs)(l.ZP,{item:!0,xs:12,className:t.inlineCheckboxes,children:[(0,S.jsx)("div",{className:t.checkBoxLabel,children:"Calls to trace:"}),(0,S.jsxs)("div",{className:t.midColumnCheckboxes,children:[(0,S.jsx)(y.Z,{checked:K,id:"all_calls",name:"all_calls",label:"All",onChange:function(e){H(e.target.checked)},value:"all",disabled:u}),(0,S.jsx)(y.Z,{checked:G||K,id:"s3_calls",name:"s3_calls",label:"S3",onChange:function(e){V(e.target.checked)},value:"s3",disabled:K||u}),(0,S.jsx)(y.Z,{checked:J||K,id:"internal_calls",name:"internal_calls",label:"Internal",onChange:function(e){Q(e.target.checked)},value:"internal",disabled:K||u}),(0,S.jsx)(y.Z,{checked:ne||K,id:"storage_calls",name:"storage_calls",label:"Storage",onChange:function(e){ae(e.target.checked)},value:"storage",disabled:K||u}),(0,S.jsx)(y.Z,{checked:le||K,id:"os_calls",name:"os_calls",label:"OS",onChange:function(e){oe(e.target.checked)},value:"os",disabled:K||u}),(0,S.jsx)("span",{className:t.separatorBar,children:"\xa0 \xa0 \xa0 | \xa0 \xa0 \xa0"})]}),(0,S.jsx)(y.Z,{checked:de,id:"only_errors",name:"only_errors",label:"Display only Errors",onChange:function(e){ue(e.target.checked)},value:"only_errors",disabled:u})]}),(0,S.jsxs)(l.ZP,{item:!0,xs:12,className:t.startButton,children:[!u&&(0,S.jsx)(i.Z,{type:"submit",variant:"contained",color:"primary",disabled:u,onClick:function(){s();var e=new URL(window.location.toString()),t=e.port,a="".concat(G?"s3,":"").concat(J?"internal,":"").concat(ne?"storage,":"").concat(le?"os,":"");K&&(a="all");var r=(0,g.x2)(e.protocol);C=new c.w3cwebsocket("".concat(r,"://").concat(e.hostname,":").concat(t,"/ws/trace?calls=").concat(a,"&threshold=").concat(U,"&onlyErrors=").concat(de?"yes":"no","&statusCode=").concat(j,"&method=").concat(_,"&funcname=").concat(T,"&path=").concat(E));var l=null;if(null!==C)return C.onopen=function(){console.log("WebSocket Client Connected"),d(!0),C.send("ok"),l=setInterval((function(){C.send("ok")}),1e4)},C.onmessage=function(e){var t=JSON.parse(e.data.toString());t.ptime=v()(t.time,"YYYY-MM-DD HH:mm:s.SSSS +0000 UTC").toDate(),t.key=Math.random(),n(t)},C.onclose=function(){clearInterval(l),console.log("connection closed by server"),d(!1)},function(){C.close(1e3),clearInterval(l),console.log("closing websockets"),d(!1)}},children:"Start"}),u&&(0,S.jsx)(i.Z,{type:"button",variant:"contained",color:"primary",onClick:function(){C.close(1e3),d(!1)},children:"Stop"})]})]}),(0,S.jsx)(l.ZP,{item:!0,xs:12,className:t.tableBlock,children:(0,S.jsx)(b.Z,{itemActions:[],columns:[{label:"Time",elementKey:"ptime",renderFunction:function(e){var t=new Date(e);return(0,f.zk)(t)},globalClass:t.timeItem},{label:"Name",elementKey:"api"},{label:"Status",elementKey:"",renderFunction:function(e){return"".concat(e.statusCode," ").concat(e.statusMsg)},renderFullObject:!0},{label:"Location",elementKey:"configuration_id",renderFunction:function(e){return"".concat(e.host," ").concat(e.client)},renderFullObject:!0},{label:"Load Time",elementKey:"callStats.duration",globalClass:t.timeItem},{label:"Upload",elementKey:"callStats.rx",renderFunction:f.ae,globalClass:t.sizeItem},{label:"Download",elementKey:"callStats.tx",renderFunction:f.ae,globalClass:t.sizeItem}],isLoading:!1,records:m,entityName:"Traces",idField:"api",customEmptyMessage:u?"No Traced elements received yet":"Trace is not started yet",customPaperHeight:t.tableWrapper,autoScrollToBottom:!0})})]})]})})))},51774:function(e,t,n){"use strict";n.d(t,{V9:function(){return a},ci:function(){return s},HE:function(){return r},x2:function(){return l}});var a=1006,s=1008,r=1011,l=function(e){var t="ws";return"https:"===e&&(t="wss"),t}},3930:function(e){var t=function(){if("object"===typeof self&&self)return self;if("object"===typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};e.exports=function(){if(this)return this;if("object"===typeof globalThis&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return t()}try{return __global__||t()}finally{delete Object.prototype.__global__}}()},69686:function(e,t,n){var a;if("object"===typeof globalThis)a=globalThis;else try{a=n(3930)}catch(o){}finally{if(a||"undefined"===typeof window||(a=window),!a)throw new Error("Could not determine global this")}var s=a.WebSocket||a.MozWebSocket,r=n(84994);function l(e,t){return t?new s(e,t):new s(e)}s&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(l,e,{get:function(){return s[e]}})})),e.exports={w3cwebsocket:s?l:null,version:r}},84994:function(e,t,n){e.exports=n(19794).version},83738:function(e,t,n){"use strict";function a(e,t){if(null==e)return{};var n,a,s=function(e,t){if(null==e)return{};var n,a,s={},r=Object.keys(e);for(a=0;a=0||(s[n]=e[n]);return s}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}n.d(t,{Z:function(){return a}})},19794:function(e){"use strict";e.exports={version:"1.0.34"}}}]); -//# sourceMappingURL=1409.ce8091c2.chunk.js.map \ No newline at end of file +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1409],{25534:function(e,t,n){"use strict";var a=n(18489),s=(n(50390),n(25594)),r=n(86509),l=n(4285),o=n(72462),i=n(62559);t.Z=(0,l.Z)((function(e){return(0,r.Z)((0,a.Z)({},o.Bw))}))((function(e){var t=e.classes,n=e.className,a=void 0===n?"":n,r=e.children;return(0,i.jsx)("div",{className:t.contentSpacer,children:(0,i.jsx)(s.ZP,{container:!0,children:(0,i.jsx)(s.ZP,{item:!0,xs:12,className:a,children:r})})})}))},35721:function(e,t,n){"use strict";n(50390);var a=n(34424),s=n(25594),r=n(86509),l=n(4285),o=n(35477),i=n(95467),c=n(26805),d=n(44078),u=n(5265),m=n(98280),h=n(62559),f={toggleList:u.kQ},g=(0,a.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),f);t.Z=g((0,l.Z)((function(e){return(0,r.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,a=e.actions,r=e.sidebarOpen,l=e.operatorMode,u=e.managerObjects,f=e.toggleList,g=e.middleComponent;return(0,h.jsxs)(s.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,h.jsxs)(s.ZP,{item:!0,xs:12,sm:12,md:g?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!r&&(0,h.jsx)("div",{className:t.logo,children:l?(0,h.jsx)(c.Z,{}):(0,h.jsx)(d.Z,{})}),(0,h.jsx)(o.Z,{variant:"h4",className:t.labelStyle,children:n})]}),g&&(0,h.jsx)(s.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:g}),(0,h.jsxs)(s.ZP,{item:!0,xs:12,sm:12,md:g?3:6,className:t.rightMenu,children:[a&&a,u&&u.length>0&&(0,h.jsx)(i.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},size:"large",children:(0,h.jsx)(m.gx,{})})]})]})})))},12818:function(e,t,n){"use strict";n.r(t);var a=n(23430),s=n(18489),r=n(50390),l=n(25594),o=n(12066),i=n(66946),c=n(69686),d=n(34424),u=n(97687),m=n(86509),h=n(4285),f=n(28948),g=n(51774),p=n(72462),b=n(17777),x=n(35721),y=n(54950),j=n(60606),v=n.n(j),Z=n(25534),S=n(62559),C=null,w=(0,d.$j)((function(e){return{messages:e.trace.messages,traceStarted:e.trace.traceStarted}}),{traceMessageReceived:u.ho,traceResetMessages:u.At,setTraceStarted:u.qv});t.default=w((0,h.Z)((function(e){return(0,m.Z)((0,s.Z)((0,s.Z)((0,s.Z)((0,s.Z)((0,s.Z)({sizeItem:{width:150},timeItem:{width:100},startButton:{textAlign:"right"}},p.OR),p.qg),p.bp),p.VX),{},{searchField:(0,s.Z)((0,s.Z)({},p.qg.searchField),{},{margin:"0 5px","&:first-of-type":{marginLeft:0},"&:last-of-type":{marginRight:0}}),tableWrapper:{height:"calc(100vh - 292px)"},inlineCheckboxes:(0,s.Z)((0,s.Z)({},p.IX.inlineCheckboxes),{},{alignItems:"center","@media (max-width: 900px)":{flexFlow:"column",alignItems:"flex-start"}}),checkBoxLabel:{marginTop:10,fontSize:16,fontWeight:500},formBox:{border:"1px solid #EAEAEA",padding:15,marginBottom:15},midColumnCheckboxes:{display:"flex"},separatorBar:{fontSize:16,fontWeight:700,paddingTop:19,"@media (max-width: 900px)":{display:"none"}}},(0,p.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=e.traceMessageReceived,s=e.traceResetMessages,d=e.setTraceStarted,u=e.traceStarted,m=e.messages,h=(0,r.useState)(""),p=(0,a.Z)(h,2),j=p[0],w=p[1],k=(0,r.useState)(""),N=(0,a.Z)(k,2),_=N[0],O=N[1],I=(0,r.useState)(""),P=(0,a.Z)(I,2),T=P[0],F=P[1],M=(0,r.useState)(""),B=(0,a.Z)(M,2),E=B[0],L=B[1],z=(0,r.useState)(0),R=(0,a.Z)(z,2),U=R[0],A=R[1],W=(0,r.useState)(!1),D=(0,a.Z)(W,2),K=D[0],H=D[1],Y=(0,r.useState)(!0),q=(0,a.Z)(Y,2),G=q[0],V=q[1],X=(0,r.useState)(!1),$=(0,a.Z)(X,2),J=$[0],Q=$[1],ee=(0,r.useState)(!1),te=(0,a.Z)(ee,2),ne=te[0],ae=te[1],se=(0,r.useState)(!1),re=(0,a.Z)(se,2),le=re[0],oe=re[1],ie=(0,r.useState)(!1),ce=(0,a.Z)(ie,2),de=ce[0],ue=ce[1];return(0,S.jsxs)(r.Fragment,{children:[(0,S.jsx)(x.Z,{label:"Trace"}),(0,S.jsxs)(Z.Z,{children:[(0,S.jsxs)(l.ZP,{xs:12,className:t.formBox,children:[(0,S.jsxs)(l.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,S.jsx)(o.Z,{className:t.searchField,id:"status-code",label:"Status Code",InputProps:{disableUnderline:!0},value:j,onChange:function(e){w(e.target.value)},disabled:u,variant:"standard"}),(0,S.jsx)(o.Z,{className:t.searchField,id:"method",label:"Method",InputProps:{disableUnderline:!0},value:_,onChange:function(e){O(e.target.value)},disabled:u,variant:"standard"}),(0,S.jsx)(o.Z,{label:"Function Name",className:t.searchField,id:"func-name",disabled:u,InputProps:{disableUnderline:!0},value:T,onChange:function(e){F(e.target.value)},variant:"standard"}),(0,S.jsx)(o.Z,{className:t.searchField,id:"path",label:"Path",disabled:u,InputProps:{disableUnderline:!0},value:E,onChange:function(e){L(e.target.value)},variant:"standard"}),(0,S.jsx)(o.Z,{type:"number",className:t.searchField,id:"fthreshold",label:"Response Threshold",disabled:u,InputProps:{disableUnderline:!0},inputProps:{min:0},value:U,onChange:function(e){A(parseInt(e.target.value))},variant:"standard"})]}),(0,S.jsxs)(l.ZP,{item:!0,xs:12,className:t.inlineCheckboxes,children:[(0,S.jsx)("div",{className:t.checkBoxLabel,children:"Calls to trace:"}),(0,S.jsxs)("div",{className:t.midColumnCheckboxes,children:[(0,S.jsx)(y.Z,{checked:K,id:"all_calls",name:"all_calls",label:"All",onChange:function(e){H(e.target.checked)},value:"all",disabled:u}),(0,S.jsx)(y.Z,{checked:G||K,id:"s3_calls",name:"s3_calls",label:"S3",onChange:function(e){V(e.target.checked)},value:"s3",disabled:K||u}),(0,S.jsx)(y.Z,{checked:J||K,id:"internal_calls",name:"internal_calls",label:"Internal",onChange:function(e){Q(e.target.checked)},value:"internal",disabled:K||u}),(0,S.jsx)(y.Z,{checked:ne||K,id:"storage_calls",name:"storage_calls",label:"Storage",onChange:function(e){ae(e.target.checked)},value:"storage",disabled:K||u}),(0,S.jsx)(y.Z,{checked:le||K,id:"os_calls",name:"os_calls",label:"OS",onChange:function(e){oe(e.target.checked)},value:"os",disabled:K||u}),(0,S.jsx)("span",{className:t.separatorBar,children:"\xa0 \xa0 \xa0 | \xa0 \xa0 \xa0"})]}),(0,S.jsx)(y.Z,{checked:de,id:"only_errors",name:"only_errors",label:"Display only Errors",onChange:function(e){ue(e.target.checked)},value:"only_errors",disabled:u})]}),(0,S.jsxs)(l.ZP,{item:!0,xs:12,className:t.startButton,children:[!u&&(0,S.jsx)(i.Z,{type:"submit",variant:"contained",color:"primary",disabled:u,onClick:function(){s();var e=new URL(window.location.toString()),t=e.port,a="".concat(G?"s3,":"").concat(J?"internal,":"").concat(ne?"storage,":"").concat(le?"os,":"");K&&(a="all");var r=(0,g.x2)(e.protocol);C=new c.w3cwebsocket("".concat(r,"://").concat(e.hostname,":").concat(t,"/ws/trace?calls=").concat(a,"&threshold=").concat(U,"&onlyErrors=").concat(de?"yes":"no","&statusCode=").concat(j,"&method=").concat(_,"&funcname=").concat(T,"&path=").concat(E));var l=null;if(null!==C)return C.onopen=function(){console.log("WebSocket Client Connected"),d(!0),C.send("ok"),l=setInterval((function(){C.send("ok")}),1e4)},C.onmessage=function(e){var t=JSON.parse(e.data.toString());t.ptime=v()(t.time,"YYYY-MM-DD HH:mm:s.SSSS +0000 UTC").toDate(),t.key=Math.random(),n(t)},C.onclose=function(){clearInterval(l),console.log("connection closed by server"),d(!1)},function(){C.close(1e3),clearInterval(l),console.log("closing websockets"),d(!1)}},children:"Start"}),u&&(0,S.jsx)(i.Z,{type:"button",variant:"contained",color:"primary",onClick:function(){C.close(1e3),d(!1)},children:"Stop"})]})]}),(0,S.jsx)(l.ZP,{item:!0,xs:12,className:t.tableBlock,children:(0,S.jsx)(b.Z,{itemActions:[],columns:[{label:"Time",elementKey:"ptime",renderFunction:function(e){var t=new Date(e);return(0,f.zk)(t)},globalClass:t.timeItem},{label:"Name",elementKey:"api"},{label:"Status",elementKey:"",renderFunction:function(e){return"".concat(e.statusCode," ").concat(e.statusMsg)},renderFullObject:!0},{label:"Location",elementKey:"configuration_id",renderFunction:function(e){return"".concat(e.host," ").concat(e.client)},renderFullObject:!0},{label:"Load Time",elementKey:"callStats.duration",globalClass:t.timeItem},{label:"Upload",elementKey:"callStats.rx",renderFunction:f.ae,globalClass:t.sizeItem},{label:"Download",elementKey:"callStats.tx",renderFunction:f.ae,globalClass:t.sizeItem}],isLoading:!1,records:m,entityName:"Traces",idField:"api",customEmptyMessage:u?"No Traced elements received yet":"Trace is not started yet",customPaperHeight:t.tableWrapper,autoScrollToBottom:!0})})]})]})})))},51774:function(e,t,n){"use strict";n.d(t,{V9:function(){return a},ci:function(){return s},HE:function(){return r},x2:function(){return l}});var a=1006,s=1008,r=1011,l=function(e){var t="ws";return"https:"===e&&(t="wss"),t}},3930:function(e){var t=function(){if("object"===typeof self&&self)return self;if("object"===typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};e.exports=function(){if(this)return this;if("object"===typeof globalThis&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return t()}try{return __global__||t()}finally{delete Object.prototype.__global__}}()},69686:function(e,t,n){var a;if("object"===typeof globalThis)a=globalThis;else try{a=n(3930)}catch(o){}finally{if(a||"undefined"===typeof window||(a=window),!a)throw new Error("Could not determine global this")}var s=a.WebSocket||a.MozWebSocket,r=n(84994);function l(e,t){return t?new s(e,t):new s(e)}s&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(l,e,{get:function(){return s[e]}})})),e.exports={w3cwebsocket:s?l:null,version:r}},84994:function(e,t,n){e.exports=n(19794).version},83738:function(e,t,n){"use strict";function a(e,t){if(null==e)return{};var n,a,s=function(e,t){if(null==e)return{};var n,a,s={},r=Object.keys(e);for(a=0;a=0||(s[n]=e[n]);return s}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}n.d(t,{Z:function(){return a}})},19794:function(e){"use strict";e.exports={version:"1.0.34"}}}]); +//# sourceMappingURL=1409.a1f80372.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1409.ce8091c2.chunk.js.map b/portal-ui/build/static/js/1409.a1f80372.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/1409.ce8091c2.chunk.js.map rename to portal-ui/build/static/js/1409.a1f80372.chunk.js.map index 773229a5a..af14cbca8 100644 --- a/portal-ui/build/static/js/1409.ce8091c2.chunk.js.map +++ b/portal-ui/build/static/js/1409.a1f80372.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/1409.ce8091c2.chunk.js","mappings":"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","sources":["screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Trace/Trace.tsx","utils/wsUtils.ts","../node_modules/es5-ext/global.js","../node_modules/websocket/lib/browser.js","../node_modules/websocket/lib/version.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { Button, Grid, TextField } from \"@mui/material\";\nimport { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport { AppState } from \"../../../store\";\nimport { connect } from \"react-redux\";\nimport {\n setTraceStarted,\n traceMessageReceived,\n traceResetMessages,\n} from \"./actions\";\nimport { TraceMessage } from \"./types\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { niceBytes, timeFromDate } from \"../../../common/utils\";\nimport { wsProtocol } from \"../../../utils/wsUtils\";\nimport {\n actionsTray,\n containerForHeader,\n hrClass,\n inlineCheckboxes,\n searchField,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport CheckboxWrapper from \"../Common/FormComponents/CheckboxWrapper/CheckboxWrapper\";\nimport moment from \"moment/moment\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n sizeItem: {\n width: 150,\n },\n timeItem: {\n width: 100,\n },\n startButton: {\n textAlign: \"right\",\n },\n ...actionsTray,\n ...searchField,\n ...hrClass,\n\n ...tableStyles,\n searchField: {\n ...searchField.searchField,\n margin: \"0 5px\",\n \"&:first-of-type\": {\n marginLeft: 0,\n },\n \"&:last-of-type\": {\n marginRight: 0,\n },\n },\n tableWrapper: {\n height: \"calc(100vh - 292px)\",\n },\n inlineCheckboxes: {\n ...inlineCheckboxes.inlineCheckboxes,\n alignItems: \"center\",\n\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n },\n },\n checkBoxLabel: {\n marginTop: 10,\n fontSize: 16,\n fontWeight: 500,\n },\n formBox: {\n border: \"1px solid #EAEAEA\",\n padding: 15,\n marginBottom: 15,\n },\n midColumnCheckboxes: {\n display: \"flex\",\n },\n separatorBar: {\n fontSize: 16,\n fontWeight: 700,\n paddingTop: 19,\n \"@media (max-width: 900px)\": {\n display: \"none\",\n },\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface ITrace {\n classes: any;\n traceMessageReceived: typeof traceMessageReceived;\n traceResetMessages: typeof traceResetMessages;\n setTraceStarted: typeof setTraceStarted;\n messages: TraceMessage[];\n namespace: string;\n tenant: string;\n traceStarted: boolean;\n}\n\nvar c: any = null;\n\nconst Trace = ({\n classes,\n traceMessageReceived,\n traceResetMessages,\n setTraceStarted,\n traceStarted,\n messages,\n}: ITrace) => {\n const [statusCode, setStatusCode] = useState(\"\");\n const [method, setMethod] = useState(\"\");\n const [func, setFunc] = useState(\"\");\n const [path, setPath] = useState(\"\");\n const [threshold, setThreshold] = useState(0);\n const [all, setAll] = useState(false);\n const [s3, setS3] = useState(true);\n const [internal, setInternal] = useState(false);\n const [storage, setStorage] = useState(false);\n const [os, setOS] = useState(false);\n const [errors, setErrors] = useState(false);\n\n const startTrace = () => {\n traceResetMessages();\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 let calls = `${s3 ? \"s3,\" : \"\"}${internal ? \"internal,\" : \"\"}${\n storage ? \"storage,\" : \"\"\n }${os ? \"os,\" : \"\"}`;\n\n if (all) {\n calls = \"all\";\n }\n\n const wsProt = wsProtocol(url.protocol);\n c = new W3CWebSocket(\n `${wsProt}://${\n url.hostname\n }:${port}/ws/trace?calls=${calls}&threshold=${threshold}&onlyErrors=${\n errors ? \"yes\" : \"no\"\n }&statusCode=${statusCode}&method=${method}&funcname=${func}&path=${path}`\n );\n\n let interval: any | null = null;\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n setTraceStarted(true);\n c.send(\"ok\");\n interval = setInterval(() => {\n c.send(\"ok\");\n }, 10 * 1000);\n };\n c.onmessage = (message: IMessageEvent) => {\n let m: TraceMessage = JSON.parse(message.data.toString());\n m.ptime = moment(m.time, \"YYYY-MM-DD HH:mm:s.SSSS +0000 UTC\").toDate();\n m.key = Math.random();\n traceMessageReceived(m);\n };\n c.onclose = () => {\n clearInterval(interval);\n console.log(\"connection closed by server\");\n setTraceStarted(false);\n };\n return () => {\n c.close(1000);\n clearInterval(interval);\n console.log(\"closing websockets\");\n setTraceStarted(false);\n };\n }\n };\n\n const stopTrace = () => {\n c.close(1000);\n setTraceStarted(false);\n };\n\n return (\n \n \n \n \n \n {\n setStatusCode(e.target.value);\n }}\n disabled={traceStarted}\n variant=\"standard\"\n />\n {\n setMethod(e.target.value);\n }}\n disabled={traceStarted}\n variant=\"standard\"\n />\n {\n setFunc(e.target.value);\n }}\n variant=\"standard\"\n />\n {\n setPath(e.target.value);\n }}\n variant=\"standard\"\n />\n {\n setThreshold(parseInt(e.target.value));\n }}\n variant=\"standard\"\n />\n \n \n
Calls to trace:
\n
\n {\n setAll(item.target.checked);\n }}\n value={\"all\"}\n disabled={traceStarted}\n />\n {\n setS3(item.target.checked);\n }}\n value={\"s3\"}\n disabled={all || traceStarted}\n />\n {\n setInternal(item.target.checked);\n }}\n value={\"internal\"}\n disabled={all || traceStarted}\n />\n {\n setStorage(item.target.checked);\n }}\n value={\"storage\"}\n disabled={all || traceStarted}\n />\n {\n setOS(item.target.checked);\n }}\n value={\"os\"}\n disabled={all || traceStarted}\n />\n \n       |      \n \n
\n {\n setErrors(item.target.checked);\n }}\n value={\"only_errors\"}\n disabled={traceStarted}\n />\n
\n \n {!traceStarted && (\n \n Start\n \n )}\n {traceStarted && (\n \n Stop\n \n )}\n \n
\n\n \n {\n const timeParse = new Date(time);\n return timeFromDate(timeParse);\n },\n globalClass: classes.timeItem,\n },\n { label: \"Name\", elementKey: \"api\" },\n {\n label: \"Status\",\n elementKey: \"\",\n renderFunction: (fullElement: TraceMessage) =>\n `${fullElement.statusCode} ${fullElement.statusMsg}`,\n renderFullObject: true,\n },\n {\n label: \"Location\",\n elementKey: \"configuration_id\",\n renderFunction: (fullElement: TraceMessage) =>\n `${fullElement.host} ${fullElement.client}`,\n renderFullObject: true,\n },\n {\n label: \"Load Time\",\n elementKey: \"callStats.duration\",\n globalClass: classes.timeItem,\n },\n {\n label: \"Upload\",\n elementKey: \"callStats.rx\",\n renderFunction: niceBytes,\n globalClass: classes.sizeItem,\n },\n {\n label: \"Download\",\n elementKey: \"callStats.tx\",\n renderFunction: niceBytes,\n globalClass: classes.sizeItem,\n },\n ]}\n isLoading={false}\n records={messages}\n entityName=\"Traces\"\n idField=\"api\"\n customEmptyMessage={\n traceStarted\n ? \"No Traced elements received yet\"\n : \"Trace is not started yet\"\n }\n customPaperHeight={classes.tableWrapper}\n autoScrollToBottom\n />\n \n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n messages: state.trace.messages,\n traceStarted: state.trace.traceStarted,\n});\n\nconst connector = connect(mapState, {\n traceMessageReceived: traceMessageReceived,\n traceResetMessages: traceResetMessages,\n setTraceStarted,\n});\n\nexport default connector(withStyles(styles)(Trace));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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","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","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","pageContentStyles","classes","className","children","contentSpacer","container","item","xs","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","width","minHeight","display","backgroundColor","left","boxShadow","label","justifyContent","alignItems","labelStyle","color","fontSize","fontWeight","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","actions","direction","sm","md","sx","paddingTop","variant","length","component","onClick","size","c","messages","trace","traceStarted","traceMessageReceived","traceResetMessages","setTraceStarted","sizeItem","timeItem","startButton","actionsTray","searchField","hrClass","tableStyles","margin","marginRight","tableWrapper","height","inlineCheckboxes","flexFlow","checkBoxLabel","formBox","border","padding","marginBottom","midColumnCheckboxes","separatorBar","containerForHeader","spacing","useState","statusCode","setStatusCode","method","setMethod","func","setFunc","path","setPath","threshold","setThreshold","all","setAll","s3","setS3","internal","setInternal","storage","setStorage","os","setOS","errors","setErrors","Fragment","id","InputProps","disableUnderline","value","onChange","e","target","disabled","type","inputProps","min","parseInt","checked","name","url","URL","window","location","toString","port","calls","wsProt","wsProtocol","protocol","W3CWebSocket","hostname","interval","onopen","console","log","send","setInterval","onmessage","message","m","JSON","parse","data","ptime","moment","time","toDate","key","Math","random","onclose","clearInterval","close","tableBlock","itemActions","columns","elementKey","renderFunction","timeParse","Date","timeFromDate","globalClass","fullElement","statusMsg","renderFullObject","host","client","niceBytes","isLoading","records","entityName","idField","customEmptyMessage","customPaperHeight","autoScrollToBottom","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr","naiveFallback","self","Error","module","exports","this","globalThis","Object","defineProperty","prototype","get","configurable","error","__global__","_globalThis","require","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","uri","protocols","forEach","prop","_objectWithoutProperties","source","excluded","i","sourceKeys","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/1409.a1f80372.chunk.js","mappings":"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","sources":["screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Trace/Trace.tsx","utils/wsUtils.ts","../node_modules/es5-ext/global.js","../node_modules/websocket/lib/browser.js","../node_modules/websocket/lib/version.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { Button, Grid, TextField } from \"@mui/material\";\nimport { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport { AppState } from \"../../../store\";\nimport { connect } from \"react-redux\";\nimport {\n setTraceStarted,\n traceMessageReceived,\n traceResetMessages,\n} from \"./actions\";\nimport { TraceMessage } from \"./types\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { niceBytes, timeFromDate } from \"../../../common/utils\";\nimport { wsProtocol } from \"../../../utils/wsUtils\";\nimport {\n actionsTray,\n containerForHeader,\n hrClass,\n inlineCheckboxes,\n searchField,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport CheckboxWrapper from \"../Common/FormComponents/CheckboxWrapper/CheckboxWrapper\";\nimport moment from \"moment/moment\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n sizeItem: {\n width: 150,\n },\n timeItem: {\n width: 100,\n },\n startButton: {\n textAlign: \"right\",\n },\n ...actionsTray,\n ...searchField,\n ...hrClass,\n\n ...tableStyles,\n searchField: {\n ...searchField.searchField,\n margin: \"0 5px\",\n \"&:first-of-type\": {\n marginLeft: 0,\n },\n \"&:last-of-type\": {\n marginRight: 0,\n },\n },\n tableWrapper: {\n height: \"calc(100vh - 292px)\",\n },\n inlineCheckboxes: {\n ...inlineCheckboxes.inlineCheckboxes,\n alignItems: \"center\",\n\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n },\n },\n checkBoxLabel: {\n marginTop: 10,\n fontSize: 16,\n fontWeight: 500,\n },\n formBox: {\n border: \"1px solid #EAEAEA\",\n padding: 15,\n marginBottom: 15,\n },\n midColumnCheckboxes: {\n display: \"flex\",\n },\n separatorBar: {\n fontSize: 16,\n fontWeight: 700,\n paddingTop: 19,\n \"@media (max-width: 900px)\": {\n display: \"none\",\n },\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface ITrace {\n classes: any;\n traceMessageReceived: typeof traceMessageReceived;\n traceResetMessages: typeof traceResetMessages;\n setTraceStarted: typeof setTraceStarted;\n messages: TraceMessage[];\n namespace: string;\n tenant: string;\n traceStarted: boolean;\n}\n\nvar c: any = null;\n\nconst Trace = ({\n classes,\n traceMessageReceived,\n traceResetMessages,\n setTraceStarted,\n traceStarted,\n messages,\n}: ITrace) => {\n const [statusCode, setStatusCode] = useState(\"\");\n const [method, setMethod] = useState(\"\");\n const [func, setFunc] = useState(\"\");\n const [path, setPath] = useState(\"\");\n const [threshold, setThreshold] = useState(0);\n const [all, setAll] = useState(false);\n const [s3, setS3] = useState(true);\n const [internal, setInternal] = useState(false);\n const [storage, setStorage] = useState(false);\n const [os, setOS] = useState(false);\n const [errors, setErrors] = useState(false);\n\n const startTrace = () => {\n traceResetMessages();\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 let calls = `${s3 ? \"s3,\" : \"\"}${internal ? \"internal,\" : \"\"}${\n storage ? \"storage,\" : \"\"\n }${os ? \"os,\" : \"\"}`;\n\n if (all) {\n calls = \"all\";\n }\n\n const wsProt = wsProtocol(url.protocol);\n c = new W3CWebSocket(\n `${wsProt}://${\n url.hostname\n }:${port}/ws/trace?calls=${calls}&threshold=${threshold}&onlyErrors=${\n errors ? \"yes\" : \"no\"\n }&statusCode=${statusCode}&method=${method}&funcname=${func}&path=${path}`\n );\n\n let interval: any | null = null;\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n setTraceStarted(true);\n c.send(\"ok\");\n interval = setInterval(() => {\n c.send(\"ok\");\n }, 10 * 1000);\n };\n c.onmessage = (message: IMessageEvent) => {\n let m: TraceMessage = JSON.parse(message.data.toString());\n m.ptime = moment(m.time, \"YYYY-MM-DD HH:mm:s.SSSS +0000 UTC\").toDate();\n m.key = Math.random();\n traceMessageReceived(m);\n };\n c.onclose = () => {\n clearInterval(interval);\n console.log(\"connection closed by server\");\n setTraceStarted(false);\n };\n return () => {\n c.close(1000);\n clearInterval(interval);\n console.log(\"closing websockets\");\n setTraceStarted(false);\n };\n }\n };\n\n const stopTrace = () => {\n c.close(1000);\n setTraceStarted(false);\n };\n\n return (\n \n \n \n \n \n {\n setStatusCode(e.target.value);\n }}\n disabled={traceStarted}\n variant=\"standard\"\n />\n {\n setMethod(e.target.value);\n }}\n disabled={traceStarted}\n variant=\"standard\"\n />\n {\n setFunc(e.target.value);\n }}\n variant=\"standard\"\n />\n {\n setPath(e.target.value);\n }}\n variant=\"standard\"\n />\n {\n setThreshold(parseInt(e.target.value));\n }}\n variant=\"standard\"\n />\n \n \n
Calls to trace:
\n
\n {\n setAll(item.target.checked);\n }}\n value={\"all\"}\n disabled={traceStarted}\n />\n {\n setS3(item.target.checked);\n }}\n value={\"s3\"}\n disabled={all || traceStarted}\n />\n {\n setInternal(item.target.checked);\n }}\n value={\"internal\"}\n disabled={all || traceStarted}\n />\n {\n setStorage(item.target.checked);\n }}\n value={\"storage\"}\n disabled={all || traceStarted}\n />\n {\n setOS(item.target.checked);\n }}\n value={\"os\"}\n disabled={all || traceStarted}\n />\n \n       |      \n \n
\n {\n setErrors(item.target.checked);\n }}\n value={\"only_errors\"}\n disabled={traceStarted}\n />\n
\n \n {!traceStarted && (\n \n Start\n \n )}\n {traceStarted && (\n \n Stop\n \n )}\n \n
\n\n \n {\n const timeParse = new Date(time);\n return timeFromDate(timeParse);\n },\n globalClass: classes.timeItem,\n },\n { label: \"Name\", elementKey: \"api\" },\n {\n label: \"Status\",\n elementKey: \"\",\n renderFunction: (fullElement: TraceMessage) =>\n `${fullElement.statusCode} ${fullElement.statusMsg}`,\n renderFullObject: true,\n },\n {\n label: \"Location\",\n elementKey: \"configuration_id\",\n renderFunction: (fullElement: TraceMessage) =>\n `${fullElement.host} ${fullElement.client}`,\n renderFullObject: true,\n },\n {\n label: \"Load Time\",\n elementKey: \"callStats.duration\",\n globalClass: classes.timeItem,\n },\n {\n label: \"Upload\",\n elementKey: \"callStats.rx\",\n renderFunction: niceBytes,\n globalClass: classes.sizeItem,\n },\n {\n label: \"Download\",\n elementKey: \"callStats.tx\",\n renderFunction: niceBytes,\n globalClass: classes.sizeItem,\n },\n ]}\n isLoading={false}\n records={messages}\n entityName=\"Traces\"\n idField=\"api\"\n customEmptyMessage={\n traceStarted\n ? \"No Traced elements received yet\"\n : \"Trace is not started yet\"\n }\n customPaperHeight={classes.tableWrapper}\n autoScrollToBottom\n />\n \n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n messages: state.trace.messages,\n traceStarted: state.trace.traceStarted,\n});\n\nconst connector = connect(mapState, {\n traceMessageReceived: traceMessageReceived,\n traceResetMessages: traceResetMessages,\n setTraceStarted,\n});\n\nexport default connector(withStyles(styles)(Trace));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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","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","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","pageContentStyles","classes","className","children","contentSpacer","container","item","xs","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","width","minHeight","display","backgroundColor","left","boxShadow","label","justifyContent","alignItems","labelStyle","color","fontSize","fontWeight","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","actions","direction","sm","md","sx","paddingTop","variant","length","component","onClick","size","c","messages","trace","traceStarted","traceMessageReceived","traceResetMessages","setTraceStarted","sizeItem","timeItem","startButton","actionsTray","searchField","hrClass","tableStyles","margin","marginRight","tableWrapper","height","inlineCheckboxes","flexFlow","checkBoxLabel","formBox","border","padding","marginBottom","midColumnCheckboxes","separatorBar","containerForHeader","spacing","useState","statusCode","setStatusCode","method","setMethod","func","setFunc","path","setPath","threshold","setThreshold","all","setAll","s3","setS3","internal","setInternal","storage","setStorage","os","setOS","errors","setErrors","Fragment","id","InputProps","disableUnderline","value","onChange","e","target","disabled","type","inputProps","min","parseInt","checked","name","url","URL","window","location","toString","port","calls","wsProt","wsProtocol","protocol","W3CWebSocket","hostname","interval","onopen","console","log","send","setInterval","onmessage","message","m","JSON","parse","data","ptime","moment","time","toDate","key","Math","random","onclose","clearInterval","close","tableBlock","itemActions","columns","elementKey","renderFunction","timeParse","Date","timeFromDate","globalClass","fullElement","statusMsg","renderFullObject","host","client","niceBytes","isLoading","records","entityName","idField","customEmptyMessage","customPaperHeight","autoScrollToBottom","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr","naiveFallback","self","Error","module","exports","this","globalThis","Object","defineProperty","prototype","get","configurable","error","__global__","_globalThis","require","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","uri","protocols","forEach","prop","_objectWithoutProperties","source","excluded","i","sourceKeys","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/165.6ba70895.chunk.js b/portal-ui/build/static/js/165.6ba70895.chunk.js deleted file mode 100644 index 70cd8be9e..000000000 --- a/portal-ui/build/static/js/165.6ba70895.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[165],{70014:function(e,n,o){var t=o(35531),r=o(23430),a=o(18489),i=o(50390),l=o(25594),s=(o(2574),o(20704)),c=o(54880),d=o(21563),u=o(36297),m=o(14602),f=o(94187),p=o(56805),x=o(86509),h=o(4285),g=o(97538),b=o(72462),v=o(11387),Z=o(53224),j=o(33034),C=o.n(j),y=o(53357),k=o(62559),S={json:d.AV,yaml:function(){return c.i.define(u.r)}},N=y.tk.theme({"&":{backgroundColor:"#FBFAFA"},".cm-content":{caretColor:"#05122B"},"&.cm-focused .cm-cursor":{borderLeftColor:"#05122B"},".cm-gutters":{backgroundColor:"#FBFAFA",color:"#000000",border:"none"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px",color:"#2781B0","& .\u037cc":{color:"#C83B51"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#dde1f1"},".cm-matchingBracket":{backgroundColor:"#05122B",color:"#ffffff"},".cm-selectionMatch":{backgroundColor:"#ebe7f1"},".cm-selectionLayer":{fontWeight:500}," .cm-selectionBackground":{backgroundColor:"#a180c7",color:"#ffffff"}},{dark:!1}),B=y.tk.theme({"&":{backgroundColor:"#282a36",color:"#ffb86c"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px","& .\u037cd, & .\u037cc":{color:"#8e6cef"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#44475a"},".cm-matchingBracket":{backgroundColor:"#842de5",color:"#ff79c6"},".cm-selectionLayer .cm-selectionBackground":{backgroundColor:"green"}},{dark:!0});n.Z=(0,h.Z)((function(e){return(0,x.Z)((0,a.Z)((0,a.Z)({},b.YI),{},{inputLabel:(0,a.Z)((0,a.Z)({},b.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.value,o=e.label,a=void 0===o?"":o,c=e.tooltip,d=void 0===c?"":c,u=e.mode,x=void 0===u?"json":u,h=e.classes,b=e.onBeforeChange,j=e.readOnly,y=void 0!==j&&j,M=e.editorHeight,E=void 0===M?"250px":M,L=(0,i.useState)(!1),w=(0,r.Z)(L,2),I=w[0],P=w[1],F=[];return S[x]&&(F=[].concat((0,t.Z)(F),[S[x]()])),(0,k.jsxs)(i.Fragment,{children:[(0,k.jsxs)(m.Z,{className:h.inputLabel,children:[(0,k.jsx)("span",{children:a}),""!==d&&(0,k.jsx)("div",{className:h.tooltipContainer,children:(0,k.jsx)(f.Z,{title:d,placement:"top-start",children:(0,k.jsx)("div",{className:h.tooltip,children:(0,k.jsx)(g.Z,{})})})})]}),(0,k.jsx)(l.ZP,{item:!0,xs:12,children:(0,k.jsx)("br",{})}),(0,k.jsxs)(l.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea"},children:[(0,k.jsx)(l.ZP,{item:!0,xs:12,children:(0,k.jsx)(s.ZP,{value:n,theme:I?B:N,extensions:F,editable:!y,basicSetup:!0,height:E,onChange:function(e,n){b(null,null,e)}})}),(0,k.jsx)(l.ZP,{item:!0,xs:12,sx:{borderTop:"1px solid #eaeaea",background:I?"#282c34":"#f7f7f7"},children:(0,k.jsxs)(p.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,k.jsx)(Z.Z,{tooltip:"Change theme",onClick:function(){P(!I)},text:"",icon:(0,k.jsx)(v.EO,{}),color:"primary",variant:"outlined"}),(0,k.jsx)(C(),{text:n,children:(0,k.jsx)(Z.Z,{tooltip:"Copy to Clipboard",onClick:function(){},text:"",icon:(0,k.jsx)(v.TI,{}),color:"primary",variant:"outlined"})})]})})]})]})}))},66964:function(e,n,o){var t=o(18489),r=o(50390),a=o(12066),i=o(25594),l=o(14602),s=o(94187),c=o(95467),d=o(86509),u=o(62449),m=o(4285),f=o(72462),p=o(97538),x=o(44977),h=o(62559),g=(0,u.Z)((function(e){return(0,d.Z)((0,t.Z)({},f.gM))}));function b(e){var n=g();return(0,h.jsx)(a.Z,(0,t.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},f.YI),f.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},f.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,o=e.onChange,a=e.value,d=e.id,u=e.name,m=e.type,f=void 0===m?"text":m,g=e.autoComplete,v=void 0===g?"off":g,Z=e.disabled,j=void 0!==Z&&Z,C=e.multiline,y=void 0!==C&&C,k=e.tooltip,S=void 0===k?"":k,N=e.index,B=void 0===N?0:N,M=e.error,E=void 0===M?"":M,L=e.required,w=void 0!==L&&L,I=e.placeholder,P=void 0===I?"":I,F=e.min,z=e.max,A=e.overlayIcon,D=void 0===A?null:A,O=e.overlayObject,W=void 0===O?null:O,R=e.extraInputProps,T=void 0===R?{}:R,H=e.overlayAction,Y=e.noLabelMinWidth,G=void 0!==Y&&Y,$=e.pattern,J=void 0===$?"":$,K=e.autoFocus,V=void 0!==K&&K,_=e.classes,q=e.className,Q=void 0===q?"":q,X=(0,t.Z)({"data-index":B},T);return"number"===f&&F&&(X.min=F),"number"===f&&z&&(X.max=z),""!==J&&(X.pattern=J),(0,h.jsx)(r.Fragment,{children:(0,h.jsxs)(i.ZP,{container:!0,className:(0,x.Z)(""!==Q?Q:"",""!==E?_.errorInField:_.inputBoxContainer),children:[""!==n&&(0,h.jsxs)(l.Z,{htmlFor:d,className:G?_.noMinWidthLabel:_.inputLabel,children:[(0,h.jsxs)("span",{children:[n,w?"*":""]}),""!==S&&(0,h.jsx)("div",{className:_.tooltipContainer,children:(0,h.jsx)(s.Z,{title:S,placement:"top-start",children:(0,h.jsx)("div",{className:_.tooltip,children:(0,h.jsx)(p.Z,{})})})})]}),(0,h.jsxs)("div",{className:_.textBoxContainer,children:[(0,h.jsx)(b,{id:d,name:u,fullWidth:!0,value:a,autoFocus:V,disabled:j,onChange:o,type:f,multiline:y,autoComplete:v,inputProps:X,error:""!==E,helperText:E,placeholder:P,className:_.inputRebase}),D&&(0,h.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,h.jsx)(c.Z,{onClick:H?function(){H()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:D})}),W&&(0,h.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==n?"withLabel":""),children:W})]})]})})}))},76352:function(e,n,o){o.d(n,{Z:function(){return B}});var t,r=o(23430),a=o(18489),i=o(50390),l=o(34424),s=o(95467),c=o(97771),d=o(84402),u=o(78426),m=o(93085),f=o(86509),p=o(4285),x=o(72462),h=o(44149),g=o(38342),b=o.n(g),v=o(92125),Z=o(19538),j=o(21278),C=o(62559),y=function(){clearInterval(t)},k={displayErrorMessage:h.zb},S=(0,l.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),k)((0,p.Z)((function(e){return(0,f.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var n=e.classes,o=e.modalSnackMessage,a=e.displayErrorMessage,l=e.customStyle,s=(0,i.useState)(!1),c=(0,r.Z)(s,2),d=c[0],u=c[1],m=(0,i.useState)(!1),f=(0,r.Z)(m,2),p=f[0],x=f[1],h=(0,i.useCallback)((function(){x(!1)}),[]);(0,i.useEffect)((function(){p||(a({detailedError:"",errorMessage:""}),u(!1))}),[a,p]),(0,i.useEffect)((function(){""!==o.message&&"error"===o.type&&x(!0)}),[h,o.message,o.type]);var g=b()(o,"message",""),k=b()(o,"detailedErrorMsg","");return"error"!==o.type||""===g?null:(0,C.jsx)(i.Fragment,{children:(0,C.jsxs)("div",{className:"".concat(n.modalErrorContainer," ").concat(p?n.modalErrorShow:""),style:l,onMouseOver:y,onMouseLeave:function(){t=setInterval(h,1e4)},children:[(0,C.jsx)("button",{className:n.closeButton,onClick:h,children:(0,C.jsx)(j.Z,{})}),(0,C.jsxs)("div",{className:n.errorTitle,children:[(0,C.jsx)("span",{className:n.messageIcon,children:(0,C.jsx)(Z.Z,{})}),(0,C.jsx)("span",{className:n.errorLabel,children:g})]}),""!==k&&(0,C.jsxs)(i.Fragment,{children:[(0,C.jsx)("div",{className:n.detailsContainerLink,children:(0,C.jsxs)("button",{className:n.detailsButton,onClick:function(){u(!d)},children:["Details",(0,C.jsx)(v.Z,{className:"".concat(n.arrowElement," ").concat(d?n.arrowOpen:"")})]})}),(0,C.jsx)("div",{className:"".concat(n.extraDetailsContainer," ").concat(d?n.extraDetailsOpen:""),children:k})]})]})})}))),N=(0,l.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:h.MK}),B=(0,p.Z)((function(e){return(0,f.Z)((0,a.Z)((0,a.Z)({},x.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},x.sN))}))(N((function(e){var n=e.onClose,o=e.modalOpen,t=e.title,l=e.children,f=e.classes,p=e.wideLimit,x=void 0===p||p,h=e.modalSnackMessage,g=e.noContentPadding,b=e.setModalSnackMessage,v=e.titleIcon,Z=void 0===v?null:v,y=(0,i.useState)(!1),k=(0,r.Z)(y,2),N=k[0],B=k[1];(0,i.useEffect)((function(){b("")}),[b]),(0,i.useEffect)((function(){if(h){if(""===h.message)return void B(!1);"error"!==h.type&&B(!0)}}),[h]);var M=x?{classes:{paper:f.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},E="";return h&&(E=h.detailedErrorMsg,(""===h.detailedErrorMsg||h.detailedErrorMsg.length<5)&&(E=h.message)),(0,C.jsxs)(d.Z,(0,a.Z)((0,a.Z)({open:o,classes:f},M),{},{scroll:"paper",onClose:function(e,o){"backdropClick"!==o&&n()},className:f.root,children:[(0,C.jsxs)(u.Z,{className:f.title,children:[(0,C.jsxs)("div",{className:f.titleText,children:[Z," ",t]}),(0,C.jsx)("div",{className:f.closeContainer,children:(0,C.jsx)(s.Z,{"aria-label":"close",className:f.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,C.jsx)(j.Z,{})})})]}),(0,C.jsx)(S,{}),(0,C.jsx)(c.Z,{open:N,className:f.snackBarModal,onClose:function(){B(!1),b("")},message:E,ContentProps:{className:"".concat(f.snackBar," ").concat(h&&"error"===h.type?f.errorSnackBar:"")},autoHideDuration:h&&"error"===h.type?1e4:5e3}),(0,C.jsx)(m.Z,{className:g?"":f.content,children:l})]}))})))},88881:function(e,n,o){o.r(n);var t=o(23430),r=o(18489),a=o(50390),i=o(34424),l=o(25594),s=o(66946),c=o(81378),d=o(86509),u=o(4285),m=o(30324),f=o(44149),p=o(72462),x=o(76352),h=o(66964),g=o(70014),b=o(62559),v={setModalErrorSnackMessage:f.zb},Z=(0,i.$j)(null,v);n.default=(0,u.Z)((function(e){return(0,d.Z)((0,r.Z)((0,r.Z)((0,r.Z)({buttonContainer:{textAlign:"right"},codeMirrorContainer:{marginBottom:20,marginTop:20,"& label":{marginBottom:".5rem"},"& label + div":{display:"none"}}},p.bK),p.ID),p.YI))}))(Z((function(e){var n=e.classes,o=e.open,r=e.closeModalAndRefresh,i=e.policyEdit,d=e.setModalErrorSnackMessage,u=(0,a.useState)(!1),f=(0,t.Z)(u,2),p=f[0],v=f[1],Z=(0,a.useState)(""),j=(0,t.Z)(Z,2),C=j[0],y=j[1],k=(0,a.useState)(""),S=(0,t.Z)(k,2),N=S[0],B=S[1];(0,a.useEffect)((function(){i&&(y(i.name),B(i?JSON.stringify(JSON.parse(i.policy),null,4):""))}),[i]);var M=""!==C.trim();return(0,b.jsx)(x.Z,{modalOpen:o,onClose:function(){r(!1)},title:"".concat(i?"Info":"Create"," Policy"),children:(0,b.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),p||(v(!0),m.Z.invoke("POST","/api/v1/policies",{name:C,policy:N}).then((function(e){v(!1),r(!0)})).catch((function(e){v(!1),d(e)})))},children:(0,b.jsxs)(l.ZP,{container:!0,children:[(0,b.jsxs)(l.ZP,{item:!0,xs:12,className:n.modalFormScrollable,children:[(0,b.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,b.jsx)(h.Z,{id:"policy-name",name:"policy-name",label:"Policy Name",placeholder:"Enter Policy Name",autoFocus:!0,onChange:function(e){y(e.target.value)},value:C,disabled:!!i})}),(0,b.jsx)(l.ZP,{item:!0,xs:12,className:n.codeMirrorContainer,children:(0,b.jsx)(g.Z,{label:"".concat(i?"Edit":"Write"," Policy"),value:N,onBeforeChange:function(e,n,o){B(o)},editorHeight:"350px"})})]}),(0,b.jsxs)(l.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[!i&&(0,b.jsx)(s.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){y(""),B("")},children:"Clear"}),(0,b.jsx)(s.Z,{type:"submit",variant:"contained",color:"primary",disabled:p||!M,children:"Save"})]}),p&&(0,b.jsx)(l.ZP,{item:!0,xs:12,children:(0,b.jsx)(c.Z,{})})]})})})})))},89472:function(e,n,o){o.d(n,{Z:function(){return r}});var t=o(72327);function r(e,n){var o="undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!o){if(Array.isArray(e)||(o=(0,t.Z)(e))||n&&e&&"number"===typeof e.length){o&&(e=o);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,l=!0,s=!1;return{s:function(){o=o.call(e)},n:function(){var e=o.next();return l=e.done,e},e:function(e){s=!0,i=e},f:function(){try{l||null==o.return||o.return()}finally{if(s)throw i}}}}}}]); -//# sourceMappingURL=165.6ba70895.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/165.6ba70895.chunk.js.map b/portal-ui/build/static/js/165.6ba70895.chunk.js.map deleted file mode 100644 index 3af7959c4..000000000 --- a/portal-ui/build/static/js/165.6ba70895.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/165.6ba70895.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Policies/AddPolicy.tsx","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\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, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\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 inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\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 const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n \n
\n
\n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\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 from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(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, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport api from \"../../../common/api\";\nimport { Policy } from \"./types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport {\n fieldBasic,\n modalStyleUtils,\n spacingUtils,\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 CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n codeMirrorContainer: {\n marginBottom: 20,\n marginTop: 20,\n \"& label\": {\n marginBottom: \".5rem\",\n },\n \"& label + div\": {\n display: \"none\",\n },\n },\n ...spacingUtils,\n ...modalStyleUtils,\n ...fieldBasic,\n });\n\ninterface IAddPolicyProps {\n classes: any;\n open: boolean;\n closeModalAndRefresh: (refresh: boolean) => void;\n policyEdit: Policy;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst AddPolicy = ({\n classes,\n open,\n closeModalAndRefresh,\n policyEdit,\n setModalErrorSnackMessage,\n}: IAddPolicyProps) => {\n const [addLoading, setAddLoading] = useState(false);\n const [policyName, setPolicyName] = useState(\"\");\n const [policyDefinition, setPolicyDefinition] = 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/policies\", {\n name: policyName,\n policy: policyDefinition,\n })\n .then((res) => {\n setAddLoading(false);\n\n closeModalAndRefresh(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n useEffect(() => {\n if (policyEdit) {\n setPolicyName(policyEdit.name);\n setPolicyDefinition(\n policyEdit ? JSON.stringify(JSON.parse(policyEdit.policy), null, 4) : \"\"\n );\n }\n }, [policyEdit]);\n\n const resetForm = () => {\n setPolicyName(\"\");\n setPolicyDefinition(\"\");\n };\n\n const validSave = policyName.trim() !== \"\";\n\n return (\n {\n closeModalAndRefresh(false);\n }}\n title={`${policyEdit ? \"Info\" : \"Create\"} Policy`}\n >\n ) => {\n addRecord(e);\n }}\n >\n \n \n \n ) => {\n setPolicyName(e.target.value);\n }}\n value={policyName}\n disabled={!!policyEdit}\n />\n \n\n \n {\n setPolicyDefinition(value);\n }}\n editorHeight={\"350px\"}\n />\n \n \n \n {!policyEdit && (\n \n Clear\n \n )}\n\n \n Save\n \n \n {addLoading && (\n \n \n \n )}\n \n \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddPolicy));\n","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}"],"names":["langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","backgroundColor","caretColor","borderLeftColor","color","border","borderRight","fontSize","fontWeight","dark","darkTheme","withStyles","theme","createStyles","fieldBasic","inputLabel","value","label","tooltip","mode","classes","onBeforeChange","readOnly","editorHeight","useState","isDarkTheme","setIsDarkTheme","extensionList","className","tooltipContainer","title","placement","item","xs","sx","extensions","editable","basicSetup","height","onChange","v","vu","borderTop","background","display","alignItems","padding","paddingRight","justifyContent","width","marginLeft","onClick","text","icon","variant","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","id","name","type","autoComplete","disabled","multiline","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","fullWidth","helperText","inputRebase","size","disableFocusRipple","disableRipple","disableTouchRipple","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","marginTop","borderLeftWidth","borderRadius","zIndex","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","cursor","errorTitle","errorLabel","marginRight","messageIcon","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","get","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","deleteDialogStyles","root","content","paddingBottom","customDialogSize","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","buttonContainer","textAlign","codeMirrorContainer","marginBottom","spacingUtils","modalStyleUtils","closeModalAndRefresh","policyEdit","addLoading","setAddLoading","policyName","setPolicyName","policyDefinition","setPolicyDefinition","JSON","stringify","parse","policy","validSave","trim","noValidate","onSubmit","e","preventDefault","api","then","res","catch","err","modalFormScrollable","formFieldRow","target","editor","data","modalButtonBar","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","i","F","s","n","done","_e","f","TypeError","normalCompletion","didErr","call","step","next","_e2"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3152.daa99377.chunk.js b/portal-ui/build/static/js/1666.d4e2b942.chunk.js similarity index 97% rename from portal-ui/build/static/js/3152.daa99377.chunk.js rename to portal-ui/build/static/js/1666.d4e2b942.chunk.js index f0dada9e6..d3029fde8 100644 --- a/portal-ui/build/static/js/3152.daa99377.chunk.js +++ b/portal-ui/build/static/js/1666.d4e2b942.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3152],{23152:function(e,a,n){n.r(a);var t=n(23430),o=n(18489),r=n(50390),s=n(38342),i=n.n(s),l=n(34424),c=n(25594),d=n(66946),u=n(86509),m=n(4285),p=n(72462),x=n(44149),f=n(66964),h=n(76352),g=n(30324),v=n(11387),Z=n(62559),b={setModalErrorSnackMessage:x.zb},j=(0,l.$j)((function(e){var a=e.system;return{distributedSetup:i()(a,"distributedSetup",!1)}}),b);a.default=(0,m.Z)((function(e){return(0,u.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},p.DF),p.ID),p.bK))}))(j((function(e){var a=e.modalOpen,n=e.currentTags,s=e.onCloseAndUpdate,i=e.bucketName,l=e.setModalErrorSnackMessage,u=e.classes,m=(0,r.useState)(""),p=(0,t.Z)(m,2),x=p[0],b=p[1],j=(0,r.useState)(""),C=(0,t.Z)(j,2),N=C[0],y=C[1],k=(0,r.useState)(!1),w=(0,t.Z)(k,2),S=w[0],M=w[1];return(0,Z.jsx)(h.Z,{modalOpen:a,title:"Add New Tag ",onClose:function(){s(!1)},titleIcon:(0,Z.jsx)(v.OC,{}),children:(0,Z.jsxs)(c.ZP,{container:!0,children:[(0,Z.jsxs)("div",{className:u.spacerBottom,children:[(0,Z.jsx)("strong",{children:"Bucket"}),": ",i]}),(0,Z.jsx)(c.ZP,{item:!0,xs:12,className:u.formFieldRow,children:(0,Z.jsx)(f.Z,{value:x,label:"New Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter New Tag Key",onChange:function(e){b(e.target.value)}})}),(0,Z.jsx)(c.ZP,{item:!0,xs:12,className:u.formFieldRow,children:(0,Z.jsx)(f.Z,{value:N,label:"New Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter New Tag Label",onChange:function(e){y(e.target.value)}})}),(0,Z.jsxs)(c.ZP,{item:!0,xs:12,className:u.modalButtonBar,children:[(0,Z.jsx)(d.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){y(""),b("")},children:"Clear"}),(0,Z.jsx)(d.Z,{type:"submit",variant:"contained",color:"primary",disabled:""===N.trim()||""===x.trim()||S,onClick:function(){M(!0);var e={};e[x]=N;var a=(0,o.Z)((0,o.Z)({},n),e);g.Z.invoke("PUT","/api/v1/buckets/".concat(i,"/tags"),{tags:a}).then((function(e){M(!1),s(!0)})).catch((function(e){l(e),M(!1)}))},children:"Save"})]})]})})})))},66964:function(e,a,n){var t=n(18489),o=n(50390),r=n(12066),s=n(25594),i=n(14602),l=n(94187),c=n(95467),d=n(86509),u=n(62449),m=n(4285),p=n(72462),x=n(97538),f=n(44977),h=n(62559),g=(0,u.Z)((function(e){return(0,d.Z)((0,t.Z)({},p.gM))}));function v(e){var a=g();return(0,h.jsx)(r.Z,(0,t.Z)({InputProps:{classes:a}},e))}a.Z=(0,m.Z)((function(e){return(0,d.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var a=e.label,n=e.onChange,r=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,g=e.autoComplete,Z=void 0===g?"off":g,b=e.disabled,j=void 0!==b&&b,C=e.multiline,N=void 0!==C&&C,y=e.tooltip,k=void 0===y?"":y,w=e.index,S=void 0===w?0:w,M=e.error,E=void 0===M?"":M,L=e.required,B=void 0!==L&&L,T=e.placeholder,I=void 0===T?"":T,D=e.min,P=e.max,F=e.overlayIcon,z=void 0===F?null:F,O=e.overlayObject,W=void 0===O?null:O,R=e.extraInputProps,A=void 0===R?{}:R,K=e.overlayAction,H=e.noLabelMinWidth,$=void 0!==H&&H,U=e.pattern,Y=void 0===U?"":U,_=e.autoFocus,q=void 0!==_&&_,G=e.classes,Q=e.className,X=void 0===Q?"":Q,J=(0,t.Z)({"data-index":S},A);return"number"===p&&D&&(J.min=D),"number"===p&&P&&(J.max=P),""!==Y&&(J.pattern=Y),(0,h.jsx)(o.Fragment,{children:(0,h.jsxs)(s.ZP,{container:!0,className:(0,f.Z)(""!==X?X:"",""!==E?G.errorInField:G.inputBoxContainer),children:[""!==a&&(0,h.jsxs)(i.Z,{htmlFor:d,className:$?G.noMinWidthLabel:G.inputLabel,children:[(0,h.jsxs)("span",{children:[a,B?"*":""]}),""!==k&&(0,h.jsx)("div",{className:G.tooltipContainer,children:(0,h.jsx)(l.Z,{title:k,placement:"top-start",children:(0,h.jsx)("div",{className:G.tooltip,children:(0,h.jsx)(x.Z,{})})})})]}),(0,h.jsxs)("div",{className:G.textBoxContainer,children:[(0,h.jsx)(v,{id:d,name:u,fullWidth:!0,value:r,autoFocus:q,disabled:j,onChange:n,type:p,multiline:N,autoComplete:Z,inputProps:J,error:""!==E,helperText:E,placeholder:I,className:G.inputRebase}),z&&(0,h.jsx)("div",{className:"".concat(G.overlayAction," ").concat(""!==a?"withLabel":""),children:(0,h.jsx)(c.Z,{onClick:K?function(){K()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:z})}),W&&(0,h.jsx)("div",{className:"".concat(G.overlayAction," ").concat(""!==a?"withLabel":""),children:W})]})]})})}))},76352:function(e,a,n){n.d(a,{Z:function(){return S}});var t,o=n(23430),r=n(18489),s=n(50390),i=n(34424),l=n(95467),c=n(97771),d=n(84402),u=n(78426),m=n(93085),p=n(86509),x=n(4285),f=n(72462),h=n(44149),g=n(38342),v=n.n(g),Z=n(92125),b=n(19538),j=n(21278),C=n(62559),N=function(){clearInterval(t)},y={displayErrorMessage:h.zb},k=(0,i.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),y)((0,x.Z)((function(e){return(0,p.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var a=e.classes,n=e.modalSnackMessage,r=e.displayErrorMessage,i=e.customStyle,l=(0,s.useState)(!1),c=(0,o.Z)(l,2),d=c[0],u=c[1],m=(0,s.useState)(!1),p=(0,o.Z)(m,2),x=p[0],f=p[1],h=(0,s.useCallback)((function(){f(!1)}),[]);(0,s.useEffect)((function(){x||(r({detailedError:"",errorMessage:""}),u(!1))}),[r,x]),(0,s.useEffect)((function(){""!==n.message&&"error"===n.type&&f(!0)}),[h,n.message,n.type]);var g=v()(n,"message",""),y=v()(n,"detailedErrorMsg","");return"error"!==n.type||""===g?null:(0,C.jsx)(s.Fragment,{children:(0,C.jsxs)("div",{className:"".concat(a.modalErrorContainer," ").concat(x?a.modalErrorShow:""),style:i,onMouseOver:N,onMouseLeave:function(){t=setInterval(h,1e4)},children:[(0,C.jsx)("button",{className:a.closeButton,onClick:h,children:(0,C.jsx)(j.Z,{})}),(0,C.jsxs)("div",{className:a.errorTitle,children:[(0,C.jsx)("span",{className:a.messageIcon,children:(0,C.jsx)(b.Z,{})}),(0,C.jsx)("span",{className:a.errorLabel,children:g})]}),""!==y&&(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("div",{className:a.detailsContainerLink,children:(0,C.jsxs)("button",{className:a.detailsButton,onClick:function(){u(!d)},children:["Details",(0,C.jsx)(Z.Z,{className:"".concat(a.arrowElement," ").concat(d?a.arrowOpen:"")})]})}),(0,C.jsx)("div",{className:"".concat(a.extraDetailsContainer," ").concat(d?a.extraDetailsOpen:""),children:y})]})]})})}))),w=(0,i.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:h.MK}),S=(0,x.Z)((function(e){return(0,p.Z)((0,r.Z)((0,r.Z)({},f.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},f.sN))}))(w((function(e){var a=e.onClose,n=e.modalOpen,t=e.title,i=e.children,p=e.classes,x=e.wideLimit,f=void 0===x||x,h=e.modalSnackMessage,g=e.noContentPadding,v=e.setModalSnackMessage,Z=e.titleIcon,b=void 0===Z?null:Z,N=(0,s.useState)(!1),y=(0,o.Z)(N,2),w=y[0],S=y[1];(0,s.useEffect)((function(){v("")}),[v]),(0,s.useEffect)((function(){if(h){if(""===h.message)return void S(!1);"error"!==h.type&&S(!0)}}),[h]);var M=f?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},E="";return h&&(E=h.detailedErrorMsg,(""===h.detailedErrorMsg||h.detailedErrorMsg.length<5)&&(E=h.message)),(0,C.jsxs)(d.Z,(0,r.Z)((0,r.Z)({open:n,classes:p},M),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&a()},className:p.root,children:[(0,C.jsxs)(u.Z,{className:p.title,children:[(0,C.jsxs)("div",{className:p.titleText,children:[b," ",t]}),(0,C.jsx)("div",{className:p.closeContainer,children:(0,C.jsx)(l.Z,{"aria-label":"close",className:p.closeButton,onClick:a,disableRipple:!0,size:"small",children:(0,C.jsx)(j.Z,{})})})]}),(0,C.jsx)(k,{}),(0,C.jsx)(c.Z,{open:w,className:p.snackBarModal,onClose:function(){S(!1),v("")},message:E,ContentProps:{className:"".concat(p.snackBar," ").concat(h&&"error"===h.type?p.errorSnackBar:"")},autoHideDuration:h&&"error"===h.type?1e4:5e3}),(0,C.jsx)(m.Z,{className:g?"":p.content,children:i})]}))})))}}]); -//# sourceMappingURL=3152.daa99377.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1666],{23152:function(e,a,n){n.r(a);var t=n(23430),o=n(18489),r=n(50390),s=n(38342),i=n.n(s),l=n(34424),c=n(25594),d=n(66946),u=n(86509),m=n(4285),p=n(72462),x=n(44149),f=n(66964),h=n(76352),g=n(30324),v=n(98280),Z=n(62559),b={setModalErrorSnackMessage:x.zb},j=(0,l.$j)((function(e){var a=e.system;return{distributedSetup:i()(a,"distributedSetup",!1)}}),b);a.default=(0,m.Z)((function(e){return(0,u.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},p.DF),p.ID),p.bK))}))(j((function(e){var a=e.modalOpen,n=e.currentTags,s=e.onCloseAndUpdate,i=e.bucketName,l=e.setModalErrorSnackMessage,u=e.classes,m=(0,r.useState)(""),p=(0,t.Z)(m,2),x=p[0],b=p[1],j=(0,r.useState)(""),C=(0,t.Z)(j,2),N=C[0],y=C[1],k=(0,r.useState)(!1),w=(0,t.Z)(k,2),S=w[0],M=w[1];return(0,Z.jsx)(h.Z,{modalOpen:a,title:"Add New Tag ",onClose:function(){s(!1)},titleIcon:(0,Z.jsx)(v.OC,{}),children:(0,Z.jsxs)(c.ZP,{container:!0,children:[(0,Z.jsxs)("div",{className:u.spacerBottom,children:[(0,Z.jsx)("strong",{children:"Bucket"}),": ",i]}),(0,Z.jsx)(c.ZP,{item:!0,xs:12,className:u.formFieldRow,children:(0,Z.jsx)(f.Z,{value:x,label:"New Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter New Tag Key",onChange:function(e){b(e.target.value)}})}),(0,Z.jsx)(c.ZP,{item:!0,xs:12,className:u.formFieldRow,children:(0,Z.jsx)(f.Z,{value:N,label:"New Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter New Tag Label",onChange:function(e){y(e.target.value)}})}),(0,Z.jsxs)(c.ZP,{item:!0,xs:12,className:u.modalButtonBar,children:[(0,Z.jsx)(d.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){y(""),b("")},children:"Clear"}),(0,Z.jsx)(d.Z,{type:"submit",variant:"contained",color:"primary",disabled:""===N.trim()||""===x.trim()||S,onClick:function(){M(!0);var e={};e[x]=N;var a=(0,o.Z)((0,o.Z)({},n),e);g.Z.invoke("PUT","/api/v1/buckets/".concat(i,"/tags"),{tags:a}).then((function(e){M(!1),s(!0)})).catch((function(e){l(e),M(!1)}))},children:"Save"})]})]})})})))},66964:function(e,a,n){var t=n(18489),o=n(50390),r=n(12066),s=n(25594),i=n(36554),l=n(94187),c=n(95467),d=n(86509),u=n(62449),m=n(4285),p=n(72462),x=n(97538),f=n(44977),h=n(62559),g=(0,u.Z)((function(e){return(0,d.Z)((0,t.Z)({},p.gM))}));function v(e){var a=g();return(0,h.jsx)(r.Z,(0,t.Z)({InputProps:{classes:a}},e))}a.Z=(0,m.Z)((function(e){return(0,d.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var a=e.label,n=e.onChange,r=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,g=e.autoComplete,Z=void 0===g?"off":g,b=e.disabled,j=void 0!==b&&b,C=e.multiline,N=void 0!==C&&C,y=e.tooltip,k=void 0===y?"":y,w=e.index,S=void 0===w?0:w,M=e.error,E=void 0===M?"":M,L=e.required,B=void 0!==L&&L,T=e.placeholder,I=void 0===T?"":T,D=e.min,P=e.max,F=e.overlayIcon,z=void 0===F?null:F,O=e.overlayObject,W=void 0===O?null:O,R=e.extraInputProps,A=void 0===R?{}:R,K=e.overlayAction,H=e.noLabelMinWidth,$=void 0!==H&&H,U=e.pattern,Y=void 0===U?"":U,_=e.autoFocus,q=void 0!==_&&_,G=e.classes,Q=e.className,X=void 0===Q?"":Q,J=(0,t.Z)({"data-index":S},A);return"number"===p&&D&&(J.min=D),"number"===p&&P&&(J.max=P),""!==Y&&(J.pattern=Y),(0,h.jsx)(o.Fragment,{children:(0,h.jsxs)(s.ZP,{container:!0,className:(0,f.Z)(""!==X?X:"",""!==E?G.errorInField:G.inputBoxContainer),children:[""!==a&&(0,h.jsxs)(i.Z,{htmlFor:d,className:$?G.noMinWidthLabel:G.inputLabel,children:[(0,h.jsxs)("span",{children:[a,B?"*":""]}),""!==k&&(0,h.jsx)("div",{className:G.tooltipContainer,children:(0,h.jsx)(l.Z,{title:k,placement:"top-start",children:(0,h.jsx)("div",{className:G.tooltip,children:(0,h.jsx)(x.Z,{})})})})]}),(0,h.jsxs)("div",{className:G.textBoxContainer,children:[(0,h.jsx)(v,{id:d,name:u,fullWidth:!0,value:r,autoFocus:q,disabled:j,onChange:n,type:p,multiline:N,autoComplete:Z,inputProps:J,error:""!==E,helperText:E,placeholder:I,className:G.inputRebase}),z&&(0,h.jsx)("div",{className:"".concat(G.overlayAction," ").concat(""!==a?"withLabel":""),children:(0,h.jsx)(c.Z,{onClick:K?function(){K()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:z})}),W&&(0,h.jsx)("div",{className:"".concat(G.overlayAction," ").concat(""!==a?"withLabel":""),children:W})]})]})})}))},76352:function(e,a,n){n.d(a,{Z:function(){return S}});var t,o=n(23430),r=n(18489),s=n(50390),i=n(34424),l=n(95467),c=n(97771),d=n(84402),u=n(78426),m=n(93085),p=n(86509),x=n(4285),f=n(72462),h=n(44149),g=n(38342),v=n.n(g),Z=n(92125),b=n(19538),j=n(21278),C=n(62559),N=function(){clearInterval(t)},y={displayErrorMessage:h.zb},k=(0,i.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),y)((0,x.Z)((function(e){return(0,p.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var a=e.classes,n=e.modalSnackMessage,r=e.displayErrorMessage,i=e.customStyle,l=(0,s.useState)(!1),c=(0,o.Z)(l,2),d=c[0],u=c[1],m=(0,s.useState)(!1),p=(0,o.Z)(m,2),x=p[0],f=p[1],h=(0,s.useCallback)((function(){f(!1)}),[]);(0,s.useEffect)((function(){x||(r({detailedError:"",errorMessage:""}),u(!1))}),[r,x]),(0,s.useEffect)((function(){""!==n.message&&"error"===n.type&&f(!0)}),[h,n.message,n.type]);var g=v()(n,"message",""),y=v()(n,"detailedErrorMsg","");return"error"!==n.type||""===g?null:(0,C.jsx)(s.Fragment,{children:(0,C.jsxs)("div",{className:"".concat(a.modalErrorContainer," ").concat(x?a.modalErrorShow:""),style:i,onMouseOver:N,onMouseLeave:function(){t=setInterval(h,1e4)},children:[(0,C.jsx)("button",{className:a.closeButton,onClick:h,children:(0,C.jsx)(j.Z,{})}),(0,C.jsxs)("div",{className:a.errorTitle,children:[(0,C.jsx)("span",{className:a.messageIcon,children:(0,C.jsx)(b.Z,{})}),(0,C.jsx)("span",{className:a.errorLabel,children:g})]}),""!==y&&(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("div",{className:a.detailsContainerLink,children:(0,C.jsxs)("button",{className:a.detailsButton,onClick:function(){u(!d)},children:["Details",(0,C.jsx)(Z.Z,{className:"".concat(a.arrowElement," ").concat(d?a.arrowOpen:"")})]})}),(0,C.jsx)("div",{className:"".concat(a.extraDetailsContainer," ").concat(d?a.extraDetailsOpen:""),children:y})]})]})})}))),w=(0,i.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:h.MK}),S=(0,x.Z)((function(e){return(0,p.Z)((0,r.Z)((0,r.Z)({},f.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},f.sN))}))(w((function(e){var a=e.onClose,n=e.modalOpen,t=e.title,i=e.children,p=e.classes,x=e.wideLimit,f=void 0===x||x,h=e.modalSnackMessage,g=e.noContentPadding,v=e.setModalSnackMessage,Z=e.titleIcon,b=void 0===Z?null:Z,N=(0,s.useState)(!1),y=(0,o.Z)(N,2),w=y[0],S=y[1];(0,s.useEffect)((function(){v("")}),[v]),(0,s.useEffect)((function(){if(h){if(""===h.message)return void S(!1);"error"!==h.type&&S(!0)}}),[h]);var M=f?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},E="";return h&&(E=h.detailedErrorMsg,(""===h.detailedErrorMsg||h.detailedErrorMsg.length<5)&&(E=h.message)),(0,C.jsxs)(d.Z,(0,r.Z)((0,r.Z)({open:n,classes:p},M),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&a()},className:p.root,children:[(0,C.jsxs)(u.Z,{className:p.title,children:[(0,C.jsxs)("div",{className:p.titleText,children:[b," ",t]}),(0,C.jsx)("div",{className:p.closeContainer,children:(0,C.jsx)(l.Z,{"aria-label":"close",className:p.closeButton,onClick:a,disableRipple:!0,size:"small",children:(0,C.jsx)(j.Z,{})})})]}),(0,C.jsx)(k,{}),(0,C.jsx)(c.Z,{open:w,className:p.snackBarModal,onClose:function(){S(!1),v("")},message:E,ContentProps:{className:"".concat(p.snackBar," ").concat(h&&"error"===h.type?p.errorSnackBar:"")},autoHideDuration:h&&"error"===h.type?1e4:5e3}),(0,C.jsx)(m.Z,{className:g?"":p.content,children:i})]}))})))}}]); +//# sourceMappingURL=1666.d4e2b942.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3152.daa99377.chunk.js.map b/portal-ui/build/static/js/1666.d4e2b942.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/3152.daa99377.chunk.js.map rename to portal-ui/build/static/js/1666.d4e2b942.chunk.js.map index 738ea515c..610cd431a 100644 --- a/portal-ui/build/static/js/3152.daa99377.chunk.js.map +++ b/portal-ui/build/static/js/1666.d4e2b942.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/3152.daa99377.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/AddBucketTagModal.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.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 get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { Button, 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 { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { AppState } from \"../../../../store\";\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\";\n\ninterface IBucketTagModal {\n modalOpen: boolean;\n currentTags: any;\n bucketName: string;\n onCloseAndUpdate: (refresh: boolean) => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\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 setModalErrorSnackMessage,\n classes,\n}: IBucketTagModal) => {\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 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 Clear\n \n \n Save\n \n \n
\n \n );\n};\n\nconst mapStateToProps = ({ system }: AppState) => ({\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(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 from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n"],"names":["mapDispatchToProps","setModalErrorSnackMessage","connector","connect","system","distributedSetup","get","withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","spacingUtils","modalOpen","currentTags","onCloseAndUpdate","bucketName","classes","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","color","onClick","disabled","trim","newTag","newTagList","api","tags","then","res","catch","error","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","autoComplete","multiline","tooltip","index","required","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputProps","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","placement","fullWidth","helperText","inputRebase","size","disableFocusRipple","disableRipple","disableTouchRipple","timerI","stopHideTimer","clearInterval","displayErrorMessage","state","modalSnackMessage","modalSnackBar","modalErrorContainer","marginTop","width","backgroundColor","border","borderLeftWidth","borderRadius","zIndex","padding","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","fontSize","cursor","errorTitle","display","alignItems","errorLabel","marginLeft","marginRight","messageIcon","height","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","setModalSnackMessage","deleteDialogStyles","root","content","paddingBottom","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/1666.d4e2b942.chunk.js","mappings":"gTA6JMA,EAAqB,CACzBC,0BAAAA,EAAAA,IAGIC,GAAYC,EAAAA,EAAAA,KARM,SAAC,GAAD,IAAGC,EAAH,EAAGA,OAAH,MAA2B,CACjDC,iBAAkBC,GAAAA,CAAIF,EAAQ,oBAAoB,MAOTJ,GAE3C,WAAeO,EAAAA,EAAAA,IAtHA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACRC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,OAkHP,CAAkCV,GA/GR,SAAC,GAOH,IANtBW,EAMqB,EANrBA,UACAC,EAKqB,EALrBA,YACAC,EAIqB,EAJrBA,iBACAC,EAGqB,EAHrBA,WACAf,EAEqB,EAFrBA,0BACAgB,EACqB,EADrBA,QAEA,GAA4BC,EAAAA,EAAAA,UAAiB,IAA7C,eAAOC,EAAP,KAAeC,EAAf,KACA,GAAgCF,EAAAA,EAAAA,UAAiB,IAAjD,eAAOG,EAAP,KAAiBC,EAAjB,KACA,GAAkCJ,EAAAA,EAAAA,WAAkB,GAApD,eAAOK,EAAP,KAAkBC,EAAlB,KA4BA,OACE,SAAC,IAAD,CACEX,UAAWA,EACXY,MAAK,eACLC,QAAS,WACPX,GAAiB,IAEnBY,WAAW,SAAC,KAAD,IANb,UAQE,UAAC,KAAD,CAAMC,WAAS,EAAf,WACE,iBAAKC,UAAWZ,EAAQa,aAAxB,WACE,uCADF,KAC4Bd,MAE5B,SAAC,KAAD,CAAMe,MAAI,EAACC,GAAI,GAAIH,UAAWZ,EAAQgB,aAAtC,UACE,SAAC,IAAD,CACEC,MAAOf,EACPgB,MAAO,cACPC,GAAI,YACJC,KAAM,YACNC,YAAa,oBACbC,SAAU,SAACC,GACTpB,EAAUoB,EAAEC,OAAOP,aAIzB,SAAC,KAAD,CAAMH,MAAI,EAACC,GAAI,GAAIH,UAAWZ,EAAQgB,aAAtC,UACE,SAAC,IAAD,CACEC,MAAOb,EACPc,MAAO,gBACPC,GAAI,cACJC,KAAM,cACNC,YAAa,sBACbC,SAAU,SAACC,GACTlB,EAAYkB,EAAEC,OAAOP,aAI3B,UAAC,KAAD,CAAMH,MAAI,EAACC,GAAI,GAAIH,UAAWZ,EAAQyB,eAAtC,WACE,SAAC,IAAD,CACEC,KAAK,SACLC,QAAQ,WACRC,MAAM,UACNC,QApEQ,WAChBxB,EAAY,IACZF,EAAU,KA8DJ,oBAQA,SAAC,IAAD,CACEuB,KAAK,SACLC,QAAQ,YACRC,MAAM,UACNE,SACsB,KAApB1B,EAAS2B,QAAmC,KAAlB7B,EAAO6B,QAAiBzB,EAEpDuB,QA1EY,WACpBtB,GAAa,GACb,IAAMyB,EAAc,GAEpBA,EAAO9B,GAAUE,EACjB,IAAM6B,GAAU,kBAAQpC,GAAgBmC,GAExCE,EAAAA,EAAAA,OACU,MADV,0BACoCnC,EADpC,SACuD,CACnDoC,KAAMF,IAEPG,MAAK,SAACC,GACL9B,GAAa,GACbT,GAAiB,MAElBwC,OAAM,SAACC,GACNvD,EAA0BuD,GAC1BhC,GAAa,OAkDX,+B,mLC5CJiC,GAAcC,EAAAA,EAAAA,IAAW,SAAClD,GAAD,OAC7BC,EAAAA,EAAAA,IAAa,UACRkD,EAAAA,QAIP,SAASC,EAAWC,GAClB,IAAM5C,EAAUwC,IAEhB,OACE,SAAC,KAAD,QACEK,WAAY,CAAE7C,QAAAA,IACV4C,IAsIV,KAAetD,EAAAA,EAAAA,IA5KA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACRsD,EAAAA,IACAC,EAAAA,IAFO,IAGVC,iBAAkB,CAChBC,SAAU,EACVC,SAAU,YAEZC,cAAe,CACbD,SAAU,WACVE,MAAO,EACPC,IAAK,EACL,QAAS,CACPC,SAAU,GACVC,UAAW,IAEb,cAAe,CACbF,IAAK,IAGTG,YAAW,kBACNV,EAAAA,GAAAA,YADK,IAERW,WAAY,gBAsJlB,EAjIwB,SAAC,GA0BH,IAzBpBvC,EAyBmB,EAzBnBA,MACAI,EAwBmB,EAxBnBA,SACAL,EAuBmB,EAvBnBA,MACAE,EAsBmB,EAtBnBA,GACAC,EAqBmB,EArBnBA,KAqBmB,IApBnBM,KAAAA,OAoBmB,MApBZ,OAoBY,MAnBnBgC,aAAAA,OAmBmB,MAnBJ,MAmBI,MAlBnB5B,SAAAA,OAkBmB,aAjBnB6B,UAAAA,OAiBmB,aAhBnBC,QAAAA,OAgBmB,MAhBT,GAgBS,MAfnBC,MAAAA,OAemB,MAfX,EAeW,MAdnBtB,MAAAA,OAcmB,MAdX,GAcW,MAbnBuB,SAAAA,OAamB,aAZnBzC,YAAAA,OAYmB,MAZL,GAYK,EAXnB0C,EAWmB,EAXnBA,IACAC,EAUmB,EAVnBA,IAUmB,IATnBC,YAAAA,OASmB,MATL,KASK,MARnBC,cAAAA,OAQmB,MARH,KAQG,MAPnBC,gBAAAA,OAOmB,MAPD,GAOC,EANnBhB,EAMmB,EANnBA,cAMmB,IALnBiB,gBAAAA,OAKmB,aAJnBC,QAAAA,OAImB,MAJT,GAIS,MAHnBC,UAAAA,OAGmB,SAFnBtE,EAEmB,EAFnBA,QAEmB,IADnBY,UAAAA,OACmB,MADP,GACO,EACf2D,GAAe,QAAK,aAAcV,GAAUM,GAchD,MAZa,WAATzC,GAAqBqC,IACvBQ,EAAU,IAAUR,GAGT,WAATrC,GAAqBsC,IACvBO,EAAU,IAAUP,GAGN,KAAZK,IACFE,EAAU,QAAcF,IAIxB,SAAC,WAAD,WACE,UAAC,KAAD,CACE1D,WAAS,EACTC,WAAW4D,EAAAA,EAAAA,GACK,KAAd5D,EAAmBA,EAAY,GACrB,KAAV2B,EAAevC,EAAQyE,aAAezE,EAAQ0E,mBAJlD,UAOa,KAAVxD,IACC,UAAC,IAAD,CACEyD,QAASxD,EACTP,UACEwD,EAAkBpE,EAAQ4E,gBAAkB5E,EAAQwD,WAHxD,WAME,4BACGtC,EACA4C,EAAW,IAAM,MAEP,KAAZF,IACC,gBAAKhD,UAAWZ,EAAQ6E,iBAAxB,UACE,SAAC,IAAD,CAASrE,MAAOoD,EAASkB,UAAU,YAAnC,UACE,gBAAKlE,UAAWZ,EAAQ4D,QAAxB,UACE,SAAC,IAAD,cAQZ,iBAAKhD,UAAWZ,EAAQgD,iBAAxB,WACE,SAACL,EAAD,CACExB,GAAIA,EACJC,KAAMA,EACN2D,WAAS,EACT9D,MAAOA,EACPqD,UAAWA,EACXxC,SAAUA,EACVR,SAAUA,EACVI,KAAMA,EACNiC,UAAWA,EACXD,aAAcA,EACda,WAAYA,EACZhC,MAAiB,KAAVA,EACPyC,WAAYzC,EACZlB,YAAaA,EACbT,UAAWZ,EAAQiF,cAEpBhB,IACC,gBACErD,UAAS,UAAKZ,EAAQmD,cAAb,YACG,KAAVjC,EAAe,YAAc,IAFjC,UAKE,SAAC,IAAD,CACEW,QACEsB,EACI,WACEA,KAEF,kBAAM,MAEZ+B,KAAM,QACNC,oBAAoB,EACpBC,eAAe,EACfC,oBAAoB,EAXtB,SAaGpB,MAINC,IACC,gBACEtD,UAAS,UAAKZ,EAAQmD,cAAb,YACG,KAAVjC,EAAe,YAAc,IAFjC,SAKGgD,gB,0DC/FXoB,E,8MAMEC,EAAgB,WACpBC,cAAcF,IA+FVvG,EAAqB,CACzB0G,oBAAqBzG,EAAAA,IAKvB,GAFkBE,EAAAA,EAAAA,KARD,SAACwG,GAAD,MAAsB,CACrCC,kBAAmBD,EAAMvG,OAAOyG,iBAOE7G,EAEpC,EAAyBO,EAAAA,EAAAA,IA3LV,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXqG,oBAAqB,CACnB3C,SAAU,WACV4C,UAAW,GACXC,MAAO,MACPC,gBAAiB,OACjBC,OAAQ,oBACRC,gBAAiB,GACjBC,aAAc,EACdC,OAAQ,IACRC,QAAS,YACTC,KAAM,MACNC,UAAW,mBACXC,QAAS,EACTC,mBAAoB,QAEtBC,eAAgB,CACdF,QAAS,GAEXG,YAAa,CACXzD,SAAU,WACVE,MAAO,EACPwD,SAAU,QACVX,OAAQ,EACRD,gBAAiB,OACjBa,OAAQ,WAEVC,WAAY,CACVC,QAAS,OACTC,WAAY,UAEdC,WAAY,CACVrF,MAAO,OACPgF,SAAU,GACVnD,WAAY,IACZyD,WAAY,EACZC,YAAa,IAEfC,YAAa,CACXxF,MAAO,UACPmF,QAAS,OACT,QAAS,CACPhB,MAAO,GACPsB,OAAQ,KAGZC,cAAe,CACb1F,MAAO,UACPmF,QAAS,OACTC,WAAY,SACZf,OAAQ,EACRD,gBAAiB,cACjBuB,YAAa,EACbX,SAAU,GACVY,kBAAmB,OACnBX,OAAQ,WAEVY,sBAAuB,CACrBC,UAAW,SACX9F,MAAO,UACP+F,WAAY,EACZtB,QAAS,SACTuB,WAAY,sBACZC,SAAU,UAEZC,iBAAkB,CAChBH,WAAY,EACZtB,QAAS,YAEX0B,aAAc,CACZb,YAAa,GAEfc,UAAW,CACTzB,UAAW,iBACXiB,kBAAmB,YAgHAlI,EAlGN,SAAC,GAKK,IAJvBU,EAIsB,EAJtBA,QACA2F,EAGsB,EAHtBA,kBACAF,EAEsB,EAFtBA,oBACAwC,EACsB,EADtBA,YAEA,GAAsChI,EAAAA,EAAAA,WAAkB,GAAxD,eAAOiI,EAAP,KAAoBC,EAApB,KACA,GAA8ClI,EAAAA,EAAAA,WAAkB,GAAhE,eAAOmI,EAAP,KAAwBC,EAAxB,KAEMC,GAAoBC,EAAAA,EAAAA,cAAY,WACpCF,GAAmB,KAClB,KAEHG,EAAAA,EAAAA,YAAU,WACHJ,IACH3C,EAAoB,CAAEgD,cAAe,GAAIC,aAAc,KACvDP,GAAe,MAGhB,CAAC1C,EAAqB2C,KAEzBI,EAAAA,EAAAA,YAAU,WAEwB,KAA9B7C,EAAkBgD,SACS,UAA3BhD,EAAkBjE,MAGlB2G,GAAmB,KAGpB,CAACC,EAAmB3C,EAAkBgD,QAAShD,EAAkBjE,OAEpE,IAIMiH,EAAUtJ,GAAAA,CAAIsG,EAAmB,UAAW,IAC5CiD,EAAiBvJ,GAAAA,CAAIsG,EAAmB,mBAAoB,IAElE,MAA+B,UAA3BA,EAAkBjE,MAAgC,KAAZiH,EACjC,MAIP,SAAC,EAAAE,SAAD,WACE,iBACEjI,UAAS,UAAKZ,EAAQ6F,oBAAb,YACPuC,EAAkBpI,EAAQ0G,eAAiB,IAE7CoC,MAAOb,EACPc,YAAaxD,EACbyD,aAAc,WA1DpB1D,EAAS2D,YA0DgCX,EA1DF,MAoDnC,WAQE,mBAAQ1H,UAAWZ,EAAQ2G,YAAa9E,QAASyG,EAAjD,UACE,SAACY,EAAA,EAAD,OAEF,iBAAKtI,UAAWZ,EAAQ8G,WAAxB,WACE,iBAAMlG,UAAWZ,EAAQoH,YAAzB,UACE,SAAC+B,EAAA,EAAD,OAEF,iBAAMvI,UAAWZ,EAAQiH,WAAzB,SAAsC0B,OAEpB,KAAnBC,IACC,UAAC,EAAAC,SAAD,YACE,gBAAKjI,UAAWZ,EAAQoJ,qBAAxB,UACE,oBAAQxI,UAAWZ,EAAQsH,cAAezF,QAjChC,WACpBsG,GAAgBD,IAgCN,qBAEE,SAACmB,EAAA,EAAD,CACEzI,UAAS,UAAKZ,EAAQ+H,aAAb,YACPG,EAAclI,EAAQgI,UAAY,YAK1C,gBACEpH,UAAS,UAAKZ,EAAQyH,sBAAb,YACPS,EAAclI,EAAQ8H,iBAAmB,IAF7C,SAKGc,gBC1CT3J,GAAYC,EAAAA,EAAAA,KAJD,SAACwG,GAAD,MAAsB,CACrCC,kBAAmBD,EAAMvG,OAAOyG,iBAGE,CAClC0D,qBAAAA,EAAAA,KAGF,GAAehK,EAAAA,EAAAA,IA3IA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,kBACR+J,EAAAA,IADO,IAEVC,KAAM,CACJ,mBAAoB,CAClBnD,QAAS,wBAGboD,QAAS,CACPpD,QAAS,GACTqD,cAAe,GAEjBC,iBAAkB,CAChB5D,MAAO,OACPzC,SAAU,MAETsG,EAAAA,OA2HP,CAAkC3K,GAxHb,SAAC,GAWF,IAVlBwB,EAUiB,EAVjBA,QACAb,EASiB,EATjBA,UACAY,EAQiB,EARjBA,MACAqJ,EAOiB,EAPjBA,SACA7J,EAMiB,EANjBA,QAMiB,IALjB8J,UAAAA,OAKiB,SAJjBnE,EAIiB,EAJjBA,kBACAoE,EAGiB,EAHjBA,iBACAT,EAEiB,EAFjBA,qBAEiB,IADjB5I,UAAAA,OACiB,MADL,KACK,EACjB,GAAwCT,EAAAA,EAAAA,WAAkB,GAA1D,eAAO+J,EAAP,KAAqBC,EAArB,MAEAzB,EAAAA,EAAAA,YAAU,WACRc,EAAqB,MACpB,CAACA,KAEJd,EAAAA,EAAAA,YAAU,WACR,GAAI7C,EAAmB,CACrB,GAAkC,KAA9BA,EAAkBgD,QAEpB,YADAsB,GAAgB,GAIa,UAA3BtE,EAAkBjE,MACpBuI,GAAgB,MAGnB,CAACtE,IAEJ,IAKMuE,EAAaJ,EACf,CACE9J,QAAS,CACPmK,MAAOnK,EAAQ2J,mBAGnB,CAAErG,SAAU,KAAeyB,WAAW,GAEtC4D,EAAU,GAYd,OAVIhD,IACFgD,EAAUhD,EAAkByE,kBAEa,KAAvCzE,EAAkByE,kBAClBzE,EAAkByE,iBAAiBC,OAAS,KAE5C1B,EAAUhD,EAAkBgD,WAK9B,UAAC2B,EAAA,GAAD,gBACEC,KAAM3K,EACNI,QAASA,GACLkK,GAHN,IAIEM,OAAQ,QACR/J,QAAS,SAACgK,EAAOC,GACA,kBAAXA,GACFjK,KAGJG,UAAWZ,EAAQwJ,KAVrB,WAYE,UAACmB,EAAA,EAAD,CAAa/J,UAAWZ,EAAQQ,MAAhC,WACE,iBAAKI,UAAWZ,EAAQ4K,UAAxB,UACGlK,EADH,IACeF,MAEf,gBAAKI,UAAWZ,EAAQ6K,eAAxB,UACE,SAACC,EAAA,EAAD,CACE,aAAW,QACXlK,UAAWZ,EAAQ2G,YACnB9E,QAASpB,EACT2E,eAAa,EACbF,KAAK,QALP,UAOE,SAACgE,EAAA,EAAD,YAKN,SAAC,EAAD,KACA,SAAC6B,EAAA,EAAD,CACER,KAAMP,EACNpJ,UAAWZ,EAAQgL,cACnBvK,QAAS,WA1DbwJ,GAAgB,GAChBX,EAAqB,KA4DjBX,QAASA,EACTsC,aAAc,CACZrK,UAAU,GAAD,OAAKZ,EAAQkL,SAAb,YACPvF,GAAgD,UAA3BA,EAAkBjE,KACnC1B,EAAQmL,cACR,KAGRC,iBACEzF,GAAgD,UAA3BA,EAAkBjE,KAAmB,IAAQ,OAGtE,SAAC2J,EAAA,EAAD,CAAezK,UAAWmJ,EAAmB,GAAK/J,EAAQyJ,QAA1D,SACGI","sources":["screens/Console/Buckets/BucketDetails/AddBucketTagModal.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.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 get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { Button, 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 { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { AppState } from \"../../../../store\";\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\";\n\ninterface IBucketTagModal {\n modalOpen: boolean;\n currentTags: any;\n bucketName: string;\n onCloseAndUpdate: (refresh: boolean) => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\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 setModalErrorSnackMessage,\n classes,\n}: IBucketTagModal) => {\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 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 Clear\n \n \n Save\n \n \n
\n \n );\n};\n\nconst mapStateToProps = ({ system }: AppState) => ({\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(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 from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n"],"names":["mapDispatchToProps","setModalErrorSnackMessage","connector","connect","system","distributedSetup","get","withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","spacingUtils","modalOpen","currentTags","onCloseAndUpdate","bucketName","classes","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","color","onClick","disabled","trim","newTag","newTagList","api","tags","then","res","catch","error","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","autoComplete","multiline","tooltip","index","required","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputProps","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","placement","fullWidth","helperText","inputRebase","size","disableFocusRipple","disableRipple","disableTouchRipple","timerI","stopHideTimer","clearInterval","displayErrorMessage","state","modalSnackMessage","modalSnackBar","modalErrorContainer","marginTop","width","backgroundColor","border","borderLeftWidth","borderRadius","zIndex","padding","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","fontSize","cursor","errorTitle","display","alignItems","errorLabel","marginLeft","marginRight","messageIcon","height","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","setModalSnackMessage","deleteDialogStyles","root","content","paddingBottom","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1711.a046e26c.chunk.js b/portal-ui/build/static/js/1711.669b8be7.chunk.js similarity index 97% rename from portal-ui/build/static/js/1711.a046e26c.chunk.js rename to portal-ui/build/static/js/1711.669b8be7.chunk.js index 0b2cd432e..80297da8c 100644 --- a/portal-ui/build/static/js/1711.a046e26c.chunk.js +++ b/portal-ui/build/static/js/1711.669b8be7.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1711],{31711:function(e,n,a){a.r(n);var t=a(23430),o=a(18489),i=a(50390),r=a(34424),l=a(66946),s=a(81378),c=a(86509),d=a(4285),u=a(25594),m=a(28948),p=a(44149),h=a(72462),x=a(92440),f=a(27207),Z=a(66964),b=a(76352),g=a(67754),v=a(30324),j=a(11387),C=a(62559),k=(0,r.$j)(null,{setModalErrorSnackMessage:p.zb});n.default=(0,d.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)({},h.DF),h.ID))}))(k((function(e){var n=e.classes,a=e.open,o=e.enabled,r=e.cfg,c=e.selectedBucket,d=e.closeModalAndRefresh,p=e.setModalErrorSnackMessage,h=(0,i.useState)(!1),k=(0,t.Z)(h,2),N=k[0],y=k[1],S=(0,i.useState)(!1),w=(0,t.Z)(S,2),L=w[0],F=w[1],M=(0,i.useState)("hard"),P=(0,t.Z)(M,2),E=P[0],I=P[1],B=(0,i.useState)("1"),O=(0,t.Z)(B,2),R=O[0],q=O[1],D=(0,i.useState)("TiB"),z=(0,t.Z)(D,2),W=z[0],T=z[1];(0,i.useEffect)((function(){if(o&&(F(!0),r)){I(r.type),q("".concat(r.quota)),T("B");for(var e="B",n=r.quota,a=0;a1?L[1]:"OFF"}),(0,f.jsx)(Z,{checked:b,onChange:o,color:"primary",name:s,inputProps:{"aria-label":"primary checkbox"},disabled:v,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:r}),!C&&(0,f.jsx)("span",{className:(0,x.Z)(w.indicatorLabel,(0,t.Z)({},w.indicatorLabelOn,b)),children:L?L[0]:"ON"})]});return C?F:(0,f.jsx)("div",{className:w.divContainer,children:(0,f.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[(0,f.jsx)(m.ZP,{item:!0,xs:!0,children:(0,f.jsxs)(m.ZP,{container:!0,children:[(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==a&&(0,f.jsxs)(c.Z,{htmlFor:l,className:w.inputLabel,children:[(0,f.jsx)("span",{children:a}),""!==N&&(0,f.jsx)("div",{className:w.tooltipContainer,children:(0,f.jsx)(d.Z,{title:N,placement:"top-start",children:(0,f.jsx)("div",{className:w.tooltip,children:(0,f.jsx)(h.Z,{})})})})]})}),(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==S&&(0,f.jsx)(u.Z,{component:"p",className:w.fieldDescription,children:S})})]})}),(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:w.switchContainer,children:F})]})})}))},66964:function(e,n,a){var t=a(18489),o=a(50390),i=a(12066),r=a(25594),l=a(14602),s=a(94187),c=a(95467),d=a(86509),u=a(62449),m=a(4285),p=a(72462),h=a(97538),x=a(44977),f=a(62559),Z=(0,u.Z)((function(e){return(0,d.Z)((0,t.Z)({},p.gM))}));function b(e){var n=Z();return(0,f.jsx)(i.Z,(0,t.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,a=e.onChange,i=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,Z=e.autoComplete,g=void 0===Z?"off":Z,v=e.disabled,j=void 0!==v&&v,C=e.multiline,k=void 0!==C&&C,N=e.tooltip,y=void 0===N?"":N,S=e.index,w=void 0===S?0:S,L=e.error,F=void 0===L?"":L,M=e.required,P=void 0!==M&&M,E=e.placeholder,I=void 0===E?"":E,B=e.min,O=e.max,R=e.overlayIcon,q=void 0===R?null:R,D=e.overlayObject,z=void 0===D?null:D,W=e.extraInputProps,T=void 0===W?{}:W,_=e.overlayAction,A=e.noLabelMinWidth,H=void 0!==A&&A,$=e.pattern,Y=void 0===$?"":$,Q=e.autoFocus,U=void 0!==Q&&Q,V=e.classes,K=e.className,X=void 0===K?"":K,G=(0,t.Z)({"data-index":w},T);return"number"===p&&B&&(G.min=B),"number"===p&&O&&(G.max=O),""!==Y&&(G.pattern=Y),(0,f.jsx)(o.Fragment,{children:(0,f.jsxs)(r.ZP,{container:!0,className:(0,x.Z)(""!==X?X:"",""!==F?V.errorInField:V.inputBoxContainer),children:[""!==n&&(0,f.jsxs)(l.Z,{htmlFor:d,className:H?V.noMinWidthLabel:V.inputLabel,children:[(0,f.jsxs)("span",{children:[n,P?"*":""]}),""!==y&&(0,f.jsx)("div",{className:V.tooltipContainer,children:(0,f.jsx)(s.Z,{title:y,placement:"top-start",children:(0,f.jsx)("div",{className:V.tooltip,children:(0,f.jsx)(h.Z,{})})})})]}),(0,f.jsxs)("div",{className:V.textBoxContainer,children:[(0,f.jsx)(b,{id:d,name:u,fullWidth:!0,value:i,autoFocus:U,disabled:j,onChange:a,type:p,multiline:k,autoComplete:g,inputProps:G,error:""!==F,helperText:F,placeholder:I,className:V.inputRebase}),q&&(0,f.jsx)("div",{className:"".concat(V.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,f.jsx)(c.Z,{onClick:_?function(){_()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:q})}),z&&(0,f.jsx)("div",{className:"".concat(V.overlayAction," ").concat(""!==n?"withLabel":""),children:z})]})]})})}))},27207:function(e,n,a){var t=a(36222),o=a(18489),i=(a(50390),a(44977)),r=a(25594),l=a(82420),s=a(66695),c=a(98893),d=a(14602),u=a(94187),m=a(86509),p=a(4285),h=a(62449),x=a(72462),f=a(97538),Z=a(62559),b=(0,h.Z)((0,o.Z)({root:{"&:hover":{backgroundColor:"transparent"}}},x.FU)),g=function(e){var n=b();return(0,Z.jsx)(c.Z,(0,o.Z)({className:n.root,disableRipple:!0,color:"default",checkedIcon:(0,Z.jsx)("span",{className:n.radioSelectedIcon}),icon:(0,Z.jsx)("span",{className:n.radioUnselectedIcon})},e))};n.Z=(0,p.Z)((function(e){return(0,m.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},x.YI),x.Hr),{},{optionLabel:{"&.Mui-disabled":{"& .MuiFormControlLabel-label":{color:"#9c9c9c"}},"&:last-child":{marginRight:0},"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E"}},checkedOption:{"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E",fontWeight:700}}}))}))((function(e){var n=e.selectorOptions,a=void 0===n?[]:n,o=e.currentSelection,c=e.label,m=e.id,p=e.name,h=e.onChange,x=e.tooltip,b=void 0===x?"":x,v=e.disableOptions,j=void 0!==v&&v,C=e.classes,k=e.displayInColumn,N=void 0!==k&&k;return(0,Z.jsxs)(r.ZP,{container:!0,alignItems:"center",children:[(0,Z.jsx)(r.ZP,{item:!0,xs:!0,children:(0,Z.jsxs)(d.Z,{htmlFor:m,className:C.inputLabel,children:[(0,Z.jsx)("span",{children:c}),""!==b&&(0,Z.jsx)("div",{className:C.tooltipContainer,children:(0,Z.jsx)(u.Z,{title:b,placement:"top-start",children:(0,Z.jsx)("div",{children:(0,Z.jsx)(f.Z,{})})})})]})}),(0,Z.jsx)(r.ZP,{item:!0,xs:!0,className:C.radioOptionsLayout,children:(0,Z.jsx)(l.Z,{"aria-label":m,id:m,name:p,value:o,onChange:h,row:!N,style:{display:"block",textAlign:"right"},children:a.map((function(e){return(0,Z.jsx)(s.Z,{value:e.value,control:(0,Z.jsx)(g,{}),label:e.label,disabled:j,className:(0,i.Z)(C.optionLabel,(0,t.Z)({},C.checkedOption,e.value===o))},"rd-".concat(p,"-").concat(e.value))}))})})]})}))},67754:function(e,n,a){var t=a(18489),o=a(50390),i=a(25594),r=a(46413),l=a(14602),s=a(94187),c=a(47554),d=a(43965),u=a(31680),m=a(86509),p=a(4285),h=a(72462),x=a(97538),f=a(62559),Z=(0,p.Z)((function(e){return(0,m.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(r.ZP);n.Z=(0,p.Z)((function(e){return(0,m.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},h.YI),h.Hr),{},{inputLabel:(0,t.Z)((0,t.Z)({},h.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var n=e.classes,a=e.id,t=e.name,r=e.onChange,m=e.options,p=e.label,h=e.tooltip,b=void 0===h?"":h,g=e.value,v=e.disabled,j=void 0!==v&&v;return(0,f.jsx)(o.Fragment,{children:(0,f.jsxs)(i.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==p&&(0,f.jsxs)(l.Z,{htmlFor:a,className:n.inputLabel,children:[(0,f.jsx)("span",{children:p}),""!==b&&(0,f.jsx)("div",{className:n.tooltipContainer,children:(0,f.jsx)(s.Z,{title:b,placement:"top-start",children:(0,f.jsx)("div",{className:n.tooltip,children:(0,f.jsx)(x.Z,{})})})})]}),(0,f.jsx)(c.Z,{fullWidth:!0,children:(0,f.jsx)(d.Z,{id:a,name:t,value:g,onChange:r,input:(0,f.jsx)(Z,{}),disabled:j,children:m.map((function(e){return(0,f.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(t,"-").concat(e.label))}))})})]})})}))},76352:function(e,n,a){a.d(n,{Z:function(){return w}});var t,o=a(23430),i=a(18489),r=a(50390),l=a(34424),s=a(95467),c=a(97771),d=a(84402),u=a(78426),m=a(93085),p=a(86509),h=a(4285),x=a(72462),f=a(44149),Z=a(38342),b=a.n(Z),g=a(92125),v=a(19538),j=a(21278),C=a(62559),k=function(){clearInterval(t)},N={displayErrorMessage:f.zb},y=(0,l.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),N)((0,h.Z)((function(e){return(0,p.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var n=e.classes,a=e.modalSnackMessage,i=e.displayErrorMessage,l=e.customStyle,s=(0,r.useState)(!1),c=(0,o.Z)(s,2),d=c[0],u=c[1],m=(0,r.useState)(!1),p=(0,o.Z)(m,2),h=p[0],x=p[1],f=(0,r.useCallback)((function(){x(!1)}),[]);(0,r.useEffect)((function(){h||(i({detailedError:"",errorMessage:""}),u(!1))}),[i,h]),(0,r.useEffect)((function(){""!==a.message&&"error"===a.type&&x(!0)}),[f,a.message,a.type]);var Z=b()(a,"message",""),N=b()(a,"detailedErrorMsg","");return"error"!==a.type||""===Z?null:(0,C.jsx)(r.Fragment,{children:(0,C.jsxs)("div",{className:"".concat(n.modalErrorContainer," ").concat(h?n.modalErrorShow:""),style:l,onMouseOver:k,onMouseLeave:function(){t=setInterval(f,1e4)},children:[(0,C.jsx)("button",{className:n.closeButton,onClick:f,children:(0,C.jsx)(j.Z,{})}),(0,C.jsxs)("div",{className:n.errorTitle,children:[(0,C.jsx)("span",{className:n.messageIcon,children:(0,C.jsx)(v.Z,{})}),(0,C.jsx)("span",{className:n.errorLabel,children:Z})]}),""!==N&&(0,C.jsxs)(r.Fragment,{children:[(0,C.jsx)("div",{className:n.detailsContainerLink,children:(0,C.jsxs)("button",{className:n.detailsButton,onClick:function(){u(!d)},children:["Details",(0,C.jsx)(g.Z,{className:"".concat(n.arrowElement," ").concat(d?n.arrowOpen:"")})]})}),(0,C.jsx)("div",{className:"".concat(n.extraDetailsContainer," ").concat(d?n.extraDetailsOpen:""),children:N})]})]})})}))),S=(0,l.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:f.MK}),w=(0,h.Z)((function(e){return(0,p.Z)((0,i.Z)((0,i.Z)({},x.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},x.sN))}))(S((function(e){var n=e.onClose,a=e.modalOpen,t=e.title,l=e.children,p=e.classes,h=e.wideLimit,x=void 0===h||h,f=e.modalSnackMessage,Z=e.noContentPadding,b=e.setModalSnackMessage,g=e.titleIcon,v=void 0===g?null:g,k=(0,r.useState)(!1),N=(0,o.Z)(k,2),S=N[0],w=N[1];(0,r.useEffect)((function(){b("")}),[b]),(0,r.useEffect)((function(){if(f){if(""===f.message)return void w(!1);"error"!==f.type&&w(!0)}}),[f]);var L=x?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},F="";return f&&(F=f.detailedErrorMsg,(""===f.detailedErrorMsg||f.detailedErrorMsg.length<5)&&(F=f.message)),(0,C.jsxs)(d.Z,(0,i.Z)((0,i.Z)({open:a,classes:p},L),{},{scroll:"paper",onClose:function(e,a){"backdropClick"!==a&&n()},className:p.root,children:[(0,C.jsxs)(u.Z,{className:p.title,children:[(0,C.jsxs)("div",{className:p.titleText,children:[v," ",t]}),(0,C.jsx)("div",{className:p.closeContainer,children:(0,C.jsx)(s.Z,{"aria-label":"close",className:p.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,C.jsx)(j.Z,{})})})]}),(0,C.jsx)(y,{}),(0,C.jsx)(c.Z,{open:S,className:p.snackBarModal,onClose:function(){w(!1),b("")},message:F,ContentProps:{className:"".concat(p.snackBar," ").concat(f&&"error"===f.type?p.errorSnackBar:"")},autoHideDuration:f&&"error"===f.type?1e4:5e3}),(0,C.jsx)(m.Z,{className:Z?"":p.content,children:l})]}))})))}}]); -//# sourceMappingURL=1711.a046e26c.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1711],{31711:function(e,n,a){a.r(n);var t=a(23430),o=a(18489),i=a(50390),r=a(34424),l=a(66946),s=a(81378),c=a(86509),d=a(4285),u=a(25594),m=a(28948),p=a(44149),h=a(72462),x=a(92440),f=a(27207),Z=a(66964),b=a(76352),g=a(67754),v=a(30324),j=a(98280),C=a(62559),k=(0,r.$j)(null,{setModalErrorSnackMessage:p.zb});n.default=(0,d.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)({},h.DF),h.ID))}))(k((function(e){var n=e.classes,a=e.open,o=e.enabled,r=e.cfg,c=e.selectedBucket,d=e.closeModalAndRefresh,p=e.setModalErrorSnackMessage,h=(0,i.useState)(!1),k=(0,t.Z)(h,2),N=k[0],y=k[1],S=(0,i.useState)(!1),w=(0,t.Z)(S,2),L=w[0],F=w[1],M=(0,i.useState)("hard"),P=(0,t.Z)(M,2),E=P[0],I=P[1],B=(0,i.useState)("1"),O=(0,t.Z)(B,2),R=O[0],q=O[1],D=(0,i.useState)("TiB"),z=(0,t.Z)(D,2),W=z[0],T=z[1];(0,i.useEffect)((function(){if(o&&(F(!0),r)){I(r.type),q("".concat(r.quota)),T("B");for(var e="B",n=r.quota,a=0;a1?L[1]:"OFF"}),(0,f.jsx)(Z,{checked:b,onChange:o,color:"primary",name:s,inputProps:{"aria-label":"primary checkbox"},disabled:v,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:r}),!C&&(0,f.jsx)("span",{className:(0,x.Z)(w.indicatorLabel,(0,t.Z)({},w.indicatorLabelOn,b)),children:L?L[0]:"ON"})]});return C?F:(0,f.jsx)("div",{className:w.divContainer,children:(0,f.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[(0,f.jsx)(m.ZP,{item:!0,xs:!0,children:(0,f.jsxs)(m.ZP,{container:!0,children:[(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==a&&(0,f.jsxs)(c.Z,{htmlFor:l,className:w.inputLabel,children:[(0,f.jsx)("span",{children:a}),""!==N&&(0,f.jsx)("div",{className:w.tooltipContainer,children:(0,f.jsx)(d.Z,{title:N,placement:"top-start",children:(0,f.jsx)("div",{className:w.tooltip,children:(0,f.jsx)(h.Z,{})})})})]})}),(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==S&&(0,f.jsx)(u.Z,{component:"p",className:w.fieldDescription,children:S})})]})}),(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:w.switchContainer,children:F})]})})}))},66964:function(e,n,a){var t=a(18489),o=a(50390),i=a(12066),r=a(25594),l=a(36554),s=a(94187),c=a(95467),d=a(86509),u=a(62449),m=a(4285),p=a(72462),h=a(97538),x=a(44977),f=a(62559),Z=(0,u.Z)((function(e){return(0,d.Z)((0,t.Z)({},p.gM))}));function b(e){var n=Z();return(0,f.jsx)(i.Z,(0,t.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,a=e.onChange,i=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,Z=e.autoComplete,g=void 0===Z?"off":Z,v=e.disabled,j=void 0!==v&&v,C=e.multiline,k=void 0!==C&&C,N=e.tooltip,y=void 0===N?"":N,S=e.index,w=void 0===S?0:S,L=e.error,F=void 0===L?"":L,M=e.required,P=void 0!==M&&M,E=e.placeholder,I=void 0===E?"":E,B=e.min,O=e.max,R=e.overlayIcon,q=void 0===R?null:R,D=e.overlayObject,z=void 0===D?null:D,W=e.extraInputProps,T=void 0===W?{}:W,_=e.overlayAction,A=e.noLabelMinWidth,H=void 0!==A&&A,$=e.pattern,Y=void 0===$?"":$,Q=e.autoFocus,U=void 0!==Q&&Q,V=e.classes,K=e.className,X=void 0===K?"":K,G=(0,t.Z)({"data-index":w},T);return"number"===p&&B&&(G.min=B),"number"===p&&O&&(G.max=O),""!==Y&&(G.pattern=Y),(0,f.jsx)(o.Fragment,{children:(0,f.jsxs)(r.ZP,{container:!0,className:(0,x.Z)(""!==X?X:"",""!==F?V.errorInField:V.inputBoxContainer),children:[""!==n&&(0,f.jsxs)(l.Z,{htmlFor:d,className:H?V.noMinWidthLabel:V.inputLabel,children:[(0,f.jsxs)("span",{children:[n,P?"*":""]}),""!==y&&(0,f.jsx)("div",{className:V.tooltipContainer,children:(0,f.jsx)(s.Z,{title:y,placement:"top-start",children:(0,f.jsx)("div",{className:V.tooltip,children:(0,f.jsx)(h.Z,{})})})})]}),(0,f.jsxs)("div",{className:V.textBoxContainer,children:[(0,f.jsx)(b,{id:d,name:u,fullWidth:!0,value:i,autoFocus:U,disabled:j,onChange:a,type:p,multiline:k,autoComplete:g,inputProps:G,error:""!==F,helperText:F,placeholder:I,className:V.inputRebase}),q&&(0,f.jsx)("div",{className:"".concat(V.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,f.jsx)(c.Z,{onClick:_?function(){_()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:q})}),z&&(0,f.jsx)("div",{className:"".concat(V.overlayAction," ").concat(""!==n?"withLabel":""),children:z})]})]})})}))},27207:function(e,n,a){var t=a(36222),o=a(18489),i=(a(50390),a(44977)),r=a(25594),l=a(82420),s=a(66695),c=a(98893),d=a(36554),u=a(94187),m=a(86509),p=a(4285),h=a(62449),x=a(72462),f=a(97538),Z=a(62559),b=(0,h.Z)((0,o.Z)({root:{"&:hover":{backgroundColor:"transparent"}}},x.FU)),g=function(e){var n=b();return(0,Z.jsx)(c.Z,(0,o.Z)({className:n.root,disableRipple:!0,color:"default",checkedIcon:(0,Z.jsx)("span",{className:n.radioSelectedIcon}),icon:(0,Z.jsx)("span",{className:n.radioUnselectedIcon})},e))};n.Z=(0,p.Z)((function(e){return(0,m.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},x.YI),x.Hr),{},{optionLabel:{"&.Mui-disabled":{"& .MuiFormControlLabel-label":{color:"#9c9c9c"}},"&:last-child":{marginRight:0},"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E"}},checkedOption:{"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E",fontWeight:700}}}))}))((function(e){var n=e.selectorOptions,a=void 0===n?[]:n,o=e.currentSelection,c=e.label,m=e.id,p=e.name,h=e.onChange,x=e.tooltip,b=void 0===x?"":x,v=e.disableOptions,j=void 0!==v&&v,C=e.classes,k=e.displayInColumn,N=void 0!==k&&k;return(0,Z.jsxs)(r.ZP,{container:!0,alignItems:"center",children:[(0,Z.jsx)(r.ZP,{item:!0,xs:!0,children:(0,Z.jsxs)(d.Z,{htmlFor:m,className:C.inputLabel,children:[(0,Z.jsx)("span",{children:c}),""!==b&&(0,Z.jsx)("div",{className:C.tooltipContainer,children:(0,Z.jsx)(u.Z,{title:b,placement:"top-start",children:(0,Z.jsx)("div",{children:(0,Z.jsx)(f.Z,{})})})})]})}),(0,Z.jsx)(r.ZP,{item:!0,xs:!0,className:C.radioOptionsLayout,children:(0,Z.jsx)(l.Z,{"aria-label":m,id:m,name:p,value:o,onChange:h,row:!N,style:{display:"block",textAlign:"right"},children:a.map((function(e){return(0,Z.jsx)(s.Z,{value:e.value,control:(0,Z.jsx)(g,{}),label:e.label,disabled:j,className:(0,i.Z)(C.optionLabel,(0,t.Z)({},C.checkedOption,e.value===o))},"rd-".concat(p,"-").concat(e.value))}))})})]})}))},67754:function(e,n,a){var t=a(18489),o=a(50390),i=a(25594),r=a(46413),l=a(36554),s=a(94187),c=a(47554),d=a(43965),u=a(31680),m=a(86509),p=a(4285),h=a(72462),x=a(97538),f=a(62559),Z=(0,p.Z)((function(e){return(0,m.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(r.ZP);n.Z=(0,p.Z)((function(e){return(0,m.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},h.YI),h.Hr),{},{inputLabel:(0,t.Z)((0,t.Z)({},h.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var n=e.classes,a=e.id,t=e.name,r=e.onChange,m=e.options,p=e.label,h=e.tooltip,b=void 0===h?"":h,g=e.value,v=e.disabled,j=void 0!==v&&v;return(0,f.jsx)(o.Fragment,{children:(0,f.jsxs)(i.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==p&&(0,f.jsxs)(l.Z,{htmlFor:a,className:n.inputLabel,children:[(0,f.jsx)("span",{children:p}),""!==b&&(0,f.jsx)("div",{className:n.tooltipContainer,children:(0,f.jsx)(s.Z,{title:b,placement:"top-start",children:(0,f.jsx)("div",{className:n.tooltip,children:(0,f.jsx)(x.Z,{})})})})]}),(0,f.jsx)(c.Z,{fullWidth:!0,children:(0,f.jsx)(d.Z,{id:a,name:t,value:g,onChange:r,input:(0,f.jsx)(Z,{}),disabled:j,children:m.map((function(e){return(0,f.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(t,"-").concat(e.label))}))})})]})})}))},76352:function(e,n,a){a.d(n,{Z:function(){return w}});var t,o=a(23430),i=a(18489),r=a(50390),l=a(34424),s=a(95467),c=a(97771),d=a(84402),u=a(78426),m=a(93085),p=a(86509),h=a(4285),x=a(72462),f=a(44149),Z=a(38342),b=a.n(Z),g=a(92125),v=a(19538),j=a(21278),C=a(62559),k=function(){clearInterval(t)},N={displayErrorMessage:f.zb},y=(0,l.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),N)((0,h.Z)((function(e){return(0,p.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var n=e.classes,a=e.modalSnackMessage,i=e.displayErrorMessage,l=e.customStyle,s=(0,r.useState)(!1),c=(0,o.Z)(s,2),d=c[0],u=c[1],m=(0,r.useState)(!1),p=(0,o.Z)(m,2),h=p[0],x=p[1],f=(0,r.useCallback)((function(){x(!1)}),[]);(0,r.useEffect)((function(){h||(i({detailedError:"",errorMessage:""}),u(!1))}),[i,h]),(0,r.useEffect)((function(){""!==a.message&&"error"===a.type&&x(!0)}),[f,a.message,a.type]);var Z=b()(a,"message",""),N=b()(a,"detailedErrorMsg","");return"error"!==a.type||""===Z?null:(0,C.jsx)(r.Fragment,{children:(0,C.jsxs)("div",{className:"".concat(n.modalErrorContainer," ").concat(h?n.modalErrorShow:""),style:l,onMouseOver:k,onMouseLeave:function(){t=setInterval(f,1e4)},children:[(0,C.jsx)("button",{className:n.closeButton,onClick:f,children:(0,C.jsx)(j.Z,{})}),(0,C.jsxs)("div",{className:n.errorTitle,children:[(0,C.jsx)("span",{className:n.messageIcon,children:(0,C.jsx)(v.Z,{})}),(0,C.jsx)("span",{className:n.errorLabel,children:Z})]}),""!==N&&(0,C.jsxs)(r.Fragment,{children:[(0,C.jsx)("div",{className:n.detailsContainerLink,children:(0,C.jsxs)("button",{className:n.detailsButton,onClick:function(){u(!d)},children:["Details",(0,C.jsx)(g.Z,{className:"".concat(n.arrowElement," ").concat(d?n.arrowOpen:"")})]})}),(0,C.jsx)("div",{className:"".concat(n.extraDetailsContainer," ").concat(d?n.extraDetailsOpen:""),children:N})]})]})})}))),S=(0,l.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:f.MK}),w=(0,h.Z)((function(e){return(0,p.Z)((0,i.Z)((0,i.Z)({},x.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},x.sN))}))(S((function(e){var n=e.onClose,a=e.modalOpen,t=e.title,l=e.children,p=e.classes,h=e.wideLimit,x=void 0===h||h,f=e.modalSnackMessage,Z=e.noContentPadding,b=e.setModalSnackMessage,g=e.titleIcon,v=void 0===g?null:g,k=(0,r.useState)(!1),N=(0,o.Z)(k,2),S=N[0],w=N[1];(0,r.useEffect)((function(){b("")}),[b]),(0,r.useEffect)((function(){if(f){if(""===f.message)return void w(!1);"error"!==f.type&&w(!0)}}),[f]);var L=x?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},F="";return f&&(F=f.detailedErrorMsg,(""===f.detailedErrorMsg||f.detailedErrorMsg.length<5)&&(F=f.message)),(0,C.jsxs)(d.Z,(0,i.Z)((0,i.Z)({open:a,classes:p},L),{},{scroll:"paper",onClose:function(e,a){"backdropClick"!==a&&n()},className:p.root,children:[(0,C.jsxs)(u.Z,{className:p.title,children:[(0,C.jsxs)("div",{className:p.titleText,children:[v," ",t]}),(0,C.jsx)("div",{className:p.closeContainer,children:(0,C.jsx)(s.Z,{"aria-label":"close",className:p.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,C.jsx)(j.Z,{})})})]}),(0,C.jsx)(y,{}),(0,C.jsx)(c.Z,{open:S,className:p.snackBarModal,onClose:function(){w(!1),b("")},message:F,ContentProps:{className:"".concat(p.snackBar," ").concat(f&&"error"===f.type?p.errorSnackBar:"")},autoHideDuration:f&&"error"===f.type?1e4:5e3}),(0,C.jsx)(m.Z,{className:Z?"":p.content,children:l})]}))})))}}]); +//# sourceMappingURL=1711.669b8be7.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1711.a046e26c.chunk.js.map b/portal-ui/build/static/js/1711.669b8be7.chunk.js.map similarity index 66% rename from portal-ui/build/static/js/1711.a046e26c.chunk.js.map rename to portal-ui/build/static/js/1711.669b8be7.chunk.js.map index 53306b05b..e6d89ad05 100644 --- a/portal-ui/build/static/js/1711.a046e26c.chunk.js.map +++ b/portal-ui/build/static/js/1711.669b8be7.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/1711.a046e26c.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/EnableQuota.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.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 { connect } from \"react-redux\";\nimport { Button, LinearProgress, SelectChangeEvent } 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 { factorForDropdown, getBytes, units } from \"../../../../common/utils\";\nimport { BucketQuota } from \"../types\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport api from \"../../../../common/api\";\nimport { BucketQuotaIcon } from \"../../../../icons\";\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 setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst EnableQuota = ({\n classes,\n open,\n enabled,\n cfg,\n selectedBucket,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: IEnableQuotaProps) => {\n const [loading, setLoading] = useState(false);\n const [quotaEnabled, setQuotaEnabled] = useState(false);\n const [quotaType, setQuotaType] = useState(\"hard\");\n const [quotaSize, setQuotaSize] = useState(\"1\");\n const [quotaUnit, setQuotaUnit] = useState(\"TiB\");\n\n useEffect(() => {\n if (enabled) {\n setQuotaEnabled(true);\n if (cfg) {\n setQuotaType(cfg.type);\n setQuotaSize(`${cfg.quota}`);\n setQuotaUnit(`B`);\n\n let maxUnit = \"B\";\n let maxQuota = cfg.quota;\n\n for (let i = 0; i < units.length; i++) {\n if (cfg.quota % Math.pow(1024, i) === 0) {\n maxQuota = cfg.quota / Math.pow(1024, i);\n maxUnit = units[i];\n } else {\n break;\n }\n }\n setQuotaSize(`${maxQuota}`);\n setQuotaUnit(maxUnit);\n }\n }\n }, [enabled, cfg]);\n\n const enableBucketEncryption = (event: React.FormEvent) => {\n event.preventDefault();\n if (loading) {\n return;\n }\n let req = {\n enabled: quotaEnabled,\n amount: parseInt(getBytes(quotaSize, quotaUnit, false)),\n quota_type: quotaType,\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 setModalErrorSnackMessage(err);\n });\n };\n\n return (\n {\n closeModalAndRefresh();\n }}\n title=\"Enable Bucket Quota\"\n titleIcon={}\n >\n ) => {\n enableBucketEncryption(e);\n }}\n >\n \n \n \n ) => {\n setQuotaEnabled(event.target.checked);\n }}\n label={\"Quota\"}\n />\n \n {quotaEnabled && (\n \n \n ) => {\n setQuotaType(e.target.value as string);\n }}\n selectorOptions={[{ value: \"hard\", label: \"Hard\" }]}\n />\n \n \n \n \n ) => {\n setQuotaSize(e.target.value);\n }}\n label=\"Quota\"\n value={quotaSize}\n required\n min=\"1\"\n />\n \n \n
\n ) => {\n setQuotaUnit(e.target.value as string);\n }}\n options={factorForDropdown()}\n />\n
\n
\n
\n
\n
\n )}\n
\n \n {\n closeModalAndRefresh();\n }}\n >\n Cancel\n \n\n \n Save\n \n \n {loading && (\n \n \n \n )}\n
\n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(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 .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n
\n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n
\n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n"],"names":["connector","connect","setModalErrorSnackMessage","withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","classes","open","enabled","cfg","selectedBucket","closeModalAndRefresh","useState","loading","setLoading","quotaEnabled","setQuotaEnabled","quotaType","setQuotaType","quotaSize","setQuotaSize","quotaUnit","setQuotaUnit","useEffect","type","quota","maxUnit","maxQuota","i","units","Math","pow","modalOpen","onClose","title","titleIcon","noValidate","autoComplete","onSubmit","e","event","preventDefault","req","amount","parseInt","getBytes","quota_type","api","then","catch","err","enableBucketEncryption","container","item","xs","className","formScrollable","formFieldRow","value","id","name","checked","onChange","target","label","currentSelection","selectorOptions","required","min","style","width","options","factorForDropdown","modalButtonBar","variant","color","disabled","onClick","StyledSwitch","root","height","padding","margin","switchBase","transform","palette","common","white","backgroundColor","boxShadow","opacity","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","focusVisible","switchContainer","display","alignItems","justifyContent","Switch","divContainer","marginBottom","indicatorLabelOn","fontWeight","indicatorLabel","fontSize","fieldDescription","marginTop","tooltip","actionsTray","fieldBasic","switchOnly","description","indicatorLabels","switchComponent","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","sm","md","htmlFor","inputLabel","tooltipContainer","placement","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","multiline","index","error","placeholder","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","size","radioStyles","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","icon","radioUnselectedIcon","optionLabel","marginRight","checkedOption","disableOptions","displayInColumn","radioOptionsLayout","row","map","selectorOption","control","SelectStyled","lineHeight","spacing","input","borderColor","InputBase","fieldContainer","flexFlow","option","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","borderLeftWidth","zIndex","left","transitionDuration","modalErrorShow","closeButton","cursor","errorTitle","errorLabel","messageIcon","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","detailedError","errorMessage","message","get","messageDetails","Fragment","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","Dialog","scroll","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/1711.669b8be7.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/EnableQuota.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.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 { connect } from \"react-redux\";\nimport { Button, LinearProgress, SelectChangeEvent } 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 { factorForDropdown, getBytes, units } from \"../../../../common/utils\";\nimport { BucketQuota } from \"../types\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport api from \"../../../../common/api\";\nimport { BucketQuotaIcon } from \"../../../../icons\";\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 setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst EnableQuota = ({\n classes,\n open,\n enabled,\n cfg,\n selectedBucket,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: IEnableQuotaProps) => {\n const [loading, setLoading] = useState(false);\n const [quotaEnabled, setQuotaEnabled] = useState(false);\n const [quotaType, setQuotaType] = useState(\"hard\");\n const [quotaSize, setQuotaSize] = useState(\"1\");\n const [quotaUnit, setQuotaUnit] = useState(\"TiB\");\n\n useEffect(() => {\n if (enabled) {\n setQuotaEnabled(true);\n if (cfg) {\n setQuotaType(cfg.type);\n setQuotaSize(`${cfg.quota}`);\n setQuotaUnit(`B`);\n\n let maxUnit = \"B\";\n let maxQuota = cfg.quota;\n\n for (let i = 0; i < units.length; i++) {\n if (cfg.quota % Math.pow(1024, i) === 0) {\n maxQuota = cfg.quota / Math.pow(1024, i);\n maxUnit = units[i];\n } else {\n break;\n }\n }\n setQuotaSize(`${maxQuota}`);\n setQuotaUnit(maxUnit);\n }\n }\n }, [enabled, cfg]);\n\n const enableBucketEncryption = (event: React.FormEvent) => {\n event.preventDefault();\n if (loading) {\n return;\n }\n let req = {\n enabled: quotaEnabled,\n amount: parseInt(getBytes(quotaSize, quotaUnit, false)),\n quota_type: quotaType,\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 setModalErrorSnackMessage(err);\n });\n };\n\n return (\n {\n closeModalAndRefresh();\n }}\n title=\"Enable Bucket Quota\"\n titleIcon={}\n >\n ) => {\n enableBucketEncryption(e);\n }}\n >\n \n \n \n ) => {\n setQuotaEnabled(event.target.checked);\n }}\n label={\"Quota\"}\n />\n \n {quotaEnabled && (\n \n \n ) => {\n setQuotaType(e.target.value as string);\n }}\n selectorOptions={[{ value: \"hard\", label: \"Hard\" }]}\n />\n \n \n \n \n ) => {\n setQuotaSize(e.target.value);\n }}\n label=\"Quota\"\n value={quotaSize}\n required\n min=\"1\"\n />\n \n \n
\n ) => {\n setQuotaUnit(e.target.value as string);\n }}\n options={factorForDropdown()}\n />\n
\n
\n
\n
\n
\n )}\n
\n \n {\n closeModalAndRefresh();\n }}\n >\n Cancel\n \n\n \n Save\n \n \n {loading && (\n \n \n \n )}\n
\n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(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 .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n
\n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n"],"names":["connector","connect","setModalErrorSnackMessage","withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","classes","open","enabled","cfg","selectedBucket","closeModalAndRefresh","useState","loading","setLoading","quotaEnabled","setQuotaEnabled","quotaType","setQuotaType","quotaSize","setQuotaSize","quotaUnit","setQuotaUnit","useEffect","type","quota","maxUnit","maxQuota","i","units","Math","pow","modalOpen","onClose","title","titleIcon","noValidate","autoComplete","onSubmit","e","event","preventDefault","req","amount","parseInt","getBytes","quota_type","api","then","catch","err","enableBucketEncryption","container","item","xs","className","formScrollable","formFieldRow","value","id","name","checked","onChange","target","label","currentSelection","selectorOptions","required","min","style","width","options","factorForDropdown","modalButtonBar","variant","color","disabled","onClick","StyledSwitch","root","height","padding","margin","switchBase","transform","palette","common","white","backgroundColor","boxShadow","opacity","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","focusVisible","switchContainer","display","alignItems","justifyContent","Switch","divContainer","marginBottom","indicatorLabelOn","fontWeight","indicatorLabel","fontSize","fieldDescription","marginTop","tooltip","actionsTray","fieldBasic","switchOnly","description","indicatorLabels","switchComponent","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","sm","md","htmlFor","inputLabel","tooltipContainer","placement","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","multiline","index","error","placeholder","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","size","radioStyles","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","icon","radioUnselectedIcon","optionLabel","marginRight","checkedOption","disableOptions","displayInColumn","radioOptionsLayout","row","map","selectorOption","control","SelectStyled","lineHeight","spacing","input","borderColor","InputBase","fieldContainer","flexFlow","option","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","borderLeftWidth","zIndex","left","transitionDuration","modalErrorShow","closeButton","cursor","errorTitle","errorLabel","messageIcon","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","detailedError","errorMessage","message","get","messageDetails","Fragment","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","Dialog","scroll","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1719.fbaa408a.chunk.js b/portal-ui/build/static/js/1719.06e59cd5.chunk.js similarity index 98% rename from portal-ui/build/static/js/1719.fbaa408a.chunk.js rename to portal-ui/build/static/js/1719.06e59cd5.chunk.js index 631384e41..a2b45968b 100644 --- a/portal-ui/build/static/js/1719.fbaa408a.chunk.js +++ b/portal-ui/build/static/js/1719.06e59cd5.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1719],{66964:function(n,t,e){var o=e(18489),a=e(50390),i=e(12066),r=e(25594),s=e(14602),l=e(94187),c=e(95467),d=e(86509),u=e(62449),g=e(4285),p=e(72462),m=e(97538),f=e(44977),v=e(62559),Z=(0,u.Z)((function(n){return(0,d.Z)((0,o.Z)({},p.gM))}));function h(n){var t=Z();return(0,v.jsx)(i.Z,(0,o.Z)({InputProps:{classes:t}},n))}t.Z=(0,g.Z)((function(n){return(0,d.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,o.Z)((0,o.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(n){var t=n.label,e=n.onChange,i=n.value,d=n.id,u=n.name,g=n.type,p=void 0===g?"text":g,Z=n.autoComplete,x=void 0===Z?"off":Z,b=n.disabled,I=void 0!==b&&b,j=n.multiline,P=void 0!==j&&j,y=n.tooltip,S=void 0===y?"":y,C=n.index,L=void 0===C?0:C,N=n.error,w=void 0===N?"":N,M=n.required,E=void 0!==M&&M,k=n.placeholder,R=void 0===k?"":k,T=n.min,B=n.max,F=n.overlayIcon,D=void 0===F?null:F,A=n.overlayObject,W=void 0===A?null:A,K=n.extraInputProps,O=void 0===K?{}:K,z=n.overlayAction,G=n.noLabelMinWidth,H=void 0!==G&&G,Y=n.pattern,$=void 0===Y?"":Y,_=n.autoFocus,q=void 0!==_&&_,Q=n.classes,V=n.className,X=void 0===V?"":V,J=(0,o.Z)({"data-index":L},O);return"number"===p&&T&&(J.min=T),"number"===p&&B&&(J.max=B),""!==$&&(J.pattern=$),(0,v.jsx)(a.Fragment,{children:(0,v.jsxs)(r.ZP,{container:!0,className:(0,f.Z)(""!==X?X:"",""!==w?Q.errorInField:Q.inputBoxContainer),children:[""!==t&&(0,v.jsxs)(s.Z,{htmlFor:d,className:H?Q.noMinWidthLabel:Q.inputLabel,children:[(0,v.jsxs)("span",{children:[t,E?"*":""]}),""!==S&&(0,v.jsx)("div",{className:Q.tooltipContainer,children:(0,v.jsx)(l.Z,{title:S,placement:"top-start",children:(0,v.jsx)("div",{className:Q.tooltip,children:(0,v.jsx)(m.Z,{})})})})]}),(0,v.jsxs)("div",{className:Q.textBoxContainer,children:[(0,v.jsx)(h,{id:d,name:u,fullWidth:!0,value:i,autoFocus:q,disabled:I,onChange:e,type:p,multiline:P,autoComplete:x,inputProps:J,error:""!==w,helperText:w,placeholder:R,className:Q.inputRebase}),D&&(0,v.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,v.jsx)(c.Z,{onClick:z?function(){z()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:D})}),W&&(0,v.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==t?"withLabel":""),children:W})]})]})})}))},21639:function(n,t,e){var o=e(23430),a=e(50390),i=e(30324);t.Z=function(n,t){var e=(0,a.useState)(!1),r=(0,o.Z)(e,2),s=r[0],l=r[1];return[s,function(e,o,a){l(!0),i.Z.invoke(e,o,a).then((function(t){l(!1),n(t)})).catch((function(n){l(!1),t(n)}))}]}},60656:function(n,t,e){var o=e(18489),a=e(50390),i=e(84402),r=e(78426),s=e(93085),l=e(7887),c=e(66946),d=e(14476),u=e(95467),g=e(21278),p=e(86509),m=e(4285),f=e(72462),v=e(62559);t.Z=(0,m.Z)((function(n){return(0,p.Z)((0,o.Z)({},f.Qw))}))((function(n){var t=n.isOpen,e=void 0!==t&&t,p=n.onClose,m=n.onCancel,f=n.onConfirm,Z=n.classes,h=void 0===Z?{}:Z,x=n.title,b=void 0===x?"":x,I=n.isLoading,j=n.confirmationContent,P=n.cancelText,y=void 0===P?"Cancel":P,S=n.confirmText,C=void 0===S?"Confirm":S,L=n.confirmButtonProps,N=void 0===L?{}:L,w=n.cancelButtonProps,M=void 0===w?{}:w,E=n.titleIcon,k=void 0===E?null:E;return(0,v.jsxs)(i.Z,{open:e,onClose:function(n,t){"backdropClick"!==t&&p()},className:h.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,v.jsxs)(r.Z,{className:h.title,children:[(0,v.jsxs)("div",{className:h.titleText,children:[k," ",b]}),(0,v.jsx)("div",{className:h.closeContainer,children:(0,v.jsx)(u.Z,{"aria-label":"close",className:h.closeButton,onClick:p,disableRipple:!0,size:"small",children:(0,v.jsx)(g.Z,{})})})]}),(0,v.jsx)(s.Z,{className:h.content,children:j}),(0,v.jsxs)(l.Z,{className:h.actions,children:[(0,v.jsx)(c.Z,(0,o.Z)((0,o.Z)({className:h.cancelButton,onClick:m||p,disabled:I,type:"button"},M),{},{variant:"outlined",color:"primary",children:y})),(0,v.jsx)(d.Z,(0,o.Z)((0,o.Z)({className:h.confirmButton,type:"button",onClick:f,loading:I,disabled:I,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,v.jsx)(a.Fragment,{}),autoFocus:!0},N),{},{children:C}))]})]})}))},51719:function(n,t,e){e.r(t),e.d(t,{default:function(){return P}});var o=e(23430),a=e(18489),i=e(50390),r=e(34424),s=e(86509),l=e(4285),c=e(72462),d=e(28948),u=e(44149),g=e(30324),p=e(17777),m=e(23473),f=e(66964),v=e(25594),Z=e(21639),h=e(60656),x=e(11387),b=e(62559),I=(0,r.$j)(null,{setErrorSnackMessage:u.Ih})((function(n){var t=n.deleteOpen,e=n.selectedPod,a=n.closeDeleteModalAndRefresh,r=n.setErrorSnackMessage,s=(0,i.useState)(""),l=(0,o.Z)(s,2),c=l[0],d=l[1],u=(0,Z.Z)((function(){return a(!0)}),(function(n){return r(n)})),g=(0,o.Z)(u,2),p=g[0],I=g[1];return(0,b.jsx)(h.Z,{title:"Delete Pod",confirmText:"Delete",isOpen:t,titleIcon:(0,b.jsx)(x.Nv,{}),isLoading:p,onConfirm:function(){c===e.name?I("DELETE","/api/v1/namespaces/".concat(e.namespace,"/tenants/").concat(e.tenant,"/pods/").concat(e.name)):r({errorMessage:"Tenant name is incorrect",detailedError:""})},onClose:function(){return a(!1)},confirmButtonProps:{disabled:c!==e.name||p},confirmationContent:(0,b.jsxs)(m.Z,{children:["To continue please type ",(0,b.jsx)("b",{children:e.name})," in the box.",(0,b.jsx)(v.ZP,{item:!0,xs:12,children:(0,b.jsx)(f.Z,{id:"retype-pod",name:"retype-pod",onChange:function(n){d(n.target.value)},label:"",value:c})})]})})})),j=(0,r.$j)((function(n){return{loadingTenant:n.tenants.tenantDetails.loadingTenant}}),{setErrorSnackMessage:u.Ih}),P=(0,l.Z)((function(n){return(0,s.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},c.oZ),c.VX),(0,c.Bz)(n.spacing(4))))}))(j((function(n){var t=n.classes,e=n.match,a=n.history,r=n.loadingTenant,s=(0,i.useState)([]),l=(0,o.Z)(s,2),c=l[0],m=l[1],f=(0,i.useState)(!0),Z=(0,o.Z)(f,2),h=Z[0],x=Z[1],j=(0,i.useState)(!1),P=(0,o.Z)(j,2),y=P[0],S=P[1],C=(0,i.useState)(null),L=(0,o.Z)(C,2),N=L[0],w=L[1],M=e.params.tenantName,E=e.params.tenantNamespace,k=[{type:"view",onClick:function(n){a.push("/namespaces/".concat(E,"/tenants/").concat(M,"/pods/").concat(n.name))}},{type:"delete",onClick:function(n){n.tenant=M,n.namespace=E,w(n),S(!0)}}];return(0,i.useEffect)((function(){r&&x(!0)}),[r]),(0,i.useEffect)((function(){h&&g.Z.invoke("GET","/api/v1/namespaces/".concat(E,"/tenants/").concat(M,"/pods")).then((function(n){for(var t=0;t :not(:first-of-type)":{marginLeft:8}})})),f=i.forwardRef((function(n,t){var e=(0,c.Z)({props:n,name:"MuiDialogActions"}),i=e.className,l=e.disableSpacing,d=void 0!==l&&l,f=(0,o.Z)(e,p),v=(0,a.Z)({},e,{disableSpacing:d}),Z=function(n){var t=n.classes,e={root:["root",!n.disableSpacing&&"spacing"]};return(0,s.Z)(e,u,t)}(v);return(0,g.jsx)(m,(0,a.Z)({className:(0,r.Z)(Z.root,i),ownerState:v,ref:t},f))}))},23473:function(n,t,e){e.d(t,{Z:function(){return f}});var o=e(1048),a=e(32793),i=e(50390),r=e(50076),s=e(8208),l=e(15573),c=e(35477),d=e(10594);function u(n){return(0,d.Z)("MuiDialogContentText",n)}(0,e(43349).Z)("MuiDialogContentText",["root"]);var g=e(62559),p=["children"],m=(0,s.ZP)(c.Z,{shouldForwardProp:function(n){return(0,s.FO)(n)||"classes"===n},name:"MuiDialogContentText",slot:"Root",overridesResolver:function(n,t){return t.root}})({}),f=i.forwardRef((function(n,t){var e=(0,l.Z)({props:n,name:"MuiDialogContentText"}),i=(0,o.Z)(e,p),s=function(n){var t=n.classes,e=(0,r.Z)({root:["root"]},u,t);return(0,a.Z)({},t,e)}(i);return(0,g.jsx)(m,(0,a.Z)({component:"p",variant:"body1",color:"text.secondary",ref:t,ownerState:i},e,{classes:s}))}))}}]); -//# sourceMappingURL=1719.fbaa408a.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1719],{66964:function(n,t,e){var o=e(18489),a=e(50390),i=e(12066),r=e(25594),s=e(36554),l=e(94187),c=e(95467),d=e(86509),u=e(62449),g=e(4285),p=e(72462),m=e(97538),f=e(44977),v=e(62559),Z=(0,u.Z)((function(n){return(0,d.Z)((0,o.Z)({},p.gM))}));function h(n){var t=Z();return(0,v.jsx)(i.Z,(0,o.Z)({InputProps:{classes:t}},n))}t.Z=(0,g.Z)((function(n){return(0,d.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,o.Z)((0,o.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(n){var t=n.label,e=n.onChange,i=n.value,d=n.id,u=n.name,g=n.type,p=void 0===g?"text":g,Z=n.autoComplete,x=void 0===Z?"off":Z,b=n.disabled,I=void 0!==b&&b,j=n.multiline,P=void 0!==j&&j,y=n.tooltip,S=void 0===y?"":y,C=n.index,L=void 0===C?0:C,N=n.error,w=void 0===N?"":N,M=n.required,E=void 0!==M&&M,k=n.placeholder,R=void 0===k?"":k,T=n.min,B=n.max,F=n.overlayIcon,D=void 0===F?null:F,A=n.overlayObject,W=void 0===A?null:A,K=n.extraInputProps,O=void 0===K?{}:K,z=n.overlayAction,G=n.noLabelMinWidth,H=void 0!==G&&G,Y=n.pattern,$=void 0===Y?"":Y,_=n.autoFocus,q=void 0!==_&&_,Q=n.classes,V=n.className,X=void 0===V?"":V,J=(0,o.Z)({"data-index":L},O);return"number"===p&&T&&(J.min=T),"number"===p&&B&&(J.max=B),""!==$&&(J.pattern=$),(0,v.jsx)(a.Fragment,{children:(0,v.jsxs)(r.ZP,{container:!0,className:(0,f.Z)(""!==X?X:"",""!==w?Q.errorInField:Q.inputBoxContainer),children:[""!==t&&(0,v.jsxs)(s.Z,{htmlFor:d,className:H?Q.noMinWidthLabel:Q.inputLabel,children:[(0,v.jsxs)("span",{children:[t,E?"*":""]}),""!==S&&(0,v.jsx)("div",{className:Q.tooltipContainer,children:(0,v.jsx)(l.Z,{title:S,placement:"top-start",children:(0,v.jsx)("div",{className:Q.tooltip,children:(0,v.jsx)(m.Z,{})})})})]}),(0,v.jsxs)("div",{className:Q.textBoxContainer,children:[(0,v.jsx)(h,{id:d,name:u,fullWidth:!0,value:i,autoFocus:q,disabled:I,onChange:e,type:p,multiline:P,autoComplete:x,inputProps:J,error:""!==w,helperText:w,placeholder:R,className:Q.inputRebase}),D&&(0,v.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,v.jsx)(c.Z,{onClick:z?function(){z()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:D})}),W&&(0,v.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==t?"withLabel":""),children:W})]})]})})}))},21639:function(n,t,e){var o=e(23430),a=e(50390),i=e(30324);t.Z=function(n,t){var e=(0,a.useState)(!1),r=(0,o.Z)(e,2),s=r[0],l=r[1];return[s,function(e,o,a){l(!0),i.Z.invoke(e,o,a).then((function(t){l(!1),n(t)})).catch((function(n){l(!1),t(n)}))}]}},60656:function(n,t,e){var o=e(18489),a=e(50390),i=e(84402),r=e(78426),s=e(93085),l=e(7887),c=e(66946),d=e(14476),u=e(95467),g=e(21278),p=e(86509),m=e(4285),f=e(72462),v=e(62559);t.Z=(0,m.Z)((function(n){return(0,p.Z)((0,o.Z)({},f.Qw))}))((function(n){var t=n.isOpen,e=void 0!==t&&t,p=n.onClose,m=n.onCancel,f=n.onConfirm,Z=n.classes,h=void 0===Z?{}:Z,x=n.title,b=void 0===x?"":x,I=n.isLoading,j=n.confirmationContent,P=n.cancelText,y=void 0===P?"Cancel":P,S=n.confirmText,C=void 0===S?"Confirm":S,L=n.confirmButtonProps,N=void 0===L?{}:L,w=n.cancelButtonProps,M=void 0===w?{}:w,E=n.titleIcon,k=void 0===E?null:E;return(0,v.jsxs)(i.Z,{open:e,onClose:function(n,t){"backdropClick"!==t&&p()},className:h.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,v.jsxs)(r.Z,{className:h.title,children:[(0,v.jsxs)("div",{className:h.titleText,children:[k," ",b]}),(0,v.jsx)("div",{className:h.closeContainer,children:(0,v.jsx)(u.Z,{"aria-label":"close",className:h.closeButton,onClick:p,disableRipple:!0,size:"small",children:(0,v.jsx)(g.Z,{})})})]}),(0,v.jsx)(s.Z,{className:h.content,children:j}),(0,v.jsxs)(l.Z,{className:h.actions,children:[(0,v.jsx)(c.Z,(0,o.Z)((0,o.Z)({className:h.cancelButton,onClick:m||p,disabled:I,type:"button"},M),{},{variant:"outlined",color:"primary",children:y})),(0,v.jsx)(d.Z,(0,o.Z)((0,o.Z)({className:h.confirmButton,type:"button",onClick:f,loading:I,disabled:I,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,v.jsx)(a.Fragment,{}),autoFocus:!0},N),{},{children:C}))]})]})}))},51719:function(n,t,e){e.r(t),e.d(t,{default:function(){return P}});var o=e(23430),a=e(18489),i=e(50390),r=e(34424),s=e(86509),l=e(4285),c=e(72462),d=e(28948),u=e(44149),g=e(30324),p=e(17777),m=e(23473),f=e(66964),v=e(25594),Z=e(21639),h=e(60656),x=e(98280),b=e(62559),I=(0,r.$j)(null,{setErrorSnackMessage:u.Ih})((function(n){var t=n.deleteOpen,e=n.selectedPod,a=n.closeDeleteModalAndRefresh,r=n.setErrorSnackMessage,s=(0,i.useState)(""),l=(0,o.Z)(s,2),c=l[0],d=l[1],u=(0,Z.Z)((function(){return a(!0)}),(function(n){return r(n)})),g=(0,o.Z)(u,2),p=g[0],I=g[1];return(0,b.jsx)(h.Z,{title:"Delete Pod",confirmText:"Delete",isOpen:t,titleIcon:(0,b.jsx)(x.Nv,{}),isLoading:p,onConfirm:function(){c===e.name?I("DELETE","/api/v1/namespaces/".concat(e.namespace,"/tenants/").concat(e.tenant,"/pods/").concat(e.name)):r({errorMessage:"Tenant name is incorrect",detailedError:""})},onClose:function(){return a(!1)},confirmButtonProps:{disabled:c!==e.name||p},confirmationContent:(0,b.jsxs)(m.Z,{children:["To continue please type ",(0,b.jsx)("b",{children:e.name})," in the box.",(0,b.jsx)(v.ZP,{item:!0,xs:12,children:(0,b.jsx)(f.Z,{id:"retype-pod",name:"retype-pod",onChange:function(n){d(n.target.value)},label:"",value:c})})]})})})),j=(0,r.$j)((function(n){return{loadingTenant:n.tenants.tenantDetails.loadingTenant}}),{setErrorSnackMessage:u.Ih}),P=(0,l.Z)((function(n){return(0,s.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},c.oZ),c.VX),(0,c.Bz)(n.spacing(4))))}))(j((function(n){var t=n.classes,e=n.match,a=n.history,r=n.loadingTenant,s=(0,i.useState)([]),l=(0,o.Z)(s,2),c=l[0],m=l[1],f=(0,i.useState)(!0),Z=(0,o.Z)(f,2),h=Z[0],x=Z[1],j=(0,i.useState)(!1),P=(0,o.Z)(j,2),y=P[0],S=P[1],C=(0,i.useState)(null),L=(0,o.Z)(C,2),N=L[0],w=L[1],M=e.params.tenantName,E=e.params.tenantNamespace,k=[{type:"view",onClick:function(n){a.push("/namespaces/".concat(E,"/tenants/").concat(M,"/pods/").concat(n.name))}},{type:"delete",onClick:function(n){n.tenant=M,n.namespace=E,w(n),S(!0)}}];return(0,i.useEffect)((function(){r&&x(!0)}),[r]),(0,i.useEffect)((function(){h&&g.Z.invoke("GET","/api/v1/namespaces/".concat(E,"/tenants/").concat(M,"/pods")).then((function(n){for(var t=0;t :not(:first-of-type)":{marginLeft:8}})})),f=i.forwardRef((function(n,t){var e=(0,c.Z)({props:n,name:"MuiDialogActions"}),i=e.className,l=e.disableSpacing,d=void 0!==l&&l,f=(0,o.Z)(e,p),v=(0,a.Z)({},e,{disableSpacing:d}),Z=function(n){var t=n.classes,e={root:["root",!n.disableSpacing&&"spacing"]};return(0,s.Z)(e,u,t)}(v);return(0,g.jsx)(m,(0,a.Z)({className:(0,r.Z)(Z.root,i),ownerState:v,ref:t},f))}))},23473:function(n,t,e){e.d(t,{Z:function(){return f}});var o=e(1048),a=e(32793),i=e(50390),r=e(50076),s=e(8208),l=e(15573),c=e(35477),d=e(10594);function u(n){return(0,d.Z)("MuiDialogContentText",n)}(0,e(43349).Z)("MuiDialogContentText",["root"]);var g=e(62559),p=["children"],m=(0,s.ZP)(c.Z,{shouldForwardProp:function(n){return(0,s.FO)(n)||"classes"===n},name:"MuiDialogContentText",slot:"Root",overridesResolver:function(n,t){return t.root}})({}),f=i.forwardRef((function(n,t){var e=(0,l.Z)({props:n,name:"MuiDialogContentText"}),i=(0,o.Z)(e,p),s=function(n){var t=n.classes,e=(0,r.Z)({root:["root"]},u,t);return(0,a.Z)({},t,e)}(i);return(0,g.jsx)(m,(0,a.Z)({component:"p",variant:"body1",color:"text.secondary",ref:t,ownerState:i},e,{classes:s}))}))}}]); +//# sourceMappingURL=1719.06e59cd5.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1719.fbaa408a.chunk.js.map b/portal-ui/build/static/js/1719.06e59cd5.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/1719.fbaa408a.chunk.js.map rename to portal-ui/build/static/js/1719.06e59cd5.chunk.js.map index 0f047ec5c..d52f136c7 100644 --- a/portal-ui/build/static/js/1719.fbaa408a.chunk.js.map +++ b/portal-ui/build/static/js/1719.06e59cd5.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/1719.fbaa408a.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Tenants/TenantDetails/DeletePod.tsx","screens/Console/Tenants/TenantDetails/PodsSummary.tsx","../node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","../node_modules/@mui/lab/LoadingButton/LoadingButton.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport { IPodListElement } from \"../ListTenants/types\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport { connect } from \"react-redux\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\n\ninterface IDeletePod {\n deleteOpen: boolean;\n selectedPod: IPodListElement;\n closeDeleteModalAndRefresh: (refreshList: boolean) => any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeletePod = ({\n deleteOpen,\n selectedPod,\n closeDeleteModalAndRefresh,\n setErrorSnackMessage,\n}: IDeletePod) => {\n const [retypePod, setRetypePod] = useState(\"\");\n\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => 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\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default connector(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 { connect } from \"react-redux\";\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\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport api from \"../../../../common/api\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport { AppState } from \"../../../../store\";\nimport { setTenantDetailsLoad } from \"../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport DeletePod from \"./DeletePod\";\nimport { Grid } from \"@mui/material\";\n\ninterface IPodsSummary {\n classes: any;\n match: any;\n history: any;\n loadingTenant: boolean;\n setTenantDetailsLoad: typeof setTenantDetailsLoad;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n ...tableStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst PodsSummary = ({\n classes,\n match,\n history,\n loadingTenant,\n}: IPodsSummary) => {\n const [pods, setPods] = useState([]);\n const [loadingPods, setLoadingPods] = useState(true);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedPod, setSelectedPod] = useState(null);\n\n const tenantName = match.params[\"tenantName\"];\n const tenantNamespace = match.params[\"tenantNamespace\"];\n\n const podViewAction = (pod: IPodListElement) => {\n history.push(\n `/namespaces/${tenantNamespace}/tenants/${tenantName}/pods/${pod.name}`\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 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/${tenantName}/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 setErrorSnackMessage({\n errorMessage: \"Error loading pods\",\n detailedError: err.detailedError,\n });\n });\n }\n }, [loadingPods, tenantName, tenantNamespace]);\n\n return (\n \n {deleteOpen && (\n \n )}\n

Pods

\n \n {\n return input !== null ? input : 0;\n },\n },\n { label: \"Node\", elementKey: \"node\" },\n ]}\n isLoading={loadingPods}\n records={pods}\n itemActions={podTableActions}\n entityName=\"Servers\"\n idField=\"name\"\n />\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(PodsSummary));\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLoadingButtonUtilityClass(slot) {\n return generateUtilityClass('MuiLoadingButton', slot);\n}\nconst loadingButtonClasses = generateUtilityClasses('MuiLoadingButton', ['root', 'loading', 'loadingIndicator', 'loadingIndicatorCenter', 'loadingIndicatorStart', 'loadingIndicatorEnd', 'endIconLoadingEnd', 'startIconLoadingStart']);\nexport default loadingButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"disabled\", \"id\", \"loading\", \"loadingIndicator\", \"loadingPosition\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@mui/utils';\nimport { capitalize, unstable_useId as useId } from '@mui/material/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading'],\n startIcon: [loading && `startIconLoading${capitalize(loadingPosition)}`],\n endIcon: [loading && `endIconLoading${capitalize(loadingPosition)}`],\n loadingIndicator: ['loadingIndicator', loading && `loadingIndicator${capitalize(loadingPosition)}`]\n };\n const composedClasses = composeClasses(slots, getLoadingButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n}; // TODO use `import { rootShouldForwardProp } from '../styles/styled';` once move to core\n\n\nconst rootShouldForwardProp = prop => prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as' && prop !== 'classes';\n\nconst LoadingButtonRoot = styled(Button, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiLoadingButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root, styles.startIconLoadingStart && {\n [`& .${loadingButtonClasses.startIconLoadingStart}`]: styles.startIconLoadingStart\n }, styles.endIconLoadingEnd && {\n [`& .${loadingButtonClasses.endIconLoadingEnd}`]: styles.endIconLoadingEnd\n }];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n}, ownerState.loadingPosition === 'center' && {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${loadingButtonClasses.loading}`]: {\n color: 'transparent'\n }\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginRight: -8\n }\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginLeft: -8\n }\n}));\nconst LoadingButtonLoadingIndicator = styled('div', {\n name: 'MuiLoadingButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.loadingIndicator, styles[`loadingIndicator${capitalize(ownerState.loadingPosition)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'absolute',\n visibility: 'visible',\n display: 'flex'\n}, ownerState.loadingPosition === 'start' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n left: 14\n}, ownerState.loadingPosition === 'start' && ownerState.variant === 'text' && {\n left: 6\n}, ownerState.loadingPosition === 'center' && {\n left: '50%',\n transform: 'translate(-50%)',\n color: theme.palette.action.disabled\n}, ownerState.loadingPosition === 'end' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n right: 14\n}, ownerState.loadingPosition === 'end' && ownerState.variant === 'text' && {\n right: 6\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n position: 'relative',\n left: -10\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n position: 'relative',\n right: -10\n}));\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLoadingButton'\n });\n\n const {\n children,\n disabled = false,\n id: idProp,\n loading = false,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp != null ? loadingIndicatorProp : /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n\n const ownerState = _extends({}, props, {\n disabled,\n loading,\n loadingIndicator,\n loadingPosition,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LoadingButtonRoot, _extends({\n disabled: disabled || loading,\n id: id,\n ref: ref\n }, other, {\n variant: variant,\n classes: classes,\n ownerState: ownerState,\n children: ownerState.loadingPosition === 'end' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children, loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n }), children]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LoadingButton.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * @ignore\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the loading indicator is shown.\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default we render a `CircularProgress` that is labelled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: chainPropTypes(PropTypes.oneOf(['start', 'end', 'center']), props => {\n if (props.loadingPosition === 'start' && !props.startIcon) {\n return new Error(`MUI: The loadingPosition=\"start\" should be used in combination with startIcon.`);\n }\n\n if (props.loadingPosition === 'end' && !props.endIcon) {\n return new Error(`MUI: The loadingPosition=\"end\" should be used in combination with endIcon.`);\n }\n\n return null;\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes.oneOf(['contained', 'outlined', 'text'])\n} : void 0;\nexport default LoadingButton;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n\n const ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * 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 DialogContentText;"],"names":["inputStyles","makeStyles","theme","createStyles","inputFieldStyles","InputField","props","classes","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","label","onChange","value","id","name","type","autoComplete","disabled","multiline","tooltip","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","className","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","fullWidth","helperText","inputRebase","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","root","sx","padding","titleText","closeContainer","closeButton","content","actions","cancelButton","variant","color","confirmButton","loading","loadingPosition","startIcon","connect","setErrorSnackMessage","deleteOpen","selectedPod","closeDeleteModalAndRefresh","retypePod","setRetypePod","useApi","deleteLoading","invokeDeleteApi","ConfirmDialog","namespace","tenant","errorMessage","detailedError","DialogContentText","Grid","item","xs","InputBoxWrapper","target","connector","state","loadingTenant","tenants","tenantDetails","tenantDetailsStyles","tableStyles","containerForHeader","spacing","match","history","pods","setPods","loadingPods","setLoadingPods","setDeleteOpen","setSelectedPod","tenantName","params","tenantNamespace","podTableActions","pod","push","useEffect","result","i","length","currentTime","Date","now","time","niceDays","parseInt","timeCreated","toString","Fragment","reloadData","sectionTitle","tableBlock","TableWrapper","columns","elementKey","renderFunction","input","records","itemActions","entityName","idField","getLoadingButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","LoadingButtonRoot","styled","Button","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","startIconLoadingStart","loadingButtonClasses","endIconLoadingEnd","ownerState","_extends","transition","transitions","create","duration","short","opacity","marginRight","marginLeft","LoadingButtonLoadingIndicator","loadingIndicator","capitalize","visibility","display","left","transform","palette","action","React","inProps","ref","useThemeProps","children","idProp","loadingIndicatorProp","other","_objectWithoutPropertiesLoose","useId","_jsx","CircularProgress","slots","endIcon","composedClasses","composeClasses","useUtilityClasses","_jsxs","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","alignItems","justifyContent","flex","getDialogContentTextUtilityClass","DialogContentTextRoot","Typography","component"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/1719.06e59cd5.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Tenants/TenantDetails/DeletePod.tsx","screens/Console/Tenants/TenantDetails/PodsSummary.tsx","../node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","../node_modules/@mui/lab/LoadingButton/LoadingButton.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport { IPodListElement } from \"../ListTenants/types\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport { connect } from \"react-redux\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\n\ninterface IDeletePod {\n deleteOpen: boolean;\n selectedPod: IPodListElement;\n closeDeleteModalAndRefresh: (refreshList: boolean) => any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeletePod = ({\n deleteOpen,\n selectedPod,\n closeDeleteModalAndRefresh,\n setErrorSnackMessage,\n}: IDeletePod) => {\n const [retypePod, setRetypePod] = useState(\"\");\n\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => 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\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default connector(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 { connect } from \"react-redux\";\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\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport api from \"../../../../common/api\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport { AppState } from \"../../../../store\";\nimport { setTenantDetailsLoad } from \"../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport DeletePod from \"./DeletePod\";\nimport { Grid } from \"@mui/material\";\n\ninterface IPodsSummary {\n classes: any;\n match: any;\n history: any;\n loadingTenant: boolean;\n setTenantDetailsLoad: typeof setTenantDetailsLoad;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n ...tableStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst PodsSummary = ({\n classes,\n match,\n history,\n loadingTenant,\n}: IPodsSummary) => {\n const [pods, setPods] = useState([]);\n const [loadingPods, setLoadingPods] = useState(true);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedPod, setSelectedPod] = useState(null);\n\n const tenantName = match.params[\"tenantName\"];\n const tenantNamespace = match.params[\"tenantNamespace\"];\n\n const podViewAction = (pod: IPodListElement) => {\n history.push(\n `/namespaces/${tenantNamespace}/tenants/${tenantName}/pods/${pod.name}`\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 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/${tenantName}/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 setErrorSnackMessage({\n errorMessage: \"Error loading pods\",\n detailedError: err.detailedError,\n });\n });\n }\n }, [loadingPods, tenantName, tenantNamespace]);\n\n return (\n \n {deleteOpen && (\n \n )}\n

Pods

\n \n {\n return input !== null ? input : 0;\n },\n },\n { label: \"Node\", elementKey: \"node\" },\n ]}\n isLoading={loadingPods}\n records={pods}\n itemActions={podTableActions}\n entityName=\"Servers\"\n idField=\"name\"\n />\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(PodsSummary));\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLoadingButtonUtilityClass(slot) {\n return generateUtilityClass('MuiLoadingButton', slot);\n}\nconst loadingButtonClasses = generateUtilityClasses('MuiLoadingButton', ['root', 'loading', 'loadingIndicator', 'loadingIndicatorCenter', 'loadingIndicatorStart', 'loadingIndicatorEnd', 'endIconLoadingEnd', 'startIconLoadingStart']);\nexport default loadingButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"disabled\", \"id\", \"loading\", \"loadingIndicator\", \"loadingPosition\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@mui/utils';\nimport { capitalize, unstable_useId as useId } from '@mui/material/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading'],\n startIcon: [loading && `startIconLoading${capitalize(loadingPosition)}`],\n endIcon: [loading && `endIconLoading${capitalize(loadingPosition)}`],\n loadingIndicator: ['loadingIndicator', loading && `loadingIndicator${capitalize(loadingPosition)}`]\n };\n const composedClasses = composeClasses(slots, getLoadingButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n}; // TODO use `import { rootShouldForwardProp } from '../styles/styled';` once move to core\n\n\nconst rootShouldForwardProp = prop => prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as' && prop !== 'classes';\n\nconst LoadingButtonRoot = styled(Button, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiLoadingButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root, styles.startIconLoadingStart && {\n [`& .${loadingButtonClasses.startIconLoadingStart}`]: styles.startIconLoadingStart\n }, styles.endIconLoadingEnd && {\n [`& .${loadingButtonClasses.endIconLoadingEnd}`]: styles.endIconLoadingEnd\n }];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n}, ownerState.loadingPosition === 'center' && {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${loadingButtonClasses.loading}`]: {\n color: 'transparent'\n }\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginRight: -8\n }\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginLeft: -8\n }\n}));\nconst LoadingButtonLoadingIndicator = styled('div', {\n name: 'MuiLoadingButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.loadingIndicator, styles[`loadingIndicator${capitalize(ownerState.loadingPosition)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'absolute',\n visibility: 'visible',\n display: 'flex'\n}, ownerState.loadingPosition === 'start' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n left: 14\n}, ownerState.loadingPosition === 'start' && ownerState.variant === 'text' && {\n left: 6\n}, ownerState.loadingPosition === 'center' && {\n left: '50%',\n transform: 'translate(-50%)',\n color: theme.palette.action.disabled\n}, ownerState.loadingPosition === 'end' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n right: 14\n}, ownerState.loadingPosition === 'end' && ownerState.variant === 'text' && {\n right: 6\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n position: 'relative',\n left: -10\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n position: 'relative',\n right: -10\n}));\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLoadingButton'\n });\n\n const {\n children,\n disabled = false,\n id: idProp,\n loading = false,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp != null ? loadingIndicatorProp : /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n\n const ownerState = _extends({}, props, {\n disabled,\n loading,\n loadingIndicator,\n loadingPosition,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LoadingButtonRoot, _extends({\n disabled: disabled || loading,\n id: id,\n ref: ref\n }, other, {\n variant: variant,\n classes: classes,\n ownerState: ownerState,\n children: ownerState.loadingPosition === 'end' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children, loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n }), children]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LoadingButton.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * @ignore\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the loading indicator is shown.\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default we render a `CircularProgress` that is labelled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: chainPropTypes(PropTypes.oneOf(['start', 'end', 'center']), props => {\n if (props.loadingPosition === 'start' && !props.startIcon) {\n return new Error(`MUI: The loadingPosition=\"start\" should be used in combination with startIcon.`);\n }\n\n if (props.loadingPosition === 'end' && !props.endIcon) {\n return new Error(`MUI: The loadingPosition=\"end\" should be used in combination with endIcon.`);\n }\n\n return null;\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes.oneOf(['contained', 'outlined', 'text'])\n} : void 0;\nexport default LoadingButton;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n\n const ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * 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 DialogContentText;"],"names":["inputStyles","makeStyles","theme","createStyles","inputFieldStyles","InputField","props","classes","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","label","onChange","value","id","name","type","autoComplete","disabled","multiline","tooltip","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","className","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","fullWidth","helperText","inputRebase","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","root","sx","padding","titleText","closeContainer","closeButton","content","actions","cancelButton","variant","color","confirmButton","loading","loadingPosition","startIcon","connect","setErrorSnackMessage","deleteOpen","selectedPod","closeDeleteModalAndRefresh","retypePod","setRetypePod","useApi","deleteLoading","invokeDeleteApi","ConfirmDialog","namespace","tenant","errorMessage","detailedError","DialogContentText","Grid","item","xs","InputBoxWrapper","target","connector","state","loadingTenant","tenants","tenantDetails","tenantDetailsStyles","tableStyles","containerForHeader","spacing","match","history","pods","setPods","loadingPods","setLoadingPods","setDeleteOpen","setSelectedPod","tenantName","params","tenantNamespace","podTableActions","pod","push","useEffect","result","i","length","currentTime","Date","now","time","niceDays","parseInt","timeCreated","toString","Fragment","reloadData","sectionTitle","tableBlock","TableWrapper","columns","elementKey","renderFunction","input","records","itemActions","entityName","idField","getLoadingButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","LoadingButtonRoot","styled","Button","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","startIconLoadingStart","loadingButtonClasses","endIconLoadingEnd","ownerState","_extends","transition","transitions","create","duration","short","opacity","marginRight","marginLeft","LoadingButtonLoadingIndicator","loadingIndicator","capitalize","visibility","display","left","transform","palette","action","React","inProps","ref","useThemeProps","children","idProp","loadingIndicatorProp","other","_objectWithoutPropertiesLoose","useId","_jsx","CircularProgress","slots","endIcon","composedClasses","composeClasses","useUtilityClasses","_jsxs","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","alignItems","justifyContent","flex","getDialogContentTextUtilityClass","DialogContentTextRoot","Typography","component"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1971.306de04b.chunk.js b/portal-ui/build/static/js/1971.6d62cf1b.chunk.js similarity index 98% rename from portal-ui/build/static/js/1971.306de04b.chunk.js rename to portal-ui/build/static/js/1971.6d62cf1b.chunk.js index 016afdd1c..fdb4ac3cb 100644 --- a/portal-ui/build/static/js/1971.306de04b.chunk.js +++ b/portal-ui/build/static/js/1971.6d62cf1b.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1971],{76352:function(e,r,t){t.d(r,{Z:function(){return E}});var a,o=t(23430),n=t(18489),s=t(50390),i=t(34424),l=t(95467),c=t(97771),d=t(84402),u=t(78426),m=t(93085),p=t(86509),f=t(4285),g=t(72462),h=t(44149),x=t(38342),C=t.n(x),j=t(92125),Z=t(19538),b=t(21278),v=t(62559),y=function(){clearInterval(a)},k={displayErrorMessage:h.zb},S=(0,i.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),k)((0,f.Z)((function(e){return(0,p.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var r=e.classes,t=e.modalSnackMessage,n=e.displayErrorMessage,i=e.customStyle,l=(0,s.useState)(!1),c=(0,o.Z)(l,2),d=c[0],u=c[1],m=(0,s.useState)(!1),p=(0,o.Z)(m,2),f=p[0],g=p[1],h=(0,s.useCallback)((function(){g(!1)}),[]);(0,s.useEffect)((function(){f||(n({detailedError:"",errorMessage:""}),u(!1))}),[n,f]),(0,s.useEffect)((function(){""!==t.message&&"error"===t.type&&g(!0)}),[h,t.message,t.type]);var x=C()(t,"message",""),k=C()(t,"detailedErrorMsg","");return"error"!==t.type||""===x?null:(0,v.jsx)(s.Fragment,{children:(0,v.jsxs)("div",{className:"".concat(r.modalErrorContainer," ").concat(f?r.modalErrorShow:""),style:i,onMouseOver:y,onMouseLeave:function(){a=setInterval(h,1e4)},children:[(0,v.jsx)("button",{className:r.closeButton,onClick:h,children:(0,v.jsx)(b.Z,{})}),(0,v.jsxs)("div",{className:r.errorTitle,children:[(0,v.jsx)("span",{className:r.messageIcon,children:(0,v.jsx)(Z.Z,{})}),(0,v.jsx)("span",{className:r.errorLabel,children:x})]}),""!==k&&(0,v.jsxs)(s.Fragment,{children:[(0,v.jsx)("div",{className:r.detailsContainerLink,children:(0,v.jsxs)("button",{className:r.detailsButton,onClick:function(){u(!d)},children:["Details",(0,v.jsx)(j.Z,{className:"".concat(r.arrowElement," ").concat(d?r.arrowOpen:"")})]})}),(0,v.jsx)("div",{className:"".concat(r.extraDetailsContainer," ").concat(d?r.extraDetailsOpen:""),children:k})]})]})})}))),N=(0,i.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:h.MK}),E=(0,f.Z)((function(e){return(0,p.Z)((0,n.Z)((0,n.Z)({},g.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},g.sN))}))(N((function(e){var r=e.onClose,t=e.modalOpen,a=e.title,i=e.children,p=e.classes,f=e.wideLimit,g=void 0===f||f,h=e.modalSnackMessage,x=e.noContentPadding,C=e.setModalSnackMessage,j=e.titleIcon,Z=void 0===j?null:j,y=(0,s.useState)(!1),k=(0,o.Z)(y,2),N=k[0],E=k[1];(0,s.useEffect)((function(){C("")}),[C]),(0,s.useEffect)((function(){if(h){if(""===h.message)return void E(!1);"error"!==h.type&&E(!0)}}),[h]);var M=g?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return h&&(w=h.detailedErrorMsg,(""===h.detailedErrorMsg||h.detailedErrorMsg.length<5)&&(w=h.message)),(0,v.jsxs)(d.Z,(0,n.Z)((0,n.Z)({open:t,classes:p},M),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&r()},className:p.root,children:[(0,v.jsxs)(u.Z,{className:p.title,children:[(0,v.jsxs)("div",{className:p.titleText,children:[Z," ",a]}),(0,v.jsx)("div",{className:p.closeContainer,children:(0,v.jsx)(l.Z,{"aria-label":"close",className:p.closeButton,onClick:r,disableRipple:!0,size:"small",children:(0,v.jsx)(b.Z,{})})})]}),(0,v.jsx)(S,{}),(0,v.jsx)(c.Z,{open:N,className:p.snackBarModal,onClose:function(){E(!1),C("")},message:w,ContentProps:{className:"".concat(p.snackBar," ").concat(h&&"error"===h.type?p.errorSnackBar:"")},autoHideDuration:h&&"error"===h.type?1e4:5e3}),(0,v.jsx)(m.Z,{className:x?"":p.content,children:i})]}))})))},1971:function(e,r,t){t.r(r);var a=t(35531),o=t(18489),n=t(25594),s=t(66946),i=t(86509),l=t(4285),c=(t(50390),t(76352)),d=t(17777),u=t(72462),m=t(11387),p=t(62559);r.default=(0,l.Z)((function(e){return(0,i.Z)((0,o.Z)({buttonContainer:{textAlign:"right"},errorsList:{height:"calc(100vh - 280px)"}},u.ID))}))((function(e){var r=e.open,t=e.onCloseFormatErrorsList,o=e.errorsList,i=e.classes;return(0,p.jsx)(c.Z,{modalOpen:r,title:"Format Errors",onClose:t,titleIcon:(0,p.jsx)(m.cn,{}),children:(0,p.jsxs)(n.ZP,{container:!0,children:[(0,p.jsxs)(n.ZP,{item:!0,xs:12,className:i.modalFormScrollable,children:["There were some issues trying to format the selected CSI Drives, please fix the issues and try again.",(0,p.jsx)("br",{}),(0,p.jsx)(d.Z,{columns:[{label:"Node",elementKey:"node"},{label:"Drive",elementKey:"drive"},{label:"Message",elementKey:"error"}],entityName:"Format Errors",idField:"drive",records:o,isLoading:!1,customPaperHeight:i.errorsList,textSelectable:!0,noBackground:!0})]}),(0,p.jsxs)(n.ZP,{item:!0,xs:12,className:i.modalButtonBar,children:[(0,p.jsx)(s.Z,{color:"primary",variant:"outlined",onClick:function(){!function(e,r){var t=document.createElement("a");t.setAttribute("href","data:application/json;charset=utf-8,"+encodeURIComponent(r)),t.setAttribute("download",e),t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)}("csiFormatErrors.json",JSON.stringify((0,a.Z)(o)))},children:"Download"}),(0,p.jsx)(s.Z,{onClick:t,color:"primary",variant:"contained",autoFocus:!0,children:"Done"})]})]})})}))}}]); -//# sourceMappingURL=1971.306de04b.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1971],{76352:function(e,r,t){t.d(r,{Z:function(){return E}});var a,o=t(23430),n=t(18489),s=t(50390),i=t(34424),l=t(95467),c=t(97771),d=t(84402),u=t(78426),m=t(93085),p=t(86509),f=t(4285),g=t(72462),h=t(44149),x=t(38342),C=t.n(x),j=t(92125),Z=t(19538),b=t(21278),v=t(62559),y=function(){clearInterval(a)},k={displayErrorMessage:h.zb},S=(0,i.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),k)((0,f.Z)((function(e){return(0,p.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var r=e.classes,t=e.modalSnackMessage,n=e.displayErrorMessage,i=e.customStyle,l=(0,s.useState)(!1),c=(0,o.Z)(l,2),d=c[0],u=c[1],m=(0,s.useState)(!1),p=(0,o.Z)(m,2),f=p[0],g=p[1],h=(0,s.useCallback)((function(){g(!1)}),[]);(0,s.useEffect)((function(){f||(n({detailedError:"",errorMessage:""}),u(!1))}),[n,f]),(0,s.useEffect)((function(){""!==t.message&&"error"===t.type&&g(!0)}),[h,t.message,t.type]);var x=C()(t,"message",""),k=C()(t,"detailedErrorMsg","");return"error"!==t.type||""===x?null:(0,v.jsx)(s.Fragment,{children:(0,v.jsxs)("div",{className:"".concat(r.modalErrorContainer," ").concat(f?r.modalErrorShow:""),style:i,onMouseOver:y,onMouseLeave:function(){a=setInterval(h,1e4)},children:[(0,v.jsx)("button",{className:r.closeButton,onClick:h,children:(0,v.jsx)(b.Z,{})}),(0,v.jsxs)("div",{className:r.errorTitle,children:[(0,v.jsx)("span",{className:r.messageIcon,children:(0,v.jsx)(Z.Z,{})}),(0,v.jsx)("span",{className:r.errorLabel,children:x})]}),""!==k&&(0,v.jsxs)(s.Fragment,{children:[(0,v.jsx)("div",{className:r.detailsContainerLink,children:(0,v.jsxs)("button",{className:r.detailsButton,onClick:function(){u(!d)},children:["Details",(0,v.jsx)(j.Z,{className:"".concat(r.arrowElement," ").concat(d?r.arrowOpen:"")})]})}),(0,v.jsx)("div",{className:"".concat(r.extraDetailsContainer," ").concat(d?r.extraDetailsOpen:""),children:k})]})]})})}))),N=(0,i.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:h.MK}),E=(0,f.Z)((function(e){return(0,p.Z)((0,n.Z)((0,n.Z)({},g.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},g.sN))}))(N((function(e){var r=e.onClose,t=e.modalOpen,a=e.title,i=e.children,p=e.classes,f=e.wideLimit,g=void 0===f||f,h=e.modalSnackMessage,x=e.noContentPadding,C=e.setModalSnackMessage,j=e.titleIcon,Z=void 0===j?null:j,y=(0,s.useState)(!1),k=(0,o.Z)(y,2),N=k[0],E=k[1];(0,s.useEffect)((function(){C("")}),[C]),(0,s.useEffect)((function(){if(h){if(""===h.message)return void E(!1);"error"!==h.type&&E(!0)}}),[h]);var M=g?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return h&&(w=h.detailedErrorMsg,(""===h.detailedErrorMsg||h.detailedErrorMsg.length<5)&&(w=h.message)),(0,v.jsxs)(d.Z,(0,n.Z)((0,n.Z)({open:t,classes:p},M),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&r()},className:p.root,children:[(0,v.jsxs)(u.Z,{className:p.title,children:[(0,v.jsxs)("div",{className:p.titleText,children:[Z," ",a]}),(0,v.jsx)("div",{className:p.closeContainer,children:(0,v.jsx)(l.Z,{"aria-label":"close",className:p.closeButton,onClick:r,disableRipple:!0,size:"small",children:(0,v.jsx)(b.Z,{})})})]}),(0,v.jsx)(S,{}),(0,v.jsx)(c.Z,{open:N,className:p.snackBarModal,onClose:function(){E(!1),C("")},message:w,ContentProps:{className:"".concat(p.snackBar," ").concat(h&&"error"===h.type?p.errorSnackBar:"")},autoHideDuration:h&&"error"===h.type?1e4:5e3}),(0,v.jsx)(m.Z,{className:x?"":p.content,children:i})]}))})))},1971:function(e,r,t){t.r(r);var a=t(35531),o=t(18489),n=t(25594),s=t(66946),i=t(86509),l=t(4285),c=(t(50390),t(76352)),d=t(17777),u=t(72462),m=t(98280),p=t(62559);r.default=(0,l.Z)((function(e){return(0,i.Z)((0,o.Z)({buttonContainer:{textAlign:"right"},errorsList:{height:"calc(100vh - 280px)"}},u.ID))}))((function(e){var r=e.open,t=e.onCloseFormatErrorsList,o=e.errorsList,i=e.classes;return(0,p.jsx)(c.Z,{modalOpen:r,title:"Format Errors",onClose:t,titleIcon:(0,p.jsx)(m.cn,{}),children:(0,p.jsxs)(n.ZP,{container:!0,children:[(0,p.jsxs)(n.ZP,{item:!0,xs:12,className:i.modalFormScrollable,children:["There were some issues trying to format the selected CSI Drives, please fix the issues and try again.",(0,p.jsx)("br",{}),(0,p.jsx)(d.Z,{columns:[{label:"Node",elementKey:"node"},{label:"Drive",elementKey:"drive"},{label:"Message",elementKey:"error"}],entityName:"Format Errors",idField:"drive",records:o,isLoading:!1,customPaperHeight:i.errorsList,textSelectable:!0,noBackground:!0})]}),(0,p.jsxs)(n.ZP,{item:!0,xs:12,className:i.modalButtonBar,children:[(0,p.jsx)(s.Z,{color:"primary",variant:"outlined",onClick:function(){!function(e,r){var t=document.createElement("a");t.setAttribute("href","data:application/json;charset=utf-8,"+encodeURIComponent(r)),t.setAttribute("download",e),t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)}("csiFormatErrors.json",JSON.stringify((0,a.Z)(o)))},children:"Download"}),(0,p.jsx)(s.Z,{onClick:t,color:"primary",variant:"contained",autoFocus:!0,children:"Done"})]})]})})}))}}]); +//# sourceMappingURL=1971.6d62cf1b.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1971.306de04b.chunk.js.map b/portal-ui/build/static/js/1971.6d62cf1b.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/1971.306de04b.chunk.js.map rename to portal-ui/build/static/js/1971.6d62cf1b.chunk.js.map index 7f3c2a07d..3f0168057 100644 --- a/portal-ui/build/static/js/1971.306de04b.chunk.js.map +++ b/portal-ui/build/static/js/1971.6d62cf1b.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/1971.306de04b.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/DirectCSI/FormatErrorsResult.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\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(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 { Button, Grid, Theme } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport React from \"react\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport { IDirectCSIFormatResItem } from \"./types\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport { DriveFormatErrorsIcon } from \"../../../icons\";\n\ninterface IFormatErrorsProps {\n open: boolean;\n onCloseFormatErrorsList: () => void;\n errorsList: IDirectCSIFormatResItem[];\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n errorsList: {\n height: \"calc(100vh - 280px)\",\n },\n ...modalStyleUtils,\n });\n\nconst download = (filename: string, text: string) => {\n let element = document.createElement(\"a\");\n element.setAttribute(\n \"href\",\n \"data:application/json;charset=utf-8,\" + encodeURIComponent(text)\n );\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n\n document.body.removeChild(element);\n};\n\nconst FormatErrorsResult = ({\n open,\n onCloseFormatErrorsList,\n errorsList,\n classes,\n}: IFormatErrorsProps) => {\n return (\n }\n >\n \n \n There were some issues trying to format the selected CSI Drives,\n please fix the issues and try again.\n
\n \n
\n \n {\n download(\"csiFormatErrors.json\", JSON.stringify([...errorsList]));\n }}\n >\n Download\n \n \n Done\n \n \n
\n \n );\n};\n\nexport default withStyles(styles)(FormatErrorsResult);\n"],"names":["timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","withStyles","theme","createStyles","modalErrorContainer","position","marginTop","width","backgroundColor","border","borderLeftWidth","borderRadius","zIndex","padding","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","right","fontSize","cursor","errorTitle","display","alignItems","errorLabel","color","fontWeight","marginLeft","marginRight","messageIcon","height","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","classes","customStyle","useState","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","type","get","messageDetails","Fragment","className","style","onMouseOver","onMouseLeave","setInterval","onClick","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","deleteDialogStyles","root","content","paddingBottom","customDialogSize","maxWidth","snackBarCommon","onClose","modalOpen","title","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","fullWidth","detailedErrorMsg","length","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","disableRipple","size","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","buttonContainer","textAlign","errorsList","modalStyleUtils","onCloseFormatErrorsList","container","item","xs","modalFormScrollable","columns","label","elementKey","entityName","idField","records","isLoading","customPaperHeight","textSelectable","noBackground","modalButtonBar","variant","filename","text","element","document","createElement","setAttribute","encodeURIComponent","body","appendChild","click","removeChild","download","JSON","stringify","autoFocus"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/1971.6d62cf1b.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/DirectCSI/FormatErrorsResult.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\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(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 { Button, Grid, Theme } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport React from \"react\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport { IDirectCSIFormatResItem } from \"./types\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport { DriveFormatErrorsIcon } from \"../../../icons\";\n\ninterface IFormatErrorsProps {\n open: boolean;\n onCloseFormatErrorsList: () => void;\n errorsList: IDirectCSIFormatResItem[];\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n errorsList: {\n height: \"calc(100vh - 280px)\",\n },\n ...modalStyleUtils,\n });\n\nconst download = (filename: string, text: string) => {\n let element = document.createElement(\"a\");\n element.setAttribute(\n \"href\",\n \"data:application/json;charset=utf-8,\" + encodeURIComponent(text)\n );\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n\n document.body.removeChild(element);\n};\n\nconst FormatErrorsResult = ({\n open,\n onCloseFormatErrorsList,\n errorsList,\n classes,\n}: IFormatErrorsProps) => {\n return (\n }\n >\n \n \n There were some issues trying to format the selected CSI Drives,\n please fix the issues and try again.\n
\n \n
\n \n {\n download(\"csiFormatErrors.json\", JSON.stringify([...errorsList]));\n }}\n >\n Download\n \n \n Done\n \n \n
\n \n );\n};\n\nexport default withStyles(styles)(FormatErrorsResult);\n"],"names":["timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","withStyles","theme","createStyles","modalErrorContainer","position","marginTop","width","backgroundColor","border","borderLeftWidth","borderRadius","zIndex","padding","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","right","fontSize","cursor","errorTitle","display","alignItems","errorLabel","color","fontWeight","marginLeft","marginRight","messageIcon","height","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","classes","customStyle","useState","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","type","get","messageDetails","Fragment","className","style","onMouseOver","onMouseLeave","setInterval","onClick","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","deleteDialogStyles","root","content","paddingBottom","customDialogSize","maxWidth","snackBarCommon","onClose","modalOpen","title","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","fullWidth","detailedErrorMsg","length","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","disableRipple","size","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","buttonContainer","textAlign","errorsList","modalStyleUtils","onCloseFormatErrorsList","container","item","xs","modalFormScrollable","columns","label","elementKey","entityName","idField","records","isLoading","customPaperHeight","textSelectable","noBackground","modalButtonBar","variant","filename","text","element","document","createElement","setAttribute","encodeURIComponent","body","appendChild","click","removeChild","download","JSON","stringify","autoFocus"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1973.34c45ee7.chunk.js b/portal-ui/build/static/js/1973.34c45ee7.chunk.js new file mode 100644 index 000000000..c865db579 --- /dev/null +++ b/portal-ui/build/static/js/1973.34c45ee7.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1973],{91973:function(e,n,t){t.r(n),t.d(n,{default:function(){return U}});var i=t(23430),s=t(18489),r=t(50390),o=t(34424),a=t(86509),l=t(4285),c=t(56805),u=t(38342),d=t.n(u),f=t(25594),x=t(44149),p=t(72462),m=t(30324),h=t(77130),Z=t(49495),g=t(15607),v=t(37882),j=t(86458),b=t(1589),E=t(98280),T=t(94113),k=t(28948),S=t(62559),y=function(e){var n=e.bucketSize;return(0,S.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{height:37,width:37}},children:[(0,S.jsx)(E.Mh,{}),(0,S.jsxs)(c.Z,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"center",flexFlow:"column",marginLeft:"20px",fontSize:"19px"},children:[(0,S.jsx)("label",{style:{fontWeight:600},children:"Reported Usage:"}),(0,S.jsx)("label",{children:(0,k.ae)(n)})]})]})},C=function(e){var n=e.quota;return(0,S.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{height:37,width:37}},children:[(0,S.jsx)(E.sj,{}),(0,S.jsxs)(c.Z,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"center",flexFlow:"column",marginLeft:"20px",fontSize:"19px"},children:[(0,S.jsxs)("label",{style:{fontWeight:600,textTransform:"capitalize"},children:[null===n||void 0===n?void 0:n.type," Quota"]}),(0,S.jsxs)("label",{children:[" ",(0,k.ae)("".concat(null===n||void 0===n?void 0:n.quota))]})]})]})},_=(0,v.Z)(r.lazy((function(){return Promise.all([t.e(14),t.e(5444),t.e(3152),t.e(8954),t.e(3816)]).then(t.bind(t,95239))}))),N=(0,v.Z)(r.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(5444),t.e(3152),t.e(9769),t.e(2966)]).then(t.bind(t,82825))}))),I=(0,v.Z)(r.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(5444),t.e(3152),t.e(4177)]).then(t.bind(t,44177))}))),P=(0,v.Z)(r.lazy((function(){return Promise.all([t.e(5444),t.e(9679)]).then(t.bind(t,39679))}))),B=(0,v.Z)(r.lazy((function(){return Promise.all([t.e(3360),t.e(8333)]).then(t.bind(t,28333))}))),O=(0,v.Z)(r.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(5444),t.e(3152),t.e(9769),t.e(4105),t.e(1711)]).then(t.bind(t,31711))}))),R={display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},F=(0,o.$j)((function(e){return{session:e.console.session,distributedSetup:e.system.distributedSetup,loadingBucket:e.buckets.bucketDetails.loadingBucket,bucketInfo:e.buckets.bucketDetails.bucketInfo}}),{setErrorSnackMessage:x.Ih,setBucketDetailsLoad:h.d5}),U=(0,l.Z)((function(e){return(0,a.Z)((0,s.Z)((0,s.Z)({},p.bK),p.VI))}))(F((function(e){var n=e.classes,t=e.match,o=e.distributedSetup,a=e.setErrorSnackMessage,l=e.loadingBucket,u=e.bucketInfo,x=e.setBucketDetailsLoad,p=(0,r.useState)(null),h=(0,i.Z)(p,2),v=h[0],k=h[1],F=(0,r.useState)("0"),U=(0,i.Z)(F,2),G=U[0],A=U[1],L=(0,r.useState)(!1),w=(0,i.Z)(L,2),M=w[0],D=w[1],z=(0,r.useState)(!1),K=(0,i.Z)(z,2),V=K[0],Y=K[1],q=(0,r.useState)(!1),Q=(0,i.Z)(q,2),W=Q[0],$=Q[1],J=(0,r.useState)(!0),H=(0,i.Z)(J,2),X=H[0],ee=H[1],ne=(0,r.useState)(!0),te=(0,i.Z)(ne,2),ie=te[0],se=te[1],re=(0,r.useState)(!0),oe=(0,i.Z)(re,2),ae=oe[0],le=oe[1],ce=(0,r.useState)(!0),ue=(0,i.Z)(ce,2),de=ue[0],fe=ue[1],xe=(0,r.useState)(!0),pe=(0,i.Z)(xe,2),me=pe[0],he=pe[1],Ze=(0,r.useState)(!0),ge=(0,i.Z)(Ze,2),ve=ge[0],je=ge[1],be=(0,r.useState)(!0),Ee=(0,i.Z)(be,2),Te=Ee[0],ke=Ee[1],Se=(0,r.useState)(!0),ye=(0,i.Z)(Se,2),Ce=ye[0],_e=ye[1],Ne=(0,r.useState)(!1),Ie=(0,i.Z)(Ne,2),Pe=Ie[0],Be=Ie[1],Oe=(0,r.useState)(!1),Re=(0,i.Z)(Oe,2),Fe=Re[0],Ue=Re[1],Ge=(0,r.useState)(null),Ae=(0,i.Z)(Ge,2),Le=Ae[0],we=Ae[1],Me=(0,r.useState)(!1),De=(0,i.Z)(Me,2),ze=De[0],Ke=De[1],Ve=(0,r.useState)(!1),Ye=(0,i.Z)(Ve,2),qe=Ye[0],Qe=Ye[1],We=(0,r.useState)(null),$e=(0,i.Z)(We,2),Je=$e[0],He=$e[1],Xe=(0,r.useState)(!1),en=(0,i.Z)(Xe,2),nn=en[0],tn=en[1],sn=(0,r.useState)(!1),rn=(0,i.Z)(sn,2),on=rn[0],an=rn[1],ln=(0,r.useState)(!1),cn=(0,i.Z)(ln,2),un=cn[0],dn=cn[1],fn=(0,r.useState)(!1),xn=(0,i.Z)(fn,2),pn=xn[0],mn=xn[1],hn=t.params.bucketName,Zn="n/a",gn="";null!==u&&(Zn=u.access,gn=u.definition);var vn=(0,g.F)(hn,[Z.Ft.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION]),jn=(0,g.F)(hn,[Z.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION]),bn=(0,g.F)(hn,[Z.Ft.ADMIN_GET_BUCKET_QUOTA]);(0,r.useEffect)((function(){le(!!l)}),[l,le]),(0,r.useEffect)((function(){de&&(jn?m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/encryption/info")).then((function(e){e.algorithm&&(Ke(!0),k(e)),fe(!1)})).catch((function(e){"The server side encryption configuration was not found"===e.errorMessage&&(Ke(!1),k(null)),fe(!1)})):(Ke(!1),k(null),fe(!1)))}),[de,hn,jn]),(0,r.useEffect)((function(){me&&o&&m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/versioning")).then((function(e){Be(e.is_versioned),he(!1)})).catch((function(e){a(e),he(!1)}))}),[me,a,hn,o]),(0,r.useEffect)((function(){ve&&o&&(bn?m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/quota")).then((function(e){we(e),e.quota?Ue(!0):Ue(!1),je(!1)})).catch((function(e){a(e),Ue(!1),je(!1)})):(Ue(!1),je(!1)))}),[ve,he,a,hn,o,bn]),(0,r.useEffect)((function(){me&&o&&(vn?m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/object-locking")).then((function(e){D(e.object_locking_enabled),ee(!1)})).catch((function(e){a(e),ee(!1)})):ee(!1))}),[X,a,hn,me,o,vn]),(0,r.useEffect)((function(){ie&&m.Z.invoke("GET","/api/v1/buckets").then((function(e){var n=d()(e,"buckets",[]).find((function(e){return e.name===hn})),t=d()(n,"size","0");se(!1),A(t)})).catch((function(e){se(!1),a(e)}))}),[ie,a,hn]),(0,r.useEffect)((function(){Te&&o&&m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/replication")).then((function(e){var n=e.rules?e.rules:[];$(n.length>0),ke(!1)})).catch((function(e){a(e),ke(!1)}))}),[Te,a,hn,o]),(0,r.useEffect)((function(){Ce&&M&&m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/retention")).then((function(e){_e(!1),Qe(!0),He(e)})).catch((function(e){Qe(!1),_e(!1),He(null)}))}),[Ce,M,hn]);var En=function(){x(!0),le(!0),se(!0),he(!0),fe(!0),_e(!0)};return(0,S.jsxs)(r.Fragment,{children:[on&&(0,S.jsx)(I,{open:on,selectedBucket:hn,encryptionEnabled:ze,encryptionCfg:v,closeModalAndRefresh:function(){an(!1),fe(!0)}}),un&&(0,S.jsx)(O,{open:un,selectedBucket:hn,enabled:Fe,cfg:Le,closeModalAndRefresh:function(){dn(!1),je(!0)}}),V&&(0,S.jsx)(_,{bucketName:hn,open:V,actualPolicy:Zn,actualDefinition:gn,closeModalAndRefresh:function(){Y(!1),En()}}),nn&&(0,S.jsx)(N,{bucketName:hn,open:nn,closeModalAndRefresh:function(){tn(!1),En()}}),pn&&(0,S.jsx)(P,{closeVersioningModalAndRefresh:function(e){mn(!1),e&&En()},modalOpen:pn,selectedBucket:hn,versioningCurrentState:Pe}),(0,S.jsx)(f.ZP,{container:!0,children:(0,S.jsx)(f.ZP,{item:!0,xs:12,className:n.spacerBottom,children:(0,S.jsx)("h3",{style:{marginTop:"0",marginBottom:"0"},children:"Summary"})})}),(0,S.jsx)(g.Z,{scopes:[Z.Ft.S3_GET_BUCKET_POLICY],resource:hn,children:(0,S.jsxs)(c.Z,{sx:(0,s.Z)({},R),children:[(0,S.jsxs)(c.Z,{sx:(0,s.Z)({},R),children:[(0,S.jsx)(g.Z,{scopes:[Z.Ft.S3_GET_BUCKET_POLICY],resource:hn,children:(0,S.jsx)(T.default,{iamScopes:[Z.Ft.S3_PUT_BUCKET_POLICY],resourceName:hn,property:"Access Policy:",value:Zn.toLowerCase(),onEdit:function(){Y(!0)},isLoading:ae})}),(0,S.jsx)(g.Z,{scopes:[Z.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION],resource:hn,children:(0,S.jsx)(T.default,{iamScopes:[Z.Ft.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION],resourceName:hn,property:"Encryption:",value:ze?"Enabled":"Disabled",onEdit:function(){an(!0)},isLoading:de})}),(0,S.jsx)(g.Z,{scopes:[Z.Ft.S3_GET_REPLICATION_CONFIGURATION],resource:hn,children:(0,S.jsx)(j.default,{label:"Replication:",value:(0,S.jsx)(b.Z,{icon:W?(0,S.jsx)(E.E3,{}):(0,S.jsx)(E.dR,{}),label:(0,S.jsx)("label",{className:n.textMuted,children:W?"Enabled":"Disabled"})})})}),(0,S.jsx)(g.Z,{scopes:[Z.Ft.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION],resource:hn,children:(0,S.jsx)(j.default,{label:"Object Locking:",value:(0,S.jsx)(b.Z,{icon:M?(0,S.jsx)(E.E3,{}):(0,S.jsx)(E.dR,{}),label:(0,S.jsx)("label",{className:n.textMuted,children:M?"Enabled":"Disabled"})})})}),(0,S.jsx)(c.Z,{className:n.spacerTop,children:(0,S.jsx)(j.default,{label:"Tags:",value:(0,S.jsx)(B,{setErrorSnackMessage:a,bucketName:hn})})})]}),(0,S.jsx)(c.Z,{sx:{display:"grid",gridTemplateColumns:"1fr",alignItems:"flex-start"},children:(0,S.jsx)(y,{bucketSize:G})})]})}),o&&(0,S.jsxs)(g.Z,{scopes:[Z.Ft.S3_GET_BUCKET_VERSIONING],resource:hn,children:[(0,S.jsx)(f.ZP,{container:!0,children:(0,S.jsx)(f.ZP,{item:!0,xs:12,className:n.spacerBottom,children:(0,S.jsx)("h3",{style:{marginTop:"25px",marginBottom:"0"},children:"Versioning"})})}),(0,S.jsxs)(c.Z,{sx:(0,s.Z)({},R),children:[(0,S.jsxs)(c.Z,{sx:(0,s.Z)({},R),children:[(0,S.jsx)(T.default,{iamScopes:[Z.Ft.S3_PUT_BUCKET_VERSIONING],resourceName:hn,property:"Versioning:",value:Pe?"Enabled":"Disabled",onEdit:function(){mn(!0)},isLoading:me}),(0,S.jsx)(T.default,{iamScopes:[Z.Ft.ADMIN_SET_BUCKET_QUOTA],resourceName:hn,property:"Quota:",value:Fe?"Enabled":"Disabled",onEdit:function(){dn(!0)},isLoading:ve})]}),(0,S.jsx)(c.Z,{sx:{display:"grid",gridTemplateColumns:"1fr",alignItems:"flex-start"},children:Fe&&Le?(0,S.jsx)(C,{quota:Le}):null})]})]}),M&&(0,S.jsxs)(g.Z,{scopes:[Z.Ft.S3_GET_OBJECT_RETENTION],resource:hn,children:[(0,S.jsx)(f.ZP,{container:!0,children:(0,S.jsx)(f.ZP,{item:!0,xs:12,className:n.spacerBottom,children:(0,S.jsx)("h3",{style:{marginTop:"25px",marginBottom:"0"},children:"Retention"})})}),(0,S.jsxs)(c.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},children:[(0,S.jsxs)(c.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},children:[(0,S.jsx)(T.default,{iamScopes:[Z.Ft.ADMIN_SET_BUCKET_QUOTA],resourceName:hn,property:"Retention:",value:qe?"Enabled":"Disabled",onEdit:function(){tn(!0)},isLoading:Ce}),(0,S.jsx)(j.default,{label:"Mode:",value:(0,S.jsx)("label",{className:n.textMuted,style:{textTransform:"capitalize"},children:Je&&Je.mode?Je.mode:"-"})}),(0,S.jsx)(j.default,{label:"Validity:",value:(0,S.jsxs)("label",{className:n.textMuted,style:{textTransform:"capitalize"},children:[Je&&Je.validity," ",Je&&(1===Je.validity?Je.unit.slice(0,-1):Je.unit)]})})]}),(0,S.jsx)(c.Z,{sx:{display:"grid",gridTemplateColumns:"1fr",alignItems:"flex-start"}})]})]})]})})))},94113:function(e,n,t){t.r(n),t.d(n,{default:function(){return j}});var i=t(18489),s=(t(50390),t(86458)),r=t(15607),o=t(83738),a=t(66946),l=t(18201),c=t(62559),u=["isLoading","onClick","label"],d=function(e){var n=e.isLoading,t=e.onClick,s=e.label,r=(0,o.Z)(e,u);return(0,c.jsx)(a.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},r),{},{children:n?(0,c.jsx)(l.Z,{color:"primary",size:16,variant:"indeterminate"}):s}))},f=t(56805),x=t(95467),p=t(59078),m=t(86509),h=t(4285),Z=["disabled","onClick"],g=(0,h.Z)((function(e){return(0,m.Z)({root:{"&:hover":{backgroundColor:"#E2E2E2"}}})}))((function(e){var n=e.disabled,t=e.onClick,s=(0,o.Z)(e,Z);return(0,c.jsx)(x.Z,(0,i.Z)((0,i.Z)({size:"small",disabled:n,onClick:t},s),{},{children:(0,c.jsx)(p.Z,{})}))})),v=function(e){var n=e.resourceName,t=e.iamScopes,s=e.secureCmpProps,o=void 0===s?{}:s,a=e.children;return(0,c.jsx)(r.Z,(0,i.Z)((0,i.Z)({scopes:t,resource:n,errorProps:{disabled:!0}},o),{},{children:a}))},j=function(e){var n=e.isLoading,t=void 0===n||n,i=e.resourceName,r=void 0===i?"":i,o=e.iamScopes,a=e.secureCmpProps,l=void 0===a?{}:a,u=e.property,x=void 0===u?null:u,p=e.value,m=void 0===p?null:p,h=e.onEdit;return(0,c.jsxs)(f.Z,{sx:{display:"flex",alignItems:"baseline",justifyContent:"flex-start"},children:[(0,c.jsx)(s.default,{label:x,value:(0,c.jsx)(v,{resourceName:r,iamScopes:o,secureCmpProps:l,children:(0,c.jsx)(d,{isLoading:t,onClick:h,label:m})})}),(0,c.jsx)(v,{resourceName:r,iamScopes:o,secureCmpProps:l,children:(0,c.jsx)(g,{onClick:h,sx:{background:"#f8f8f8",marginLeft:"3px",top:3,"& .min-icon":{width:"16px",height:"16px"}}})})]})}},1589:function(e,n,t){t(50390);var i=t(56805),s=t(62559);n.Z=function(e){var n=e.icon,t=void 0===n?null:n,r=e.label,o=void 0===r?null:r;return(0,s.jsxs)(i.Z,{sx:{display:"flex"},children:[(0,s.jsx)("div",{style:{height:16,width:16,display:"flex",alignItems:"center",marginTop:5},children:t}),(0,s.jsx)("div",{style:{marginLeft:t?5:"none"},children:o})]})}},86458:function(e,n,t){t.r(n);var i=t(18489),s=(t(50390),t(19787)),r=t(62559);n.default=function(e){var n=e.label,t=void 0===n?null:n,o=e.value,a=void 0===o?"-":o,l=e.orientation,c=void 0===l?"column":l,u=e.stkProps,d=void 0===u?{}:u,f=e.lblProps,x=void 0===f?{}:f,p=e.valProps,m=void 0===p?{}:p;return(0,r.jsxs)(s.Z,(0,i.Z)((0,i.Z)({direction:{xs:"column",sm:c}},d),{},{children:[(0,r.jsx)("label",(0,i.Z)((0,i.Z)({style:{marginRight:5,fontWeight:600}},x),{},{children:t})),(0,r.jsx)("label",(0,i.Z)((0,i.Z)({style:{marginRight:5,fontWeight:500}},m),{},{children:a}))]}))}},19787:function(e,n,t){var i=t(36222),s=t(1048),r=t(32793),o=t(50390),a=t(11188),l=t(88646),c=t(99301),u=t(64487),d=t(8208),f=t(15573),x=t(62559),p=["component","direction","spacing","divider","children"];function m(e,n){var t=o.Children.toArray(e).filter(Boolean);return t.reduce((function(e,i,s){return e.push(i),s :not(style) + :not(style)":(0,i.Z)({margin:0},"margin".concat((s=t?d[t]:n.direction,{row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"}[s])),(0,l.NA)(o,e))};var s})))}return s})),Z=o.forwardRef((function(e,n){var t=(0,f.Z)({props:e,name:"MuiStack"}),i=(0,c.Z)(t),o=i.component,a=void 0===o?"div":o,l=i.direction,u=void 0===l?"column":l,d=i.spacing,Z=void 0===d?0:d,g=i.divider,v=i.children,j=(0,s.Z)(i,p),b={direction:u,spacing:Z};return(0,x.jsx)(h,(0,r.Z)({as:a,ownerState:b,ref:n},j,{children:g?m(v,g):v}))}));n.Z=Z}}]); +//# sourceMappingURL=1973.34c45ee7.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1973.55987b98.chunk.js.map b/portal-ui/build/static/js/1973.34c45ee7.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/1973.55987b98.chunk.js.map rename to portal-ui/build/static/js/1973.34c45ee7.chunk.js.map index ff814d7fb..227a9a7e8 100644 --- a/portal-ui/build/static/js/1973.55987b98.chunk.js.map +++ b/portal-ui/build/static/js/1973.34c45ee7.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/1973.55987b98.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/ReportedUsage.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/BucketQuotaSize.tsx","screens/Console/Buckets/BucketDetails/BucketSummaryPanel.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/ActionLink.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/EditActionButton.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/EditablePropertyItem.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/LabelWithIcon.tsx","screens/Console/Common/UsageBarWrapper/LabelValuePair.tsx","../node_modules/@mui/material/Stack/Stack.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\";\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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { AppState } from \"../../../../store\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport {\n BucketEncryptionInfo,\n BucketInfo,\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\";\nimport { setBucketDetailsLoad } from \"../actions\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport SecureComponent, {\n hasPermission,\n} from \"../../../../common/SecureComponent/SecureComponent\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport LabelValuePair from \"../../Common/UsageBarWrapper/LabelValuePair\";\nimport LabelWithIcon from \"./SummaryItems/LabelWithIcon\";\nimport { EnabledIcon, DisabledIcon } from \"../../../../icons\";\nimport EditablePropertyItem from \"./SummaryItems/EditablePropertyItem\";\nimport ReportedUsage from \"./SummaryItems/ReportedUsage\";\nimport BucketQuotaSize from \"./SummaryItems/BucketQuotaSize\";\n\nconst SetAccessPolicy = withSuspense(\n React.lazy(() => import(\"./SetAccessPolicy\"))\n);\nconst SetRetentionConfig = withSuspense(\n React.lazy(() => import(\"./SetRetentionConfig\"))\n);\nconst EnableBucketEncryption = withSuspense(\n React.lazy(() => import(\"./EnableBucketEncryption\"))\n);\nconst EnableVersioningModal = withSuspense(\n React.lazy(() => import(\"./EnableVersioningModal\"))\n);\nconst BucketTags = withSuspense(\n React.lazy(() => import(\"./SummaryItems/BucketTags\"))\n);\n\nconst EnableQuota = withSuspense(React.lazy(() => import(\"./EnableQuota\")));\n\ninterface IBucketSummaryProps {\n classes: any;\n match: any;\n distributedSetup: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n loadingBucket: boolean;\n bucketInfo: BucketInfo | null;\n setBucketDetailsLoad: typeof setBucketDetailsLoad;\n}\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\nconst BucketSummary = ({\n classes,\n match,\n distributedSetup,\n setErrorSnackMessage,\n loadingBucket,\n bucketInfo,\n setBucketDetailsLoad,\n}: IBucketSummaryProps) => {\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 = match.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 setErrorSnackMessage(err);\n setLoadingVersioning(false);\n });\n }\n }, [loadingVersioning, setErrorSnackMessage, 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 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 setErrorSnackMessage,\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 setErrorSnackMessage(err);\n setLoadingLocking(false);\n });\n } else {\n setLoadingLocking(false);\n }\n }\n }, [\n loadingObjectLocking,\n setErrorSnackMessage,\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 setErrorSnackMessage(err);\n });\n }\n }, [loadingSize, setErrorSnackMessage, 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 setErrorSnackMessage(err);\n setLoadingReplication(false);\n });\n }\n }, [loadingReplication, setErrorSnackMessage, 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 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 \n \n \n Summary\n \n \n \n \n \n \n \n {\n setAccessPolicyScreenOpen(true);\n }}\n isLoading={bucketLoading}\n />\n \n\n \n {\n setEnableEncryptionScreenOpen(true);\n }}\n isLoading={loadingEncryption}\n />\n \n\n \n : }\n label={\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 \n \n \n\n {distributedSetup && (\n \n \n \n \n Versioning\n \n \n \n\n \n \n \n\n \n \n \n {quotaEnabled && quota ? : null}\n \n \n \n )}\n\n {hasObjectLocking && (\n \n \n \n \n Retention\n \n \n \n\n \n \n {\n setRetentionConfigOpen(true);\n }}\n isLoading={loadingRetention}\n />\n\n \n {retentionConfig && retentionConfig.mode\n ? retentionConfig.mode\n : \"-\"}\n \n }\n />\n \n {retentionConfig && retentionConfig.validity}{\" \"}\n {retentionConfig &&\n (retentionConfig.validity === 1\n ? retentionConfig.unit.slice(0, -1)\n : retentionConfig.unit)}\n \n }\n />\n \n\n \n {/*Spacer*/}\n \n \n \n )}\n \n );\n};\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n distributedSetup: state.system.distributedSetup,\n loadingBucket: state.buckets.bucketDetails.loadingBucket,\n bucketInfo: state.buckets.bucketDetails.bucketInfo,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n setBucketDetailsLoad,\n});\n\nexport default withStyles(styles)(connector(BucketSummary));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Button, CircularProgress } from \"@mui/material\";\n\ntype ActionLinkProps = {\n isLoading: boolean;\n onClick: () => void;\n classes?: any;\n label: any;\n [x: string]: any;\n};\nconst ActionLink = ({\n isLoading,\n onClick,\n label,\n ...restProps\n}: ActionLinkProps) => {\n return (\n \n {isLoading ? (\n \n ) : (\n label\n )}\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/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\";\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","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, 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 * 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 */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nfunction joinChildren(children, separator) {\n const childrenArray = React.Children.toArray(children).filter(Boolean);\n return childrenArray.reduce((output, child, index) => {\n output.push(child);\n\n if (index < childrenArray.length - 1) {\n output.push( /*#__PURE__*/React.cloneElement(separator, {\n key: `separator-${index}`\n }));\n }\n\n return output;\n }, []);\n}\n\nconst getSideFromDirection = direction => {\n return {\n row: 'Left',\n 'row-reverse': 'Right',\n column: 'Top',\n 'column-reverse': 'Bottom'\n }[direction];\n};\n\nexport const style = ({\n ownerState,\n theme\n}) => {\n let styles = _extends({\n display: 'flex'\n }, handleBreakpoints({\n theme\n }, resolveBreakpointValues({\n values: ownerState.direction,\n breakpoints: theme.breakpoints.values\n }), propValue => ({\n flexDirection: propValue\n })));\n\n if (ownerState.spacing) {\n const transformer = createUnarySpacing(theme);\n const base = Object.keys(theme.breakpoints.values).reduce((acc, breakpoint) => {\n if (ownerState.spacing[breakpoint] != null || ownerState.direction[breakpoint] != null) {\n acc[breakpoint] = true;\n }\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\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\n styles = deepmerge(styles, handleBreakpoints({\n theme\n }, spacingValues, styleFromPropValue));\n }\n\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\n const {\n component = 'div',\n direction = 'column',\n spacing = 0,\n divider,\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\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\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * 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 /**\n * Add an element between each child.\n */\n divider: PropTypes.node,\n\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 /**\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;"],"names":["bucketSize","Box","sx","display","alignItems","height","width","justifyContent","flexFlow","marginLeft","fontSize","style","fontWeight","niceBytes","quota","textTransform","type","SetAccessPolicy","withSuspense","React","SetRetentionConfig","EnableBucketEncryption","EnableVersioningModal","BucketTags","EnableQuota","twoColCssGridLayoutConfig","gridTemplateColumns","xs","sm","gridAutoFlow","gap","connector","connect","state","session","console","distributedSetup","system","loadingBucket","buckets","bucketDetails","bucketInfo","setErrorSnackMessage","setBucketDetailsLoad","withStyles","theme","createStyles","spacingUtils","textStyleUtils","classes","match","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","params","accessPolicy","policyDefinition","access","definition","displayGetBucketObjectLockConfiguration","hasPermission","IAM_SCOPES","displayGetBucketEncryptionConfiguration","displayGetBucketQuota","useEffect","api","then","res","algorithm","catch","err","errorMessage","is_versioned","object_locking_enabled","get","find","bucket","name","size","r","rules","length","loadAllBucketData","Fragment","open","selectedBucket","closeModalAndRefresh","enabled","cfg","actualPolicy","actualDefinition","closeVersioningModalAndRefresh","refresh","modalOpen","versioningCurrentState","Grid","container","item","className","spacerBottom","marginTop","marginBottom","SecureComponent","scopes","resource","EditablePropertyItem","iamScopes","resourceName","property","value","toLowerCase","onEdit","isLoading","LabelValuePair","label","LabelWithIcon","icon","textMuted","spacerTop","mode","validity","unit","slice","onClick","restProps","Button","color","variant","padding","margin","textDecoration","background","disableRipple","disableFocusRipple","CircularProgress","root","backgroundColor","disabled","IconButton","EditIcon","SecureAction","secureCmpProps","children","errorProps","top","orientation","stkProps","lblProps","valProps","direction","marginRight","_excluded","joinChildren","separator","childrenArray","filter","Boolean","reduce","output","child","index","push","key","StackRoot","styled","slot","overridesResolver","props","styles","ownerState","_extends","handleBreakpoints","resolveBreakpointValues","values","breakpoints","propValue","flexDirection","spacing","transformer","createUnarySpacing","base","Object","keys","acc","breakpoint","directionValues","spacingValues","deepmerge","row","column","getValue","Stack","inProps","ref","themeProps","useThemeProps","extendSxProp","component","divider","other","_objectWithoutPropertiesLoose","_jsx","as"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/1973.34c45ee7.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/ReportedUsage.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/BucketQuotaSize.tsx","screens/Console/Buckets/BucketDetails/BucketSummaryPanel.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/ActionLink.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/EditActionButton.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/EditablePropertyItem.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/LabelWithIcon.tsx","screens/Console/Common/UsageBarWrapper/LabelValuePair.tsx","../node_modules/@mui/material/Stack/Stack.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\";\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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { AppState } from \"../../../../store\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport {\n BucketEncryptionInfo,\n BucketInfo,\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\";\nimport { setBucketDetailsLoad } from \"../actions\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport SecureComponent, {\n hasPermission,\n} from \"../../../../common/SecureComponent/SecureComponent\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport LabelValuePair from \"../../Common/UsageBarWrapper/LabelValuePair\";\nimport LabelWithIcon from \"./SummaryItems/LabelWithIcon\";\nimport { EnabledIcon, DisabledIcon } from \"../../../../icons\";\nimport EditablePropertyItem from \"./SummaryItems/EditablePropertyItem\";\nimport ReportedUsage from \"./SummaryItems/ReportedUsage\";\nimport BucketQuotaSize from \"./SummaryItems/BucketQuotaSize\";\n\nconst SetAccessPolicy = withSuspense(\n React.lazy(() => import(\"./SetAccessPolicy\"))\n);\nconst SetRetentionConfig = withSuspense(\n React.lazy(() => import(\"./SetRetentionConfig\"))\n);\nconst EnableBucketEncryption = withSuspense(\n React.lazy(() => import(\"./EnableBucketEncryption\"))\n);\nconst EnableVersioningModal = withSuspense(\n React.lazy(() => import(\"./EnableVersioningModal\"))\n);\nconst BucketTags = withSuspense(\n React.lazy(() => import(\"./SummaryItems/BucketTags\"))\n);\n\nconst EnableQuota = withSuspense(React.lazy(() => import(\"./EnableQuota\")));\n\ninterface IBucketSummaryProps {\n classes: any;\n match: any;\n distributedSetup: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n loadingBucket: boolean;\n bucketInfo: BucketInfo | null;\n setBucketDetailsLoad: typeof setBucketDetailsLoad;\n}\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\nconst BucketSummary = ({\n classes,\n match,\n distributedSetup,\n setErrorSnackMessage,\n loadingBucket,\n bucketInfo,\n setBucketDetailsLoad,\n}: IBucketSummaryProps) => {\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 = match.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 setErrorSnackMessage(err);\n setLoadingVersioning(false);\n });\n }\n }, [loadingVersioning, setErrorSnackMessage, 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 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 setErrorSnackMessage,\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 setErrorSnackMessage(err);\n setLoadingLocking(false);\n });\n } else {\n setLoadingLocking(false);\n }\n }\n }, [\n loadingObjectLocking,\n setErrorSnackMessage,\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 setErrorSnackMessage(err);\n });\n }\n }, [loadingSize, setErrorSnackMessage, 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 setErrorSnackMessage(err);\n setLoadingReplication(false);\n });\n }\n }, [loadingReplication, setErrorSnackMessage, 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 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 \n \n \n Summary\n \n \n \n \n \n \n \n {\n setAccessPolicyScreenOpen(true);\n }}\n isLoading={bucketLoading}\n />\n \n\n \n {\n setEnableEncryptionScreenOpen(true);\n }}\n isLoading={loadingEncryption}\n />\n \n\n \n : }\n label={\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 \n \n \n\n {distributedSetup && (\n \n \n \n \n Versioning\n \n \n \n\n \n \n \n\n \n \n \n {quotaEnabled && quota ? : null}\n \n \n \n )}\n\n {hasObjectLocking && (\n \n \n \n \n Retention\n \n \n \n\n \n \n {\n setRetentionConfigOpen(true);\n }}\n isLoading={loadingRetention}\n />\n\n \n {retentionConfig && retentionConfig.mode\n ? retentionConfig.mode\n : \"-\"}\n \n }\n />\n \n {retentionConfig && retentionConfig.validity}{\" \"}\n {retentionConfig &&\n (retentionConfig.validity === 1\n ? retentionConfig.unit.slice(0, -1)\n : retentionConfig.unit)}\n \n }\n />\n \n\n \n {/*Spacer*/}\n \n \n \n )}\n \n );\n};\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n distributedSetup: state.system.distributedSetup,\n loadingBucket: state.buckets.bucketDetails.loadingBucket,\n bucketInfo: state.buckets.bucketDetails.bucketInfo,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n setBucketDetailsLoad,\n});\n\nexport default withStyles(styles)(connector(BucketSummary));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Button, CircularProgress } from \"@mui/material\";\n\ntype ActionLinkProps = {\n isLoading: boolean;\n onClick: () => void;\n classes?: any;\n label: any;\n [x: string]: any;\n};\nconst ActionLink = ({\n isLoading,\n onClick,\n label,\n ...restProps\n}: ActionLinkProps) => {\n return (\n \n {isLoading ? (\n \n ) : (\n label\n )}\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/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\";\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","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, 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 * 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 */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nfunction joinChildren(children, separator) {\n const childrenArray = React.Children.toArray(children).filter(Boolean);\n return childrenArray.reduce((output, child, index) => {\n output.push(child);\n\n if (index < childrenArray.length - 1) {\n output.push( /*#__PURE__*/React.cloneElement(separator, {\n key: `separator-${index}`\n }));\n }\n\n return output;\n }, []);\n}\n\nconst getSideFromDirection = direction => {\n return {\n row: 'Left',\n 'row-reverse': 'Right',\n column: 'Top',\n 'column-reverse': 'Bottom'\n }[direction];\n};\n\nexport const style = ({\n ownerState,\n theme\n}) => {\n let styles = _extends({\n display: 'flex'\n }, handleBreakpoints({\n theme\n }, resolveBreakpointValues({\n values: ownerState.direction,\n breakpoints: theme.breakpoints.values\n }), propValue => ({\n flexDirection: propValue\n })));\n\n if (ownerState.spacing) {\n const transformer = createUnarySpacing(theme);\n const base = Object.keys(theme.breakpoints.values).reduce((acc, breakpoint) => {\n if (ownerState.spacing[breakpoint] != null || ownerState.direction[breakpoint] != null) {\n acc[breakpoint] = true;\n }\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\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\n styles = deepmerge(styles, handleBreakpoints({\n theme\n }, spacingValues, styleFromPropValue));\n }\n\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\n const {\n component = 'div',\n direction = 'column',\n spacing = 0,\n divider,\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\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\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * 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 /**\n * Add an element between each child.\n */\n divider: PropTypes.node,\n\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 /**\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;"],"names":["bucketSize","Box","sx","display","alignItems","height","width","justifyContent","flexFlow","marginLeft","fontSize","style","fontWeight","niceBytes","quota","textTransform","type","SetAccessPolicy","withSuspense","React","SetRetentionConfig","EnableBucketEncryption","EnableVersioningModal","BucketTags","EnableQuota","twoColCssGridLayoutConfig","gridTemplateColumns","xs","sm","gridAutoFlow","gap","connector","connect","state","session","console","distributedSetup","system","loadingBucket","buckets","bucketDetails","bucketInfo","setErrorSnackMessage","setBucketDetailsLoad","withStyles","theme","createStyles","spacingUtils","textStyleUtils","classes","match","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","params","accessPolicy","policyDefinition","access","definition","displayGetBucketObjectLockConfiguration","hasPermission","IAM_SCOPES","displayGetBucketEncryptionConfiguration","displayGetBucketQuota","useEffect","api","then","res","algorithm","catch","err","errorMessage","is_versioned","object_locking_enabled","get","find","bucket","name","size","r","rules","length","loadAllBucketData","Fragment","open","selectedBucket","closeModalAndRefresh","enabled","cfg","actualPolicy","actualDefinition","closeVersioningModalAndRefresh","refresh","modalOpen","versioningCurrentState","Grid","container","item","className","spacerBottom","marginTop","marginBottom","SecureComponent","scopes","resource","EditablePropertyItem","iamScopes","resourceName","property","value","toLowerCase","onEdit","isLoading","LabelValuePair","label","LabelWithIcon","icon","textMuted","spacerTop","mode","validity","unit","slice","onClick","restProps","Button","color","variant","padding","margin","textDecoration","background","disableRipple","disableFocusRipple","CircularProgress","root","backgroundColor","disabled","IconButton","EditIcon","SecureAction","secureCmpProps","children","errorProps","top","orientation","stkProps","lblProps","valProps","direction","marginRight","_excluded","joinChildren","separator","childrenArray","filter","Boolean","reduce","output","child","index","push","key","StackRoot","styled","slot","overridesResolver","props","styles","ownerState","_extends","handleBreakpoints","resolveBreakpointValues","values","breakpoints","propValue","flexDirection","spacing","transformer","createUnarySpacing","base","Object","keys","acc","breakpoint","directionValues","spacingValues","deepmerge","row","column","getValue","Stack","inProps","ref","themeProps","useThemeProps","extendSxProp","component","divider","other","_objectWithoutPropertiesLoose","_jsx","as"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1973.55987b98.chunk.js b/portal-ui/build/static/js/1973.55987b98.chunk.js deleted file mode 100644 index 816c6aac6..000000000 --- a/portal-ui/build/static/js/1973.55987b98.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1973],{91973:function(e,n,t){t.r(n),t.d(n,{default:function(){return U}});var i=t(23430),s=t(18489),r=t(50390),o=t(34424),a=t(86509),l=t(4285),c=t(56805),u=t(38342),d=t.n(u),f=t(25594),x=t(44149),p=t(72462),m=t(30324),h=t(77130),Z=t(49495),g=t(15607),v=t(37882),j=t(86458),b=t(1589),E=t(11387),T=t(94113),k=t(28948),S=t(62559),y=function(e){var n=e.bucketSize;return(0,S.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{height:37,width:37}},children:[(0,S.jsx)(E.Mh,{}),(0,S.jsxs)(c.Z,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"center",flexFlow:"column",marginLeft:"20px",fontSize:"19px"},children:[(0,S.jsx)("label",{style:{fontWeight:600},children:"Reported Usage:"}),(0,S.jsx)("label",{children:(0,k.ae)(n)})]})]})},C=function(e){var n=e.quota;return(0,S.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{height:37,width:37}},children:[(0,S.jsx)(E.sj,{}),(0,S.jsxs)(c.Z,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"center",flexFlow:"column",marginLeft:"20px",fontSize:"19px"},children:[(0,S.jsxs)("label",{style:{fontWeight:600,textTransform:"capitalize"},children:[null===n||void 0===n?void 0:n.type," Quota"]}),(0,S.jsxs)("label",{children:[" ",(0,k.ae)("".concat(null===n||void 0===n?void 0:n.quota))]})]})]})},_=(0,v.Z)(r.lazy((function(){return Promise.all([t.e(14),t.e(5444),t.e(892),t.e(8954),t.e(6951)]).then(t.bind(t,95239))}))),N=(0,v.Z)(r.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(5444),t.e(892),t.e(9769),t.e(2966)]).then(t.bind(t,82825))}))),I=(0,v.Z)(r.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(5444),t.e(892),t.e(4177)]).then(t.bind(t,44177))}))),P=(0,v.Z)(r.lazy((function(){return Promise.all([t.e(5444),t.e(9679)]).then(t.bind(t,39679))}))),B=(0,v.Z)(r.lazy((function(){return Promise.all([t.e(3360),t.e(8333)]).then(t.bind(t,28333))}))),O=(0,v.Z)(r.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(5444),t.e(892),t.e(9769),t.e(4105),t.e(1711)]).then(t.bind(t,31711))}))),R={display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},F=(0,o.$j)((function(e){return{session:e.console.session,distributedSetup:e.system.distributedSetup,loadingBucket:e.buckets.bucketDetails.loadingBucket,bucketInfo:e.buckets.bucketDetails.bucketInfo}}),{setErrorSnackMessage:x.Ih,setBucketDetailsLoad:h.d5}),U=(0,l.Z)((function(e){return(0,a.Z)((0,s.Z)((0,s.Z)({},p.bK),p.VI))}))(F((function(e){var n=e.classes,t=e.match,o=e.distributedSetup,a=e.setErrorSnackMessage,l=e.loadingBucket,u=e.bucketInfo,x=e.setBucketDetailsLoad,p=(0,r.useState)(null),h=(0,i.Z)(p,2),v=h[0],k=h[1],F=(0,r.useState)("0"),U=(0,i.Z)(F,2),G=U[0],A=U[1],L=(0,r.useState)(!1),w=(0,i.Z)(L,2),M=w[0],D=w[1],z=(0,r.useState)(!1),K=(0,i.Z)(z,2),V=K[0],Y=K[1],q=(0,r.useState)(!1),Q=(0,i.Z)(q,2),W=Q[0],$=Q[1],J=(0,r.useState)(!0),H=(0,i.Z)(J,2),X=H[0],ee=H[1],ne=(0,r.useState)(!0),te=(0,i.Z)(ne,2),ie=te[0],se=te[1],re=(0,r.useState)(!0),oe=(0,i.Z)(re,2),ae=oe[0],le=oe[1],ce=(0,r.useState)(!0),ue=(0,i.Z)(ce,2),de=ue[0],fe=ue[1],xe=(0,r.useState)(!0),pe=(0,i.Z)(xe,2),me=pe[0],he=pe[1],Ze=(0,r.useState)(!0),ge=(0,i.Z)(Ze,2),ve=ge[0],je=ge[1],be=(0,r.useState)(!0),Ee=(0,i.Z)(be,2),Te=Ee[0],ke=Ee[1],Se=(0,r.useState)(!0),ye=(0,i.Z)(Se,2),Ce=ye[0],_e=ye[1],Ne=(0,r.useState)(!1),Ie=(0,i.Z)(Ne,2),Pe=Ie[0],Be=Ie[1],Oe=(0,r.useState)(!1),Re=(0,i.Z)(Oe,2),Fe=Re[0],Ue=Re[1],Ge=(0,r.useState)(null),Ae=(0,i.Z)(Ge,2),Le=Ae[0],we=Ae[1],Me=(0,r.useState)(!1),De=(0,i.Z)(Me,2),ze=De[0],Ke=De[1],Ve=(0,r.useState)(!1),Ye=(0,i.Z)(Ve,2),qe=Ye[0],Qe=Ye[1],We=(0,r.useState)(null),$e=(0,i.Z)(We,2),Je=$e[0],He=$e[1],Xe=(0,r.useState)(!1),en=(0,i.Z)(Xe,2),nn=en[0],tn=en[1],sn=(0,r.useState)(!1),rn=(0,i.Z)(sn,2),on=rn[0],an=rn[1],ln=(0,r.useState)(!1),cn=(0,i.Z)(ln,2),un=cn[0],dn=cn[1],fn=(0,r.useState)(!1),xn=(0,i.Z)(fn,2),pn=xn[0],mn=xn[1],hn=t.params.bucketName,Zn="n/a",gn="";null!==u&&(Zn=u.access,gn=u.definition);var vn=(0,g.F)(hn,[Z.Ft.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION]),jn=(0,g.F)(hn,[Z.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION]),bn=(0,g.F)(hn,[Z.Ft.ADMIN_GET_BUCKET_QUOTA]);(0,r.useEffect)((function(){le(!!l)}),[l,le]),(0,r.useEffect)((function(){de&&(jn?m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/encryption/info")).then((function(e){e.algorithm&&(Ke(!0),k(e)),fe(!1)})).catch((function(e){"The server side encryption configuration was not found"===e.errorMessage&&(Ke(!1),k(null)),fe(!1)})):(Ke(!1),k(null),fe(!1)))}),[de,hn,jn]),(0,r.useEffect)((function(){me&&o&&m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/versioning")).then((function(e){Be(e.is_versioned),he(!1)})).catch((function(e){a(e),he(!1)}))}),[me,a,hn,o]),(0,r.useEffect)((function(){ve&&o&&(bn?m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/quota")).then((function(e){we(e),e.quota?Ue(!0):Ue(!1),je(!1)})).catch((function(e){a(e),Ue(!1),je(!1)})):(Ue(!1),je(!1)))}),[ve,he,a,hn,o,bn]),(0,r.useEffect)((function(){me&&o&&(vn?m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/object-locking")).then((function(e){D(e.object_locking_enabled),ee(!1)})).catch((function(e){a(e),ee(!1)})):ee(!1))}),[X,a,hn,me,o,vn]),(0,r.useEffect)((function(){ie&&m.Z.invoke("GET","/api/v1/buckets").then((function(e){var n=d()(e,"buckets",[]).find((function(e){return e.name===hn})),t=d()(n,"size","0");se(!1),A(t)})).catch((function(e){se(!1),a(e)}))}),[ie,a,hn]),(0,r.useEffect)((function(){Te&&o&&m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/replication")).then((function(e){var n=e.rules?e.rules:[];$(n.length>0),ke(!1)})).catch((function(e){a(e),ke(!1)}))}),[Te,a,hn,o]),(0,r.useEffect)((function(){Ce&&M&&m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/retention")).then((function(e){_e(!1),Qe(!0),He(e)})).catch((function(e){Qe(!1),_e(!1),He(null)}))}),[Ce,M,hn]);var En=function(){x(!0),le(!0),se(!0),he(!0),fe(!0),_e(!0)};return(0,S.jsxs)(r.Fragment,{children:[on&&(0,S.jsx)(I,{open:on,selectedBucket:hn,encryptionEnabled:ze,encryptionCfg:v,closeModalAndRefresh:function(){an(!1),fe(!0)}}),un&&(0,S.jsx)(O,{open:un,selectedBucket:hn,enabled:Fe,cfg:Le,closeModalAndRefresh:function(){dn(!1),je(!0)}}),V&&(0,S.jsx)(_,{bucketName:hn,open:V,actualPolicy:Zn,actualDefinition:gn,closeModalAndRefresh:function(){Y(!1),En()}}),nn&&(0,S.jsx)(N,{bucketName:hn,open:nn,closeModalAndRefresh:function(){tn(!1),En()}}),pn&&(0,S.jsx)(P,{closeVersioningModalAndRefresh:function(e){mn(!1),e&&En()},modalOpen:pn,selectedBucket:hn,versioningCurrentState:Pe}),(0,S.jsx)(f.ZP,{container:!0,children:(0,S.jsx)(f.ZP,{item:!0,xs:12,className:n.spacerBottom,children:(0,S.jsx)("h3",{style:{marginTop:"0",marginBottom:"0"},children:"Summary"})})}),(0,S.jsx)(g.Z,{scopes:[Z.Ft.S3_GET_BUCKET_POLICY],resource:hn,children:(0,S.jsxs)(c.Z,{sx:(0,s.Z)({},R),children:[(0,S.jsxs)(c.Z,{sx:(0,s.Z)({},R),children:[(0,S.jsx)(g.Z,{scopes:[Z.Ft.S3_GET_BUCKET_POLICY],resource:hn,children:(0,S.jsx)(T.default,{iamScopes:[Z.Ft.S3_PUT_BUCKET_POLICY],resourceName:hn,property:"Access Policy:",value:Zn.toLowerCase(),onEdit:function(){Y(!0)},isLoading:ae})}),(0,S.jsx)(g.Z,{scopes:[Z.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION],resource:hn,children:(0,S.jsx)(T.default,{iamScopes:[Z.Ft.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION],resourceName:hn,property:"Encryption:",value:ze?"Enabled":"Disabled",onEdit:function(){an(!0)},isLoading:de})}),(0,S.jsx)(g.Z,{scopes:[Z.Ft.S3_GET_REPLICATION_CONFIGURATION],resource:hn,children:(0,S.jsx)(j.default,{label:"Replication:",value:(0,S.jsx)(b.Z,{icon:W?(0,S.jsx)(E.E3,{}):(0,S.jsx)(E.dR,{}),label:(0,S.jsx)("label",{className:n.textMuted,children:W?"Enabled":"Disabled"})})})}),(0,S.jsx)(g.Z,{scopes:[Z.Ft.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION],resource:hn,children:(0,S.jsx)(j.default,{label:"Object Locking:",value:(0,S.jsx)(b.Z,{icon:M?(0,S.jsx)(E.E3,{}):(0,S.jsx)(E.dR,{}),label:(0,S.jsx)("label",{className:n.textMuted,children:M?"Enabled":"Disabled"})})})}),(0,S.jsx)(c.Z,{className:n.spacerTop,children:(0,S.jsx)(j.default,{label:"Tags:",value:(0,S.jsx)(B,{setErrorSnackMessage:a,bucketName:hn})})})]}),(0,S.jsx)(c.Z,{sx:{display:"grid",gridTemplateColumns:"1fr",alignItems:"flex-start"},children:(0,S.jsx)(y,{bucketSize:G})})]})}),o&&(0,S.jsxs)(g.Z,{scopes:[Z.Ft.S3_GET_BUCKET_VERSIONING],resource:hn,children:[(0,S.jsx)(f.ZP,{container:!0,children:(0,S.jsx)(f.ZP,{item:!0,xs:12,className:n.spacerBottom,children:(0,S.jsx)("h3",{style:{marginTop:"25px",marginBottom:"0"},children:"Versioning"})})}),(0,S.jsxs)(c.Z,{sx:(0,s.Z)({},R),children:[(0,S.jsxs)(c.Z,{sx:(0,s.Z)({},R),children:[(0,S.jsx)(T.default,{iamScopes:[Z.Ft.S3_PUT_BUCKET_VERSIONING],resourceName:hn,property:"Versioning:",value:Pe?"Enabled":"Disabled",onEdit:function(){mn(!0)},isLoading:me}),(0,S.jsx)(T.default,{iamScopes:[Z.Ft.ADMIN_SET_BUCKET_QUOTA],resourceName:hn,property:"Quota:",value:Fe?"Enabled":"Disabled",onEdit:function(){dn(!0)},isLoading:ve})]}),(0,S.jsx)(c.Z,{sx:{display:"grid",gridTemplateColumns:"1fr",alignItems:"flex-start"},children:Fe&&Le?(0,S.jsx)(C,{quota:Le}):null})]})]}),M&&(0,S.jsxs)(g.Z,{scopes:[Z.Ft.S3_GET_OBJECT_RETENTION],resource:hn,children:[(0,S.jsx)(f.ZP,{container:!0,children:(0,S.jsx)(f.ZP,{item:!0,xs:12,className:n.spacerBottom,children:(0,S.jsx)("h3",{style:{marginTop:"25px",marginBottom:"0"},children:"Retention"})})}),(0,S.jsxs)(c.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},children:[(0,S.jsxs)(c.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},children:[(0,S.jsx)(T.default,{iamScopes:[Z.Ft.ADMIN_SET_BUCKET_QUOTA],resourceName:hn,property:"Retention:",value:qe?"Enabled":"Disabled",onEdit:function(){tn(!0)},isLoading:Ce}),(0,S.jsx)(j.default,{label:"Mode:",value:(0,S.jsx)("label",{className:n.textMuted,style:{textTransform:"capitalize"},children:Je&&Je.mode?Je.mode:"-"})}),(0,S.jsx)(j.default,{label:"Validity:",value:(0,S.jsxs)("label",{className:n.textMuted,style:{textTransform:"capitalize"},children:[Je&&Je.validity," ",Je&&(1===Je.validity?Je.unit.slice(0,-1):Je.unit)]})})]}),(0,S.jsx)(c.Z,{sx:{display:"grid",gridTemplateColumns:"1fr",alignItems:"flex-start"}})]})]})]})})))},94113:function(e,n,t){t.r(n),t.d(n,{default:function(){return j}});var i=t(18489),s=(t(50390),t(86458)),r=t(15607),o=t(83738),a=t(66946),l=t(18201),c=t(62559),u=["isLoading","onClick","label"],d=function(e){var n=e.isLoading,t=e.onClick,s=e.label,r=(0,o.Z)(e,u);return(0,c.jsx)(a.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},r),{},{children:n?(0,c.jsx)(l.Z,{color:"primary",size:16,variant:"indeterminate"}):s}))},f=t(56805),x=t(95467),p=t(59078),m=t(86509),h=t(4285),Z=["disabled","onClick"],g=(0,h.Z)((function(e){return(0,m.Z)({root:{"&:hover":{backgroundColor:"#E2E2E2"}}})}))((function(e){var n=e.disabled,t=e.onClick,s=(0,o.Z)(e,Z);return(0,c.jsx)(x.Z,(0,i.Z)((0,i.Z)({size:"small",disabled:n,onClick:t},s),{},{children:(0,c.jsx)(p.Z,{})}))})),v=function(e){var n=e.resourceName,t=e.iamScopes,s=e.secureCmpProps,o=void 0===s?{}:s,a=e.children;return(0,c.jsx)(r.Z,(0,i.Z)((0,i.Z)({scopes:t,resource:n,errorProps:{disabled:!0}},o),{},{children:a}))},j=function(e){var n=e.isLoading,t=void 0===n||n,i=e.resourceName,r=void 0===i?"":i,o=e.iamScopes,a=e.secureCmpProps,l=void 0===a?{}:a,u=e.property,x=void 0===u?null:u,p=e.value,m=void 0===p?null:p,h=e.onEdit;return(0,c.jsxs)(f.Z,{sx:{display:"flex",alignItems:"baseline",justifyContent:"flex-start"},children:[(0,c.jsx)(s.default,{label:x,value:(0,c.jsx)(v,{resourceName:r,iamScopes:o,secureCmpProps:l,children:(0,c.jsx)(d,{isLoading:t,onClick:h,label:m})})}),(0,c.jsx)(v,{resourceName:r,iamScopes:o,secureCmpProps:l,children:(0,c.jsx)(g,{onClick:h,sx:{background:"#f8f8f8",marginLeft:"3px",top:3,"& .min-icon":{width:"16px",height:"16px"}}})})]})}},1589:function(e,n,t){t(50390);var i=t(56805),s=t(62559);n.Z=function(e){var n=e.icon,t=void 0===n?null:n,r=e.label,o=void 0===r?null:r;return(0,s.jsxs)(i.Z,{sx:{display:"flex"},children:[(0,s.jsx)("div",{style:{height:16,width:16,display:"flex",alignItems:"center",marginTop:5},children:t}),(0,s.jsx)("div",{style:{marginLeft:t?5:"none"},children:o})]})}},86458:function(e,n,t){t.r(n);var i=t(18489),s=(t(50390),t(19787)),r=t(62559);n.default=function(e){var n=e.label,t=void 0===n?null:n,o=e.value,a=void 0===o?"-":o,l=e.orientation,c=void 0===l?"column":l,u=e.stkProps,d=void 0===u?{}:u,f=e.lblProps,x=void 0===f?{}:f,p=e.valProps,m=void 0===p?{}:p;return(0,r.jsxs)(s.Z,(0,i.Z)((0,i.Z)({direction:{xs:"column",sm:c}},d),{},{children:[(0,r.jsx)("label",(0,i.Z)((0,i.Z)({style:{marginRight:5,fontWeight:600}},x),{},{children:t})),(0,r.jsx)("label",(0,i.Z)((0,i.Z)({style:{marginRight:5,fontWeight:500}},m),{},{children:a}))]}))}},19787:function(e,n,t){var i=t(36222),s=t(1048),r=t(32793),o=t(50390),a=t(11188),l=t(88646),c=t(99301),u=t(64487),d=t(8208),f=t(15573),x=t(62559),p=["component","direction","spacing","divider","children"];function m(e,n){var t=o.Children.toArray(e).filter(Boolean);return t.reduce((function(e,i,s){return e.push(i),s :not(style) + :not(style)":(0,i.Z)({margin:0},"margin".concat((s=t?d[t]:n.direction,{row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"}[s])),(0,l.NA)(o,e))};var s})))}return s})),Z=o.forwardRef((function(e,n){var t=(0,f.Z)({props:e,name:"MuiStack"}),i=(0,c.Z)(t),o=i.component,a=void 0===o?"div":o,l=i.direction,u=void 0===l?"column":l,d=i.spacing,Z=void 0===d?0:d,g=i.divider,v=i.children,j=(0,s.Z)(i,p),b={direction:u,spacing:Z};return(0,x.jsx)(h,(0,r.Z)({as:a,ownerState:b,ref:n},j,{children:g?m(v,g):v}))}));n.Z=Z}}]); -//# sourceMappingURL=1973.55987b98.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1990.b0b81374.chunk.js b/portal-ui/build/static/js/1990.b0b81374.chunk.js new file mode 100644 index 000000000..1b74487c4 --- /dev/null +++ b/portal-ui/build/static/js/1990.b0b81374.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1990],{48898:function(e,n,t){t.r(n),t.d(n,{default:function(){return z}});var s=t(23430),r=t(18489),o=t(50390),a=t(34424),c=t(86509),i=t(4285),l=t(25594),u=t(30324),d=t(56805),f=t(44149),h=t(98280),Z=t(17777),p=t(25233),m=t(35721),x=t(72462),v=t(76352),j=t(66964),g=t(66946),y=t(81378),S=t(62559),b=(0,a.$j)(null,{setModalErrorSnackMessage:f.zb}),w=(0,i.Z)((function(e){return(0,c.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({buttonContainer:{textAlign:"right"}},x.ID),x.DF),x.bK),(0,x.Bz)(e.spacing(4))))}))(b((function(e){var n=e.classes,t=e.open,r=e.closeModal,a=e.setModalErrorSnackMessage,c=(0,o.useState)(""),i=(0,s.Z)(c,2),d=i[0],f=i[1],Z=(0,o.useState)(""),p=(0,s.Z)(Z,2),m=p[0],x=p[1],b=(0,o.useState)(""),w=(0,s.Z)(b,2),C=w[0],A=w[1],M=(0,o.useState)(!1),P=(0,s.Z)(M,2),k=P[0],E=P[1];return t?(0,S.jsx)(v.Z,{title:"Change Password",modalOpen:t,onClose:function(){x(""),A(""),f(""),r()},titleIcon:(0,S.jsx)(h.I,{}),children:(0,S.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){if(e.preventDefault(),m===C){if(m.length<8)a({errorMessage:"Passwords must be at least 8 characters long",detailedError:""});else if(!k){E(!0);var n={current_secret_key:d,new_secret_key:m};u.Z.invoke("POST","/api/v1/account/change-password",n).then((function(){E(!1),x(""),A(""),f(""),r()})).catch((function(e){E(!1),x(""),A(""),f(""),a(e)}))}}else a({errorMessage:"New passwords don't match",detailedError:""})}(e)},children:(0,S.jsxs)(l.ZP,{container:!0,children:[(0,S.jsxs)(l.ZP,{item:!0,xs:12,className:n.modalFormScrollable,children:[(0,S.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,S.jsx)(j.Z,{id:"current-password",name:"current-password",onChange:function(e){f(e.target.value)},label:"Current Password",type:"password",value:d})}),(0,S.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,S.jsx)(j.Z,{id:"new-password",name:"new-password",onChange:function(e){x(e.target.value)},label:"New Password",type:"password",value:m})}),(0,S.jsx)(l.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,S.jsx)(j.Z,{id:"re-new-password",name:"re-new-password",onChange:function(e){A(e.target.value)},label:"Type New Password Again",type:"password",value:C})})]}),(0,S.jsx)(l.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:(0,S.jsx)(g.Z,{type:"submit",variant:"contained",color:"primary",disabled:k||!(d.length>0&&m.length>0&&C.length>0),children:"Save"})}),k&&(0,S.jsx)(l.ZP,{item:!0,xs:12,children:(0,S.jsx)(y.Z,{})})]})})}):null}))),C=t(8235),A=t(25534),M=t(23165),P=t(37882),k=t(49495),E=t(15607),N=t(53224),O=t(73726),F=t(31529),R=t(70014);(0,c.Z)((0,r.Z)((0,r.Z)({},x.ID),x.bK));var I=(0,a.$j)(null,{setModalErrorSnackMessage:f.zb}),D=(0,i.Z)((function(e){return(0,c.Z)((0,r.Z)((0,r.Z)((0,r.Z)({codeMirrorContainer:{marginBottom:20,"& label":{marginBottom:".5rem"},"& label + div":{display:"none"}}},x.DF),x.ID),x.bK))}))(I((function(e){var n=e.classes,t=e.open,r=e.selectedAccessKey,a=e.closeModalAndRefresh,c=e.setModalErrorSnackMessage,i=(0,o.useState)(!0),d=(0,s.Z)(i,2),f=d[0],Z=d[1],p=(0,o.useState)(""),m=(0,s.Z)(p,2),x=m[0],j=m[1];return(0,o.useEffect)((function(){f&&u.Z.invoke("GET","/api/v1/service-accounts/".concat(r,"/policy")).then((function(e){Z(!1),j(e)})).catch((function(e){Z(!1),c(e)}))}),[f,Z,c,r]),(0,S.jsx)(v.Z,{title:"Service Account Policy",modalOpen:t,onClose:function(){a()},titleIcon:(0,S.jsx)(h.QX,{}),children:(0,S.jsxs)(l.ZP,{container:!0,children:[(0,S.jsx)(l.ZP,{item:!0,xs:12,className:n.codeMirrorContainer,children:(0,S.jsx)(R.Z,{label:"Service Account Policy",value:x,onBeforeChange:function(e,n,t){j(t)},editorHeight:"350px",readOnly:!0})}),(0,S.jsx)(l.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:(0,S.jsx)(g.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){a()},disabled:f,children:"Cancel"})})]})})}))),B=(0,P.Z)(o.lazy((function(){return t.e(8394).then(t.bind(t,48394))}))),K=(0,P.Z)(o.lazy((function(){return t.e(4109).then(t.bind(t,47664))}))),_=(0,P.Z)(o.lazy((function(){return t.e(1140).then(t.bind(t,39080))}))),T=(0,a.$j)(null,{displayErrorMessage:f.Ih}),z=(0,i.Z)((function(e){return(0,c.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},x.OR),x.qg),{},{searchField:(0,r.Z)((0,r.Z)({},x.qg.searchField),{},{marginRight:"auto",maxWidth:380})},x.VX),(0,x.Bz)(e.spacing(4))))}))(T((function(e){var n=e.classes,t=e.displayErrorMessage,r=(0,o.useState)([]),a=(0,s.Z)(r,2),c=a[0],i=a[1],x=(0,o.useState)(!1),v=(0,s.Z)(x,2),j=v[0],g=v[1],y=(0,o.useState)(""),b=(0,s.Z)(y,2),P=b[0],R=b[1],I=(0,o.useState)(!1),T=(0,s.Z)(I,2),z=T[0],L=T[1],V=(0,o.useState)(!1),$=(0,s.Z)(V,2),q=$[0],G=$[1],U=(0,o.useState)(null),X=(0,s.Z)(U,2),H=X[0],J=X[1],Q=(0,o.useState)(!1),W=(0,s.Z)(Q,2),Y=W[0],ee=W[1],ne=(0,o.useState)(null),te=(0,s.Z)(ne,2),se=te[0],re=te[1],oe=(0,o.useState)(!1),ae=(0,s.Z)(oe,2),ce=ae[0],ie=ae[1],le=(0,o.useState)([]),ue=(0,s.Z)(le,2),de=ue[0],fe=ue[1],he=(0,o.useState)(!1),Ze=(0,s.Z)(he,2),pe=Ze[0],me=Ze[1],xe=(0,o.useState)(!1),ve=(0,s.Z)(xe,2),je=ve[0],ge=ve[1];(0,o.useEffect)((function(){ye()}),[]),(0,o.useEffect)((function(){j&&u.Z.invoke("GET","/api/v1/service-accounts").then((function(e){var n=e.sort(p.V2);g(!1),i(n)})).catch((function(e){t(e),g(!1)}))}),[j,g,i,t]);var ye=function(){g(!0)},Se=[{type:"view",onClick:function(e){J(e),ge(!0)}},{type:"delete",onClick:function(e){J(e),G(!0)}}],be=c.filter((function(e){return e.toLowerCase().includes(P.toLowerCase())}));return(0,S.jsxs)(o.Fragment,{children:[z&&(0,S.jsx)(B,{open:z,closeModalAndRefresh:function(e){!function(e){if(L(!1),ye(),null!==e){var n={console:{accessKey:"".concat(e.accessKey),secretKey:"".concat(e.secretKey)}};re(n),ee(!0)}}(e)}}),q&&(0,S.jsx)(K,{deleteOpen:q,selectedServiceAccount:H,closeDeleteModalAndRefresh:function(e){!function(e){G(!1),e&&ye()}(e)}}),pe&&(0,S.jsx)(F.Z,{deleteOpen:pe,selectedSAs:de,closeDeleteModalAndRefresh:function(e){me(!1),e&&((0,f.y1)("Service accounts deleted successfully."),fe([]),g(!0))}}),Y&&(0,S.jsx)(_,{newServiceAccount:se,open:Y,closeModal:function(){ee(!1),re(null)},entity:"Service Account"}),je&&(0,S.jsx)(D,{open:je,selectedAccessKey:H,closeModalAndRefresh:function(){ge(!1)}}),(0,S.jsx)(w,{open:ce,closeModal:function(){return ie(!1)}}),(0,S.jsx)(m.Z,{label:"Service Accounts"}),(0,S.jsxs)(A.Z,{children:[(0,S.jsxs)(l.ZP,{item:!0,xs:12,className:n.actionsTray,children:[(0,S.jsx)(M.Z,{placeholder:"Search Service Accounts",onChange:R,overrideClass:n.searchField,value:P}),(0,S.jsxs)(d.Z,{sx:{display:"flex"},children:[" ",(0,S.jsx)(N.Z,{tooltip:"Delete Selected",onClick:function(){me(!0)},text:"Delete Selected",icon:(0,S.jsx)(h.pJ,{}),color:"secondary",disabled:0===de.length,variant:"outlined"}),(0,S.jsx)(E.Z,{scopes:[k.Ft.ADMIN_CREATE_USER],resource:k.C3,matchAll:!0,errorProps:{disabled:!0},children:(0,S.jsx)(N.Z,{onClick:function(){return ie(!0)},text:"Change Password",icon:(0,S.jsx)(h.tv,{}),color:"primary",variant:"outlined"})}),(0,S.jsx)(N.Z,{onClick:function(){L(!0),J(null)},text:"Create service account",icon:(0,S.jsx)(h.dt,{}),color:"primary",variant:"contained"})]})]}),(0,S.jsx)(l.ZP,{item:!0,xs:12,className:n.tableBlock,children:(0,S.jsx)(Z.Z,{isLoading:j,records:be,entityName:"Service Accounts",idField:"",columns:[{label:"Service Account",elementKey:""}],itemActions:Se,selectedItems:de,onSelect:function(e){return(0,O._0)(e,fe,de)},onSelectAll:function(){de.length!==c.length?fe(c):fe([])}})}),(0,S.jsx)(l.ZP,{item:!0,xs:12,marginTop:"15px",children:(0,S.jsx)(C.Z,{title:"Learn more about SERVICE ACCOUNTS",iconComponent:(0,S.jsx)(h.fr,{}),help:(0,S.jsxs)(o.Fragment,{children:["MinIO service accounts are child identities of an authenticated MinIO user, including externally managed identities. Each service account inherits its privileges based on the policies attached to it\u2019s parent user or those groups in which the parent user has membership. Service accounts also support an optional inline policy which further restricts access to a subset of actions and resources available to the parent user.",(0,S.jsx)("br",{}),(0,S.jsx)("br",{}),"You can learn more at our"," ",(0,S.jsx)("a",{href:"https://docs.min.io/minio/baremetal/security/minio-identity-management/user-management.html?ref=con#service-accounts",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]})]})})))},18207:function(e,n,t){function s(){return s=Object.assign||function(e){for(var n=1;n=0||(r[t]=e[t]);return r}t.d(n,{Z:function(){return s}})}}]); +//# sourceMappingURL=1990.b0b81374.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1990.b0b81374.chunk.js.map b/portal-ui/build/static/js/1990.b0b81374.chunk.js.map new file mode 100644 index 000000000..df81c4495 --- /dev/null +++ b/portal-ui/build/static/js/1990.b0b81374.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1990.b0b81374.chunk.js","mappings":"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","sources":["screens/Console/Account/ChangePasswordModal.tsx","screens/Console/Account/ServiceAccountPolicy.tsx","screens/Console/Account/Account.tsx","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/extends.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { connect } from \"react-redux\";\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 { Button, 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 { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport { ChangePasswordIcon } from \"../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\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 setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst ChangePassword = ({\n classes,\n open,\n closeModal,\n setModalErrorSnackMessage,\n}: IChangePasswordProps) => {\n const [currentPassword, setCurrentPassword] = useState(\"\");\n const [newPassword, setNewPassword] = useState(\"\");\n const [reNewPassword, setReNewPassword] = useState(\"\");\n const [loading, setLoading] = useState(false);\n\n const changePassword = (event: React.FormEvent) => {\n event.preventDefault();\n\n if (newPassword !== reNewPassword) {\n setModalErrorSnackMessage({\n errorMessage: \"New passwords don't match\",\n detailedError: \"\",\n });\n return;\n }\n\n if (newPassword.length < 8) {\n setModalErrorSnackMessage({\n errorMessage: \"Passwords must be at least 8 characters long\",\n detailedError: \"\",\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 setModalErrorSnackMessage(err);\n });\n };\n\n return open ? (\n {\n setNewPassword(\"\");\n setReNewPassword(\"\");\n setCurrentPassword(\"\");\n closeModal();\n }}\n titleIcon={}\n >\n ) => {\n changePassword(e);\n }}\n >\n \n \n \n ) => {\n setCurrentPassword(event.target.value);\n }}\n label=\"Current Password\"\n type=\"password\"\n value={currentPassword}\n />\n \n \n ) => {\n setNewPassword(event.target.value);\n }}\n label=\"New Password\"\n type=\"password\"\n value={newPassword}\n />\n \n \n ) => {\n setReNewPassword(event.target.value);\n }}\n label=\"Type New Password Again\"\n type=\"password\"\n value={reNewPassword}\n />\n \n \n \n 0 &&\n newPassword.length > 0 &&\n reNewPassword.length > 0\n )\n }\n >\n Save\n \n \n {loading && (\n \n \n \n )}\n \n \n \n ) : null;\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ChangePassword));\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 { connect } from \"react-redux\";\nimport { Button } 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 formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport { ChangeAccessPolicyIcon } from \"../../../icons\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n codeMirrorContainer: {\n marginBottom: 20,\n \"& label\": {\n marginBottom: \".5rem\",\n },\n \"& label + div\": {\n display: \"none\",\n },\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\ncreateStyles({\n ...modalStyleUtils,\n ...spacingUtils,\n});\n\ninterface IServiceAccountPolicyProps {\n classes: any;\n open: boolean;\n selectedAccessKey: string | null;\n closeModalAndRefresh: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst ServiceAccountPolicy = ({\n classes,\n open,\n selectedAccessKey,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: IServiceAccountPolicyProps) => {\n const [loading, setLoading] = useState(true);\n const [policyDefinition, setPolicyDefinition] = useState(\"\");\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/service-accounts/${selectedAccessKey}/policy`)\n .then((res) => {\n setLoading(false);\n setPolicyDefinition(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n }\n }, [loading, setLoading, setModalErrorSnackMessage, selectedAccessKey]);\n\n return (\n {\n closeModalAndRefresh();\n }}\n titleIcon={}\n >\n \n \n {\n setPolicyDefinition(value);\n }}\n editorHeight={\"350px\"}\n readOnly={true}\n />\n \n \n {\n closeModalAndRefresh();\n }}\n disabled={loading}\n >\n Cancel\n \n \n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ServiceAccountPolicy));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\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 api from \"../../../common/api\";\nimport { Box } from \"@mui/material\";\nimport { NewServiceAccount } from \"../Common/CredentialsPrompt/types\";\nimport { setErrorSnackMessage, setSnackBarMessage } from \"../../../actions\";\nimport {\n AccountIcon,\n AddIcon,\n PasswordKeyIcon,\n DeleteIcon,\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\";\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_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport SecureComponent from \"../../../common/SecureComponent/SecureComponent\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport { selectSAs } from \"../Configurations/utils\";\nimport DeleteMultipleServiceAccounts from \"../Users/DeleteMultipleServiceAccounts\";\nimport ServiceAccountPolicy from \"./ServiceAccountPolicy\";\n\nconst AddServiceAccount = withSuspense(\n React.lazy(() => import(\"./AddServiceAccount\"))\n);\nconst DeleteServiceAccount = withSuspense(\n React.lazy(() => import(\"./DeleteServiceAccount\"))\n);\nconst CredentialsPrompt = withSuspense(\n React.lazy(() => import(\"../Common/CredentialsPrompt/CredentialsPrompt\"))\n);\n\nconst styles = (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\ninterface IServiceAccountsProps {\n classes: any;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst Account = ({ classes, displayErrorMessage }: IServiceAccountsProps) => {\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(false);\n const [filter, setFilter] = useState(\"\");\n const [addScreenOpen, setAddScreenOpen] = useState(false);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedServiceAccount, setSelectedServiceAccount] = useState<\n string | null\n >(null);\n const [showNewCredentials, setShowNewCredentials] = useState(false);\n const [newServiceAccount, setNewServiceAccount] =\n useState(null);\n const [changePasswordModalOpen, setChangePasswordModalOpen] =\n useState(false);\n const [selectedSAs, setSelectedSAs] = useState([]);\n const [deleteMultipleOpen, setDeleteMultipleOpen] = useState(false);\n const [policyOpen, setPolicyOpen] = useState(false);\n\n useEffect(() => {\n fetchRecords();\n }, []);\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/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 displayErrorMessage(err);\n setLoading(false);\n });\n }\n }, [loading, setLoading, setRecords, displayErrorMessage]);\n\n const fetchRecords = () => {\n setLoading(true);\n };\n\n const closeAddModalAndRefresh = (res: NewServiceAccount | null) => {\n setAddScreenOpen(false);\n fetchRecords();\n\n if (res !== null) {\n const nsa: NewServiceAccount = {\n console: {\n accessKey: `${res.accessKey}`,\n secretKey: `${res.secretKey}`,\n },\n };\n setNewServiceAccount(nsa);\n setShowNewCredentials(true);\n }\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 setSnackBarMessage(`Service accounts 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 closeCredentialsModal = () => {\n setShowNewCredentials(false);\n setNewServiceAccount(null);\n };\n\n const closePolicyModal = () => {\n setPolicyOpen(false);\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 {addScreenOpen && (\n {\n closeAddModalAndRefresh(res);\n }}\n />\n )}\n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n {deleteMultipleOpen && (\n \n )}\n {showNewCredentials && (\n {\n closeCredentialsModal();\n }}\n entity=\"Service Account\"\n />\n )}\n {policyOpen && (\n \n )}\n setChangePasswordModalOpen(false)}\n />\n \n \n \n \n\n \n {\" \"}\n {\n setDeleteMultipleOpen(true);\n }}\n text={\"Delete Selected\"}\n icon={}\n color=\"secondary\"\n disabled={selectedSAs.length === 0}\n variant={\"outlined\"}\n />\n \n setChangePasswordModalOpen(true)}\n text={`Change Password`}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {\n setAddScreenOpen(true);\n setSelectedServiceAccount(null);\n }}\n text={`Create service account`}\n icon={}\n color={\"primary\"}\n variant={\"contained\"}\n />\n \n \n\n \n selectSAs(e, setSelectedSAs, selectedSAs)}\n onSelectAll={selectAllItems}\n />\n \n \n }\n help={\n \n MinIO service accounts are child identities of an authenticated\n MinIO user, including externally managed identities. Each\n service account inherits its privileges based on the policies\n attached to it’s parent user or those groups in which the parent\n user has membership. Service accounts also support an optional\n inline policy which further restricts access to a subset of\n actions and resources available to the parent user.\n
\n
\n You can learn more at our{\" \"}\n \n documentation\n \n .\n
\n }\n />\n
\n
\n
\n );\n};\n\nconst connector = connect(null, {\n displayErrorMessage: setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(Account));\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["connector","connect","setModalErrorSnackMessage","withStyles","theme","createStyles","buttonContainer","textAlign","modalStyleUtils","formFieldStyles","spacingUtils","containerForHeader","spacing","classes","open","closeModal","useState","currentPassword","setCurrentPassword","newPassword","setNewPassword","reNewPassword","setReNewPassword","loading","setLoading","ModalWrapper","title","modalOpen","onClose","titleIcon","noValidate","autoComplete","onSubmit","e","event","preventDefault","length","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","modalButtonBar","Button","variant","color","disabled","LinearProgress","codeMirrorContainer","marginBottom","display","selectedAccessKey","closeModalAndRefresh","policyDefinition","setPolicyDefinition","useEffect","res","CodeMirrorWrapper","onBeforeChange","editor","data","editorHeight","readOnly","onClick","AddServiceAccount","withSuspense","React","DeleteServiceAccount","CredentialsPrompt","displayErrorMessage","setErrorSnackMessage","actionsTray","searchField","marginRight","maxWidth","tableStyles","records","setRecords","filter","setFilter","addScreenOpen","setAddScreenOpen","deleteOpen","setDeleteOpen","selectedServiceAccount","setSelectedServiceAccount","showNewCredentials","setShowNewCredentials","newServiceAccount","setNewServiceAccount","changePasswordModalOpen","setChangePasswordModalOpen","selectedSAs","setSelectedSAs","deleteMultipleOpen","setDeleteMultipleOpen","policyOpen","setPolicyOpen","fetchRecords","serviceAccounts","sort","stringSort","tableActions","filteredRecords","elementItem","toLowerCase","includes","nsa","console","accessKey","secretKey","closeAddModalAndRefresh","closeDeleteModalAndRefresh","refresh","DeleteMultipleServiceAccounts","setSnackBarMessage","entity","ChangePasswordModal","PageHeader","PageLayout","SearchBox","placeholder","overrideClass","Box","sx","RBIconButton","tooltip","text","icon","SecureComponent","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","matchAll","errorProps","tableBlock","TableWrapper","isLoading","entityName","idField","columns","elementKey","itemActions","selectedItems","onSelect","selectSAs","onSelectAll","marginTop","HelpBox","iconComponent","help","Fragment","href","rel","_extends","Object","assign","i","arguments","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2066.5180dac0.chunk.js b/portal-ui/build/static/js/2066.16320a68.chunk.js similarity index 97% rename from portal-ui/build/static/js/2066.5180dac0.chunk.js rename to portal-ui/build/static/js/2066.16320a68.chunk.js index 2acb88770..f1a88b62c 100644 --- a/portal-ui/build/static/js/2066.5180dac0.chunk.js +++ b/portal-ui/build/static/js/2066.16320a68.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2066],{12066:function(e,r,o){o.d(r,{Z:function(){return k}});var i=o(32793),t=o(1048),l=o(50390),a=o(44977),n=o(50076),d=o(83364),s=o(8208),u=o(15573),c=o(4930),p=o(38943),m=o(58217),f=o(14602),v=o(47554),Z=o(36222),h=o(25868),b=o(23060),x=o(91442),F=o(10594),w=o(43349);function R(e){return(0,F.Z)("MuiFormHelperText",e)}var g,T=(0,w.Z)("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]),P=o(62559),q=["children","className","component","disabled","error","filled","focused","margin","required","variant"],y=(0,s.ZP)("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:function(e,r){var o=e.ownerState;return[r.root,o.size&&r["size".concat((0,x.Z)(o.size))],o.contained&&r.contained,o.filled&&r.filled]}})((function(e){var r,o=e.theme,t=e.ownerState;return(0,i.Z)({color:o.palette.text.secondary},o.typography.caption,(r={textAlign:"left",marginTop:3,marginRight:0,marginBottom:0,marginLeft:0},(0,Z.Z)(r,"&.".concat(T.disabled),{color:o.palette.text.disabled}),(0,Z.Z)(r,"&.".concat(T.error),{color:o.palette.error.main}),r),"small"===t.size&&{marginTop:4},t.contained&&{marginLeft:14,marginRight:14})})),z=l.forwardRef((function(e,r){var o=(0,u.Z)({props:e,name:"MuiFormHelperText"}),l=o.children,d=o.className,s=o.component,c=void 0===s?"p":s,p=(0,t.Z)(o,q),m=(0,b.Z)(),f=(0,h.Z)({props:o,muiFormControl:m,states:["variant","size","disabled","error","filled","focused","required"]}),v=(0,i.Z)({},o,{component:c,contained:"filled"===f.variant||"outlined"===f.variant,variant:f.variant,size:f.size,disabled:f.disabled,error:f.error,filled:f.filled,focused:f.focused,required:f.required}),Z=function(e){var r=e.classes,o=e.contained,i=e.size,t=e.disabled,l=e.error,a=e.filled,d=e.focused,s=e.required,u={root:["root",t&&"disabled",l&&"error",i&&"size".concat((0,x.Z)(i)),o&&"contained",d&&"focused",a&&"filled",s&&"required"]};return(0,n.Z)(u,R,r)}(v);return(0,P.jsx)(y,(0,i.Z)({as:c,ownerState:v,className:(0,a.Z)(Z.root,d),ref:r},p,{children:" "===l?g||(g=(0,P.jsx)("span",{className:"notranslate",children:"\u200b"})):l}))})),C=o(43965);function M(e){return(0,F.Z)("MuiTextField",e)}(0,w.Z)("MuiTextField",["root"]);var j=["autoComplete","autoFocus","children","className","color","defaultValue","disabled","error","FormHelperTextProps","fullWidth","helperText","id","InputLabelProps","inputProps","InputProps","inputRef","label","maxRows","minRows","multiline","name","onBlur","onChange","onFocus","placeholder","required","rows","select","SelectProps","type","value","variant"],N={standard:c.Z,filled:p.Z,outlined:m.Z},S=(0,s.ZP)(v.Z,{name:"MuiTextField",slot:"Root",overridesResolver:function(e,r){return r.root}})({}),k=l.forwardRef((function(e,r){var o=(0,u.Z)({props:e,name:"MuiTextField"}),l=o.autoComplete,s=o.autoFocus,c=void 0!==s&&s,p=o.children,m=o.className,v=o.color,Z=void 0===v?"primary":v,h=o.defaultValue,b=o.disabled,x=void 0!==b&&b,F=o.error,w=void 0!==F&&F,R=o.FormHelperTextProps,g=o.fullWidth,T=void 0!==g&&g,q=o.helperText,y=o.id,k=o.InputLabelProps,H=o.inputProps,I=o.InputProps,W=o.inputRef,B=o.label,L=o.maxRows,V=o.minRows,_=o.multiline,A=void 0!==_&&_,D=o.name,E=o.onBlur,G=o.onChange,J=o.onFocus,K=o.placeholder,O=o.required,Q=void 0!==O&&O,U=o.rows,X=o.select,Y=void 0!==X&&X,$=o.SelectProps,ee=o.type,re=o.value,oe=o.variant,ie=void 0===oe?"outlined":oe,te=(0,t.Z)(o,j),le=(0,i.Z)({},o,{autoFocus:c,color:Z,disabled:x,error:w,fullWidth:T,multiline:A,required:Q,select:Y,variant:ie}),ae=function(e){var r=e.classes;return(0,n.Z)({root:["root"]},M,r)}(le);var ne={};"outlined"===ie&&(k&&"undefined"!==typeof k.shrink&&(ne.notched=k.shrink),ne.label=B),Y&&($&&$.native||(ne.id=void 0),ne["aria-describedby"]=void 0);var de=(0,d.Z)(y),se=q&&de?"".concat(de,"-helper-text"):void 0,ue=B&&de?"".concat(de,"-label"):void 0,ce=N[ie],pe=(0,P.jsx)(ce,(0,i.Z)({"aria-describedby":se,autoComplete:l,autoFocus:c,defaultValue:h,fullWidth:T,multiline:A,name:D,rows:U,maxRows:L,minRows:V,type:ee,value:re,id:de,inputRef:W,onBlur:E,onChange:G,onFocus:J,placeholder:K,inputProps:H},ne,I));return(0,P.jsxs)(S,(0,i.Z)({className:(0,a.Z)(ae.root,m),disabled:x,error:w,fullWidth:T,ref:r,required:Q,color:Z,variant:ie,ownerState:le},te,{children:[null!=B&&""!==B&&(0,P.jsx)(f.Z,(0,i.Z)({htmlFor:de,id:ue},k,{children:B})),Y?(0,P.jsx)(C.Z,(0,i.Z)({"aria-describedby":se,id:de,labelId:ue,value:re,input:pe},$,{children:p})):pe,q&&(0,P.jsx)(z,(0,i.Z)({id:se},R,{children:q}))]}))}))}}]); -//# sourceMappingURL=2066.5180dac0.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2066],{12066:function(e,r,o){o.d(r,{Z:function(){return k}});var i=o(32793),t=o(1048),l=o(50390),a=o(44977),n=o(50076),d=o(83364),s=o(8208),u=o(15573),c=o(4930),p=o(38943),m=o(58217),f=o(36554),v=o(47554),Z=o(36222),h=o(25868),b=o(23060),x=o(91442),F=o(10594),w=o(43349);function R(e){return(0,F.Z)("MuiFormHelperText",e)}var g,T=(0,w.Z)("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]),P=o(62559),q=["children","className","component","disabled","error","filled","focused","margin","required","variant"],y=(0,s.ZP)("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:function(e,r){var o=e.ownerState;return[r.root,o.size&&r["size".concat((0,x.Z)(o.size))],o.contained&&r.contained,o.filled&&r.filled]}})((function(e){var r,o=e.theme,t=e.ownerState;return(0,i.Z)({color:o.palette.text.secondary},o.typography.caption,(r={textAlign:"left",marginTop:3,marginRight:0,marginBottom:0,marginLeft:0},(0,Z.Z)(r,"&.".concat(T.disabled),{color:o.palette.text.disabled}),(0,Z.Z)(r,"&.".concat(T.error),{color:o.palette.error.main}),r),"small"===t.size&&{marginTop:4},t.contained&&{marginLeft:14,marginRight:14})})),z=l.forwardRef((function(e,r){var o=(0,u.Z)({props:e,name:"MuiFormHelperText"}),l=o.children,d=o.className,s=o.component,c=void 0===s?"p":s,p=(0,t.Z)(o,q),m=(0,b.Z)(),f=(0,h.Z)({props:o,muiFormControl:m,states:["variant","size","disabled","error","filled","focused","required"]}),v=(0,i.Z)({},o,{component:c,contained:"filled"===f.variant||"outlined"===f.variant,variant:f.variant,size:f.size,disabled:f.disabled,error:f.error,filled:f.filled,focused:f.focused,required:f.required}),Z=function(e){var r=e.classes,o=e.contained,i=e.size,t=e.disabled,l=e.error,a=e.filled,d=e.focused,s=e.required,u={root:["root",t&&"disabled",l&&"error",i&&"size".concat((0,x.Z)(i)),o&&"contained",d&&"focused",a&&"filled",s&&"required"]};return(0,n.Z)(u,R,r)}(v);return(0,P.jsx)(y,(0,i.Z)({as:c,ownerState:v,className:(0,a.Z)(Z.root,d),ref:r},p,{children:" "===l?g||(g=(0,P.jsx)("span",{className:"notranslate",children:"\u200b"})):l}))})),C=o(43965);function M(e){return(0,F.Z)("MuiTextField",e)}(0,w.Z)("MuiTextField",["root"]);var j=["autoComplete","autoFocus","children","className","color","defaultValue","disabled","error","FormHelperTextProps","fullWidth","helperText","id","InputLabelProps","inputProps","InputProps","inputRef","label","maxRows","minRows","multiline","name","onBlur","onChange","onFocus","placeholder","required","rows","select","SelectProps","type","value","variant"],N={standard:c.Z,filled:p.Z,outlined:m.Z},S=(0,s.ZP)(v.Z,{name:"MuiTextField",slot:"Root",overridesResolver:function(e,r){return r.root}})({}),k=l.forwardRef((function(e,r){var o=(0,u.Z)({props:e,name:"MuiTextField"}),l=o.autoComplete,s=o.autoFocus,c=void 0!==s&&s,p=o.children,m=o.className,v=o.color,Z=void 0===v?"primary":v,h=o.defaultValue,b=o.disabled,x=void 0!==b&&b,F=o.error,w=void 0!==F&&F,R=o.FormHelperTextProps,g=o.fullWidth,T=void 0!==g&&g,q=o.helperText,y=o.id,k=o.InputLabelProps,H=o.inputProps,I=o.InputProps,W=o.inputRef,B=o.label,L=o.maxRows,V=o.minRows,_=o.multiline,A=void 0!==_&&_,D=o.name,E=o.onBlur,G=o.onChange,J=o.onFocus,K=o.placeholder,O=o.required,Q=void 0!==O&&O,U=o.rows,X=o.select,Y=void 0!==X&&X,$=o.SelectProps,ee=o.type,re=o.value,oe=o.variant,ie=void 0===oe?"outlined":oe,te=(0,t.Z)(o,j),le=(0,i.Z)({},o,{autoFocus:c,color:Z,disabled:x,error:w,fullWidth:T,multiline:A,required:Q,select:Y,variant:ie}),ae=function(e){var r=e.classes;return(0,n.Z)({root:["root"]},M,r)}(le);var ne={};"outlined"===ie&&(k&&"undefined"!==typeof k.shrink&&(ne.notched=k.shrink),ne.label=B),Y&&($&&$.native||(ne.id=void 0),ne["aria-describedby"]=void 0);var de=(0,d.Z)(y),se=q&&de?"".concat(de,"-helper-text"):void 0,ue=B&&de?"".concat(de,"-label"):void 0,ce=N[ie],pe=(0,P.jsx)(ce,(0,i.Z)({"aria-describedby":se,autoComplete:l,autoFocus:c,defaultValue:h,fullWidth:T,multiline:A,name:D,rows:U,maxRows:L,minRows:V,type:ee,value:re,id:de,inputRef:W,onBlur:E,onChange:G,onFocus:J,placeholder:K,inputProps:H},ne,I));return(0,P.jsxs)(S,(0,i.Z)({className:(0,a.Z)(ae.root,m),disabled:x,error:w,fullWidth:T,ref:r,required:Q,color:Z,variant:ie,ownerState:le},te,{children:[null!=B&&""!==B&&(0,P.jsx)(f.Z,(0,i.Z)({htmlFor:de,id:ue},k,{children:B})),Y?(0,P.jsx)(C.Z,(0,i.Z)({"aria-describedby":se,id:de,labelId:ue,value:re,input:pe},$,{children:p})):pe,q&&(0,P.jsx)(z,(0,i.Z)({id:se},R,{children:q}))]}))}))}}]); +//# sourceMappingURL=2066.16320a68.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2066.5180dac0.chunk.js.map b/portal-ui/build/static/js/2066.16320a68.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/2066.5180dac0.chunk.js.map rename to portal-ui/build/static/js/2066.16320a68.chunk.js.map index c532bfd3f..537dc99dc 100644 --- a/portal-ui/build/static/js/2066.5180dac0.chunk.js.map +++ b/portal-ui/build/static/js/2066.16320a68.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/2066.5180dac0.chunk.js","mappings":"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","sources":["../node_modules/@mui/material/FormHelperText/formHelperTextClasses.js","../node_modules/@mui/material/FormHelperText/FormHelperText.js","../node_modules/@mui/material/TextField/textFieldClasses.js","../node_modules/@mui/material/TextField/TextField.js"],"sourcesContent":["import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getFormHelperTextUtilityClasses(slot) {\n return generateUtilityClass('MuiFormHelperText', slot);\n}\nconst formHelperTextClasses = generateUtilityClasses('MuiFormHelperText', ['root', 'error', 'disabled', 'sizeSmall', 'sizeMedium', 'contained', 'focused', 'filled', 'required']);\nexport default formHelperTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"margin\", \"required\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport capitalize from '../utils/capitalize';\nimport formHelperTextClasses, { getFormHelperTextUtilityClasses } from './formHelperTextClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n contained,\n size,\n disabled,\n error,\n filled,\n focused,\n required\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', error && 'error', size && `size${capitalize(size)}`, contained && 'contained', focused && 'focused', filled && 'filled', required && 'required']\n };\n return composeClasses(slots, getFormHelperTextUtilityClasses, classes);\n};\n\nconst FormHelperTextRoot = styled('p', {\n name: 'MuiFormHelperText',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.size && styles[`size${capitalize(ownerState.size)}`], ownerState.contained && styles.contained, ownerState.filled && styles.filled];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: theme.palette.text.secondary\n}, theme.typography.caption, {\n textAlign: 'left',\n marginTop: 3,\n marginRight: 0,\n marginBottom: 0,\n marginLeft: 0,\n [`&.${formHelperTextClasses.disabled}`]: {\n color: theme.palette.text.disabled\n },\n [`&.${formHelperTextClasses.error}`]: {\n color: theme.palette.error.main\n }\n}, ownerState.size === 'small' && {\n marginTop: 4\n}, ownerState.contained && {\n marginLeft: 14,\n marginRight: 14\n}));\nconst FormHelperText = /*#__PURE__*/React.forwardRef(function FormHelperText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormHelperText'\n });\n\n const {\n children,\n className,\n component = 'p'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['variant', 'size', 'disabled', 'error', 'filled', 'focused', 'required']\n });\n\n const ownerState = _extends({}, props, {\n component,\n contained: fcs.variant === 'filled' || fcs.variant === 'outlined',\n variant: fcs.variant,\n size: fcs.size,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormHelperTextRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: children === ' ' ? // notranslate needed while Google Translate will not fix zero-width space issue\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormHelperText.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n *\n * If `' '` is provided, the component reserves one line height for displaying a future message.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, the helper text should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, helper text should be displayed in an error state.\n */\n error: PropTypes.bool,\n\n /**\n * If `true`, the helper text should use filled classes key.\n */\n filled: PropTypes.bool,\n\n /**\n * If `true`, the helper text should use focused classes key.\n */\n focused: PropTypes.bool,\n\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n\n /**\n * If `true`, the helper text should use required classes key.\n */\n required: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default FormHelperText;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTextFieldUtilityClass(slot) {\n return generateUtilityClass('MuiTextField', slot);\n}\nconst textFieldClasses = generateUtilityClasses('MuiTextField', ['root']);\nexport default textFieldClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"autoComplete\", \"autoFocus\", \"children\", \"className\", \"color\", \"defaultValue\", \"disabled\", \"error\", \"FormHelperTextProps\", \"fullWidth\", \"helperText\", \"id\", \"InputLabelProps\", \"inputProps\", \"InputProps\", \"inputRef\", \"label\", \"maxRows\", \"minRows\", \"multiline\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"placeholder\", \"required\", \"rows\", \"select\", \"SelectProps\", \"type\", \"value\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { refType, unstable_useId as useId } from '@mui/utils';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Input from '../Input';\nimport FilledInput from '../FilledInput';\nimport OutlinedInput from '../OutlinedInput';\nimport InputLabel from '../InputLabel';\nimport FormControl from '../FormControl';\nimport FormHelperText from '../FormHelperText';\nimport Select from '../Select';\nimport { getTextFieldUtilityClass } from './textFieldClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst variantComponent = {\n standard: Input,\n filled: FilledInput,\n outlined: OutlinedInput\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTextFieldUtilityClass, classes);\n};\n\nconst TextFieldRoot = styled(FormControl, {\n name: 'MuiTextField',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\n/**\n * The `TextField` is a convenience wrapper for the most common cases (80%).\n * It cannot be all things to all people, otherwise the API would grow out of control.\n *\n * ## Advanced Configuration\n *\n * It's important to understand that the text field is a simple abstraction\n * on top of the following components:\n *\n * - [FormControl](/api/form-control/)\n * - [InputLabel](/api/input-label/)\n * - [FilledInput](/api/filled-input/)\n * - [OutlinedInput](/api/outlined-input/)\n * - [Input](/api/input/)\n * - [FormHelperText](/api/form-helper-text/)\n *\n * If you wish to alter the props applied to the `input` element, you can do so as follows:\n *\n * ```jsx\n * const inputProps = {\n * step: 300,\n * };\n *\n * return ;\n * ```\n *\n * For advanced cases, please look at the source of TextField by clicking on the\n * \"Edit this page\" button above. Consider either:\n *\n * - using the upper case props for passing values directly to the components\n * - using the underlying components directly as shown in the demos\n */\n\nconst TextField = /*#__PURE__*/React.forwardRef(function TextField(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTextField'\n });\n\n const {\n autoComplete,\n autoFocus = false,\n children,\n className,\n color = 'primary',\n defaultValue,\n disabled = false,\n error = false,\n FormHelperTextProps,\n fullWidth = false,\n helperText,\n id: idOverride,\n InputLabelProps,\n inputProps,\n InputProps,\n inputRef,\n label,\n maxRows,\n minRows,\n multiline = false,\n name,\n onBlur,\n onChange,\n onFocus,\n placeholder,\n required = false,\n rows,\n select = false,\n SelectProps,\n type,\n value,\n variant = 'outlined'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n autoFocus,\n color,\n disabled,\n error,\n fullWidth,\n multiline,\n required,\n select,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n\n if (process.env.NODE_ENV !== 'production') {\n if (select && !children) {\n console.error('MUI: `children` must be passed when using the `TextField` component with `select`.');\n }\n }\n\n const InputMore = {};\n\n if (variant === 'outlined') {\n if (InputLabelProps && typeof InputLabelProps.shrink !== 'undefined') {\n InputMore.notched = InputLabelProps.shrink;\n }\n\n InputMore.label = label;\n }\n\n if (select) {\n // unset defaults from textbox inputs\n if (!SelectProps || !SelectProps.native) {\n InputMore.id = undefined;\n }\n\n InputMore['aria-describedby'] = undefined;\n }\n\n const id = useId(idOverride);\n const helperTextId = helperText && id ? `${id}-helper-text` : undefined;\n const inputLabelId = label && id ? `${id}-label` : undefined;\n const InputComponent = variantComponent[variant];\n\n const InputElement = /*#__PURE__*/_jsx(InputComponent, _extends({\n \"aria-describedby\": helperTextId,\n autoComplete: autoComplete,\n autoFocus: autoFocus,\n defaultValue: defaultValue,\n fullWidth: fullWidth,\n multiline: multiline,\n name: name,\n rows: rows,\n maxRows: maxRows,\n minRows: minRows,\n type: type,\n value: value,\n id: id,\n inputRef: inputRef,\n onBlur: onBlur,\n onChange: onChange,\n onFocus: onFocus,\n placeholder: placeholder,\n inputProps: inputProps\n }, InputMore, InputProps));\n\n return /*#__PURE__*/_jsxs(TextFieldRoot, _extends({\n className: clsx(classes.root, className),\n disabled: disabled,\n error: error,\n fullWidth: fullWidth,\n ref: ref,\n required: required,\n color: color,\n variant: variant,\n ownerState: ownerState\n }, other, {\n children: [label != null && label !== '' && /*#__PURE__*/_jsx(InputLabel, _extends({\n htmlFor: id,\n id: inputLabelId\n }, InputLabelProps, {\n children: label\n })), select ? /*#__PURE__*/_jsx(Select, _extends({\n \"aria-describedby\": helperTextId,\n id: id,\n labelId: inputLabelId,\n value: value,\n input: InputElement\n }, SelectProps, {\n children: children\n })) : InputElement, helperText && /*#__PURE__*/_jsx(FormHelperText, _extends({\n id: helperTextId\n }, FormHelperTextProps, {\n children: helperText\n }))]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TextField.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n\n /**\n * If `true`, the `input` element is focused during the first mount.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * @ignore\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the label is displayed in an error state.\n * @default false\n */\n error: PropTypes.bool,\n\n /**\n * Props applied to the [`FormHelperText`](/api/form-helper-text/) element.\n */\n FormHelperTextProps: PropTypes.object,\n\n /**\n * If `true`, the input will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n\n /**\n * The helper text content.\n */\n helperText: PropTypes.node,\n\n /**\n * The id of the `input` element.\n * Use this prop to make `label` and `helperText` accessible for screen readers.\n */\n id: PropTypes.string,\n\n /**\n * Props applied to the [`InputLabel`](/api/input-label/) element.\n * Pointer events like `onClick` are enabled if and only if `shrink` is `true`.\n */\n InputLabelProps: PropTypes.object,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Props applied to the Input element.\n * It will be a [`FilledInput`](/api/filled-input/),\n * [`OutlinedInput`](/api/outlined-input/) or [`Input`](/api/input/)\n * component depending on the `variant` prop value.\n */\n InputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * The label content.\n */\n label: PropTypes.node,\n\n /**\n * If `dense` or `normal`, will adjust vertical spacing of this and contained components.\n * @default 'none'\n */\n margin: PropTypes.oneOf(['dense', 'none', 'normal']),\n\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * If `true`, a `textarea` element is rendered instead of an input.\n * @default false\n */\n multiline: PropTypes.bool,\n\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the value is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder: PropTypes.string,\n\n /**\n * If `true`, the label is displayed as required and the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Render a [`Select`](/api/select/) element while passing the Input element to `Select` as `input` parameter.\n * If this option is set you must pass the options of the select as children.\n * @default false\n */\n select: PropTypes.bool,\n\n /**\n * Props applied to the [`Select`](/api/select/) element.\n */\n SelectProps: PropTypes.object,\n\n /**\n * The size of the component.\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).\n */\n type: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any,\n\n /**\n * The variant to use.\n * @default 'outlined'\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default TextField;"],"names":["getFormHelperTextUtilityClasses","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","FormHelperTextRoot","styled","name","overridesResolver","props","styles","ownerState","root","size","capitalize","contained","filled","theme","_extends","color","palette","text","secondary","typography","caption","textAlign","marginTop","marginRight","marginBottom","marginLeft","formHelperTextClasses","disabled","error","main","React","inProps","ref","useThemeProps","children","className","component","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","fcs","formControlState","states","variant","focused","required","classes","slots","composeClasses","useUtilityClasses","_jsx","as","clsx","getTextFieldUtilityClass","variantComponent","standard","Input","FilledInput","outlined","OutlinedInput","TextFieldRoot","FormControl","autoComplete","autoFocus","defaultValue","FormHelperTextProps","fullWidth","helperText","idOverride","id","InputLabelProps","inputProps","InputProps","inputRef","label","maxRows","minRows","multiline","onBlur","onChange","onFocus","placeholder","rows","select","SelectProps","type","value","InputMore","shrink","notched","native","undefined","useId","helperTextId","inputLabelId","InputComponent","InputElement","_jsxs","InputLabel","htmlFor","Select","labelId","input","FormHelperText"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/2066.16320a68.chunk.js","mappings":"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","sources":["../node_modules/@mui/material/FormHelperText/formHelperTextClasses.js","../node_modules/@mui/material/FormHelperText/FormHelperText.js","../node_modules/@mui/material/TextField/textFieldClasses.js","../node_modules/@mui/material/TextField/TextField.js"],"sourcesContent":["import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getFormHelperTextUtilityClasses(slot) {\n return generateUtilityClass('MuiFormHelperText', slot);\n}\nconst formHelperTextClasses = generateUtilityClasses('MuiFormHelperText', ['root', 'error', 'disabled', 'sizeSmall', 'sizeMedium', 'contained', 'focused', 'filled', 'required']);\nexport default formHelperTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"margin\", \"required\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport capitalize from '../utils/capitalize';\nimport formHelperTextClasses, { getFormHelperTextUtilityClasses } from './formHelperTextClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n contained,\n size,\n disabled,\n error,\n filled,\n focused,\n required\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', error && 'error', size && `size${capitalize(size)}`, contained && 'contained', focused && 'focused', filled && 'filled', required && 'required']\n };\n return composeClasses(slots, getFormHelperTextUtilityClasses, classes);\n};\n\nconst FormHelperTextRoot = styled('p', {\n name: 'MuiFormHelperText',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.size && styles[`size${capitalize(ownerState.size)}`], ownerState.contained && styles.contained, ownerState.filled && styles.filled];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: theme.palette.text.secondary\n}, theme.typography.caption, {\n textAlign: 'left',\n marginTop: 3,\n marginRight: 0,\n marginBottom: 0,\n marginLeft: 0,\n [`&.${formHelperTextClasses.disabled}`]: {\n color: theme.palette.text.disabled\n },\n [`&.${formHelperTextClasses.error}`]: {\n color: theme.palette.error.main\n }\n}, ownerState.size === 'small' && {\n marginTop: 4\n}, ownerState.contained && {\n marginLeft: 14,\n marginRight: 14\n}));\nconst FormHelperText = /*#__PURE__*/React.forwardRef(function FormHelperText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormHelperText'\n });\n\n const {\n children,\n className,\n component = 'p'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['variant', 'size', 'disabled', 'error', 'filled', 'focused', 'required']\n });\n\n const ownerState = _extends({}, props, {\n component,\n contained: fcs.variant === 'filled' || fcs.variant === 'outlined',\n variant: fcs.variant,\n size: fcs.size,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormHelperTextRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: children === ' ' ? // notranslate needed while Google Translate will not fix zero-width space issue\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormHelperText.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n *\n * If `' '` is provided, the component reserves one line height for displaying a future message.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, the helper text should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, helper text should be displayed in an error state.\n */\n error: PropTypes.bool,\n\n /**\n * If `true`, the helper text should use filled classes key.\n */\n filled: PropTypes.bool,\n\n /**\n * If `true`, the helper text should use focused classes key.\n */\n focused: PropTypes.bool,\n\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n\n /**\n * If `true`, the helper text should use required classes key.\n */\n required: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default FormHelperText;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTextFieldUtilityClass(slot) {\n return generateUtilityClass('MuiTextField', slot);\n}\nconst textFieldClasses = generateUtilityClasses('MuiTextField', ['root']);\nexport default textFieldClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"autoComplete\", \"autoFocus\", \"children\", \"className\", \"color\", \"defaultValue\", \"disabled\", \"error\", \"FormHelperTextProps\", \"fullWidth\", \"helperText\", \"id\", \"InputLabelProps\", \"inputProps\", \"InputProps\", \"inputRef\", \"label\", \"maxRows\", \"minRows\", \"multiline\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"placeholder\", \"required\", \"rows\", \"select\", \"SelectProps\", \"type\", \"value\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { refType, unstable_useId as useId } from '@mui/utils';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Input from '../Input';\nimport FilledInput from '../FilledInput';\nimport OutlinedInput from '../OutlinedInput';\nimport InputLabel from '../InputLabel';\nimport FormControl from '../FormControl';\nimport FormHelperText from '../FormHelperText';\nimport Select from '../Select';\nimport { getTextFieldUtilityClass } from './textFieldClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst variantComponent = {\n standard: Input,\n filled: FilledInput,\n outlined: OutlinedInput\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTextFieldUtilityClass, classes);\n};\n\nconst TextFieldRoot = styled(FormControl, {\n name: 'MuiTextField',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\n/**\n * The `TextField` is a convenience wrapper for the most common cases (80%).\n * It cannot be all things to all people, otherwise the API would grow out of control.\n *\n * ## Advanced Configuration\n *\n * It's important to understand that the text field is a simple abstraction\n * on top of the following components:\n *\n * - [FormControl](/api/form-control/)\n * - [InputLabel](/api/input-label/)\n * - [FilledInput](/api/filled-input/)\n * - [OutlinedInput](/api/outlined-input/)\n * - [Input](/api/input/)\n * - [FormHelperText](/api/form-helper-text/)\n *\n * If you wish to alter the props applied to the `input` element, you can do so as follows:\n *\n * ```jsx\n * const inputProps = {\n * step: 300,\n * };\n *\n * return ;\n * ```\n *\n * For advanced cases, please look at the source of TextField by clicking on the\n * \"Edit this page\" button above. Consider either:\n *\n * - using the upper case props for passing values directly to the components\n * - using the underlying components directly as shown in the demos\n */\n\nconst TextField = /*#__PURE__*/React.forwardRef(function TextField(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTextField'\n });\n\n const {\n autoComplete,\n autoFocus = false,\n children,\n className,\n color = 'primary',\n defaultValue,\n disabled = false,\n error = false,\n FormHelperTextProps,\n fullWidth = false,\n helperText,\n id: idOverride,\n InputLabelProps,\n inputProps,\n InputProps,\n inputRef,\n label,\n maxRows,\n minRows,\n multiline = false,\n name,\n onBlur,\n onChange,\n onFocus,\n placeholder,\n required = false,\n rows,\n select = false,\n SelectProps,\n type,\n value,\n variant = 'outlined'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n autoFocus,\n color,\n disabled,\n error,\n fullWidth,\n multiline,\n required,\n select,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n\n if (process.env.NODE_ENV !== 'production') {\n if (select && !children) {\n console.error('MUI: `children` must be passed when using the `TextField` component with `select`.');\n }\n }\n\n const InputMore = {};\n\n if (variant === 'outlined') {\n if (InputLabelProps && typeof InputLabelProps.shrink !== 'undefined') {\n InputMore.notched = InputLabelProps.shrink;\n }\n\n InputMore.label = label;\n }\n\n if (select) {\n // unset defaults from textbox inputs\n if (!SelectProps || !SelectProps.native) {\n InputMore.id = undefined;\n }\n\n InputMore['aria-describedby'] = undefined;\n }\n\n const id = useId(idOverride);\n const helperTextId = helperText && id ? `${id}-helper-text` : undefined;\n const inputLabelId = label && id ? `${id}-label` : undefined;\n const InputComponent = variantComponent[variant];\n\n const InputElement = /*#__PURE__*/_jsx(InputComponent, _extends({\n \"aria-describedby\": helperTextId,\n autoComplete: autoComplete,\n autoFocus: autoFocus,\n defaultValue: defaultValue,\n fullWidth: fullWidth,\n multiline: multiline,\n name: name,\n rows: rows,\n maxRows: maxRows,\n minRows: minRows,\n type: type,\n value: value,\n id: id,\n inputRef: inputRef,\n onBlur: onBlur,\n onChange: onChange,\n onFocus: onFocus,\n placeholder: placeholder,\n inputProps: inputProps\n }, InputMore, InputProps));\n\n return /*#__PURE__*/_jsxs(TextFieldRoot, _extends({\n className: clsx(classes.root, className),\n disabled: disabled,\n error: error,\n fullWidth: fullWidth,\n ref: ref,\n required: required,\n color: color,\n variant: variant,\n ownerState: ownerState\n }, other, {\n children: [label != null && label !== '' && /*#__PURE__*/_jsx(InputLabel, _extends({\n htmlFor: id,\n id: inputLabelId\n }, InputLabelProps, {\n children: label\n })), select ? /*#__PURE__*/_jsx(Select, _extends({\n \"aria-describedby\": helperTextId,\n id: id,\n labelId: inputLabelId,\n value: value,\n input: InputElement\n }, SelectProps, {\n children: children\n })) : InputElement, helperText && /*#__PURE__*/_jsx(FormHelperText, _extends({\n id: helperTextId\n }, FormHelperTextProps, {\n children: helperText\n }))]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TextField.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n\n /**\n * If `true`, the `input` element is focused during the first mount.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * @ignore\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the label is displayed in an error state.\n * @default false\n */\n error: PropTypes.bool,\n\n /**\n * Props applied to the [`FormHelperText`](/api/form-helper-text/) element.\n */\n FormHelperTextProps: PropTypes.object,\n\n /**\n * If `true`, the input will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n\n /**\n * The helper text content.\n */\n helperText: PropTypes.node,\n\n /**\n * The id of the `input` element.\n * Use this prop to make `label` and `helperText` accessible for screen readers.\n */\n id: PropTypes.string,\n\n /**\n * Props applied to the [`InputLabel`](/api/input-label/) element.\n * Pointer events like `onClick` are enabled if and only if `shrink` is `true`.\n */\n InputLabelProps: PropTypes.object,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Props applied to the Input element.\n * It will be a [`FilledInput`](/api/filled-input/),\n * [`OutlinedInput`](/api/outlined-input/) or [`Input`](/api/input/)\n * component depending on the `variant` prop value.\n */\n InputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * The label content.\n */\n label: PropTypes.node,\n\n /**\n * If `dense` or `normal`, will adjust vertical spacing of this and contained components.\n * @default 'none'\n */\n margin: PropTypes.oneOf(['dense', 'none', 'normal']),\n\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * If `true`, a `textarea` element is rendered instead of an input.\n * @default false\n */\n multiline: PropTypes.bool,\n\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the value is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder: PropTypes.string,\n\n /**\n * If `true`, the label is displayed as required and the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * Render a [`Select`](/api/select/) element while passing the Input element to `Select` as `input` parameter.\n * If this option is set you must pass the options of the select as children.\n * @default false\n */\n select: PropTypes.bool,\n\n /**\n * Props applied to the [`Select`](/api/select/) element.\n */\n SelectProps: PropTypes.object,\n\n /**\n * The size of the component.\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).\n */\n type: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any,\n\n /**\n * The variant to use.\n * @default 'outlined'\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default TextField;"],"names":["getFormHelperTextUtilityClasses","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","FormHelperTextRoot","styled","name","overridesResolver","props","styles","ownerState","root","size","capitalize","contained","filled","theme","_extends","color","palette","text","secondary","typography","caption","textAlign","marginTop","marginRight","marginBottom","marginLeft","formHelperTextClasses","disabled","error","main","React","inProps","ref","useThemeProps","children","className","component","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","fcs","formControlState","states","variant","focused","required","classes","slots","composeClasses","useUtilityClasses","_jsx","as","clsx","getTextFieldUtilityClass","variantComponent","standard","Input","FilledInput","outlined","OutlinedInput","TextFieldRoot","FormControl","autoComplete","autoFocus","defaultValue","FormHelperTextProps","fullWidth","helperText","idOverride","id","InputLabelProps","inputProps","InputProps","inputRef","label","maxRows","minRows","multiline","onBlur","onChange","onFocus","placeholder","rows","select","SelectProps","type","value","InputMore","shrink","notched","native","undefined","useId","helperTextId","inputLabelId","InputComponent","InputElement","_jsxs","InputLabel","htmlFor","Select","labelId","input","FormHelperText"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2094.4854485e.chunk.js b/portal-ui/build/static/js/2094.4854485e.chunk.js deleted file mode 100644 index 4aca3fc2b..000000000 --- a/portal-ui/build/static/js/2094.4854485e.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2094],{8235:function(e,n,t){t(50390);var i=t(86509),a=t(4285),o=t(25594),r=t(62559);n.Z=(0,a.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,a=e.help;return(0,r.jsx)("div",{className:n.root,children:(0,r.jsxs)(o.ZP,{container:!0,children:[(0,r.jsxs)(o.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,i]}),(0,r.jsx)(o.ZP,{item:!0,xs:12,className:n.helpText,children:a})]})})}))},53224:function(e,n,t){var i=t(18489),a=t(83738),o=(t(50390),t(70758)),r=t(62449),s=t(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,r.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,i=n.color,a=e.palette.primary.main;return"primary"===i&&"contained"===t?a=e.palette.primary.contrastText:"primary"===i&&"outlined"===t?a=e.palette.primary.main:"secondary"===i&&(a=e.palette.secondary.main),a}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,r=e.text,d=void 0===r?"":r,u=e.disabled,m=void 0!==u&&u,h=e.tooltip,p=e.icon,x=void 0===p?null:p,f=(0,a.Z)(e,l);return(0,s.jsxs)(o.Z,(0,i.Z)((0,i.Z)({classes:n,tooltip:h||d,variant:"outlined",onClick:t,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},f),{},{children:[(0,s.jsx)("span",{children:d})," ",x]}))}},47346:function(e,n,t){t.r(n);var i=t(23430),a=(t(50390),t(34424)),o=t(23473),r=t(44149),s=t(21639),l=t(60656),c=t(11387),d=t(62559),u={setErrorSnackMessage:r.Ih},m=(0,a.$j)(null,u);n.default=m((function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,a=e.selectedBucket,r=e.setErrorSnackMessage,u=(0,s.Z)((function(){return n(!0)}),(function(e){return r(e)})),m=(0,i.Z)(u,2),h=m[0],p=m[1];if(!a)return null;return(0,d.jsx)(l.Z,{title:"Delete Bucket",confirmText:"Delete",isOpen:t,titleIcon:(0,d.jsx)(c.Nv,{}),isLoading:h,onConfirm:function(){p("DELETE","/api/v1/buckets/".concat(a),{name:a})},onClose:function(){return n(!1)},confirmationContent:(0,d.jsxs)(o.Z,{children:["Are you sure you want to delete bucket ",(0,d.jsx)("b",{children:a}),"? ",(0,d.jsx)("br",{}),"A bucket can only be deleted if it's empty."]})})}))},62094:function(e,n,t){t.r(n),t.d(n,{default:function(){return Q}});var i=t(35531),a=t(23430),o=t(18489),r=t(50390),s=t(34424),l=t(86509),c=t(4285),d=t(81378),u=t(25594),m=t(11387),h=t(44149),p=t(72462),x=t(30324),f=t(47346),g=t(35721),b=t(35477),Z=t(56805),j=t(28948),v=t(54950),C=t(6369),k=t(49495),y=t(15607),S=t(53224),N=t(44977),w=t(62559),B=(0,c.Z)((function(e){return(0,l.Z)({root:{marginBottom:30,padding:20,color:e.palette.primary.main,border:"#E5E5E5 1px solid",borderRadius:2,"& .min-icon":{height:14,width:14,marginRight:4},"& .MuiTypography-body2":{fontSize:14},"& .MuiCardHeader-content":{wordWrap:"break-word",overflowWrap:"break-word",wordBreak:"break-all",font:"normal normal bold 24px/27px Lato",color:e.palette.primary.main,"& .MuiTypography-root":{fontSize:19,fontWeight:"bold","& .min-icon":{position:"relative",top:4,marginRight:4,height:"24px !important"}}},"& .MuiCardHeader-root":{background:"transparent linear-gradient(0deg, #EEF1F44E 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box"}},checkBoxElement:{width:32,height:32,float:"left",overflow:"hidden","& div":{position:"absolute"}},viewButton:{width:111,color:"white",marginLeft:8,fontSize:12,fontWeight:"normal",boxShadow:"unset",borderRadius:4},manageButton:{borderRadius:4,width:111,color:e.palette.grey[700],textTransform:"unset",fontSize:12,fontWeight:"normal","& .MuiButton-endIcon":{"& .min-icon":{fontSize:18}}},metric:{"& .min-icon":{color:"#000000",width:13,marginRight:5}},metricLabel:{fontSize:14,fontWeight:"bold",color:"#000000"},metricText:{fontSize:24,fontWeight:"bold"},unit:{fontSize:12,fontWeight:"normal"},bucketName:{padding:0,margin:0,fontSize:22},bucketIcon:{"& .min-icon":{height:48,width:48}},bucketInfo:{display:"flex","@media (max-width: 900px)":{flexFlow:"column-reverse"}},bucketStats:{marginTop:15,borderTop:"1px solid rgb(234,234,234, .7)",paddingTop:14},bucketActionButtons:{display:"flex",alignItems:"center",justifyContent:"flex-end","@media (max-width: 900px)":{marginTop:"-33px"}}})}))((function(e){var n=e.classes,t=e.bucket,i=(e.onDelete,e.onSelect),a=e.selected,o=e.bulkSelect,r=(0,j.ae)("".concat(t.size)||"0"),s=r.split(" ")[0],l=r.split(" ")[1];return(0,w.jsxs)(u.ZP,{container:!0,className:(0,N.Z)(n.root,"bucket-item"),children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsxs)(u.ZP,{container:!0,justifyContent:"space-between",children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,sm:7,children:(0,w.jsxs)(u.ZP,{container:!0,children:[(0,w.jsxs)(u.ZP,{item:!0,xs:12,children:[o&&(0,w.jsx)("div",{className:n.checkBoxElement,onClick:function(e){e.stopPropagation()},children:(0,w.jsx)(v.Z,{checked:a,id:"select-".concat(t.name),label:"",name:"select-".concat(t.name),onChange:function(e){i(e)},value:t.name})}),(0,w.jsx)("h1",{className:n.bucketName,children:t.name})]}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsxs)(u.ZP,{container:!0,className:n.bucketInfo,children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,sm:!0,children:(0,w.jsxs)(b.Z,{variant:"body2",children:["Created: ",t.creation_date]})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,sm:!0,children:(0,w.jsxs)(b.Z,{variant:"body2",children:["Access: ",function(e){var n,t,i,a,o,r;return null===(n=e.rw_access)||void 0===n||!n.read||null!==(t=e.rw_access)&&void 0!==t&&t.write?null!==(i=e.rw_access)&&void 0!==i&&i.read||null===(a=e.rw_access)||void 0===a||!a.write?null!==(o=e.rw_access)&&void 0!==o&&o.read&&null!==(r=e.rw_access)&&void 0!==r&&r.write?"R/W":"":"W":"R"}(t)]})})]})})]})}),(0,w.jsxs)(u.ZP,{item:!0,xs:12,sm:5,className:n.bucketActionButtons,children:[(0,w.jsx)(y.Z,{scopes:k.D[k.EI.BUCKET_ADMIN],resource:t.name,children:(0,w.jsx)(C.rU,{to:"/buckets/".concat(t.name,"/admin"),style:{textDecoration:"none"},children:(0,w.jsx)(S.Z,{tooltip:"Manage",onClick:function(){},text:"Manage",icon:(0,w.jsx)(m.ew,{}),color:"primary",variant:"outlined"})})}),(0,w.jsx)(C.rU,{to:"/buckets/".concat(t.name,"/browse"),style:{textDecoration:"none"},children:(0,w.jsx)(S.Z,{tooltip:"Browse",onClick:function(){},text:"Browse",icon:(0,w.jsx)(m.LZ,{}),color:"primary",variant:"contained"})}),(0,w.jsx)(Z.Z,{display:{xs:"none",sm:"block"},children:(0,w.jsx)("div",{style:{marginBottom:10}})})]})]})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:n.bucketStats,children:(0,w.jsxs)(u.ZP,{container:!0,justifyContent:"flex-start",spacing:4,children:[(0,w.jsx)(u.ZP,{item:!0,className:n.bucketIcon,children:(0,w.jsx)(m.wN,{})}),(0,w.jsxs)(u.ZP,{item:!0,textAlign:"left",className:n.metric,children:[(0,w.jsx)(m.rH,{}),(0,w.jsx)("span",{className:n.metricLabel,children:"Usage"}),(0,w.jsxs)("div",{className:n.metricText,children:[s,(0,w.jsx)("span",{className:n.unit,children:l})]})]}),(0,w.jsxs)(u.ZP,{item:!0,textAlign:"left",className:n.metric,children:[(0,w.jsx)(m.xp,{}),(0,w.jsx)("span",{className:n.metricLabel,children:"Objects"}),(0,w.jsx)("div",{className:n.metricText,children:t.objects?(0,j.CE)(t.objects):0})]})]})})]})})),F=t(94187),P=t(38342),M=t.n(P),E=t(19538),L=t(99528),I=t(66964),R=t(76352),T=t(50280),z=t(76295),A=t(92440),W=t(67754),O=(0,s.$j)(null,{setModalErrorSnackMessage:h.zb}),D=(0,c.Z)((function(e){return(0,l.Z)((0,o.Z)((0,o.Z)({remoteBucketList:{display:"grid",gridTemplateColumns:"auto auto 45px",alignItems:"center",justifyContent:"stretch"},errorIcon:{color:"#C72C48"},successIcon:{color:"#42C91A"},hide:{opacity:0,transitionDuration:"0.3s"}},p.oO),p.AK))}))(O((function(e){var n=e.open,t=e.closeModalAndRefresh,o=e.classes,s=e.buckets,l=e.setModalErrorSnackMessage,c=(0,r.useState)([]),d=(0,a.Z)(c,2),m=d[0],h=d[1],p=(0,r.useState)(!1),f=(0,a.Z)(p,2),g=f[0],b=f[1],Z=(0,r.useState)(!1),v=(0,a.Z)(Z,2),C=v[0],k=v[1],y=(0,r.useState)(""),S=(0,a.Z)(y,2),N=S[0],B=S[1],P=(0,r.useState)(""),O=(0,a.Z)(P,2),D=O[0],_=O[1],H=(0,r.useState)(""),U=(0,a.Z)(H,2),K=U[0],$=U[1],Y=(0,r.useState)(""),G=(0,a.Z)(Y,2),q=G[0],Q=G[1],V=(0,r.useState)(!0),X=(0,a.Z)(V,2),J=X[0],ee=X[1],ne=(0,r.useState)("async"),te=(0,a.Z)(ne,2),ie=te[0],ae=te[1],oe=(0,r.useState)("100"),re=(0,a.Z)(oe,2),se=re[0],le=re[1],ce=(0,r.useState)("Gi"),de=(0,a.Z)(ce,2),ue=de[0],me=de[1],he=(0,r.useState)("60"),pe=(0,a.Z)(he,2),xe=pe[0],fe=pe[1],ge=(0,r.useState)([]),be=(0,a.Z)(ge,2),Ze=be[0],je=be[1],ve=(0,r.useState)([]),Ce=(0,a.Z)(ve,2),ke=Ce[0],ye=Ce[1],Se=(0,r.useState)([]),Ne=(0,a.Z)(Se,2),we=Ne[0],Be=Ne[1],Fe=ke.map((function(e){return{label:e,value:e}}));(0,r.useEffect)((function(){if(0===Ze.length){var e=[],n=[];s.forEach((function(t){e.push(t),n.push("")})),je(n),h(e)}}),[s,Ze.length]);var Pe=function(e){var n=e.errString;switch(n){case"":return(0,w.jsx)("div",{className:o.successIcon,children:(0,w.jsx)(L.Z,{})});case"n/a":return null;default:if(n)return(0,w.jsx)("div",{className:o.errorIcon,children:(0,w.jsx)(F.Z,{title:n,placement:"top-start",children:(0,w.jsx)(E.Z,{})})})}return null},Me=function(e,n){var t=(0,i.Z)(Ze);t[e]=n,je(t)},Ee=function(e){var n=(0,i.Z)(m),t=(0,i.Z)(Ze);e.forEach((function(e){var i=M()(e,"errorString","");if(!i||""===i){var a=n.indexOf(e.originBucket);n.splice(a,1),t.splice(a,1)}})),h(n),je(t)};return(0,w.jsx)(R.Z,{modalOpen:n,onClose:function(){t(!1)},title:"Set Multiple Bucket Replication",children:(0,w.jsx)(z.Z,{loadingStep:g||C,wizardSteps:[{label:"Remote Configuration",componentRender:(0,w.jsxs)(r.Fragment,{children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(T.Z,{label:"Local Buckets to replicate",content:m.join(", ")})}),(0,w.jsx)("h4",{children:"Remote Endpoint Configuration"}),(0,w.jsx)("span",{className:o.descriptionText,children:"Please avoid the use of root credentials for this feature"}),(0,w.jsx)("br",{}),(0,w.jsx)("br",{}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(I.Z,{id:"accessKey",name:"accessKey",onChange:function(e){B(e.target.value)},label:"Access Key",value:N})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(I.Z,{id:"secretKey",name:"secretKey",onChange:function(e){_(e.target.value)},label:"Secret Key",value:D})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(I.Z,{id:"targetURL",name:"targetURL",onChange:function(e){$(e.target.value)},placeholder:"play.min.io:9000",label:"Target URL",value:K})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(A.Z,{checked:J,id:"useTLS",name:"useTLS",label:"Use TLS",onChange:function(e){ee(e.target.checked)},value:"yes"})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(I.Z,{id:"region",name:"region",onChange:function(e){Q(e.target.value)},label:"Region",value:q})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(W.Z,{id:"replication_mode",name:"replication_mode",onChange:function(e){ae(e.target.value)},label:"Replication Mode",value:ie,options:[{label:"Asynchronous",value:"async"},{label:"Synchronous",value:"sync"}]})}),"async"===ie&&(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsxs)("div",{className:o.multiContainer,children:[(0,w.jsx)("div",{children:(0,w.jsx)(I.Z,{type:"number",id:"bandwidth_scalar",name:"bandwidth_scalar",onChange:function(e){le(e.target.value)},label:"Bandwidth",value:se,min:"0"})}),(0,w.jsx)("div",{className:o.sizeFactorContainer,children:(0,w.jsx)(W.Z,{label:"Unit",id:"bandwidth_unit",name:"bandwidth_unit",value:ue,onChange:function(e){me(e.target.value)},options:(0,j.QU)()})})]})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(I.Z,{id:"healthCheck",name:"healthCheck",onChange:function(e){fe(e.target.value)},label:"Health Check Duration",value:xe})})]}),buttons:[{type:"custom",label:"Next",enabled:!C,action:function(e){var n={accessKey:N,secretKey:D,targetURL:K,useTLS:J};k(!0),x.Z.invoke("POST","/api/v1/list-external-buckets",n).then((function(n){var t=M()(n,"buckets",[]);if(t&&t.length>0){var i=t.map((function(e){return e.name}));ye(i)}e("++"),k(!1)})).catch((function(e){k(!1),l(e)}))}}]},{label:"Bucket Assignments",componentRender:(0,w.jsxs)(r.Fragment,{children:[(0,w.jsx)("h3",{children:"Remote Bucket Assignments"}),(0,w.jsx)("span",{className:o.descriptionText,children:"Please select / type the desired remote bucket were you want the local data to be replicated."}),(0,w.jsx)("div",{className:o.remoteBucketList,children:m.map((function(e,n){var t,i=function(e){if(we.length>0){var n=we.find((function(n){return n.originBucket===e}));if(n)return M()(n,"errorString","")||""}return"n/a"}(e);return(0,w.jsxs)(r.Fragment,{children:[(0,w.jsx)("div",{className:""===i?o.hide:"",children:e}),(0,w.jsx)("div",{className:""===i?o.hide:"",children:(t=n,ke.length>0?(0,w.jsx)(r.Fragment,{children:(0,w.jsx)(W.Z,{label:"",id:"assign-bucket-".concat(t),name:"assign-bucket-".concat(t),value:Ze[t],onChange:function(e){Me(t,e.target.value)},options:Fe,disabled:g})}):(0,w.jsx)(r.Fragment,{children:(0,w.jsx)(I.Z,{id:"assign-bucket-".concat(t),name:"assign-bucket-".concat(t),label:"",onChange:function(e){Me(t,e.target.value)},value:Ze[t],disabled:g})}))}),(0,w.jsx)("div",{className:""===i?o.hide:"",children:we.length>0&&(0,w.jsx)(Pe,{errString:i})})]},"buckets-assignation-".concat(n.toString(),"-").concat(e))}))})]}),buttons:[{type:"back",label:"Back",enabled:!0},{type:"next",label:"Create",enabled:!g,action:function(){b(!0);var e=m.map((function(e,n){return{originBucket:e,destinationBucket:Ze[n]}})),n="".concat(J?"https://":"http://").concat(K),i=parseInt(xe),a={accessKey:N,secretKey:D,targetURL:n,region:q,bucketsRelation:e,syncMode:ie,bandwidth:"async"===ie?parseInt((0,j.Pw)(se,ue,!0)):0,healthCheckPeriod:i};x.Z.invoke("POST","/api/v1/buckets-replication",a).then((function(e){b(!1);var n=e.replicationState;Be(n),0===n.filter((function(e){return e.errorString&&""!==e.errorString})).length?t(!0):setTimeout((function(){Ee(n)}),500)})).catch((function(e){b(!1),l(e)}))}}]}],forModal:!0})})}))),_=t(8235),H=t(18221),U=t(11835),K=t(71208),$=t(74524),Y=t(25534),G=t(23165),q=t(18572),Q=(0,s.$j)((function(e){return{session:e.console.session}}),{setErrorSnackMessage:h.Ih})((0,c.Z)((function(e){return(0,l.Z)((0,o.Z)({bulkSelect:{marginLeft:8,"&:hover":{backgroundColor:e.palette.primary.main},"&.MuiButton-contained":{backgroundColor:e.palette.primary.main}},addBucket:{marginLeft:8},bucketList:{marginTop:25,height:"calc(100vh - 210px)"},searchField:(0,o.Z)((0,o.Z)({},p.qg.searchField),{},{minWidth:380,"@media (max-width: 900px)":{minWidth:220}})},(0,p.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.history,o=e.setErrorSnackMessage,s=(e.session,(0,r.useState)([])),l=(0,a.Z)(s,2),c=l[0],h=l[1],p=(0,r.useState)(!0),b=(0,a.Z)(p,2),Z=b[0],j=b[1],v=(0,r.useState)(!1),C=(0,a.Z)(v,2),N=C[0],F=C[1],P=(0,r.useState)(""),M=(0,a.Z)(P,2),E=M[0],L=M[1],I=(0,r.useState)(""),R=(0,a.Z)(I,2),T=R[0],z=R[1],A=(0,r.useState)([]),W=(0,a.Z)(A,2),O=W[0],Q=W[1],V=(0,r.useState)(!1),X=(0,a.Z)(V,2),J=X[0],ee=X[1],ne=(0,r.useState)(!1),te=(0,a.Z)(ne,2),ie=te[0],ae=te[1];(0,r.useEffect)((function(){if(Z){j(!0),x.Z.invoke("GET","/api/v1/buckets").then((function(e){j(!1),h(e.buckets||[])})).catch((function(e){j(!1),o(e)}))}}),[Z,o]);var oe=function(e){F(!0),L(e)},re=c.filter((function(e){return""===T||e.name.indexOf(T)>=0})),se=function(e){var n=e.target,t=n.value,a=n.checked,o=(0,i.Z)(O);return a?o.push(t):o=o.filter((function(e){return e!==t})),Q(o),o};return(0,w.jsxs)(r.Fragment,{children:[N&&(0,w.jsx)(f.default,{deleteOpen:N,selectedBucket:E,closeDeleteModalAndRefresh:function(e){!function(e){F(!1),e&&(j(!0),Q([]))}(e)}}),J&&(0,w.jsx)(D,{open:J,buckets:O,closeModalAndRefresh:function(e){ee(!1),e&&Q([])}}),(0,w.jsx)(g.Z,{label:"Buckets"}),(0,w.jsxs)(Y.Z,{children:[(0,w.jsxs)(u.ZP,{item:!0,xs:12,className:n.actionsTray,display:"flex",children:[(0,w.jsx)(G.Z,{onChange:z,placeholder:"Search Buckets",overrideClass:n.searchField,value:T}),(0,w.jsxs)(u.ZP,{item:!0,xs:12,display:"flex",alignItems:"center",justifyContent:"flex-end",children:[(0,w.jsx)(S.Z,{tooltip:ie?"Un Select All":"Select Multiple",onClick:function(){ae(!ie)},text:"",icon:(0,w.jsx)($.Z,{}),color:"primary",variant:ie?"contained":"outlined"}),(0,w.jsx)(S.Z,{tooltip:"Set Replication",onClick:function(){ee(!0)},text:"",icon:(0,w.jsx)(K.Z,{}),disabled:0===O.length,color:"primary",variant:"outlined"}),(0,w.jsx)(S.Z,{tooltip:"Refresh",onClick:function(){j(!0)},text:"",icon:(0,w.jsx)(H.default,{}),color:"primary",variant:"outlined"}),(0,w.jsx)(y.Z,{scopes:[k.Ft.S3_CREATE_BUCKET],resource:k.C3,errorProps:{disabled:!0},children:(0,w.jsx)(S.Z,{tooltip:"Create Bucket",onClick:function(){t.push("/add-bucket")},text:"Create Bucket",icon:(0,w.jsx)(m.dt,{}),color:"primary",variant:"contained"})})]})]}),Z&&(0,w.jsx)(d.Z,{}),!Z&&(0,w.jsxs)(u.ZP,{item:!0,xs:12,className:n.bucketList,children:[0!==re.length&&(0,w.jsx)(q.Z,{rowRenderFunction:function(e){var n=re[e]||null;return n?(0,w.jsx)(B,{bucket:n,onDelete:oe,onSelect:se,selected:O.includes(n.name),bulkSelect:ie}):null},totalItems:re.length}),0===re.length&&""!==T&&(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)(_.Z,{iconComponent:(0,w.jsx)(m.wN,{}),title:"No Results",help:(0,w.jsx)(r.Fragment,{children:"No buckets match the filtering condition"})})})}),0===re.length&&""===T&&(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)(_.Z,{iconComponent:(0,w.jsx)(m.wN,{}),title:"Buckets",help:(0,w.jsxs)(r.Fragment,{children:["MinIO uses buckets to organize objects. A bucket is similar to a folder or directory in a filesystem, where each bucket can hold an arbitrary number of objects.",(0,w.jsxs)(y.Z,{scopes:[k.Ft.S3_CREATE_BUCKET],resource:k.C3,children:[(0,w.jsx)("br",{}),(0,w.jsx)("br",{}),"To get started,\xa0",(0,w.jsx)(U.Z,{onClick:function(){t.push("/add-bucket")},children:"Create a Bucket."})]})]})})})})]})]})]})})))},11835:function(e,n,t){var i=t(18489),a=t(83738),o=(t(50390),t(86509)),r=t(4285),s=t(62559),l=["classes","children"];n.Z=(0,r.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,l);return(0,s.jsx)("button",(0,i.Z)((0,i.Z)({},o),{},{className:n.root,children:t}))}))},70758:function(e,n,t){var i=t(18489),a=t(36222),o=t(83738),r=(t(50390),t(86509)),s=t(4285),l=t(95467),c=t(94187),d=t(44977),u=t(62559),m=["classes","children","variant","tooltip"];n.Z=(0,s.Z)((function(e){return(0,r.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,r=e.variant,s=void 0===r?"outlined":r,h=e.tooltip,p=(0,o.Z)(e,m),x=(0,u.jsx)(l.Z,(0,i.Z)((0,i.Z)({},p),{},{className:(0,d.Z)(n.root,(0,a.Z)({},n.contained,"contained"===s)),children:t}));return h&&""!==h?(0,u.jsx)(c.Z,{title:h,children:(0,u.jsx)("span",{children:x})}):x}))},54950:function(e,n,t){var i=t(18489),a=t(50390),o=t(25594),r=t(74268),s=t(14602),l=t(94187),c=t(86509),d=t(4285),u=t(72462),m=t(97538),h=t(62559);n.Z=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.YI),u.Hr),u.lM),{},{fieldContainer:(0,i.Z)((0,i.Z)({},u.YI.fieldContainer),{},{display:"flex",justifyContent:"flex-start",alignItems:"center",margin:"15px 0",marginBottom:0,flexBasis:"initial"})}))}))((function(e){var n=e.label,t=e.onChange,i=e.value,c=e.id,d=e.name,u=e.checked,p=void 0!==u&&u,x=e.disabled,f=void 0!==x&&x,g=e.tooltip,b=void 0===g?"":g,Z=e.classes;return(0,h.jsx)(a.Fragment,{children:(0,h.jsxs)(o.ZP,{item:!0,xs:12,className:Z.fieldContainer,children:[(0,h.jsx)("div",{children:(0,h.jsx)(r.Z,{name:d,id:c,value:i,color:"primary",inputProps:{"aria-label":"secondary checkbox"},checked:p,onChange:t,checkedIcon:(0,h.jsx)("span",{className:Z.checkedIcon}),icon:(0,h.jsx)("span",{className:Z.unCheckedIcon}),disabled:f})}),""!==n&&(0,h.jsxs)(s.Z,{htmlFor:c,className:Z.noMinWidthLabel,children:[(0,h.jsx)("span",{children:n}),""!==b&&(0,h.jsx)("div",{className:Z.tooltipContainer,children:(0,h.jsx)(l.Z,{title:b,placement:"top-start",children:(0,h.jsx)("div",{className:Z.tooltip,children:(0,h.jsx)(m.Z,{})})})})]})]})})}))},92440:function(e,n,t){var i=t(36222),a=t(18489),o=t(50390),r=t(86509),s=t(4285),l=t(49056),c=t(14602),d=t(94187),u=t(35477),m=t(25594),h=t(72462),p=t(97538),x=t(44977),f=t(62559),g=(0,s.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(l.Z);n.Z=(0,s.Z)((function(e){return(0,r.Z)((0,a.Z)((0,a.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},h.OR),h.YI))}))((function(e){var n=e.label,t=void 0===n?"":n,a=e.onChange,r=e.value,s=e.id,l=e.name,h=e.checked,b=void 0!==h&&h,Z=e.disabled,j=void 0!==Z&&Z,v=e.switchOnly,C=void 0!==v&&v,k=e.tooltip,y=void 0===k?"":k,S=e.description,N=void 0===S?"":S,w=e.classes,B=e.indicatorLabels,F=(0,f.jsxs)(o.Fragment,{children:[!C&&(0,f.jsx)("span",{className:(0,x.Z)(w.indicatorLabel,(0,i.Z)({},w.indicatorLabelOn,!b)),children:B&&B.length>1?B[1]:"OFF"}),(0,f.jsx)(g,{checked:b,onChange:a,color:"primary",name:l,inputProps:{"aria-label":"primary checkbox"},disabled:j,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:r}),!C&&(0,f.jsx)("span",{className:(0,x.Z)(w.indicatorLabel,(0,i.Z)({},w.indicatorLabelOn,b)),children:B?B[0]:"ON"})]});return C?F:(0,f.jsx)("div",{className:w.divContainer,children:(0,f.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[(0,f.jsx)(m.ZP,{item:!0,xs:!0,children:(0,f.jsxs)(m.ZP,{container:!0,children:[(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==t&&(0,f.jsxs)(c.Z,{htmlFor:s,className:w.inputLabel,children:[(0,f.jsx)("span",{children:t}),""!==y&&(0,f.jsx)("div",{className:w.tooltipContainer,children:(0,f.jsx)(d.Z,{title:y,placement:"top-start",children:(0,f.jsx)("div",{className:w.tooltip,children:(0,f.jsx)(p.Z,{})})})})]})}),(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==N&&(0,f.jsx)(u.Z,{component:"p",className:w.fieldDescription,children:N})})]})}),(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:w.switchContainer,children:F})]})})}))},66964:function(e,n,t){var i=t(18489),a=t(50390),o=t(12066),r=t(25594),s=t(14602),l=t(94187),c=t(95467),d=t(86509),u=t(62449),m=t(4285),h=t(72462),p=t(97538),x=t(44977),f=t(62559),g=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({},h.gM))}));function b(e){var n=g();return(0,f.jsx)(o.Z,(0,i.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.YI),h.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},h.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,t=e.onChange,o=e.value,d=e.id,u=e.name,m=e.type,h=void 0===m?"text":m,g=e.autoComplete,Z=void 0===g?"off":g,j=e.disabled,v=void 0!==j&&j,C=e.multiline,k=void 0!==C&&C,y=e.tooltip,S=void 0===y?"":y,N=e.index,w=void 0===N?0:N,B=e.error,F=void 0===B?"":B,P=e.required,M=void 0!==P&&P,E=e.placeholder,L=void 0===E?"":E,I=e.min,R=e.max,T=e.overlayIcon,z=void 0===T?null:T,A=e.overlayObject,W=void 0===A?null:A,O=e.extraInputProps,D=void 0===O?{}:O,_=e.overlayAction,H=e.noLabelMinWidth,U=void 0!==H&&H,K=e.pattern,$=void 0===K?"":K,Y=e.autoFocus,G=void 0!==Y&&Y,q=e.classes,Q=e.className,V=void 0===Q?"":Q,X=(0,i.Z)({"data-index":w},D);return"number"===h&&I&&(X.min=I),"number"===h&&R&&(X.max=R),""!==$&&(X.pattern=$),(0,f.jsx)(a.Fragment,{children:(0,f.jsxs)(r.ZP,{container:!0,className:(0,x.Z)(""!==V?V:"",""!==F?q.errorInField:q.inputBoxContainer),children:[""!==n&&(0,f.jsxs)(s.Z,{htmlFor:d,className:U?q.noMinWidthLabel:q.inputLabel,children:[(0,f.jsxs)("span",{children:[n,M?"*":""]}),""!==S&&(0,f.jsx)("div",{className:q.tooltipContainer,children:(0,f.jsx)(l.Z,{title:S,placement:"top-start",children:(0,f.jsx)("div",{className:q.tooltip,children:(0,f.jsx)(p.Z,{})})})})]}),(0,f.jsxs)("div",{className:q.textBoxContainer,children:[(0,f.jsx)(b,{id:d,name:u,fullWidth:!0,value:o,autoFocus:G,disabled:v,onChange:t,type:h,multiline:k,autoComplete:Z,inputProps:X,error:""!==F,helperText:F,placeholder:L,className:q.inputRebase}),z&&(0,f.jsx)("div",{className:"".concat(q.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,f.jsx)(c.Z,{onClick:_?function(){_()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:z})}),W&&(0,f.jsx)("div",{className:"".concat(q.overlayAction," ").concat(""!==n?"withLabel":""),children:W})]})]})})}))},50280:function(e,n,t){var i=t(18489),a=t(50390),o=t(25594),r=t(86509),s=t(4285),l=t(72462),c=t(62559);n.Z=(0,s.Z)((function(e){return(0,r.Z)((0,i.Z)({},l.xx))}))((function(e){var n=e.classes,t=e.label,i=void 0===t?"":t,r=e.content,s=e.multiLine,l=void 0!==s&&s;return(0,c.jsx)(a.Fragment,{children:(0,c.jsxs)(o.ZP,{className:n.prefinedContainer,children:[""!==i&&(0,c.jsx)(o.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:i}),(0,c.jsx)(o.ZP,{item:!0,xs:12,className:n.predefinedList,children:(0,c.jsx)(o.ZP,{item:!0,xs:12,className:l?n.innerContentMultiline:n.innerContent,children:r})})]})})}))},67754:function(e,n,t){var i=t(18489),a=t(50390),o=t(25594),r=t(46413),s=t(14602),l=t(94187),c=t(47554),d=t(43965),u=t(31680),m=t(86509),h=t(4285),p=t(72462),x=t(97538),f=t(62559),g=(0,h.Z)((function(e){return(0,m.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(r.ZP);n.Z=(0,h.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},p.YI),p.Hr),{},{inputLabel:(0,i.Z)((0,i.Z)({},p.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var n=e.classes,t=e.id,i=e.name,r=e.onChange,m=e.options,h=e.label,p=e.tooltip,b=void 0===p?"":p,Z=e.value,j=e.disabled,v=void 0!==j&&j;return(0,f.jsx)(a.Fragment,{children:(0,f.jsxs)(o.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==h&&(0,f.jsxs)(s.Z,{htmlFor:t,className:n.inputLabel,children:[(0,f.jsx)("span",{children:h}),""!==b&&(0,f.jsx)("div",{className:n.tooltipContainer,children:(0,f.jsx)(l.Z,{title:b,placement:"top-start",children:(0,f.jsx)("div",{className:n.tooltip,children:(0,f.jsx)(x.Z,{})})})})]}),(0,f.jsx)(c.Z,{fullWidth:!0,children:(0,f.jsx)(d.Z,{id:t,name:i,value:Z,onChange:r,input:(0,f.jsx)(g,{}),disabled:v,children:m.map((function(e){return(0,f.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(i,"-").concat(e.label))}))})})]})})}))},76295:function(e,n,t){t.d(n,{Z:function(){return x}});var i=t(23430),a=t(50390),o=t(86509),r=t(4285),s=t(81378),l=t(66946),c=t(62559),d=(0,r.Z)((function(e){return(0,o.Z)({wizardStepContainer:{display:"flex",flexDirection:"column",flex:1},wizardComponent:{overflowY:"auto",marginBottom:10,height:"calc(100vh - 100px - 80px)",minHeight:400,flex:1,width:"100%"},wizardModal:{overflowY:"auto",marginBottom:10,height:"calc(100vh - 515px)"},buttonsContainer:{display:"flex",flexDirection:"row",justifyContent:"flex-start",padding:"10px 0",borderTop:"#EAEAEA 1px solid","& button":{marginLeft:10},"&.forModal":{paddingBottom:0}},buttonInnerContainer:{width:"100%",textAlign:"right",marginRight:15}})}))((function(e){var n=e.classes,t=e.page,i=e.pageChange,a=e.loadingStep,o=e.forModal;return(0,c.jsxs)("div",{className:n.wizardStepContainer,children:[(0,c.jsx)("div",{className:o?n.wizardModal:n.wizardComponent,children:t.componentRender}),a&&(0,c.jsx)("div",{children:(0,c.jsx)(s.Z,{})}),(0,c.jsx)("div",{className:"".concat(n.buttonsContainer," ").concat(o?"forModal":""),children:(0,c.jsx)("div",{className:n.buttonInnerContainer,children:t.buttons.map((function(e){return(0,c.jsx)(l.Z,{variant:"contained",color:"primary",size:"small",onClick:function(){!function(e){switch(e.type){case"next":i("++");break;case"back":i("--");break;case"to":i(e.toPage||0)}e.action&&e.action(i)}(e)},disabled:!e.enabled,children:e.label},"button-".concat(t.label,"-").concat(e.label))}))})})]})})),u=t(5211),m=t(25594),h=t(14291),p=t(70902),x=(0,r.Z)((function(e){return(0,o.Z)({wizFromContainer:{},wizFromModal:{position:"relative"},modalWizardSteps:{padding:5,borderBottom:"#eaeaea 1px solid","& ul":{padding:0,marginTop:0,display:"flex",justifyContent:"space-evenly","& li":{listStyle:"lower-roman","&::marker":{paddingLeft:15}}}},buttonList:{backgroundColor:"transparent",border:"none",cursor:"pointer","&:not(:disabled):hover":{textDecoration:"underline"},"&:selected, &:active, &:focus, &:focus:active":{border:"none",outline:0,boxShadow:"none"}},paddedContentGrid:{marginTop:8,padding:"0 10px",minHeight:400},stepsLabel:{fontSize:20,color:"#393939",fontWeight:600,margin:"15px 12px","&.stepsModalTitle":{textAlign:"center",width:"100%",marginTop:0,marginBottom:10}},stepsMasterContainer:{position:"sticky",top:0,backgroundColor:"#FFFFFF",width:"100%",maxHeight:90},verticalSteps:{borderRight:"1px solid #E5E5E5",background:"#F8F8F8"},stepsContainer:{paddingTop:0,"& .MuiButtonBase-root.Mui-selected":{background:"#E5E5E5"}},stepItem:{minHeight:60,borderBottom:"1px solid #E5E5E5","&:hover":{background:"rgba(247,247,247,0.7)"}}})}))((function(e){var n=e.classes,t=e.wizardSteps,o=e.loadingStep,r=e.forModal,s=(0,a.useState)(0),l=(0,i.Z)(s,2),x=l[0],f=l[1],g=function(e){var n=t.length-1;if("++"===e){var i=x+1;i>n&&(i=n),f(i)}if("--"===e){var a=x-1;a<0&&(a=0),f(a)}if("number"===typeof e){var o=e;e<0&&(o=0),e>n&&(o=n),f(o)}};if(0===t.length)return null;return(0,c.jsxs)(m.ZP,{container:!0,className:r?n.wizFromModal:n.wizFromContainer,children:[r?(0,c.jsx)(a.Fragment,{children:(0,c.jsxs)("div",{className:n.stepsMasterContainer,children:[(0,c.jsx)("div",{className:"".concat(n.stepsLabel," stepsModalTitle"),children:"Steps"}),(0,c.jsx)("div",{className:n.modalWizardSteps,children:(0,c.jsx)("ul",{children:t.map((function(e,t){return(0,c.jsx)("li",{children:(0,c.jsx)("button",{onClick:function(){return g(t)},disabled:t>x,className:n.buttonList,children:e.label})},"wizard-".concat(t.toString()))}))})})]})}):(0,c.jsx)(a.Fragment,{children:(0,c.jsx)(m.ZP,{item:!0,xs:12,sm:2,md:2,lg:2,xl:2,className:n.verticalSteps,children:(0,c.jsx)(a.Fragment,{children:(0,c.jsx)(u.Z,{component:"nav",dense:!0,classes:{root:n.stepsContainer},children:t.map((function(e,t){return(0,c.jsx)(h.ZP,{button:!0,disableRipple:!0,onClick:function(){return g(t)},selected:x===t,classes:{root:n.stepItem},children:(0,c.jsx)(p.Z,{primary:e.label})},"wizard-".concat(t.toString()))}))})})})}),(0,c.jsx)(m.ZP,{item:!0,xs:12,sm:r?12:10,md:r?12:10,lg:r?12:10,xl:r?12:10,className:r?"":n.paddedContentGrid,children:(0,c.jsx)(d,{page:t[x],pageChange:g,loadingStep:o,forModal:r})})]})}))},21639:function(e,n,t){var i=t(23430),a=t(50390),o=t(30324);n.Z=function(e,n){var t=(0,a.useState)(!1),r=(0,i.Z)(t,2),s=r[0],l=r[1];return[s,function(t,i,a){l(!0),o.Z.invoke(t,i,a).then((function(n){l(!1),e(n)})).catch((function(e){l(!1),n(e)}))}]}},60656:function(e,n,t){var i=t(18489),a=t(50390),o=t(84402),r=t(78426),s=t(93085),l=t(7887),c=t(66946),d=t(14476),u=t(95467),m=t(21278),h=t(86509),p=t(4285),x=t(72462),f=t(62559);n.Z=(0,p.Z)((function(e){return(0,h.Z)((0,i.Z)({},x.Qw))}))((function(e){var n=e.isOpen,t=void 0!==n&&n,h=e.onClose,p=e.onCancel,x=e.onConfirm,g=e.classes,b=void 0===g?{}:g,Z=e.title,j=void 0===Z?"":Z,v=e.isLoading,C=e.confirmationContent,k=e.cancelText,y=void 0===k?"Cancel":k,S=e.confirmText,N=void 0===S?"Confirm":S,w=e.confirmButtonProps,B=void 0===w?{}:w,F=e.cancelButtonProps,P=void 0===F?{}:F,M=e.titleIcon,E=void 0===M?null:M;return(0,f.jsxs)(o.Z,{open:t,onClose:function(e,n){"backdropClick"!==n&&h()},className:b.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,f.jsxs)(r.Z,{className:b.title,children:[(0,f.jsxs)("div",{className:b.titleText,children:[E," ",j]}),(0,f.jsx)("div",{className:b.closeContainer,children:(0,f.jsx)(u.Z,{"aria-label":"close",className:b.closeButton,onClick:h,disableRipple:!0,size:"small",children:(0,f.jsx)(m.Z,{})})})]}),(0,f.jsx)(s.Z,{className:b.content,children:C}),(0,f.jsxs)(l.Z,{className:b.actions,children:[(0,f.jsx)(c.Z,(0,i.Z)((0,i.Z)({className:b.cancelButton,onClick:p||h,disabled:v,type:"button"},P),{},{variant:"outlined",color:"primary",children:y})),(0,f.jsx)(d.Z,(0,i.Z)((0,i.Z)({className:b.confirmButton,type:"button",onClick:x,loading:v,disabled:v,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,f.jsx)(a.Fragment,{}),autoFocus:!0},B),{},{children:N}))]})]})}))},76352:function(e,n,t){t.d(n,{Z:function(){return w}});var i,a=t(23430),o=t(18489),r=t(50390),s=t(34424),l=t(95467),c=t(97771),d=t(84402),u=t(78426),m=t(93085),h=t(86509),p=t(4285),x=t(72462),f=t(44149),g=t(38342),b=t.n(g),Z=t(92125),j=t(19538),v=t(21278),C=t(62559),k=function(){clearInterval(i)},y={displayErrorMessage:f.zb},S=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),y)((0,p.Z)((function(e){return(0,h.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var n=e.classes,t=e.modalSnackMessage,o=e.displayErrorMessage,s=e.customStyle,l=(0,r.useState)(!1),c=(0,a.Z)(l,2),d=c[0],u=c[1],m=(0,r.useState)(!1),h=(0,a.Z)(m,2),p=h[0],x=h[1],f=(0,r.useCallback)((function(){x(!1)}),[]);(0,r.useEffect)((function(){p||(o({detailedError:"",errorMessage:""}),u(!1))}),[o,p]),(0,r.useEffect)((function(){""!==t.message&&"error"===t.type&&x(!0)}),[f,t.message,t.type]);var g=b()(t,"message",""),y=b()(t,"detailedErrorMsg","");return"error"!==t.type||""===g?null:(0,C.jsx)(r.Fragment,{children:(0,C.jsxs)("div",{className:"".concat(n.modalErrorContainer," ").concat(p?n.modalErrorShow:""),style:s,onMouseOver:k,onMouseLeave:function(){i=setInterval(f,1e4)},children:[(0,C.jsx)("button",{className:n.closeButton,onClick:f,children:(0,C.jsx)(v.Z,{})}),(0,C.jsxs)("div",{className:n.errorTitle,children:[(0,C.jsx)("span",{className:n.messageIcon,children:(0,C.jsx)(j.Z,{})}),(0,C.jsx)("span",{className:n.errorLabel,children:g})]}),""!==y&&(0,C.jsxs)(r.Fragment,{children:[(0,C.jsx)("div",{className:n.detailsContainerLink,children:(0,C.jsxs)("button",{className:n.detailsButton,onClick:function(){u(!d)},children:["Details",(0,C.jsx)(Z.Z,{className:"".concat(n.arrowElement," ").concat(d?n.arrowOpen:"")})]})}),(0,C.jsx)("div",{className:"".concat(n.extraDetailsContainer," ").concat(d?n.extraDetailsOpen:""),children:y})]})]})})}))),N=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:f.MK}),w=(0,p.Z)((function(e){return(0,h.Z)((0,o.Z)((0,o.Z)({},x.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},x.sN))}))(N((function(e){var n=e.onClose,t=e.modalOpen,i=e.title,s=e.children,h=e.classes,p=e.wideLimit,x=void 0===p||p,f=e.modalSnackMessage,g=e.noContentPadding,b=e.setModalSnackMessage,Z=e.titleIcon,j=void 0===Z?null:Z,k=(0,r.useState)(!1),y=(0,a.Z)(k,2),N=y[0],w=y[1];(0,r.useEffect)((function(){b("")}),[b]),(0,r.useEffect)((function(){if(f){if(""===f.message)return void w(!1);"error"!==f.type&&w(!0)}}),[f]);var B=x?{classes:{paper:h.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},F="";return f&&(F=f.detailedErrorMsg,(""===f.detailedErrorMsg||f.detailedErrorMsg.length<5)&&(F=f.message)),(0,C.jsxs)(d.Z,(0,o.Z)((0,o.Z)({open:t,classes:h},B),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:h.root,children:[(0,C.jsxs)(u.Z,{className:h.title,children:[(0,C.jsxs)("div",{className:h.titleText,children:[j," ",i]}),(0,C.jsx)("div",{className:h.closeContainer,children:(0,C.jsx)(l.Z,{"aria-label":"close",className:h.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,C.jsx)(v.Z,{})})})]}),(0,C.jsx)(S,{}),(0,C.jsx)(c.Z,{open:N,className:h.snackBarModal,onClose:function(){w(!1),b("")},message:F,ContentProps:{className:"".concat(h.snackBar," ").concat(f&&"error"===f.type?h.errorSnackBar:"")},autoHideDuration:f&&"error"===f.type?1e4:5e3}),(0,C.jsx)(m.Z,{className:g?"":h.content,children:s})]}))})))},35721:function(e,n,t){t(50390);var i=t(34424),a=t(25594),o=t(86509),r=t(4285),s=t(35477),l=t(95467),c=t(26805),d=t(44078),u=t(5265),m=t(11387),h=t(62559),p={toggleList:u.kQ},x=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),p);n.Z=x((0,r.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,i=e.actions,o=e.sidebarOpen,r=e.operatorMode,u=e.managerObjects,p=e.toggleList,x=e.middleComponent;return(0,h.jsxs)(a.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,h.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,h.jsx)("div",{className:n.logo,children:r?(0,h.jsx)(c.Z,{}):(0,h.jsx)(d.Z,{})}),(0,h.jsx)(s.Z,{variant:"h4",className:n.labelStyle,children:t})]}),x&&(0,h.jsx)(a.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:x}),(0,h.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:n.rightMenu,children:[i&&i,u&&u.length>0&&(0,h.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){p()},size:"large",children:(0,h.jsx)(m.gx,{})})]})]})})))},23165:function(e,n,t){var i=t(36222),a=t(18489),o=(t(50390),t(65771)),r=t(13336),s=t(12066),l=t(4285),c=t(86509),d=t(72462),u=t(62559);n.Z=(0,l.Z)((function(e){return(0,c.Z)({searchField:(0,a.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,a=e.classes,l=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,m=e.overrideClass,h=e.value,p=(0,i.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(o.Z,{position:d,className:a.adornment,children:(0,u.jsx)(r.Z,{})}));return(0,u.jsx)(s.Z,{placeholder:t,className:m||a.searchField,id:"search-resource",label:"",InputProps:p,onChange:function(e){l(e.target.value)},variant:"standard",value:h})}))},18572:function(e,n,t){var i=t(50390),a=t(65742),o=t(10106),r=t(33690),s=t(62559),l={};n.Z=function(e){var n=e.rowRenderFunction,t=e.totalItems,c=e.defaultHeight,d=function(e){var t=e.index,i=e.style;return(0,s.jsx)("div",{style:i,children:n(t)})};return(0,s.jsx)(i.Fragment,{children:(0,s.jsx)(o.Z,{isItemLoaded:function(e){return!!l[e]},loadMoreItems:function(e,n){for(var t=e;t<=n;t++)l[t]=1;for(var i=e;i<=n;i++)l[i]=2},itemCount:t,children:function(e){var n=e.onItemsRendered,i=e.ref;return(0,s.jsx)(r.qj,{children:function(e){var o=e.width,r=e.height;return(0,s.jsx)(a.t7,{itemSize:c||220,height:r,itemCount:t,width:o,ref:i,onItemsRendered:n,children:d})}})}})})}}}]); -//# sourceMappingURL=2094.4854485e.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2094.4854485e.chunk.js.map b/portal-ui/build/static/js/2094.4854485e.chunk.js.map deleted file mode 100644 index 206d4e725..000000000 --- a/portal-ui/build/static/js/2094.4854485e.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/2094.4854485e.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Buckets/ListBuckets/DeleteBucket.tsx","screens/Console/Buckets/ListBuckets/BucketListItem.tsx","screens/Console/Buckets/ListBuckets/BulkReplicationModal.tsx","screens/Console/Buckets/ListBuckets/ListBuckets.tsx","screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/FormComponents/CheckboxWrapper/CheckboxWrapper.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/GenericWizard/WizardPage.tsx","screens/Console/Common/GenericWizard/GenericWizard.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/VirtualizedList/VirtualizedList.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;\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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\n\ninterface IDeleteBucketProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedBucket: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeleteBucket = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n setErrorSnackMessage,\n}: IDeleteBucketProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedBucket) {\n return null;\n }\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\"DELETE\", `/api/v1/buckets/${selectedBucket}`, {\n name: selectedBucket,\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 bucket {selectedBucket}?
\n A bucket can only be deleted if it's empty.\n
\n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteBucket);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n ArrowRightIcon,\n BucketsIcon,\n ReportedUsageIcon,\n SettingsIcon,\n TotalObjectsIcon,\n} from \"../../../../icons\";\nimport { Bucket } from \"../types\";\nimport { Box, Grid, Typography } from \"@mui/material\";\nimport { niceBytes, prettyNumber } from \"../../../../common/utils\";\nimport CheckboxWrapper from \"../../Common/FormComponents/CheckboxWrapper/CheckboxWrapper\";\nimport { Link } from \"react-router-dom\";\nimport {\n IAM_PERMISSIONS,\n IAM_ROLES,\n} from \"../../../../common/SecureComponent/permissions\";\nimport SecureComponent from \"../../../../common/SecureComponent/SecureComponent\";\nimport RBIconButton from \"../BucketDetails/SummaryItems/RBIconButton\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n marginBottom: 30,\n padding: 20,\n color: theme.palette.primary.main,\n border: \"#E5E5E5 1px solid\",\n borderRadius: 2,\n \"& .min-icon\": {\n height: 14,\n width: 14,\n marginRight: 4,\n },\n \"& .MuiTypography-body2\": {\n fontSize: 14,\n },\n \"& .MuiCardHeader-content\": {\n wordWrap: \"break-word\",\n overflowWrap: \"break-word\",\n wordBreak: \"break-all\",\n font: \"normal normal bold 24px/27px Lato\",\n color: theme.palette.primary.main,\n\n \"& .MuiTypography-root\": {\n fontSize: 19,\n fontWeight: \"bold\",\n \"& .min-icon\": {\n position: \"relative\",\n top: 4,\n marginRight: 4,\n height: \"24px !important\",\n },\n },\n },\n \"& .MuiCardHeader-root\": {\n background:\n \"transparent linear-gradient(0deg, #EEF1F44E 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n },\n },\n checkBoxElement: {\n width: 32,\n height: 32,\n float: \"left\",\n overflow: \"hidden\",\n \"& div\": {\n position: \"absolute\",\n },\n },\n viewButton: {\n width: 111,\n color: \"white\",\n marginLeft: 8,\n fontSize: 12,\n fontWeight: \"normal\",\n boxShadow: \"unset\",\n borderRadius: 4,\n },\n manageButton: {\n borderRadius: 4,\n width: 111,\n color: theme.palette.grey[\"700\"],\n textTransform: \"unset\",\n fontSize: 12,\n fontWeight: \"normal\",\n \"& .MuiButton-endIcon\": {\n \"& .min-icon\": {\n fontSize: 18,\n },\n },\n },\n metric: {\n \"& .min-icon\": {\n color: \"#000000\",\n width: 13,\n marginRight: 5,\n },\n },\n metricLabel: {\n fontSize: 14,\n fontWeight: \"bold\",\n color: \"#000000\",\n },\n metricText: {\n fontSize: 24,\n fontWeight: \"bold\",\n },\n unit: {\n fontSize: 12,\n fontWeight: \"normal\",\n },\n bucketName: {\n padding: 0,\n margin: 0,\n fontSize: 22,\n },\n bucketIcon: {\n \"& .min-icon\": {\n height: 48,\n width: 48,\n },\n },\n bucketInfo: {\n display: \"flex\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column-reverse\",\n },\n },\n bucketStats: {\n marginTop: 15,\n borderTop: \"1px solid rgb(234,234,234, .7)\",\n paddingTop: 14,\n },\n bucketActionButtons: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n\n \"@media (max-width: 900px)\": {\n marginTop: \"-33px\",\n },\n },\n });\n\ninterface IBucketListItem {\n bucket: Bucket;\n classes: any;\n onDelete: (bucketName: string) => void;\n onSelect: (e: React.ChangeEvent) => void;\n selected: boolean;\n bulkSelect: boolean;\n}\n\nconst BucketListItem = ({\n classes,\n bucket,\n onDelete,\n onSelect,\n selected,\n bulkSelect,\n}: IBucketListItem) => {\n const usage = niceBytes(`${bucket.size}` || \"0\");\n const usageScalar = usage.split(\" \")[0];\n const usageUnit = usage.split(\" \")[1];\n\n const accessToStr = (bucket: Bucket): string => {\n if (bucket.rw_access?.read && !bucket.rw_access?.write) {\n return \"R\";\n } else if (!bucket.rw_access?.read && bucket.rw_access?.write) {\n return \"W\";\n } else if (bucket.rw_access?.read && bucket.rw_access?.write) {\n return \"R/W\";\n }\n return \"\";\n };\n const onCheckboxClick = (e: React.ChangeEvent) => {\n onSelect(e);\n };\n\n return (\n \n \n \n \n \n \n {bulkSelect && (\n {\n e.stopPropagation();\n }}\n >\n \n \n )}\n

{bucket.name}

\n
\n \n \n \n \n Created: {bucket.creation_date}\n \n \n \n \n Access: {accessToStr(bucket)}\n \n \n \n \n
\n
\n \n \n \n {}}\n text={\"Manage\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n \n \n {}}\n text={\"Browse\"}\n icon={}\n color={\"primary\"}\n variant={\"contained\"}\n />\n \n \n
\n \n \n \n \n\n \n \n \n \n \n \n \n Usage\n
\n {usageScalar}\n {usageUnit}\n
\n
\n \n \n Objects\n
\n {bucket.objects ? prettyNumber(bucket.objects) : 0}\n
\n
\n
\n
\n \n );\n};\n\nexport default withStyles(styles)(BucketListItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { SelectChangeEvent, Tooltip } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CheckCircleOutlineIcon from \"@mui/icons-material/CheckCircleOutline\";\nimport {\n modalBasic,\n wizardCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { BulkReplicationItem, BulkReplicationResponse } from \"../types\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport PredefinedList from \"../../Common/FormComponents/PredefinedList/PredefinedList\";\nimport api from \"../../../../common/api\";\nimport GenericWizard from \"../../Common/GenericWizard/GenericWizard\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { SelectorTypes } from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport { getBytes, k8sfactorForDropdown } from \"../../../../common/utils\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ninterface IBulkReplicationModal {\n open: boolean;\n closeModalAndRefresh: (clearSelection: boolean) => any;\n classes: any;\n buckets: string[];\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n remoteBucketList: {\n display: \"grid\",\n gridTemplateColumns: \"auto auto 45px\",\n alignItems: \"center\",\n justifyContent: \"stretch\",\n },\n errorIcon: {\n color: \"#C72C48\",\n },\n successIcon: {\n color: \"#42C91A\",\n },\n hide: {\n opacity: 0,\n transitionDuration: \"0.3s\",\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst AddBulkReplicationModal = ({\n open,\n closeModalAndRefresh,\n classes,\n buckets,\n setModalErrorSnackMessage,\n}: IBulkReplicationModal) => {\n const [bucketsToAlter, setBucketsToAlter] = useState([]);\n const [addLoading, setAddLoading] = useState(false);\n const [externalLoading, setExternalLoading] = useState(false);\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n const [targetURL, setTargetURL] = useState(\"\");\n const [region, setRegion] = useState(\"\");\n const [useTLS, setUseTLS] = useState(true);\n const [replicationMode, setReplicationMode] = useState(\"async\");\n const [bandwidthScalar, setBandwidthScalar] = useState(\"100\");\n const [bandwidthUnit, setBandwidthUnit] = useState(\"Gi\");\n const [healthCheck, setHealthCheck] = useState(\"60\");\n const [relationBuckets, setRelationBuckets] = useState([]);\n const [remoteBucketsOpts, setRemoteBucketOpts] = useState([]);\n const [responseItem, setResponseItem] = useState([]);\n\n const optionsForBucketsDrop: SelectorTypes[] = remoteBucketsOpts.map(\n (remoteBucketName: string) => {\n return {\n label: remoteBucketName,\n value: remoteBucketName,\n };\n }\n );\n\n useEffect(() => {\n if (relationBuckets.length === 0) {\n const bucketsAlter: string[] = [];\n const relationBucketsAlter: string[] = [];\n\n buckets.forEach((item: string) => {\n bucketsAlter.push(item);\n relationBucketsAlter.push(\"\");\n });\n\n setRelationBuckets(relationBucketsAlter);\n setBucketsToAlter(bucketsAlter);\n }\n }, [buckets, relationBuckets.length]);\n\n const addRecord = () => {\n setAddLoading(true);\n const replicate = bucketsToAlter.map((bucketName, index) => {\n return {\n originBucket: bucketName,\n destinationBucket: relationBuckets[index],\n };\n });\n\n const endURL = `${useTLS ? \"https://\" : \"http://\"}${targetURL}`;\n const hc = parseInt(healthCheck);\n\n const remoteBucketsInfo = {\n accessKey: accessKey,\n secretKey: secretKey,\n targetURL: endURL,\n region: region,\n bucketsRelation: replicate,\n syncMode: replicationMode,\n bandwidth:\n replicationMode === \"async\"\n ? parseInt(getBytes(bandwidthScalar, bandwidthUnit, true))\n : 0,\n healthCheckPeriod: hc,\n };\n\n api\n .invoke(\"POST\", \"/api/v1/buckets-replication\", remoteBucketsInfo)\n .then((response: BulkReplicationResponse) => {\n setAddLoading(false);\n\n const states = response.replicationState;\n setResponseItem(states);\n\n const filterErrors = states.filter(\n (itm) => itm.errorString && itm.errorString !== \"\"\n );\n\n if (filterErrors.length === 0) {\n closeModalAndRefresh(true);\n } else {\n setTimeout(() => {\n removeSuccessItems(states);\n }, 500);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n const retrieveRemoteBuckets = (\n wizardPageJump: (page: number | string) => void\n ) => {\n const remoteConnectInfo = {\n accessKey: accessKey,\n secretKey: secretKey,\n targetURL: targetURL,\n useTLS,\n };\n setExternalLoading(true);\n\n api\n .invoke(\"POST\", \"/api/v1/list-external-buckets\", remoteConnectInfo)\n .then((dataReturn) => {\n const buckets = get(dataReturn, \"buckets\", []);\n\n if (buckets && buckets.length > 0) {\n const arrayReplaceBuckets = buckets.map((element: any) => {\n return element.name;\n });\n\n setRemoteBucketOpts(arrayReplaceBuckets);\n }\n\n wizardPageJump(\"++\");\n setExternalLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setExternalLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n const stateOfItem = (initialBucket: string) => {\n if (responseItem.length > 0) {\n const bucketResponse = responseItem.find(\n (item) => item.originBucket === initialBucket\n );\n\n if (bucketResponse) {\n const errString = get(bucketResponse, \"errorString\", \"\");\n\n if (errString) {\n return errString;\n }\n\n return \"\";\n }\n }\n return \"n/a\";\n };\n\n const LogoToShow = ({ errString }: { errString: string }) => {\n switch (errString) {\n case \"\":\n return (\n
\n \n
\n );\n case \"n/a\":\n return null;\n default:\n if (errString) {\n return (\n
\n \n \n \n
\n );\n }\n }\n return null;\n };\n\n const updateItem = (indexItem: number, value: string) => {\n const updatedList = [...relationBuckets];\n updatedList[indexItem] = value;\n setRelationBuckets(updatedList);\n };\n\n const itemDisplayBulk = (indexItem: number) => {\n if (remoteBucketsOpts.length > 0) {\n return (\n \n ) => {\n updateItem(indexItem, e.target.value as string);\n }}\n options={optionsForBucketsDrop}\n disabled={addLoading}\n />\n \n );\n }\n return (\n \n ) => {\n updateItem(indexItem, event.target.value);\n }}\n value={relationBuckets[indexItem]}\n disabled={addLoading}\n />\n \n );\n };\n\n const removeSuccessItems = (responseItem: BulkReplicationItem[]) => {\n let newBucketsToAlter = [...bucketsToAlter];\n let newRelationBuckets = [...relationBuckets];\n\n responseItem.forEach((successElement) => {\n const errorString = get(successElement, \"errorString\", \"\");\n\n if (!errorString || errorString === \"\") {\n const indexToRemove = newBucketsToAlter.indexOf(\n successElement.originBucket\n );\n\n newBucketsToAlter.splice(indexToRemove, 1);\n newRelationBuckets.splice(indexToRemove, 1);\n }\n });\n\n setBucketsToAlter(newBucketsToAlter);\n setRelationBuckets(newRelationBuckets);\n };\n\n return (\n {\n closeModalAndRefresh(false);\n }}\n title=\"Set Multiple Bucket Replication\"\n >\n \n \n \n \n

Remote Endpoint Configuration

\n \n Please avoid the use of root credentials for this feature\n \n
\n
\n \n ) => {\n setAccessKey(e.target.value);\n }}\n label=\"Access Key\"\n value={accessKey}\n />\n \n \n ) => {\n setSecretKey(e.target.value);\n }}\n label=\"Secret Key\"\n value={secretKey}\n />\n \n \n ) => {\n setTargetURL(e.target.value);\n }}\n placeholder=\"play.min.io:9000\"\n label=\"Target URL\"\n value={targetURL}\n />\n \n \n {\n setUseTLS(e.target.checked);\n }}\n value=\"yes\"\n />\n \n \n ) => {\n setRegion(e.target.value);\n }}\n label=\"Region\"\n value={region}\n />\n \n \n ) => {\n setReplicationMode(e.target.value as string);\n }}\n label=\"Replication Mode\"\n value={replicationMode}\n options={[\n { label: \"Asynchronous\", value: \"async\" },\n { label: \"Synchronous\", value: \"sync\" },\n ]}\n />\n \n {replicationMode === \"async\" && (\n \n
\n
\n \n ) => {\n setBandwidthScalar(e.target.value as string);\n }}\n label=\"Bandwidth\"\n value={bandwidthScalar}\n min=\"0\"\n />\n
\n
\n ) => {\n setBandwidthUnit(e.target.value as string);\n }}\n options={k8sfactorForDropdown()}\n />\n
\n
\n
\n )}\n \n ) => {\n setHealthCheck(e.target.value as string);\n }}\n label=\"Health Check Duration\"\n value={healthCheck}\n />\n \n \n ),\n buttons: [\n {\n type: \"custom\",\n label: \"Next\",\n enabled: !externalLoading,\n action: retrieveRemoteBuckets,\n },\n ],\n },\n {\n label: \"Bucket Assignments\",\n componentRender: (\n \n

Remote Bucket Assignments

\n \n Please select / type the desired remote bucket were you want\n the local data to be replicated.\n \n
\n {bucketsToAlter.map((bucketName: string, index: number) => {\n const errorItem = stateOfItem(bucketName);\n return (\n \n
\n {bucketName}\n
\n
\n {itemDisplayBulk(index)}\n
\n
\n {responseItem.length > 0 && (\n \n )}\n
\n \n );\n })}\n
\n
\n ),\n buttons: [\n {\n type: \"back\",\n label: \"Back\",\n enabled: true,\n },\n {\n type: \"next\",\n label: \"Create\",\n enabled: !addLoading,\n action: addRecord,\n },\n ],\n },\n ]}\n forModal\n />\n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(AddBulkReplicationModal));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { Bucket, BucketList } from \"../types\";\nimport { AddIcon, BucketsIcon } from \"../../../../icons\";\nimport { AppState } from \"../../../../store\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport {\n containerForHeader,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport DeleteBucket from \"./DeleteBucket\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport BucketListItem from \"./BucketListItem\";\nimport BulkReplicationModal from \"./BulkReplicationModal\";\nimport HelpBox from \"../../../../common/HelpBox\";\nimport { ISessionResponse } from \"../../types\";\nimport RefreshIcon from \"../../../../icons/RefreshIcon\";\nimport AButton from \"../../Common/AButton/AButton\";\nimport MultipleBucketsIcon from \"../../../../icons/MultipleBucketsIcon\";\nimport SelectMultipleIcon from \"../../../../icons/SelectMultipleIcon\";\nimport SecureComponent from \"../../../../common/SecureComponent/SecureComponent\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../../common/SecureComponent/permissions\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport SearchBox from \"../../Common/SearchBox\";\nimport VirtualizedList from \"../../Common/VirtualizedList/VirtualizedList\";\nimport RBIconButton from \"../BucketDetails/SummaryItems/RBIconButton\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n bulkSelect: {\n marginLeft: 8,\n \"&:hover\": {\n backgroundColor: theme.palette.primary.main,\n },\n \"&.MuiButton-contained\": {\n backgroundColor: theme.palette.primary.main,\n },\n },\n addBucket: {\n marginLeft: 8,\n },\n bucketList: {\n marginTop: 25,\n height: \"calc(100vh - 210px)\",\n },\n searchField: {\n ...searchField.searchField,\n minWidth: 380,\n \"@media (max-width: 900px)\": {\n minWidth: 220,\n },\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IListBucketsProps {\n classes: any;\n history: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n session: ISessionResponse;\n}\n\nconst ListBuckets = ({\n classes,\n history,\n setErrorSnackMessage,\n session,\n}: IListBucketsProps) => {\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(true);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedBucket, setSelectedBucket] = useState(\"\");\n const [filterBuckets, setFilterBuckets] = useState(\"\");\n const [selectedBuckets, setSelectedBuckets] = useState([]);\n const [replicationModalOpen, setReplicationModalOpen] =\n useState(false);\n\n const [bulkSelect, setBulkSelect] = useState(false);\n\n useEffect(() => {\n if (loading) {\n const fetchRecords = () => {\n setLoading(true);\n api\n .invoke(\"GET\", `/api/v1/buckets`)\n .then((res: BucketList) => {\n setLoading(false);\n setRecords(res.buckets || []);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setErrorSnackMessage(err);\n });\n };\n fetchRecords();\n }\n }, [loading, setErrorSnackMessage]);\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n if (refresh) {\n setLoading(true);\n setSelectedBuckets([]);\n }\n };\n\n const confirmDeleteBucket = (bucket: string) => {\n setDeleteOpen(true);\n setSelectedBucket(bucket);\n };\n\n const filteredRecords = records.filter((b: Bucket) => {\n if (filterBuckets === \"\") {\n return true;\n } else {\n if (b.name.indexOf(filterBuckets) >= 0) {\n return true;\n } else {\n return false;\n }\n }\n });\n\n const selectListBuckets = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedBuckets]; // We clone the selectedBuckets array\n\n if (checked) {\n // If the user has checked this field we need to push this to selectedBucketsList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedBuckets(elements);\n\n return elements;\n };\n\n const closeBulkReplicationModal = (unselectAll: boolean) => {\n setReplicationModalOpen(false);\n\n if (unselectAll) {\n setSelectedBuckets([]);\n }\n };\n\n const renderItemLine = (index: number) => {\n const bucket = filteredRecords[index] || null;\n\n if (bucket) {\n return (\n \n );\n }\n\n return null;\n };\n\n return (\n \n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n {replicationModalOpen && (\n \n )}\n \n \n \n \n\n \n {\n setBulkSelect(!bulkSelect);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={bulkSelect ? \"contained\" : \"outlined\"}\n />\n\n {\n setReplicationModalOpen(true);\n }}\n text={\"\"}\n icon={}\n disabled={selectedBuckets.length === 0}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n\n {\n setLoading(true);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n\n \n {\n history.push(\"/add-bucket\");\n }}\n text={\"Create Bucket\"}\n icon={}\n color={\"primary\"}\n variant={\"contained\"}\n />\n \n \n \n\n {loading && }\n {!loading && (\n \n {filteredRecords.length !== 0 && (\n \n )}\n {filteredRecords.length === 0 && filterBuckets !== \"\" && (\n \n \n }\n title={\"No Results\"}\n help={\n \n No buckets match the filtering condition\n \n }\n />\n \n \n )}\n {filteredRecords.length === 0 && filterBuckets === \"\" && (\n \n \n }\n title={\"Buckets\"}\n help={\n \n MinIO uses buckets to organize objects. A bucket is\n similar to a folder or directory in a filesystem, where\n each bucket can hold an arbitrary number of objects.\n \n
\n
\n To get started, \n {\n history.push(\"/add-bucket\");\n }}\n >\n Create a Bucket.\n \n \n
\n }\n />\n
\n \n )}\n \n )}\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n});\n\nexport default connector(withStyles(styles)(ListBuckets));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 index?: number;\n checked: boolean;\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 },\n });\n\nconst CheckboxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n tooltip = \"\",\n classes,\n}: CheckBoxProps) => {\n return (\n \n \n
\n }\n icon={}\n disabled={disabled}\n />\n
\n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n
\n );\n};\n\nexport default withStyles(styles)(CheckboxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n
\n )}\n \n
\n \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import React, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n \n
\n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { IWizardButton, IWizardPage } from \"./types\";\nimport { Button, LinearProgress } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wizardStepContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n flex: 1,\n },\n wizardComponent: {\n overflowY: \"auto\",\n marginBottom: 10,\n height: \"calc(100vh - 100px - 80px)\",\n minHeight: 400,\n flex: 1,\n width: \"100%\",\n },\n wizardModal: {\n overflowY: \"auto\",\n marginBottom: 10,\n height: \"calc(100vh - 515px)\",\n },\n buttonsContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"flex-start\" as const,\n padding: \"10px 0\",\n borderTop: \"#EAEAEA 1px solid\",\n \"& button\": {\n marginLeft: 10,\n },\n \"&.forModal\": {\n paddingBottom: 0,\n },\n },\n buttonInnerContainer: {\n width: \"100%\",\n textAlign: \"right\" as const,\n marginRight: 15,\n },\n });\n\nconst WizardPage = ({\n classes,\n page,\n pageChange,\n loadingStep,\n forModal,\n}: IWizardPage) => {\n const buttonAction = (btn: IWizardButton) => {\n switch (btn.type) {\n case \"next\":\n pageChange(\"++\");\n break;\n case \"back\":\n pageChange(\"--\");\n break;\n case \"to\":\n pageChange(btn.toPage || 0);\n break;\n case \"custom\":\n default:\n }\n\n if (btn.action) {\n btn.action(pageChange);\n }\n };\n\n return (\n
\n
\n {page.componentRender}\n
\n {loadingStep && (\n
\n \n
\n )}\n \n
\n {page.buttons.map((btn) => {\n return (\n {\n buttonAction(btn);\n }}\n disabled={!btn.enabled}\n key={`button-${page.label}-${btn.label}`}\n >\n {btn.label}\n \n );\n })}\n
\n
\n \n );\n};\n\nexport default withStyles(styles)(WizardPage);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IWizardMain } from \"./types\";\nimport WizardPage from \"./WizardPage\";\nimport { Grid, List } from \"@mui/material\";\nimport ListItem from \"@mui/material/ListItem\";\nimport ListItemText from \"@mui/material/ListItemText\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wizFromContainer: {},\n wizFromModal: {\n position: \"relative\",\n },\n modalWizardSteps: {\n padding: 5,\n borderBottom: \"#eaeaea 1px solid\",\n \"& ul\": {\n padding: 0,\n marginTop: 0,\n display: \"flex\",\n justifyContent: \"space-evenly\",\n\n \"& li\": {\n listStyle: \"lower-roman\",\n \"&::marker\": {\n paddingLeft: 15,\n },\n },\n },\n },\n buttonList: {\n backgroundColor: \"transparent\",\n border: \"none\",\n cursor: \"pointer\",\n \"&:not(:disabled):hover\": {\n textDecoration: \"underline\",\n },\n \"&:selected, &:active, &:focus, &:focus:active\": {\n border: \"none\",\n outline: 0,\n boxShadow: \"none\",\n },\n },\n paddedContentGrid: {\n marginTop: 8,\n padding: \"0 10px\",\n minHeight: 400,\n },\n stepsLabel: {\n fontSize: 20,\n color: \"#393939\",\n fontWeight: 600,\n margin: \"15px 12px\",\n \"&.stepsModalTitle\": {\n textAlign: \"center\",\n width: \"100%\",\n marginTop: 0,\n marginBottom: 10,\n },\n },\n stepsMasterContainer: {\n position: \"sticky\",\n top: 0,\n backgroundColor: \"#FFFFFF\",\n width: \"100%\",\n maxHeight: 90,\n },\n verticalSteps: {\n borderRight: \"1px solid #E5E5E5\",\n background: \"#F8F8F8\",\n },\n stepsContainer: {\n paddingTop: 0,\n \"& .MuiButtonBase-root.Mui-selected\": {\n background: \"#E5E5E5\",\n },\n },\n stepItem: {\n minHeight: 60,\n borderBottom: \"1px solid #E5E5E5\",\n \"&:hover\": {\n background: \"rgba(247,247,247,0.7)\",\n },\n },\n });\n\nconst GenericWizard = ({\n classes,\n wizardSteps,\n loadingStep,\n forModal,\n}: IWizardMain) => {\n const [currentStep, setCurrentStep] = useState(0);\n\n const pageChange = (toElement: string | number) => {\n const lastPage = wizardSteps.length - 1;\n\n if (toElement === \"++\") {\n let nextPage = currentStep + 1;\n\n if (nextPage > lastPage) {\n nextPage = lastPage;\n }\n\n setCurrentStep(nextPage);\n }\n\n if (toElement === \"--\") {\n let prevPage = currentStep - 1;\n\n if (prevPage < 0) {\n prevPage = 0;\n }\n\n setCurrentStep(prevPage);\n }\n\n if (typeof toElement === \"number\") {\n let pg = toElement;\n if (toElement < 0) {\n pg = 0;\n }\n\n if (toElement > lastPage) {\n pg = lastPage;\n }\n\n setCurrentStep(pg);\n }\n };\n\n if (wizardSteps.length === 0) {\n return null;\n }\n\n const stepsList = () => {\n return (\n \n \n {wizardSteps.map((step, index) => {\n return (\n pageChange(index)}\n key={`wizard-${index.toString()}`}\n selected={currentStep === index}\n classes={{\n root: classes.stepItem,\n }}\n >\n \n \n );\n })}\n \n \n );\n };\n const stepsListModal = () => {\n return (\n
    \n {wizardSteps.map((step, index) => {\n return (\n
  • \n pageChange(index)}\n disabled={index > currentStep}\n className={classes.buttonList}\n >\n {step.label}\n \n
  • \n );\n })}\n
\n );\n };\n\n return (\n \n {forModal ? (\n \n
\n
Steps
\n
{stepsListModal()}
\n
\n
\n ) : (\n \n \n {stepsList()}\n
\n \n )}\n\n \n \n
\n \n );\n};\n\nexport default withStyles(styles)(GenericWizard);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\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 \n {({ width, height }) => {\n return (\n \n {RenderItemLine}\n \n );\n }}\n \n )}\n \n \n );\n};\n\nexport default VirtualizedList;\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","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","mapDispatchToProps","setErrorSnackMessage","connector","connect","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","useApi","err","deleteLoading","invokeDeleteApi","confirmText","isOpen","titleIcon","isLoading","onConfirm","name","onClose","confirmationContent","wordWrap","overflowWrap","wordBreak","font","position","top","background","checkBoxElement","float","overflow","viewButton","boxShadow","manageButton","grey","textTransform","metric","metricLabel","metricText","unit","bucketName","margin","bucketIcon","bucketInfo","flexFlow","bucketStats","marginTop","borderTop","bucketActionButtons","justifyContent","bucket","onSelect","onDelete","selected","bulkSelect","usage","niceBytes","usageScalar","split","usageUnit","Grid","clsx","sm","e","stopPropagation","CheckboxWrapper","checked","id","label","onChange","value","Typography","creation_date","rw_access","read","write","accessToStr","SecureComponent","scopes","IAM_PERMISSIONS","IAM_ROLES","resource","to","style","textDecoration","RBIconButton","Box","spacing","textAlign","objects","prettyNumber","setModalErrorSnackMessage","remoteBucketList","gridTemplateColumns","errorIcon","successIcon","hide","opacity","transitionDuration","modalBasic","wizardCommon","open","closeModalAndRefresh","buckets","useState","bucketsToAlter","setBucketsToAlter","addLoading","setAddLoading","externalLoading","setExternalLoading","accessKey","setAccessKey","secretKey","setSecretKey","targetURL","setTargetURL","region","setRegion","useTLS","setUseTLS","replicationMode","setReplicationMode","bandwidthScalar","setBandwidthScalar","bandwidthUnit","setBandwidthUnit","healthCheck","setHealthCheck","relationBuckets","setRelationBuckets","remoteBucketsOpts","setRemoteBucketOpts","responseItem","setResponseItem","optionsForBucketsDrop","map","remoteBucketName","useEffect","length","bucketsAlter","relationBucketsAlter","forEach","push","LogoToShow","errString","CheckCircleOutline","Tooltip","placement","ErrorOutline","updateItem","indexItem","updatedList","removeSuccessItems","newBucketsToAlter","newRelationBuckets","successElement","errorString","get","indexToRemove","indexOf","originBucket","splice","ModalWrapper","modalOpen","GenericWizard","loadingStep","wizardSteps","componentRender","Fragment","PredefinedList","content","join","descriptionText","InputBoxWrapper","target","placeholder","FormSwitchWrapper","SelectWrapper","options","multiContainer","type","min","sizeFactorContainer","k8sfactorForDropdown","buttons","enabled","action","wizardPageJump","remoteConnectInfo","api","then","dataReturn","arrayReplaceBuckets","element","catch","index","errorItem","initialBucket","bucketResponse","find","stateOfItem","event","toString","replicate","destinationBucket","endURL","hc","parseInt","remoteBucketsInfo","bucketsRelation","syncMode","bandwidth","getBytes","healthCheckPeriod","response","states","replicationState","filter","itm","setTimeout","forModal","state","session","console","addBucket","bucketList","searchField","minWidth","containerForHeader","history","records","setRecords","loading","setLoading","setDeleteOpen","setSelectedBucket","filterBuckets","setFilterBuckets","selectedBuckets","setSelectedBuckets","replicationModalOpen","setReplicationModalOpen","setBulkSelect","res","confirmDeleteBucket","filteredRecords","b","selectListBuckets","targetD","elements","DeleteBucket","refresh","BulkReplicationModal","unselectAll","PageHeader","PageLayout","actionsTray","SearchBox","overrideClass","SelectMultipleIcon","MultipleBucketsIcon","RefreshIcon","IAM_SCOPES","CONSOLE_UI_RESOURCE","errorProps","LinearProgress","VirtualizedList","rowRenderFunction","includes","totalItems","alignContent","HelpBox","AButton","cursor","info","fontFamily","children","rest","borderWidth","borderStyle","contained","dark","light","button","fieldBasic","tooltipHelper","checkboxIcons","fieldContainer","flexBasis","inputProps","checkedIcon","unCheckedIcon","htmlFor","noMinWidthLabel","tooltipContainer","StyledSwitch","switchBase","transform","common","white","thumb","track","transition","transitions","create","focusVisible","switchContainer","Switch","divContainer","indicatorLabelOn","indicatorLabel","fieldDescription","switchOnly","description","indicatorLabels","switchComponent","disableRipple","disableFocusRipple","disableTouchRipple","md","inputLabel","component","inputStyles","inputFieldStyles","InputField","InputProps","textBoxContainer","flexGrow","overlayAction","right","maxWidth","maxHeight","autoComplete","multiline","error","required","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","errorInField","inputBoxContainer","fullWidth","helperText","inputRebase","predefinedList","multiLine","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","SelectStyled","lineHeight","input","InputBase","option","wizardStepContainer","flexDirection","flex","wizardComponent","overflowY","minHeight","wizardModal","buttonsContainer","buttonInnerContainer","page","pageChange","btn","Button","toPage","buttonAction","wizFromContainer","wizFromModal","modalWizardSteps","borderBottom","listStyle","buttonList","outline","paddedContentGrid","stepsLabel","stepsMasterContainer","verticalSteps","borderRight","stepsContainer","stepItem","currentStep","setCurrentStep","toElement","lastPage","nextPage","prevPage","pg","step","lg","xl","List","dense","ListItem","ListItemText","onSuccess","onError","setIsLoading","method","url","data","deleteDialogStyles","onCancel","cancelText","confirmButtonProps","cancelButtonProps","reason","titleText","closeContainer","closeButton","actions","cancelButton","confirmButton","loadingPosition","startIcon","timerI","stopHideTimer","clearInterval","displayErrorMessage","modalSnackMessage","system","modalSnackBar","modalErrorContainer","borderLeftWidth","zIndex","left","modalErrorShow","errorTitle","errorLabel","messageIcon","detailsButton","transformDuration","extraDetailsContainer","fontStyle","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","detailedError","errorMessage","message","messageDetails","onMouseOver","onMouseLeave","setInterval","Close","detailsContainerLink","ArrowRight","setModalSnackMessage","customDialogSize","snackBarCommon","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","Dialog","scroll","DialogTitle","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","toggleList","sidebarOpen","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","labelStyle","rightMenu","logo","fill","middleComponent","direction","adornment","adornmentPosition","disableUnderline","itemStatusMap","defaultHeight","RenderItemLine","isItemLoaded","loadMoreItems","startIndex","stopIndex","itemCount","onItemsRendered","ref","itemSize"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2094.ef1fbd5b.chunk.js b/portal-ui/build/static/js/2094.ef1fbd5b.chunk.js new file mode 100644 index 000000000..b2a17f271 --- /dev/null +++ b/portal-ui/build/static/js/2094.ef1fbd5b.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2094],{8235:function(e,n,t){t(50390);var i=t(86509),a=t(4285),o=t(25594),r=t(62559);n.Z=(0,a.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,a=e.help;return(0,r.jsx)("div",{className:n.root,children:(0,r.jsxs)(o.ZP,{container:!0,children:[(0,r.jsxs)(o.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,i]}),(0,r.jsx)(o.ZP,{item:!0,xs:12,className:n.helpText,children:a})]})})}))},53224:function(e,n,t){var i=t(18489),a=t(83738),o=(t(50390),t(70758)),r=t(62449),s=t(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,r.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,i=n.color,a=e.palette.primary.main;return"primary"===i&&"contained"===t?a=e.palette.primary.contrastText:"primary"===i&&"outlined"===t?a=e.palette.primary.main:"secondary"===i&&(a=e.palette.secondary.main),a}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,r=e.text,d=void 0===r?"":r,u=e.disabled,m=void 0!==u&&u,h=e.tooltip,p=e.icon,x=void 0===p?null:p,f=(0,a.Z)(e,l);return(0,s.jsxs)(o.Z,(0,i.Z)((0,i.Z)({classes:n,tooltip:h||d,variant:"outlined",onClick:t,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},f),{},{children:[(0,s.jsx)("span",{children:d})," ",x]}))}},47346:function(e,n,t){t.r(n);var i=t(23430),a=(t(50390),t(34424)),o=t(23473),r=t(44149),s=t(21639),l=t(60656),c=t(98280),d=t(62559),u={setErrorSnackMessage:r.Ih},m=(0,a.$j)(null,u);n.default=m((function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,a=e.selectedBucket,r=e.setErrorSnackMessage,u=(0,s.Z)((function(){return n(!0)}),(function(e){return r(e)})),m=(0,i.Z)(u,2),h=m[0],p=m[1];if(!a)return null;return(0,d.jsx)(l.Z,{title:"Delete Bucket",confirmText:"Delete",isOpen:t,titleIcon:(0,d.jsx)(c.Nv,{}),isLoading:h,onConfirm:function(){p("DELETE","/api/v1/buckets/".concat(a),{name:a})},onClose:function(){return n(!1)},confirmationContent:(0,d.jsxs)(o.Z,{children:["Are you sure you want to delete bucket ",(0,d.jsx)("b",{children:a}),"? ",(0,d.jsx)("br",{}),"A bucket can only be deleted if it's empty."]})})}))},62094:function(e,n,t){t.r(n),t.d(n,{default:function(){return Q}});var i=t(35531),a=t(23430),o=t(18489),r=t(50390),s=t(34424),l=t(86509),c=t(4285),d=t(81378),u=t(25594),m=t(98280),h=t(44149),p=t(72462),x=t(30324),f=t(47346),g=t(35721),b=t(35477),Z=t(56805),j=t(28948),v=t(54950),C=t(6369),k=t(49495),y=t(15607),S=t(53224),N=t(44977),w=t(62559),B=(0,c.Z)((function(e){return(0,l.Z)({root:{marginBottom:30,padding:20,color:e.palette.primary.main,border:"#E5E5E5 1px solid",borderRadius:2,"& .min-icon":{height:14,width:14,marginRight:4},"& .MuiTypography-body2":{fontSize:14},"& .MuiCardHeader-content":{wordWrap:"break-word",overflowWrap:"break-word",wordBreak:"break-all",font:"normal normal bold 24px/27px Lato",color:e.palette.primary.main,"& .MuiTypography-root":{fontSize:19,fontWeight:"bold","& .min-icon":{position:"relative",top:4,marginRight:4,height:"24px !important"}}},"& .MuiCardHeader-root":{background:"transparent linear-gradient(0deg, #EEF1F44E 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box"}},checkBoxElement:{width:32,height:32,float:"left",overflow:"hidden","& div":{position:"absolute"}},viewButton:{width:111,color:"white",marginLeft:8,fontSize:12,fontWeight:"normal",boxShadow:"unset",borderRadius:4},manageButton:{borderRadius:4,width:111,color:e.palette.grey[700],textTransform:"unset",fontSize:12,fontWeight:"normal","& .MuiButton-endIcon":{"& .min-icon":{fontSize:18}}},metric:{"& .min-icon":{color:"#000000",width:13,marginRight:5}},metricLabel:{fontSize:14,fontWeight:"bold",color:"#000000"},metricText:{fontSize:24,fontWeight:"bold"},unit:{fontSize:12,fontWeight:"normal"},bucketName:{padding:0,margin:0,fontSize:22},bucketIcon:{"& .min-icon":{height:48,width:48}},bucketInfo:{display:"flex","@media (max-width: 900px)":{flexFlow:"column-reverse"}},bucketStats:{marginTop:15,borderTop:"1px solid rgb(234,234,234, .7)",paddingTop:14},bucketActionButtons:{display:"flex",alignItems:"center",justifyContent:"flex-end","@media (max-width: 900px)":{marginTop:"-33px"}}})}))((function(e){var n=e.classes,t=e.bucket,i=(e.onDelete,e.onSelect),a=e.selected,o=e.bulkSelect,r=(0,j.ae)("".concat(t.size)||"0"),s=r.split(" ")[0],l=r.split(" ")[1];return(0,w.jsxs)(u.ZP,{container:!0,className:(0,N.Z)(n.root,"bucket-item"),children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsxs)(u.ZP,{container:!0,justifyContent:"space-between",children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,sm:7,children:(0,w.jsxs)(u.ZP,{container:!0,children:[(0,w.jsxs)(u.ZP,{item:!0,xs:12,children:[o&&(0,w.jsx)("div",{className:n.checkBoxElement,onClick:function(e){e.stopPropagation()},children:(0,w.jsx)(v.Z,{checked:a,id:"select-".concat(t.name),label:"",name:"select-".concat(t.name),onChange:function(e){i(e)},value:t.name})}),(0,w.jsx)("h1",{className:n.bucketName,children:t.name})]}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsxs)(u.ZP,{container:!0,className:n.bucketInfo,children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,sm:!0,children:(0,w.jsxs)(b.Z,{variant:"body2",children:["Created: ",t.creation_date]})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,sm:!0,children:(0,w.jsxs)(b.Z,{variant:"body2",children:["Access: ",function(e){var n,t,i,a,o,r;return null===(n=e.rw_access)||void 0===n||!n.read||null!==(t=e.rw_access)&&void 0!==t&&t.write?null!==(i=e.rw_access)&&void 0!==i&&i.read||null===(a=e.rw_access)||void 0===a||!a.write?null!==(o=e.rw_access)&&void 0!==o&&o.read&&null!==(r=e.rw_access)&&void 0!==r&&r.write?"R/W":"":"W":"R"}(t)]})})]})})]})}),(0,w.jsxs)(u.ZP,{item:!0,xs:12,sm:5,className:n.bucketActionButtons,children:[(0,w.jsx)(y.Z,{scopes:k.D[k.EI.BUCKET_ADMIN],resource:t.name,children:(0,w.jsx)(C.rU,{to:"/buckets/".concat(t.name,"/admin"),style:{textDecoration:"none"},children:(0,w.jsx)(S.Z,{tooltip:"Manage",onClick:function(){},text:"Manage",icon:(0,w.jsx)(m.ew,{}),color:"primary",variant:"outlined"})})}),(0,w.jsx)(C.rU,{to:"/buckets/".concat(t.name,"/browse"),style:{textDecoration:"none"},children:(0,w.jsx)(S.Z,{tooltip:"Browse",onClick:function(){},text:"Browse",icon:(0,w.jsx)(m.LZ,{}),color:"primary",variant:"contained"})}),(0,w.jsx)(Z.Z,{display:{xs:"none",sm:"block"},children:(0,w.jsx)("div",{style:{marginBottom:10}})})]})]})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:n.bucketStats,children:(0,w.jsxs)(u.ZP,{container:!0,justifyContent:"flex-start",spacing:4,children:[(0,w.jsx)(u.ZP,{item:!0,className:n.bucketIcon,children:(0,w.jsx)(m.wN,{})}),(0,w.jsxs)(u.ZP,{item:!0,textAlign:"left",className:n.metric,children:[(0,w.jsx)(m.rH,{}),(0,w.jsx)("span",{className:n.metricLabel,children:"Usage"}),(0,w.jsxs)("div",{className:n.metricText,children:[s,(0,w.jsx)("span",{className:n.unit,children:l})]})]}),(0,w.jsxs)(u.ZP,{item:!0,textAlign:"left",className:n.metric,children:[(0,w.jsx)(m.xp,{}),(0,w.jsx)("span",{className:n.metricLabel,children:"Objects"}),(0,w.jsx)("div",{className:n.metricText,children:t.objects?(0,j.CE)(t.objects):0})]})]})})]})})),F=t(94187),P=t(38342),M=t.n(P),E=t(19538),L=t(99528),I=t(66964),R=t(76352),T=t(50280),z=t(76295),A=t(92440),W=t(67754),O=(0,s.$j)(null,{setModalErrorSnackMessage:h.zb}),D=(0,c.Z)((function(e){return(0,l.Z)((0,o.Z)((0,o.Z)({remoteBucketList:{display:"grid",gridTemplateColumns:"auto auto 45px",alignItems:"center",justifyContent:"stretch"},errorIcon:{color:"#C72C48"},successIcon:{color:"#42C91A"},hide:{opacity:0,transitionDuration:"0.3s"}},p.oO),p.AK))}))(O((function(e){var n=e.open,t=e.closeModalAndRefresh,o=e.classes,s=e.buckets,l=e.setModalErrorSnackMessage,c=(0,r.useState)([]),d=(0,a.Z)(c,2),m=d[0],h=d[1],p=(0,r.useState)(!1),f=(0,a.Z)(p,2),g=f[0],b=f[1],Z=(0,r.useState)(!1),v=(0,a.Z)(Z,2),C=v[0],k=v[1],y=(0,r.useState)(""),S=(0,a.Z)(y,2),N=S[0],B=S[1],P=(0,r.useState)(""),O=(0,a.Z)(P,2),D=O[0],_=O[1],H=(0,r.useState)(""),U=(0,a.Z)(H,2),K=U[0],$=U[1],Y=(0,r.useState)(""),G=(0,a.Z)(Y,2),q=G[0],Q=G[1],V=(0,r.useState)(!0),X=(0,a.Z)(V,2),J=X[0],ee=X[1],ne=(0,r.useState)("async"),te=(0,a.Z)(ne,2),ie=te[0],ae=te[1],oe=(0,r.useState)("100"),re=(0,a.Z)(oe,2),se=re[0],le=re[1],ce=(0,r.useState)("Gi"),de=(0,a.Z)(ce,2),ue=de[0],me=de[1],he=(0,r.useState)("60"),pe=(0,a.Z)(he,2),xe=pe[0],fe=pe[1],ge=(0,r.useState)([]),be=(0,a.Z)(ge,2),Ze=be[0],je=be[1],ve=(0,r.useState)([]),Ce=(0,a.Z)(ve,2),ke=Ce[0],ye=Ce[1],Se=(0,r.useState)([]),Ne=(0,a.Z)(Se,2),we=Ne[0],Be=Ne[1],Fe=ke.map((function(e){return{label:e,value:e}}));(0,r.useEffect)((function(){if(0===Ze.length){var e=[],n=[];s.forEach((function(t){e.push(t),n.push("")})),je(n),h(e)}}),[s,Ze.length]);var Pe=function(e){var n=e.errString;switch(n){case"":return(0,w.jsx)("div",{className:o.successIcon,children:(0,w.jsx)(L.Z,{})});case"n/a":return null;default:if(n)return(0,w.jsx)("div",{className:o.errorIcon,children:(0,w.jsx)(F.Z,{title:n,placement:"top-start",children:(0,w.jsx)(E.Z,{})})})}return null},Me=function(e,n){var t=(0,i.Z)(Ze);t[e]=n,je(t)},Ee=function(e){var n=(0,i.Z)(m),t=(0,i.Z)(Ze);e.forEach((function(e){var i=M()(e,"errorString","");if(!i||""===i){var a=n.indexOf(e.originBucket);n.splice(a,1),t.splice(a,1)}})),h(n),je(t)};return(0,w.jsx)(R.Z,{modalOpen:n,onClose:function(){t(!1)},title:"Set Multiple Bucket Replication",children:(0,w.jsx)(z.Z,{loadingStep:g||C,wizardSteps:[{label:"Remote Configuration",componentRender:(0,w.jsxs)(r.Fragment,{children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(T.Z,{label:"Local Buckets to replicate",content:m.join(", ")})}),(0,w.jsx)("h4",{children:"Remote Endpoint Configuration"}),(0,w.jsx)("span",{className:o.descriptionText,children:"Please avoid the use of root credentials for this feature"}),(0,w.jsx)("br",{}),(0,w.jsx)("br",{}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(I.Z,{id:"accessKey",name:"accessKey",onChange:function(e){B(e.target.value)},label:"Access Key",value:N})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(I.Z,{id:"secretKey",name:"secretKey",onChange:function(e){_(e.target.value)},label:"Secret Key",value:D})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(I.Z,{id:"targetURL",name:"targetURL",onChange:function(e){$(e.target.value)},placeholder:"play.min.io:9000",label:"Target URL",value:K})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(A.Z,{checked:J,id:"useTLS",name:"useTLS",label:"Use TLS",onChange:function(e){ee(e.target.checked)},value:"yes"})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(I.Z,{id:"region",name:"region",onChange:function(e){Q(e.target.value)},label:"Region",value:q})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(W.Z,{id:"replication_mode",name:"replication_mode",onChange:function(e){ae(e.target.value)},label:"Replication Mode",value:ie,options:[{label:"Asynchronous",value:"async"},{label:"Synchronous",value:"sync"}]})}),"async"===ie&&(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsxs)("div",{className:o.multiContainer,children:[(0,w.jsx)("div",{children:(0,w.jsx)(I.Z,{type:"number",id:"bandwidth_scalar",name:"bandwidth_scalar",onChange:function(e){le(e.target.value)},label:"Bandwidth",value:se,min:"0"})}),(0,w.jsx)("div",{className:o.sizeFactorContainer,children:(0,w.jsx)(W.Z,{label:"Unit",id:"bandwidth_unit",name:"bandwidth_unit",value:ue,onChange:function(e){me(e.target.value)},options:(0,j.QU)()})})]})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(I.Z,{id:"healthCheck",name:"healthCheck",onChange:function(e){fe(e.target.value)},label:"Health Check Duration",value:xe})})]}),buttons:[{type:"custom",label:"Next",enabled:!C,action:function(e){var n={accessKey:N,secretKey:D,targetURL:K,useTLS:J};k(!0),x.Z.invoke("POST","/api/v1/list-external-buckets",n).then((function(n){var t=M()(n,"buckets",[]);if(t&&t.length>0){var i=t.map((function(e){return e.name}));ye(i)}e("++"),k(!1)})).catch((function(e){k(!1),l(e)}))}}]},{label:"Bucket Assignments",componentRender:(0,w.jsxs)(r.Fragment,{children:[(0,w.jsx)("h3",{children:"Remote Bucket Assignments"}),(0,w.jsx)("span",{className:o.descriptionText,children:"Please select / type the desired remote bucket were you want the local data to be replicated."}),(0,w.jsx)("div",{className:o.remoteBucketList,children:m.map((function(e,n){var t,i=function(e){if(we.length>0){var n=we.find((function(n){return n.originBucket===e}));if(n)return M()(n,"errorString","")||""}return"n/a"}(e);return(0,w.jsxs)(r.Fragment,{children:[(0,w.jsx)("div",{className:""===i?o.hide:"",children:e}),(0,w.jsx)("div",{className:""===i?o.hide:"",children:(t=n,ke.length>0?(0,w.jsx)(r.Fragment,{children:(0,w.jsx)(W.Z,{label:"",id:"assign-bucket-".concat(t),name:"assign-bucket-".concat(t),value:Ze[t],onChange:function(e){Me(t,e.target.value)},options:Fe,disabled:g})}):(0,w.jsx)(r.Fragment,{children:(0,w.jsx)(I.Z,{id:"assign-bucket-".concat(t),name:"assign-bucket-".concat(t),label:"",onChange:function(e){Me(t,e.target.value)},value:Ze[t],disabled:g})}))}),(0,w.jsx)("div",{className:""===i?o.hide:"",children:we.length>0&&(0,w.jsx)(Pe,{errString:i})})]},"buckets-assignation-".concat(n.toString(),"-").concat(e))}))})]}),buttons:[{type:"back",label:"Back",enabled:!0},{type:"next",label:"Create",enabled:!g,action:function(){b(!0);var e=m.map((function(e,n){return{originBucket:e,destinationBucket:Ze[n]}})),n="".concat(J?"https://":"http://").concat(K),i=parseInt(xe),a={accessKey:N,secretKey:D,targetURL:n,region:q,bucketsRelation:e,syncMode:ie,bandwidth:"async"===ie?parseInt((0,j.Pw)(se,ue,!0)):0,healthCheckPeriod:i};x.Z.invoke("POST","/api/v1/buckets-replication",a).then((function(e){b(!1);var n=e.replicationState;Be(n),0===n.filter((function(e){return e.errorString&&""!==e.errorString})).length?t(!0):setTimeout((function(){Ee(n)}),500)})).catch((function(e){b(!1),l(e)}))}}]}],forModal:!0})})}))),_=t(8235),H=t(18221),U=t(11835),K=t(71208),$=t(74524),Y=t(25534),G=t(23165),q=t(18572),Q=(0,s.$j)((function(e){return{session:e.console.session}}),{setErrorSnackMessage:h.Ih})((0,c.Z)((function(e){return(0,l.Z)((0,o.Z)({bulkSelect:{marginLeft:8,"&:hover":{backgroundColor:e.palette.primary.main},"&.MuiButton-contained":{backgroundColor:e.palette.primary.main}},addBucket:{marginLeft:8},bucketList:{marginTop:25,height:"calc(100vh - 210px)"},searchField:(0,o.Z)((0,o.Z)({},p.qg.searchField),{},{minWidth:380,"@media (max-width: 900px)":{minWidth:220}})},(0,p.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.history,o=e.setErrorSnackMessage,s=e.session,l=(0,r.useState)([]),c=(0,a.Z)(l,2),h=c[0],p=c[1],b=(0,r.useState)(!0),Z=(0,a.Z)(b,2),j=Z[0],v=Z[1],C=(0,r.useState)(!1),N=(0,a.Z)(C,2),F=N[0],P=N[1],M=(0,r.useState)(""),E=(0,a.Z)(M,2),L=E[0],I=E[1],R=(0,r.useState)(""),T=(0,a.Z)(R,2),z=T[0],A=T[1],W=(0,r.useState)([]),O=(0,a.Z)(W,2),Q=O[0],V=O[1],X=(0,r.useState)(!1),J=(0,a.Z)(X,2),ee=J[0],ne=J[1],te=(0,r.useState)(!1),ie=(0,a.Z)(te,2),ae=ie[0],oe=ie[1];(0,r.useEffect)((function(){if(j){v(!0),x.Z.invoke("GET","/api/v1/buckets").then((function(e){v(!1),p(e.buckets||[])})).catch((function(e){v(!1),o(e)}))}}),[j,o]);var re=function(e){P(!0),I(e)},se=h.filter((function(e){return""===z||e.name.indexOf(z)>=0})),le=function(e){var n=e.target,t=n.value,a=n.checked,o=(0,i.Z)(Q);return a?o.push(t):o=o.filter((function(e){return e!==t})),V(o),o},ce=Array.from(Object.keys(s.permissions))||[];return(0,w.jsxs)(r.Fragment,{children:[F&&(0,w.jsx)(f.default,{deleteOpen:F,selectedBucket:L,closeDeleteModalAndRefresh:function(e){!function(e){P(!1),e&&(v(!0),V([]))}(e)}}),ee&&(0,w.jsx)(D,{open:ee,buckets:Q,closeModalAndRefresh:function(e){ne(!1),e&&V([])}}),(0,w.jsx)(g.Z,{label:"Buckets"}),(0,w.jsxs)(Y.Z,{children:[(0,w.jsxs)(u.ZP,{item:!0,xs:12,className:n.actionsTray,display:"flex",children:[(0,w.jsx)(G.Z,{onChange:A,placeholder:"Search Buckets",overrideClass:n.searchField,value:z}),(0,w.jsxs)(u.ZP,{item:!0,xs:12,display:"flex",alignItems:"center",justifyContent:"flex-end",children:[(0,w.jsx)(S.Z,{tooltip:ae?"Un Select All":"Select Multiple",onClick:function(){oe(!ae)},text:"",icon:(0,w.jsx)($.Z,{}),color:"primary",variant:ae?"contained":"outlined"}),(0,w.jsx)(S.Z,{tooltip:"Set Replication",onClick:function(){ne(!0)},text:"",icon:(0,w.jsx)(K.Z,{}),disabled:0===Q.length,color:"primary",variant:"outlined"}),(0,w.jsx)(S.Z,{tooltip:"Refresh",onClick:function(){v(!0)},text:"",icon:(0,w.jsx)(H.default,{}),color:"primary",variant:"outlined"}),(0,w.jsx)(y.Z,{scopes:[k.Ft.S3_CREATE_BUCKET],resource:ce,errorProps:{disabled:!0},children:(0,w.jsx)(S.Z,{tooltip:"Create Bucket",onClick:function(){t.push("/add-bucket")},text:"Create Bucket",icon:(0,w.jsx)(m.dt,{}),color:"primary",variant:"contained"})})]})]}),j&&(0,w.jsx)(d.Z,{}),!j&&(0,w.jsxs)(u.ZP,{item:!0,xs:12,className:n.bucketList,children:[0!==se.length&&(0,w.jsx)(q.Z,{rowRenderFunction:function(e){var n=se[e]||null;return n?(0,w.jsx)(B,{bucket:n,onDelete:re,onSelect:le,selected:Q.includes(n.name),bulkSelect:ae}):null},totalItems:se.length}),0===se.length&&""!==z&&(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)(_.Z,{iconComponent:(0,w.jsx)(m.wN,{}),title:"No Results",help:(0,w.jsx)(r.Fragment,{children:"No buckets match the filtering condition"})})})}),0===se.length&&""===z&&(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)(_.Z,{iconComponent:(0,w.jsx)(m.wN,{}),title:"Buckets",help:(0,w.jsxs)(r.Fragment,{children:["MinIO uses buckets to organize objects. A bucket is similar to a folder or directory in a filesystem, where each bucket can hold an arbitrary number of objects.",(0,w.jsxs)(y.Z,{scopes:[k.Ft.S3_CREATE_BUCKET],resource:k.C3,children:[(0,w.jsx)("br",{}),(0,w.jsx)("br",{}),"To get started,\xa0",(0,w.jsx)(U.Z,{onClick:function(){t.push("/add-bucket")},children:"Create a Bucket."})]})]})})})})]})]})]})})))},11835:function(e,n,t){var i=t(18489),a=t(83738),o=(t(50390),t(86509)),r=t(4285),s=t(62559),l=["classes","children"];n.Z=(0,r.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,l);return(0,s.jsx)("button",(0,i.Z)((0,i.Z)({},o),{},{className:n.root,children:t}))}))},70758:function(e,n,t){var i=t(18489),a=t(36222),o=t(83738),r=(t(50390),t(86509)),s=t(4285),l=t(95467),c=t(94187),d=t(44977),u=t(62559),m=["classes","children","variant","tooltip"];n.Z=(0,s.Z)((function(e){return(0,r.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,r=e.variant,s=void 0===r?"outlined":r,h=e.tooltip,p=(0,o.Z)(e,m),x=(0,u.jsx)(l.Z,(0,i.Z)((0,i.Z)({},p),{},{className:(0,d.Z)(n.root,(0,a.Z)({},n.contained,"contained"===s)),children:t}));return h&&""!==h?(0,u.jsx)(c.Z,{title:h,children:(0,u.jsx)("span",{children:x})}):x}))},54950:function(e,n,t){var i=t(18489),a=t(50390),o=t(25594),r=t(74268),s=t(36554),l=t(94187),c=t(86509),d=t(4285),u=t(72462),m=t(97538),h=t(62559);n.Z=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.YI),u.Hr),u.lM),{},{fieldContainer:(0,i.Z)((0,i.Z)({},u.YI.fieldContainer),{},{display:"flex",justifyContent:"flex-start",alignItems:"center",margin:"15px 0",marginBottom:0,flexBasis:"initial"})}))}))((function(e){var n=e.label,t=e.onChange,i=e.value,c=e.id,d=e.name,u=e.checked,p=void 0!==u&&u,x=e.disabled,f=void 0!==x&&x,g=e.tooltip,b=void 0===g?"":g,Z=e.classes;return(0,h.jsx)(a.Fragment,{children:(0,h.jsxs)(o.ZP,{item:!0,xs:12,className:Z.fieldContainer,children:[(0,h.jsx)("div",{children:(0,h.jsx)(r.Z,{name:d,id:c,value:i,color:"primary",inputProps:{"aria-label":"secondary checkbox"},checked:p,onChange:t,checkedIcon:(0,h.jsx)("span",{className:Z.checkedIcon}),icon:(0,h.jsx)("span",{className:Z.unCheckedIcon}),disabled:f})}),""!==n&&(0,h.jsxs)(s.Z,{htmlFor:c,className:Z.noMinWidthLabel,children:[(0,h.jsx)("span",{children:n}),""!==b&&(0,h.jsx)("div",{className:Z.tooltipContainer,children:(0,h.jsx)(l.Z,{title:b,placement:"top-start",children:(0,h.jsx)("div",{className:Z.tooltip,children:(0,h.jsx)(m.Z,{})})})})]})]})})}))},92440:function(e,n,t){var i=t(36222),a=t(18489),o=t(50390),r=t(86509),s=t(4285),l=t(49056),c=t(36554),d=t(94187),u=t(35477),m=t(25594),h=t(72462),p=t(97538),x=t(44977),f=t(62559),g=(0,s.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(l.Z);n.Z=(0,s.Z)((function(e){return(0,r.Z)((0,a.Z)((0,a.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},h.OR),h.YI))}))((function(e){var n=e.label,t=void 0===n?"":n,a=e.onChange,r=e.value,s=e.id,l=e.name,h=e.checked,b=void 0!==h&&h,Z=e.disabled,j=void 0!==Z&&Z,v=e.switchOnly,C=void 0!==v&&v,k=e.tooltip,y=void 0===k?"":k,S=e.description,N=void 0===S?"":S,w=e.classes,B=e.indicatorLabels,F=(0,f.jsxs)(o.Fragment,{children:[!C&&(0,f.jsx)("span",{className:(0,x.Z)(w.indicatorLabel,(0,i.Z)({},w.indicatorLabelOn,!b)),children:B&&B.length>1?B[1]:"OFF"}),(0,f.jsx)(g,{checked:b,onChange:a,color:"primary",name:l,inputProps:{"aria-label":"primary checkbox"},disabled:j,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:r}),!C&&(0,f.jsx)("span",{className:(0,x.Z)(w.indicatorLabel,(0,i.Z)({},w.indicatorLabelOn,b)),children:B?B[0]:"ON"})]});return C?F:(0,f.jsx)("div",{className:w.divContainer,children:(0,f.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[(0,f.jsx)(m.ZP,{item:!0,xs:!0,children:(0,f.jsxs)(m.ZP,{container:!0,children:[(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==t&&(0,f.jsxs)(c.Z,{htmlFor:s,className:w.inputLabel,children:[(0,f.jsx)("span",{children:t}),""!==y&&(0,f.jsx)("div",{className:w.tooltipContainer,children:(0,f.jsx)(d.Z,{title:y,placement:"top-start",children:(0,f.jsx)("div",{className:w.tooltip,children:(0,f.jsx)(p.Z,{})})})})]})}),(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==N&&(0,f.jsx)(u.Z,{component:"p",className:w.fieldDescription,children:N})})]})}),(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:w.switchContainer,children:F})]})})}))},66964:function(e,n,t){var i=t(18489),a=t(50390),o=t(12066),r=t(25594),s=t(36554),l=t(94187),c=t(95467),d=t(86509),u=t(62449),m=t(4285),h=t(72462),p=t(97538),x=t(44977),f=t(62559),g=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({},h.gM))}));function b(e){var n=g();return(0,f.jsx)(o.Z,(0,i.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.YI),h.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},h.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,t=e.onChange,o=e.value,d=e.id,u=e.name,m=e.type,h=void 0===m?"text":m,g=e.autoComplete,Z=void 0===g?"off":g,j=e.disabled,v=void 0!==j&&j,C=e.multiline,k=void 0!==C&&C,y=e.tooltip,S=void 0===y?"":y,N=e.index,w=void 0===N?0:N,B=e.error,F=void 0===B?"":B,P=e.required,M=void 0!==P&&P,E=e.placeholder,L=void 0===E?"":E,I=e.min,R=e.max,T=e.overlayIcon,z=void 0===T?null:T,A=e.overlayObject,W=void 0===A?null:A,O=e.extraInputProps,D=void 0===O?{}:O,_=e.overlayAction,H=e.noLabelMinWidth,U=void 0!==H&&H,K=e.pattern,$=void 0===K?"":K,Y=e.autoFocus,G=void 0!==Y&&Y,q=e.classes,Q=e.className,V=void 0===Q?"":Q,X=(0,i.Z)({"data-index":w},D);return"number"===h&&I&&(X.min=I),"number"===h&&R&&(X.max=R),""!==$&&(X.pattern=$),(0,f.jsx)(a.Fragment,{children:(0,f.jsxs)(r.ZP,{container:!0,className:(0,x.Z)(""!==V?V:"",""!==F?q.errorInField:q.inputBoxContainer),children:[""!==n&&(0,f.jsxs)(s.Z,{htmlFor:d,className:U?q.noMinWidthLabel:q.inputLabel,children:[(0,f.jsxs)("span",{children:[n,M?"*":""]}),""!==S&&(0,f.jsx)("div",{className:q.tooltipContainer,children:(0,f.jsx)(l.Z,{title:S,placement:"top-start",children:(0,f.jsx)("div",{className:q.tooltip,children:(0,f.jsx)(p.Z,{})})})})]}),(0,f.jsxs)("div",{className:q.textBoxContainer,children:[(0,f.jsx)(b,{id:d,name:u,fullWidth:!0,value:o,autoFocus:G,disabled:v,onChange:t,type:h,multiline:k,autoComplete:Z,inputProps:X,error:""!==F,helperText:F,placeholder:L,className:q.inputRebase}),z&&(0,f.jsx)("div",{className:"".concat(q.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,f.jsx)(c.Z,{onClick:_?function(){_()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:z})}),W&&(0,f.jsx)("div",{className:"".concat(q.overlayAction," ").concat(""!==n?"withLabel":""),children:W})]})]})})}))},50280:function(e,n,t){var i=t(18489),a=t(50390),o=t(25594),r=t(86509),s=t(4285),l=t(72462),c=t(62559);n.Z=(0,s.Z)((function(e){return(0,r.Z)((0,i.Z)({},l.xx))}))((function(e){var n=e.classes,t=e.label,i=void 0===t?"":t,r=e.content,s=e.multiLine,l=void 0!==s&&s;return(0,c.jsx)(a.Fragment,{children:(0,c.jsxs)(o.ZP,{className:n.prefinedContainer,children:[""!==i&&(0,c.jsx)(o.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:i}),(0,c.jsx)(o.ZP,{item:!0,xs:12,className:n.predefinedList,children:(0,c.jsx)(o.ZP,{item:!0,xs:12,className:l?n.innerContentMultiline:n.innerContent,children:r})})]})})}))},67754:function(e,n,t){var i=t(18489),a=t(50390),o=t(25594),r=t(46413),s=t(36554),l=t(94187),c=t(47554),d=t(43965),u=t(31680),m=t(86509),h=t(4285),p=t(72462),x=t(97538),f=t(62559),g=(0,h.Z)((function(e){return(0,m.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(r.ZP);n.Z=(0,h.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},p.YI),p.Hr),{},{inputLabel:(0,i.Z)((0,i.Z)({},p.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var n=e.classes,t=e.id,i=e.name,r=e.onChange,m=e.options,h=e.label,p=e.tooltip,b=void 0===p?"":p,Z=e.value,j=e.disabled,v=void 0!==j&&j;return(0,f.jsx)(a.Fragment,{children:(0,f.jsxs)(o.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==h&&(0,f.jsxs)(s.Z,{htmlFor:t,className:n.inputLabel,children:[(0,f.jsx)("span",{children:h}),""!==b&&(0,f.jsx)("div",{className:n.tooltipContainer,children:(0,f.jsx)(l.Z,{title:b,placement:"top-start",children:(0,f.jsx)("div",{className:n.tooltip,children:(0,f.jsx)(x.Z,{})})})})]}),(0,f.jsx)(c.Z,{fullWidth:!0,children:(0,f.jsx)(d.Z,{id:t,name:i,value:Z,onChange:r,input:(0,f.jsx)(g,{}),disabled:v,children:m.map((function(e){return(0,f.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(i,"-").concat(e.label))}))})})]})})}))},76295:function(e,n,t){t.d(n,{Z:function(){return x}});var i=t(23430),a=t(50390),o=t(86509),r=t(4285),s=t(81378),l=t(66946),c=t(62559),d=(0,r.Z)((function(e){return(0,o.Z)({wizardStepContainer:{display:"flex",flexDirection:"column",flex:1},wizardComponent:{overflowY:"auto",marginBottom:10,height:"calc(100vh - 100px - 80px)",minHeight:400,flex:1,width:"100%"},wizardModal:{overflowY:"auto",marginBottom:10,height:"calc(100vh - 515px)"},buttonsContainer:{display:"flex",flexDirection:"row",justifyContent:"flex-start",padding:"10px 0",borderTop:"#EAEAEA 1px solid","& button":{marginLeft:10},"&.forModal":{paddingBottom:0}},buttonInnerContainer:{width:"100%",textAlign:"right",marginRight:15}})}))((function(e){var n=e.classes,t=e.page,i=e.pageChange,a=e.loadingStep,o=e.forModal;return(0,c.jsxs)("div",{className:n.wizardStepContainer,children:[(0,c.jsx)("div",{className:o?n.wizardModal:n.wizardComponent,children:t.componentRender}),a&&(0,c.jsx)("div",{children:(0,c.jsx)(s.Z,{})}),(0,c.jsx)("div",{className:"".concat(n.buttonsContainer," ").concat(o?"forModal":""),children:(0,c.jsx)("div",{className:n.buttonInnerContainer,children:t.buttons.map((function(e){return(0,c.jsx)(l.Z,{variant:"contained",color:"primary",size:"small",onClick:function(){!function(e){switch(e.type){case"next":i("++");break;case"back":i("--");break;case"to":i(e.toPage||0)}e.action&&e.action(i)}(e)},disabled:!e.enabled,children:e.label},"button-".concat(t.label,"-").concat(e.label))}))})})]})})),u=t(5211),m=t(25594),h=t(14291),p=t(70902),x=(0,r.Z)((function(e){return(0,o.Z)({wizFromContainer:{},wizFromModal:{position:"relative"},modalWizardSteps:{padding:5,borderBottom:"#eaeaea 1px solid","& ul":{padding:0,marginTop:0,display:"flex",justifyContent:"space-evenly","& li":{listStyle:"lower-roman","&::marker":{paddingLeft:15}}}},buttonList:{backgroundColor:"transparent",border:"none",cursor:"pointer","&:not(:disabled):hover":{textDecoration:"underline"},"&:selected, &:active, &:focus, &:focus:active":{border:"none",outline:0,boxShadow:"none"}},paddedContentGrid:{marginTop:8,padding:"0 10px",minHeight:400},stepsLabel:{fontSize:20,color:"#393939",fontWeight:600,margin:"15px 12px","&.stepsModalTitle":{textAlign:"center",width:"100%",marginTop:0,marginBottom:10}},stepsMasterContainer:{position:"sticky",top:0,backgroundColor:"#FFFFFF",width:"100%",maxHeight:90},verticalSteps:{borderRight:"1px solid #E5E5E5",background:"#F8F8F8"},stepsContainer:{paddingTop:0,"& .MuiButtonBase-root.Mui-selected":{background:"#E5E5E5"}},stepItem:{minHeight:60,borderBottom:"1px solid #E5E5E5","&:hover":{background:"rgba(247,247,247,0.7)"}}})}))((function(e){var n=e.classes,t=e.wizardSteps,o=e.loadingStep,r=e.forModal,s=(0,a.useState)(0),l=(0,i.Z)(s,2),x=l[0],f=l[1],g=function(e){var n=t.length-1;if("++"===e){var i=x+1;i>n&&(i=n),f(i)}if("--"===e){var a=x-1;a<0&&(a=0),f(a)}if("number"===typeof e){var o=e;e<0&&(o=0),e>n&&(o=n),f(o)}};if(0===t.length)return null;return(0,c.jsxs)(m.ZP,{container:!0,className:r?n.wizFromModal:n.wizFromContainer,children:[r?(0,c.jsx)(a.Fragment,{children:(0,c.jsxs)("div",{className:n.stepsMasterContainer,children:[(0,c.jsx)("div",{className:"".concat(n.stepsLabel," stepsModalTitle"),children:"Steps"}),(0,c.jsx)("div",{className:n.modalWizardSteps,children:(0,c.jsx)("ul",{children:t.map((function(e,t){return(0,c.jsx)("li",{children:(0,c.jsx)("button",{onClick:function(){return g(t)},disabled:t>x,className:n.buttonList,children:e.label})},"wizard-".concat(t.toString()))}))})})]})}):(0,c.jsx)(a.Fragment,{children:(0,c.jsx)(m.ZP,{item:!0,xs:12,sm:2,md:2,lg:2,xl:2,className:n.verticalSteps,children:(0,c.jsx)(a.Fragment,{children:(0,c.jsx)(u.Z,{component:"nav",dense:!0,classes:{root:n.stepsContainer},children:t.map((function(e,t){return(0,c.jsx)(h.ZP,{button:!0,disableRipple:!0,onClick:function(){return g(t)},selected:x===t,classes:{root:n.stepItem},children:(0,c.jsx)(p.Z,{primary:e.label})},"wizard-".concat(t.toString()))}))})})})}),(0,c.jsx)(m.ZP,{item:!0,xs:12,sm:r?12:10,md:r?12:10,lg:r?12:10,xl:r?12:10,className:r?"":n.paddedContentGrid,children:(0,c.jsx)(d,{page:t[x],pageChange:g,loadingStep:o,forModal:r})})]})}))},21639:function(e,n,t){var i=t(23430),a=t(50390),o=t(30324);n.Z=function(e,n){var t=(0,a.useState)(!1),r=(0,i.Z)(t,2),s=r[0],l=r[1];return[s,function(t,i,a){l(!0),o.Z.invoke(t,i,a).then((function(n){l(!1),e(n)})).catch((function(e){l(!1),n(e)}))}]}},60656:function(e,n,t){var i=t(18489),a=t(50390),o=t(84402),r=t(78426),s=t(93085),l=t(7887),c=t(66946),d=t(14476),u=t(95467),m=t(21278),h=t(86509),p=t(4285),x=t(72462),f=t(62559);n.Z=(0,p.Z)((function(e){return(0,h.Z)((0,i.Z)({},x.Qw))}))((function(e){var n=e.isOpen,t=void 0!==n&&n,h=e.onClose,p=e.onCancel,x=e.onConfirm,g=e.classes,b=void 0===g?{}:g,Z=e.title,j=void 0===Z?"":Z,v=e.isLoading,C=e.confirmationContent,k=e.cancelText,y=void 0===k?"Cancel":k,S=e.confirmText,N=void 0===S?"Confirm":S,w=e.confirmButtonProps,B=void 0===w?{}:w,F=e.cancelButtonProps,P=void 0===F?{}:F,M=e.titleIcon,E=void 0===M?null:M;return(0,f.jsxs)(o.Z,{open:t,onClose:function(e,n){"backdropClick"!==n&&h()},className:b.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,f.jsxs)(r.Z,{className:b.title,children:[(0,f.jsxs)("div",{className:b.titleText,children:[E," ",j]}),(0,f.jsx)("div",{className:b.closeContainer,children:(0,f.jsx)(u.Z,{"aria-label":"close",className:b.closeButton,onClick:h,disableRipple:!0,size:"small",children:(0,f.jsx)(m.Z,{})})})]}),(0,f.jsx)(s.Z,{className:b.content,children:C}),(0,f.jsxs)(l.Z,{className:b.actions,children:[(0,f.jsx)(c.Z,(0,i.Z)((0,i.Z)({className:b.cancelButton,onClick:p||h,disabled:v,type:"button"},P),{},{variant:"outlined",color:"primary",children:y})),(0,f.jsx)(d.Z,(0,i.Z)((0,i.Z)({className:b.confirmButton,type:"button",onClick:x,loading:v,disabled:v,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,f.jsx)(a.Fragment,{}),autoFocus:!0},B),{},{children:N}))]})]})}))},76352:function(e,n,t){t.d(n,{Z:function(){return w}});var i,a=t(23430),o=t(18489),r=t(50390),s=t(34424),l=t(95467),c=t(97771),d=t(84402),u=t(78426),m=t(93085),h=t(86509),p=t(4285),x=t(72462),f=t(44149),g=t(38342),b=t.n(g),Z=t(92125),j=t(19538),v=t(21278),C=t(62559),k=function(){clearInterval(i)},y={displayErrorMessage:f.zb},S=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),y)((0,p.Z)((function(e){return(0,h.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var n=e.classes,t=e.modalSnackMessage,o=e.displayErrorMessage,s=e.customStyle,l=(0,r.useState)(!1),c=(0,a.Z)(l,2),d=c[0],u=c[1],m=(0,r.useState)(!1),h=(0,a.Z)(m,2),p=h[0],x=h[1],f=(0,r.useCallback)((function(){x(!1)}),[]);(0,r.useEffect)((function(){p||(o({detailedError:"",errorMessage:""}),u(!1))}),[o,p]),(0,r.useEffect)((function(){""!==t.message&&"error"===t.type&&x(!0)}),[f,t.message,t.type]);var g=b()(t,"message",""),y=b()(t,"detailedErrorMsg","");return"error"!==t.type||""===g?null:(0,C.jsx)(r.Fragment,{children:(0,C.jsxs)("div",{className:"".concat(n.modalErrorContainer," ").concat(p?n.modalErrorShow:""),style:s,onMouseOver:k,onMouseLeave:function(){i=setInterval(f,1e4)},children:[(0,C.jsx)("button",{className:n.closeButton,onClick:f,children:(0,C.jsx)(v.Z,{})}),(0,C.jsxs)("div",{className:n.errorTitle,children:[(0,C.jsx)("span",{className:n.messageIcon,children:(0,C.jsx)(j.Z,{})}),(0,C.jsx)("span",{className:n.errorLabel,children:g})]}),""!==y&&(0,C.jsxs)(r.Fragment,{children:[(0,C.jsx)("div",{className:n.detailsContainerLink,children:(0,C.jsxs)("button",{className:n.detailsButton,onClick:function(){u(!d)},children:["Details",(0,C.jsx)(Z.Z,{className:"".concat(n.arrowElement," ").concat(d?n.arrowOpen:"")})]})}),(0,C.jsx)("div",{className:"".concat(n.extraDetailsContainer," ").concat(d?n.extraDetailsOpen:""),children:y})]})]})})}))),N=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:f.MK}),w=(0,p.Z)((function(e){return(0,h.Z)((0,o.Z)((0,o.Z)({},x.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},x.sN))}))(N((function(e){var n=e.onClose,t=e.modalOpen,i=e.title,s=e.children,h=e.classes,p=e.wideLimit,x=void 0===p||p,f=e.modalSnackMessage,g=e.noContentPadding,b=e.setModalSnackMessage,Z=e.titleIcon,j=void 0===Z?null:Z,k=(0,r.useState)(!1),y=(0,a.Z)(k,2),N=y[0],w=y[1];(0,r.useEffect)((function(){b("")}),[b]),(0,r.useEffect)((function(){if(f){if(""===f.message)return void w(!1);"error"!==f.type&&w(!0)}}),[f]);var B=x?{classes:{paper:h.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},F="";return f&&(F=f.detailedErrorMsg,(""===f.detailedErrorMsg||f.detailedErrorMsg.length<5)&&(F=f.message)),(0,C.jsxs)(d.Z,(0,o.Z)((0,o.Z)({open:t,classes:h},B),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:h.root,children:[(0,C.jsxs)(u.Z,{className:h.title,children:[(0,C.jsxs)("div",{className:h.titleText,children:[j," ",i]}),(0,C.jsx)("div",{className:h.closeContainer,children:(0,C.jsx)(l.Z,{"aria-label":"close",className:h.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,C.jsx)(v.Z,{})})})]}),(0,C.jsx)(S,{}),(0,C.jsx)(c.Z,{open:N,className:h.snackBarModal,onClose:function(){w(!1),b("")},message:F,ContentProps:{className:"".concat(h.snackBar," ").concat(f&&"error"===f.type?h.errorSnackBar:"")},autoHideDuration:f&&"error"===f.type?1e4:5e3}),(0,C.jsx)(m.Z,{className:g?"":h.content,children:s})]}))})))},35721:function(e,n,t){t(50390);var i=t(34424),a=t(25594),o=t(86509),r=t(4285),s=t(35477),l=t(95467),c=t(26805),d=t(44078),u=t(5265),m=t(98280),h=t(62559),p={toggleList:u.kQ},x=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),p);n.Z=x((0,r.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,i=e.actions,o=e.sidebarOpen,r=e.operatorMode,u=e.managerObjects,p=e.toggleList,x=e.middleComponent;return(0,h.jsxs)(a.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,h.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,h.jsx)("div",{className:n.logo,children:r?(0,h.jsx)(c.Z,{}):(0,h.jsx)(d.Z,{})}),(0,h.jsx)(s.Z,{variant:"h4",className:n.labelStyle,children:t})]}),x&&(0,h.jsx)(a.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:x}),(0,h.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:n.rightMenu,children:[i&&i,u&&u.length>0&&(0,h.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){p()},size:"large",children:(0,h.jsx)(m.gx,{})})]})]})})))},23165:function(e,n,t){var i=t(36222),a=t(18489),o=(t(50390),t(65771)),r=t(13336),s=t(12066),l=t(4285),c=t(86509),d=t(72462),u=t(62559);n.Z=(0,l.Z)((function(e){return(0,c.Z)({searchField:(0,a.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,a=e.classes,l=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,m=e.overrideClass,h=e.value,p=(0,i.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(o.Z,{position:d,className:a.adornment,children:(0,u.jsx)(r.Z,{})}));return(0,u.jsx)(s.Z,{placeholder:t,className:m||a.searchField,id:"search-resource",label:"",InputProps:p,onChange:function(e){l(e.target.value)},variant:"standard",value:h})}))},18572:function(e,n,t){var i=t(50390),a=t(65742),o=t(10106),r=t(33690),s=t(62559),l={};n.Z=function(e){var n=e.rowRenderFunction,t=e.totalItems,c=e.defaultHeight,d=function(e){var t=e.index,i=e.style;return(0,s.jsx)("div",{style:i,children:n(t)})};return(0,s.jsx)(i.Fragment,{children:(0,s.jsx)(o.Z,{isItemLoaded:function(e){return!!l[e]},loadMoreItems:function(e,n){for(var t=e;t<=n;t++)l[t]=1;for(var i=e;i<=n;i++)l[i]=2},itemCount:t,children:function(e){var n=e.onItemsRendered,i=e.ref;return(0,s.jsx)(r.qj,{children:function(e){var o=e.width,r=e.height;return(0,s.jsx)(a.t7,{itemSize:c||220,height:r,itemCount:t,width:o,ref:i,onItemsRendered:n,children:d})}})}})})}}}]); +//# sourceMappingURL=2094.ef1fbd5b.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2094.ef1fbd5b.chunk.js.map b/portal-ui/build/static/js/2094.ef1fbd5b.chunk.js.map new file mode 100644 index 000000000..64e482303 --- /dev/null +++ b/portal-ui/build/static/js/2094.ef1fbd5b.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2094.ef1fbd5b.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Buckets/ListBuckets/DeleteBucket.tsx","screens/Console/Buckets/ListBuckets/BucketListItem.tsx","screens/Console/Buckets/ListBuckets/BulkReplicationModal.tsx","screens/Console/Buckets/ListBuckets/ListBuckets.tsx","screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/FormComponents/CheckboxWrapper/CheckboxWrapper.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/GenericWizard/WizardPage.tsx","screens/Console/Common/GenericWizard/GenericWizard.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/VirtualizedList/VirtualizedList.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;\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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\n\ninterface IDeleteBucketProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedBucket: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeleteBucket = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n setErrorSnackMessage,\n}: IDeleteBucketProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedBucket) {\n return null;\n }\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\"DELETE\", `/api/v1/buckets/${selectedBucket}`, {\n name: selectedBucket,\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 bucket {selectedBucket}?
\n A bucket can only be deleted if it's empty.\n
\n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteBucket);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n ArrowRightIcon,\n BucketsIcon,\n ReportedUsageIcon,\n SettingsIcon,\n TotalObjectsIcon,\n} from \"../../../../icons\";\nimport { Bucket } from \"../types\";\nimport { Box, Grid, Typography } from \"@mui/material\";\nimport { niceBytes, prettyNumber } from \"../../../../common/utils\";\nimport CheckboxWrapper from \"../../Common/FormComponents/CheckboxWrapper/CheckboxWrapper\";\nimport { Link } from \"react-router-dom\";\nimport {\n IAM_PERMISSIONS,\n IAM_ROLES,\n} from \"../../../../common/SecureComponent/permissions\";\nimport SecureComponent from \"../../../../common/SecureComponent/SecureComponent\";\nimport RBIconButton from \"../BucketDetails/SummaryItems/RBIconButton\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n marginBottom: 30,\n padding: 20,\n color: theme.palette.primary.main,\n border: \"#E5E5E5 1px solid\",\n borderRadius: 2,\n \"& .min-icon\": {\n height: 14,\n width: 14,\n marginRight: 4,\n },\n \"& .MuiTypography-body2\": {\n fontSize: 14,\n },\n \"& .MuiCardHeader-content\": {\n wordWrap: \"break-word\",\n overflowWrap: \"break-word\",\n wordBreak: \"break-all\",\n font: \"normal normal bold 24px/27px Lato\",\n color: theme.palette.primary.main,\n\n \"& .MuiTypography-root\": {\n fontSize: 19,\n fontWeight: \"bold\",\n \"& .min-icon\": {\n position: \"relative\",\n top: 4,\n marginRight: 4,\n height: \"24px !important\",\n },\n },\n },\n \"& .MuiCardHeader-root\": {\n background:\n \"transparent linear-gradient(0deg, #EEF1F44E 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n },\n },\n checkBoxElement: {\n width: 32,\n height: 32,\n float: \"left\",\n overflow: \"hidden\",\n \"& div\": {\n position: \"absolute\",\n },\n },\n viewButton: {\n width: 111,\n color: \"white\",\n marginLeft: 8,\n fontSize: 12,\n fontWeight: \"normal\",\n boxShadow: \"unset\",\n borderRadius: 4,\n },\n manageButton: {\n borderRadius: 4,\n width: 111,\n color: theme.palette.grey[\"700\"],\n textTransform: \"unset\",\n fontSize: 12,\n fontWeight: \"normal\",\n \"& .MuiButton-endIcon\": {\n \"& .min-icon\": {\n fontSize: 18,\n },\n },\n },\n metric: {\n \"& .min-icon\": {\n color: \"#000000\",\n width: 13,\n marginRight: 5,\n },\n },\n metricLabel: {\n fontSize: 14,\n fontWeight: \"bold\",\n color: \"#000000\",\n },\n metricText: {\n fontSize: 24,\n fontWeight: \"bold\",\n },\n unit: {\n fontSize: 12,\n fontWeight: \"normal\",\n },\n bucketName: {\n padding: 0,\n margin: 0,\n fontSize: 22,\n },\n bucketIcon: {\n \"& .min-icon\": {\n height: 48,\n width: 48,\n },\n },\n bucketInfo: {\n display: \"flex\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column-reverse\",\n },\n },\n bucketStats: {\n marginTop: 15,\n borderTop: \"1px solid rgb(234,234,234, .7)\",\n paddingTop: 14,\n },\n bucketActionButtons: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n\n \"@media (max-width: 900px)\": {\n marginTop: \"-33px\",\n },\n },\n });\n\ninterface IBucketListItem {\n bucket: Bucket;\n classes: any;\n onDelete: (bucketName: string) => void;\n onSelect: (e: React.ChangeEvent) => void;\n selected: boolean;\n bulkSelect: boolean;\n}\n\nconst BucketListItem = ({\n classes,\n bucket,\n onDelete,\n onSelect,\n selected,\n bulkSelect,\n}: IBucketListItem) => {\n const usage = niceBytes(`${bucket.size}` || \"0\");\n const usageScalar = usage.split(\" \")[0];\n const usageUnit = usage.split(\" \")[1];\n\n const accessToStr = (bucket: Bucket): string => {\n if (bucket.rw_access?.read && !bucket.rw_access?.write) {\n return \"R\";\n } else if (!bucket.rw_access?.read && bucket.rw_access?.write) {\n return \"W\";\n } else if (bucket.rw_access?.read && bucket.rw_access?.write) {\n return \"R/W\";\n }\n return \"\";\n };\n const onCheckboxClick = (e: React.ChangeEvent) => {\n onSelect(e);\n };\n\n return (\n \n \n \n \n \n \n {bulkSelect && (\n {\n e.stopPropagation();\n }}\n >\n \n \n )}\n

{bucket.name}

\n
\n \n \n \n \n Created: {bucket.creation_date}\n \n \n \n \n Access: {accessToStr(bucket)}\n \n \n \n \n
\n
\n \n \n \n {}}\n text={\"Manage\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n \n \n {}}\n text={\"Browse\"}\n icon={}\n color={\"primary\"}\n variant={\"contained\"}\n />\n \n \n
\n \n \n \n \n\n \n \n \n \n \n \n \n Usage\n
\n {usageScalar}\n {usageUnit}\n
\n
\n \n \n Objects\n
\n {bucket.objects ? prettyNumber(bucket.objects) : 0}\n
\n
\n
\n
\n \n );\n};\n\nexport default withStyles(styles)(BucketListItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { SelectChangeEvent, Tooltip } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CheckCircleOutlineIcon from \"@mui/icons-material/CheckCircleOutline\";\nimport {\n modalBasic,\n wizardCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { BulkReplicationItem, BulkReplicationResponse } from \"../types\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport PredefinedList from \"../../Common/FormComponents/PredefinedList/PredefinedList\";\nimport api from \"../../../../common/api\";\nimport GenericWizard from \"../../Common/GenericWizard/GenericWizard\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { SelectorTypes } from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport { getBytes, k8sfactorForDropdown } from \"../../../../common/utils\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ninterface IBulkReplicationModal {\n open: boolean;\n closeModalAndRefresh: (clearSelection: boolean) => any;\n classes: any;\n buckets: string[];\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n remoteBucketList: {\n display: \"grid\",\n gridTemplateColumns: \"auto auto 45px\",\n alignItems: \"center\",\n justifyContent: \"stretch\",\n },\n errorIcon: {\n color: \"#C72C48\",\n },\n successIcon: {\n color: \"#42C91A\",\n },\n hide: {\n opacity: 0,\n transitionDuration: \"0.3s\",\n },\n ...modalBasic,\n ...wizardCommon,\n });\n\nconst AddBulkReplicationModal = ({\n open,\n closeModalAndRefresh,\n classes,\n buckets,\n setModalErrorSnackMessage,\n}: IBulkReplicationModal) => {\n const [bucketsToAlter, setBucketsToAlter] = useState([]);\n const [addLoading, setAddLoading] = useState(false);\n const [externalLoading, setExternalLoading] = useState(false);\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n const [targetURL, setTargetURL] = useState(\"\");\n const [region, setRegion] = useState(\"\");\n const [useTLS, setUseTLS] = useState(true);\n const [replicationMode, setReplicationMode] = useState(\"async\");\n const [bandwidthScalar, setBandwidthScalar] = useState(\"100\");\n const [bandwidthUnit, setBandwidthUnit] = useState(\"Gi\");\n const [healthCheck, setHealthCheck] = useState(\"60\");\n const [relationBuckets, setRelationBuckets] = useState([]);\n const [remoteBucketsOpts, setRemoteBucketOpts] = useState([]);\n const [responseItem, setResponseItem] = useState([]);\n\n const optionsForBucketsDrop: SelectorTypes[] = remoteBucketsOpts.map(\n (remoteBucketName: string) => {\n return {\n label: remoteBucketName,\n value: remoteBucketName,\n };\n }\n );\n\n useEffect(() => {\n if (relationBuckets.length === 0) {\n const bucketsAlter: string[] = [];\n const relationBucketsAlter: string[] = [];\n\n buckets.forEach((item: string) => {\n bucketsAlter.push(item);\n relationBucketsAlter.push(\"\");\n });\n\n setRelationBuckets(relationBucketsAlter);\n setBucketsToAlter(bucketsAlter);\n }\n }, [buckets, relationBuckets.length]);\n\n const addRecord = () => {\n setAddLoading(true);\n const replicate = bucketsToAlter.map((bucketName, index) => {\n return {\n originBucket: bucketName,\n destinationBucket: relationBuckets[index],\n };\n });\n\n const endURL = `${useTLS ? \"https://\" : \"http://\"}${targetURL}`;\n const hc = parseInt(healthCheck);\n\n const remoteBucketsInfo = {\n accessKey: accessKey,\n secretKey: secretKey,\n targetURL: endURL,\n region: region,\n bucketsRelation: replicate,\n syncMode: replicationMode,\n bandwidth:\n replicationMode === \"async\"\n ? parseInt(getBytes(bandwidthScalar, bandwidthUnit, true))\n : 0,\n healthCheckPeriod: hc,\n };\n\n api\n .invoke(\"POST\", \"/api/v1/buckets-replication\", remoteBucketsInfo)\n .then((response: BulkReplicationResponse) => {\n setAddLoading(false);\n\n const states = response.replicationState;\n setResponseItem(states);\n\n const filterErrors = states.filter(\n (itm) => itm.errorString && itm.errorString !== \"\"\n );\n\n if (filterErrors.length === 0) {\n closeModalAndRefresh(true);\n } else {\n setTimeout(() => {\n removeSuccessItems(states);\n }, 500);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n const retrieveRemoteBuckets = (\n wizardPageJump: (page: number | string) => void\n ) => {\n const remoteConnectInfo = {\n accessKey: accessKey,\n secretKey: secretKey,\n targetURL: targetURL,\n useTLS,\n };\n setExternalLoading(true);\n\n api\n .invoke(\"POST\", \"/api/v1/list-external-buckets\", remoteConnectInfo)\n .then((dataReturn) => {\n const buckets = get(dataReturn, \"buckets\", []);\n\n if (buckets && buckets.length > 0) {\n const arrayReplaceBuckets = buckets.map((element: any) => {\n return element.name;\n });\n\n setRemoteBucketOpts(arrayReplaceBuckets);\n }\n\n wizardPageJump(\"++\");\n setExternalLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setExternalLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n const stateOfItem = (initialBucket: string) => {\n if (responseItem.length > 0) {\n const bucketResponse = responseItem.find(\n (item) => item.originBucket === initialBucket\n );\n\n if (bucketResponse) {\n const errString = get(bucketResponse, \"errorString\", \"\");\n\n if (errString) {\n return errString;\n }\n\n return \"\";\n }\n }\n return \"n/a\";\n };\n\n const LogoToShow = ({ errString }: { errString: string }) => {\n switch (errString) {\n case \"\":\n return (\n
\n \n
\n );\n case \"n/a\":\n return null;\n default:\n if (errString) {\n return (\n
\n \n \n \n
\n );\n }\n }\n return null;\n };\n\n const updateItem = (indexItem: number, value: string) => {\n const updatedList = [...relationBuckets];\n updatedList[indexItem] = value;\n setRelationBuckets(updatedList);\n };\n\n const itemDisplayBulk = (indexItem: number) => {\n if (remoteBucketsOpts.length > 0) {\n return (\n \n ) => {\n updateItem(indexItem, e.target.value as string);\n }}\n options={optionsForBucketsDrop}\n disabled={addLoading}\n />\n \n );\n }\n return (\n \n ) => {\n updateItem(indexItem, event.target.value);\n }}\n value={relationBuckets[indexItem]}\n disabled={addLoading}\n />\n \n );\n };\n\n const removeSuccessItems = (responseItem: BulkReplicationItem[]) => {\n let newBucketsToAlter = [...bucketsToAlter];\n let newRelationBuckets = [...relationBuckets];\n\n responseItem.forEach((successElement) => {\n const errorString = get(successElement, \"errorString\", \"\");\n\n if (!errorString || errorString === \"\") {\n const indexToRemove = newBucketsToAlter.indexOf(\n successElement.originBucket\n );\n\n newBucketsToAlter.splice(indexToRemove, 1);\n newRelationBuckets.splice(indexToRemove, 1);\n }\n });\n\n setBucketsToAlter(newBucketsToAlter);\n setRelationBuckets(newRelationBuckets);\n };\n\n return (\n {\n closeModalAndRefresh(false);\n }}\n title=\"Set Multiple Bucket Replication\"\n >\n \n \n \n \n

Remote Endpoint Configuration

\n \n Please avoid the use of root credentials for this feature\n \n
\n
\n \n ) => {\n setAccessKey(e.target.value);\n }}\n label=\"Access Key\"\n value={accessKey}\n />\n \n \n ) => {\n setSecretKey(e.target.value);\n }}\n label=\"Secret Key\"\n value={secretKey}\n />\n \n \n ) => {\n setTargetURL(e.target.value);\n }}\n placeholder=\"play.min.io:9000\"\n label=\"Target URL\"\n value={targetURL}\n />\n \n \n {\n setUseTLS(e.target.checked);\n }}\n value=\"yes\"\n />\n \n \n ) => {\n setRegion(e.target.value);\n }}\n label=\"Region\"\n value={region}\n />\n \n \n ) => {\n setReplicationMode(e.target.value as string);\n }}\n label=\"Replication Mode\"\n value={replicationMode}\n options={[\n { label: \"Asynchronous\", value: \"async\" },\n { label: \"Synchronous\", value: \"sync\" },\n ]}\n />\n \n {replicationMode === \"async\" && (\n \n
\n
\n \n ) => {\n setBandwidthScalar(e.target.value as string);\n }}\n label=\"Bandwidth\"\n value={bandwidthScalar}\n min=\"0\"\n />\n
\n
\n ) => {\n setBandwidthUnit(e.target.value as string);\n }}\n options={k8sfactorForDropdown()}\n />\n
\n
\n
\n )}\n \n ) => {\n setHealthCheck(e.target.value as string);\n }}\n label=\"Health Check Duration\"\n value={healthCheck}\n />\n \n \n ),\n buttons: [\n {\n type: \"custom\",\n label: \"Next\",\n enabled: !externalLoading,\n action: retrieveRemoteBuckets,\n },\n ],\n },\n {\n label: \"Bucket Assignments\",\n componentRender: (\n \n

Remote Bucket Assignments

\n \n Please select / type the desired remote bucket were you want\n the local data to be replicated.\n \n
\n {bucketsToAlter.map((bucketName: string, index: number) => {\n const errorItem = stateOfItem(bucketName);\n return (\n \n
\n {bucketName}\n
\n
\n {itemDisplayBulk(index)}\n
\n
\n {responseItem.length > 0 && (\n \n )}\n
\n \n );\n })}\n
\n
\n ),\n buttons: [\n {\n type: \"back\",\n label: \"Back\",\n enabled: true,\n },\n {\n type: \"next\",\n label: \"Create\",\n enabled: !addLoading,\n action: addRecord,\n },\n ],\n },\n ]}\n forModal\n />\n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(AddBulkReplicationModal));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { Bucket, BucketList } from \"../types\";\nimport { AddIcon, BucketsIcon } from \"../../../../icons\";\nimport { AppState } from \"../../../../store\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport {\n containerForHeader,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport DeleteBucket from \"./DeleteBucket\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport BucketListItem from \"./BucketListItem\";\nimport BulkReplicationModal from \"./BulkReplicationModal\";\nimport HelpBox from \"../../../../common/HelpBox\";\nimport { ISessionResponse } from \"../../types\";\nimport RefreshIcon from \"../../../../icons/RefreshIcon\";\nimport AButton from \"../../Common/AButton/AButton\";\nimport MultipleBucketsIcon from \"../../../../icons/MultipleBucketsIcon\";\nimport SelectMultipleIcon from \"../../../../icons/SelectMultipleIcon\";\nimport SecureComponent from \"../../../../common/SecureComponent/SecureComponent\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../../common/SecureComponent/permissions\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport SearchBox from \"../../Common/SearchBox\";\nimport VirtualizedList from \"../../Common/VirtualizedList/VirtualizedList\";\nimport RBIconButton from \"../BucketDetails/SummaryItems/RBIconButton\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n bulkSelect: {\n marginLeft: 8,\n \"&:hover\": {\n backgroundColor: theme.palette.primary.main,\n },\n \"&.MuiButton-contained\": {\n backgroundColor: theme.palette.primary.main,\n },\n },\n addBucket: {\n marginLeft: 8,\n },\n bucketList: {\n marginTop: 25,\n height: \"calc(100vh - 210px)\",\n },\n searchField: {\n ...searchField.searchField,\n minWidth: 380,\n \"@media (max-width: 900px)\": {\n minWidth: 220,\n },\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IListBucketsProps {\n classes: any;\n history: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n session: ISessionResponse;\n}\n\nconst ListBuckets = ({\n classes,\n history,\n setErrorSnackMessage,\n session,\n}: IListBucketsProps) => {\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(true);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedBucket, setSelectedBucket] = useState(\"\");\n const [filterBuckets, setFilterBuckets] = useState(\"\");\n const [selectedBuckets, setSelectedBuckets] = useState([]);\n const [replicationModalOpen, setReplicationModalOpen] =\n useState(false);\n\n const [bulkSelect, setBulkSelect] = useState(false);\n\n useEffect(() => {\n if (loading) {\n const fetchRecords = () => {\n setLoading(true);\n api\n .invoke(\"GET\", `/api/v1/buckets`)\n .then((res: BucketList) => {\n setLoading(false);\n setRecords(res.buckets || []);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setErrorSnackMessage(err);\n });\n };\n fetchRecords();\n }\n }, [loading, setErrorSnackMessage]);\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n if (refresh) {\n setLoading(true);\n setSelectedBuckets([]);\n }\n };\n\n const confirmDeleteBucket = (bucket: string) => {\n setDeleteOpen(true);\n setSelectedBucket(bucket);\n };\n\n const filteredRecords = records.filter((b: Bucket) => {\n if (filterBuckets === \"\") {\n return true;\n } else {\n if (b.name.indexOf(filterBuckets) >= 0) {\n return true;\n } else {\n return false;\n }\n }\n });\n\n const selectListBuckets = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedBuckets]; // We clone the selectedBuckets array\n\n if (checked) {\n // If the user has checked this field we need to push this to selectedBucketsList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedBuckets(elements);\n\n return elements;\n };\n\n const closeBulkReplicationModal = (unselectAll: boolean) => {\n setReplicationModalOpen(false);\n\n if (unselectAll) {\n setSelectedBuckets([]);\n }\n };\n\n const renderItemLine = (index: number) => {\n const bucket = filteredRecords[index] || null;\n if (bucket) {\n return (\n \n );\n }\n return null;\n };\n\n const createBucketButtonResources: string[] =\n Array.from(Object.keys(session.permissions)) || [];\n\n return (\n \n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n {replicationModalOpen && (\n \n )}\n \n \n \n \n\n \n {\n setBulkSelect(!bulkSelect);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={bulkSelect ? \"contained\" : \"outlined\"}\n />\n\n {\n setReplicationModalOpen(true);\n }}\n text={\"\"}\n icon={}\n disabled={selectedBuckets.length === 0}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n\n {\n setLoading(true);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n\n \n {\n history.push(\"/add-bucket\");\n }}\n text={\"Create Bucket\"}\n icon={}\n color={\"primary\"}\n variant={\"contained\"}\n />\n \n \n \n\n {loading && }\n {!loading && (\n \n {filteredRecords.length !== 0 && (\n \n )}\n {filteredRecords.length === 0 && filterBuckets !== \"\" && (\n \n \n }\n title={\"No Results\"}\n help={\n \n No buckets match the filtering condition\n \n }\n />\n \n \n )}\n {filteredRecords.length === 0 && filterBuckets === \"\" && (\n \n \n }\n title={\"Buckets\"}\n help={\n \n MinIO uses buckets to organize objects. A bucket is\n similar to a folder or directory in a filesystem, where\n each bucket can hold an arbitrary number of objects.\n \n
\n
\n To get started, \n {\n history.push(\"/add-bucket\");\n }}\n >\n Create a Bucket.\n \n \n
\n }\n />\n
\n \n )}\n \n )}\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n});\n\nexport default connector(withStyles(styles)(ListBuckets));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 index?: number;\n checked: boolean;\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 },\n });\n\nconst CheckboxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n tooltip = \"\",\n classes,\n}: CheckBoxProps) => {\n return (\n \n \n
\n }\n icon={}\n disabled={disabled}\n />\n
\n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n
\n );\n};\n\nexport default withStyles(styles)(CheckboxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n
\n )}\n \n
\n \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import React, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n \n
\n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { IWizardButton, IWizardPage } from \"./types\";\nimport { Button, LinearProgress } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wizardStepContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n flex: 1,\n },\n wizardComponent: {\n overflowY: \"auto\",\n marginBottom: 10,\n height: \"calc(100vh - 100px - 80px)\",\n minHeight: 400,\n flex: 1,\n width: \"100%\",\n },\n wizardModal: {\n overflowY: \"auto\",\n marginBottom: 10,\n height: \"calc(100vh - 515px)\",\n },\n buttonsContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"flex-start\" as const,\n padding: \"10px 0\",\n borderTop: \"#EAEAEA 1px solid\",\n \"& button\": {\n marginLeft: 10,\n },\n \"&.forModal\": {\n paddingBottom: 0,\n },\n },\n buttonInnerContainer: {\n width: \"100%\",\n textAlign: \"right\" as const,\n marginRight: 15,\n },\n });\n\nconst WizardPage = ({\n classes,\n page,\n pageChange,\n loadingStep,\n forModal,\n}: IWizardPage) => {\n const buttonAction = (btn: IWizardButton) => {\n switch (btn.type) {\n case \"next\":\n pageChange(\"++\");\n break;\n case \"back\":\n pageChange(\"--\");\n break;\n case \"to\":\n pageChange(btn.toPage || 0);\n break;\n case \"custom\":\n default:\n }\n\n if (btn.action) {\n btn.action(pageChange);\n }\n };\n\n return (\n
\n
\n {page.componentRender}\n
\n {loadingStep && (\n
\n \n
\n )}\n \n
\n {page.buttons.map((btn) => {\n return (\n {\n buttonAction(btn);\n }}\n disabled={!btn.enabled}\n key={`button-${page.label}-${btn.label}`}\n >\n {btn.label}\n \n );\n })}\n
\n
\n \n );\n};\n\nexport default withStyles(styles)(WizardPage);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IWizardMain } from \"./types\";\nimport WizardPage from \"./WizardPage\";\nimport { Grid, List } from \"@mui/material\";\nimport ListItem from \"@mui/material/ListItem\";\nimport ListItemText from \"@mui/material/ListItemText\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wizFromContainer: {},\n wizFromModal: {\n position: \"relative\",\n },\n modalWizardSteps: {\n padding: 5,\n borderBottom: \"#eaeaea 1px solid\",\n \"& ul\": {\n padding: 0,\n marginTop: 0,\n display: \"flex\",\n justifyContent: \"space-evenly\",\n\n \"& li\": {\n listStyle: \"lower-roman\",\n \"&::marker\": {\n paddingLeft: 15,\n },\n },\n },\n },\n buttonList: {\n backgroundColor: \"transparent\",\n border: \"none\",\n cursor: \"pointer\",\n \"&:not(:disabled):hover\": {\n textDecoration: \"underline\",\n },\n \"&:selected, &:active, &:focus, &:focus:active\": {\n border: \"none\",\n outline: 0,\n boxShadow: \"none\",\n },\n },\n paddedContentGrid: {\n marginTop: 8,\n padding: \"0 10px\",\n minHeight: 400,\n },\n stepsLabel: {\n fontSize: 20,\n color: \"#393939\",\n fontWeight: 600,\n margin: \"15px 12px\",\n \"&.stepsModalTitle\": {\n textAlign: \"center\",\n width: \"100%\",\n marginTop: 0,\n marginBottom: 10,\n },\n },\n stepsMasterContainer: {\n position: \"sticky\",\n top: 0,\n backgroundColor: \"#FFFFFF\",\n width: \"100%\",\n maxHeight: 90,\n },\n verticalSteps: {\n borderRight: \"1px solid #E5E5E5\",\n background: \"#F8F8F8\",\n },\n stepsContainer: {\n paddingTop: 0,\n \"& .MuiButtonBase-root.Mui-selected\": {\n background: \"#E5E5E5\",\n },\n },\n stepItem: {\n minHeight: 60,\n borderBottom: \"1px solid #E5E5E5\",\n \"&:hover\": {\n background: \"rgba(247,247,247,0.7)\",\n },\n },\n });\n\nconst GenericWizard = ({\n classes,\n wizardSteps,\n loadingStep,\n forModal,\n}: IWizardMain) => {\n const [currentStep, setCurrentStep] = useState(0);\n\n const pageChange = (toElement: string | number) => {\n const lastPage = wizardSteps.length - 1;\n\n if (toElement === \"++\") {\n let nextPage = currentStep + 1;\n\n if (nextPage > lastPage) {\n nextPage = lastPage;\n }\n\n setCurrentStep(nextPage);\n }\n\n if (toElement === \"--\") {\n let prevPage = currentStep - 1;\n\n if (prevPage < 0) {\n prevPage = 0;\n }\n\n setCurrentStep(prevPage);\n }\n\n if (typeof toElement === \"number\") {\n let pg = toElement;\n if (toElement < 0) {\n pg = 0;\n }\n\n if (toElement > lastPage) {\n pg = lastPage;\n }\n\n setCurrentStep(pg);\n }\n };\n\n if (wizardSteps.length === 0) {\n return null;\n }\n\n const stepsList = () => {\n return (\n \n \n {wizardSteps.map((step, index) => {\n return (\n pageChange(index)}\n key={`wizard-${index.toString()}`}\n selected={currentStep === index}\n classes={{\n root: classes.stepItem,\n }}\n >\n \n \n );\n })}\n \n \n );\n };\n const stepsListModal = () => {\n return (\n
    \n {wizardSteps.map((step, index) => {\n return (\n
  • \n pageChange(index)}\n disabled={index > currentStep}\n className={classes.buttonList}\n >\n {step.label}\n \n
  • \n );\n })}\n
\n );\n };\n\n return (\n \n {forModal ? (\n \n
\n
Steps
\n
{stepsListModal()}
\n
\n
\n ) : (\n \n \n {stepsList()}\n
\n \n )}\n\n \n \n
\n \n );\n};\n\nexport default withStyles(styles)(GenericWizard);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\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 \n {({ width, height }) => {\n return (\n \n {RenderItemLine}\n \n );\n }}\n \n )}\n \n \n );\n};\n\nexport default VirtualizedList;\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","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","mapDispatchToProps","setErrorSnackMessage","connector","connect","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","useApi","err","deleteLoading","invokeDeleteApi","confirmText","isOpen","titleIcon","isLoading","onConfirm","name","onClose","confirmationContent","wordWrap","overflowWrap","wordBreak","font","position","top","background","checkBoxElement","float","overflow","viewButton","boxShadow","manageButton","grey","textTransform","metric","metricLabel","metricText","unit","bucketName","margin","bucketIcon","bucketInfo","flexFlow","bucketStats","marginTop","borderTop","bucketActionButtons","justifyContent","bucket","onSelect","onDelete","selected","bulkSelect","usage","niceBytes","usageScalar","split","usageUnit","Grid","clsx","sm","e","stopPropagation","CheckboxWrapper","checked","id","label","onChange","value","Typography","creation_date","rw_access","read","write","accessToStr","SecureComponent","scopes","IAM_PERMISSIONS","IAM_ROLES","resource","to","style","textDecoration","RBIconButton","Box","spacing","textAlign","objects","prettyNumber","setModalErrorSnackMessage","remoteBucketList","gridTemplateColumns","errorIcon","successIcon","hide","opacity","transitionDuration","modalBasic","wizardCommon","open","closeModalAndRefresh","buckets","useState","bucketsToAlter","setBucketsToAlter","addLoading","setAddLoading","externalLoading","setExternalLoading","accessKey","setAccessKey","secretKey","setSecretKey","targetURL","setTargetURL","region","setRegion","useTLS","setUseTLS","replicationMode","setReplicationMode","bandwidthScalar","setBandwidthScalar","bandwidthUnit","setBandwidthUnit","healthCheck","setHealthCheck","relationBuckets","setRelationBuckets","remoteBucketsOpts","setRemoteBucketOpts","responseItem","setResponseItem","optionsForBucketsDrop","map","remoteBucketName","useEffect","length","bucketsAlter","relationBucketsAlter","forEach","push","LogoToShow","errString","CheckCircleOutline","Tooltip","placement","ErrorOutline","updateItem","indexItem","updatedList","removeSuccessItems","newBucketsToAlter","newRelationBuckets","successElement","errorString","get","indexToRemove","indexOf","originBucket","splice","ModalWrapper","modalOpen","GenericWizard","loadingStep","wizardSteps","componentRender","Fragment","PredefinedList","content","join","descriptionText","InputBoxWrapper","target","placeholder","FormSwitchWrapper","SelectWrapper","options","multiContainer","type","min","sizeFactorContainer","k8sfactorForDropdown","buttons","enabled","action","wizardPageJump","remoteConnectInfo","api","then","dataReturn","arrayReplaceBuckets","element","catch","index","errorItem","initialBucket","bucketResponse","find","stateOfItem","event","toString","replicate","destinationBucket","endURL","hc","parseInt","remoteBucketsInfo","bucketsRelation","syncMode","bandwidth","getBytes","healthCheckPeriod","response","states","replicationState","filter","itm","setTimeout","forModal","state","session","console","addBucket","bucketList","searchField","minWidth","containerForHeader","history","records","setRecords","loading","setLoading","setDeleteOpen","setSelectedBucket","filterBuckets","setFilterBuckets","selectedBuckets","setSelectedBuckets","replicationModalOpen","setReplicationModalOpen","setBulkSelect","res","confirmDeleteBucket","filteredRecords","b","selectListBuckets","targetD","elements","createBucketButtonResources","Array","from","Object","keys","permissions","DeleteBucket","refresh","BulkReplicationModal","unselectAll","PageHeader","PageLayout","actionsTray","SearchBox","overrideClass","SelectMultipleIcon","MultipleBucketsIcon","RefreshIcon","IAM_SCOPES","errorProps","LinearProgress","VirtualizedList","rowRenderFunction","includes","totalItems","alignContent","HelpBox","CONSOLE_UI_RESOURCE","AButton","cursor","info","fontFamily","children","rest","borderWidth","borderStyle","contained","dark","light","button","fieldBasic","tooltipHelper","checkboxIcons","fieldContainer","flexBasis","inputProps","checkedIcon","unCheckedIcon","htmlFor","noMinWidthLabel","tooltipContainer","StyledSwitch","switchBase","transform","common","white","thumb","track","transition","transitions","create","focusVisible","switchContainer","Switch","divContainer","indicatorLabelOn","indicatorLabel","fieldDescription","switchOnly","description","indicatorLabels","switchComponent","disableRipple","disableFocusRipple","disableTouchRipple","md","inputLabel","component","inputStyles","inputFieldStyles","InputField","InputProps","textBoxContainer","flexGrow","overlayAction","right","maxWidth","maxHeight","autoComplete","multiline","error","required","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","errorInField","inputBoxContainer","fullWidth","helperText","inputRebase","predefinedList","multiLine","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","SelectStyled","lineHeight","input","InputBase","option","wizardStepContainer","flexDirection","flex","wizardComponent","overflowY","minHeight","wizardModal","buttonsContainer","buttonInnerContainer","page","pageChange","btn","Button","toPage","buttonAction","wizFromContainer","wizFromModal","modalWizardSteps","borderBottom","listStyle","buttonList","outline","paddedContentGrid","stepsLabel","stepsMasterContainer","verticalSteps","borderRight","stepsContainer","stepItem","currentStep","setCurrentStep","toElement","lastPage","nextPage","prevPage","pg","step","lg","xl","List","dense","ListItem","ListItemText","onSuccess","onError","setIsLoading","method","url","data","deleteDialogStyles","onCancel","cancelText","confirmButtonProps","cancelButtonProps","reason","titleText","closeContainer","closeButton","actions","cancelButton","confirmButton","loadingPosition","startIcon","timerI","stopHideTimer","clearInterval","displayErrorMessage","modalSnackMessage","system","modalSnackBar","modalErrorContainer","borderLeftWidth","zIndex","left","modalErrorShow","errorTitle","errorLabel","messageIcon","detailsButton","transformDuration","extraDetailsContainer","fontStyle","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","detailedError","errorMessage","message","messageDetails","onMouseOver","onMouseLeave","setInterval","Close","detailsContainerLink","ArrowRight","setModalSnackMessage","customDialogSize","snackBarCommon","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","Dialog","scroll","DialogTitle","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","toggleList","sidebarOpen","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","labelStyle","rightMenu","logo","fill","middleComponent","direction","adornment","adornmentPosition","disableUnderline","itemStatusMap","defaultHeight","RenderItemLine","isItemLoaded","loadMoreItems","startIndex","stopIndex","itemCount","onItemsRendered","ref","itemSize"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2178.7830bed4.chunk.js b/portal-ui/build/static/js/2178.7830bed4.chunk.js new file mode 100644 index 000000000..862607947 --- /dev/null +++ b/portal-ui/build/static/js/2178.7830bed4.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2178],{32178:function(e,t,n){n.r(t),n.d(t,{default:function(){return L}});var i,a=n(23430),r=n(18489),o=n(50390),s=n(34424),l=n(65771),d=n(81378),c=n(18201),m=n(46981),g=n(86509),u=n(62449),p=n(4285),x=n(66946),h=n(12066),f=n(25594);!function(e){e.unknown="unknown",e.form="form",e.redirect="redirect",e.serviceAccount="service-account"}(i||(i={}));var v=n(44149),j=n(30324),Z=n(24442),b=n(18221),w=n(45980),y=n(28948),S=n(98280),P=n(72462),N=n(62559),I=(0,u.Z)((function(e){return(0,g.Z)({root:{"& .MuiOutlinedInput-root":{paddingLeft:0,"& svg":{height:16,color:e.palette.primary.main},"& input":{padding:5,paddingLeft:0,"&::placeholder":{fontSize:12},"@media (max-width: 900px)":{padding:10}},"& fieldset":{border:"none",borderBottom:"1px solid #EAEAEA",borderRadius:0},"&.Mui-focused fieldset":{borderBottom:"1px solid #000000",borderRadius:0},"& fieldset:hover":{borderBottom:"2px solid #000000",borderRadius:0}}}})}));function C(e){var t=I();return(0,N.jsx)(h.Z,(0,r.Z)({classes:{root:t.root},variant:"standard"},e))}var L=(0,s.$j)((function(e){return{loggedIn:e.loggedIn}}),{userLoggedIn:v.nD,setErrorSnackMessage:v.Ih})((0,p.Z)((function(e){return(0,g.Z)((0,r.Z)({form:{width:"100%"},submit:{margin:"30px 0px 16px",height:40,boxShadow:"none",padding:"16px 30px"},loginPage:{height:"100%",display:"flex",flexFlow:"column",alignItems:"stretch",position:"relative",padding:84,"@media (max-width: 900px)":{padding:0}},shadowBox:{boxShadow:"rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.125) 0px 15px 50px 0px",height:"100%"},loginContainer:{flex:1,height:"100%","& .right-items":{padding:50,flex:1,height:"100%",display:"flex",flexFlow:"column",alignItems:"center",justifyContent:"center",maxWidth:"33%","@media (max-width: 900px)":{maxWidth:"100%",margin:"auto"}},"& .consoleTextBanner":{fontWeight:300,fontSize:"calc(3vw + 3vh + 1.5vmin)",lineHeight:1.15,color:"#ffffff",flex:1,textAlign:"center",height:"100%",display:"flex",justifyContent:"flex-start",margin:"auto",flexFlow:"column",background:"linear-gradient(120deg,#081c42,#073052)","& .logoLine":{display:"flex",alignItems:"center",fontSize:18,marginTop:40},"& .left-items":{margin:"auto",textAlign:"left",paddingRight:240,paddingBottom:200,"@media (max-width: 1400px)":{paddingBottom:120,paddingRight:50},"@media (max-width: 900px)":{paddingBottom:0,paddingRight:0},"@media (max-width: 600px)":{paddingBottom:0,paddingRight:0}},"& .left-logo":{"& .min-icon":{color:"white",width:108},marginBottom:10},"& .text-line1":{font:" 100 70px 'Lato'","@media (max-width: 600px)":{fontSize:35},"@media (max-width: 800px)":{fontSize:45}},"& .text-line2":{fontSize:100,fontWeight:100,textTransform:"uppercase","@media (max-width: 600px)":{fontSize:35,marginLeft:0},"@media (max-width: 800px)":{fontSize:55,marginLeft:0}},"& .logo-console":{display:"flex",alignItems:"center","@media (max-width: 900px)":{marginTop:20,flexFlow:"column","& svg":{width:"50%"}}}}},"@media (max-width: 900px)":{loginContainer:{display:"flex",flexFlow:"column","& .consoleTextBanner":{margin:0,flex:2,"& .left-items":{alignItems:"center",textAlign:"center"},"& .logoLine":{justifyContent:"center"}}}},loadingLoginStrategy:{textAlign:"center"},headerTitle:{marginRight:"auto",marginBottom:15},submitContainer:{textAlign:"right"},linearPredef:{height:10},loaderAlignment:{display:"flex",width:"100%",height:"100%",justifyContent:"center",alignItems:"center",flexDirection:"column"},retryButton:{alignSelf:"flex-end"}},P.bK))}))((function(e){var t=e.classes,n=e.userLoggedIn,r=e.setErrorSnackMessage,s=(0,o.useState)(""),g=(0,a.Z)(s,2),u=g[0],p=g[1],h=(0,o.useState)(""),v=(0,a.Z)(h,2),P=v[0],I=v[1],L=(0,o.useState)(""),A=(0,a.Z)(L,2),B=A[0],E=A[1],k=(0,o.useState)({loginStrategy:i.unknown,redirect:""}),F=(0,a.Z)(k,2),z=F[0],R=F[1],T=(0,o.useState)(!1),W=(0,a.Z)(T,2),M=W[0],K=W[1],O=(0,o.useState)(!0),D=(0,a.Z)(O,2),H=D[0],V=D[1],_={form:"/api/v1/login","service-account":"/api/v1/login/operator"},q={form:{accessKey:u,secretKey:B},"service-account":{jwt:P}},G=function(e){e.preventDefault(),K(!0),j.Z.invoke("POST",_[z.loginStrategy]||"/api/v1/login",q[z.loginStrategy]).then((function(){n(!0),z.loginStrategy===i.form&&localStorage.setItem("userLoggedIn",(0,y.ug)(u));var e="/";localStorage.getItem("redirect-path")&&""!==localStorage.getItem("redirect-path")&&(e="".concat(localStorage.getItem("redirect-path")),localStorage.setItem("redirect-path","")),Z.Z.push(e)})).catch((function(e){K(!1),r(e)}))};(0,o.useEffect)((function(){H&&j.Z.invoke("GET","/api/v1/login").then((function(e){R(e),V(!1)})).catch((function(e){r(e),V(!1)}))}),[H,r]);var J=null;switch(z.loginStrategy){case i.form:J=(0,N.jsx)(o.Fragment,{children:(0,N.jsxs)("form",{className:t.form,noValidate:!0,onSubmit:G,children:[(0,N.jsxs)(f.ZP,{container:!0,spacing:2,children:[(0,N.jsx)(f.ZP,{item:!0,xs:12,className:t.spacerBottom,children:(0,N.jsx)(C,{fullWidth:!0,id:"accessKey",className:t.inputField,value:u,onChange:function(e){return p(e.target.value)},placeholder:"Username",name:"accessKey",autoComplete:"username",disabled:M,variant:"outlined",InputProps:{startAdornment:(0,N.jsx)(l.Z,{position:"start",className:t.iconColor,children:(0,N.jsx)(S.oy,{})})}})}),(0,N.jsx)(f.ZP,{item:!0,xs:12,children:(0,N.jsx)(C,{fullWidth:!0,className:t.inputField,value:B,onChange:function(e){return E(e.target.value)},name:"secretKey",type:"password",id:"secretKey",autoComplete:"current-password",disabled:M,placeholder:"Password",variant:"outlined",InputProps:{startAdornment:(0,N.jsx)(l.Z,{position:"start",className:t.iconColor,children:(0,N.jsx)(S.mB,{})})}})})]}),(0,N.jsx)(f.ZP,{item:!0,xs:12,className:t.submitContainer,children:(0,N.jsx)(x.Z,{type:"submit",variant:"contained",color:"primary",className:t.submit,disabled:""===B||""===u||M,children:"Login"})}),(0,N.jsx)(f.ZP,{item:!0,xs:12,className:t.linearPredef,children:M&&(0,N.jsx)(d.Z,{})})]})});break;case i.redirect:J=(0,N.jsx)(o.Fragment,{children:(0,N.jsx)(x.Z,{component:"a",href:z.redirect,type:"submit",variant:"contained",color:"primary",className:t.submit,children:"Login with SSO"})});break;case i.serviceAccount:J=(0,N.jsx)(o.Fragment,{children:(0,N.jsxs)("form",{className:t.form,noValidate:!0,onSubmit:G,children:[(0,N.jsx)(f.ZP,{container:!0,spacing:2,children:(0,N.jsx)(f.ZP,{item:!0,xs:12,children:(0,N.jsx)(C,{required:!0,className:t.inputField,fullWidth:!0,id:"jwt",value:P,onChange:function(e){return I(e.target.value)},name:"jwt",autoComplete:"off",disabled:M,placeholder:"Enter JWT",variant:"outlined",InputProps:{startAdornment:(0,N.jsx)(l.Z,{position:"start",children:(0,N.jsx)(S.mB,{})})}})})}),(0,N.jsx)(f.ZP,{item:!0,xs:12,className:t.submitContainer,children:(0,N.jsx)(x.Z,{type:"submit",variant:"contained",color:"primary",className:t.submit,disabled:""===P||M,children:"Login"})}),(0,N.jsx)(f.ZP,{item:!0,xs:12,className:t.linearPredef,children:M&&(0,N.jsx)(d.Z,{})})]})});break;default:J=(0,N.jsx)("div",{className:t.loaderAlignment,children:H?(0,N.jsx)(c.Z,{className:t.loadingLoginStrategy}):(0,N.jsxs)(o.Fragment,{children:[(0,N.jsx)("div",{children:(0,N.jsx)("p",{children:"An error has occurred, the backend cannot be reached."})}),(0,N.jsx)("div",{children:(0,N.jsx)(x.Z,{onClick:function(){V(!0)},endIcon:(0,N.jsx)(b.default,{}),color:"primary",variant:"outlined",className:t.retryButton,children:"Retry"})})]})})}var U=z.loginStrategy===i.serviceAccount?"Operator":"Console";return(0,N.jsx)(o.Fragment,{children:(0,N.jsxs)(m.Z,{className:t.loginPage,children:[(0,N.jsx)(w.Z,{}),(0,N.jsx)("div",{className:t.shadowBox,children:(0,N.jsxs)(f.ZP,{container:!0,className:t.loginContainer,children:[(0,N.jsx)(f.ZP,{item:!0,className:"consoleTextBanner",children:(0,N.jsxs)("div",{className:"left-items",children:[(0,N.jsx)("div",{className:"left-logo",children:(0,N.jsx)(S.BH,{})}),(0,N.jsx)("div",{className:"text-line1",children:"Welcome to"}),(0,N.jsx)("div",{className:"text-line2",children:U})]})}),(0,N.jsx)(f.ZP,{item:!0,className:"right-items",children:J})]})})]})})})))},65771:function(e,t,n){n.d(t,{Z:function(){return w}});var i=n(36222),a=n(1048),r=n(32793),o=n(50390),s=n(44977),l=n(50076),d=n(91442),c=n(35477),m=n(14478),g=n(23060),u=n(8208),p=n(10594);function x(e){return(0,p.Z)("MuiInputAdornment",e)}var h,f=(0,n(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),v=n(15573),j=n(62559),Z=["children","className","component","disablePointerEvents","disableTypography","position","variant"],b=(0,u.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["position".concat((0,d.Z)(n.position))],!0===n.disablePointerEvents&&t.disablePointerEvents,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,r.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:t.palette.action.active},"filled"===n.variant&&(0,i.Z)({},"&.".concat(f.positionStart,"&:not(.").concat(f.hiddenLabel,")"),{marginTop:16}),"start"===n.position&&{marginRight:8},"end"===n.position&&{marginLeft:8},!0===n.disablePointerEvents&&{pointerEvents:"none"})})),w=o.forwardRef((function(e,t){var n=(0,v.Z)({props:e,name:"MuiInputAdornment"}),i=n.children,u=n.className,p=n.component,f=void 0===p?"div":p,w=n.disablePointerEvents,y=void 0!==w&&w,S=n.disableTypography,P=void 0!==S&&S,N=n.position,I=n.variant,C=(0,a.Z)(n,Z),L=(0,g.Z)()||{},A=I;I&&L.variant,L&&!A&&(A=L.variant);var B=(0,r.Z)({},n,{hiddenLabel:L.hiddenLabel,size:L.size,disablePointerEvents:y,position:N,variant:A}),E=function(e){var t=e.classes,n=e.disablePointerEvents,i=e.hiddenLabel,a=e.position,r=e.size,o=e.variant,s={root:["root",n&&"disablePointerEvents",a&&"position".concat((0,d.Z)(a)),o,i&&"hiddenLabel",r&&"size".concat((0,d.Z)(r))]};return(0,l.Z)(s,x,t)}(B);return(0,j.jsx)(m.Z.Provider,{value:null,children:(0,j.jsx)(b,(0,r.Z)({as:f,ownerState:B,className:(0,s.Z)(E.root,u),ref:t},C,{children:"string"!==typeof i||P?(0,j.jsxs)(o.Fragment,{children:["start"===N?h||(h=(0,j.jsx)("span",{className:"notranslate",children:"\u200b"})):null,i]}):(0,j.jsx)(c.Z,{color:"text.secondary",children:i})}))})}))}}]); +//# sourceMappingURL=2178.7830bed4.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2178.7830bed4.chunk.js.map b/portal-ui/build/static/js/2178.7830bed4.chunk.js.map new file mode 100644 index 000000000..a2db7cd4b --- /dev/null +++ b/portal-ui/build/static/js/2178.7830bed4.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2178.7830bed4.chunk.js","mappings":"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","sources":["screens/LoginPage/types.ts","screens/LoginPage/LoginPage.tsx","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport interface ILoginDetails {\n loginStrategy: loginStrategyType;\n redirect: string;\n}\n\nexport enum loginStrategyType {\n unknown = \"unknown\",\n form = \"form\",\n redirect = \"redirect\",\n serviceAccount = \"service-account\",\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, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport {\n CircularProgress,\n InputAdornment,\n LinearProgress,\n Paper,\n TextFieldProps,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Button from \"@mui/material/Button\";\nimport TextField from \"@mui/material/TextField\";\nimport Grid from \"@mui/material/Grid\";\nimport { ILoginDetails, loginStrategyType } from \"./types\";\nimport { SystemState } from \"../../types\";\nimport { setErrorSnackMessage, userLoggedIn } from \"../../actions\";\nimport { ErrorResponseHandler } from \"../../common/types\";\nimport api from \"../../common/api\";\nimport history from \"../../history\";\nimport RefreshIcon from \"../../icons/RefreshIcon\";\nimport MainError from \"../Console/Common/MainError/MainError\";\nimport { encodeFileName } from \"../../common/utils\";\nimport { LockIcon, LoginMinIOLogo, UsersIcon } from \"../../icons\";\nimport { spacingUtils } from \"../Console/Common/FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n form: {\n width: \"100%\", // Fix IE 11 issue.\n },\n submit: {\n margin: \"30px 0px 16px\",\n height: 40,\n boxShadow: \"none\",\n padding: \"16px 30px\",\n },\n loginPage: {\n height: \"100%\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"stretch\",\n position: \"relative\",\n padding: 84,\n\n \"@media (max-width: 900px)\": {\n padding: 0,\n },\n },\n shadowBox: {\n boxShadow:\n \"rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.125) 0px 15px 50px 0px\",\n height: \"100%\",\n },\n loginContainer: {\n flex: 1,\n height: \"100%\",\n\n \"& .right-items\": {\n padding: 50,\n flex: 1,\n height: \"100%\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n maxWidth: \"33%\",\n\n \"@media (max-width: 900px)\": {\n maxWidth: \"100%\",\n margin: \"auto\",\n },\n },\n \"& .consoleTextBanner\": {\n fontWeight: 300,\n fontSize: \"calc(3vw + 3vh + 1.5vmin)\",\n lineHeight: 1.15,\n color: \"#ffffff\",\n flex: 1,\n textAlign: \"center\",\n height: \"100%\",\n display: \"flex\",\n justifyContent: \"flex-start\",\n margin: \"auto\",\n flexFlow: \"column\",\n background: \"linear-gradient(120deg,#081c42,#073052)\",\n\n \"& .logoLine\": {\n display: \"flex\",\n alignItems: \"center\",\n fontSize: 18,\n marginTop: 40,\n },\n \"& .left-items\": {\n margin: \"auto\",\n textAlign: \"left\",\n paddingRight: 240,\n paddingBottom: 200,\n \"@media (max-width: 1400px)\": {\n paddingBottom: 120,\n paddingRight: 50,\n },\n \"@media (max-width: 900px)\": {\n paddingBottom: 0,\n paddingRight: 0,\n },\n \"@media (max-width: 600px)\": {\n paddingBottom: 0,\n paddingRight: 0,\n },\n },\n \"& .left-logo\": {\n \"& .min-icon\": {\n color: \"white\",\n width: 108,\n },\n marginBottom: 10,\n },\n \"& .text-line1\": {\n font: \" 100 70px 'Lato'\",\n\n \"@media (max-width: 600px)\": {\n fontSize: 35,\n },\n \"@media (max-width: 800px)\": {\n fontSize: 45,\n },\n },\n \"& .text-line2\": {\n fontSize: 100,\n fontWeight: 100,\n textTransform: \"uppercase\",\n \"@media (max-width: 600px)\": {\n fontSize: 35,\n marginLeft: 0,\n },\n \"@media (max-width: 800px)\": {\n fontSize: 55,\n marginLeft: 0,\n },\n },\n \"& .logo-console\": {\n display: \"flex\",\n alignItems: \"center\",\n\n \"@media (max-width: 900px)\": {\n marginTop: 20,\n flexFlow: \"column\",\n\n \"& svg\": {\n width: \"50%\",\n },\n },\n },\n },\n },\n \"@media (max-width: 900px)\": {\n loginContainer: {\n display: \"flex\",\n flexFlow: \"column\",\n\n \"& .consoleTextBanner\": {\n margin: 0,\n flex: 2,\n\n \"& .left-items\": {\n alignItems: \"center\",\n textAlign: \"center\",\n },\n\n \"& .logoLine\": {\n justifyContent: \"center\",\n },\n },\n },\n },\n loadingLoginStrategy: {\n textAlign: \"center\",\n },\n headerTitle: {\n marginRight: \"auto\",\n marginBottom: 15,\n },\n submitContainer: {\n textAlign: \"right\",\n },\n linearPredef: {\n height: 10,\n },\n\n loaderAlignment: {\n display: \"flex\",\n width: \"100%\",\n height: \"100%\",\n justifyContent: \"center\",\n alignItems: \"center\",\n flexDirection: \"column\",\n },\n retryButton: {\n alignSelf: \"flex-end\",\n },\n ...spacingUtils,\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n \"& .MuiOutlinedInput-root\": {\n paddingLeft: 0,\n \"& svg\": {\n height: 16,\n color: theme.palette.primary.main,\n },\n \"& input\": {\n padding: 5,\n paddingLeft: 0,\n \"&::placeholder\": {\n fontSize: 12,\n },\n \"@media (max-width: 900px)\": {\n padding: 10,\n },\n },\n \"& fieldset\": {\n border: \"none\", // default\n borderBottom: \"1px solid #EAEAEA\",\n borderRadius: 0,\n },\n \"&.Mui-focused fieldset\": {\n borderBottom: \"1px solid #000000\",\n borderRadius: 0,\n },\n \"& fieldset:hover\": {\n borderBottom: \"2px solid #000000\",\n borderRadius: 0,\n },\n },\n },\n })\n);\n\nfunction LoginField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n \n );\n}\n\nconst mapState = (state: SystemState) => ({\n loggedIn: state.loggedIn,\n});\n\nconst connector = connect(mapState, { userLoggedIn, setErrorSnackMessage });\n\n// The inferred type will look like:\n// {isOn: boolean, toggleOn: () => void}\n\ninterface ILoginProps {\n userLoggedIn: typeof userLoggedIn;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n classes: any;\n}\n\ninterface LoginStrategyRoutes {\n [key: string]: string;\n}\n\ninterface LoginStrategyPayload {\n [key: string]: any;\n}\n\nconst Login = ({\n classes,\n userLoggedIn,\n setErrorSnackMessage,\n}: ILoginProps) => {\n const [accessKey, setAccessKey] = useState(\"\");\n const [jwt, setJwt] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n const [loginStrategy, setLoginStrategy] = useState({\n loginStrategy: loginStrategyType.unknown,\n redirect: \"\",\n });\n const [loginSending, setLoginSending] = useState(false);\n const [loadingFetchConfiguration, setLoadingFetchConfiguration] =\n useState(true);\n\n const loginStrategyEndpoints: LoginStrategyRoutes = {\n form: \"/api/v1/login\",\n \"service-account\": \"/api/v1/login/operator\",\n };\n const loginStrategyPayload: LoginStrategyPayload = {\n form: { accessKey, secretKey },\n \"service-account\": { jwt },\n };\n\n const fetchConfiguration = () => {\n setLoadingFetchConfiguration(true);\n };\n\n const formSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n setLoginSending(true);\n api\n .invoke(\n \"POST\",\n loginStrategyEndpoints[loginStrategy.loginStrategy] || \"/api/v1/login\",\n loginStrategyPayload[loginStrategy.loginStrategy]\n )\n .then(() => {\n // We set the state in redux\n userLoggedIn(true);\n if (loginStrategy.loginStrategy === loginStrategyType.form) {\n localStorage.setItem(\"userLoggedIn\", encodeFileName(accessKey));\n }\n let targetPath = \"/\";\n if (\n localStorage.getItem(\"redirect-path\") &&\n localStorage.getItem(\"redirect-path\") !== \"\"\n ) {\n targetPath = `${localStorage.getItem(\"redirect-path\")}`;\n localStorage.setItem(\"redirect-path\", \"\");\n }\n history.push(targetPath);\n })\n .catch((err) => {\n setLoginSending(false);\n setErrorSnackMessage(err);\n });\n };\n\n useEffect(() => {\n if (loadingFetchConfiguration) {\n api\n .invoke(\"GET\", \"/api/v1/login\")\n .then((loginDetails: ILoginDetails) => {\n setLoginStrategy(loginDetails);\n setLoadingFetchConfiguration(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingFetchConfiguration(false);\n });\n }\n }, [loadingFetchConfiguration, setErrorSnackMessage]);\n\n let loginComponent = null;\n\n switch (loginStrategy.loginStrategy) {\n case loginStrategyType.form: {\n loginComponent = (\n \n
\n \n \n ) =>\n setAccessKey(e.target.value)\n }\n placeholder={\"Username\"}\n name=\"accessKey\"\n autoComplete=\"username\"\n disabled={loginSending}\n variant={\"outlined\"}\n InputProps={{\n startAdornment: (\n \n \n \n ),\n }}\n />\n \n \n ) =>\n setSecretKey(e.target.value)\n }\n name=\"secretKey\"\n type=\"password\"\n id=\"secretKey\"\n autoComplete=\"current-password\"\n disabled={loginSending}\n placeholder={\"Password\"}\n variant={\"outlined\"}\n InputProps={{\n startAdornment: (\n \n \n \n ),\n }}\n />\n \n \n \n \n Login\n \n \n \n {loginSending && }\n \n
\n
\n );\n break;\n }\n case loginStrategyType.redirect: {\n loginComponent = (\n \n \n Login with SSO\n \n \n );\n break;\n }\n case loginStrategyType.serviceAccount: {\n loginComponent = (\n \n
\n \n \n ) =>\n setJwt(e.target.value)\n }\n name=\"jwt\"\n autoComplete=\"off\"\n disabled={loginSending}\n placeholder={\"Enter JWT\"}\n variant={\"outlined\"}\n InputProps={{\n startAdornment: (\n \n \n \n ),\n }}\n />\n \n \n \n \n Login\n \n \n \n {loginSending && }\n \n
\n
\n );\n break;\n }\n default:\n loginComponent = (\n
\n {loadingFetchConfiguration ? (\n \n ) : (\n \n
\n

An error has occurred, the backend cannot be reached.

\n
\n
\n {\n fetchConfiguration();\n }}\n endIcon={}\n color={\"primary\"}\n variant=\"outlined\"\n className={classes.retryButton}\n >\n Retry\n \n
\n
\n )}\n
\n );\n }\n\n const consoleText =\n loginStrategy.loginStrategy === loginStrategyType.serviceAccount\n ? \"Operator\"\n : \"Console\";\n\n return (\n \n \n \n
\n \n \n
\n
\n \n
\n
Welcome to
\n
{consoleText}
\n
\n
\n \n {loginComponent}\n \n
\n
\n
\n
\n );\n};\n\nexport default connector(withStyles(styles)(Login));\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;"],"names":["loginStrategyType","inputStyles","makeStyles","theme","createStyles","root","paddingLeft","height","color","palette","primary","main","padding","fontSize","border","borderBottom","borderRadius","LoginField","props","classes","TextField","variant","connect","state","loggedIn","userLoggedIn","setErrorSnackMessage","withStyles","form","width","submit","margin","boxShadow","loginPage","display","flexFlow","alignItems","position","shadowBox","loginContainer","flex","justifyContent","maxWidth","fontWeight","lineHeight","textAlign","background","marginTop","paddingRight","paddingBottom","marginBottom","font","textTransform","marginLeft","loadingLoginStrategy","headerTitle","marginRight","submitContainer","linearPredef","loaderAlignment","flexDirection","retryButton","alignSelf","spacingUtils","useState","accessKey","setAccessKey","jwt","setJwt","secretKey","setSecretKey","loginStrategy","unknown","redirect","setLoginStrategy","loginSending","setLoginSending","loadingFetchConfiguration","setLoadingFetchConfiguration","loginStrategyEndpoints","loginStrategyPayload","formSubmit","e","preventDefault","api","then","localStorage","setItem","encodeFileName","targetPath","getItem","history","catch","err","useEffect","loginDetails","loginComponent","className","noValidate","onSubmit","Grid","container","spacing","item","xs","spacerBottom","fullWidth","id","inputField","value","onChange","target","placeholder","name","autoComplete","disabled","InputProps","startAdornment","InputAdornment","iconColor","type","Button","LinearProgress","component","href","serviceAccount","required","CircularProgress","onClick","endIcon","RefreshIcon","consoleText","Paper","MainError","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","maxHeight","whiteSpace","action","active","inputAdornmentClasses","pointerEvents","React","inProps","ref","useThemeProps","children","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","size","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","clsx","_jsxs","Typography"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2178.cf1507fb.chunk.js b/portal-ui/build/static/js/2178.cf1507fb.chunk.js deleted file mode 100644 index 7ba311ffc..000000000 --- a/portal-ui/build/static/js/2178.cf1507fb.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2178],{32178:function(e,t,n){n.r(t),n.d(t,{default:function(){return L}});var i,a=n(23430),r=n(18489),o=n(50390),s=n(34424),l=n(65771),d=n(81378),c=n(18201),m=n(46981),g=n(86509),u=n(62449),p=n(4285),x=n(66946),h=n(12066),f=n(25594);!function(e){e.unknown="unknown",e.form="form",e.redirect="redirect",e.serviceAccount="service-account"}(i||(i={}));var v=n(44149),j=n(30324),Z=n(24442),b=n(18221),w=n(45980),y=n(28948),S=n(11387),P=n(72462),N=n(62559),I=(0,u.Z)((function(e){return(0,g.Z)({root:{"& .MuiOutlinedInput-root":{paddingLeft:0,"& svg":{height:16,color:e.palette.primary.main},"& input":{padding:5,paddingLeft:0,"&::placeholder":{fontSize:12},"@media (max-width: 900px)":{padding:10}},"& fieldset":{border:"none",borderBottom:"1px solid #EAEAEA",borderRadius:0},"&.Mui-focused fieldset":{borderBottom:"1px solid #000000",borderRadius:0},"& fieldset:hover":{borderBottom:"2px solid #000000",borderRadius:0}}}})}));function C(e){var t=I();return(0,N.jsx)(h.Z,(0,r.Z)({classes:{root:t.root},variant:"standard"},e))}var L=(0,s.$j)((function(e){return{loggedIn:e.loggedIn}}),{userLoggedIn:v.nD,setErrorSnackMessage:v.Ih})((0,p.Z)((function(e){return(0,g.Z)((0,r.Z)({form:{width:"100%"},submit:{margin:"30px 0px 16px",height:40,boxShadow:"none",padding:"16px 30px"},loginPage:{height:"100%",display:"flex",flexFlow:"column",alignItems:"stretch",position:"relative",padding:84,"@media (max-width: 900px)":{padding:0}},shadowBox:{boxShadow:"rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.125) 0px 15px 50px 0px",height:"100%"},loginContainer:{flex:1,height:"100%","& .right-items":{padding:50,flex:1,height:"100%",display:"flex",flexFlow:"column",alignItems:"center",justifyContent:"center",maxWidth:"33%","@media (max-width: 900px)":{maxWidth:"100%",margin:"auto"}},"& .consoleTextBanner":{fontWeight:300,fontSize:"calc(3vw + 3vh + 1.5vmin)",lineHeight:1.15,color:"#ffffff",flex:1,textAlign:"center",height:"100%",display:"flex",justifyContent:"flex-start",margin:"auto",flexFlow:"column",background:"linear-gradient(120deg,#081c42,#073052)","& .logoLine":{display:"flex",alignItems:"center",fontSize:18,marginTop:40},"& .left-items":{margin:"auto",textAlign:"left",paddingRight:240,paddingBottom:200,"@media (max-width: 1400px)":{paddingBottom:120,paddingRight:50},"@media (max-width: 900px)":{paddingBottom:0,paddingRight:0},"@media (max-width: 600px)":{paddingBottom:0,paddingRight:0}},"& .left-logo":{"& .min-icon":{width:108},marginBottom:10},"& .text-line1":{font:" 100 70px 'Lato'","@media (max-width: 600px)":{fontSize:35},"@media (max-width: 800px)":{fontSize:45}},"& .text-line2":{fontSize:100,fontWeight:100,textTransform:"uppercase","@media (max-width: 600px)":{fontSize:35,marginLeft:0},"@media (max-width: 800px)":{fontSize:55,marginLeft:0}},"& .logo-console":{display:"flex",alignItems:"center","@media (max-width: 900px)":{marginTop:20,flexFlow:"column","& svg":{width:"50%"}}}}},"@media (max-width: 900px)":{loginContainer:{display:"flex",flexFlow:"column","& .consoleTextBanner":{margin:0,flex:2,"& .left-items":{alignItems:"center",textAlign:"center"},"& .logoLine":{justifyContent:"center"}}}},loadingLoginStrategy:{textAlign:"center"},headerTitle:{marginRight:"auto",marginBottom:15},submitContainer:{textAlign:"right"},linearPredef:{height:10},loaderAlignment:{display:"flex",width:"100%",height:"100%",justifyContent:"center",alignItems:"center",flexDirection:"column"},retryButton:{alignSelf:"flex-end"}},P.bK))}))((function(e){var t=e.classes,n=e.userLoggedIn,r=e.setErrorSnackMessage,s=(0,o.useState)(""),g=(0,a.Z)(s,2),u=g[0],p=g[1],h=(0,o.useState)(""),v=(0,a.Z)(h,2),P=v[0],I=v[1],L=(0,o.useState)(""),A=(0,a.Z)(L,2),B=A[0],E=A[1],k=(0,o.useState)({loginStrategy:i.unknown,redirect:""}),F=(0,a.Z)(k,2),z=F[0],R=F[1],T=(0,o.useState)(!1),W=(0,a.Z)(T,2),M=W[0],K=W[1],O=(0,o.useState)(!0),D=(0,a.Z)(O,2),H=D[0],V=D[1],_={form:"/api/v1/login","service-account":"/api/v1/login/operator"},q={form:{accessKey:u,secretKey:B},"service-account":{jwt:P}},G=function(e){e.preventDefault(),K(!0),j.Z.invoke("POST",_[z.loginStrategy]||"/api/v1/login",q[z.loginStrategy]).then((function(){n(!0),z.loginStrategy===i.form&&localStorage.setItem("userLoggedIn",(0,y.ug)(u));var e="/";localStorage.getItem("redirect-path")&&""!==localStorage.getItem("redirect-path")&&(e="".concat(localStorage.getItem("redirect-path")),localStorage.setItem("redirect-path","")),Z.Z.push(e)})).catch((function(e){K(!1),r(e)}))};(0,o.useEffect)((function(){H&&j.Z.invoke("GET","/api/v1/login").then((function(e){R(e),V(!1)})).catch((function(e){r(e),V(!1)}))}),[H,r]);var J=null;switch(z.loginStrategy){case i.form:J=(0,N.jsx)(o.Fragment,{children:(0,N.jsxs)("form",{className:t.form,noValidate:!0,onSubmit:G,children:[(0,N.jsxs)(f.ZP,{container:!0,spacing:2,children:[(0,N.jsx)(f.ZP,{item:!0,xs:12,className:t.spacerBottom,children:(0,N.jsx)(C,{fullWidth:!0,id:"accessKey",className:t.inputField,value:u,onChange:function(e){return p(e.target.value)},placeholder:"Username",name:"accessKey",autoComplete:"username",disabled:M,variant:"outlined",InputProps:{startAdornment:(0,N.jsx)(l.Z,{position:"start",className:t.iconColor,children:(0,N.jsx)(S.oy,{})})}})}),(0,N.jsx)(f.ZP,{item:!0,xs:12,children:(0,N.jsx)(C,{fullWidth:!0,className:t.inputField,value:B,onChange:function(e){return E(e.target.value)},name:"secretKey",type:"password",id:"secretKey",autoComplete:"current-password",disabled:M,placeholder:"Password",variant:"outlined",InputProps:{startAdornment:(0,N.jsx)(l.Z,{position:"start",className:t.iconColor,children:(0,N.jsx)(S.mB,{})})}})})]}),(0,N.jsx)(f.ZP,{item:!0,xs:12,className:t.submitContainer,children:(0,N.jsx)(x.Z,{type:"submit",variant:"contained",color:"primary",className:t.submit,disabled:""===B||""===u||M,children:"Login"})}),(0,N.jsx)(f.ZP,{item:!0,xs:12,className:t.linearPredef,children:M&&(0,N.jsx)(d.Z,{})})]})});break;case i.redirect:J=(0,N.jsx)(o.Fragment,{children:(0,N.jsx)(x.Z,{component:"a",href:z.redirect,type:"submit",variant:"contained",color:"primary",className:t.submit,children:"Login with SSO"})});break;case i.serviceAccount:J=(0,N.jsx)(o.Fragment,{children:(0,N.jsxs)("form",{className:t.form,noValidate:!0,onSubmit:G,children:[(0,N.jsx)(f.ZP,{container:!0,spacing:2,children:(0,N.jsx)(f.ZP,{item:!0,xs:12,children:(0,N.jsx)(C,{required:!0,className:t.inputField,fullWidth:!0,id:"jwt",value:P,onChange:function(e){return I(e.target.value)},name:"jwt",autoComplete:"off",disabled:M,placeholder:"Enter JWT",variant:"outlined",InputProps:{startAdornment:(0,N.jsx)(l.Z,{position:"start",children:(0,N.jsx)(S.mB,{})})}})})}),(0,N.jsx)(f.ZP,{item:!0,xs:12,className:t.submitContainer,children:(0,N.jsx)(x.Z,{type:"submit",variant:"contained",color:"primary",className:t.submit,disabled:""===P||M,children:"Login"})}),(0,N.jsx)(f.ZP,{item:!0,xs:12,className:t.linearPredef,children:M&&(0,N.jsx)(d.Z,{})})]})});break;default:J=(0,N.jsx)("div",{className:t.loaderAlignment,children:H?(0,N.jsx)(c.Z,{className:t.loadingLoginStrategy}):(0,N.jsxs)(o.Fragment,{children:[(0,N.jsx)("div",{children:(0,N.jsx)("p",{children:"An error has occurred, the backend cannot be reached."})}),(0,N.jsx)("div",{children:(0,N.jsx)(x.Z,{onClick:function(){V(!0)},endIcon:(0,N.jsx)(b.default,{}),color:"primary",variant:"outlined",className:t.retryButton,children:"Retry"})})]})})}var U=z.loginStrategy===i.serviceAccount?"Operator":"Console";return(0,N.jsx)(o.Fragment,{children:(0,N.jsxs)(m.Z,{className:t.loginPage,children:[(0,N.jsx)(w.Z,{}),(0,N.jsx)("div",{className:t.shadowBox,children:(0,N.jsxs)(f.ZP,{container:!0,className:t.loginContainer,children:[(0,N.jsx)(f.ZP,{item:!0,className:"consoleTextBanner",children:(0,N.jsxs)("div",{className:"left-items",children:[(0,N.jsx)("div",{className:"left-logo",children:(0,N.jsx)(S.BH,{})}),(0,N.jsx)("div",{className:"text-line1",children:"Welcome to"}),(0,N.jsx)("div",{className:"text-line2",children:U})]})}),(0,N.jsx)(f.ZP,{item:!0,className:"right-items",children:J})]})})]})})})))},65771:function(e,t,n){n.d(t,{Z:function(){return w}});var i=n(36222),a=n(1048),r=n(32793),o=n(50390),s=n(44977),l=n(50076),d=n(91442),c=n(35477),m=n(14478),g=n(23060),u=n(8208),p=n(10594);function x(e){return(0,p.Z)("MuiInputAdornment",e)}var h,f=(0,n(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),v=n(15573),j=n(62559),Z=["children","className","component","disablePointerEvents","disableTypography","position","variant"],b=(0,u.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["position".concat((0,d.Z)(n.position))],!0===n.disablePointerEvents&&t.disablePointerEvents,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,r.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:t.palette.action.active},"filled"===n.variant&&(0,i.Z)({},"&.".concat(f.positionStart,"&:not(.").concat(f.hiddenLabel,")"),{marginTop:16}),"start"===n.position&&{marginRight:8},"end"===n.position&&{marginLeft:8},!0===n.disablePointerEvents&&{pointerEvents:"none"})})),w=o.forwardRef((function(e,t){var n=(0,v.Z)({props:e,name:"MuiInputAdornment"}),i=n.children,u=n.className,p=n.component,f=void 0===p?"div":p,w=n.disablePointerEvents,y=void 0!==w&&w,S=n.disableTypography,P=void 0!==S&&S,N=n.position,I=n.variant,C=(0,a.Z)(n,Z),L=(0,g.Z)()||{},A=I;I&&L.variant,L&&!A&&(A=L.variant);var B=(0,r.Z)({},n,{hiddenLabel:L.hiddenLabel,size:L.size,disablePointerEvents:y,position:N,variant:A}),E=function(e){var t=e.classes,n=e.disablePointerEvents,i=e.hiddenLabel,a=e.position,r=e.size,o=e.variant,s={root:["root",n&&"disablePointerEvents",a&&"position".concat((0,d.Z)(a)),o,i&&"hiddenLabel",r&&"size".concat((0,d.Z)(r))]};return(0,l.Z)(s,x,t)}(B);return(0,j.jsx)(m.Z.Provider,{value:null,children:(0,j.jsx)(b,(0,r.Z)({as:f,ownerState:B,className:(0,s.Z)(E.root,u),ref:t},C,{children:"string"!==typeof i||P?(0,j.jsxs)(o.Fragment,{children:["start"===N?h||(h=(0,j.jsx)("span",{className:"notranslate",children:"\u200b"})):null,i]}):(0,j.jsx)(c.Z,{color:"text.secondary",children:i})}))})}))}}]); -//# sourceMappingURL=2178.cf1507fb.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2178.cf1507fb.chunk.js.map b/portal-ui/build/static/js/2178.cf1507fb.chunk.js.map deleted file mode 100644 index 0fbe98a10..000000000 --- a/portal-ui/build/static/js/2178.cf1507fb.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/2178.cf1507fb.chunk.js","mappings":"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","sources":["screens/LoginPage/types.ts","screens/LoginPage/LoginPage.tsx","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport interface ILoginDetails {\n loginStrategy: loginStrategyType;\n redirect: string;\n}\n\nexport enum loginStrategyType {\n unknown = \"unknown\",\n form = \"form\",\n redirect = \"redirect\",\n serviceAccount = \"service-account\",\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, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport {\n CircularProgress,\n InputAdornment,\n LinearProgress,\n Paper,\n TextFieldProps,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Button from \"@mui/material/Button\";\nimport TextField from \"@mui/material/TextField\";\nimport Grid from \"@mui/material/Grid\";\nimport { ILoginDetails, loginStrategyType } from \"./types\";\nimport { SystemState } from \"../../types\";\nimport { setErrorSnackMessage, userLoggedIn } from \"../../actions\";\nimport { ErrorResponseHandler } from \"../../common/types\";\nimport api from \"../../common/api\";\nimport history from \"../../history\";\nimport RefreshIcon from \"../../icons/RefreshIcon\";\nimport MainError from \"../Console/Common/MainError/MainError\";\nimport { encodeFileName } from \"../../common/utils\";\nimport { LockIcon, LoginMinIOLogo, UsersIcon } from \"../../icons\";\nimport { spacingUtils } from \"../Console/Common/FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n form: {\n width: \"100%\", // Fix IE 11 issue.\n },\n submit: {\n margin: \"30px 0px 16px\",\n height: 40,\n boxShadow: \"none\",\n padding: \"16px 30px\",\n },\n loginPage: {\n height: \"100%\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"stretch\",\n position: \"relative\",\n padding: 84,\n\n \"@media (max-width: 900px)\": {\n padding: 0,\n },\n },\n shadowBox: {\n boxShadow:\n \"rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.125) 0px 15px 50px 0px\",\n height: \"100%\",\n },\n loginContainer: {\n flex: 1,\n height: \"100%\",\n\n \"& .right-items\": {\n padding: 50,\n flex: 1,\n height: \"100%\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n maxWidth: \"33%\",\n\n \"@media (max-width: 900px)\": {\n maxWidth: \"100%\",\n margin: \"auto\",\n },\n },\n \"& .consoleTextBanner\": {\n fontWeight: 300,\n fontSize: \"calc(3vw + 3vh + 1.5vmin)\",\n lineHeight: 1.15,\n color: \"#ffffff\",\n flex: 1,\n textAlign: \"center\",\n height: \"100%\",\n display: \"flex\",\n justifyContent: \"flex-start\",\n margin: \"auto\",\n flexFlow: \"column\",\n background: \"linear-gradient(120deg,#081c42,#073052)\",\n\n \"& .logoLine\": {\n display: \"flex\",\n alignItems: \"center\",\n fontSize: 18,\n marginTop: 40,\n },\n \"& .left-items\": {\n margin: \"auto\",\n textAlign: \"left\",\n paddingRight: 240,\n paddingBottom: 200,\n \"@media (max-width: 1400px)\": {\n paddingBottom: 120,\n paddingRight: 50,\n },\n \"@media (max-width: 900px)\": {\n paddingBottom: 0,\n paddingRight: 0,\n },\n \"@media (max-width: 600px)\": {\n paddingBottom: 0,\n paddingRight: 0,\n },\n },\n \"& .left-logo\": {\n \"& .min-icon\": {\n width: 108,\n },\n marginBottom: 10,\n },\n \"& .text-line1\": {\n font: \" 100 70px 'Lato'\",\n\n \"@media (max-width: 600px)\": {\n fontSize: 35,\n },\n \"@media (max-width: 800px)\": {\n fontSize: 45,\n },\n },\n \"& .text-line2\": {\n fontSize: 100,\n fontWeight: 100,\n textTransform: \"uppercase\",\n \"@media (max-width: 600px)\": {\n fontSize: 35,\n marginLeft: 0,\n },\n \"@media (max-width: 800px)\": {\n fontSize: 55,\n marginLeft: 0,\n },\n },\n \"& .logo-console\": {\n display: \"flex\",\n alignItems: \"center\",\n\n \"@media (max-width: 900px)\": {\n marginTop: 20,\n flexFlow: \"column\",\n\n \"& svg\": {\n width: \"50%\",\n },\n },\n },\n },\n },\n \"@media (max-width: 900px)\": {\n loginContainer: {\n display: \"flex\",\n flexFlow: \"column\",\n\n \"& .consoleTextBanner\": {\n margin: 0,\n flex: 2,\n\n \"& .left-items\": {\n alignItems: \"center\",\n textAlign: \"center\",\n },\n\n \"& .logoLine\": {\n justifyContent: \"center\",\n },\n },\n },\n },\n loadingLoginStrategy: {\n textAlign: \"center\",\n },\n headerTitle: {\n marginRight: \"auto\",\n marginBottom: 15,\n },\n submitContainer: {\n textAlign: \"right\",\n },\n linearPredef: {\n height: 10,\n },\n\n loaderAlignment: {\n display: \"flex\",\n width: \"100%\",\n height: \"100%\",\n justifyContent: \"center\",\n alignItems: \"center\",\n flexDirection: \"column\",\n },\n retryButton: {\n alignSelf: \"flex-end\",\n },\n ...spacingUtils,\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n \"& .MuiOutlinedInput-root\": {\n paddingLeft: 0,\n \"& svg\": {\n height: 16,\n color: theme.palette.primary.main,\n },\n \"& input\": {\n padding: 5,\n paddingLeft: 0,\n \"&::placeholder\": {\n fontSize: 12,\n },\n \"@media (max-width: 900px)\": {\n padding: 10,\n },\n },\n \"& fieldset\": {\n border: \"none\", // default\n borderBottom: \"1px solid #EAEAEA\",\n borderRadius: 0,\n },\n \"&.Mui-focused fieldset\": {\n borderBottom: \"1px solid #000000\",\n borderRadius: 0,\n },\n \"& fieldset:hover\": {\n borderBottom: \"2px solid #000000\",\n borderRadius: 0,\n },\n },\n },\n })\n);\n\nfunction LoginField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n \n );\n}\n\nconst mapState = (state: SystemState) => ({\n loggedIn: state.loggedIn,\n});\n\nconst connector = connect(mapState, { userLoggedIn, setErrorSnackMessage });\n\n// The inferred type will look like:\n// {isOn: boolean, toggleOn: () => void}\n\ninterface ILoginProps {\n userLoggedIn: typeof userLoggedIn;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n classes: any;\n}\n\ninterface LoginStrategyRoutes {\n [key: string]: string;\n}\n\ninterface LoginStrategyPayload {\n [key: string]: any;\n}\n\nconst Login = ({\n classes,\n userLoggedIn,\n setErrorSnackMessage,\n}: ILoginProps) => {\n const [accessKey, setAccessKey] = useState(\"\");\n const [jwt, setJwt] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n const [loginStrategy, setLoginStrategy] = useState({\n loginStrategy: loginStrategyType.unknown,\n redirect: \"\",\n });\n const [loginSending, setLoginSending] = useState(false);\n const [loadingFetchConfiguration, setLoadingFetchConfiguration] =\n useState(true);\n\n const loginStrategyEndpoints: LoginStrategyRoutes = {\n form: \"/api/v1/login\",\n \"service-account\": \"/api/v1/login/operator\",\n };\n const loginStrategyPayload: LoginStrategyPayload = {\n form: { accessKey, secretKey },\n \"service-account\": { jwt },\n };\n\n const fetchConfiguration = () => {\n setLoadingFetchConfiguration(true);\n };\n\n const formSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n setLoginSending(true);\n api\n .invoke(\n \"POST\",\n loginStrategyEndpoints[loginStrategy.loginStrategy] || \"/api/v1/login\",\n loginStrategyPayload[loginStrategy.loginStrategy]\n )\n .then(() => {\n // We set the state in redux\n userLoggedIn(true);\n if (loginStrategy.loginStrategy === loginStrategyType.form) {\n localStorage.setItem(\"userLoggedIn\", encodeFileName(accessKey));\n }\n let targetPath = \"/\";\n if (\n localStorage.getItem(\"redirect-path\") &&\n localStorage.getItem(\"redirect-path\") !== \"\"\n ) {\n targetPath = `${localStorage.getItem(\"redirect-path\")}`;\n localStorage.setItem(\"redirect-path\", \"\");\n }\n history.push(targetPath);\n })\n .catch((err) => {\n setLoginSending(false);\n setErrorSnackMessage(err);\n });\n };\n\n useEffect(() => {\n if (loadingFetchConfiguration) {\n api\n .invoke(\"GET\", \"/api/v1/login\")\n .then((loginDetails: ILoginDetails) => {\n setLoginStrategy(loginDetails);\n setLoadingFetchConfiguration(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingFetchConfiguration(false);\n });\n }\n }, [loadingFetchConfiguration, setErrorSnackMessage]);\n\n let loginComponent = null;\n\n switch (loginStrategy.loginStrategy) {\n case loginStrategyType.form: {\n loginComponent = (\n \n
\n \n \n ) =>\n setAccessKey(e.target.value)\n }\n placeholder={\"Username\"}\n name=\"accessKey\"\n autoComplete=\"username\"\n disabled={loginSending}\n variant={\"outlined\"}\n InputProps={{\n startAdornment: (\n \n \n \n ),\n }}\n />\n \n \n ) =>\n setSecretKey(e.target.value)\n }\n name=\"secretKey\"\n type=\"password\"\n id=\"secretKey\"\n autoComplete=\"current-password\"\n disabled={loginSending}\n placeholder={\"Password\"}\n variant={\"outlined\"}\n InputProps={{\n startAdornment: (\n \n \n \n ),\n }}\n />\n \n \n \n \n Login\n \n \n \n {loginSending && }\n \n
\n
\n );\n break;\n }\n case loginStrategyType.redirect: {\n loginComponent = (\n \n \n Login with SSO\n \n \n );\n break;\n }\n case loginStrategyType.serviceAccount: {\n loginComponent = (\n \n
\n \n \n ) =>\n setJwt(e.target.value)\n }\n name=\"jwt\"\n autoComplete=\"off\"\n disabled={loginSending}\n placeholder={\"Enter JWT\"}\n variant={\"outlined\"}\n InputProps={{\n startAdornment: (\n \n \n \n ),\n }}\n />\n \n \n \n \n Login\n \n \n \n {loginSending && }\n \n
\n
\n );\n break;\n }\n default:\n loginComponent = (\n
\n {loadingFetchConfiguration ? (\n \n ) : (\n \n
\n

An error has occurred, the backend cannot be reached.

\n
\n
\n {\n fetchConfiguration();\n }}\n endIcon={}\n color={\"primary\"}\n variant=\"outlined\"\n className={classes.retryButton}\n >\n Retry\n \n
\n
\n )}\n
\n );\n }\n\n const consoleText =\n loginStrategy.loginStrategy === loginStrategyType.serviceAccount\n ? \"Operator\"\n : \"Console\";\n\n return (\n \n \n \n
\n \n \n
\n
\n \n
\n
Welcome to
\n
{consoleText}
\n
\n
\n \n {loginComponent}\n \n
\n
\n
\n
\n );\n};\n\nexport default connector(withStyles(styles)(Login));\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;"],"names":["loginStrategyType","inputStyles","makeStyles","theme","createStyles","root","paddingLeft","height","color","palette","primary","main","padding","fontSize","border","borderBottom","borderRadius","LoginField","props","classes","TextField","variant","connect","state","loggedIn","userLoggedIn","setErrorSnackMessage","withStyles","form","width","submit","margin","boxShadow","loginPage","display","flexFlow","alignItems","position","shadowBox","loginContainer","flex","justifyContent","maxWidth","fontWeight","lineHeight","textAlign","background","marginTop","paddingRight","paddingBottom","marginBottom","font","textTransform","marginLeft","loadingLoginStrategy","headerTitle","marginRight","submitContainer","linearPredef","loaderAlignment","flexDirection","retryButton","alignSelf","spacingUtils","useState","accessKey","setAccessKey","jwt","setJwt","secretKey","setSecretKey","loginStrategy","unknown","redirect","setLoginStrategy","loginSending","setLoginSending","loadingFetchConfiguration","setLoadingFetchConfiguration","loginStrategyEndpoints","loginStrategyPayload","formSubmit","e","preventDefault","api","then","localStorage","setItem","encodeFileName","targetPath","getItem","history","catch","err","useEffect","loginDetails","loginComponent","className","noValidate","onSubmit","Grid","container","spacing","item","xs","spacerBottom","fullWidth","id","inputField","value","onChange","target","placeholder","name","autoComplete","disabled","InputProps","startAdornment","InputAdornment","iconColor","type","Button","LinearProgress","component","href","serviceAccount","required","CircularProgress","onClick","endIcon","RefreshIcon","consoleText","Paper","MainError","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","maxHeight","whiteSpace","action","active","inputAdornmentClasses","pointerEvents","React","inProps","ref","useThemeProps","children","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","size","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","clsx","_jsxs","Typography"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2182.468a5b4e.chunk.js b/portal-ui/build/static/js/2182.2e7a9981.chunk.js similarity index 98% rename from portal-ui/build/static/js/2182.468a5b4e.chunk.js rename to portal-ui/build/static/js/2182.2e7a9981.chunk.js index 9202a1681..07444458f 100644 --- a/portal-ui/build/static/js/2182.468a5b4e.chunk.js +++ b/portal-ui/build/static/js/2182.2e7a9981.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2182],{53224:function(e,n,t){var a=t(18489),i=t(83738),o=(t(50390),t(70758)),r=t(62449),l=t(62559),s=["onClick","text","disabled","tooltip","icon"],c=(0,r.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,a=n.color,i=e.palette.primary.main;return"primary"===a&&"contained"===t?i=e.palette.primary.contrastText:"primary"===a&&"outlined"===t?i=e.palette.primary.main:"secondary"===a&&(i=e.palette.secondary.main),i}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,r=e.text,d=void 0===r?"":r,u=e.disabled,m=void 0!==u&&u,x=e.tooltip,h=e.icon,p=void 0===h?null:h,g=(0,i.Z)(e,s);return(0,l.jsxs)(o.Z,(0,a.Z)((0,a.Z)({classes:n,tooltip:x||d,variant:"outlined",onClick:t,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},g),{},{children:[(0,l.jsx)("span",{children:d})," ",p]}))}},11835:function(e,n,t){var a=t(18489),i=t(83738),o=(t(50390),t(86509)),r=t(4285),l=t(62559),s=["classes","children"];n.Z=(0,r.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,i.Z)(e,s);return(0,l.jsx)("button",(0,a.Z)((0,a.Z)({},o),{},{className:n.root,children:t}))}))},92440:function(e,n,t){var a=t(36222),i=t(18489),o=t(50390),r=t(86509),l=t(4285),s=t(49056),c=t(14602),d=t(94187),u=t(35477),m=t(25594),x=t(72462),h=t(97538),p=t(44977),g=t(62559),f=(0,l.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(s.Z);n.Z=(0,l.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},x.OR),x.YI))}))((function(e){var n=e.label,t=void 0===n?"":n,i=e.onChange,r=e.value,l=e.id,s=e.name,x=e.checked,v=void 0!==x&&x,b=e.disabled,Z=void 0!==b&&b,j=e.switchOnly,y=void 0!==j&&j,C=e.tooltip,w=void 0===C?"":C,k=e.description,S=void 0===k?"":k,E=e.classes,N=e.indicatorLabels,P=(0,g.jsxs)(o.Fragment,{children:[!y&&(0,g.jsx)("span",{className:(0,p.Z)(E.indicatorLabel,(0,a.Z)({},E.indicatorLabelOn,!v)),children:N&&N.length>1?N[1]:"OFF"}),(0,g.jsx)(f,{checked:v,onChange:i,color:"primary",name:s,inputProps:{"aria-label":"primary checkbox"},disabled:Z,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:r}),!y&&(0,g.jsx)("span",{className:(0,p.Z)(E.indicatorLabel,(0,a.Z)({},E.indicatorLabelOn,v)),children:N?N[0]:"ON"})]});return y?P:(0,g.jsx)("div",{className:E.divContainer,children:(0,g.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[(0,g.jsx)(m.ZP,{item:!0,xs:!0,children:(0,g.jsxs)(m.ZP,{container:!0,children:[(0,g.jsx)(m.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==t&&(0,g.jsxs)(c.Z,{htmlFor:l,className:E.inputLabel,children:[(0,g.jsx)("span",{children:t}),""!==w&&(0,g.jsx)("div",{className:E.tooltipContainer,children:(0,g.jsx)(d.Z,{title:w,placement:"top-start",children:(0,g.jsx)("div",{className:E.tooltip,children:(0,g.jsx)(h.Z,{})})})})]})}),(0,g.jsx)(m.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==S&&(0,g.jsx)(u.Z,{component:"p",className:E.fieldDescription,children:S})})]})}),(0,g.jsx)(m.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:E.switchContainer,children:P})]})})}))},66964:function(e,n,t){var a=t(18489),i=t(50390),o=t(12066),r=t(25594),l=t(14602),s=t(94187),c=t(95467),d=t(86509),u=t(62449),m=t(4285),x=t(72462),h=t(97538),p=t(44977),g=t(62559),f=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)({},x.gM))}));function v(e){var n=f();return(0,g.jsx)(o.Z,(0,a.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},x.YI),x.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,a.Z)((0,a.Z)({},x.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,t=e.onChange,o=e.value,d=e.id,u=e.name,m=e.type,x=void 0===m?"text":m,f=e.autoComplete,b=void 0===f?"off":f,Z=e.disabled,j=void 0!==Z&&Z,y=e.multiline,C=void 0!==y&&y,w=e.tooltip,k=void 0===w?"":w,S=e.index,E=void 0===S?0:S,N=e.error,P=void 0===N?"":N,I=e.required,R=void 0!==I&&I,L=e.placeholder,F=void 0===L?"":L,M=e.min,D=e.max,T=e.overlayIcon,B=void 0===T?null:T,O=e.overlayObject,z=void 0===O?null:O,_=e.extraInputProps,A=void 0===_?{}:_,W=e.overlayAction,$=e.noLabelMinWidth,U=void 0!==$&&$,V=e.pattern,H=void 0===V?"":V,Y=e.autoFocus,q=void 0!==Y&&Y,Q=e.classes,X=e.className,G=void 0===X?"":X,J=(0,a.Z)({"data-index":E},A);return"number"===x&&M&&(J.min=M),"number"===x&&D&&(J.max=D),""!==H&&(J.pattern=H),(0,g.jsx)(i.Fragment,{children:(0,g.jsxs)(r.ZP,{container:!0,className:(0,p.Z)(""!==G?G:"",""!==P?Q.errorInField:Q.inputBoxContainer),children:[""!==n&&(0,g.jsxs)(l.Z,{htmlFor:d,className:U?Q.noMinWidthLabel:Q.inputLabel,children:[(0,g.jsxs)("span",{children:[n,R?"*":""]}),""!==k&&(0,g.jsx)("div",{className:Q.tooltipContainer,children:(0,g.jsx)(s.Z,{title:k,placement:"top-start",children:(0,g.jsx)("div",{className:Q.tooltip,children:(0,g.jsx)(h.Z,{})})})})]}),(0,g.jsxs)("div",{className:Q.textBoxContainer,children:[(0,g.jsx)(v,{id:d,name:u,fullWidth:!0,value:o,autoFocus:q,disabled:j,onChange:t,type:x,multiline:C,autoComplete:b,inputProps:J,error:""!==P,helperText:P,placeholder:F,className:Q.inputRebase}),B&&(0,g.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,g.jsx)(c.Z,{onClick:W?function(){W()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:B})}),z&&(0,g.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==n?"withLabel":""),children:z})]})]})})}))},76352:function(e,n,t){t.d(n,{Z:function(){return E}});var a,i=t(23430),o=t(18489),r=t(50390),l=t(34424),s=t(95467),c=t(97771),d=t(84402),u=t(78426),m=t(93085),x=t(86509),h=t(4285),p=t(72462),g=t(44149),f=t(38342),v=t.n(f),b=t(92125),Z=t(19538),j=t(21278),y=t(62559),C=function(){clearInterval(a)},w={displayErrorMessage:g.zb},k=(0,l.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),w)((0,h.Z)((function(e){return(0,x.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var n=e.classes,t=e.modalSnackMessage,o=e.displayErrorMessage,l=e.customStyle,s=(0,r.useState)(!1),c=(0,i.Z)(s,2),d=c[0],u=c[1],m=(0,r.useState)(!1),x=(0,i.Z)(m,2),h=x[0],p=x[1],g=(0,r.useCallback)((function(){p(!1)}),[]);(0,r.useEffect)((function(){h||(o({detailedError:"",errorMessage:""}),u(!1))}),[o,h]),(0,r.useEffect)((function(){""!==t.message&&"error"===t.type&&p(!0)}),[g,t.message,t.type]);var f=v()(t,"message",""),w=v()(t,"detailedErrorMsg","");return"error"!==t.type||""===f?null:(0,y.jsx)(r.Fragment,{children:(0,y.jsxs)("div",{className:"".concat(n.modalErrorContainer," ").concat(h?n.modalErrorShow:""),style:l,onMouseOver:C,onMouseLeave:function(){a=setInterval(g,1e4)},children:[(0,y.jsx)("button",{className:n.closeButton,onClick:g,children:(0,y.jsx)(j.Z,{})}),(0,y.jsxs)("div",{className:n.errorTitle,children:[(0,y.jsx)("span",{className:n.messageIcon,children:(0,y.jsx)(Z.Z,{})}),(0,y.jsx)("span",{className:n.errorLabel,children:f})]}),""!==w&&(0,y.jsxs)(r.Fragment,{children:[(0,y.jsx)("div",{className:n.detailsContainerLink,children:(0,y.jsxs)("button",{className:n.detailsButton,onClick:function(){u(!d)},children:["Details",(0,y.jsx)(b.Z,{className:"".concat(n.arrowElement," ").concat(d?n.arrowOpen:"")})]})}),(0,y.jsx)("div",{className:"".concat(n.extraDetailsContainer," ").concat(d?n.extraDetailsOpen:""),children:w})]})]})})}))),S=(0,l.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:g.MK}),E=(0,h.Z)((function(e){return(0,x.Z)((0,o.Z)((0,o.Z)({},p.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},p.sN))}))(S((function(e){var n=e.onClose,t=e.modalOpen,a=e.title,l=e.children,x=e.classes,h=e.wideLimit,p=void 0===h||h,g=e.modalSnackMessage,f=e.noContentPadding,v=e.setModalSnackMessage,b=e.titleIcon,Z=void 0===b?null:b,C=(0,r.useState)(!1),w=(0,i.Z)(C,2),S=w[0],E=w[1];(0,r.useEffect)((function(){v("")}),[v]),(0,r.useEffect)((function(){if(g){if(""===g.message)return void E(!1);"error"!==g.type&&E(!0)}}),[g]);var N=p?{classes:{paper:x.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},P="";return g&&(P=g.detailedErrorMsg,(""===g.detailedErrorMsg||g.detailedErrorMsg.length<5)&&(P=g.message)),(0,y.jsxs)(d.Z,(0,o.Z)((0,o.Z)({open:t,classes:x},N),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:x.root,children:[(0,y.jsxs)(u.Z,{className:x.title,children:[(0,y.jsxs)("div",{className:x.titleText,children:[Z," ",a]}),(0,y.jsx)("div",{className:x.closeContainer,children:(0,y.jsx)(s.Z,{"aria-label":"close",className:x.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,y.jsx)(j.Z,{})})})]}),(0,y.jsx)(k,{}),(0,y.jsx)(c.Z,{open:S,className:x.snackBarModal,onClose:function(){E(!1),v("")},message:P,ContentProps:{className:"".concat(x.snackBar," ").concat(g&&"error"===g.type?x.errorSnackBar:"")},autoHideDuration:g&&"error"===g.type?1e4:5e3}),(0,y.jsx)(m.Z,{className:f?"":x.content,children:l})]}))})))},86458:function(e,n,t){t.r(n);var a=t(18489),i=(t(50390),t(19787)),o=t(62559);n.default=function(e){var n=e.label,t=void 0===n?null:n,r=e.value,l=void 0===r?"-":r,s=e.orientation,c=void 0===s?"column":s,d=e.stkProps,u=void 0===d?{}:d,m=e.lblProps,x=void 0===m?{}:m,h=e.valProps,p=void 0===h?{}:h;return(0,o.jsxs)(i.Z,(0,a.Z)((0,a.Z)({direction:{xs:"column",sm:c}},u),{},{children:[(0,o.jsx)("label",(0,a.Z)((0,a.Z)({style:{marginRight:5,fontWeight:600}},x),{},{children:t})),(0,o.jsx)("label",(0,a.Z)((0,a.Z)({style:{marginRight:5,fontWeight:500}},p),{},{children:l}))]}))}},32120:function(e,n,t){t.d(n,{dv:function(){return o},OU:function(){return r},Yk:function(){return l}});var a=t(38342),i=t.n(a),o=function(e){return e.map((function(e){return{label:e,value:e}}))},r=function(e){var n=i()(e,"elements",[]),t={};return n.forEach((function(e){var n=e.name.split(".storageclass.storage.k8s.io/requests.storage")[0],a=i()(e,"hard",0),o=i()(e,"used",0);t[n]=a-o})),t},l=function(e){return""!==e.currentState&&(!(!e.status&&"green"!==e.health_status&&"yellow"!==e.health_status)&&(!e.status||"green"===e.status.health_status||"yellow"===e.status.health_status))}},92182:function(e,n,t){t.r(n),t.d(n,{default:function(){return q}});var a=t(23430),i=t(18489),o=t(50390),r=t(34424),l=t(38342),s=t.n(l),c=t(86509),d=t(4285),u=t(72462),m=t(19787),x=t(25594),h=t(56805),p=t(46981),g=t(66946),f=t(44149),v=t(76352),b=t(66964),Z=t(92440),j=t(30324),y=t(62559),C=(0,r.$j)(null,{setModalErrorSnackMessage:f.zb}),w=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)({buttonContainer:{textAlign:"right"},infoText:{fontSize:14}},u.DF),u.ID))}))(C((function(e){var n=e.open,t=e.closeModalAndRefresh,r=e.namespace,l=e.idTenant,s=e.setModalErrorSnackMessage,c=e.classes,d=(0,o.useState)(!1),u=(0,a.Z)(d,2),m=u[0],h=u[1],p=(0,o.useState)(""),f=(0,a.Z)(p,2),C=f[0],w=f[1],k=(0,o.useState)(!1),S=(0,a.Z)(k,2),E=S[0],N=S[1],P=(0,o.useState)(""),I=(0,a.Z)(P,2),R=I[0],L=I[1],F=(0,o.useState)(""),M=(0,a.Z)(F,2),D=M[0],T=M[1],B=(0,o.useState)(""),O=(0,a.Z)(B,2),z=O[0],_=O[1],A=(0,o.useState)(!0),W=(0,a.Z)(A,2),$=W[0],U=W[1],V=(0,o.useCallback)((function(e){var n=new RegExp("^$|^((.*?)/(.*?):(.+))$");if("minioImage"===e)U(n.test(C))}),[C]);(0,o.useEffect)((function(){V("minioImage")}),[C,V]);return(0,y.jsx)(v.Z,{title:"Update MinIO Version",modalOpen:n,onClose:function(){t(!1)},children:(0,y.jsxs)(x.ZP,{container:!0,children:[(0,y.jsxs)(x.ZP,{item:!0,xs:12,className:c.modalFormScrollable,children:[(0,y.jsx)("div",{className:c.infoText,children:"Please enter the MinIO image from dockerhub to use. If blank, then latest build will be used."}),(0,y.jsx)("br",{}),(0,y.jsx)("br",{}),(0,y.jsx)(x.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,y.jsx)(b.Z,{value:C,label:"MinIO's Image",id:"minioImage",name:"minioImage",placeholder:"E.g. minio/minio:RELEASE.2022-01-08T03-11-54Z",onChange:function(e){w(e.target.value)}})}),(0,y.jsx)(x.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,y.jsx)(Z.Z,{value:"imageRegistry",id:"setImageRegistry",name:"setImageRegistry",checked:E,onChange:function(e){N(!E)},label:"Set Custom Image Registry",indicatorLabels:["Yes","No"]})}),E&&(0,y.jsxs)(o.Fragment,{children:[(0,y.jsx)(x.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,y.jsx)(b.Z,{value:R,label:"Endpoint",id:"imageRegistry",name:"imageRegistry",placeholder:"E.g. https://index.docker.io/v1/",onChange:function(e){L(e.target.value)}})}),(0,y.jsx)(x.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,y.jsx)(b.Z,{value:D,label:"Username",id:"imageRegistryUsername",name:"imageRegistryUsername",placeholder:"Enter image registry username",onChange:function(e){T(e.target.value)}})}),(0,y.jsx)(x.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,y.jsx)(b.Z,{value:z,label:"Password",id:"imageRegistryPassword",name:"imageRegistryPassword",placeholder:"Enter image registry password",onChange:function(e){_(e.target.value)}})})]})]}),(0,y.jsxs)(x.ZP,{item:!0,xs:12,className:c.modalButtonBar,children:[(0,y.jsx)(g.Z,{type:"button",color:"primary",variant:"outlined",onClick:function(){w(""),N(!1),L(""),T(""),_("")},children:"Clear"}),(0,y.jsx)(g.Z,{type:"submit",variant:"contained",color:"primary",disabled:!$||E&&(""===R.trim()||""===D.trim()||""===z.trim())||m,onClick:function(){h(!0);var e={image:C,enable_prometheus:!0};if(E){var n={image_registry:{registry:R,username:D,password:z}};e=(0,i.Z)((0,i.Z)({},e),n)}j.Z.invoke("PUT","/api/v1/namespaces/".concat(r,"/tenants/").concat(l),e).then((function(){h(!1),t(!0)})).catch((function(e){s(e),h(!1)}))},children:"Save"})]})]})})}))),k=t(24442),S=t(32120),E=t(11835),N=t(7689),P=t(81378),I=t(18201),R=t(82981),L=t(11387),F=t(86458),M=t(28948),D=(0,d.Z)((function(e){return{root:{height:10,borderRadius:5},colorPrimary:{backgroundColor:"#F4F4F4"},bar:{borderRadius:5,backgroundColor:"#081C42"},padChart:{padding:"5px"}}}))(P.Z),T=(0,d.Z)((function(e){return(0,c.Z)({allValue:{fontSize:16,fontWeight:700,marginBottom:8},currentUsage:{fontSize:12,marginTop:8},centerItem:{textAlign:"center"}})}))((function(e){var n=e.classes,t=e.maxValue,a=e.currValue,i=e.healthStatus,r=e.loading,l=e.error,s={value:"n/a",unit:""},c={value:"n/a",unit:""};if(t){var d=(0,M.ae)("".concat(t),!0).split(" ");s.value=d[0],s.unit=d[1]}if(a){var u=(0,M.ae)("".concat(a),!0).split(" ");c.value=u[0],c.unit=u[1]}var h=0;a&&t&&(h=100*a/t);return(0,y.jsxs)(o.Fragment,{children:[r&&(0,y.jsx)("div",{className:n.padChart,children:(0,y.jsx)(x.ZP,{item:!0,xs:12,className:n.centerItem,children:(0,y.jsx)(I.Z,{color:"primary",size:40,variant:"indeterminate"})})}),r?null:""!==l?(0,y.jsx)(R.Z,{errorMessage:l,withBreak:!1}):(0,y.jsxs)(x.ZP,{item:!0,xs:12,children:[(0,y.jsx)(D,{variant:"determinate",value:h}),(0,y.jsxs)(m.Z,{direction:{xs:"column",sm:"row"},spacing:{xs:1,sm:2,md:4},alignItems:"stretch",margin:"15px 0 15px 0",children:[(0,y.jsx)(F.default,{label:"Storage Capacity:",orientation:"row",value:"".concat(s.value," ").concat(s.unit)}),(0,y.jsx)(F.default,{label:"Used:",orientation:"row",value:"".concat(c.value," ").concat(c.unit)}),i&&(0,y.jsx)(F.default,{orientation:"row",label:"Health:",value:(0,y.jsx)("span",{className:i,children:(0,y.jsx)(L.J$,{})})})]})]})]})})),B=t(83738),O=["children"],z=function(e){var n=e.children,t=void 0===n?null:n,a=(0,B.Z)(e,O);return(0,y.jsx)(m.Z,(0,i.Z)((0,i.Z)({direction:{xs:"column",sm:"row"},justifyContent:"space-between",margin:"5px 0 5px 0",spacing:{xs:1,sm:2,md:4}},a),{},{children:t}))},_=t(53224),A=(0,N.Z)(p.Z)((function(e){e.theme;return{border:0}})),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},$=function(e){var n,t,a,i,o,r=e.tenant,l=e.classes;return(0,y.jsx)(T,{currValue:null===r||void 0===r||null===(n=r.status)||void 0===n||null===(t=n.usage)||void 0===t?void 0:t.raw_usage,maxValue:null===r||void 0===r||null===(a=r.status)||void 0===a||null===(i=a.usage)||void 0===i?void 0:i.raw,label:"Storage",error:"",loading:!1,healthStatus:W(null===r||void 0===r||null===(o=r.status)||void 0===o?void 0:o.health_status,l)})},U=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return(0,y.jsx)(Z.Z,{indicatorLabels:["Enabled","Disabled"],checked:e,value:e,id:"".concat(n,"-status"),name:"".concat(n,"-status"),onChange:function(){},switchOnly:!0})},V={display:"flex",justifyContent:"space-between",marginTop:"10px","@media (max-width: 600px)":{flexFlow:"column"}},H={stkProps:{sx:{flex:1,marginRight:10,display:"flex",alignItems:"center",justifyContent:"space-between","@media (max-width: 900px)":{marginRight:"25px"}}},lblProps:{style:{minWidth:100}}},Y=(0,r.$j)((function(e){return{loadingTenant:e.tenants.tenantDetails.loadingTenant,selectedTenant:e.tenants.tenantDetails.currentTenant,tenant:e.tenants.tenantDetails.tenantInfo,logEnabled:s()(e.tenants.tenantDetails.tenantInfo,"logEnabled",!1),monitoringEnabled:s()(e.tenants.tenantDetails.tenantInfo,"monitoringEnabled",!1),encryptionEnabled:s()(e.tenants.tenantDetails.tenantInfo,"encryptionEnabled",!1),minioTLS:s()(e.tenants.tenantDetails.tenantInfo,"minioTLS",!1),consoleTLS:s()(e.tenants.tenantDetails.tenantInfo,"consoleTLS",!1),consoleEnabled:s()(e.tenants.tenantDetails.tenantInfo,"consoleEnabled",!1),adEnabled:s()(e.tenants.tenantDetails.tenantInfo,"idpAdEnabled",!1),oidcEnabled:s()(e.tenants.tenantDetails.tenantInfo,"idpOidcEnabled",!1)}}),null),q=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.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}},centerAlign:{textAlign:"center"},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}},(0,u.Bz)(e.spacing(4))))}))(Y((function(e){var n,t,r,l,s,c,d,u,p,g,f=e.classes,v=e.match,b=e.tenant,Z=e.logEnabled,j=e.monitoringEnabled,C=e.encryptionEnabled,N=e.minioTLS,P=(e.consoleTLS,e.consoleEnabled,e.adEnabled),I=e.oidcEnabled,R=(e.loadingTenant,(0,o.useState)(0)),M=(0,a.Z)(R,2),D=M[0],T=M[1],B=(0,o.useState)(0),O=(0,a.Z)(B,2),W=O[0],Y=O[1],q=(0,o.useState)(0),Q=(0,a.Z)(q,2),X=Q[0],G=Q[1],J=(0,o.useState)(!1),K=(0,a.Z)(J,2),ee=K[0],ne=K[1],te=v.params.tenantName,ae=v.params.tenantNamespace;return(0,o.useEffect)((function(){b&&(T(b.pools.length),G(b.total_volumes||0),Y(b.total_instances||0))}),[b]),(0,y.jsxs)(o.Fragment,{children:[ee&&(0,y.jsx)(w,{open:ee,closeModalAndRefresh:function(){ne(!1)},idTenant:te,namespace:ae}),(0,y.jsxs)(m.Z,{direction:{xs:"column-reverse",sm:"row"},justifyContent:"space-between",children:[(0,y.jsx)(A,{children:(0,y.jsx)("h3",{children:"Details"})}),(0,y.jsx)(A,{children:(0,y.jsx)(_.Z,{tooltip:"Manage Tenant",text:"Manage Tenant",onClick:function(){k.Z.push("/namespaces/".concat(ae,"/tenants/").concat(te,"/hop"))},disabled:!b||!(0,S.Yk)(b),icon:(0,y.jsx)(L.ew,{}),color:"primary",variant:"contained"})})]}),(0,y.jsx)($,{tenant:b,classes:f}),(0,y.jsxs)(x.ZP,{container:!0,children:[(0,y.jsxs)(x.ZP,{item:!0,xs:12,sm:12,md:8,children:[(0,y.jsx)(x.ZP,{item:!0,xs:12,children:(0,y.jsx)(F.default,{label:"State:",value:null===b||void 0===b?void 0:b.currentState})}),(0,y.jsx)(x.ZP,{item:!0,xs:12,children:(0,y.jsx)(F.default,{label:"MinIO:",value:(0,y.jsx)(E.Z,{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"normal",wordBreak:"break-all"},onClick:function(){ne(!0)},children:b?b.image:""})})}),(0,y.jsx)(x.ZP,{item:!0,xs:12,children:(0,y.jsx)(F.default,{label:"Endpoint:",value:(0,y.jsx)("a",{href:null===b||void 0===b||null===(n=b.endpoints)||void 0===n?void 0:n.minio,target:"_blank",rel:"noopener noreferrer",className:f.linkedSection,children:(null===b||void 0===b||null===(t=b.endpoints)||void 0===t?void 0:t.minio)||"-"})})}),(0,y.jsx)(x.ZP,{item:!0,xs:12,children:(0,y.jsx)(F.default,{label:"Console:",value:(0,y.jsx)("a",{href:null===b||void 0===b||null===(r=b.endpoints)||void 0===r?void 0:r.console,target:"_blank",rel:"noopener noreferrer",className:f.linkedSection,children:(null===b||void 0===b||null===(l=b.endpoints)||void 0===l?void 0:l.console)||"-"})})})]}),(0,y.jsxs)(x.ZP,{item:!0,xs:12,sm:12,md:4,children:[(0,y.jsx)(x.ZP,{item:!0,xs:12,children:(0,y.jsx)(F.default,{label:"Instances:",value:W})}),(0,y.jsx)(x.ZP,{item:!0,xs:12,children:(0,y.jsx)(F.default,{label:"Clusters:",value:D,stkProps:{style:{marginRight:47}}})}),(0,y.jsx)(x.ZP,{item:!0,xs:12,children:(0,y.jsx)(F.default,{label:"Total Drives:",value:X,stkProps:{style:{marginRight:43}}})}),(0,y.jsx)(x.ZP,{item:!0,xs:12,children:(0,y.jsx)(F.default,{label:"Write Quorum:",value:null!==b&&void 0!==b&&null!==(s=b.status)&&void 0!==s&&s.write_quorum?null===b||void 0===b||null===(c=b.status)||void 0===c?void 0:c.write_quorum:0})}),(0,y.jsx)(x.ZP,{item:!0,xs:12,children:(0,y.jsx)(F.default,{label:"Drives Online:",value:null!==b&&void 0!==b&&null!==(d=b.status)&&void 0!==d&&d.drives_online?null===b||void 0===b||null===(u=b.status)||void 0===u?void 0:u.drives_online:0,stkProps:{style:{marginRight:8}}})}),(0,y.jsx)(x.ZP,{item:!0,xs:12,children:(0,y.jsx)(F.default,{label:"Drives Offline:",value:null!==b&&void 0!==b&&null!==(p=b.status)&&void 0!==p&&p.drives_offline?null===b||void 0===b||null===(g=b.status)||void 0===g?void 0:g.drives_offline:0,stkProps:{style:{marginRight:7}}})})]})]}),(0,y.jsxs)(m.Z,{children:[(0,y.jsx)(z,{sx:{borderBottom:"1px solid #eaeaea",margin:0},children:(0,y.jsx)("h3",{style:{marginBottom:10},children:"Features"})}),(0,y.jsxs)(h.Z,{sx:(0,i.Z)({},V),children:[(0,y.jsx)(F.default,(0,i.Z)({orientation:"row",label:"Logs:",value:U(Z,"tenant-log")},H)),(0,y.jsx)(F.default,(0,i.Z)({orientation:"row",label:"AD/LDAP:",value:U(P,"tenant-sts")},H)),(0,y.jsx)(F.default,(0,i.Z)({orientation:"row",label:"Encryption:",value:U(C,"tenant-enc")},H))]}),(0,y.jsxs)(h.Z,{sx:(0,i.Z)({},V),children:[(0,y.jsx)(F.default,(0,i.Z)({orientation:"row",label:"MinIO TLS:",value:U(N,"tenant-tls")},H)),(0,y.jsx)(F.default,(0,i.Z)({orientation:"row",label:"Monitoring:",value:U(j,"tenant-monitor")},H)),(0,y.jsx)(F.default,(0,i.Z)({orientation:"row",label:"OpenID:",value:U(I,"tenant-oidc")},H))]})]})]})})))},82981:function(e,n,t){var a=t(50390),i=t(35477),o=t(86509),r=t(4285),l=t(62559);n.Z=(0,r.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,r=void 0===o||o;return(0,l.jsxs)(a.Fragment,{children:[r&&(0,l.jsx)("br",{}),(0,l.jsx)(i.Z,{component:"p",variant:"body1",className:n.errorBlock,children:t})]})}))}}]); -//# sourceMappingURL=2182.468a5b4e.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2182],{53224:function(e,n,t){var a=t(18489),i=t(83738),o=(t(50390),t(70758)),r=t(62449),l=t(62559),s=["onClick","text","disabled","tooltip","icon"],c=(0,r.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,a=n.color,i=e.palette.primary.main;return"primary"===a&&"contained"===t?i=e.palette.primary.contrastText:"primary"===a&&"outlined"===t?i=e.palette.primary.main:"secondary"===a&&(i=e.palette.secondary.main),i}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,r=e.text,d=void 0===r?"":r,u=e.disabled,m=void 0!==u&&u,x=e.tooltip,h=e.icon,p=void 0===h?null:h,g=(0,i.Z)(e,s);return(0,l.jsxs)(o.Z,(0,a.Z)((0,a.Z)({classes:n,tooltip:x||d,variant:"outlined",onClick:t,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},g),{},{children:[(0,l.jsx)("span",{children:d})," ",p]}))}},11835:function(e,n,t){var a=t(18489),i=t(83738),o=(t(50390),t(86509)),r=t(4285),l=t(62559),s=["classes","children"];n.Z=(0,r.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,i.Z)(e,s);return(0,l.jsx)("button",(0,a.Z)((0,a.Z)({},o),{},{className:n.root,children:t}))}))},92440:function(e,n,t){var a=t(36222),i=t(18489),o=t(50390),r=t(86509),l=t(4285),s=t(49056),c=t(36554),d=t(94187),u=t(35477),m=t(25594),x=t(72462),h=t(97538),p=t(44977),g=t(62559),f=(0,l.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(s.Z);n.Z=(0,l.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},x.OR),x.YI))}))((function(e){var n=e.label,t=void 0===n?"":n,i=e.onChange,r=e.value,l=e.id,s=e.name,x=e.checked,v=void 0!==x&&x,b=e.disabled,Z=void 0!==b&&b,j=e.switchOnly,y=void 0!==j&&j,C=e.tooltip,w=void 0===C?"":C,k=e.description,S=void 0===k?"":k,E=e.classes,N=e.indicatorLabels,P=(0,g.jsxs)(o.Fragment,{children:[!y&&(0,g.jsx)("span",{className:(0,p.Z)(E.indicatorLabel,(0,a.Z)({},E.indicatorLabelOn,!v)),children:N&&N.length>1?N[1]:"OFF"}),(0,g.jsx)(f,{checked:v,onChange:i,color:"primary",name:s,inputProps:{"aria-label":"primary checkbox"},disabled:Z,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:r}),!y&&(0,g.jsx)("span",{className:(0,p.Z)(E.indicatorLabel,(0,a.Z)({},E.indicatorLabelOn,v)),children:N?N[0]:"ON"})]});return y?P:(0,g.jsx)("div",{className:E.divContainer,children:(0,g.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[(0,g.jsx)(m.ZP,{item:!0,xs:!0,children:(0,g.jsxs)(m.ZP,{container:!0,children:[(0,g.jsx)(m.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==t&&(0,g.jsxs)(c.Z,{htmlFor:l,className:E.inputLabel,children:[(0,g.jsx)("span",{children:t}),""!==w&&(0,g.jsx)("div",{className:E.tooltipContainer,children:(0,g.jsx)(d.Z,{title:w,placement:"top-start",children:(0,g.jsx)("div",{className:E.tooltip,children:(0,g.jsx)(h.Z,{})})})})]})}),(0,g.jsx)(m.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==S&&(0,g.jsx)(u.Z,{component:"p",className:E.fieldDescription,children:S})})]})}),(0,g.jsx)(m.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:E.switchContainer,children:P})]})})}))},66964:function(e,n,t){var a=t(18489),i=t(50390),o=t(12066),r=t(25594),l=t(36554),s=t(94187),c=t(95467),d=t(86509),u=t(62449),m=t(4285),x=t(72462),h=t(97538),p=t(44977),g=t(62559),f=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)({},x.gM))}));function v(e){var n=f();return(0,g.jsx)(o.Z,(0,a.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},x.YI),x.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,a.Z)((0,a.Z)({},x.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,t=e.onChange,o=e.value,d=e.id,u=e.name,m=e.type,x=void 0===m?"text":m,f=e.autoComplete,b=void 0===f?"off":f,Z=e.disabled,j=void 0!==Z&&Z,y=e.multiline,C=void 0!==y&&y,w=e.tooltip,k=void 0===w?"":w,S=e.index,E=void 0===S?0:S,N=e.error,P=void 0===N?"":N,I=e.required,R=void 0!==I&&I,L=e.placeholder,F=void 0===L?"":L,M=e.min,D=e.max,T=e.overlayIcon,B=void 0===T?null:T,O=e.overlayObject,z=void 0===O?null:O,_=e.extraInputProps,A=void 0===_?{}:_,W=e.overlayAction,$=e.noLabelMinWidth,U=void 0!==$&&$,V=e.pattern,H=void 0===V?"":V,Y=e.autoFocus,q=void 0!==Y&&Y,Q=e.classes,X=e.className,G=void 0===X?"":X,J=(0,a.Z)({"data-index":E},A);return"number"===x&&M&&(J.min=M),"number"===x&&D&&(J.max=D),""!==H&&(J.pattern=H),(0,g.jsx)(i.Fragment,{children:(0,g.jsxs)(r.ZP,{container:!0,className:(0,p.Z)(""!==G?G:"",""!==P?Q.errorInField:Q.inputBoxContainer),children:[""!==n&&(0,g.jsxs)(l.Z,{htmlFor:d,className:U?Q.noMinWidthLabel:Q.inputLabel,children:[(0,g.jsxs)("span",{children:[n,R?"*":""]}),""!==k&&(0,g.jsx)("div",{className:Q.tooltipContainer,children:(0,g.jsx)(s.Z,{title:k,placement:"top-start",children:(0,g.jsx)("div",{className:Q.tooltip,children:(0,g.jsx)(h.Z,{})})})})]}),(0,g.jsxs)("div",{className:Q.textBoxContainer,children:[(0,g.jsx)(v,{id:d,name:u,fullWidth:!0,value:o,autoFocus:q,disabled:j,onChange:t,type:x,multiline:C,autoComplete:b,inputProps:J,error:""!==P,helperText:P,placeholder:F,className:Q.inputRebase}),B&&(0,g.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,g.jsx)(c.Z,{onClick:W?function(){W()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:B})}),z&&(0,g.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==n?"withLabel":""),children:z})]})]})})}))},76352:function(e,n,t){t.d(n,{Z:function(){return E}});var a,i=t(23430),o=t(18489),r=t(50390),l=t(34424),s=t(95467),c=t(97771),d=t(84402),u=t(78426),m=t(93085),x=t(86509),h=t(4285),p=t(72462),g=t(44149),f=t(38342),v=t.n(f),b=t(92125),Z=t(19538),j=t(21278),y=t(62559),C=function(){clearInterval(a)},w={displayErrorMessage:g.zb},k=(0,l.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),w)((0,h.Z)((function(e){return(0,x.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var n=e.classes,t=e.modalSnackMessage,o=e.displayErrorMessage,l=e.customStyle,s=(0,r.useState)(!1),c=(0,i.Z)(s,2),d=c[0],u=c[1],m=(0,r.useState)(!1),x=(0,i.Z)(m,2),h=x[0],p=x[1],g=(0,r.useCallback)((function(){p(!1)}),[]);(0,r.useEffect)((function(){h||(o({detailedError:"",errorMessage:""}),u(!1))}),[o,h]),(0,r.useEffect)((function(){""!==t.message&&"error"===t.type&&p(!0)}),[g,t.message,t.type]);var f=v()(t,"message",""),w=v()(t,"detailedErrorMsg","");return"error"!==t.type||""===f?null:(0,y.jsx)(r.Fragment,{children:(0,y.jsxs)("div",{className:"".concat(n.modalErrorContainer," ").concat(h?n.modalErrorShow:""),style:l,onMouseOver:C,onMouseLeave:function(){a=setInterval(g,1e4)},children:[(0,y.jsx)("button",{className:n.closeButton,onClick:g,children:(0,y.jsx)(j.Z,{})}),(0,y.jsxs)("div",{className:n.errorTitle,children:[(0,y.jsx)("span",{className:n.messageIcon,children:(0,y.jsx)(Z.Z,{})}),(0,y.jsx)("span",{className:n.errorLabel,children:f})]}),""!==w&&(0,y.jsxs)(r.Fragment,{children:[(0,y.jsx)("div",{className:n.detailsContainerLink,children:(0,y.jsxs)("button",{className:n.detailsButton,onClick:function(){u(!d)},children:["Details",(0,y.jsx)(b.Z,{className:"".concat(n.arrowElement," ").concat(d?n.arrowOpen:"")})]})}),(0,y.jsx)("div",{className:"".concat(n.extraDetailsContainer," ").concat(d?n.extraDetailsOpen:""),children:w})]})]})})}))),S=(0,l.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:g.MK}),E=(0,h.Z)((function(e){return(0,x.Z)((0,o.Z)((0,o.Z)({},p.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},p.sN))}))(S((function(e){var n=e.onClose,t=e.modalOpen,a=e.title,l=e.children,x=e.classes,h=e.wideLimit,p=void 0===h||h,g=e.modalSnackMessage,f=e.noContentPadding,v=e.setModalSnackMessage,b=e.titleIcon,Z=void 0===b?null:b,C=(0,r.useState)(!1),w=(0,i.Z)(C,2),S=w[0],E=w[1];(0,r.useEffect)((function(){v("")}),[v]),(0,r.useEffect)((function(){if(g){if(""===g.message)return void E(!1);"error"!==g.type&&E(!0)}}),[g]);var N=p?{classes:{paper:x.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},P="";return g&&(P=g.detailedErrorMsg,(""===g.detailedErrorMsg||g.detailedErrorMsg.length<5)&&(P=g.message)),(0,y.jsxs)(d.Z,(0,o.Z)((0,o.Z)({open:t,classes:x},N),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:x.root,children:[(0,y.jsxs)(u.Z,{className:x.title,children:[(0,y.jsxs)("div",{className:x.titleText,children:[Z," ",a]}),(0,y.jsx)("div",{className:x.closeContainer,children:(0,y.jsx)(s.Z,{"aria-label":"close",className:x.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,y.jsx)(j.Z,{})})})]}),(0,y.jsx)(k,{}),(0,y.jsx)(c.Z,{open:S,className:x.snackBarModal,onClose:function(){E(!1),v("")},message:P,ContentProps:{className:"".concat(x.snackBar," ").concat(g&&"error"===g.type?x.errorSnackBar:"")},autoHideDuration:g&&"error"===g.type?1e4:5e3}),(0,y.jsx)(m.Z,{className:f?"":x.content,children:l})]}))})))},86458:function(e,n,t){t.r(n);var a=t(18489),i=(t(50390),t(19787)),o=t(62559);n.default=function(e){var n=e.label,t=void 0===n?null:n,r=e.value,l=void 0===r?"-":r,s=e.orientation,c=void 0===s?"column":s,d=e.stkProps,u=void 0===d?{}:d,m=e.lblProps,x=void 0===m?{}:m,h=e.valProps,p=void 0===h?{}:h;return(0,o.jsxs)(i.Z,(0,a.Z)((0,a.Z)({direction:{xs:"column",sm:c}},u),{},{children:[(0,o.jsx)("label",(0,a.Z)((0,a.Z)({style:{marginRight:5,fontWeight:600}},x),{},{children:t})),(0,o.jsx)("label",(0,a.Z)((0,a.Z)({style:{marginRight:5,fontWeight:500}},p),{},{children:l}))]}))}},32120:function(e,n,t){t.d(n,{dv:function(){return o},OU:function(){return r},Yk:function(){return l}});var a=t(38342),i=t.n(a),o=function(e){return e.map((function(e){return{label:e,value:e}}))},r=function(e){var n=i()(e,"elements",[]),t={};return n.forEach((function(e){var n=e.name.split(".storageclass.storage.k8s.io/requests.storage")[0],a=i()(e,"hard",0),o=i()(e,"used",0);t[n]=a-o})),t},l=function(e){return""!==e.currentState&&(!(!e.status&&"green"!==e.health_status&&"yellow"!==e.health_status)&&(!e.status||"green"===e.status.health_status||"yellow"===e.status.health_status))}},48330:function(e,n,t){t.r(n),t.d(n,{default:function(){return q}});var a=t(23430),i=t(18489),o=t(50390),r=t(34424),l=t(38342),s=t.n(l),c=t(86509),d=t(4285),u=t(72462),m=t(19787),x=t(25594),h=t(56805),p=t(46981),g=t(66946),f=t(44149),v=t(76352),b=t(66964),Z=t(92440),j=t(30324),y=t(62559),C=(0,r.$j)(null,{setModalErrorSnackMessage:f.zb}),w=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)({buttonContainer:{textAlign:"right"},infoText:{fontSize:14}},u.DF),u.ID))}))(C((function(e){var n=e.open,t=e.closeModalAndRefresh,r=e.namespace,l=e.idTenant,s=e.setModalErrorSnackMessage,c=e.classes,d=(0,o.useState)(!1),u=(0,a.Z)(d,2),m=u[0],h=u[1],p=(0,o.useState)(""),f=(0,a.Z)(p,2),C=f[0],w=f[1],k=(0,o.useState)(!1),S=(0,a.Z)(k,2),E=S[0],N=S[1],P=(0,o.useState)(""),I=(0,a.Z)(P,2),R=I[0],L=I[1],F=(0,o.useState)(""),M=(0,a.Z)(F,2),D=M[0],T=M[1],B=(0,o.useState)(""),O=(0,a.Z)(B,2),z=O[0],_=O[1],A=(0,o.useState)(!0),W=(0,a.Z)(A,2),$=W[0],U=W[1],V=(0,o.useCallback)((function(e){var n=new RegExp("^$|^((.*?)/(.*?):(.+))$");if("minioImage"===e)U(n.test(C))}),[C]);(0,o.useEffect)((function(){V("minioImage")}),[C,V]);return(0,y.jsx)(v.Z,{title:"Update MinIO Version",modalOpen:n,onClose:function(){t(!1)},children:(0,y.jsxs)(x.ZP,{container:!0,children:[(0,y.jsxs)(x.ZP,{item:!0,xs:12,className:c.modalFormScrollable,children:[(0,y.jsx)("div",{className:c.infoText,children:"Please enter the MinIO image from dockerhub to use. If blank, then latest build will be used."}),(0,y.jsx)("br",{}),(0,y.jsx)("br",{}),(0,y.jsx)(x.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,y.jsx)(b.Z,{value:C,label:"MinIO's Image",id:"minioImage",name:"minioImage",placeholder:"E.g. minio/minio:RELEASE.2022-01-08T03-11-54Z",onChange:function(e){w(e.target.value)}})}),(0,y.jsx)(x.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,y.jsx)(Z.Z,{value:"imageRegistry",id:"setImageRegistry",name:"setImageRegistry",checked:E,onChange:function(e){N(!E)},label:"Set Custom Image Registry",indicatorLabels:["Yes","No"]})}),E&&(0,y.jsxs)(o.Fragment,{children:[(0,y.jsx)(x.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,y.jsx)(b.Z,{value:R,label:"Endpoint",id:"imageRegistry",name:"imageRegistry",placeholder:"E.g. https://index.docker.io/v1/",onChange:function(e){L(e.target.value)}})}),(0,y.jsx)(x.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,y.jsx)(b.Z,{value:D,label:"Username",id:"imageRegistryUsername",name:"imageRegistryUsername",placeholder:"Enter image registry username",onChange:function(e){T(e.target.value)}})}),(0,y.jsx)(x.ZP,{item:!0,xs:12,className:c.formFieldRow,children:(0,y.jsx)(b.Z,{value:z,label:"Password",id:"imageRegistryPassword",name:"imageRegistryPassword",placeholder:"Enter image registry password",onChange:function(e){_(e.target.value)}})})]})]}),(0,y.jsxs)(x.ZP,{item:!0,xs:12,className:c.modalButtonBar,children:[(0,y.jsx)(g.Z,{type:"button",color:"primary",variant:"outlined",onClick:function(){w(""),N(!1),L(""),T(""),_("")},children:"Clear"}),(0,y.jsx)(g.Z,{type:"submit",variant:"contained",color:"primary",disabled:!$||E&&(""===R.trim()||""===D.trim()||""===z.trim())||m,onClick:function(){h(!0);var e={image:C,enable_prometheus:!0};if(E){var n={image_registry:{registry:R,username:D,password:z}};e=(0,i.Z)((0,i.Z)({},e),n)}j.Z.invoke("PUT","/api/v1/namespaces/".concat(r,"/tenants/").concat(l),e).then((function(){h(!1),t(!0)})).catch((function(e){s(e),h(!1)}))},children:"Save"})]})]})})}))),k=t(24442),S=t(32120),E=t(11835),N=t(7689),P=t(81378),I=t(18201),R=t(82981),L=t(98280),F=t(86458),M=t(28948),D=(0,d.Z)((function(e){return{root:{height:10,borderRadius:5},colorPrimary:{backgroundColor:"#F4F4F4"},bar:{borderRadius:5,backgroundColor:"#081C42"},padChart:{padding:"5px"}}}))(P.Z),T=(0,d.Z)((function(e){return(0,c.Z)({allValue:{fontSize:16,fontWeight:700,marginBottom:8},currentUsage:{fontSize:12,marginTop:8},centerItem:{textAlign:"center"}})}))((function(e){var n=e.classes,t=e.maxValue,a=e.currValue,i=e.healthStatus,r=e.loading,l=e.error,s={value:"n/a",unit:""},c={value:"n/a",unit:""};if(t){var d=(0,M.ae)("".concat(t),!0).split(" ");s.value=d[0],s.unit=d[1]}if(a){var u=(0,M.ae)("".concat(a),!0).split(" ");c.value=u[0],c.unit=u[1]}var h=0;a&&t&&(h=100*a/t);return(0,y.jsxs)(o.Fragment,{children:[r&&(0,y.jsx)("div",{className:n.padChart,children:(0,y.jsx)(x.ZP,{item:!0,xs:12,className:n.centerItem,children:(0,y.jsx)(I.Z,{color:"primary",size:40,variant:"indeterminate"})})}),r?null:""!==l?(0,y.jsx)(R.Z,{errorMessage:l,withBreak:!1}):(0,y.jsxs)(x.ZP,{item:!0,xs:12,children:[(0,y.jsx)(D,{variant:"determinate",value:h}),(0,y.jsxs)(m.Z,{direction:{xs:"column",sm:"row"},spacing:{xs:1,sm:2,md:4},alignItems:"stretch",margin:"15px 0 15px 0",children:[(0,y.jsx)(F.default,{label:"Storage Capacity:",orientation:"row",value:"".concat(s.value," ").concat(s.unit)}),(0,y.jsx)(F.default,{label:"Used:",orientation:"row",value:"".concat(c.value," ").concat(c.unit)}),i&&(0,y.jsx)(F.default,{orientation:"row",label:"Health:",value:(0,y.jsx)("span",{className:i,children:(0,y.jsx)(L.J$,{})})})]})]})]})})),B=t(83738),O=["children"],z=function(e){var n=e.children,t=void 0===n?null:n,a=(0,B.Z)(e,O);return(0,y.jsx)(m.Z,(0,i.Z)((0,i.Z)({direction:{xs:"column",sm:"row"},justifyContent:"space-between",margin:"5px 0 5px 0",spacing:{xs:1,sm:2,md:4}},a),{},{children:t}))},_=t(53224),A=(0,N.Z)(p.Z)((function(e){e.theme;return{border:0}})),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},$=function(e){var n,t,a,i,o,r=e.tenant,l=e.classes;return(0,y.jsx)(T,{currValue:null===r||void 0===r||null===(n=r.status)||void 0===n||null===(t=n.usage)||void 0===t?void 0:t.raw_usage,maxValue:null===r||void 0===r||null===(a=r.status)||void 0===a||null===(i=a.usage)||void 0===i?void 0:i.raw,label:"Storage",error:"",loading:!1,healthStatus:W(null===r||void 0===r||null===(o=r.status)||void 0===o?void 0:o.health_status,l)})},U=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return(0,y.jsx)(Z.Z,{indicatorLabels:["Enabled","Disabled"],checked:e,value:e,id:"".concat(n,"-status"),name:"".concat(n,"-status"),onChange:function(){},switchOnly:!0})},V={display:"flex",justifyContent:"space-between",marginTop:"10px","@media (max-width: 600px)":{flexFlow:"column"}},H={stkProps:{sx:{flex:1,marginRight:10,display:"flex",alignItems:"center",justifyContent:"space-between","@media (max-width: 900px)":{marginRight:"25px"}}},lblProps:{style:{minWidth:100}}},Y=(0,r.$j)((function(e){return{loadingTenant:e.tenants.tenantDetails.loadingTenant,selectedTenant:e.tenants.tenantDetails.currentTenant,tenant:e.tenants.tenantDetails.tenantInfo,logEnabled:s()(e.tenants.tenantDetails.tenantInfo,"logEnabled",!1),monitoringEnabled:s()(e.tenants.tenantDetails.tenantInfo,"monitoringEnabled",!1),encryptionEnabled:s()(e.tenants.tenantDetails.tenantInfo,"encryptionEnabled",!1),minioTLS:s()(e.tenants.tenantDetails.tenantInfo,"minioTLS",!1),consoleTLS:s()(e.tenants.tenantDetails.tenantInfo,"consoleTLS",!1),consoleEnabled:s()(e.tenants.tenantDetails.tenantInfo,"consoleEnabled",!1),adEnabled:s()(e.tenants.tenantDetails.tenantInfo,"idpAdEnabled",!1),oidcEnabled:s()(e.tenants.tenantDetails.tenantInfo,"idpOidcEnabled",!1)}}),null),q=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.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}},centerAlign:{textAlign:"center"},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}},(0,u.Bz)(e.spacing(4))))}))(Y((function(e){var n,t,r,l,s,c,d,u,p,g,f=e.classes,v=e.match,b=e.tenant,Z=e.logEnabled,j=e.monitoringEnabled,C=e.encryptionEnabled,N=e.minioTLS,P=(e.consoleTLS,e.consoleEnabled,e.adEnabled),I=e.oidcEnabled,R=(e.loadingTenant,(0,o.useState)(0)),M=(0,a.Z)(R,2),D=M[0],T=M[1],B=(0,o.useState)(0),O=(0,a.Z)(B,2),W=O[0],Y=O[1],q=(0,o.useState)(0),Q=(0,a.Z)(q,2),X=Q[0],G=Q[1],J=(0,o.useState)(!1),K=(0,a.Z)(J,2),ee=K[0],ne=K[1],te=v.params.tenantName,ae=v.params.tenantNamespace;return(0,o.useEffect)((function(){b&&(T(b.pools.length),G(b.total_volumes||0),Y(b.total_instances||0))}),[b]),(0,y.jsxs)(o.Fragment,{children:[ee&&(0,y.jsx)(w,{open:ee,closeModalAndRefresh:function(){ne(!1)},idTenant:te,namespace:ae}),(0,y.jsxs)(m.Z,{direction:{xs:"column-reverse",sm:"row"},justifyContent:"space-between",children:[(0,y.jsx)(A,{children:(0,y.jsx)("h3",{children:"Details"})}),(0,y.jsx)(A,{children:(0,y.jsx)(_.Z,{tooltip:"Manage Tenant",text:"Manage Tenant",onClick:function(){k.Z.push("/namespaces/".concat(ae,"/tenants/").concat(te,"/hop"))},disabled:!b||!(0,S.Yk)(b),icon:(0,y.jsx)(L.ew,{}),color:"primary",variant:"contained"})})]}),(0,y.jsx)($,{tenant:b,classes:f}),(0,y.jsxs)(x.ZP,{container:!0,children:[(0,y.jsxs)(x.ZP,{item:!0,xs:12,sm:12,md:8,children:[(0,y.jsx)(x.ZP,{item:!0,xs:12,children:(0,y.jsx)(F.default,{label:"State:",value:null===b||void 0===b?void 0:b.currentState})}),(0,y.jsx)(x.ZP,{item:!0,xs:12,children:(0,y.jsx)(F.default,{label:"MinIO:",value:(0,y.jsx)(E.Z,{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"normal",wordBreak:"break-all"},onClick:function(){ne(!0)},children:b?b.image:""})})}),(0,y.jsx)(x.ZP,{item:!0,xs:12,children:(0,y.jsx)(F.default,{label:"Endpoint:",value:(0,y.jsx)("a",{href:null===b||void 0===b||null===(n=b.endpoints)||void 0===n?void 0:n.minio,target:"_blank",rel:"noopener noreferrer",className:f.linkedSection,children:(null===b||void 0===b||null===(t=b.endpoints)||void 0===t?void 0:t.minio)||"-"})})}),(0,y.jsx)(x.ZP,{item:!0,xs:12,children:(0,y.jsx)(F.default,{label:"Console:",value:(0,y.jsx)("a",{href:null===b||void 0===b||null===(r=b.endpoints)||void 0===r?void 0:r.console,target:"_blank",rel:"noopener noreferrer",className:f.linkedSection,children:(null===b||void 0===b||null===(l=b.endpoints)||void 0===l?void 0:l.console)||"-"})})})]}),(0,y.jsxs)(x.ZP,{item:!0,xs:12,sm:12,md:4,children:[(0,y.jsx)(x.ZP,{item:!0,xs:12,children:(0,y.jsx)(F.default,{label:"Instances:",value:W})}),(0,y.jsx)(x.ZP,{item:!0,xs:12,children:(0,y.jsx)(F.default,{label:"Clusters:",value:D,stkProps:{style:{marginRight:47}}})}),(0,y.jsx)(x.ZP,{item:!0,xs:12,children:(0,y.jsx)(F.default,{label:"Total Drives:",value:X,stkProps:{style:{marginRight:43}}})}),(0,y.jsx)(x.ZP,{item:!0,xs:12,children:(0,y.jsx)(F.default,{label:"Write Quorum:",value:null!==b&&void 0!==b&&null!==(s=b.status)&&void 0!==s&&s.write_quorum?null===b||void 0===b||null===(c=b.status)||void 0===c?void 0:c.write_quorum:0})}),(0,y.jsx)(x.ZP,{item:!0,xs:12,children:(0,y.jsx)(F.default,{label:"Drives Online:",value:null!==b&&void 0!==b&&null!==(d=b.status)&&void 0!==d&&d.drives_online?null===b||void 0===b||null===(u=b.status)||void 0===u?void 0:u.drives_online:0,stkProps:{style:{marginRight:8}}})}),(0,y.jsx)(x.ZP,{item:!0,xs:12,children:(0,y.jsx)(F.default,{label:"Drives Offline:",value:null!==b&&void 0!==b&&null!==(p=b.status)&&void 0!==p&&p.drives_offline?null===b||void 0===b||null===(g=b.status)||void 0===g?void 0:g.drives_offline:0,stkProps:{style:{marginRight:7}}})})]})]}),(0,y.jsxs)(m.Z,{children:[(0,y.jsx)(z,{sx:{borderBottom:"1px solid #eaeaea",margin:0},children:(0,y.jsx)("h3",{style:{marginBottom:10},children:"Features"})}),(0,y.jsxs)(h.Z,{sx:(0,i.Z)({},V),children:[(0,y.jsx)(F.default,(0,i.Z)({orientation:"row",label:"Logs:",value:U(Z,"tenant-log")},H)),(0,y.jsx)(F.default,(0,i.Z)({orientation:"row",label:"AD/LDAP:",value:U(P,"tenant-sts")},H)),(0,y.jsx)(F.default,(0,i.Z)({orientation:"row",label:"Encryption:",value:U(C,"tenant-enc")},H))]}),(0,y.jsxs)(h.Z,{sx:(0,i.Z)({},V),children:[(0,y.jsx)(F.default,(0,i.Z)({orientation:"row",label:"MinIO TLS:",value:U(N,"tenant-tls")},H)),(0,y.jsx)(F.default,(0,i.Z)({orientation:"row",label:"Monitoring:",value:U(j,"tenant-monitor")},H)),(0,y.jsx)(F.default,(0,i.Z)({orientation:"row",label:"OpenID:",value:U(I,"tenant-oidc")},H))]})]})]})})))},82981:function(e,n,t){var a=t(50390),i=t(35477),o=t(86509),r=t(4285),l=t(62559);n.Z=(0,r.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,r=void 0===o||o;return(0,l.jsxs)(a.Fragment,{children:[r&&(0,l.jsx)("br",{}),(0,l.jsx)(i.Z,{component:"p",variant:"body1",className:n.errorBlock,children:t})]})}))}}]); +//# sourceMappingURL=2182.2e7a9981.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2182.468a5b4e.chunk.js.map b/portal-ui/build/static/js/2182.2e7a9981.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/2182.468a5b4e.chunk.js.map rename to portal-ui/build/static/js/2182.2e7a9981.chunk.js.map index b9179697e..165d1e036 100644 --- a/portal-ui/build/static/js/2182.468a5b4e.chunk.js.map +++ b/portal-ui/build/static/js/2182.2e7a9981.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/2182.468a5b4e.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/UsageBarWrapper/LabelValuePair.tsx","screens/Console/Tenants/ListTenants/utils.ts","screens/Console/Tenants/TenantDetails/UpdateTenantModal.tsx","screens/Console/Common/UsageBarWrapper/SummaryUsageBar.tsx","screens/Console/Common/UsageBarWrapper/StackRow.tsx","screens/Console/Tenants/TenantDetails/TenantSummary.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 React from \"react\";\nimport BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n
\n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(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) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport get from \"lodash/get\";\nimport { ITenant } from \"./types\";\n\nexport interface Opts {\n label: string;\n value: string;\n}\n\nexport interface IQuotaElement {\n hard: number;\n name: string;\n}\n\nexport interface IQuotas {\n elements?: IQuotaElement[];\n name: string;\n}\n\nexport const minMemReq = 2147483648;\n\nexport interface KeyPair {\n id: string;\n encoded_cert: string;\n encoded_key: string;\n cert: string;\n key: string;\n}\n\nexport const ecListTransform = (ecList: string[]): Opts[] => {\n return ecList.map((value) => {\n return { label: value, value };\n });\n};\n\nexport const getLimitSizes = (resourceQuotas: IQuotas) => {\n const quotas: IQuotaElement[] = get(resourceQuotas, \"elements\", []);\n\n const returnQuotas: any = {};\n\n quotas.forEach((rsQuota) => {\n const stCName = rsQuota.name.split(\n \".storageclass.storage.k8s.io/requests.storage\"\n )[0];\n const hard = get(rsQuota, \"hard\", 0);\n const used = get(rsQuota, \"used\", 0);\n\n returnQuotas[stCName] = hard - used;\n });\n\n return returnQuotas;\n};\n\nexport const tenantIsOnline = (tenant: ITenant): boolean => {\n if (tenant.currentState === \"\") {\n return false;\n }\n if (\n !tenant.status &&\n tenant.health_status !== \"green\" &&\n tenant.health_status !== \"yellow\"\n ) {\n return false;\n }\n if (\n tenant.status &&\n tenant.status.health_status !== \"green\" &&\n tenant.status.health_status !== \"yellow\"\n ) {\n return false;\n }\n return true;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState, Fragment, useEffect, useCallback } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Button, Grid } from \"@mui/material\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\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\";\n\ninterface IUpdateTenantModal {\n open: boolean;\n closeModalAndRefresh: (update: boolean) => any;\n namespace: string;\n idTenant: string;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n infoText: {\n fontSize: 14,\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst UpdateTenantModal = ({\n open,\n closeModalAndRefresh,\n namespace,\n idTenant,\n setModalErrorSnackMessage,\n classes,\n}: IUpdateTenantModal) => {\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 closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n 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 Clear\n \n \n Save\n \n \n
\n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(UpdateTenantModal));\n","import React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress, Stack } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport ErrorBlock from \"../../../shared/ErrorBlock\";\nimport { CircleIcon } from \"../../../../icons\";\nimport LabelValuePair from \"./LabelValuePair\";\nimport { ValueUnit } from \"../../Tenants/ListTenants/types\";\nimport { niceBytes } from \"../../../../common/utils\";\n\ninterface ISummaryUsageBar {\n maxValue: number | undefined;\n currValue: number | undefined;\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 allValue: {\n fontSize: 16,\n fontWeight: 700,\n marginBottom: 8,\n },\n currentUsage: {\n fontSize: 12,\n marginTop: 8,\n },\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 maxValue,\n currValue,\n healthStatus,\n loading,\n error,\n}: ISummaryUsageBar) => {\n var capacity: ValueUnit = { value: \"n/a\", unit: \"\" };\n var used: ValueUnit = { value: \"n/a\", unit: \"\" };\n\n if (maxValue) {\n const b = niceBytes(`${maxValue}`, true);\n const parts = b.split(\" \");\n capacity.value = parts[0];\n capacity.unit = parts[1];\n }\n if (currValue) {\n const b = niceBytes(`${currValue}`, true);\n const parts = b.split(\" \");\n used.value = parts[0];\n used.unit = parts[1];\n }\n\n let percentagelValue = 0;\n if (currValue && maxValue) {\n percentagelValue = (currValue * 100) / maxValue;\n }\n\n const renderComponent = () => {\n if (!loading) {\n return error !== \"\" ? (\n \n ) : (\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","import React from \"react\";\nimport { Stack } from \"@mui/material\";\n\nconst StackRow = ({\n children = null,\n ...restProps\n}: {\n children?: any;\n [x: string]: any;\n}) => {\n return (\n \n {children}\n \n );\n};\nexport default StackRow;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } 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, Stack } from \"@mui/material\";\nimport Paper from \"@mui/material/Paper\";\nimport { ITenant } from \"../ListTenants/types\";\nimport UpdateTenantModal from \"./UpdateTenantModal\";\nimport { AppState } from \"../../../../store\";\nimport history from \"./../../../../history\";\nimport { tenantIsOnline } from \"../ListTenants/utils\";\nimport AButton from \"../../Common/AButton/AButton\";\nimport { styled } from \"@mui/styles\";\nimport SummaryUsageBar from \"../../Common/UsageBarWrapper/SummaryUsageBar\";\nimport LabelValuePair from \"../../Common/UsageBarWrapper/LabelValuePair\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport StackRow from \"../../Common/UsageBarWrapper/StackRow\";\nimport { SettingsIcon } from \"../../../../icons\";\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\ninterface ITenantsSummary {\n classes: any;\n match: any;\n tenant: ITenant | null;\n logEnabled: boolean;\n monitoringEnabled: boolean;\n encryptionEnabled: boolean;\n minioTLS: boolean;\n consoleTLS: boolean;\n consoleEnabled: boolean;\n adEnabled: boolean;\n oidcEnabled: boolean;\n loadingTenant: boolean;\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 centerAlign: {\n textAlign: \"center\",\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 },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst StackItem = styled(Paper)(({ theme }) => ({\n border: 0,\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 = ({ tenant, classes }: Partial) => {\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 = ({\n classes,\n match,\n tenant,\n logEnabled,\n monitoringEnabled,\n encryptionEnabled,\n minioTLS,\n consoleTLS,\n consoleEnabled,\n adEnabled,\n oidcEnabled,\n loadingTenant,\n}: ITenantsSummary) => {\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\n const tenantName = match.params[\"tenantName\"];\n const tenantNamespace = match.params[\"tenantNamespace\"];\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 return (\n \n {updateMinioVersion && (\n {\n setUpdateMinioVersion(false);\n }}\n idTenant={tenantName}\n namespace={tenantNamespace}\n />\n )}\n\n \n \n

Details

\n
\n \n {\n history.push(\n `/namespaces/${tenantNamespace}/tenants/${tenantName}/hop`\n );\n }}\n disabled={!tenant || !tenantIsOnline(tenant)}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n \n \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 {tenant?.endpoints?.minio || \"-\"}\n \n }\n />\n \n \n \n {tenant?.endpoints?.console || \"-\"}\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
\n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n selectedTenant: state.tenants.tenantDetails.currentTenant,\n tenant: state.tenants.tenantDetails.tenantInfo,\n logEnabled: get(state.tenants.tenantDetails.tenantInfo, \"logEnabled\", false),\n monitoringEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"monitoringEnabled\",\n false\n ),\n encryptionEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"encryptionEnabled\",\n false\n ),\n minioTLS: get(state.tenants.tenantDetails.tenantInfo, \"minioTLS\", false),\n consoleTLS: get(state.tenants.tenantDetails.tenantInfo, \"consoleTLS\", false),\n consoleEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"consoleEnabled\",\n false\n ),\n adEnabled: get(state.tenants.tenantDetails.tenantInfo, \"idpAdEnabled\", false),\n oidcEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"idpOidcEnabled\",\n false\n ),\n});\n\nconst connector = connect(mapState, null);\n\nexport default withStyles(styles)(connector(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"],"names":["useStyles","makeStyles","theme","root","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","width","marginLeft","text","classes","onClick","disabled","tooltip","icon","restProps","size","sx","border","fontSize","display","withStyles","createStyles","margin","backgroundColor","textDecoration","cursor","info","fontFamily","children","rest","className","StyledSwitch","height","switchBase","transform","common","white","boxShadow","opacity","thumb","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","alignItems","justifyContent","Switch","divContainer","marginBottom","indicatorLabelOn","fontWeight","indicatorLabel","fieldDescription","marginTop","actionsTray","fieldBasic","label","onChange","value","id","name","switchOnly","description","indicatorLabels","switchComponent","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","container","item","xs","sm","md","htmlFor","inputLabel","tooltipContainer","title","placement","textAlign","component","inputStyles","inputFieldStyles","InputField","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","borderLeftWidth","zIndex","left","transitionDuration","modalErrorShow","closeButton","errorTitle","errorLabel","marginRight","messageIcon","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","useState","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","get","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","onClose","modalOpen","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","orientation","stkProps","lblProps","valProps","direction","ecListTransform","ecList","map","getLimitSizes","resourceQuotas","quotas","returnQuotas","forEach","rsQuota","stCName","split","hard","used","tenantIsOnline","tenant","currentState","status","health_status","buttonContainer","infoText","formFieldStyles","modalStyleUtils","closeModalAndRefresh","namespace","idTenant","isSending","setIsSending","minioImage","setMinioImage","imageRegistry","setImageRegistry","imageRegistryEndpoint","setImageRegistryEndpoint","imageRegistryUsername","setImageRegistryUsername","imageRegistryPassword","setImageRegistryPassword","validMinioImage","setValidMinioImage","validateImage","fieldToCheck","RegExp","test","ModalWrapper","Grid","modalFormScrollable","formFieldRow","InputBoxWrapper","e","target","FormSwitchWrapper","modalButtonBar","Button","trim","payload","image","enable_prometheus","registry","image_registry","username","password","api","then","catch","BorderLinearProgress","colorPrimary","bar","padChart","LinearProgress","allValue","currentUsage","centerItem","maxValue","currValue","healthStatus","loading","capacity","unit","parts","niceBytes","percentagelValue","CircularProgress","ErrorBlock","withBreak","Stack","spacing","LabelValuePair","StackItem","styled","Paper","healthStatusToClass","redState","yellowState","greenState","greyState","StorageSummary","usage","raw_usage","raw","getToggle","toggleValue","idPrefix","featureRowStyle","flexFlow","featureItemStyleProps","flex","minWidth","loadingTenant","tenants","tenantDetails","selectedTenant","currentTenant","tenantInfo","logEnabled","monitoringEnabled","encryptionEnabled","minioTLS","consoleTLS","consoleEnabled","adEnabled","oidcEnabled","tenantDetailsStyles","warning","success","centerAlign","detailSection","float","wordWrap","overflowWrap","clear","linkedSection","containerForHeader","match","poolCount","setPoolCount","instances","setInstances","volumes","setVolumes","updateMinioVersion","setUpdateMinioVersion","tenantName","params","tenantNamespace","pools","total_volumes","total_instances","RBIconButton","history","AButton","textOverflow","whiteSpace","wordBreak","href","endpoints","minio","rel","console","write_quorum","drives_online","drives_offline","borderBottom","Box","errorBlock"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/2182.2e7a9981.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/UsageBarWrapper/LabelValuePair.tsx","screens/Console/Tenants/ListTenants/utils.ts","screens/Console/Tenants/TenantDetails/UpdateTenantModal.tsx","screens/Console/Common/UsageBarWrapper/SummaryUsageBar.tsx","screens/Console/Common/UsageBarWrapper/StackRow.tsx","screens/Console/Tenants/TenantDetails/TenantSummary.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 React from \"react\";\nimport BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(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) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport get from \"lodash/get\";\nimport { ITenant } from \"./types\";\n\nexport interface Opts {\n label: string;\n value: string;\n}\n\nexport interface IQuotaElement {\n hard: number;\n name: string;\n}\n\nexport interface IQuotas {\n elements?: IQuotaElement[];\n name: string;\n}\n\nexport const minMemReq = 2147483648;\n\nexport interface KeyPair {\n id: string;\n encoded_cert: string;\n encoded_key: string;\n cert: string;\n key: string;\n}\n\nexport const ecListTransform = (ecList: string[]): Opts[] => {\n return ecList.map((value) => {\n return { label: value, value };\n });\n};\n\nexport const getLimitSizes = (resourceQuotas: IQuotas) => {\n const quotas: IQuotaElement[] = get(resourceQuotas, \"elements\", []);\n\n const returnQuotas: any = {};\n\n quotas.forEach((rsQuota) => {\n const stCName = rsQuota.name.split(\n \".storageclass.storage.k8s.io/requests.storage\"\n )[0];\n const hard = get(rsQuota, \"hard\", 0);\n const used = get(rsQuota, \"used\", 0);\n\n returnQuotas[stCName] = hard - used;\n });\n\n return returnQuotas;\n};\n\nexport const tenantIsOnline = (tenant: ITenant): boolean => {\n if (tenant.currentState === \"\") {\n return false;\n }\n if (\n !tenant.status &&\n tenant.health_status !== \"green\" &&\n tenant.health_status !== \"yellow\"\n ) {\n return false;\n }\n if (\n tenant.status &&\n tenant.status.health_status !== \"green\" &&\n tenant.status.health_status !== \"yellow\"\n ) {\n return false;\n }\n return true;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState, Fragment, useEffect, useCallback } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Button, Grid } from \"@mui/material\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\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\";\n\ninterface IUpdateTenantModal {\n open: boolean;\n closeModalAndRefresh: (update: boolean) => any;\n namespace: string;\n idTenant: string;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n infoText: {\n fontSize: 14,\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst UpdateTenantModal = ({\n open,\n closeModalAndRefresh,\n namespace,\n idTenant,\n setModalErrorSnackMessage,\n classes,\n}: IUpdateTenantModal) => {\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 closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n 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 Clear\n \n \n Save\n \n \n
\n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(UpdateTenantModal));\n","import React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress, Stack } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport ErrorBlock from \"../../../shared/ErrorBlock\";\nimport { CircleIcon } from \"../../../../icons\";\nimport LabelValuePair from \"./LabelValuePair\";\nimport { ValueUnit } from \"../../Tenants/ListTenants/types\";\nimport { niceBytes } from \"../../../../common/utils\";\n\ninterface ISummaryUsageBar {\n maxValue: number | undefined;\n currValue: number | undefined;\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 allValue: {\n fontSize: 16,\n fontWeight: 700,\n marginBottom: 8,\n },\n currentUsage: {\n fontSize: 12,\n marginTop: 8,\n },\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 maxValue,\n currValue,\n healthStatus,\n loading,\n error,\n}: ISummaryUsageBar) => {\n var capacity: ValueUnit = { value: \"n/a\", unit: \"\" };\n var used: ValueUnit = { value: \"n/a\", unit: \"\" };\n\n if (maxValue) {\n const b = niceBytes(`${maxValue}`, true);\n const parts = b.split(\" \");\n capacity.value = parts[0];\n capacity.unit = parts[1];\n }\n if (currValue) {\n const b = niceBytes(`${currValue}`, true);\n const parts = b.split(\" \");\n used.value = parts[0];\n used.unit = parts[1];\n }\n\n let percentagelValue = 0;\n if (currValue && maxValue) {\n percentagelValue = (currValue * 100) / maxValue;\n }\n\n const renderComponent = () => {\n if (!loading) {\n return error !== \"\" ? (\n \n ) : (\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","import React from \"react\";\nimport { Stack } from \"@mui/material\";\n\nconst StackRow = ({\n children = null,\n ...restProps\n}: {\n children?: any;\n [x: string]: any;\n}) => {\n return (\n \n {children}\n \n );\n};\nexport default StackRow;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } 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, Stack } from \"@mui/material\";\nimport Paper from \"@mui/material/Paper\";\nimport { ITenant } from \"../ListTenants/types\";\nimport UpdateTenantModal from \"./UpdateTenantModal\";\nimport { AppState } from \"../../../../store\";\nimport history from \"./../../../../history\";\nimport { tenantIsOnline } from \"../ListTenants/utils\";\nimport AButton from \"../../Common/AButton/AButton\";\nimport { styled } from \"@mui/styles\";\nimport SummaryUsageBar from \"../../Common/UsageBarWrapper/SummaryUsageBar\";\nimport LabelValuePair from \"../../Common/UsageBarWrapper/LabelValuePair\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport StackRow from \"../../Common/UsageBarWrapper/StackRow\";\nimport { SettingsIcon } from \"../../../../icons\";\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\ninterface ITenantsSummary {\n classes: any;\n match: any;\n tenant: ITenant | null;\n logEnabled: boolean;\n monitoringEnabled: boolean;\n encryptionEnabled: boolean;\n minioTLS: boolean;\n consoleTLS: boolean;\n consoleEnabled: boolean;\n adEnabled: boolean;\n oidcEnabled: boolean;\n loadingTenant: boolean;\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 centerAlign: {\n textAlign: \"center\",\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 },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst StackItem = styled(Paper)(({ theme }) => ({\n border: 0,\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 = ({ tenant, classes }: Partial) => {\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 = ({\n classes,\n match,\n tenant,\n logEnabled,\n monitoringEnabled,\n encryptionEnabled,\n minioTLS,\n consoleTLS,\n consoleEnabled,\n adEnabled,\n oidcEnabled,\n loadingTenant,\n}: ITenantsSummary) => {\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\n const tenantName = match.params[\"tenantName\"];\n const tenantNamespace = match.params[\"tenantNamespace\"];\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 return (\n \n {updateMinioVersion && (\n {\n setUpdateMinioVersion(false);\n }}\n idTenant={tenantName}\n namespace={tenantNamespace}\n />\n )}\n\n \n \n

Details

\n
\n \n {\n history.push(\n `/namespaces/${tenantNamespace}/tenants/${tenantName}/hop`\n );\n }}\n disabled={!tenant || !tenantIsOnline(tenant)}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n \n \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 {tenant?.endpoints?.minio || \"-\"}\n \n }\n />\n \n \n \n {tenant?.endpoints?.console || \"-\"}\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
\n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n selectedTenant: state.tenants.tenantDetails.currentTenant,\n tenant: state.tenants.tenantDetails.tenantInfo,\n logEnabled: get(state.tenants.tenantDetails.tenantInfo, \"logEnabled\", false),\n monitoringEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"monitoringEnabled\",\n false\n ),\n encryptionEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"encryptionEnabled\",\n false\n ),\n minioTLS: get(state.tenants.tenantDetails.tenantInfo, \"minioTLS\", false),\n consoleTLS: get(state.tenants.tenantDetails.tenantInfo, \"consoleTLS\", false),\n consoleEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"consoleEnabled\",\n false\n ),\n adEnabled: get(state.tenants.tenantDetails.tenantInfo, \"idpAdEnabled\", false),\n oidcEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"idpOidcEnabled\",\n false\n ),\n});\n\nconst connector = connect(mapState, null);\n\nexport default withStyles(styles)(connector(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"],"names":["useStyles","makeStyles","theme","root","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","width","marginLeft","text","classes","onClick","disabled","tooltip","icon","restProps","size","sx","border","fontSize","display","withStyles","createStyles","margin","backgroundColor","textDecoration","cursor","info","fontFamily","children","rest","className","StyledSwitch","height","switchBase","transform","common","white","boxShadow","opacity","thumb","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","alignItems","justifyContent","Switch","divContainer","marginBottom","indicatorLabelOn","fontWeight","indicatorLabel","fieldDescription","marginTop","actionsTray","fieldBasic","label","onChange","value","id","name","switchOnly","description","indicatorLabels","switchComponent","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","container","item","xs","sm","md","htmlFor","inputLabel","tooltipContainer","title","placement","textAlign","component","inputStyles","inputFieldStyles","InputField","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","borderLeftWidth","zIndex","left","transitionDuration","modalErrorShow","closeButton","errorTitle","errorLabel","marginRight","messageIcon","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","useState","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","get","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","onClose","modalOpen","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","orientation","stkProps","lblProps","valProps","direction","ecListTransform","ecList","map","getLimitSizes","resourceQuotas","quotas","returnQuotas","forEach","rsQuota","stCName","split","hard","used","tenantIsOnline","tenant","currentState","status","health_status","buttonContainer","infoText","formFieldStyles","modalStyleUtils","closeModalAndRefresh","namespace","idTenant","isSending","setIsSending","minioImage","setMinioImage","imageRegistry","setImageRegistry","imageRegistryEndpoint","setImageRegistryEndpoint","imageRegistryUsername","setImageRegistryUsername","imageRegistryPassword","setImageRegistryPassword","validMinioImage","setValidMinioImage","validateImage","fieldToCheck","RegExp","test","ModalWrapper","Grid","modalFormScrollable","formFieldRow","InputBoxWrapper","e","target","FormSwitchWrapper","modalButtonBar","Button","trim","payload","image","enable_prometheus","registry","image_registry","username","password","api","then","catch","BorderLinearProgress","colorPrimary","bar","padChart","LinearProgress","allValue","currentUsage","centerItem","maxValue","currValue","healthStatus","loading","capacity","unit","parts","niceBytes","percentagelValue","CircularProgress","ErrorBlock","withBreak","Stack","spacing","LabelValuePair","StackItem","styled","Paper","healthStatusToClass","redState","yellowState","greenState","greyState","StorageSummary","usage","raw_usage","raw","getToggle","toggleValue","idPrefix","featureRowStyle","flexFlow","featureItemStyleProps","flex","minWidth","loadingTenant","tenants","tenantDetails","selectedTenant","currentTenant","tenantInfo","logEnabled","monitoringEnabled","encryptionEnabled","minioTLS","consoleTLS","consoleEnabled","adEnabled","oidcEnabled","tenantDetailsStyles","warning","success","centerAlign","detailSection","float","wordWrap","overflowWrap","clear","linkedSection","containerForHeader","match","poolCount","setPoolCount","instances","setInstances","volumes","setVolumes","updateMinioVersion","setUpdateMinioVersion","tenantName","params","tenantNamespace","pools","total_volumes","total_instances","RBIconButton","history","AButton","textOverflow","whiteSpace","wordBreak","href","endpoints","minio","rel","console","write_quorum","drives_online","drives_offline","borderBottom","Box","errorBlock"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2699.ac935aa8.chunk.js b/portal-ui/build/static/js/2699.9e1fe660.chunk.js similarity index 97% rename from portal-ui/build/static/js/2699.ac935aa8.chunk.js rename to portal-ui/build/static/js/2699.9e1fe660.chunk.js index 55b478f92..d1f57c21c 100644 --- a/portal-ui/build/static/js/2699.ac935aa8.chunk.js +++ b/portal-ui/build/static/js/2699.9e1fe660.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2699],{82699:function(e,t,n){n.r(t),n.d(t,{default:function(){return b}});var o=n(50390),i=n(34424),a=n(86509),r=n(4285),s=n(94187),l=n(95467),c=n(5265),d=n(11387),h=n(36222),p=n(54415),u=n(44977),m=n(62559),x=(0,r.Z)((function(e){return(0,a.Z)({container:{borderBottom:"#E2E2E2 1px solid",padding:"15px 5px",margin:"0 15px",position:"relative","& .showOnHover":{opacity:0,transitionDuration:"0.2s"},"&.inProgress":{"& .hideOnProgress":{visibility:"hidden"}},"&:hover":{"& .showOnHover":{opacity:1}}},headItem:{color:"#868686",fontSize:12,width:"100%",whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden"},progressContainer:{marginTop:5},objectDetails:{display:"flex",alignItems:"center"},iconContainer:{paddingTop:5,marginRight:5,"& svg":{width:20,height:20}},download:{color:"rgb(113,200,150)"},upload:{color:"rgb(66,127,172)"},closeIcon:{"&::before":{width:1,height:12,content:"' '",position:"absolute",transform:"rotate(45deg)",borderLeft:"#9c9c9c 2px solid"},"&::after":{width:1,height:12,content:"' '",position:"absolute",transform:"rotate(-45deg)",borderLeft:"#9c9c9c 2px solid"}},closeButton:{backgroundColor:"transparent",border:0,right:0,position:"absolute"},fileName:{width:230}})}))((function(e){var t,n=e.classes,i=e.objectToDisplay,a=e.deleteFromList,r="".concat(i.prefix);return(0,m.jsx)(o.Fragment,{children:(0,m.jsxs)("div",{className:"".concat(n.container," ").concat(i.done?"":"inProgress"),children:[(0,m.jsx)("div",{className:n.clearListIcon,children:(0,m.jsx)("button",{onClick:function(){a(i.instanceID)},className:"".concat(n.closeButton," hideOnProgress showOnHover"),disabled:!i.done,children:(0,m.jsx)("span",{className:n.closeIcon})})}),(0,m.jsxs)("div",{className:n.objectDetails,children:[(0,m.jsx)("div",{className:(0,u.Z)(n.iconContainer,(t={},(0,h.Z)(t,n.download,"download"===i.type),(0,h.Z)(t,n.upload,"download"!==i.type),t)),children:"download"===i.type?(0,m.jsx)(d.Q_,{}):(0,m.jsx)(d.jh,{})}),(0,m.jsxs)("div",{className:n.fileName,children:[(0,m.jsxs)("div",{className:n.headItem,children:[(0,m.jsx)("strong",{children:"Bucket: "}),i.bucketName]}),(0,m.jsx)(s.Z,{title:r,placement:"top-start",children:(0,m.jsx)("div",{className:n.headItem,children:r})})]})]}),(0,m.jsx)("div",{className:n.progressContainer,children:i.waitingForFile?(0,m.jsx)(p.Z,{indeterminate:!0,value:0,ready:!1}):(0,m.jsx)(p.Z,{value:i.percentage,ready:i.done,withLabel:!0})})]})})})),g=(0,i.$j)((function(e){return{objects:e.objectBrowser.objectManager.objectsToManage,managerOpen:e.objectBrowser.objectManager.managerOpen}}),{deleteFromList:c.lF,cleanList:c.XH}),b=(0,r.Z)((function(e){return(0,a.Z)({downloadContainer:{border:"#EAEDEE 1px solid",boxShadow:"rgba(0, 0, 0, 0.08) 0 3px 10px",backgroundColor:"#fff",position:"absolute",right:0,top:80,width:300,overflowY:"hidden",overflowX:"hidden",borderRadius:3,zIndex:1e3,padding:0,height:0,transitionDuration:"0.3s",visibility:"hidden","&.open":{visibility:"visible",minHeight:400}},title:{fontSize:14,fontWeight:"bold",textAlign:"center",marginBottom:5,paddingBottom:12,borderBottom:"#E2E2E2 1px solid",margin:"15px 15px 5px 15px"},actionsContainer:{overflowY:"auto",overflowX:"hidden",minHeight:250,maxHeight:335,width:"100%",display:"flex",flexDirection:"column"},cleanIcon:{position:"absolute",right:14,top:12},cleanButton:{"& svg":{width:20}}})}))(g((function(e){var t=e.objects,n=e.classes,i=e.managerOpen,a=e.deleteFromList,r=e.cleanList;return(0,m.jsx)(o.Fragment,{children:i&&(0,m.jsxs)("div",{className:"".concat(n.downloadContainer," ").concat(i?"open":""),children:[(0,m.jsx)("div",{className:n.cleanIcon,children:(0,m.jsx)(s.Z,{title:"Clean Completed Objects",placement:"bottom-start",children:(0,m.jsx)(l.Z,{"aria-label":"Clear Completed List",size:"small",onClick:r,className:n.cleanButton,children:(0,m.jsx)(d.XH,{})})})}),(0,m.jsx)("div",{className:n.title,children:"Downloads / Uploads"}),(0,m.jsx)("div",{className:n.actionsContainer,children:t.map((function(e,t){return(0,m.jsx)(x,{objectToDisplay:e,deleteFromList:a},"object-handled-".concat(e.instanceID))}))})]})})})))},54415:function(e,t,n){var o=n(18489),i=n(36222),a=(n(50390),n(8208)),r=n(81378),s=n(55179),l=n(56805),c=n(62559),d=(0,a.ZP)(r.Z)((function(){var e;return e={height:10,borderRadius:5},(0,i.Z)(e,"&.".concat(s.Z.colorPrimary),{backgroundColor:"#f1f1f1"}),(0,i.Z)(e,"& .".concat(s.Z.bar),{borderRadius:5}),e})),h=(0,a.ZP)(d)((function(){return(0,i.Z)({height:6,borderRadius:3},"& .".concat(s.Z.bar),{borderRadius:3})}));function p(e){return(0,c.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center"},children:[(0,c.jsx)(l.Z,{sx:{width:"100%",mr:1},children:(0,c.jsx)(d,(0,o.Z)({variant:"determinate"},e))}),(0,c.jsx)(l.Z,{sx:{minWidth:35,fontSize:14},className:"value",children:"".concat(Math.round(e.value||0),"%")})]})}t.Z=function(e){var t=e.value,n=e.ready,i=e.indeterminate,a=e.withLabel,r=e.size,s=void 0===r?"regular":r,l={variant:i&&!n?"indeterminate":"determinate",value:n?100:t,color:n?"success":"primary"};return a?(0,c.jsx)(p,(0,o.Z)({},l)):"small"===s?(0,c.jsx)(h,(0,o.Z)({},l)):(0,c.jsx)(d,(0,o.Z)({},l))}}}]); -//# sourceMappingURL=2699.ac935aa8.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2699],{82699:function(e,t,n){n.r(t),n.d(t,{default:function(){return b}});var o=n(50390),i=n(34424),a=n(86509),r=n(4285),s=n(94187),l=n(95467),c=n(5265),d=n(98280),h=n(36222),p=n(54415),u=n(44977),m=n(62559),x=(0,r.Z)((function(e){return(0,a.Z)({container:{borderBottom:"#E2E2E2 1px solid",padding:"15px 5px",margin:"0 15px",position:"relative","& .showOnHover":{opacity:0,transitionDuration:"0.2s"},"&.inProgress":{"& .hideOnProgress":{visibility:"hidden"}},"&:hover":{"& .showOnHover":{opacity:1}}},headItem:{color:"#868686",fontSize:12,width:"100%",whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden"},progressContainer:{marginTop:5},objectDetails:{display:"flex",alignItems:"center"},iconContainer:{paddingTop:5,marginRight:5,"& svg":{width:20,height:20}},download:{color:"rgb(113,200,150)"},upload:{color:"rgb(66,127,172)"},closeIcon:{"&::before":{width:1,height:12,content:"' '",position:"absolute",transform:"rotate(45deg)",borderLeft:"#9c9c9c 2px solid"},"&::after":{width:1,height:12,content:"' '",position:"absolute",transform:"rotate(-45deg)",borderLeft:"#9c9c9c 2px solid"}},closeButton:{backgroundColor:"transparent",border:0,right:0,position:"absolute"},fileName:{width:230}})}))((function(e){var t,n=e.classes,i=e.objectToDisplay,a=e.deleteFromList,r="".concat(i.prefix);return(0,m.jsx)(o.Fragment,{children:(0,m.jsxs)("div",{className:"".concat(n.container," ").concat(i.done?"":"inProgress"),children:[(0,m.jsx)("div",{className:n.clearListIcon,children:(0,m.jsx)("button",{onClick:function(){a(i.instanceID)},className:"".concat(n.closeButton," hideOnProgress showOnHover"),disabled:!i.done,children:(0,m.jsx)("span",{className:n.closeIcon})})}),(0,m.jsxs)("div",{className:n.objectDetails,children:[(0,m.jsx)("div",{className:(0,u.Z)(n.iconContainer,(t={},(0,h.Z)(t,n.download,"download"===i.type),(0,h.Z)(t,n.upload,"download"!==i.type),t)),children:"download"===i.type?(0,m.jsx)(d.Q_,{}):(0,m.jsx)(d.jh,{})}),(0,m.jsxs)("div",{className:n.fileName,children:[(0,m.jsxs)("div",{className:n.headItem,children:[(0,m.jsx)("strong",{children:"Bucket: "}),i.bucketName]}),(0,m.jsx)(s.Z,{title:r,placement:"top-start",children:(0,m.jsx)("div",{className:n.headItem,children:r})})]})]}),(0,m.jsx)("div",{className:n.progressContainer,children:i.waitingForFile?(0,m.jsx)(p.Z,{indeterminate:!0,value:0,ready:!1}):(0,m.jsx)(p.Z,{value:i.percentage,ready:i.done,withLabel:!0})})]})})})),g=(0,i.$j)((function(e){return{objects:e.objectBrowser.objectManager.objectsToManage,managerOpen:e.objectBrowser.objectManager.managerOpen}}),{deleteFromList:c.lF,cleanList:c.XH}),b=(0,r.Z)((function(e){return(0,a.Z)({downloadContainer:{border:"#EAEDEE 1px solid",boxShadow:"rgba(0, 0, 0, 0.08) 0 3px 10px",backgroundColor:"#fff",position:"absolute",right:0,top:80,width:300,overflowY:"hidden",overflowX:"hidden",borderRadius:3,zIndex:1e3,padding:0,height:0,transitionDuration:"0.3s",visibility:"hidden","&.open":{visibility:"visible",minHeight:400}},title:{fontSize:14,fontWeight:"bold",textAlign:"center",marginBottom:5,paddingBottom:12,borderBottom:"#E2E2E2 1px solid",margin:"15px 15px 5px 15px"},actionsContainer:{overflowY:"auto",overflowX:"hidden",minHeight:250,maxHeight:335,width:"100%",display:"flex",flexDirection:"column"},cleanIcon:{position:"absolute",right:14,top:12},cleanButton:{"& svg":{width:20}}})}))(g((function(e){var t=e.objects,n=e.classes,i=e.managerOpen,a=e.deleteFromList,r=e.cleanList;return(0,m.jsx)(o.Fragment,{children:i&&(0,m.jsxs)("div",{className:"".concat(n.downloadContainer," ").concat(i?"open":""),children:[(0,m.jsx)("div",{className:n.cleanIcon,children:(0,m.jsx)(s.Z,{title:"Clean Completed Objects",placement:"bottom-start",children:(0,m.jsx)(l.Z,{"aria-label":"Clear Completed List",size:"small",onClick:r,className:n.cleanButton,children:(0,m.jsx)(d.XH,{})})})}),(0,m.jsx)("div",{className:n.title,children:"Downloads / Uploads"}),(0,m.jsx)("div",{className:n.actionsContainer,children:t.map((function(e,t){return(0,m.jsx)(x,{objectToDisplay:e,deleteFromList:a},"object-handled-".concat(e.instanceID))}))})]})})})))},54415:function(e,t,n){var o=n(18489),i=n(36222),a=(n(50390),n(8208)),r=n(81378),s=n(55179),l=n(56805),c=n(62559),d=(0,a.ZP)(r.Z)((function(){var e;return e={height:10,borderRadius:5},(0,i.Z)(e,"&.".concat(s.Z.colorPrimary),{backgroundColor:"#f1f1f1"}),(0,i.Z)(e,"& .".concat(s.Z.bar),{borderRadius:5}),e})),h=(0,a.ZP)(d)((function(){return(0,i.Z)({height:6,borderRadius:3},"& .".concat(s.Z.bar),{borderRadius:3})}));function p(e){return(0,c.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center"},children:[(0,c.jsx)(l.Z,{sx:{width:"100%",mr:1},children:(0,c.jsx)(d,(0,o.Z)({variant:"determinate"},e))}),(0,c.jsx)(l.Z,{sx:{minWidth:35,fontSize:14},className:"value",children:"".concat(Math.round(e.value||0),"%")})]})}t.Z=function(e){var t=e.value,n=e.ready,i=e.indeterminate,a=e.withLabel,r=e.size,s=void 0===r?"regular":r,l={variant:i&&!n?"indeterminate":"determinate",value:n?100:t,color:n?"success":"primary"};return a?(0,c.jsx)(p,(0,o.Z)({},l)):"small"===s?(0,c.jsx)(h,(0,o.Z)({},l)):(0,c.jsx)(d,(0,o.Z)({},l))}}}]); +//# sourceMappingURL=2699.9e1fe660.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2699.ac935aa8.chunk.js.map b/portal-ui/build/static/js/2699.9e1fe660.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/2699.ac935aa8.chunk.js.map rename to portal-ui/build/static/js/2699.9e1fe660.chunk.js.map index 2404d014c..3e07dceb0 100644 --- a/portal-ui/build/static/js/2699.ac935aa8.chunk.js.map +++ b/portal-ui/build/static/js/2699.9e1fe660.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/2699.ac935aa8.chunk.js","mappings":"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","sources":["screens/Console/Common/ObjectManager/ObjectHandled.tsx","screens/Console/Common/ObjectManager/ObjectManager.tsx","screens/Console/Common/ProgressBarWrapper/ProgressBarWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Tooltip } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport ProgressBarWrapper from \"../ProgressBarWrapper/ProgressBarWrapper\";\nimport { DownloadStatIcon, UploadStatIcon } from \"../../../../icons\";\nimport clsx from \"clsx\";\n\ninterface IObjectHandled {\n classes: any;\n objectToDisplay: IFileItem;\n deleteFromList: (instanceID: string) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n container: {\n borderBottom: \"#E2E2E2 1px solid\",\n padding: \"15px 5px\",\n margin: \"0 15px\",\n position: \"relative\",\n \"& .showOnHover\": {\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n \"&.inProgress\": {\n \"& .hideOnProgress\": {\n visibility: \"hidden\",\n },\n },\n \"&:hover\": {\n \"& .showOnHover\": {\n opacity: 1,\n },\n },\n },\n headItem: {\n color: \"#868686\",\n fontSize: 12,\n width: \"100%\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n },\n progressContainer: {\n marginTop: 5,\n },\n objectDetails: {\n display: \"flex\",\n alignItems: \"center\",\n },\n iconContainer: {\n paddingTop: 5,\n marginRight: 5,\n \"& svg\": {\n width: 20,\n height: 20,\n },\n },\n download: {\n color: \"rgb(113,200,150)\",\n },\n upload: {\n color: \"rgb(66,127,172)\",\n },\n closeIcon: {\n \"&::before\": {\n width: 1,\n height: 12,\n content: \"' '\",\n position: \"absolute\",\n transform: \"rotate(45deg)\",\n borderLeft: \"#9c9c9c 2px solid\",\n },\n \"&::after\": {\n width: 1,\n height: 12,\n content: \"' '\",\n position: \"absolute\",\n transform: \"rotate(-45deg)\",\n borderLeft: \"#9c9c9c 2px solid\",\n },\n },\n closeButton: {\n backgroundColor: \"transparent\",\n border: 0,\n right: 0,\n position: \"absolute\",\n },\n fileName: {\n width: 230,\n },\n });\n\nconst ObjectHandled = ({\n classes,\n objectToDisplay,\n deleteFromList,\n}: IObjectHandled) => {\n const prefix = `${objectToDisplay.prefix}`;\n return (\n \n \n
\n {\n deleteFromList(objectToDisplay.instanceID);\n }}\n className={`${classes.closeButton} hideOnProgress showOnHover`}\n disabled={!objectToDisplay.done}\n >\n \n \n
\n
\n \n {objectToDisplay.type === \"download\" ? (\n \n ) : (\n \n )}\n
\n
\n
\n Bucket: \n {objectToDisplay.bucketName}\n
\n \n
{prefix}
\n
\n
\n \n
\n {objectToDisplay.waitingForFile ? (\n \n ) : (\n \n )}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(ObjectHandled);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Tooltip, IconButton } from \"@mui/material\";\nimport { AppState } from \"../../../../store\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { deleteFromList, cleanList } from \"../../ObjectBrowser/actions\";\nimport { TrashIcon } from \"../../../../icons\";\nimport ObjectHandled from \"./ObjectHandled\";\n\ninterface IObjectManager {\n objects: IFileItem[];\n classes: any;\n managerOpen: boolean;\n deleteFromList: typeof deleteFromList;\n cleanList: typeof cleanList;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n downloadContainer: {\n border: \"#EAEDEE 1px solid\",\n boxShadow: \"rgba(0, 0, 0, 0.08) 0 3px 10px\",\n backgroundColor: \"#fff\",\n position: \"absolute\",\n right: 0,\n top: 80,\n width: 300,\n overflowY: \"hidden\",\n overflowX: \"hidden\",\n borderRadius: 3,\n zIndex: 1000,\n padding: 0,\n height: 0,\n transitionDuration: \"0.3s\",\n visibility: \"hidden\",\n \"&.open\": {\n visibility: \"visible\",\n minHeight: 400,\n },\n },\n title: {\n fontSize: 14,\n fontWeight: \"bold\",\n textAlign: \"center\",\n marginBottom: 5,\n paddingBottom: 12,\n borderBottom: \"#E2E2E2 1px solid\",\n margin: \"15px 15px 5px 15px\",\n },\n actionsContainer: {\n overflowY: \"auto\",\n overflowX: \"hidden\",\n minHeight: 250,\n maxHeight: 335,\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n cleanIcon: {\n position: \"absolute\",\n right: 14,\n top: 12,\n },\n cleanButton: {\n \"& svg\": {\n width: 20,\n },\n },\n });\n\nconst ObjectManager = ({\n objects,\n classes,\n managerOpen,\n deleteFromList,\n cleanList,\n}: IObjectManager) => {\n return (\n \n {managerOpen && (\n \n
\n \n \n \n \n \n
\n
Downloads / Uploads
\n
\n {objects.map((object, key) => (\n \n ))}\n
\n \n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n objects: state.objectBrowser.objectManager.objectsToManage,\n managerOpen: state.objectBrowser.objectManager.managerOpen,\n});\n\nconst connector = connect(mapState, { deleteFromList, cleanList });\n\nexport default withStyles(styles)(connector(ObjectManager));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { styled } from \"@mui/material/styles\";\nimport LinearProgress, {\n linearProgressClasses,\n LinearProgressProps,\n} from \"@mui/material/LinearProgress\";\nimport Box from \"@mui/material/Box\";\n\ninterface IProgressBarWrapper {\n value: number;\n ready: boolean;\n indeterminate?: boolean;\n withLabel?: boolean;\n size?: string;\n}\n\nconst BorderLinearProgress = styled(LinearProgress)(() => ({\n height: 10,\n borderRadius: 5,\n [`&.${linearProgressClasses.colorPrimary}`]: {\n backgroundColor: \"#f1f1f1\",\n },\n [`& .${linearProgressClasses.bar}`]: {\n borderRadius: 5,\n },\n}));\nconst SmallBorderLinearProgress = styled(BorderLinearProgress)(() => ({\n height: 6,\n borderRadius: 3,\n [`& .${linearProgressClasses.bar}`]: {\n borderRadius: 3,\n },\n}));\n\nfunction LinearProgressWithLabel(props: LinearProgressProps) {\n return (\n \n \n \n \n \n {`${Math.round(props.value || 0)}%`}\n \n \n );\n}\n\nconst ProgressBarWrapper = ({\n value,\n ready,\n indeterminate,\n withLabel,\n size = \"regular\",\n}: IProgressBarWrapper) => {\n const propsComponent: LinearProgressProps = {\n variant: indeterminate && !ready ? \"indeterminate\" : \"determinate\",\n value: ready ? 100 : value,\n color: ready ? \"success\" : \"primary\",\n };\n if (withLabel) {\n return ;\n }\n if (size === \"small\") {\n return ;\n }\n\n return ;\n};\n\nexport default ProgressBarWrapper;\n"],"names":["withStyles","theme","createStyles","container","borderBottom","padding","margin","position","opacity","transitionDuration","visibility","headItem","color","fontSize","width","whiteSpace","textOverflow","overflow","progressContainer","marginTop","objectDetails","display","alignItems","iconContainer","paddingTop","marginRight","height","download","upload","closeIcon","content","transform","borderLeft","closeButton","backgroundColor","border","right","fileName","classes","objectToDisplay","deleteFromList","prefix","Fragment","className","done","clearListIcon","onClick","instanceID","disabled","clsx","type","bucketName","Tooltip","title","placement","waitingForFile","ProgressBarWrapper","indeterminate","value","ready","percentage","withLabel","connector","connect","state","objects","objectBrowser","objectManager","objectsToManage","managerOpen","cleanList","downloadContainer","boxShadow","top","overflowY","overflowX","borderRadius","zIndex","minHeight","fontWeight","textAlign","marginBottom","paddingBottom","actionsContainer","maxHeight","flexDirection","cleanIcon","cleanButton","IconButton","size","map","object","key","BorderLinearProgress","styled","LinearProgress","linearProgressClasses","SmallBorderLinearProgress","LinearProgressWithLabel","props","sx","mr","variant","minWidth","Math","round","propsComponent"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/2699.9e1fe660.chunk.js","mappings":"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","sources":["screens/Console/Common/ObjectManager/ObjectHandled.tsx","screens/Console/Common/ObjectManager/ObjectManager.tsx","screens/Console/Common/ProgressBarWrapper/ProgressBarWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Tooltip } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport ProgressBarWrapper from \"../ProgressBarWrapper/ProgressBarWrapper\";\nimport { DownloadStatIcon, UploadStatIcon } from \"../../../../icons\";\nimport clsx from \"clsx\";\n\ninterface IObjectHandled {\n classes: any;\n objectToDisplay: IFileItem;\n deleteFromList: (instanceID: string) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n container: {\n borderBottom: \"#E2E2E2 1px solid\",\n padding: \"15px 5px\",\n margin: \"0 15px\",\n position: \"relative\",\n \"& .showOnHover\": {\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n \"&.inProgress\": {\n \"& .hideOnProgress\": {\n visibility: \"hidden\",\n },\n },\n \"&:hover\": {\n \"& .showOnHover\": {\n opacity: 1,\n },\n },\n },\n headItem: {\n color: \"#868686\",\n fontSize: 12,\n width: \"100%\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n },\n progressContainer: {\n marginTop: 5,\n },\n objectDetails: {\n display: \"flex\",\n alignItems: \"center\",\n },\n iconContainer: {\n paddingTop: 5,\n marginRight: 5,\n \"& svg\": {\n width: 20,\n height: 20,\n },\n },\n download: {\n color: \"rgb(113,200,150)\",\n },\n upload: {\n color: \"rgb(66,127,172)\",\n },\n closeIcon: {\n \"&::before\": {\n width: 1,\n height: 12,\n content: \"' '\",\n position: \"absolute\",\n transform: \"rotate(45deg)\",\n borderLeft: \"#9c9c9c 2px solid\",\n },\n \"&::after\": {\n width: 1,\n height: 12,\n content: \"' '\",\n position: \"absolute\",\n transform: \"rotate(-45deg)\",\n borderLeft: \"#9c9c9c 2px solid\",\n },\n },\n closeButton: {\n backgroundColor: \"transparent\",\n border: 0,\n right: 0,\n position: \"absolute\",\n },\n fileName: {\n width: 230,\n },\n });\n\nconst ObjectHandled = ({\n classes,\n objectToDisplay,\n deleteFromList,\n}: IObjectHandled) => {\n const prefix = `${objectToDisplay.prefix}`;\n return (\n \n \n
\n {\n deleteFromList(objectToDisplay.instanceID);\n }}\n className={`${classes.closeButton} hideOnProgress showOnHover`}\n disabled={!objectToDisplay.done}\n >\n \n \n
\n
\n \n {objectToDisplay.type === \"download\" ? (\n \n ) : (\n \n )}\n
\n
\n
\n Bucket: \n {objectToDisplay.bucketName}\n
\n \n
{prefix}
\n
\n
\n \n
\n {objectToDisplay.waitingForFile ? (\n \n ) : (\n \n )}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(ObjectHandled);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Tooltip, IconButton } from \"@mui/material\";\nimport { AppState } from \"../../../../store\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { deleteFromList, cleanList } from \"../../ObjectBrowser/actions\";\nimport { TrashIcon } from \"../../../../icons\";\nimport ObjectHandled from \"./ObjectHandled\";\n\ninterface IObjectManager {\n objects: IFileItem[];\n classes: any;\n managerOpen: boolean;\n deleteFromList: typeof deleteFromList;\n cleanList: typeof cleanList;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n downloadContainer: {\n border: \"#EAEDEE 1px solid\",\n boxShadow: \"rgba(0, 0, 0, 0.08) 0 3px 10px\",\n backgroundColor: \"#fff\",\n position: \"absolute\",\n right: 0,\n top: 80,\n width: 300,\n overflowY: \"hidden\",\n overflowX: \"hidden\",\n borderRadius: 3,\n zIndex: 1000,\n padding: 0,\n height: 0,\n transitionDuration: \"0.3s\",\n visibility: \"hidden\",\n \"&.open\": {\n visibility: \"visible\",\n minHeight: 400,\n },\n },\n title: {\n fontSize: 14,\n fontWeight: \"bold\",\n textAlign: \"center\",\n marginBottom: 5,\n paddingBottom: 12,\n borderBottom: \"#E2E2E2 1px solid\",\n margin: \"15px 15px 5px 15px\",\n },\n actionsContainer: {\n overflowY: \"auto\",\n overflowX: \"hidden\",\n minHeight: 250,\n maxHeight: 335,\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n cleanIcon: {\n position: \"absolute\",\n right: 14,\n top: 12,\n },\n cleanButton: {\n \"& svg\": {\n width: 20,\n },\n },\n });\n\nconst ObjectManager = ({\n objects,\n classes,\n managerOpen,\n deleteFromList,\n cleanList,\n}: IObjectManager) => {\n return (\n \n {managerOpen && (\n \n
\n \n \n \n \n \n
\n
Downloads / Uploads
\n
\n {objects.map((object, key) => (\n \n ))}\n
\n \n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n objects: state.objectBrowser.objectManager.objectsToManage,\n managerOpen: state.objectBrowser.objectManager.managerOpen,\n});\n\nconst connector = connect(mapState, { deleteFromList, cleanList });\n\nexport default withStyles(styles)(connector(ObjectManager));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { styled } from \"@mui/material/styles\";\nimport LinearProgress, {\n linearProgressClasses,\n LinearProgressProps,\n} from \"@mui/material/LinearProgress\";\nimport Box from \"@mui/material/Box\";\n\ninterface IProgressBarWrapper {\n value: number;\n ready: boolean;\n indeterminate?: boolean;\n withLabel?: boolean;\n size?: string;\n}\n\nconst BorderLinearProgress = styled(LinearProgress)(() => ({\n height: 10,\n borderRadius: 5,\n [`&.${linearProgressClasses.colorPrimary}`]: {\n backgroundColor: \"#f1f1f1\",\n },\n [`& .${linearProgressClasses.bar}`]: {\n borderRadius: 5,\n },\n}));\nconst SmallBorderLinearProgress = styled(BorderLinearProgress)(() => ({\n height: 6,\n borderRadius: 3,\n [`& .${linearProgressClasses.bar}`]: {\n borderRadius: 3,\n },\n}));\n\nfunction LinearProgressWithLabel(props: LinearProgressProps) {\n return (\n \n \n \n \n \n {`${Math.round(props.value || 0)}%`}\n \n \n );\n}\n\nconst ProgressBarWrapper = ({\n value,\n ready,\n indeterminate,\n withLabel,\n size = \"regular\",\n}: IProgressBarWrapper) => {\n const propsComponent: LinearProgressProps = {\n variant: indeterminate && !ready ? \"indeterminate\" : \"determinate\",\n value: ready ? 100 : value,\n color: ready ? \"success\" : \"primary\",\n };\n if (withLabel) {\n return ;\n }\n if (size === \"small\") {\n return ;\n }\n\n return ;\n};\n\nexport default ProgressBarWrapper;\n"],"names":["withStyles","theme","createStyles","container","borderBottom","padding","margin","position","opacity","transitionDuration","visibility","headItem","color","fontSize","width","whiteSpace","textOverflow","overflow","progressContainer","marginTop","objectDetails","display","alignItems","iconContainer","paddingTop","marginRight","height","download","upload","closeIcon","content","transform","borderLeft","closeButton","backgroundColor","border","right","fileName","classes","objectToDisplay","deleteFromList","prefix","Fragment","className","done","clearListIcon","onClick","instanceID","disabled","clsx","type","bucketName","Tooltip","title","placement","waitingForFile","ProgressBarWrapper","indeterminate","value","ready","percentage","withLabel","connector","connect","state","objects","objectBrowser","objectManager","objectsToManage","managerOpen","cleanList","downloadContainer","boxShadow","top","overflowY","overflowX","borderRadius","zIndex","minHeight","fontWeight","textAlign","marginBottom","paddingBottom","actionsContainer","maxHeight","flexDirection","cleanIcon","cleanButton","IconButton","size","map","object","key","BorderLinearProgress","styled","LinearProgress","linearProgressClasses","SmallBorderLinearProgress","LinearProgressWithLabel","props","sx","mr","variant","minWidth","Math","round","propsComponent"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2742.f1b14cdb.chunk.js b/portal-ui/build/static/js/2742.58c91247.chunk.js similarity index 86% rename from portal-ui/build/static/js/2742.f1b14cdb.chunk.js rename to portal-ui/build/static/js/2742.58c91247.chunk.js index 3a8edecd7..dcf31dea0 100644 --- a/portal-ui/build/static/js/2742.f1b14cdb.chunk.js +++ b/portal-ui/build/static/js/2742.58c91247.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2742],{29316:function(e,n,t){t(50390);var a=t(6369),r=t(86509),o=t(4285),i=t(11387),s=t(62559);n.Z=(0,o.Z)((function(e){return(0,r.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var n=e.to,t=e.label,r=e.classes,o=e.className,l=e.executeOnClick;return(0,s.jsxs)(a.rU,{to:n,className:"".concat(r.link," ").concat(o||""),onClick:function(){l&&l()},children:[(0,s.jsx)("div",{className:r.icon,children:(0,s.jsx)(i.xN,{})}),(0,s.jsx)("div",{className:r.label,children:t})]})}))},70758:function(e,n,t){var a=t(18489),r=t(36222),o=t(83738),i=(t(50390),t(86509)),s=t(4285),l=t(95467),c=t(94187),u=t(44977),m=t(62559),d=["classes","children","variant","tooltip"];n.Z=(0,s.Z)((function(e){return(0,i.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,i=e.variant,s=void 0===i?"outlined":i,p=e.tooltip,f=(0,o.Z)(e,d),h=(0,m.jsx)(l.Z,(0,a.Z)((0,a.Z)({},f),{},{className:(0,u.Z)(n.root,(0,r.Z)({},n.contained,"contained"===s)),children:t}));return p&&""!==p?(0,m.jsx)(c.Z,{title:p,children:(0,m.jsx)("span",{children:h})}):h}))},37882:function(e,n,t){var a=t(18489),r=t(50390),o=t(62559);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function t(t){return(0,o.jsx)(r.Suspense,{fallback:n,children:(0,o.jsx)(e,(0,a.Z)({},t))})}return t}},25534:function(e,n,t){var a=t(18489),r=(t(50390),t(25594)),o=t(86509),i=t(4285),s=t(72462),l=t(62559);n.Z=(0,i.Z)((function(e){return(0,o.Z)((0,a.Z)({},s.Bw))}))((function(e){var n=e.classes,t=e.className,a=void 0===t?"":t,o=e.children;return(0,l.jsx)("div",{className:n.contentSpacer,children:(0,l.jsx)(r.ZP,{container:!0,children:(0,l.jsx)(r.ZP,{item:!0,xs:12,className:a,children:o})})})}))},35721:function(e,n,t){t(50390);var a=t(34424),r=t(25594),o=t(86509),i=t(4285),s=t(35477),l=t(95467),c=t(26805),u=t(44078),m=t(5265),d=t(11387),p=t(62559),f={toggleList:m.kQ},h=(0,a.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),f);n.Z=h((0,i.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,a=e.actions,o=e.sidebarOpen,i=e.operatorMode,m=e.managerObjects,f=e.toggleList,h=e.middleComponent;return(0,p.jsxs)(r.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:h?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,p.jsx)("div",{className:n.logo,children:i?(0,p.jsx)(c.Z,{}):(0,p.jsx)(u.Z,{})}),(0,p.jsx)(s.Z,{variant:"h4",className:n.labelStyle,children:t})]}),h&&(0,p.jsx)(r.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:h}),(0,p.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:h?3:6,className:n.rightMenu,children:[a&&a,m&&m.length>0&&(0,p.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},size:"large",children:(0,p.jsx)(d.gx,{})})]})]})})))},62702:function(e,n,t){t(50390);var a=t(25594),r=t(86509),o=t(4285),i=t(62559);n.Z=(0,o.Z)((function(e){return(0,r.Z)({headerBarIcon:{marginRight:".7rem",color:e.palette.primary.main,"& .min-icon":{width:44,height:44}},headerBarSubheader:{color:"grey","@media (max-width: 900px)":{maxWidth:200}},screenTitle:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"1rem",borderBottom:"1px solid #EAEAEA","@media (max-width: 600px)":{flexFlow:"column"}},titleColumn:{height:"auto",justifyContent:"center",display:"flex",flexFlow:"column",alignItems:"flex-start","& h1":{fontSize:19}},leftItems:{display:"flex",alignItems:"center","@media (max-width: 600px)":{flexFlow:"column"}},rightItems:{display:"flex",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.icon,r=e.title,o=e.subTitle,s=e.actions,l=e.className;return(0,i.jsx)(a.ZP,{container:!0,children:(0,i.jsxs)(a.ZP,{item:!0,xs:12,className:"".concat(n.screenTitle," ").concat(l||""),children:[(0,i.jsxs)("div",{className:n.leftItems,children:[t?(0,i.jsx)("div",{className:n.headerBarIcon,children:t}):null,(0,i.jsxs)("div",{className:n.titleColumn,children:[(0,i.jsx)("h1",{style:{margin:0},children:r}),(0,i.jsx)("span",{className:n.headerBarSubheader,children:o})]})]}),(0,i.jsx)("div",{className:n.rightItems,children:s})]})})}))},57647:function(e,n,t){var a=t(18489),r=t(23430),o=t(50390),i=t(56805),s=t(49044),l=t(97227),c=t(74564),u=t(669),m=t(4285),d=t(88669),p=t(86509),f=t(13512),h=t(62559),x={minHeight:60};n.Z=(0,m.Z)((function(e){return(0,p.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,m=e.selectedTab,p=void 0===m?"0":m,b=e.routes,g=e.isRouteTabs,v=o.useState(p),y=(0,r.Z)(v,2),Z=y[0],j=y[1],N=(0,d.Z)(),C=(0,f.Z)(N.breakpoints.down("md")),T=[],w=[];return n?(n.forEach((function(e){T.push(e.tabConfig),w.push(e.content)})),(0,h.jsx)(l.ZP,{value:"".concat(Z),children:(0,h.jsxs)(i.Z,{className:t.tabsContainer,children:[(0,h.jsx)(i.Z,{className:t.tabsHeaderContainer,children:(0,h.jsx)(c.Z,{onChange:function(e,n){j(n)},orientation:C?"horizontal":"vertical",variant:C?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:T.map((function(e,n){return e?(0,h.jsx)(s.Z,(0,a.Z)((0,a.Z)({className:t.tabHeader,value:"".concat(n),style:x},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,h.jsxs)(i.Z,{className:t.tabContentContainer,children:[g?null:w.map((function(e,n){return(0,h.jsx)(u.Z,{classes:(0,a.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),g?(0,h.jsx)("div",{className:t.tabPanel,children:b}):null]})]})})):null}))},32742:function(e,n,t){t.r(n),t.d(n,{default:function(){return K}});var a=t(89472),r=t(23430),o=t(18489),i=t(50390),s=t(34424),l=t(6369),c=t(70971),u=t(86509),m=t(4285),d=t(38342),p=t.n(d),f=t(25594),h=t(44149),x=t(46864),b=t(72462),g=t(30324),v=t(35721),y=t(11387),Z=t(28948),j=t(62702),N=t(59078),C=t(18221),T=t(10542),w=t(25534),S=t(29316),E=t(57647),P=t(70758),M=t(37882),k=t(17777),A=t(62559),B=(0,m.Z)((function(e){return(0,u.Z)((0,o.Z)({breadcrumLink:{textDecoration:"none",color:"black"}},(0,b.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.match,a=e.setErrorSnackMessage,o=(0,i.useState)(!0),s=(0,r.Z)(o,2),c=s[0],u=s[1],m=t.params.tenantNamespace,d=t.params.tenantName,p=t.params.PVCName,h=(0,i.useState)([]),x=(0,r.Z)(h,2),b=x[0],v=x[1];return(0,i.useEffect)((function(){c&&g.Z.invoke("GET","/api/v1/namespaces/".concat(m,"/tenants/").concat(d,"/pvcs/").concat(p,"/events")).then((function(e){for(var n=0;n ",p]})}),(0,A.jsxs)(f.ZP,{container:!0,children:[(0,A.jsx)("h1",{className:n.sectionTitle,children:"Events"}),(0,A.jsx)(k.Z,{itemActions:[],columns:[{label:"Namespace",elementKey:"namespace"},{label:"Last Seen",elementKey:"seen"},{label:"Message",elementKey:"message"},{label:"Event Type",elementKey:"event_type"},{label:"Reason",elementKey:"reason"}],isLoading:c,records:b,entityName:"Events",idField:"event"})]})]})})),I=(0,M.Z)(i.lazy((function(){return Promise.all([t.e(5444),t.e(8954),t.e(8724)]).then(t.bind(t,70313))}))),z=(0,M.Z)(i.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(5444),t.e(9876),t.e(2182)]).then(t.bind(t,92182))}))),R=(0,M.Z)(i.lazy((function(){return Promise.all([t.e(606),t.e(7248),t.e(7764)]).then(t.bind(t,67764))}))),L=(0,M.Z)(i.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(5444),t.e(4220)]).then(t.bind(t,84220))}))),D=(0,M.Z)(i.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(5444),t.e(1719)]).then(t.bind(t,51719))}))),F=(0,M.Z)(i.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(5444),t.e(1420),t.e(7042),t.e(3320)]).then(t.bind(t,23320))}))),O=(0,M.Z)(i.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(9923)]).then(t.bind(t,79923))}))),W=(0,M.Z)(i.lazy((function(){return t.e(9586).then(t.bind(t,49586))}))),_=(0,M.Z)(i.lazy((function(){return Promise.all([t.e(5444),t.e(606),t.e(7248),t.e(3360),t.e(440),t.e(7261)]).then(t.bind(t,67261))}))),U=(0,M.Z)(i.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(5444),t.e(6436)]).then(t.bind(t,96436))}))),H=(0,M.Z)(i.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(8343)]).then(t.bind(t,58343))}))),V=(0,M.Z)(i.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(5444),t.e(1420),t.e(7042),t.e(2841)]).then(t.bind(t,32841))}))),$=(0,s.$j)((function(e){return{loadingTenant:e.tenants.tenantDetails.loadingTenant,currentTab:e.tenants.tenantDetails.currentTab,selectedTenant:e.tenants.tenantDetails.currentTenant,selectedNamespace:e.tenants.tenantDetails.currentNamespace,tenantInfo:e.tenants.tenantDetails.tenantInfo}}),{setErrorSnackMessage:h.Ih,setSnackBarMessage:h.y1,setTenantDetailsLoad:x.V2,setTenantName:x.V7,setTenantInfo:x.fe,setTenantTab:x.Gf}),K=(0,m.Z)((function(e){return(0,u.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},b.oZ),{},{pageContainer:{border:"1px solid #EAEAEA",width:"100%",height:"100%"},contentSpacer:(0,o.Z)((0,o.Z)({},b.Bw.contentSpacer),{},{minHeight:400}),redState:{color:e.palette.error.main,"& .min-icon":{width:16,height:16}},yellowState:{color:e.palette.warning.main,"& .min-icon":{width:16,height:16}},greenState:{color:e.palette.success.main,"& .min-icon":{width:16,height:16}},greyState:{color:"grey","& .min-icon":{width:16,height:16}},healthStatusIcon:{position:"relative",fontSize:10,left:26,height:10,top:4}},(0,b.Bz)(e.spacing(4))),{},{tenantActionButton:{"& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}},"& .min-icon":{width:12,marginLeft:5,"@media (max-width: 900px)":{width:16,marginLeft:0}}},deleteBtn:{color:"#f44336",border:"1px solid rgba(244, 67, 54, 0.5)"}}))}))($((function(e){var n=e.classes,t=e.match,o=e.history,s=e.loadingTenant,u=(e.currentTab,e.selectedTenant),m=e.tenantInfo,d=e.selectedNamespace,h=e.setErrorSnackMessage,x=e.setSnackBarMessage,b=e.setTenantDetailsLoad,M=e.setTenantName,k=e.setTenantInfo,$=(e.setTenantTab,(0,i.useState)(!1)),K=(0,r.Z)($,2),G=K[0],X=K[1],J=t.params.tenantName,Q=t.params.tenantNamespace,q=(0,i.useState)(!1),Y=(0,r.Z)(q,2),ee=Y[0],ne=Y[1];(0,i.useEffect)((function(){s||J===u&&Q===d||(M(J,Q),b(!0))}),[s,u,d,b,k,M,J,Q]),(0,i.useEffect)((function(){s&&g.Z.invoke("GET","/api/v1/namespaces/".concat(Q,"/tenants/").concat(J)).then((function(e){var n,t=e.pools?e.pools:[],r=0,o=0,i=0,s=(0,a.Z)(t);try{for(s.s();!(n=s.n()).done;){var l=n.value,c=l.volumes_per_server*l.servers*l.volume_configuration.size;l.label="pool-".concat(i),void 0!==l.name&&""!==l.name||(l.name=l.label),l.capacity=(0,Z.ae)(c+""),l.volumes=l.servers*l.volumes_per_server,r+=l.servers,o+=l.volumes,i+=1}}catch(u){s.e(u)}finally{s.f()}e.total_instances=r,e.total_volumes=o,k(e),b(!1)})).catch((function(e){h(e),b(!1)}))}),[s,Q,J,k,b,h]);var te=p()(t,"path","/").split("/"),ae=te[te.length-1]||"summary";":podName"!==ae&&"pods"!==ae||(ae="pods");var re=(0,i.useState)(ae),oe=(0,r.Z)(re,2),ie=oe[0],se=oe[1];(0,i.useEffect)((function(){se(ae)}),[ae]);var le,ce=function(e){return"/namespaces/".concat(Q,"/tenants/").concat(J,"/").concat(e)};return(0,A.jsxs)(i.Fragment,{children:[G&&(0,A.jsx)(I,{open:G,closeModalAndRefresh:function(){X(!1),b(!0)},tenant:J,namespace:Q}),ee&&null!==m&&(0,A.jsx)(U,{deleteOpen:ee,selectedTenant:m,closeDeleteModalAndRefresh:function(e){ne(!1),e&&(x("Tenant Deleted"),o.push("/tenants"))}}),(0,A.jsx)(v.Z,{label:(0,A.jsx)(i.Fragment,{children:(0,A.jsx)(l.rU,{to:"/tenants",className:n.breadcrumLink,children:"Tenants"})})}),(0,A.jsx)(S.Z,{to:"/tenants",label:"Return to Tenants"}),(0,A.jsxs)(w.Z,{className:n.pageContainer,children:[(0,A.jsx)(f.ZP,{item:!0,xs:12,children:(0,A.jsx)(j.Z,{icon:(0,A.jsxs)(i.Fragment,{children:[(0,A.jsx)("div",{className:n.healthStatusIcon,children:m&&m.status&&(0,A.jsx)("span",{className:(le=m.status.health_status,"red"===le?n.redState:"yellow"===le?n.yellowState:"green"===le?n.greenState:n.greyState),children:(0,A.jsx)(y.J$,{})})}),(0,A.jsx)(T.Z,{})]}),title:t.params.tenantName,subTitle:(0,A.jsxs)(i.Fragment,{children:["Namespace: ",Q," / Capacity:"," ",(0,Z.ae)(((null===m||void 0===m?void 0:m.total_size)||0).toString(10))]}),actions:(0,A.jsxs)("div",{children:[(0,A.jsxs)(P.Z,{tooltip:"Delete",variant:"outlined","aria-label":"Delete",onClick:function(){ne(!0)},color:"secondary",classes:{root:"".concat(n.tenantActionButton," ").concat(n.deleteBtn)},size:"large",children:[(0,A.jsx)("span",{children:"Delete Tenant"})," ",(0,A.jsx)(y.XH,{})]}),(0,A.jsxs)(P.Z,{classes:{root:n.tenantActionButton},tooltip:"Edit YAML",color:"primary",variant:"outlined","aria-label":"Edit YAML",onClick:function(){X(!0)},size:"large",children:[(0,A.jsx)("span",{children:"Edit Tenant"}),(0,A.jsx)(N.Z,{})]}),(0,A.jsxs)(P.Z,{classes:{root:n.tenantActionButton},tooltip:"Refresh",color:"primary",variant:"outlined","aria-label":"Refresh List",onClick:function(){b(!0)},children:[(0,A.jsx)("span",{children:"Reload"})," ",(0,A.jsx)(C.default,{})]})]})})}),(0,A.jsxs)(E.Z,{selectedTab:ie,isRouteTabs:!0,routes:(0,A.jsx)("div",{className:n.contentSpacer,children:(0,A.jsx)(c.F0,{history:o,children:(0,A.jsxs)(c.rs,{children:[(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName/summary",component:z}),(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName/metrics",component:W}),(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName/security",component:_}),(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName/pools",component:L}),(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName/pods/:podName",component:H}),(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName/pods",component:D}),(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName/pvcs/:PVCName",component:B}),(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName/volumes",component:O}),(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName/license",component:R}),(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName/monitoring",component:V}),(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName/logging",component:F}),(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName",component:function(){return(0,A.jsx)(c.l_,{to:"/namespaces/".concat(Q,"/tenants/").concat(J,"/summary")})}})]})})}),children:[{tabConfig:{label:"Summary",value:"summary",component:l.rU,to:ce("summary")}},{tabConfig:{label:"Metrics",value:"metrics",component:l.rU,to:ce("metrics")}},{tabConfig:{label:"Security",value:"security",component:l.rU,to:ce("security")}},{tabConfig:{label:"Pools",value:"pools",component:l.rU,to:ce("pools")}},{tabConfig:{label:"Pods",value:"pods",component:l.rU,to:ce("pods")}},{tabConfig:{label:"Monitoring",value:"monitoring",component:l.rU,to:ce("monitoring")}},{tabConfig:{label:"Logging",value:"logging",component:l.rU,to:ce("logging")}},{tabConfig:{label:"Volumes",value:"volumes",component:l.rU,to:ce("volumes")}},{tabConfig:{label:"License",value:"license",component:l.rU,to:ce("license")}}]})]})]})})))},46864:function(e,n,t){t.d(n,{HM:function(){return r},NO:function(){return o},wZ:function(){return i},DH:function(){return s},fK:function(){return l},IG:function(){return c},Eq:function(){return u},Mg:function(){return m},XX:function(){return d},aN:function(){return p},$1:function(){return f},BI:function(){return h},cl:function(){return x},fk:function(){return b},MX:function(){return g},dS:function(){return v},V2:function(){return y},V7:function(){return Z},fe:function(){return j},Gf:function(){return N},i$:function(){return C}});var a=t(77441),r=function(e,n,t){return{type:a.JC,pageName:e,field:n,value:t}},o=function(e,n){return{type:a.Jq,pageName:e,valid:n}},i=function(e){return{type:a.$0,storageClasses:e}},s=function(e){return{type:a.WC,limitSize:e}},l=function(){return{type:a.Oz}},c=function(e){return{type:a.HD,id:e}},u=function(e,n,t,r){return{type:a.PO,id:e,key:n,fileName:t,value:r}},m=function(){return{type:a.nr}},d=function(e){return{type:a.$j,id:e}},p=function(e,n,t,r){return{type:a.KU,id:e,key:n,fileName:t,value:r}},f=function(e,n,t){return{type:a.J7,key:e,fileName:n,value:t}},h=function(e,n,t){return{type:a.ci,key:e,fileName:n,value:t}},x=function(e,n,t){return{type:a.s5,key:e,fileName:n,value:t}},b=function(e,n){return{type:a.A3,fileName:e,value:n}},g=function(e,n){return{type:a.ox,fileName:e,value:n}},v=function(){return{type:a.j5}},y=function(e){return{type:a.Mm,state:e}},Z=function(e,n){return{type:a.Xq,name:e,namespace:n}},j=function(e){return{type:a.f$,tenant:e}},N=function(e){return{type:a.E0,tab:e}},C=function(e){return{type:a.Vr,newArray:e}}},97227:function(e,n,t){t.d(n,{ZP:function(){return s},_i:function(){return l},uU:function(){return c},pQ:function(){return u}});var a=t(23430),r=t(50390),o=t(62559),i=r.createContext(null);function s(e){var n=e.children,t=e.value,s=function(){var e=r.useState(null),n=(0,a.Z)(e,2),t=n[0],o=n[1];return r.useEffect((function(){o("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),t}(),l=r.useMemo((function(){return{idPrefix:s,value:t}}),[s,t]);return(0,o.jsx)(i.Provider,{value:l,children:n})}function l(){return r.useContext(i)}function c(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(n)}function u(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(n)}},74564:function(e,n,t){var a=t(18207),r=t(46633),o=t(50390),i=t(98247),s=t(97227),l=t(62559),c=["children"],u=o.forwardRef((function(e,n){var t=e.children,u=(0,r.Z)(e,c),m=(0,s._i)();if(null===m)throw new TypeError("No TabContext provided");var d=o.Children.map(t,(function(e){return o.isValidElement(e)?o.cloneElement(e,{"aria-controls":(0,s.uU)(m,e.props.value),id:(0,s.pQ)(m,e.props.value)}):null}));return(0,l.jsx)(i.Z,(0,a.Z)({},u,{ref:n,value:m.value,children:d}))}));n.Z=u},669:function(e,n,t){t.d(n,{Z:function(){return x}});var a=t(18207),r=t(46633),o=t(50390),i=t(44977),s=t(8208),l=t(15573),c=t(50076),u=t(10594);function m(e){return(0,u.Z)("MuiTabPanel",e)}(0,t(43349).Z)("MuiTabPanel",["root"]);var d=t(97227),p=t(62559),f=["children","className","value"],h=(0,s.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,n){return n.root}})((function(e){return{padding:e.theme.spacing(3)}})),x=o.forwardRef((function(e,n){var t=(0,l.Z)({props:e,name:"MuiTabPanel"}),o=t.children,s=t.className,u=t.value,x=(0,r.Z)(t,f),b=(0,a.Z)({},t),g=function(e){var n=e.classes;return(0,c.Z)({root:["root"]},m,n)}(b),v=(0,d._i)();if(null===v)throw new TypeError("No TabContext provided");var y=(0,d.uU)(v,u),Z=(0,d.pQ)(v,u);return(0,p.jsx)(h,(0,a.Z)({"aria-labelledby":Z,className:(0,i.Z)(g.root,s),hidden:u!==v.value,id:y,ref:n,role:"tabpanel",ownerState:b},x,{children:u===v.value&&o}))}))},89472:function(e,n,t){t.d(n,{Z:function(){return r}});var a=t(72327);function r(e,n){var t="undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=(0,a.Z)(e))||n&&e&&"number"===typeof e.length){t&&(e=t);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,s=!0,l=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return s=e.done,e},e:function(e){l=!0,i=e},f:function(){try{s||null==t.return||t.return()}finally{if(l)throw i}}}}},83738:function(e,n,t){function a(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},o=Object.keys(e);for(a=0;a=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}t.d(n,{Z:function(){return a}})}}]); -//# sourceMappingURL=2742.f1b14cdb.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2742],{29316:function(e,n,t){t(50390);var a=t(6369),r=t(86509),o=t(4285),i=t(98280),s=t(62559);n.Z=(0,o.Z)((function(e){return(0,r.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var n=e.to,t=e.label,r=e.classes,o=e.className,l=e.executeOnClick;return(0,s.jsxs)(a.rU,{to:n,className:"".concat(r.link," ").concat(o||""),onClick:function(){l&&l()},children:[(0,s.jsx)("div",{className:r.icon,children:(0,s.jsx)(i.xN,{})}),(0,s.jsx)("div",{className:r.label,children:t})]})}))},70758:function(e,n,t){var a=t(18489),r=t(36222),o=t(83738),i=(t(50390),t(86509)),s=t(4285),l=t(95467),c=t(94187),u=t(44977),m=t(62559),d=["classes","children","variant","tooltip"];n.Z=(0,s.Z)((function(e){return(0,i.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,i=e.variant,s=void 0===i?"outlined":i,p=e.tooltip,f=(0,o.Z)(e,d),h=(0,m.jsx)(l.Z,(0,a.Z)((0,a.Z)({},f),{},{className:(0,u.Z)(n.root,(0,r.Z)({},n.contained,"contained"===s)),children:t}));return p&&""!==p?(0,m.jsx)(c.Z,{title:p,children:(0,m.jsx)("span",{children:h})}):h}))},37882:function(e,n,t){var a=t(18489),r=t(50390),o=t(62559);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function t(t){return(0,o.jsx)(r.Suspense,{fallback:n,children:(0,o.jsx)(e,(0,a.Z)({},t))})}return t}},25534:function(e,n,t){var a=t(18489),r=(t(50390),t(25594)),o=t(86509),i=t(4285),s=t(72462),l=t(62559);n.Z=(0,i.Z)((function(e){return(0,o.Z)((0,a.Z)({},s.Bw))}))((function(e){var n=e.classes,t=e.className,a=void 0===t?"":t,o=e.children;return(0,l.jsx)("div",{className:n.contentSpacer,children:(0,l.jsx)(r.ZP,{container:!0,children:(0,l.jsx)(r.ZP,{item:!0,xs:12,className:a,children:o})})})}))},35721:function(e,n,t){t(50390);var a=t(34424),r=t(25594),o=t(86509),i=t(4285),s=t(35477),l=t(95467),c=t(26805),u=t(44078),m=t(5265),d=t(98280),p=t(62559),f={toggleList:m.kQ},h=(0,a.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),f);n.Z=h((0,i.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,a=e.actions,o=e.sidebarOpen,i=e.operatorMode,m=e.managerObjects,f=e.toggleList,h=e.middleComponent;return(0,p.jsxs)(r.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:h?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,p.jsx)("div",{className:n.logo,children:i?(0,p.jsx)(c.Z,{}):(0,p.jsx)(u.Z,{})}),(0,p.jsx)(s.Z,{variant:"h4",className:n.labelStyle,children:t})]}),h&&(0,p.jsx)(r.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:h}),(0,p.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:h?3:6,className:n.rightMenu,children:[a&&a,m&&m.length>0&&(0,p.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},size:"large",children:(0,p.jsx)(d.gx,{})})]})]})})))},62702:function(e,n,t){t(50390);var a=t(25594),r=t(86509),o=t(4285),i=t(62559);n.Z=(0,o.Z)((function(e){return(0,r.Z)({headerBarIcon:{marginRight:".7rem",color:e.palette.primary.main,"& .min-icon":{width:44,height:44}},headerBarSubheader:{color:"grey","@media (max-width: 900px)":{maxWidth:200}},screenTitle:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"1rem",borderBottom:"1px solid #EAEAEA","@media (max-width: 600px)":{flexFlow:"column"}},titleColumn:{height:"auto",justifyContent:"center",display:"flex",flexFlow:"column",alignItems:"flex-start","& h1":{fontSize:19}},leftItems:{display:"flex",alignItems:"center","@media (max-width: 600px)":{flexFlow:"column"}},rightItems:{display:"flex",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.icon,r=e.title,o=e.subTitle,s=e.actions,l=e.className;return(0,i.jsx)(a.ZP,{container:!0,children:(0,i.jsxs)(a.ZP,{item:!0,xs:12,className:"".concat(n.screenTitle," ").concat(l||""),children:[(0,i.jsxs)("div",{className:n.leftItems,children:[t?(0,i.jsx)("div",{className:n.headerBarIcon,children:t}):null,(0,i.jsxs)("div",{className:n.titleColumn,children:[(0,i.jsx)("h1",{style:{margin:0},children:r}),(0,i.jsx)("span",{className:n.headerBarSubheader,children:o})]})]}),(0,i.jsx)("div",{className:n.rightItems,children:s})]})})}))},57647:function(e,n,t){var a=t(18489),r=t(23430),o=t(50390),i=t(56805),s=t(49044),l=t(97227),c=t(74564),u=t(669),m=t(4285),d=t(88669),p=t(86509),f=t(13512),h=t(62559),x={minHeight:60};n.Z=(0,m.Z)((function(e){return(0,p.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,m=e.selectedTab,p=void 0===m?"0":m,g=e.routes,b=e.isRouteTabs,v=o.useState(p),y=(0,r.Z)(v,2),Z=y[0],j=y[1],N=(0,d.Z)(),C=(0,f.Z)(N.breakpoints.down("md")),T=[],w=[];return n?(n.forEach((function(e){T.push(e.tabConfig),w.push(e.content)})),(0,h.jsx)(l.ZP,{value:"".concat(Z),children:(0,h.jsxs)(i.Z,{className:t.tabsContainer,children:[(0,h.jsx)(i.Z,{className:t.tabsHeaderContainer,children:(0,h.jsx)(c.Z,{onChange:function(e,n){j(n)},orientation:C?"horizontal":"vertical",variant:C?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:T.map((function(e,n){return e?(0,h.jsx)(s.Z,(0,a.Z)((0,a.Z)({className:t.tabHeader,value:"".concat(n),style:x},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,h.jsxs)(i.Z,{className:t.tabContentContainer,children:[b?null:w.map((function(e,n){return(0,h.jsx)(u.Z,{classes:(0,a.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),b?(0,h.jsx)("div",{className:t.tabPanel,children:g}):null]})]})})):null}))},32742:function(e,n,t){t.r(n),t.d(n,{default:function(){return K}});var a=t(89472),r=t(23430),o=t(18489),i=t(50390),s=t(34424),l=t(6369),c=t(70971),u=t(86509),m=t(4285),d=t(38342),p=t.n(d),f=t(25594),h=t(44149),x=t(46864),g=t(72462),b=t(30324),v=t(35721),y=t(98280),Z=t(28948),j=t(62702),N=t(59078),C=t(18221),T=t(10542),w=t(25534),S=t(29316),E=t(57647),P=t(70758),M=t(37882),k=t(17777),A=t(62559),B=(0,m.Z)((function(e){return(0,u.Z)((0,o.Z)({breadcrumLink:{textDecoration:"none",color:"black"}},(0,g.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.match,a=e.setErrorSnackMessage,o=(0,i.useState)(!0),s=(0,r.Z)(o,2),c=s[0],u=s[1],m=t.params.tenantNamespace,d=t.params.tenantName,p=t.params.PVCName,h=(0,i.useState)([]),x=(0,r.Z)(h,2),g=x[0],v=x[1];return(0,i.useEffect)((function(){c&&b.Z.invoke("GET","/api/v1/namespaces/".concat(m,"/tenants/").concat(d,"/pvcs/").concat(p,"/events")).then((function(e){for(var n=0;n ",p]})}),(0,A.jsxs)(f.ZP,{container:!0,children:[(0,A.jsx)("h1",{className:n.sectionTitle,children:"Events"}),(0,A.jsx)(k.Z,{itemActions:[],columns:[{label:"Namespace",elementKey:"namespace"},{label:"Last Seen",elementKey:"seen"},{label:"Message",elementKey:"message"},{label:"Event Type",elementKey:"event_type"},{label:"Reason",elementKey:"reason"}],isLoading:c,records:g,entityName:"Events",idField:"event"})]})]})})),I=(0,M.Z)(i.lazy((function(){return Promise.all([t.e(5444),t.e(8954),t.e(8724)]).then(t.bind(t,70313))}))),z=(0,M.Z)(i.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(5444),t.e(9876),t.e(2182)]).then(t.bind(t,48330))}))),R=(0,M.Z)(i.lazy((function(){return Promise.all([t.e(606),t.e(7248),t.e(7764)]).then(t.bind(t,67764))}))),L=(0,M.Z)(i.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(5444),t.e(4220)]).then(t.bind(t,84220))}))),D=(0,M.Z)(i.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(5444),t.e(1719)]).then(t.bind(t,51719))}))),F=(0,M.Z)(i.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(5444),t.e(1420),t.e(7042),t.e(3320)]).then(t.bind(t,23320))}))),O=(0,M.Z)(i.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(9923)]).then(t.bind(t,79923))}))),W=(0,M.Z)(i.lazy((function(){return t.e(9586).then(t.bind(t,49586))}))),_=(0,M.Z)(i.lazy((function(){return Promise.all([t.e(5444),t.e(606),t.e(7248),t.e(3360),t.e(440),t.e(7261)]).then(t.bind(t,67261))}))),U=(0,M.Z)(i.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(5444),t.e(6436)]).then(t.bind(t,96436))}))),H=(0,M.Z)(i.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(8343)]).then(t.bind(t,58343))}))),V=(0,M.Z)(i.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(5444),t.e(1420),t.e(7042),t.e(2841)]).then(t.bind(t,32841))}))),$=(0,s.$j)((function(e){return{loadingTenant:e.tenants.tenantDetails.loadingTenant,currentTab:e.tenants.tenantDetails.currentTab,selectedTenant:e.tenants.tenantDetails.currentTenant,selectedNamespace:e.tenants.tenantDetails.currentNamespace,tenantInfo:e.tenants.tenantDetails.tenantInfo}}),{setErrorSnackMessage:h.Ih,setSnackBarMessage:h.y1,setTenantDetailsLoad:x.V2,setTenantName:x.V7,setTenantInfo:x.fe,setTenantTab:x.Gf}),K=(0,m.Z)((function(e){return(0,u.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},g.oZ),{},{pageContainer:{border:"1px solid #EAEAEA",width:"100%",height:"100%"},contentSpacer:(0,o.Z)((0,o.Z)({},g.Bw.contentSpacer),{},{minHeight:400}),redState:{color:e.palette.error.main,"& .min-icon":{width:16,height:16}},yellowState:{color:e.palette.warning.main,"& .min-icon":{width:16,height:16}},greenState:{color:e.palette.success.main,"& .min-icon":{width:16,height:16}},greyState:{color:"grey","& .min-icon":{width:16,height:16}},healthStatusIcon:{position:"relative",fontSize:10,left:26,height:10,top:4}},(0,g.Bz)(e.spacing(4))),{},{tenantActionButton:{"& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}},"& .min-icon":{width:12,marginLeft:5,"@media (max-width: 900px)":{width:16,marginLeft:0}}},deleteBtn:{color:"#f44336",border:"1px solid rgba(244, 67, 54, 0.5)"}}))}))($((function(e){var n=e.classes,t=e.match,o=e.history,s=e.loadingTenant,u=(e.currentTab,e.selectedTenant),m=e.tenantInfo,d=e.selectedNamespace,h=e.setErrorSnackMessage,x=e.setSnackBarMessage,g=e.setTenantDetailsLoad,M=e.setTenantName,k=e.setTenantInfo,$=(e.setTenantTab,(0,i.useState)(!1)),K=(0,r.Z)($,2),G=K[0],X=K[1],J=t.params.tenantName,Q=t.params.tenantNamespace,q=(0,i.useState)(!1),Y=(0,r.Z)(q,2),ee=Y[0],ne=Y[1];(0,i.useEffect)((function(){s||J===u&&Q===d||(M(J,Q),g(!0))}),[s,u,d,g,k,M,J,Q]),(0,i.useEffect)((function(){s&&b.Z.invoke("GET","/api/v1/namespaces/".concat(Q,"/tenants/").concat(J)).then((function(e){var n,t=e.pools?e.pools:[],r=0,o=0,i=0,s=(0,a.Z)(t);try{for(s.s();!(n=s.n()).done;){var l=n.value,c=l.volumes_per_server*l.servers*l.volume_configuration.size;l.label="pool-".concat(i),void 0!==l.name&&""!==l.name||(l.name=l.label),l.capacity=(0,Z.ae)(c+""),l.volumes=l.servers*l.volumes_per_server,r+=l.servers,o+=l.volumes,i+=1}}catch(u){s.e(u)}finally{s.f()}e.total_instances=r,e.total_volumes=o,k(e),g(!1)})).catch((function(e){h(e),g(!1)}))}),[s,Q,J,k,g,h]);var te=p()(t,"path","/").split("/"),ae=te[te.length-1]||"summary";":podName"!==ae&&"pods"!==ae||(ae="pods");var re=(0,i.useState)(ae),oe=(0,r.Z)(re,2),ie=oe[0],se=oe[1];(0,i.useEffect)((function(){se(ae)}),[ae]);var le,ce=function(e){return"/namespaces/".concat(Q,"/tenants/").concat(J,"/").concat(e)};return(0,A.jsxs)(i.Fragment,{children:[G&&(0,A.jsx)(I,{open:G,closeModalAndRefresh:function(){X(!1),g(!0)},tenant:J,namespace:Q}),ee&&null!==m&&(0,A.jsx)(U,{deleteOpen:ee,selectedTenant:m,closeDeleteModalAndRefresh:function(e){ne(!1),e&&(x("Tenant Deleted"),o.push("/tenants"))}}),(0,A.jsx)(v.Z,{label:(0,A.jsx)(i.Fragment,{children:(0,A.jsx)(l.rU,{to:"/tenants",className:n.breadcrumLink,children:"Tenants"})})}),(0,A.jsx)(S.Z,{to:"/tenants",label:"Return to Tenants"}),(0,A.jsxs)(w.Z,{className:n.pageContainer,children:[(0,A.jsx)(f.ZP,{item:!0,xs:12,children:(0,A.jsx)(j.Z,{icon:(0,A.jsxs)(i.Fragment,{children:[(0,A.jsx)("div",{className:n.healthStatusIcon,children:m&&m.status&&(0,A.jsx)("span",{className:(le=m.status.health_status,"red"===le?n.redState:"yellow"===le?n.yellowState:"green"===le?n.greenState:n.greyState),children:(0,A.jsx)(y.J$,{})})}),(0,A.jsx)(T.Z,{})]}),title:t.params.tenantName,subTitle:(0,A.jsxs)(i.Fragment,{children:["Namespace: ",Q," / Capacity:"," ",(0,Z.ae)(((null===m||void 0===m?void 0:m.total_size)||0).toString(10))]}),actions:(0,A.jsxs)("div",{children:[(0,A.jsxs)(P.Z,{tooltip:"Delete",variant:"outlined","aria-label":"Delete",onClick:function(){ne(!0)},color:"secondary",classes:{root:"".concat(n.tenantActionButton," ").concat(n.deleteBtn)},size:"large",children:[(0,A.jsx)("span",{children:"Delete Tenant"})," ",(0,A.jsx)(y.XH,{})]}),(0,A.jsxs)(P.Z,{classes:{root:n.tenantActionButton},tooltip:"Edit YAML",color:"primary",variant:"outlined","aria-label":"Edit YAML",onClick:function(){X(!0)},size:"large",children:[(0,A.jsx)("span",{children:"Edit Tenant"}),(0,A.jsx)(N.Z,{})]}),(0,A.jsxs)(P.Z,{classes:{root:n.tenantActionButton},tooltip:"Refresh",color:"primary",variant:"outlined","aria-label":"Refresh List",onClick:function(){g(!0)},children:[(0,A.jsx)("span",{children:"Reload"})," ",(0,A.jsx)(C.default,{})]})]})})}),(0,A.jsxs)(E.Z,{selectedTab:ie,isRouteTabs:!0,routes:(0,A.jsx)("div",{className:n.contentSpacer,children:(0,A.jsx)(c.F0,{history:o,children:(0,A.jsxs)(c.rs,{children:[(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName/summary",component:z}),(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName/metrics",component:W}),(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName/security",component:_}),(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName/pools",component:L}),(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName/pods/:podName",component:H}),(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName/pods",component:D}),(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName/pvcs/:PVCName",component:B}),(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName/volumes",component:O}),(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName/license",component:R}),(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName/monitoring",component:V}),(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName/logging",component:F}),(0,A.jsx)(c.AW,{path:"/namespaces/:tenantNamespace/tenants/:tenantName",component:function(){return(0,A.jsx)(c.l_,{to:"/namespaces/".concat(Q,"/tenants/").concat(J,"/summary")})}})]})})}),children:[{tabConfig:{label:"Summary",value:"summary",component:l.rU,to:ce("summary")}},{tabConfig:{label:"Metrics",value:"metrics",component:l.rU,to:ce("metrics")}},{tabConfig:{label:"Security",value:"security",component:l.rU,to:ce("security")}},{tabConfig:{label:"Pools",value:"pools",component:l.rU,to:ce("pools")}},{tabConfig:{label:"Pods",value:"pods",component:l.rU,to:ce("pods")}},{tabConfig:{label:"Monitoring",value:"monitoring",component:l.rU,to:ce("monitoring")}},{tabConfig:{label:"Logging",value:"logging",component:l.rU,to:ce("logging")}},{tabConfig:{label:"Volumes",value:"volumes",component:l.rU,to:ce("volumes")}},{tabConfig:{label:"License",value:"license",component:l.rU,to:ce("license")}}]})]})]})})))},46864:function(e,n,t){t.d(n,{HM:function(){return r},NO:function(){return o},wZ:function(){return i},DH:function(){return s},fK:function(){return l},IG:function(){return c},Eq:function(){return u},Mg:function(){return m},XX:function(){return d},aN:function(){return p},$1:function(){return f},BI:function(){return h},cl:function(){return x},fk:function(){return g},MX:function(){return b},dS:function(){return v},V2:function(){return y},V7:function(){return Z},fe:function(){return j},Gf:function(){return N},i$:function(){return C}});var a=t(77441),r=function(e,n,t){return{type:a.JC,pageName:e,field:n,value:t}},o=function(e,n){return{type:a.Jq,pageName:e,valid:n}},i=function(e){return{type:a.$0,storageClasses:e}},s=function(e){return{type:a.WC,limitSize:e}},l=function(){return{type:a.Oz}},c=function(e){return{type:a.HD,id:e}},u=function(e,n,t,r){return{type:a.PO,id:e,key:n,fileName:t,value:r}},m=function(){return{type:a.nr}},d=function(e){return{type:a.$j,id:e}},p=function(e,n,t,r){return{type:a.KU,id:e,key:n,fileName:t,value:r}},f=function(e,n,t){return{type:a.J7,key:e,fileName:n,value:t}},h=function(e,n,t){return{type:a.ci,key:e,fileName:n,value:t}},x=function(e,n,t){return{type:a.s5,key:e,fileName:n,value:t}},g=function(e,n){return{type:a.A3,fileName:e,value:n}},b=function(e,n){return{type:a.ox,fileName:e,value:n}},v=function(){return{type:a.j5}},y=function(e){return{type:a.Mm,state:e}},Z=function(e,n){return{type:a.Xq,name:e,namespace:n}},j=function(e){return{type:a.f$,tenant:e}},N=function(e){return{type:a.E0,tab:e}},C=function(e){return{type:a.Vr,newArray:e}}},97227:function(e,n,t){t.d(n,{ZP:function(){return s},_i:function(){return l},uU:function(){return c},pQ:function(){return u}});var a=t(23430),r=t(50390),o=t(62559),i=r.createContext(null);function s(e){var n=e.children,t=e.value,s=function(){var e=r.useState(null),n=(0,a.Z)(e,2),t=n[0],o=n[1];return r.useEffect((function(){o("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),t}(),l=r.useMemo((function(){return{idPrefix:s,value:t}}),[s,t]);return(0,o.jsx)(i.Provider,{value:l,children:n})}function l(){return r.useContext(i)}function c(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(n)}function u(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(n)}},74564:function(e,n,t){var a=t(18207),r=t(46633),o=t(50390),i=t(98247),s=t(97227),l=t(62559),c=["children"],u=o.forwardRef((function(e,n){var t=e.children,u=(0,r.Z)(e,c),m=(0,s._i)();if(null===m)throw new TypeError("No TabContext provided");var d=o.Children.map(t,(function(e){return o.isValidElement(e)?o.cloneElement(e,{"aria-controls":(0,s.uU)(m,e.props.value),id:(0,s.pQ)(m,e.props.value)}):null}));return(0,l.jsx)(i.Z,(0,a.Z)({},u,{ref:n,value:m.value,children:d}))}));n.Z=u},669:function(e,n,t){t.d(n,{Z:function(){return x}});var a=t(18207),r=t(46633),o=t(50390),i=t(44977),s=t(8208),l=t(15573),c=t(50076),u=t(10594);function m(e){return(0,u.Z)("MuiTabPanel",e)}(0,t(43349).Z)("MuiTabPanel",["root"]);var d=t(97227),p=t(62559),f=["children","className","value"],h=(0,s.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,n){return n.root}})((function(e){return{padding:e.theme.spacing(3)}})),x=o.forwardRef((function(e,n){var t=(0,l.Z)({props:e,name:"MuiTabPanel"}),o=t.children,s=t.className,u=t.value,x=(0,r.Z)(t,f),g=(0,a.Z)({},t),b=function(e){var n=e.classes;return(0,c.Z)({root:["root"]},m,n)}(g),v=(0,d._i)();if(null===v)throw new TypeError("No TabContext provided");var y=(0,d.uU)(v,u),Z=(0,d.pQ)(v,u);return(0,p.jsx)(h,(0,a.Z)({"aria-labelledby":Z,className:(0,i.Z)(b.root,s),hidden:u!==v.value,id:y,ref:n,role:"tabpanel",ownerState:g},x,{children:u===v.value&&o}))}))},83738:function(e,n,t){function a(e,n){if(null==e)return{};var t,a,r=function(e,n){if(null==e)return{};var t,a,r={},o=Object.keys(e);for(a=0;a=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}t.d(n,{Z:function(){return a}})}}]); +//# sourceMappingURL=2742.58c91247.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2742.58c91247.chunk.js.map b/portal-ui/build/static/js/2742.58c91247.chunk.js.map new file mode 100644 index 000000000..4cb2e4af4 --- /dev/null +++ b/portal-ui/build/static/js/2742.58c91247.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2742.58c91247.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/ScreenTitle/ScreenTitle.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Tenants/TenantDetails/PVCDetails.tsx","screens/Console/Tenants/TenantDetails/TenantDetails.tsx","screens/Console/Tenants/actions.ts","../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","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n

\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
\n {icon ?
{icon}
: null}\n
\n

{title}

\n {subTitle}\n
\n
\n\n
{actions}
\n
\n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\n","import React 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\";\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 [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\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, { Fragment, useEffect, useState } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { containerForHeader } from \"../../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport { Link } from \"react-router-dom\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport api from \"../../../../common/api\";\nimport { IEvent } from \"../ListTenants/types\";\nimport { niceDays } from \"../../../../common/utils\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\n\ninterface IPVCDetailsProps {\n classes: any;\n match: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst PVCDetails = ({\n classes,\n match,\n setErrorSnackMessage,\n}: IPVCDetailsProps) => {\n const [loading, setLoading] = useState(true);\n const tenantNamespace = match.params[\"tenantNamespace\"];\n const tenantName = match.params[\"tenantName\"];\n const PVCName = match.params[\"PVCName\"];\n const [event, setEvent] = useState([]);\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/pvcs/${PVCName}/events`\n )\n .then((res: IEvent[]) => {\n for (let i = 0; i < res.length; i++) {\n let currentTime = (Date.now() / 1000) | 0;\n\n res[i].seen = niceDays((currentTime - res[i].last_seen).toString());\n }\n setEvent(res);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoading(false);\n });\n }\n }, [loading, PVCName, tenantNamespace, tenantName, setErrorSnackMessage]);\n\n return (\n \n \n

\n \n PVCs\n {\" \"}\n > {PVCName}\n

\n
\n \n

Events

\n \n
\n
\n );\n};\n\nexport default withStyles(styles)(PVCDetails);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { Link, Redirect, Route, Router, Switch } from \"react-router-dom\";\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 { setErrorSnackMessage, setSnackBarMessage } from \"../../../../actions\";\nimport {\n setTenantDetailsLoad,\n setTenantInfo,\n setTenantName,\n setTenantTab,\n} from \"../actions\";\nimport { ITenant } from \"../ListTenants/types\";\nimport {\n containerForHeader,\n pageContentStyles,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport { CircleIcon, TrashIcon } from \"../../../../icons\";\nimport { niceBytes } from \"../../../../common/utils\";\nimport ScreenTitle from \"../../Common/ScreenTitle/ScreenTitle\";\nimport EditIcon from \"../../../../icons/EditIcon\";\nimport RefreshIcon from \"../../../../icons/RefreshIcon\";\nimport TenantsIcon from \"../../../../icons/TenantsIcon\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport BackLink from \"../../../../common/BackLink\";\nimport VerticalTabs from \"../../Common/VerticalTabs/VerticalTabs\";\nimport BoxIconButton from \"../../Common/BoxIconButton/BoxIconButton\";\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport PVCDetails from \"./PVCDetails\";\n\nconst TenantYAML = withSuspense(React.lazy(() => import(\"./TenantYAML\")));\nconst TenantSummary = withSuspense(React.lazy(() => import(\"./TenantSummary\")));\nconst TenantLicense = withSuspense(React.lazy(() => import(\"./TenantLicense\")));\nconst PoolsSummary = withSuspense(React.lazy(() => import(\"./PoolsSummary\")));\nconst PodsSummary = withSuspense(React.lazy(() => import(\"./PodsSummary\")));\nconst TenantLogging = withSuspense(React.lazy(() => import(\"./TenantLogging\")));\nconst VolumesSummary = withSuspense(\n React.lazy(() => import(\"./VolumesSummary\"))\n);\nconst TenantMetrics = withSuspense(React.lazy(() => import(\"./TenantMetrics\")));\nconst TenantSecurity = withSuspense(\n React.lazy(() => import(\"./TenantSecurity\"))\n);\nconst DeleteTenant = withSuspense(\n React.lazy(() => import(\"../ListTenants/DeleteTenant\"))\n);\nconst PodDetails = withSuspense(React.lazy(() => import(\"./pods/PodDetails\")));\nconst TenantMonitoring = withSuspense(\n React.lazy(() => import(\"./TenantMonitoring\"))\n);\n\ninterface ITenantDetailsProps {\n classes: any;\n match: any;\n history: any;\n loadingTenant: boolean;\n currentTab: string;\n selectedTenant: string;\n tenantInfo: ITenant | null;\n selectedNamespace: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n setSnackBarMessage: typeof setSnackBarMessage;\n setTenantDetailsLoad: typeof setTenantDetailsLoad;\n setTenantName: typeof setTenantName;\n setTenantInfo: typeof setTenantInfo;\n setTenantTab: typeof setTenantTab;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n pageContainer: {\n border: \"1px solid #EAEAEA\",\n width: \"100%\",\n height: \"100%\",\n },\n contentSpacer: {\n ...pageContentStyles.contentSpacer,\n minHeight: 400,\n },\n redState: {\n color: theme.palette.error.main,\n \"& .min-icon\": {\n width: 16,\n height: 16,\n },\n },\n yellowState: {\n color: theme.palette.warning.main,\n \"& .min-icon\": {\n width: 16,\n height: 16,\n },\n },\n greenState: {\n color: theme.palette.success.main,\n \"& .min-icon\": {\n width: 16,\n height: 16,\n },\n },\n greyState: {\n color: \"grey\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n },\n },\n healthStatusIcon: {\n position: \"relative\",\n fontSize: 10,\n left: 26,\n height: 10,\n top: 4,\n },\n ...containerForHeader(theme.spacing(4)),\n tenantActionButton: {\n \"& span\": {\n fontSize: 14,\n \"@media (max-width: 900px)\": {\n display: \"none\",\n },\n },\n \"& .min-icon\": {\n width: 12,\n marginLeft: 5,\n\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: 0,\n },\n },\n },\n deleteBtn: {\n color: \"#f44336\",\n border: \"1px solid rgba(244, 67, 54, 0.5)\",\n },\n });\n\nconst TenantDetails = ({\n classes,\n match,\n history,\n loadingTenant,\n currentTab,\n selectedTenant,\n tenantInfo,\n selectedNamespace,\n setErrorSnackMessage,\n setSnackBarMessage,\n setTenantDetailsLoad,\n setTenantName,\n setTenantInfo,\n setTenantTab,\n}: ITenantDetailsProps) => {\n const [yamlScreenOpen, setYamlScreenOpen] = useState(false);\n\n const tenantName = match.params[\"tenantName\"];\n const tenantNamespace = match.params[\"tenantNamespace\"];\n const [deleteOpen, setDeleteOpen] = useState(false);\n\n useEffect(() => {\n if (!loadingTenant) {\n if (\n tenantName !== selectedTenant ||\n tenantNamespace !== selectedNamespace\n ) {\n setTenantName(tenantName, tenantNamespace);\n setTenantDetailsLoad(true);\n }\n }\n }, [\n loadingTenant,\n selectedTenant,\n selectedNamespace,\n setTenantDetailsLoad,\n setTenantInfo,\n setTenantName,\n tenantName,\n tenantNamespace,\n ]);\n\n useEffect(() => {\n if (loadingTenant) {\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}`\n )\n .then((res: ITenant) => {\n // add computed fields\n const resPools = !res.pools ? [] : res.pools;\n\n let totalInstances = 0;\n let totalVolumes = 0;\n let poolNamedIndex = 0;\n for (let pool of resPools) {\n const cap =\n pool.volumes_per_server *\n pool.servers *\n pool.volume_configuration.size;\n pool.label = `pool-${poolNamedIndex}`;\n if (pool.name === undefined || pool.name === \"\") {\n pool.name = pool.label;\n }\n pool.capacity = niceBytes(cap + \"\");\n pool.volumes = pool.servers * pool.volumes_per_server;\n totalInstances += pool.servers;\n totalVolumes += pool.volumes;\n poolNamedIndex += 1;\n }\n res.total_instances = totalInstances;\n res.total_volumes = totalVolumes;\n\n setTenantInfo(res);\n setTenantDetailsLoad(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setTenantDetailsLoad(false);\n });\n }\n }, [\n loadingTenant,\n tenantNamespace,\n tenantName,\n setTenantInfo,\n setTenantDetailsLoad,\n setErrorSnackMessage,\n ]);\n\n const path = get(match, \"path\", \"/\");\n const splitSections = path.split(\"/\");\n\n let highlightedTab = splitSections[splitSections.length - 1] || \"summary\";\n if (highlightedTab === \":podName\" || highlightedTab === \"pods\") {\n // It has SUB Route\n highlightedTab = \"pods\";\n }\n const [activeTab, setActiveTab] = useState(highlightedTab);\n\n useEffect(() => {\n setActiveTab(highlightedTab);\n }, [highlightedTab]);\n\n const editYaml = () => {\n setYamlScreenOpen(true);\n };\n\n const closeYAMLModalAndRefresh = () => {\n setYamlScreenOpen(false);\n setTenantDetailsLoad(true);\n };\n\n const getRoutePath = (newValue: string) => {\n return `/namespaces/${tenantNamespace}/tenants/${tenantName}/${newValue}`;\n };\n\n const confirmDeleteTenant = () => {\n setDeleteOpen(true);\n };\n\n const closeDeleteModalAndRefresh = (reloadData: boolean) => {\n setDeleteOpen(false);\n\n if (reloadData) {\n setSnackBarMessage(\"Tenant Deleted\");\n history.push(`/tenants`);\n }\n };\n\n const healthStatusToClass = (health_status: string) => {\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\n return (\n \n {yamlScreenOpen && (\n \n )}\n {deleteOpen && tenantInfo !== null && (\n \n )}\n \n \n Tenants\n \n \n }\n />\n \n \n \n \n
\n {tenantInfo && tenantInfo.status && (\n \n \n \n )}\n
\n \n \n }\n title={match.params[\"tenantName\"]}\n subTitle={\n \n Namespace: {tenantNamespace} / Capacity:{\" \"}\n {niceBytes((tenantInfo?.total_size || 0).toString(10))}\n \n }\n actions={\n
\n {\n confirmDeleteTenant();\n }}\n color=\"secondary\"\n classes={{\n root: `${classes.tenantActionButton} ${classes.deleteBtn}`,\n }}\n size=\"large\"\n >\n Delete Tenant \n \n {\n editYaml();\n }}\n size=\"large\"\n >\n Edit Tenant\n \n \n {\n setTenantDetailsLoad(true);\n }}\n >\n Reload \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 tabConfig: {\n label: \"Summary\",\n value: \"summary\",\n component: Link,\n to: getRoutePath(\"summary\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Metrics\",\n value: \"metrics\",\n component: Link,\n to: getRoutePath(\"metrics\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Security\",\n value: \"security\",\n component: Link,\n to: getRoutePath(\"security\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Pools\",\n value: \"pools\",\n component: Link,\n to: getRoutePath(\"pools\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Pods\",\n value: \"pods\",\n component: Link,\n to: getRoutePath(\"pods\"),\n },\n }}\n\n {{\n tabConfig: {\n label: \"Monitoring\",\n value: \"monitoring\",\n component: Link,\n to: getRoutePath(\"monitoring\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Logging\",\n value: \"logging\",\n component: Link,\n to: getRoutePath(\"logging\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Volumes\",\n value: \"volumes\",\n component: Link,\n to: getRoutePath(\"volumes\"),\n },\n }}\n {{\n tabConfig: {\n label: \"License\",\n value: \"license\",\n component: Link,\n to: getRoutePath(\"license\"),\n },\n }}\n \n
\n \n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n currentTab: state.tenants.tenantDetails.currentTab,\n selectedTenant: state.tenants.tenantDetails.currentTenant,\n selectedNamespace: state.tenants.tenantDetails.currentNamespace,\n tenantInfo: state.tenants.tenantDetails.tenantInfo,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n setSnackBarMessage,\n setTenantDetailsLoad,\n setTenantName,\n setTenantInfo,\n setTenantTab,\n});\n\nexport default withStyles(styles)(connector(TenantDetails));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { ITenant } from \"./ListTenants/types\";\nimport { Opts } from \"./ListTenants/utils\";\nimport {\n ADD_TENANT_ADD_CA_KEYPAIR,\n ADD_TENANT_ADD_CONSOLE_CA_KEYPAIR,\n ADD_TENANT_ADD_CONSOLE_CERT,\n ADD_TENANT_ADD_FILE_TO_CA_KEYPAIR,\n ADD_TENANT_ADD_FILE_TO_CONSOLE_CA_KEYPAIR,\n ADD_TENANT_ADD_FILE_TO_MINIO_KEYPAIR,\n ADD_TENANT_ADD_MINIO_KEYPAIR,\n ADD_TENANT_DELETE_CA_KEYPAIR,\n ADD_TENANT_DELETE_CONSOLE_CA_KEYPAIR,\n ADD_TENANT_DELETE_MINIO_KEYPAIR,\n ADD_TENANT_ENCRYPTION_CLIENT_CERT,\n ADD_TENANT_ENCRYPTION_GEMALTO_CA,\n ADD_TENANT_ENCRYPTION_SERVER_CERT,\n ADD_TENANT_ENCRYPTION_VAULT_CA,\n ADD_TENANT_ENCRYPTION_VAULT_CERT,\n ADD_TENANT_RESET_FORM,\n ADD_TENANT_SET_CURRENT_PAGE,\n ADD_TENANT_SET_LIMIT_SIZE,\n ADD_TENANT_SET_PAGE_VALID,\n ADD_TENANT_SET_STORAGE_CLASSES_LIST,\n ADD_TENANT_UPDATE_FIELD,\n TENANT_DETAILS_SET_CURRENT_TENANT,\n TENANT_DETAILS_SET_LOADING,\n TENANT_DETAILS_SET_TAB,\n TENANT_DETAILS_SET_TENANT,\n ADD_TENANT_SET_KEY_PAIR_VALUE,\n LabelKeyPair,\n} from \"./types\";\n\n// Basic actions\nexport const setWizardPage = (page: number) => {\n return {\n type: ADD_TENANT_SET_CURRENT_PAGE,\n page,\n };\n};\n\nexport const updateAddField = (\n pageName: string,\n fieldName: string,\n value: any\n) => {\n return {\n type: ADD_TENANT_UPDATE_FIELD,\n pageName,\n field: fieldName,\n value,\n };\n};\n\nexport const isPageValid = (pageName: string, valid: boolean) => {\n return {\n type: ADD_TENANT_SET_PAGE_VALID,\n pageName,\n valid,\n };\n};\n\n// Name Tenant actions\n\nexport const setStorageClassesList = (storageClasses: Opts[]) => {\n return {\n type: ADD_TENANT_SET_STORAGE_CLASSES_LIST,\n storageClasses,\n };\n};\n\nexport const setLimitSize = (limitSize: any) => {\n return {\n type: ADD_TENANT_SET_LIMIT_SIZE,\n limitSize,\n };\n};\n\n// Security actions\n\nexport const addCaCertificate = () => {\n return {\n type: ADD_TENANT_ADD_CA_KEYPAIR,\n };\n};\n\nexport const deleteCaCertificate = (id: string) => {\n return {\n type: ADD_TENANT_DELETE_CA_KEYPAIR,\n id,\n };\n};\n\nexport const addFileToCaCertificates = (\n id: string,\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_FILE_TO_CA_KEYPAIR,\n id,\n key,\n fileName,\n value,\n };\n};\n\nexport const addConsoleCaCertificate = () => {\n return {\n type: ADD_TENANT_ADD_CONSOLE_CA_KEYPAIR,\n };\n};\n\nexport const deleteConsoleCaCertificate = (id: string) => {\n return {\n type: ADD_TENANT_DELETE_CONSOLE_CA_KEYPAIR,\n id,\n };\n};\n\nexport const addFileToConsoleCaCertificates = (\n id: string,\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_FILE_TO_CONSOLE_CA_KEYPAIR,\n id,\n key,\n fileName,\n value,\n };\n};\n\nexport const addKeyPair = () => {\n return {\n type: ADD_TENANT_ADD_MINIO_KEYPAIR,\n };\n};\n\nexport const deleteKeyPair = (id: string) => {\n return {\n type: ADD_TENANT_DELETE_MINIO_KEYPAIR,\n id,\n };\n};\n\nexport const addFileToKeyPair = (\n id: string,\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_FILE_TO_MINIO_KEYPAIR,\n id,\n key,\n fileName,\n value,\n };\n};\n\nexport const addConsoleCertificate = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_CONSOLE_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileServerCert = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ENCRYPTION_SERVER_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileClientCert = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ENCRYPTION_CLIENT_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileVaultCert = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ENCRYPTION_VAULT_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileVaultCa = (fileName: string, value: string) => {\n return {\n type: ADD_TENANT_ENCRYPTION_VAULT_CA,\n fileName,\n value,\n };\n};\n\nexport const addFileGemaltoCa = (fileName: string, value: string) => {\n return {\n type: ADD_TENANT_ENCRYPTION_GEMALTO_CA,\n fileName,\n value,\n };\n};\n\nexport const resetAddTenantForm = () => {\n return {\n type: ADD_TENANT_RESET_FORM,\n };\n};\n\nexport const setTenantDetailsLoad = (loading: boolean) => {\n return {\n type: TENANT_DETAILS_SET_LOADING,\n state: loading,\n };\n};\n\nexport const setTenantName = (tenantName: string, tenantNamespace: string) => {\n return {\n type: TENANT_DETAILS_SET_CURRENT_TENANT,\n name: tenantName,\n namespace: tenantNamespace,\n };\n};\n\nexport const setTenantInfo = (tenant: ITenant | null) => {\n return {\n type: TENANT_DETAILS_SET_TENANT,\n tenant,\n };\n};\n\nexport const setTenantTab = (tab: string) => {\n return {\n type: TENANT_DETAILS_SET_TAB,\n tab,\n };\n};\n\nexport const setKeyValuePairs = (newArray: LabelKeyPair[]) => {\n return {\n type: ADD_TENANT_SET_KEY_PAIR_VALUE,\n newArray,\n };\n};\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","root","marginLeft","borderWidth","borderColor","borderStyle","borderRadius","backgroundColor","main","opacity","contained","background","dark","children","variant","tooltip","rest","button","clsx","title","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","pageContentStyles","contentSpacer","container","item","xs","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","labelStyle","fontWeight","marginTop","rightMenu","textAlign","logo","fill","middleComponent","actions","direction","sm","md","sx","paddingTop","length","component","size","headerBarIcon","height","headerBarSubheader","screenTitle","borderBottom","flexFlow","titleColumn","leftItems","rightItems","subTitle","style","margin","tabStripStyle","tabsContainer","tabsHeaderContainer","borderRight","marginBottom","tabContentContainer","tabPanel","flexDirection","selectedTab","routes","isRouteTabs","React","value","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","forEach","child","push","tabConfig","content","onChange","event","newValue","orientation","scrollButtons","tabList","map","index","tabHeader","disableRipple","disableTouchRipple","focusRipple","breadcrumLink","containerForHeader","spacing","match","setErrorSnackMessage","useState","loading","setLoading","tenantNamespace","params","tenantName","PVCName","setEvent","useEffect","api","then","res","i","currentTime","Date","now","seen","niceDays","last_seen","toString","catch","err","Fragment","Grid","sectionTitle","TableWrapper","itemActions","columns","elementKey","isLoading","records","entityName","idField","TenantYAML","withSuspense","TenantSummary","TenantLicense","PoolsSummary","PodsSummary","TenantLogging","VolumesSummary","TenantMetrics","TenantSecurity","DeleteTenant","PodDetails","TenantMonitoring","loadingTenant","tenants","tenantDetails","currentTab","selectedTenant","currentTenant","selectedNamespace","currentNamespace","tenantInfo","setSnackBarMessage","setTenantDetailsLoad","setTenantName","setTenantInfo","setTenantTab","tenantDetailsStyles","pageContainer","border","redState","error","yellowState","warning","greenState","success","greyState","healthStatusIcon","position","top","tenantActionButton","deleteBtn","history","yamlScreenOpen","setYamlScreenOpen","deleteOpen","setDeleteOpen","resPools","pools","totalInstances","totalVolumes","poolNamedIndex","pool","cap","volumes_per_server","servers","volume_configuration","undefined","name","capacity","niceBytes","volumes","total_instances","total_volumes","splitSections","get","split","highlightedTab","activeTab","setActiveTab","health_status","getRoutePath","open","closeModalAndRefresh","tenant","namespace","closeDeleteModalAndRefresh","reloadData","PageHeader","BackLink","PageLayout","ScreenTitle","status","TenantsIcon","total_size","BoxIconButton","EditIcon","RefreshIcon","VerticalTabs","path","PVCDetails","Link","updateAddField","pageName","fieldName","type","ADD_TENANT_UPDATE_FIELD","field","isPageValid","valid","ADD_TENANT_SET_PAGE_VALID","setStorageClassesList","storageClasses","ADD_TENANT_SET_STORAGE_CLASSES_LIST","setLimitSize","limitSize","ADD_TENANT_SET_LIMIT_SIZE","addCaCertificate","ADD_TENANT_ADD_CA_KEYPAIR","deleteCaCertificate","id","ADD_TENANT_DELETE_CA_KEYPAIR","addFileToCaCertificates","key","fileName","ADD_TENANT_ADD_FILE_TO_CA_KEYPAIR","addKeyPair","ADD_TENANT_ADD_MINIO_KEYPAIR","deleteKeyPair","ADD_TENANT_DELETE_MINIO_KEYPAIR","addFileToKeyPair","ADD_TENANT_ADD_FILE_TO_MINIO_KEYPAIR","addFileServerCert","ADD_TENANT_ENCRYPTION_SERVER_CERT","addFileClientCert","ADD_TENANT_ENCRYPTION_CLIENT_CERT","addFileVaultCert","ADD_TENANT_ENCRYPTION_VAULT_CERT","addFileVaultCa","ADD_TENANT_ENCRYPTION_VAULT_CA","addFileGemaltoCa","ADD_TENANT_ENCRYPTION_GEMALTO_CA","resetAddTenantForm","ADD_TENANT_RESET_FORM","TENANT_DETAILS_SET_LOADING","TENANT_DETAILS_SET_CURRENT_TENANT","TENANT_DETAILS_SET_TENANT","tab","TENANT_DETAILS_SET_TAB","setKeyValuePairs","newArray","ADD_TENANT_SET_KEY_PAIR_VALUE","Context","TabContext","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","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","hidden","role","_objectWithoutProperties","source","excluded","target","sourceKeys","Object","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2742.f1b14cdb.chunk.js.map b/portal-ui/build/static/js/2742.f1b14cdb.chunk.js.map deleted file mode 100644 index 984b1c9d7..000000000 --- a/portal-ui/build/static/js/2742.f1b14cdb.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/2742.f1b14cdb.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/ScreenTitle/ScreenTitle.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Tenants/TenantDetails/PVCDetails.tsx","screens/Console/Tenants/TenantDetails/TenantDetails.tsx","screens/Console/Tenants/actions.ts","../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","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({ to, label, classes, className, executeOnClick }: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n

\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
\n {icon ?
{icon}
: null}\n
\n

{title}

\n {subTitle}\n
\n
\n\n
{actions}
\n
\n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\n","import React 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\";\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 [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\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, { Fragment, useEffect, useState } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { containerForHeader } from \"../../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport { Link } from \"react-router-dom\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport api from \"../../../../common/api\";\nimport { IEvent } from \"../ListTenants/types\";\nimport { niceDays } from \"../../../../common/utils\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\n\ninterface IPVCDetailsProps {\n classes: any;\n match: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst PVCDetails = ({\n classes,\n match,\n setErrorSnackMessage,\n}: IPVCDetailsProps) => {\n const [loading, setLoading] = useState(true);\n const tenantNamespace = match.params[\"tenantNamespace\"];\n const tenantName = match.params[\"tenantName\"];\n const PVCName = match.params[\"PVCName\"];\n const [event, setEvent] = useState([]);\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/pvcs/${PVCName}/events`\n )\n .then((res: IEvent[]) => {\n for (let i = 0; i < res.length; i++) {\n let currentTime = (Date.now() / 1000) | 0;\n\n res[i].seen = niceDays((currentTime - res[i].last_seen).toString());\n }\n setEvent(res);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoading(false);\n });\n }\n }, [loading, PVCName, tenantNamespace, tenantName, setErrorSnackMessage]);\n\n return (\n \n \n

\n \n PVCs\n {\" \"}\n > {PVCName}\n

\n
\n \n

Events

\n \n
\n
\n );\n};\n\nexport default withStyles(styles)(PVCDetails);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { Link, Redirect, Route, Router, Switch } from \"react-router-dom\";\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 { setErrorSnackMessage, setSnackBarMessage } from \"../../../../actions\";\nimport {\n setTenantDetailsLoad,\n setTenantInfo,\n setTenantName,\n setTenantTab,\n} from \"../actions\";\nimport { ITenant } from \"../ListTenants/types\";\nimport {\n containerForHeader,\n pageContentStyles,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport { CircleIcon, TrashIcon } from \"../../../../icons\";\nimport { niceBytes } from \"../../../../common/utils\";\nimport ScreenTitle from \"../../Common/ScreenTitle/ScreenTitle\";\nimport EditIcon from \"../../../../icons/EditIcon\";\nimport RefreshIcon from \"../../../../icons/RefreshIcon\";\nimport TenantsIcon from \"../../../../icons/TenantsIcon\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport BackLink from \"../../../../common/BackLink\";\nimport VerticalTabs from \"../../Common/VerticalTabs/VerticalTabs\";\nimport BoxIconButton from \"../../Common/BoxIconButton/BoxIconButton\";\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport PVCDetails from \"./PVCDetails\";\n\nconst TenantYAML = withSuspense(React.lazy(() => import(\"./TenantYAML\")));\nconst TenantSummary = withSuspense(React.lazy(() => import(\"./TenantSummary\")));\nconst TenantLicense = withSuspense(React.lazy(() => import(\"./TenantLicense\")));\nconst PoolsSummary = withSuspense(React.lazy(() => import(\"./PoolsSummary\")));\nconst PodsSummary = withSuspense(React.lazy(() => import(\"./PodsSummary\")));\nconst TenantLogging = withSuspense(React.lazy(() => import(\"./TenantLogging\")));\nconst VolumesSummary = withSuspense(\n React.lazy(() => import(\"./VolumesSummary\"))\n);\nconst TenantMetrics = withSuspense(React.lazy(() => import(\"./TenantMetrics\")));\nconst TenantSecurity = withSuspense(\n React.lazy(() => import(\"./TenantSecurity\"))\n);\nconst DeleteTenant = withSuspense(\n React.lazy(() => import(\"../ListTenants/DeleteTenant\"))\n);\nconst PodDetails = withSuspense(React.lazy(() => import(\"./pods/PodDetails\")));\nconst TenantMonitoring = withSuspense(\n React.lazy(() => import(\"./TenantMonitoring\"))\n);\n\ninterface ITenantDetailsProps {\n classes: any;\n match: any;\n history: any;\n loadingTenant: boolean;\n currentTab: string;\n selectedTenant: string;\n tenantInfo: ITenant | null;\n selectedNamespace: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n setSnackBarMessage: typeof setSnackBarMessage;\n setTenantDetailsLoad: typeof setTenantDetailsLoad;\n setTenantName: typeof setTenantName;\n setTenantInfo: typeof setTenantInfo;\n setTenantTab: typeof setTenantTab;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n pageContainer: {\n border: \"1px solid #EAEAEA\",\n width: \"100%\",\n height: \"100%\",\n },\n contentSpacer: {\n ...pageContentStyles.contentSpacer,\n minHeight: 400,\n },\n redState: {\n color: theme.palette.error.main,\n \"& .min-icon\": {\n width: 16,\n height: 16,\n },\n },\n yellowState: {\n color: theme.palette.warning.main,\n \"& .min-icon\": {\n width: 16,\n height: 16,\n },\n },\n greenState: {\n color: theme.palette.success.main,\n \"& .min-icon\": {\n width: 16,\n height: 16,\n },\n },\n greyState: {\n color: \"grey\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n },\n },\n healthStatusIcon: {\n position: \"relative\",\n fontSize: 10,\n left: 26,\n height: 10,\n top: 4,\n },\n ...containerForHeader(theme.spacing(4)),\n tenantActionButton: {\n \"& span\": {\n fontSize: 14,\n \"@media (max-width: 900px)\": {\n display: \"none\",\n },\n },\n \"& .min-icon\": {\n width: 12,\n marginLeft: 5,\n\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: 0,\n },\n },\n },\n deleteBtn: {\n color: \"#f44336\",\n border: \"1px solid rgba(244, 67, 54, 0.5)\",\n },\n });\n\nconst TenantDetails = ({\n classes,\n match,\n history,\n loadingTenant,\n currentTab,\n selectedTenant,\n tenantInfo,\n selectedNamespace,\n setErrorSnackMessage,\n setSnackBarMessage,\n setTenantDetailsLoad,\n setTenantName,\n setTenantInfo,\n setTenantTab,\n}: ITenantDetailsProps) => {\n const [yamlScreenOpen, setYamlScreenOpen] = useState(false);\n\n const tenantName = match.params[\"tenantName\"];\n const tenantNamespace = match.params[\"tenantNamespace\"];\n const [deleteOpen, setDeleteOpen] = useState(false);\n\n useEffect(() => {\n if (!loadingTenant) {\n if (\n tenantName !== selectedTenant ||\n tenantNamespace !== selectedNamespace\n ) {\n setTenantName(tenantName, tenantNamespace);\n setTenantDetailsLoad(true);\n }\n }\n }, [\n loadingTenant,\n selectedTenant,\n selectedNamespace,\n setTenantDetailsLoad,\n setTenantInfo,\n setTenantName,\n tenantName,\n tenantNamespace,\n ]);\n\n useEffect(() => {\n if (loadingTenant) {\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}`\n )\n .then((res: ITenant) => {\n // add computed fields\n const resPools = !res.pools ? [] : res.pools;\n\n let totalInstances = 0;\n let totalVolumes = 0;\n let poolNamedIndex = 0;\n for (let pool of resPools) {\n const cap =\n pool.volumes_per_server *\n pool.servers *\n pool.volume_configuration.size;\n pool.label = `pool-${poolNamedIndex}`;\n if (pool.name === undefined || pool.name === \"\") {\n pool.name = pool.label;\n }\n pool.capacity = niceBytes(cap + \"\");\n pool.volumes = pool.servers * pool.volumes_per_server;\n totalInstances += pool.servers;\n totalVolumes += pool.volumes;\n poolNamedIndex += 1;\n }\n res.total_instances = totalInstances;\n res.total_volumes = totalVolumes;\n\n setTenantInfo(res);\n setTenantDetailsLoad(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setTenantDetailsLoad(false);\n });\n }\n }, [\n loadingTenant,\n tenantNamespace,\n tenantName,\n setTenantInfo,\n setTenantDetailsLoad,\n setErrorSnackMessage,\n ]);\n\n const path = get(match, \"path\", \"/\");\n const splitSections = path.split(\"/\");\n\n let highlightedTab = splitSections[splitSections.length - 1] || \"summary\";\n if (highlightedTab === \":podName\" || highlightedTab === \"pods\") {\n // It has SUB Route\n highlightedTab = \"pods\";\n }\n const [activeTab, setActiveTab] = useState(highlightedTab);\n\n useEffect(() => {\n setActiveTab(highlightedTab);\n }, [highlightedTab]);\n\n const editYaml = () => {\n setYamlScreenOpen(true);\n };\n\n const closeYAMLModalAndRefresh = () => {\n setYamlScreenOpen(false);\n setTenantDetailsLoad(true);\n };\n\n const getRoutePath = (newValue: string) => {\n return `/namespaces/${tenantNamespace}/tenants/${tenantName}/${newValue}`;\n };\n\n const confirmDeleteTenant = () => {\n setDeleteOpen(true);\n };\n\n const closeDeleteModalAndRefresh = (reloadData: boolean) => {\n setDeleteOpen(false);\n\n if (reloadData) {\n setSnackBarMessage(\"Tenant Deleted\");\n history.push(`/tenants`);\n }\n };\n\n const healthStatusToClass = (health_status: string) => {\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\n return (\n \n {yamlScreenOpen && (\n \n )}\n {deleteOpen && tenantInfo !== null && (\n \n )}\n \n \n Tenants\n \n \n }\n />\n \n \n \n \n
\n {tenantInfo && tenantInfo.status && (\n \n \n \n )}\n
\n \n \n }\n title={match.params[\"tenantName\"]}\n subTitle={\n \n Namespace: {tenantNamespace} / Capacity:{\" \"}\n {niceBytes((tenantInfo?.total_size || 0).toString(10))}\n \n }\n actions={\n
\n {\n confirmDeleteTenant();\n }}\n color=\"secondary\"\n classes={{\n root: `${classes.tenantActionButton} ${classes.deleteBtn}`,\n }}\n size=\"large\"\n >\n Delete Tenant \n \n {\n editYaml();\n }}\n size=\"large\"\n >\n Edit Tenant\n \n \n {\n setTenantDetailsLoad(true);\n }}\n >\n Reload \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 tabConfig: {\n label: \"Summary\",\n value: \"summary\",\n component: Link,\n to: getRoutePath(\"summary\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Metrics\",\n value: \"metrics\",\n component: Link,\n to: getRoutePath(\"metrics\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Security\",\n value: \"security\",\n component: Link,\n to: getRoutePath(\"security\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Pools\",\n value: \"pools\",\n component: Link,\n to: getRoutePath(\"pools\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Pods\",\n value: \"pods\",\n component: Link,\n to: getRoutePath(\"pods\"),\n },\n }}\n\n {{\n tabConfig: {\n label: \"Monitoring\",\n value: \"monitoring\",\n component: Link,\n to: getRoutePath(\"monitoring\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Logging\",\n value: \"logging\",\n component: Link,\n to: getRoutePath(\"logging\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Volumes\",\n value: \"volumes\",\n component: Link,\n to: getRoutePath(\"volumes\"),\n },\n }}\n {{\n tabConfig: {\n label: \"License\",\n value: \"license\",\n component: Link,\n to: getRoutePath(\"license\"),\n },\n }}\n \n
\n \n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n currentTab: state.tenants.tenantDetails.currentTab,\n selectedTenant: state.tenants.tenantDetails.currentTenant,\n selectedNamespace: state.tenants.tenantDetails.currentNamespace,\n tenantInfo: state.tenants.tenantDetails.tenantInfo,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n setSnackBarMessage,\n setTenantDetailsLoad,\n setTenantName,\n setTenantInfo,\n setTenantTab,\n});\n\nexport default withStyles(styles)(connector(TenantDetails));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { ITenant } from \"./ListTenants/types\";\nimport { Opts } from \"./ListTenants/utils\";\nimport {\n ADD_TENANT_ADD_CA_KEYPAIR,\n ADD_TENANT_ADD_CONSOLE_CA_KEYPAIR,\n ADD_TENANT_ADD_CONSOLE_CERT,\n ADD_TENANT_ADD_FILE_TO_CA_KEYPAIR,\n ADD_TENANT_ADD_FILE_TO_CONSOLE_CA_KEYPAIR,\n ADD_TENANT_ADD_FILE_TO_MINIO_KEYPAIR,\n ADD_TENANT_ADD_MINIO_KEYPAIR,\n ADD_TENANT_DELETE_CA_KEYPAIR,\n ADD_TENANT_DELETE_CONSOLE_CA_KEYPAIR,\n ADD_TENANT_DELETE_MINIO_KEYPAIR,\n ADD_TENANT_ENCRYPTION_CLIENT_CERT,\n ADD_TENANT_ENCRYPTION_GEMALTO_CA,\n ADD_TENANT_ENCRYPTION_SERVER_CERT,\n ADD_TENANT_ENCRYPTION_VAULT_CA,\n ADD_TENANT_ENCRYPTION_VAULT_CERT,\n ADD_TENANT_RESET_FORM,\n ADD_TENANT_SET_CURRENT_PAGE,\n ADD_TENANT_SET_LIMIT_SIZE,\n ADD_TENANT_SET_PAGE_VALID,\n ADD_TENANT_SET_STORAGE_CLASSES_LIST,\n ADD_TENANT_UPDATE_FIELD,\n TENANT_DETAILS_SET_CURRENT_TENANT,\n TENANT_DETAILS_SET_LOADING,\n TENANT_DETAILS_SET_TAB,\n TENANT_DETAILS_SET_TENANT,\n ADD_TENANT_SET_KEY_PAIR_VALUE,\n LabelKeyPair,\n} from \"./types\";\n\n// Basic actions\nexport const setWizardPage = (page: number) => {\n return {\n type: ADD_TENANT_SET_CURRENT_PAGE,\n page,\n };\n};\n\nexport const updateAddField = (\n pageName: string,\n fieldName: string,\n value: any\n) => {\n return {\n type: ADD_TENANT_UPDATE_FIELD,\n pageName,\n field: fieldName,\n value,\n };\n};\n\nexport const isPageValid = (pageName: string, valid: boolean) => {\n return {\n type: ADD_TENANT_SET_PAGE_VALID,\n pageName,\n valid,\n };\n};\n\n// Name Tenant actions\n\nexport const setStorageClassesList = (storageClasses: Opts[]) => {\n return {\n type: ADD_TENANT_SET_STORAGE_CLASSES_LIST,\n storageClasses,\n };\n};\n\nexport const setLimitSize = (limitSize: any) => {\n return {\n type: ADD_TENANT_SET_LIMIT_SIZE,\n limitSize,\n };\n};\n\n// Security actions\n\nexport const addCaCertificate = () => {\n return {\n type: ADD_TENANT_ADD_CA_KEYPAIR,\n };\n};\n\nexport const deleteCaCertificate = (id: string) => {\n return {\n type: ADD_TENANT_DELETE_CA_KEYPAIR,\n id,\n };\n};\n\nexport const addFileToCaCertificates = (\n id: string,\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_FILE_TO_CA_KEYPAIR,\n id,\n key,\n fileName,\n value,\n };\n};\n\nexport const addConsoleCaCertificate = () => {\n return {\n type: ADD_TENANT_ADD_CONSOLE_CA_KEYPAIR,\n };\n};\n\nexport const deleteConsoleCaCertificate = (id: string) => {\n return {\n type: ADD_TENANT_DELETE_CONSOLE_CA_KEYPAIR,\n id,\n };\n};\n\nexport const addFileToConsoleCaCertificates = (\n id: string,\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_FILE_TO_CONSOLE_CA_KEYPAIR,\n id,\n key,\n fileName,\n value,\n };\n};\n\nexport const addKeyPair = () => {\n return {\n type: ADD_TENANT_ADD_MINIO_KEYPAIR,\n };\n};\n\nexport const deleteKeyPair = (id: string) => {\n return {\n type: ADD_TENANT_DELETE_MINIO_KEYPAIR,\n id,\n };\n};\n\nexport const addFileToKeyPair = (\n id: string,\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_FILE_TO_MINIO_KEYPAIR,\n id,\n key,\n fileName,\n value,\n };\n};\n\nexport const addConsoleCertificate = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ADD_CONSOLE_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileServerCert = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ENCRYPTION_SERVER_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileClientCert = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ENCRYPTION_CLIENT_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileVaultCert = (\n key: string,\n fileName: string,\n value: string\n) => {\n return {\n type: ADD_TENANT_ENCRYPTION_VAULT_CERT,\n key,\n fileName,\n value,\n };\n};\n\nexport const addFileVaultCa = (fileName: string, value: string) => {\n return {\n type: ADD_TENANT_ENCRYPTION_VAULT_CA,\n fileName,\n value,\n };\n};\n\nexport const addFileGemaltoCa = (fileName: string, value: string) => {\n return {\n type: ADD_TENANT_ENCRYPTION_GEMALTO_CA,\n fileName,\n value,\n };\n};\n\nexport const resetAddTenantForm = () => {\n return {\n type: ADD_TENANT_RESET_FORM,\n };\n};\n\nexport const setTenantDetailsLoad = (loading: boolean) => {\n return {\n type: TENANT_DETAILS_SET_LOADING,\n state: loading,\n };\n};\n\nexport const setTenantName = (tenantName: string, tenantNamespace: string) => {\n return {\n type: TENANT_DETAILS_SET_CURRENT_TENANT,\n name: tenantName,\n namespace: tenantNamespace,\n };\n};\n\nexport const setTenantInfo = (tenant: ITenant | null) => {\n return {\n type: TENANT_DETAILS_SET_TENANT,\n tenant,\n };\n};\n\nexport const setTenantTab = (tab: string) => {\n return {\n type: TENANT_DETAILS_SET_TAB,\n tab,\n };\n};\n\nexport const setKeyValuePairs = (newArray: LabelKeyPair[]) => {\n return {\n type: ADD_TENANT_SET_KEY_PAIR_VALUE,\n newArray,\n };\n};\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","root","marginLeft","borderWidth","borderColor","borderStyle","borderRadius","backgroundColor","main","opacity","contained","background","dark","children","variant","tooltip","rest","button","clsx","title","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","pageContentStyles","contentSpacer","container","item","xs","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","labelStyle","fontWeight","marginTop","rightMenu","textAlign","logo","fill","middleComponent","actions","direction","sm","md","sx","paddingTop","length","component","size","headerBarIcon","height","headerBarSubheader","screenTitle","borderBottom","flexFlow","titleColumn","leftItems","rightItems","subTitle","style","margin","tabStripStyle","tabsContainer","tabsHeaderContainer","borderRight","marginBottom","tabContentContainer","tabPanel","flexDirection","selectedTab","routes","isRouteTabs","React","value","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","forEach","child","push","tabConfig","content","onChange","event","newValue","orientation","scrollButtons","tabList","map","index","tabHeader","disableRipple","disableTouchRipple","focusRipple","breadcrumLink","containerForHeader","spacing","match","setErrorSnackMessage","useState","loading","setLoading","tenantNamespace","params","tenantName","PVCName","setEvent","useEffect","api","then","res","i","currentTime","Date","now","seen","niceDays","last_seen","toString","catch","err","Fragment","Grid","sectionTitle","TableWrapper","itemActions","columns","elementKey","isLoading","records","entityName","idField","TenantYAML","withSuspense","TenantSummary","TenantLicense","PoolsSummary","PodsSummary","TenantLogging","VolumesSummary","TenantMetrics","TenantSecurity","DeleteTenant","PodDetails","TenantMonitoring","loadingTenant","tenants","tenantDetails","currentTab","selectedTenant","currentTenant","selectedNamespace","currentNamespace","tenantInfo","setSnackBarMessage","setTenantDetailsLoad","setTenantName","setTenantInfo","setTenantTab","tenantDetailsStyles","pageContainer","border","redState","error","yellowState","warning","greenState","success","greyState","healthStatusIcon","position","top","tenantActionButton","deleteBtn","history","yamlScreenOpen","setYamlScreenOpen","deleteOpen","setDeleteOpen","resPools","pools","totalInstances","totalVolumes","poolNamedIndex","pool","cap","volumes_per_server","servers","volume_configuration","undefined","name","capacity","niceBytes","volumes","total_instances","total_volumes","splitSections","get","split","highlightedTab","activeTab","setActiveTab","health_status","getRoutePath","open","closeModalAndRefresh","tenant","namespace","closeDeleteModalAndRefresh","reloadData","PageHeader","BackLink","PageLayout","ScreenTitle","status","TenantsIcon","total_size","BoxIconButton","EditIcon","RefreshIcon","VerticalTabs","path","PVCDetails","Link","updateAddField","pageName","fieldName","type","ADD_TENANT_UPDATE_FIELD","field","isPageValid","valid","ADD_TENANT_SET_PAGE_VALID","setStorageClassesList","storageClasses","ADD_TENANT_SET_STORAGE_CLASSES_LIST","setLimitSize","limitSize","ADD_TENANT_SET_LIMIT_SIZE","addCaCertificate","ADD_TENANT_ADD_CA_KEYPAIR","deleteCaCertificate","id","ADD_TENANT_DELETE_CA_KEYPAIR","addFileToCaCertificates","key","fileName","ADD_TENANT_ADD_FILE_TO_CA_KEYPAIR","addKeyPair","ADD_TENANT_ADD_MINIO_KEYPAIR","deleteKeyPair","ADD_TENANT_DELETE_MINIO_KEYPAIR","addFileToKeyPair","ADD_TENANT_ADD_FILE_TO_MINIO_KEYPAIR","addFileServerCert","ADD_TENANT_ENCRYPTION_SERVER_CERT","addFileClientCert","ADD_TENANT_ENCRYPTION_CLIENT_CERT","addFileVaultCert","ADD_TENANT_ENCRYPTION_VAULT_CERT","addFileVaultCa","ADD_TENANT_ENCRYPTION_VAULT_CA","addFileGemaltoCa","ADD_TENANT_ENCRYPTION_GEMALTO_CA","resetAddTenantForm","ADD_TENANT_RESET_FORM","TENANT_DETAILS_SET_LOADING","TENANT_DETAILS_SET_CURRENT_TENANT","TENANT_DETAILS_SET_TENANT","tab","TENANT_DETAILS_SET_TAB","setKeyValuePairs","newArray","ADD_TENANT_SET_KEY_PAIR_VALUE","Context","TabContext","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","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","hidden","role","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","F","s","n","done","e","_e","f","normalCompletion","didErr","call","step","next","_e2","_objectWithoutProperties","source","excluded","target","sourceKeys","Object","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2805.73cec790.chunk.js b/portal-ui/build/static/js/2805.fa3b80ee.chunk.js similarity index 97% rename from portal-ui/build/static/js/2805.73cec790.chunk.js rename to portal-ui/build/static/js/2805.fa3b80ee.chunk.js index 3c6dbd262..220a143ed 100644 --- a/portal-ui/build/static/js/2805.73cec790.chunk.js +++ b/portal-ui/build/static/js/2805.fa3b80ee.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2805],{70887:function(e,t,n){var a=n(18489),i=n(50390),l=n(25594),o=n(14602),s=n(94187),r=n(12066),c=n(86509),d=n(4285),u=n(72462),m=n(97538),p=n(62559);t.Z=(0,d.Z)((function(e){return(0,c.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},u.YI),u.Hr),{},{inputLabel:(0,a.Z)((0,a.Z)({},u.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,a.Z)((0,a.Z)({},u.YI.inputLabel),{},{fontSize:13,minHeight:150}),"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"#07193E",borderWidth:1},"& textarea":{color:"#07193E",fontSize:13,fontWeight:600,"&:placeholder":{color:"#858585",opacity:1,fontWeight:400}}}}))}))((function(e){var t=e.label,n=e.onChange,a=e.value,c=e.id,d=e.name,u=e.disabled,h=void 0!==u&&u,x=e.tooltip,Z=void 0===x?"":x,v=e.index,b=void 0===v?0:v,f=e.error,g=void 0===f?"":f,j=e.required,C=void 0!==j&&j,N=e.placeholder,F=void 0===N?"":N,P=e.classes,w={"data-index":b};return(0,p.jsx)(i.Fragment,{children:(0,p.jsxs)(l.ZP,{item:!0,xs:12,className:"".concat(P.fieldContainer," ").concat(""!==g?P.errorInField:""),children:[""!==t&&(0,p.jsxs)(o.Z,{htmlFor:c,className:P.inputLabel,children:[(0,p.jsxs)("span",{children:[t,C?"*":""]}),""!==Z&&(0,p.jsx)("div",{className:P.tooltipContainer,children:(0,p.jsx)(s.Z,{title:Z,placement:"top-start",children:(0,p.jsx)("div",{className:P.tooltip,children:(0,p.jsx)(m.Z,{})})})})]}),(0,p.jsx)("div",{className:P.textBoxContainer,children:(0,p.jsx)(r.Z,{id:c,name:d,fullWidth:!0,value:a,disabled:h,onChange:n,multiline:!0,rows:5,inputProps:w,error:""!==g,helperText:g,placeholder:F,InputLabelProps:{shrink:!0},InputProps:{classes:{notchedOutline:P.cssOutlinedInput,root:P.rootContainer}},variant:"outlined"})})]})})}))},92440:function(e,t,n){var a=n(36222),i=n(18489),l=n(50390),o=n(86509),s=n(4285),r=n(49056),c=n(14602),d=n(94187),u=n(35477),m=n(25594),p=n(72462),h=n(97538),x=n(44977),Z=n(62559),v=(0,s.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(r.Z);t.Z=(0,s.Z)((function(e){return(0,o.Z)((0,i.Z)((0,i.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},p.OR),p.YI))}))((function(e){var t=e.label,n=void 0===t?"":t,i=e.onChange,o=e.value,s=e.id,r=e.name,p=e.checked,b=void 0!==p&&p,f=e.disabled,g=void 0!==f&&f,j=e.switchOnly,C=void 0!==j&&j,N=e.tooltip,F=void 0===N?"":N,P=e.description,w=void 0===P?"":P,k=e.classes,L=e.indicatorLabels,S=(0,Z.jsxs)(l.Fragment,{children:[!C&&(0,Z.jsx)("span",{className:(0,x.Z)(k.indicatorLabel,(0,a.Z)({},k.indicatorLabelOn,!b)),children:L&&L.length>1?L[1]:"OFF"}),(0,Z.jsx)(v,{checked:b,onChange:i,color:"primary",name:r,inputProps:{"aria-label":"primary checkbox"},disabled:g,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:o}),!C&&(0,Z.jsx)("span",{className:(0,x.Z)(k.indicatorLabel,(0,a.Z)({},k.indicatorLabelOn,b)),children:L?L[0]:"ON"})]});return C?S:(0,Z.jsx)("div",{className:k.divContainer,children:(0,Z.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[(0,Z.jsx)(m.ZP,{item:!0,xs:!0,children:(0,Z.jsxs)(m.ZP,{container:!0,children:[(0,Z.jsx)(m.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==n&&(0,Z.jsxs)(c.Z,{htmlFor:s,className:k.inputLabel,children:[(0,Z.jsx)("span",{children:n}),""!==F&&(0,Z.jsx)("div",{className:k.tooltipContainer,children:(0,Z.jsx)(d.Z,{title:F,placement:"top-start",children:(0,Z.jsx)("div",{className:k.tooltip,children:(0,Z.jsx)(h.Z,{})})})})]})}),(0,Z.jsx)(m.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==w&&(0,Z.jsx)(u.Z,{component:"p",className:k.fieldDescription,children:w})})]})}),(0,Z.jsx)(m.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:k.switchContainer,children:S})]})})}))},66964:function(e,t,n){var a=n(18489),i=n(50390),l=n(12066),o=n(25594),s=n(14602),r=n(94187),c=n(95467),d=n(86509),u=n(62449),m=n(4285),p=n(72462),h=n(97538),x=n(44977),Z=n(62559),v=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)({},p.gM))}));function b(e){var t=v();return(0,Z.jsx)(l.Z,(0,a.Z)({InputProps:{classes:t}},e))}t.Z=(0,m.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,a.Z)((0,a.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,l=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,v=e.autoComplete,f=void 0===v?"off":v,g=e.disabled,j=void 0!==g&&g,C=e.multiline,N=void 0!==C&&C,F=e.tooltip,P=void 0===F?"":F,w=e.index,k=void 0===w?0:w,L=e.error,S=void 0===L?"":L,y=e.required,I=void 0!==y&&y,E=e.placeholder,R=void 0===E?"":E,O=e.min,A=e.max,B=e.overlayIcon,M=void 0===B?null:B,W=e.overlayObject,D=void 0===W?null:W,T=e.extraInputProps,q=void 0===T?{}:T,z=e.overlayAction,_=e.noLabelMinWidth,Y=void 0!==_&&_,H=e.pattern,$=void 0===H?"":H,Q=e.autoFocus,U=void 0!==Q&&Q,G=e.classes,V=e.className,X=void 0===V?"":V,J=(0,a.Z)({"data-index":k},q);return"number"===p&&O&&(J.min=O),"number"===p&&A&&(J.max=A),""!==$&&(J.pattern=$),(0,Z.jsx)(i.Fragment,{children:(0,Z.jsxs)(o.ZP,{container:!0,className:(0,x.Z)(""!==X?X:"",""!==S?G.errorInField:G.inputBoxContainer),children:[""!==t&&(0,Z.jsxs)(s.Z,{htmlFor:d,className:Y?G.noMinWidthLabel:G.inputLabel,children:[(0,Z.jsxs)("span",{children:[t,I?"*":""]}),""!==P&&(0,Z.jsx)("div",{className:G.tooltipContainer,children:(0,Z.jsx)(r.Z,{title:P,placement:"top-start",children:(0,Z.jsx)("div",{className:G.tooltip,children:(0,Z.jsx)(h.Z,{})})})})]}),(0,Z.jsxs)("div",{className:G.textBoxContainer,children:[(0,Z.jsx)(b,{id:d,name:u,fullWidth:!0,value:l,autoFocus:U,disabled:j,onChange:n,type:p,multiline:N,autoComplete:f,inputProps:J,error:""!==S,helperText:S,placeholder:R,className:G.inputRebase}),M&&(0,Z.jsx)("div",{className:"".concat(G.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,Z.jsx)(c.Z,{onClick:z?function(){z()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:M})}),D&&(0,Z.jsx)("div",{className:"".concat(G.overlayAction," ").concat(""!==t?"withLabel":""),children:D})]})]})})}))},50280:function(e,t,n){var a=n(18489),i=n(50390),l=n(25594),o=n(86509),s=n(4285),r=n(72462),c=n(62559);t.Z=(0,s.Z)((function(e){return(0,o.Z)((0,a.Z)({},r.xx))}))((function(e){var t=e.classes,n=e.label,a=void 0===n?"":n,o=e.content,s=e.multiLine,r=void 0!==s&&s;return(0,c.jsx)(i.Fragment,{children:(0,c.jsxs)(l.ZP,{className:t.prefinedContainer,children:[""!==a&&(0,c.jsx)(l.ZP,{item:!0,xs:12,className:t.predefinedTitle,children:a}),(0,c.jsx)(l.ZP,{item:!0,xs:12,className:t.predefinedList,children:(0,c.jsx)(l.ZP,{item:!0,xs:12,className:r?t.innerContentMultiline:t.innerContent,children:o})})]})})}))},27207:function(e,t,n){var a=n(36222),i=n(18489),l=(n(50390),n(44977)),o=n(25594),s=n(82420),r=n(66695),c=n(98893),d=n(14602),u=n(94187),m=n(86509),p=n(4285),h=n(62449),x=n(72462),Z=n(97538),v=n(62559),b=(0,h.Z)((0,i.Z)({root:{"&:hover":{backgroundColor:"transparent"}}},x.FU)),f=function(e){var t=b();return(0,v.jsx)(c.Z,(0,i.Z)({className:t.root,disableRipple:!0,color:"default",checkedIcon:(0,v.jsx)("span",{className:t.radioSelectedIcon}),icon:(0,v.jsx)("span",{className:t.radioUnselectedIcon})},e))};t.Z=(0,p.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},x.YI),x.Hr),{},{optionLabel:{"&.Mui-disabled":{"& .MuiFormControlLabel-label":{color:"#9c9c9c"}},"&:last-child":{marginRight:0},"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E"}},checkedOption:{"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E",fontWeight:700}}}))}))((function(e){var t=e.selectorOptions,n=void 0===t?[]:t,i=e.currentSelection,c=e.label,m=e.id,p=e.name,h=e.onChange,x=e.tooltip,b=void 0===x?"":x,g=e.disableOptions,j=void 0!==g&&g,C=e.classes,N=e.displayInColumn,F=void 0!==N&&N;return(0,v.jsxs)(o.ZP,{container:!0,alignItems:"center",children:[(0,v.jsx)(o.ZP,{item:!0,xs:!0,children:(0,v.jsxs)(d.Z,{htmlFor:m,className:C.inputLabel,children:[(0,v.jsx)("span",{children:c}),""!==b&&(0,v.jsx)("div",{className:C.tooltipContainer,children:(0,v.jsx)(u.Z,{title:b,placement:"top-start",children:(0,v.jsx)("div",{children:(0,v.jsx)(Z.Z,{})})})})]})}),(0,v.jsx)(o.ZP,{item:!0,xs:!0,className:C.radioOptionsLayout,children:(0,v.jsx)(s.Z,{"aria-label":m,id:m,name:p,value:i,onChange:h,row:!F,style:{display:"block",textAlign:"right"},children:n.map((function(e){return(0,v.jsx)(r.Z,{value:e.value,control:(0,v.jsx)(f,{}),label:e.label,disabled:j,className:(0,l.Z)(C.optionLabel,(0,a.Z)({},C.checkedOption,e.value===i))},"rd-".concat(p,"-").concat(e.value))}))})})]})}))},62805:function(e,t,n){n.r(t);var a=n(23430),i=n(18489),l=n(50390),o=n(86509),s=n(4285),r=n(25594),c=n(66964),d=n(27207),u=n(72462),m=n(70887),p=n(92440),h=n(50280),x=n(62559);t.default=(0,s.Z)((function(e){return(0,o.Z)((0,i.Z)((0,i.Z)({},u.oO),u.DF))}))((function(e){var t=e.onChange,n=e.classes,i=(0,l.useState)(!1),o=(0,a.Z)(i,2),s=o[0],u=o[1],Z=(0,l.useState)(""),v=(0,a.Z)(Z,2),b=v[0],f=v[1],g=(0,l.useState)(""),j=(0,a.Z)(g,2),C=j[0],N=j[1],F=(0,l.useState)(""),P=(0,a.Z)(F,2),w=P[0],k=P[1],L=(0,l.useState)(""),S=(0,a.Z)(L,2),y=S[0],I=S[1],E=(0,l.useState)(""),R=(0,a.Z)(E,2),O=R[0],A=R[1],B=(0,l.useState)(""),M=(0,a.Z)(B,2),W=M[0],D=M[1],T=(0,l.useState)(""),q=(0,a.Z)(T,2),z=q[0],_=q[1],Y=(0,l.useState)("namespace"),H=(0,a.Z)(Y,2),$=H[0],Q=H[1],U=(0,l.useState)(""),G=(0,a.Z)(U,2),V=G[0],X=G[1],J=(0,l.useState)(""),K=(0,a.Z)(J,2),ee=K[0],te=K[1],ne=(0,l.useState)(""),ae=(0,a.Z)(ne,2),ie=ae[0],le=ae[1],oe=(0,l.useCallback)((function(){return"".concat(O,":").concat(W,"@tcp(").concat(C,":").concat(y,")/").concat(w)}),[O,W,C,y,w]);(0,l.useEffect)((function(){""!==b&&t([{key:"dsn_string",value:b},{key:"table",value:z},{key:"format",value:$},{key:"queue_dir",value:V},{key:"queue_limit",value:ee},{key:"comment",value:ie}])}),[b,z,$,V,ee,ie,t]),(0,l.useEffect)((function(){var e=oe();f(e)}),[O,w,W,y,C,f,oe]);return(0,x.jsxs)(r.ZP,{container:!0,children:[(0,x.jsx)(r.ZP,{item:!0,xs:12,children:(0,x.jsx)(p.Z,{label:"Enter DNS String",checked:s,id:"checkedB",name:"checkedB",onChange:function(e){if(e.target.checked){var t=oe();f(t)}else{var n=function(e,t){for(var n,a=new Map,i=/(.*?):(.*?)@tcp\((.*?):(.*?)\)\/(.*?)$/gm;null!==(n=i.exec(e));)n.index===i.lastIndex&&i.lastIndex++,a.set("user",n[1]),a.set("password",n[2]),a.set("host",n[3]),a.set("port",n[4]),a.set("dbname",n[5]);return a}(b);N(n.get("host")?n.get("host")+"":""),I(n.get("port")?n.get("port")+"":""),k(n.get("dbname")?n.get("dbname")+"":""),A(n.get("user")?n.get("user")+"":""),D(n.get("password")?n.get("password")+"":"")}u(e.target.checked)},value:"dnsString"})}),s?(0,x.jsx)(l.Fragment,{children:(0,x.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,x.jsx)(c.Z,{id:"dsn-string",name:"dsn_string",label:"DSN String",value:b,onChange:function(e){f(e.target.value)}})})}):(0,x.jsxs)(l.Fragment,{children:[(0,x.jsx)(r.ZP,{item:!0,xs:12,children:(0,x.jsxs)(r.ZP,{item:!0,xs:12,className:n.configureString,children:[(0,x.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,x.jsx)(c.Z,{id:"host",name:"host",label:"",placeholder:"Enter Host",value:C,onChange:function(e){N(e.target.value)}})}),(0,x.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,x.jsx)(c.Z,{id:"db-name",name:"db-name",label:"",placeholder:"Enter DB Name",value:w,onChange:function(e){k(e.target.value)}})}),(0,x.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,x.jsx)(c.Z,{id:"port",name:"port",label:"",placeholder:"Enter Port",value:y,onChange:function(e){I(e.target.value)}})}),(0,x.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,x.jsx)(c.Z,{id:"user",name:"user",label:"",placeholder:"Enter User",value:O,onChange:function(e){A(e.target.value)}})}),(0,x.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,x.jsx)(c.Z,{id:"password",name:"password",label:"",placeholder:"Enter Password",type:"password",value:W,onChange:function(e){D(e.target.value)}})})]})}),(0,x.jsx)(h.Z,{label:"Connection String",content:b}),(0,x.jsx)(r.ZP,{item:!0,xs:12,children:(0,x.jsx)("br",{})})]}),(0,x.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,x.jsx)(c.Z,{id:"table",name:"table",label:"Table",placeholder:"Enter Table Name",value:z,tooltip:"DB table name to store/update events, table is auto-created",onChange:function(e){_(e.target.value)}})}),(0,x.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,x.jsx)(d.Z,{currentSelection:$,id:"format",name:"format",label:"Format",onChange:function(e){Q(e.target.value)},tooltip:"'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'",selectorOptions:[{label:"Namespace",value:"namespace"},{label:"Access",value:"access"}]})}),(0,x.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,x.jsx)(c.Z,{id:"queue-dir",name:"queue_dir",label:"Queue Dir",placeholder:"Enter Queue Dir",value:V,tooltip:"staging dir for undelivered messages e.g. '/home/events'",onChange:function(e){X(e.target.value)}})}),(0,x.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,x.jsx)(c.Z,{id:"queue-limit",name:"queue_limit",label:"Queue Limit",placeholder:"Enter Queue Limit",type:"number",value:ee,tooltip:"maximum limit for undelivered messages, defaults to '10000'",onChange:function(e){te(e.target.value)}})}),(0,x.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,x.jsx)(m.Z,{id:"comment",name:"comment",label:"Comment",placeholder:"Enter Comment",value:ie,onChange:function(e){le(e.target.value)}})})]})}))}}]); -//# sourceMappingURL=2805.73cec790.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2805],{70887:function(e,t,n){var a=n(18489),i=n(50390),l=n(25594),o=n(36554),s=n(94187),r=n(12066),c=n(86509),d=n(4285),u=n(72462),m=n(97538),p=n(62559);t.Z=(0,d.Z)((function(e){return(0,c.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},u.YI),u.Hr),{},{inputLabel:(0,a.Z)((0,a.Z)({},u.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,a.Z)((0,a.Z)({},u.YI.inputLabel),{},{fontSize:13,minHeight:150}),"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"#07193E",borderWidth:1},"& textarea":{color:"#07193E",fontSize:13,fontWeight:600,"&:placeholder":{color:"#858585",opacity:1,fontWeight:400}}}}))}))((function(e){var t=e.label,n=e.onChange,a=e.value,c=e.id,d=e.name,u=e.disabled,h=void 0!==u&&u,x=e.tooltip,Z=void 0===x?"":x,v=e.index,b=void 0===v?0:v,f=e.error,g=void 0===f?"":f,j=e.required,C=void 0!==j&&j,N=e.placeholder,F=void 0===N?"":N,P=e.classes,w={"data-index":b};return(0,p.jsx)(i.Fragment,{children:(0,p.jsxs)(l.ZP,{item:!0,xs:12,className:"".concat(P.fieldContainer," ").concat(""!==g?P.errorInField:""),children:[""!==t&&(0,p.jsxs)(o.Z,{htmlFor:c,className:P.inputLabel,children:[(0,p.jsxs)("span",{children:[t,C?"*":""]}),""!==Z&&(0,p.jsx)("div",{className:P.tooltipContainer,children:(0,p.jsx)(s.Z,{title:Z,placement:"top-start",children:(0,p.jsx)("div",{className:P.tooltip,children:(0,p.jsx)(m.Z,{})})})})]}),(0,p.jsx)("div",{className:P.textBoxContainer,children:(0,p.jsx)(r.Z,{id:c,name:d,fullWidth:!0,value:a,disabled:h,onChange:n,multiline:!0,rows:5,inputProps:w,error:""!==g,helperText:g,placeholder:F,InputLabelProps:{shrink:!0},InputProps:{classes:{notchedOutline:P.cssOutlinedInput,root:P.rootContainer}},variant:"outlined"})})]})})}))},92440:function(e,t,n){var a=n(36222),i=n(18489),l=n(50390),o=n(86509),s=n(4285),r=n(49056),c=n(36554),d=n(94187),u=n(35477),m=n(25594),p=n(72462),h=n(97538),x=n(44977),Z=n(62559),v=(0,s.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(r.Z);t.Z=(0,s.Z)((function(e){return(0,o.Z)((0,i.Z)((0,i.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},p.OR),p.YI))}))((function(e){var t=e.label,n=void 0===t?"":t,i=e.onChange,o=e.value,s=e.id,r=e.name,p=e.checked,b=void 0!==p&&p,f=e.disabled,g=void 0!==f&&f,j=e.switchOnly,C=void 0!==j&&j,N=e.tooltip,F=void 0===N?"":N,P=e.description,w=void 0===P?"":P,k=e.classes,L=e.indicatorLabels,S=(0,Z.jsxs)(l.Fragment,{children:[!C&&(0,Z.jsx)("span",{className:(0,x.Z)(k.indicatorLabel,(0,a.Z)({},k.indicatorLabelOn,!b)),children:L&&L.length>1?L[1]:"OFF"}),(0,Z.jsx)(v,{checked:b,onChange:i,color:"primary",name:r,inputProps:{"aria-label":"primary checkbox"},disabled:g,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:o}),!C&&(0,Z.jsx)("span",{className:(0,x.Z)(k.indicatorLabel,(0,a.Z)({},k.indicatorLabelOn,b)),children:L?L[0]:"ON"})]});return C?S:(0,Z.jsx)("div",{className:k.divContainer,children:(0,Z.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[(0,Z.jsx)(m.ZP,{item:!0,xs:!0,children:(0,Z.jsxs)(m.ZP,{container:!0,children:[(0,Z.jsx)(m.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==n&&(0,Z.jsxs)(c.Z,{htmlFor:s,className:k.inputLabel,children:[(0,Z.jsx)("span",{children:n}),""!==F&&(0,Z.jsx)("div",{className:k.tooltipContainer,children:(0,Z.jsx)(d.Z,{title:F,placement:"top-start",children:(0,Z.jsx)("div",{className:k.tooltip,children:(0,Z.jsx)(h.Z,{})})})})]})}),(0,Z.jsx)(m.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==w&&(0,Z.jsx)(u.Z,{component:"p",className:k.fieldDescription,children:w})})]})}),(0,Z.jsx)(m.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:k.switchContainer,children:S})]})})}))},66964:function(e,t,n){var a=n(18489),i=n(50390),l=n(12066),o=n(25594),s=n(36554),r=n(94187),c=n(95467),d=n(86509),u=n(62449),m=n(4285),p=n(72462),h=n(97538),x=n(44977),Z=n(62559),v=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)({},p.gM))}));function b(e){var t=v();return(0,Z.jsx)(l.Z,(0,a.Z)({InputProps:{classes:t}},e))}t.Z=(0,m.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,a.Z)((0,a.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,l=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,v=e.autoComplete,f=void 0===v?"off":v,g=e.disabled,j=void 0!==g&&g,C=e.multiline,N=void 0!==C&&C,F=e.tooltip,P=void 0===F?"":F,w=e.index,k=void 0===w?0:w,L=e.error,S=void 0===L?"":L,y=e.required,I=void 0!==y&&y,E=e.placeholder,R=void 0===E?"":E,O=e.min,A=e.max,B=e.overlayIcon,M=void 0===B?null:B,W=e.overlayObject,D=void 0===W?null:W,T=e.extraInputProps,q=void 0===T?{}:T,z=e.overlayAction,_=e.noLabelMinWidth,Y=void 0!==_&&_,H=e.pattern,$=void 0===H?"":H,Q=e.autoFocus,U=void 0!==Q&&Q,G=e.classes,V=e.className,X=void 0===V?"":V,J=(0,a.Z)({"data-index":k},q);return"number"===p&&O&&(J.min=O),"number"===p&&A&&(J.max=A),""!==$&&(J.pattern=$),(0,Z.jsx)(i.Fragment,{children:(0,Z.jsxs)(o.ZP,{container:!0,className:(0,x.Z)(""!==X?X:"",""!==S?G.errorInField:G.inputBoxContainer),children:[""!==t&&(0,Z.jsxs)(s.Z,{htmlFor:d,className:Y?G.noMinWidthLabel:G.inputLabel,children:[(0,Z.jsxs)("span",{children:[t,I?"*":""]}),""!==P&&(0,Z.jsx)("div",{className:G.tooltipContainer,children:(0,Z.jsx)(r.Z,{title:P,placement:"top-start",children:(0,Z.jsx)("div",{className:G.tooltip,children:(0,Z.jsx)(h.Z,{})})})})]}),(0,Z.jsxs)("div",{className:G.textBoxContainer,children:[(0,Z.jsx)(b,{id:d,name:u,fullWidth:!0,value:l,autoFocus:U,disabled:j,onChange:n,type:p,multiline:N,autoComplete:f,inputProps:J,error:""!==S,helperText:S,placeholder:R,className:G.inputRebase}),M&&(0,Z.jsx)("div",{className:"".concat(G.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,Z.jsx)(c.Z,{onClick:z?function(){z()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:M})}),D&&(0,Z.jsx)("div",{className:"".concat(G.overlayAction," ").concat(""!==t?"withLabel":""),children:D})]})]})})}))},50280:function(e,t,n){var a=n(18489),i=n(50390),l=n(25594),o=n(86509),s=n(4285),r=n(72462),c=n(62559);t.Z=(0,s.Z)((function(e){return(0,o.Z)((0,a.Z)({},r.xx))}))((function(e){var t=e.classes,n=e.label,a=void 0===n?"":n,o=e.content,s=e.multiLine,r=void 0!==s&&s;return(0,c.jsx)(i.Fragment,{children:(0,c.jsxs)(l.ZP,{className:t.prefinedContainer,children:[""!==a&&(0,c.jsx)(l.ZP,{item:!0,xs:12,className:t.predefinedTitle,children:a}),(0,c.jsx)(l.ZP,{item:!0,xs:12,className:t.predefinedList,children:(0,c.jsx)(l.ZP,{item:!0,xs:12,className:r?t.innerContentMultiline:t.innerContent,children:o})})]})})}))},27207:function(e,t,n){var a=n(36222),i=n(18489),l=(n(50390),n(44977)),o=n(25594),s=n(82420),r=n(66695),c=n(98893),d=n(36554),u=n(94187),m=n(86509),p=n(4285),h=n(62449),x=n(72462),Z=n(97538),v=n(62559),b=(0,h.Z)((0,i.Z)({root:{"&:hover":{backgroundColor:"transparent"}}},x.FU)),f=function(e){var t=b();return(0,v.jsx)(c.Z,(0,i.Z)({className:t.root,disableRipple:!0,color:"default",checkedIcon:(0,v.jsx)("span",{className:t.radioSelectedIcon}),icon:(0,v.jsx)("span",{className:t.radioUnselectedIcon})},e))};t.Z=(0,p.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},x.YI),x.Hr),{},{optionLabel:{"&.Mui-disabled":{"& .MuiFormControlLabel-label":{color:"#9c9c9c"}},"&:last-child":{marginRight:0},"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E"}},checkedOption:{"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E",fontWeight:700}}}))}))((function(e){var t=e.selectorOptions,n=void 0===t?[]:t,i=e.currentSelection,c=e.label,m=e.id,p=e.name,h=e.onChange,x=e.tooltip,b=void 0===x?"":x,g=e.disableOptions,j=void 0!==g&&g,C=e.classes,N=e.displayInColumn,F=void 0!==N&&N;return(0,v.jsxs)(o.ZP,{container:!0,alignItems:"center",children:[(0,v.jsx)(o.ZP,{item:!0,xs:!0,children:(0,v.jsxs)(d.Z,{htmlFor:m,className:C.inputLabel,children:[(0,v.jsx)("span",{children:c}),""!==b&&(0,v.jsx)("div",{className:C.tooltipContainer,children:(0,v.jsx)(u.Z,{title:b,placement:"top-start",children:(0,v.jsx)("div",{children:(0,v.jsx)(Z.Z,{})})})})]})}),(0,v.jsx)(o.ZP,{item:!0,xs:!0,className:C.radioOptionsLayout,children:(0,v.jsx)(s.Z,{"aria-label":m,id:m,name:p,value:i,onChange:h,row:!F,style:{display:"block",textAlign:"right"},children:n.map((function(e){return(0,v.jsx)(r.Z,{value:e.value,control:(0,v.jsx)(f,{}),label:e.label,disabled:j,className:(0,l.Z)(C.optionLabel,(0,a.Z)({},C.checkedOption,e.value===i))},"rd-".concat(p,"-").concat(e.value))}))})})]})}))},62805:function(e,t,n){n.r(t);var a=n(23430),i=n(18489),l=n(50390),o=n(86509),s=n(4285),r=n(25594),c=n(66964),d=n(27207),u=n(72462),m=n(70887),p=n(92440),h=n(50280),x=n(62559);t.default=(0,s.Z)((function(e){return(0,o.Z)((0,i.Z)((0,i.Z)({},u.oO),u.DF))}))((function(e){var t=e.onChange,n=e.classes,i=(0,l.useState)(!1),o=(0,a.Z)(i,2),s=o[0],u=o[1],Z=(0,l.useState)(""),v=(0,a.Z)(Z,2),b=v[0],f=v[1],g=(0,l.useState)(""),j=(0,a.Z)(g,2),C=j[0],N=j[1],F=(0,l.useState)(""),P=(0,a.Z)(F,2),w=P[0],k=P[1],L=(0,l.useState)(""),S=(0,a.Z)(L,2),y=S[0],I=S[1],E=(0,l.useState)(""),R=(0,a.Z)(E,2),O=R[0],A=R[1],B=(0,l.useState)(""),M=(0,a.Z)(B,2),W=M[0],D=M[1],T=(0,l.useState)(""),q=(0,a.Z)(T,2),z=q[0],_=q[1],Y=(0,l.useState)("namespace"),H=(0,a.Z)(Y,2),$=H[0],Q=H[1],U=(0,l.useState)(""),G=(0,a.Z)(U,2),V=G[0],X=G[1],J=(0,l.useState)(""),K=(0,a.Z)(J,2),ee=K[0],te=K[1],ne=(0,l.useState)(""),ae=(0,a.Z)(ne,2),ie=ae[0],le=ae[1],oe=(0,l.useCallback)((function(){return"".concat(O,":").concat(W,"@tcp(").concat(C,":").concat(y,")/").concat(w)}),[O,W,C,y,w]);(0,l.useEffect)((function(){""!==b&&t([{key:"dsn_string",value:b},{key:"table",value:z},{key:"format",value:$},{key:"queue_dir",value:V},{key:"queue_limit",value:ee},{key:"comment",value:ie}])}),[b,z,$,V,ee,ie,t]),(0,l.useEffect)((function(){var e=oe();f(e)}),[O,w,W,y,C,f,oe]);return(0,x.jsxs)(r.ZP,{container:!0,children:[(0,x.jsx)(r.ZP,{item:!0,xs:12,children:(0,x.jsx)(p.Z,{label:"Enter DNS String",checked:s,id:"checkedB",name:"checkedB",onChange:function(e){if(e.target.checked){var t=oe();f(t)}else{var n=function(e,t){for(var n,a=new Map,i=/(.*?):(.*?)@tcp\((.*?):(.*?)\)\/(.*?)$/gm;null!==(n=i.exec(e));)n.index===i.lastIndex&&i.lastIndex++,a.set("user",n[1]),a.set("password",n[2]),a.set("host",n[3]),a.set("port",n[4]),a.set("dbname",n[5]);return a}(b);N(n.get("host")?n.get("host")+"":""),I(n.get("port")?n.get("port")+"":""),k(n.get("dbname")?n.get("dbname")+"":""),A(n.get("user")?n.get("user")+"":""),D(n.get("password")?n.get("password")+"":"")}u(e.target.checked)},value:"dnsString"})}),s?(0,x.jsx)(l.Fragment,{children:(0,x.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,x.jsx)(c.Z,{id:"dsn-string",name:"dsn_string",label:"DSN String",value:b,onChange:function(e){f(e.target.value)}})})}):(0,x.jsxs)(l.Fragment,{children:[(0,x.jsx)(r.ZP,{item:!0,xs:12,children:(0,x.jsxs)(r.ZP,{item:!0,xs:12,className:n.configureString,children:[(0,x.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,x.jsx)(c.Z,{id:"host",name:"host",label:"",placeholder:"Enter Host",value:C,onChange:function(e){N(e.target.value)}})}),(0,x.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,x.jsx)(c.Z,{id:"db-name",name:"db-name",label:"",placeholder:"Enter DB Name",value:w,onChange:function(e){k(e.target.value)}})}),(0,x.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,x.jsx)(c.Z,{id:"port",name:"port",label:"",placeholder:"Enter Port",value:y,onChange:function(e){I(e.target.value)}})}),(0,x.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,x.jsx)(c.Z,{id:"user",name:"user",label:"",placeholder:"Enter User",value:O,onChange:function(e){A(e.target.value)}})}),(0,x.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,x.jsx)(c.Z,{id:"password",name:"password",label:"",placeholder:"Enter Password",type:"password",value:W,onChange:function(e){D(e.target.value)}})})]})}),(0,x.jsx)(h.Z,{label:"Connection String",content:b}),(0,x.jsx)(r.ZP,{item:!0,xs:12,children:(0,x.jsx)("br",{})})]}),(0,x.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,x.jsx)(c.Z,{id:"table",name:"table",label:"Table",placeholder:"Enter Table Name",value:z,tooltip:"DB table name to store/update events, table is auto-created",onChange:function(e){_(e.target.value)}})}),(0,x.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,x.jsx)(d.Z,{currentSelection:$,id:"format",name:"format",label:"Format",onChange:function(e){Q(e.target.value)},tooltip:"'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'",selectorOptions:[{label:"Namespace",value:"namespace"},{label:"Access",value:"access"}]})}),(0,x.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,x.jsx)(c.Z,{id:"queue-dir",name:"queue_dir",label:"Queue Dir",placeholder:"Enter Queue Dir",value:V,tooltip:"staging dir for undelivered messages e.g. '/home/events'",onChange:function(e){X(e.target.value)}})}),(0,x.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,x.jsx)(c.Z,{id:"queue-limit",name:"queue_limit",label:"Queue Limit",placeholder:"Enter Queue Limit",type:"number",value:ee,tooltip:"maximum limit for undelivered messages, defaults to '10000'",onChange:function(e){te(e.target.value)}})}),(0,x.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,x.jsx)(m.Z,{id:"comment",name:"comment",label:"Comment",placeholder:"Enter Comment",value:ie,onChange:function(e){le(e.target.value)}})})]})}))}}]); +//# sourceMappingURL=2805.fa3b80ee.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2805.73cec790.chunk.js.map b/portal-ui/build/static/js/2805.fa3b80ee.chunk.js.map similarity index 70% rename from portal-ui/build/static/js/2805.73cec790.chunk.js.map rename to portal-ui/build/static/js/2805.fa3b80ee.chunk.js.map index 2e3085e98..fa7fc36d6 100644 --- a/portal-ui/build/static/js/2805.73cec790.chunk.js.map +++ b/portal-ui/build/static/js/2805.fa3b80ee.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/2805.73cec790.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/NotificationEndpoints/CustomForms/ConfMySql.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Grid, InputLabel, TextField, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../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","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import React, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport { IElementValue } from \"../../Configurations/types\";\nimport {\n formFieldStyles,\n modalBasic,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport CommentBoxWrapper from \"../../Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport PredefinedList from \"../../Common/FormComponents/PredefinedList/PredefinedList\";\n\ninterface IConfMySqlProps {\n onChange: (newValue: IElementValue[]) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n ...formFieldStyles,\n });\n\nconst ConfMySql = ({ onChange, classes }: IConfMySqlProps) => {\n //Local States\n const [useDsnString, setUseDsnString] = useState(false);\n const [dsnString, setDsnString] = useState(\"\");\n const [host, setHostname] = useState(\"\");\n const [dbName, setDbName] = useState(\"\");\n const [port, setPort] = useState(\"\");\n const [user, setUser] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n\n const [table, setTable] = useState(\"\");\n const [format, setFormat] = useState(\"namespace\");\n const [queueDir, setQueueDir] = useState(\"\");\n const [queueLimit, setQueueLimit] = useState(\"\");\n const [comment, setComment] = useState(\"\");\n\n // dsn_string* (string) MySQL data-source-name connection string e.g. \":@tcp(:)/\"\n // table* (string) DB table name to store/update events, table is auto-created\n // format* (namespace*|access) 'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'\n // queue_dir (path) staging dir for undelivered messages e.g. '/home/events'\n // queue_limit (number) maximum limit for undelivered messages, defaults to '100000'\n // comment (sentence) optionally add a comment to this setting\n\n const parseDsnString = (\n input: string,\n keys: string[]\n ): Map => {\n let kvFields: Map = new Map();\n const regex = /(.*?):(.*?)@tcp\\((.*?):(.*?)\\)\\/(.*?)$/gm;\n let m;\n\n while ((m = regex.exec(input)) !== null) {\n // This is necessary to avoid infinite loops with zero-width matches\n if (m.index === regex.lastIndex) {\n regex.lastIndex++;\n }\n\n kvFields.set(\"user\", m[1]);\n kvFields.set(\"password\", m[2]);\n kvFields.set(\"host\", m[3]);\n kvFields.set(\"port\", m[4]);\n kvFields.set(\"dbname\", m[5]);\n }\n\n return kvFields;\n };\n\n const configToDsnString = useCallback((): string => {\n return `${user}:${password}@tcp(${host}:${port})/${dbName}`;\n }, [user, password, host, port, dbName]);\n\n useEffect(() => {\n if (dsnString !== \"\") {\n const formValues = [\n { key: \"dsn_string\", value: dsnString },\n { key: \"table\", value: table },\n { key: \"format\", value: format },\n { key: \"queue_dir\", value: queueDir },\n { key: \"queue_limit\", value: queueLimit },\n { key: \"comment\", value: comment },\n ];\n\n onChange(formValues);\n }\n }, [dsnString, table, format, queueDir, queueLimit, comment, onChange]);\n\n useEffect(() => {\n const cs = configToDsnString();\n setDsnString(cs);\n }, [user, dbName, password, port, host, setDsnString, configToDsnString]);\n\n const switcherChangeEvt = (event: React.ChangeEvent) => {\n if (event.target.checked) {\n // build dsn_string\n const cs = configToDsnString();\n setDsnString(cs);\n } else {\n // parse dsn_string\n const kv = parseDsnString(dsnString, [\n \"host\",\n \"port\",\n \"dbname\",\n \"user\",\n \"password\",\n ]);\n setHostname(kv.get(\"host\") ? kv.get(\"host\") + \"\" : \"\");\n setPort(kv.get(\"port\") ? kv.get(\"port\") + \"\" : \"\");\n setDbName(kv.get(\"dbname\") ? kv.get(\"dbname\") + \"\" : \"\");\n setUser(kv.get(\"user\") ? kv.get(\"user\") + \"\" : \"\");\n setPassword(kv.get(\"password\") ? kv.get(\"password\") + \"\" : \"\");\n }\n\n setUseDsnString(event.target.checked);\n };\n\n return (\n \n \n \n \n {useDsnString ? (\n \n \n ) => {\n setDsnString(e.target.value);\n }}\n />\n \n \n ) : (\n \n \n \n \n ) => {\n setHostname(e.target.value);\n }}\n />\n \n \n ) => {\n setDbName(e.target.value);\n }}\n />\n \n \n ) => {\n setPort(e.target.value);\n }}\n />\n \n\n \n ) => {\n setUser(e.target.value);\n }}\n />\n \n \n ) => {\n setPassword(e.target.value);\n }}\n />\n \n \n \n \n \n
\n
\n
\n )}\n \n ) => {\n setTable(e.target.value);\n }}\n />\n \n \n {\n setFormat(e.target.value);\n }}\n tooltip=\"'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'\"\n selectorOptions={[\n { label: \"Namespace\", value: \"namespace\" },\n { label: \"Access\", value: \"access\" },\n ]}\n />\n \n \n ) => {\n setQueueDir(e.target.value);\n }}\n />\n \n \n ) => {\n setQueueLimit(e.target.value);\n }}\n />\n \n \n ) => {\n setComment(e.target.value);\n }}\n />\n \n
\n );\n};\n\nexport default withStyles(styles)(ConfMySql);\n"],"names":["withStyles","theme","createStyles","fieldBasic","tooltipHelper","inputLabel","fontSize","margin","alignItems","paddingTop","flexWrap","display","textBoxContainer","flexGrow","position","cssOutlinedInput","borderColor","padding","rootContainer","minHeight","borderWidth","color","fontWeight","opacity","label","onChange","value","id","name","disabled","tooltip","index","error","required","placeholder","classes","inputProps","item","xs","className","fieldContainer","errorInField","htmlFor","tooltipContainer","title","placement","fullWidth","multiline","rows","helperText","InputLabelProps","shrink","InputProps","notchedOutline","root","variant","StyledSwitch","width","height","switchBase","transform","palette","common","white","backgroundColor","boxShadow","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","justifyContent","Switch","divContainer","marginBottom","indicatorLabelOn","indicatorLabel","fieldDescription","marginTop","actionsTray","switchOnly","description","indicatorLabels","switchComponent","clsx","length","disableRipple","disableFocusRipple","disableTouchRipple","container","sm","md","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","overlayAction","right","top","maxWidth","maxHeight","type","autoComplete","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputBoxContainer","noMinWidthLabel","inputRebase","onClick","size","predefinedList","content","multiLine","Fragment","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","radioStyles","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","icon","radioUnselectedIcon","optionLabel","marginRight","checkedOption","selectorOptions","currentSelection","disableOptions","displayInColumn","radioOptionsLayout","row","style","map","selectorOption","control","modalBasic","formFieldStyles","useState","useDsnString","setUseDsnString","dsnString","setDsnString","host","setHostname","dbName","setDbName","port","setPort","user","setUser","password","setPassword","table","setTable","format","setFormat","queueDir","setQueueDir","queueLimit","setQueueLimit","comment","setComment","configToDsnString","useCallback","useEffect","key","cs","event","target","kv","input","keys","m","kvFields","Map","regex","exec","lastIndex","set","parseDsnString","get","formFieldRow","e","configureString"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/2805.fa3b80ee.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/NotificationEndpoints/CustomForms/ConfMySql.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Grid, InputLabel, TextField, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../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","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n
\n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import React, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport { IElementValue } from \"../../Configurations/types\";\nimport {\n formFieldStyles,\n modalBasic,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport CommentBoxWrapper from \"../../Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport PredefinedList from \"../../Common/FormComponents/PredefinedList/PredefinedList\";\n\ninterface IConfMySqlProps {\n onChange: (newValue: IElementValue[]) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n ...formFieldStyles,\n });\n\nconst ConfMySql = ({ onChange, classes }: IConfMySqlProps) => {\n //Local States\n const [useDsnString, setUseDsnString] = useState(false);\n const [dsnString, setDsnString] = useState(\"\");\n const [host, setHostname] = useState(\"\");\n const [dbName, setDbName] = useState(\"\");\n const [port, setPort] = useState(\"\");\n const [user, setUser] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n\n const [table, setTable] = useState(\"\");\n const [format, setFormat] = useState(\"namespace\");\n const [queueDir, setQueueDir] = useState(\"\");\n const [queueLimit, setQueueLimit] = useState(\"\");\n const [comment, setComment] = useState(\"\");\n\n // dsn_string* (string) MySQL data-source-name connection string e.g. \":@tcp(:)/\"\n // table* (string) DB table name to store/update events, table is auto-created\n // format* (namespace*|access) 'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'\n // queue_dir (path) staging dir for undelivered messages e.g. '/home/events'\n // queue_limit (number) maximum limit for undelivered messages, defaults to '100000'\n // comment (sentence) optionally add a comment to this setting\n\n const parseDsnString = (\n input: string,\n keys: string[]\n ): Map => {\n let kvFields: Map = new Map();\n const regex = /(.*?):(.*?)@tcp\\((.*?):(.*?)\\)\\/(.*?)$/gm;\n let m;\n\n while ((m = regex.exec(input)) !== null) {\n // This is necessary to avoid infinite loops with zero-width matches\n if (m.index === regex.lastIndex) {\n regex.lastIndex++;\n }\n\n kvFields.set(\"user\", m[1]);\n kvFields.set(\"password\", m[2]);\n kvFields.set(\"host\", m[3]);\n kvFields.set(\"port\", m[4]);\n kvFields.set(\"dbname\", m[5]);\n }\n\n return kvFields;\n };\n\n const configToDsnString = useCallback((): string => {\n return `${user}:${password}@tcp(${host}:${port})/${dbName}`;\n }, [user, password, host, port, dbName]);\n\n useEffect(() => {\n if (dsnString !== \"\") {\n const formValues = [\n { key: \"dsn_string\", value: dsnString },\n { key: \"table\", value: table },\n { key: \"format\", value: format },\n { key: \"queue_dir\", value: queueDir },\n { key: \"queue_limit\", value: queueLimit },\n { key: \"comment\", value: comment },\n ];\n\n onChange(formValues);\n }\n }, [dsnString, table, format, queueDir, queueLimit, comment, onChange]);\n\n useEffect(() => {\n const cs = configToDsnString();\n setDsnString(cs);\n }, [user, dbName, password, port, host, setDsnString, configToDsnString]);\n\n const switcherChangeEvt = (event: React.ChangeEvent) => {\n if (event.target.checked) {\n // build dsn_string\n const cs = configToDsnString();\n setDsnString(cs);\n } else {\n // parse dsn_string\n const kv = parseDsnString(dsnString, [\n \"host\",\n \"port\",\n \"dbname\",\n \"user\",\n \"password\",\n ]);\n setHostname(kv.get(\"host\") ? kv.get(\"host\") + \"\" : \"\");\n setPort(kv.get(\"port\") ? kv.get(\"port\") + \"\" : \"\");\n setDbName(kv.get(\"dbname\") ? kv.get(\"dbname\") + \"\" : \"\");\n setUser(kv.get(\"user\") ? kv.get(\"user\") + \"\" : \"\");\n setPassword(kv.get(\"password\") ? kv.get(\"password\") + \"\" : \"\");\n }\n\n setUseDsnString(event.target.checked);\n };\n\n return (\n \n \n \n \n {useDsnString ? (\n \n \n ) => {\n setDsnString(e.target.value);\n }}\n />\n \n \n ) : (\n \n \n \n \n ) => {\n setHostname(e.target.value);\n }}\n />\n \n \n ) => {\n setDbName(e.target.value);\n }}\n />\n \n \n ) => {\n setPort(e.target.value);\n }}\n />\n \n\n \n ) => {\n setUser(e.target.value);\n }}\n />\n \n \n ) => {\n setPassword(e.target.value);\n }}\n />\n \n \n \n \n \n
\n
\n
\n )}\n \n ) => {\n setTable(e.target.value);\n }}\n />\n \n \n {\n setFormat(e.target.value);\n }}\n tooltip=\"'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'\"\n selectorOptions={[\n { label: \"Namespace\", value: \"namespace\" },\n { label: \"Access\", value: \"access\" },\n ]}\n />\n \n \n ) => {\n setQueueDir(e.target.value);\n }}\n />\n \n \n ) => {\n setQueueLimit(e.target.value);\n }}\n />\n \n \n ) => {\n setComment(e.target.value);\n }}\n />\n \n
\n );\n};\n\nexport default withStyles(styles)(ConfMySql);\n"],"names":["withStyles","theme","createStyles","fieldBasic","tooltipHelper","inputLabel","fontSize","margin","alignItems","paddingTop","flexWrap","display","textBoxContainer","flexGrow","position","cssOutlinedInput","borderColor","padding","rootContainer","minHeight","borderWidth","color","fontWeight","opacity","label","onChange","value","id","name","disabled","tooltip","index","error","required","placeholder","classes","inputProps","item","xs","className","fieldContainer","errorInField","htmlFor","tooltipContainer","title","placement","fullWidth","multiline","rows","helperText","InputLabelProps","shrink","InputProps","notchedOutline","root","variant","StyledSwitch","width","height","switchBase","transform","palette","common","white","backgroundColor","boxShadow","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","justifyContent","Switch","divContainer","marginBottom","indicatorLabelOn","indicatorLabel","fieldDescription","marginTop","actionsTray","switchOnly","description","indicatorLabels","switchComponent","clsx","length","disableRipple","disableFocusRipple","disableTouchRipple","container","sm","md","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","overlayAction","right","top","maxWidth","maxHeight","type","autoComplete","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputBoxContainer","noMinWidthLabel","inputRebase","onClick","size","predefinedList","content","multiLine","Fragment","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","radioStyles","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","icon","radioUnselectedIcon","optionLabel","marginRight","checkedOption","selectorOptions","currentSelection","disableOptions","displayInColumn","radioOptionsLayout","row","style","map","selectorOption","control","modalBasic","formFieldStyles","useState","useDsnString","setUseDsnString","dsnString","setDsnString","host","setHostname","dbName","setDbName","port","setPort","user","setUser","password","setPassword","table","setTable","format","setFormat","queueDir","setQueueDir","queueLimit","setQueueLimit","comment","setComment","configToDsnString","useCallback","useEffect","key","cs","event","target","kv","input","keys","m","kvFields","Map","regex","exec","lastIndex","set","parseDsnString","get","formFieldRow","e","configureString"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2841.95af1213.chunk.js b/portal-ui/build/static/js/2841.3d33d6cd.chunk.js similarity index 99% rename from portal-ui/build/static/js/2841.95af1213.chunk.js rename to portal-ui/build/static/js/2841.3d33d6cd.chunk.js index 3612336d6..4598d1729 100644 --- a/portal-ui/build/static/js/2841.95af1213.chunk.js +++ b/portal-ui/build/static/js/2841.3d33d6cd.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2841],{53224:function(e,t,n){var a=n(18489),i=n(83738),s=(n(50390),n(70758)),l=n(62449),r=n(62559),o=["onClick","text","disabled","tooltip","icon"],c=(0,l.Z)((function(e){return{root:{padding:"7px",color:function(t){return function(t){var n=t.variant,a=t.color,i=e.palette.primary.main;return"primary"===a&&"contained"===n?i=e.palette.primary.contrastText:"primary"===a&&"outlined"===n?i=e.palette.primary.main:"secondary"===a&&(i=e.palette.secondary.main),i}(t)},borderColor:function(t){return"secondary"===t.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));t.Z=function(e){var t=c(e),n=e.onClick,l=e.text,d=void 0===l?"":l,u=e.disabled,m=void 0!==u&&u,g=e.tooltip,h=e.icon,x=void 0===h?null:h,v=(0,i.Z)(e,o);return(0,r.jsxs)(s.Z,(0,a.Z)((0,a.Z)({classes:t,tooltip:g||d,variant:"outlined",onClick:n,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},v),{},{children:[(0,r.jsx)("span",{children:d})," ",x]}))}},55572:function(e,t,n){var a=n(35531),i=n(18489),s=n(50390),l=n(86509),r=n(4285),o=n(72462),c=n(66964),d=n(94187),u=n(95467),m=n(96152),g=n(43615),h=n(84201),x=n(10369),v=n(62559);t.Z=(0,r.Z)((function(e){return(0,l.Z)((0,i.Z)({buttonContainer:{textAlign:"right"},multiContainer:{display:"flex",alignItems:"center",justifyContent:"flex-start"},sizeFactorContainer:{marginLeft:8},bottomContainer:{display:"flex",flexGrow:1,alignItems:"center","& div":{flexGrow:1,width:"100%"}},factorElements:{display:"flex",justifyContent:"flex-start"},sizeNumber:{fontSize:35,fontWeight:700,textAlign:"center"},sizeDescription:{fontSize:14,color:"#777",textAlign:"center"},shortened:{gridTemplateColumns:"auto auto 20px 20px",display:"grid",gridGap:20,paddingRight:20}},o.oO))}))((function(e){var t=e.classes,n=e.paramName,i=e.newValues,l=e.setNewValues,r=e.error,o=e.setError,p=function(e){o((0,x.h)(r,e))};(0,s.useEffect)((function(){for(var e=[],t=0;t1){var e=(0,a.Z)(i);e.splice(o,1),l(e)}},children:(0,v.jsx)(g.Z,{})})})]})},"keyvalue-".concat(o.toString()))}));return(0,v.jsx)(s.Fragment,{children:Z})}))},88370:function(e,t,n){var a=n(18489),i=n(50390),s=n(34424),l=n(38342),r=n.n(l),o=n(86509),c=n(4285),d=n(72462),u=n(17777),m=n(62559),g=(0,s.$j)((function(e){return{loadingTenant:e.tenants.tenantDetails.loadingTenant,selectedTenant:e.tenants.tenantDetails.currentTenant,tenant:e.tenants.tenantDetails.tenantInfo,logEnabled:r()(e.tenants.tenantDetails.tenantInfo,"logEnabled",!1),monitoringEnabled:r()(e.tenants.tenantDetails.tenantInfo,"monitoringEnabled",!1),encryptionEnabled:r()(e.tenants.tenantDetails.tenantInfo,"encryptionEnabled",!1),minioTLS:r()(e.tenants.tenantDetails.tenantInfo,"minioTLS",!1),consoleTLS:r()(e.tenants.tenantDetails.tenantInfo,"consoleTLS",!1),consoleEnabled:r()(e.tenants.tenantDetails.tenantInfo,"consoleEnabled",!1),adEnabled:r()(e.tenants.tenantDetails.tenantInfo,"idpAdEnabled",!1),oidcEnabled:r()(e.tenants.tenantDetails.tenantInfo,"idpOidcEnabled",!1)}}),null);t.Z=(0,c.Z)((function(e){return(0,o.Z)((0,a.Z)((0,a.Z)({},d.oZ),{},{centerAlign:{textAlign:"center"},listHeight:{height:"50"}},(0,d.Bz)(e.spacing(4))))}))(g((function(e){var t=e.classes,n=e.records,a=e.recordName;return(0,m.jsx)(i.Fragment,{children:(0,m.jsx)(u.Z,{columns:[{label:"Key",elementKey:"key"},{label:"Value",elementKey:"value"}],isLoading:!1,records:n,itemActions:[],entityName:a,idField:"name",customPaperHeight:t.listHeight})})})))},32841:function(e,t,n){n.r(t),n.d(t,{default:function(){return q}});var a=n(23430),i=n(18489),s=n(50390),l=n(34424),r=n(86509),o=n(4285),c=n(25594),d=n(72462),u=n(23473),m=n(18201),g=n(46981),h=n(44149),x=n(35531),v=n(76352),p=n(66946),Z=n(30324),f=n(55572),j=n(66964),b=n(84201),C=n(62559),y=(0,o.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)({buttonContainer:{textAlign:"right"}},d.oO),d.ID),d.DF))}))((function(e){e.tenant;var t=e.classes,n=e.open,i=e.onClose,l=e.image,r=e.sidecarImage,o=e.initImage,d=e.labels,u=e.annotations,m=e.nodeSelector,g=e.diskCapacityGB,y=e.serviceAccountName,N=e.storageClassName,S=e.tenantName,I=e.tenantNamespace,A=e.cpuRequest,k=e.memRequest,R=(0,s.useState)({}),P=(0,a.Z)(R,2),z=P[0],q=P[1],w=(0,s.useState)(d.length>0?(0,x.Z)(d):[{key:"",value:""}]),E=(0,a.Z)(w,2),M=E[0],D=E[1],F=(0,s.useState)(u.length>0?(0,x.Z)(u):[{key:"",value:""}]),G=(0,a.Z)(F,2),L=G[0],T=G[1],B=(0,s.useState)(m.length>0?(0,x.Z)(m):[{key:"",value:""}]),K=(0,a.Z)(B,2),$=K[0],V=K[1],_=(0,s.useState)(l),O=(0,a.Z)(_,2),U=O[0],H=O[1],W=(0,s.useState)(r),Y=(0,a.Z)(W,2),J=Y[0],Q=Y[1],X=(0,s.useState)(o),ee=(0,a.Z)(X,2),te=ee[0],ne=ee[1],ae=(0,s.useState)(g.toString()),ie=(0,a.Z)(ae,2),se=ie[0],le=ie[1],re=(0,s.useState)(A),oe=(0,a.Z)(re,2),ce=oe[0],de=oe[1],ue=(0,s.useState)(Math.floor(parseInt(k,10)/1e9).toString()),me=(0,a.Z)(ue,2),ge=me[0],he=me[1],xe=(0,s.useState)(y),ve=(0,a.Z)(xe,2),pe=ve[0],Ze=ve[1],fe=(0,s.useState)(N),je=(0,a.Z)(fe,2),be=je[0],Ce=je[1],ye=(0,s.useState)({}),Ne=(0,a.Z)(ye,2),Se=Ne[0],Ie=Ne[1],Ae=(0,s.useState)({}),ke=(0,a.Z)(Ae,2),Re=ke[0],Pe=ke[1],ze=(0,s.useState)({}),qe=(0,a.Z)(ze,2),we=qe[0],Ee=qe[1],Me=function(e){for(var t=[],n=0;n0&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("tr",{children:(0,C.jsx)("td",{children:(0,C.jsx)("h4",{children:"Labels"})})}),(0,C.jsx)("tr",{children:(0,C.jsx)("td",{className:t.titleCol,children:(0,C.jsx)(I.Z,{records:z.labels,recordName:"Labels"})})})]}),null!=z.annotations&&z.annotations.length>0&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("tr",{children:(0,C.jsx)("td",{children:(0,C.jsx)("h4",{children:"Annotations"})})}),(0,C.jsx)("tr",{children:(0,C.jsx)("td",{className:t.titleCol,children:(0,C.jsx)(I.Z,{records:z.annotations,recordName:"Annotations"})})})]}),null!=z.monitoringCPURequest&&(0,C.jsxs)("tr",{children:[(0,C.jsx)("td",{className:t.titleCol,children:"CPU Request:"}),(0,C.jsx)("td",{children:null===z||void 0===z?void 0:z.monitoringCPURequest})]}),null!=z.monitoringMemRequest&&(0,C.jsxs)("tr",{children:[(0,C.jsx)("td",{className:t.titleCol,children:"Memory Request:"}),(0,C.jsx)("td",{children:(0,A.ae)(null===z||void 0===z?void 0:z.monitoringMemRequest,!0)})]}),null!=z.nodeSelector&&z.nodeSelector.length>0&&(0,C.jsxs)("tr",{children:[(0,C.jsx)("h4",{children:"Node Selector:"}),(0,C.jsx)("td",{className:t.titleCol,children:(0,C.jsx)(I.Z,{records:z.nodeSelector,recordName:"Node Selector"})})]})]})})})})})})]})})))}}]); -//# sourceMappingURL=2841.95af1213.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2841],{53224:function(e,t,n){var a=n(18489),i=n(83738),s=(n(50390),n(70758)),l=n(62449),r=n(62559),o=["onClick","text","disabled","tooltip","icon"],c=(0,l.Z)((function(e){return{root:{padding:"7px",color:function(t){return function(t){var n=t.variant,a=t.color,i=e.palette.primary.main;return"primary"===a&&"contained"===n?i=e.palette.primary.contrastText:"primary"===a&&"outlined"===n?i=e.palette.primary.main:"secondary"===a&&(i=e.palette.secondary.main),i}(t)},borderColor:function(t){return"secondary"===t.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));t.Z=function(e){var t=c(e),n=e.onClick,l=e.text,d=void 0===l?"":l,u=e.disabled,m=void 0!==u&&u,g=e.tooltip,h=e.icon,x=void 0===h?null:h,v=(0,i.Z)(e,o);return(0,r.jsxs)(s.Z,(0,a.Z)((0,a.Z)({classes:t,tooltip:g||d,variant:"outlined",onClick:n,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},v),{},{children:[(0,r.jsx)("span",{children:d})," ",x]}))}},55572:function(e,t,n){var a=n(35531),i=n(18489),s=n(50390),l=n(86509),r=n(4285),o=n(72462),c=n(66964),d=n(94187),u=n(95467),m=n(96152),g=n(43615),h=n(84201),x=n(10369),v=n(62559);t.Z=(0,r.Z)((function(e){return(0,l.Z)((0,i.Z)({buttonContainer:{textAlign:"right"},multiContainer:{display:"flex",alignItems:"center",justifyContent:"flex-start"},sizeFactorContainer:{marginLeft:8},bottomContainer:{display:"flex",flexGrow:1,alignItems:"center","& div":{flexGrow:1,width:"100%"}},factorElements:{display:"flex",justifyContent:"flex-start"},sizeNumber:{fontSize:35,fontWeight:700,textAlign:"center"},sizeDescription:{fontSize:14,color:"#777",textAlign:"center"},shortened:{gridTemplateColumns:"auto auto 20px 20px",display:"grid",gridGap:20,paddingRight:20}},o.oO))}))((function(e){var t=e.classes,n=e.paramName,i=e.newValues,l=e.setNewValues,r=e.error,o=e.setError,p=function(e){o((0,x.h)(r,e))};(0,s.useEffect)((function(){for(var e=[],t=0;t1){var e=(0,a.Z)(i);e.splice(o,1),l(e)}},children:(0,v.jsx)(g.Z,{})})})]})},"keyvalue-".concat(o.toString()))}));return(0,v.jsx)(s.Fragment,{children:Z})}))},88370:function(e,t,n){var a=n(18489),i=n(50390),s=n(34424),l=n(38342),r=n.n(l),o=n(86509),c=n(4285),d=n(72462),u=n(17777),m=n(62559),g=(0,s.$j)((function(e){return{loadingTenant:e.tenants.tenantDetails.loadingTenant,selectedTenant:e.tenants.tenantDetails.currentTenant,tenant:e.tenants.tenantDetails.tenantInfo,logEnabled:r()(e.tenants.tenantDetails.tenantInfo,"logEnabled",!1),monitoringEnabled:r()(e.tenants.tenantDetails.tenantInfo,"monitoringEnabled",!1),encryptionEnabled:r()(e.tenants.tenantDetails.tenantInfo,"encryptionEnabled",!1),minioTLS:r()(e.tenants.tenantDetails.tenantInfo,"minioTLS",!1),consoleTLS:r()(e.tenants.tenantDetails.tenantInfo,"consoleTLS",!1),consoleEnabled:r()(e.tenants.tenantDetails.tenantInfo,"consoleEnabled",!1),adEnabled:r()(e.tenants.tenantDetails.tenantInfo,"idpAdEnabled",!1),oidcEnabled:r()(e.tenants.tenantDetails.tenantInfo,"idpOidcEnabled",!1)}}),null);t.Z=(0,c.Z)((function(e){return(0,o.Z)((0,a.Z)((0,a.Z)({},d.oZ),{},{centerAlign:{textAlign:"center"},listHeight:{height:"50"}},(0,d.Bz)(e.spacing(4))))}))(g((function(e){var t=e.classes,n=e.records,a=e.recordName;return(0,m.jsx)(i.Fragment,{children:(0,m.jsx)(u.Z,{columns:[{label:"Key",elementKey:"key"},{label:"Value",elementKey:"value"}],isLoading:!1,records:n,itemActions:[],entityName:a,idField:"name",customPaperHeight:t.listHeight})})})))},32841:function(e,t,n){n.r(t),n.d(t,{default:function(){return q}});var a=n(23430),i=n(18489),s=n(50390),l=n(34424),r=n(86509),o=n(4285),c=n(25594),d=n(72462),u=n(23473),m=n(18201),g=n(46981),h=n(44149),x=n(35531),v=n(76352),p=n(66946),Z=n(30324),f=n(55572),j=n(66964),b=n(84201),C=n(62559),y=(0,o.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)({buttonContainer:{textAlign:"right"}},d.oO),d.ID),d.DF))}))((function(e){e.tenant;var t=e.classes,n=e.open,i=e.onClose,l=e.image,r=e.sidecarImage,o=e.initImage,d=e.labels,u=e.annotations,m=e.nodeSelector,g=e.diskCapacityGB,y=e.serviceAccountName,N=e.storageClassName,S=e.tenantName,I=e.tenantNamespace,A=e.cpuRequest,k=e.memRequest,R=(0,s.useState)({}),P=(0,a.Z)(R,2),z=P[0],q=P[1],w=(0,s.useState)(d.length>0?(0,x.Z)(d):[{key:"",value:""}]),E=(0,a.Z)(w,2),M=E[0],D=E[1],F=(0,s.useState)(u.length>0?(0,x.Z)(u):[{key:"",value:""}]),G=(0,a.Z)(F,2),L=G[0],T=G[1],B=(0,s.useState)(m.length>0?(0,x.Z)(m):[{key:"",value:""}]),K=(0,a.Z)(B,2),$=K[0],V=K[1],_=(0,s.useState)(l),O=(0,a.Z)(_,2),U=O[0],H=O[1],W=(0,s.useState)(r),Y=(0,a.Z)(W,2),J=Y[0],Q=Y[1],X=(0,s.useState)(o),ee=(0,a.Z)(X,2),te=ee[0],ne=ee[1],ae=(0,s.useState)(g.toString()),ie=(0,a.Z)(ae,2),se=ie[0],le=ie[1],re=(0,s.useState)(A),oe=(0,a.Z)(re,2),ce=oe[0],de=oe[1],ue=(0,s.useState)(Math.floor(parseInt(k,10)/1e9).toString()),me=(0,a.Z)(ue,2),ge=me[0],he=me[1],xe=(0,s.useState)(y),ve=(0,a.Z)(xe,2),pe=ve[0],Ze=ve[1],fe=(0,s.useState)(N),je=(0,a.Z)(fe,2),be=je[0],Ce=je[1],ye=(0,s.useState)({}),Ne=(0,a.Z)(ye,2),Se=Ne[0],Ie=Ne[1],Ae=(0,s.useState)({}),ke=(0,a.Z)(Ae,2),Re=ke[0],Pe=ke[1],ze=(0,s.useState)({}),qe=(0,a.Z)(ze,2),we=qe[0],Ee=qe[1],Me=function(e){for(var t=[],n=0;n0&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("tr",{children:(0,C.jsx)("td",{children:(0,C.jsx)("h4",{children:"Labels"})})}),(0,C.jsx)("tr",{children:(0,C.jsx)("td",{className:t.titleCol,children:(0,C.jsx)(I.Z,{records:z.labels,recordName:"Labels"})})})]}),null!=z.annotations&&z.annotations.length>0&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("tr",{children:(0,C.jsx)("td",{children:(0,C.jsx)("h4",{children:"Annotations"})})}),(0,C.jsx)("tr",{children:(0,C.jsx)("td",{className:t.titleCol,children:(0,C.jsx)(I.Z,{records:z.annotations,recordName:"Annotations"})})})]}),null!=z.monitoringCPURequest&&(0,C.jsxs)("tr",{children:[(0,C.jsx)("td",{className:t.titleCol,children:"CPU Request:"}),(0,C.jsx)("td",{children:null===z||void 0===z?void 0:z.monitoringCPURequest})]}),null!=z.monitoringMemRequest&&(0,C.jsxs)("tr",{children:[(0,C.jsx)("td",{className:t.titleCol,children:"Memory Request:"}),(0,C.jsx)("td",{children:(0,A.ae)(null===z||void 0===z?void 0:z.monitoringMemRequest,!0)})]}),null!=z.nodeSelector&&z.nodeSelector.length>0&&(0,C.jsxs)("tr",{children:[(0,C.jsx)("h4",{children:"Node Selector:"}),(0,C.jsx)("td",{className:t.titleCol,children:(0,C.jsx)(I.Z,{records:z.nodeSelector,recordName:"Node Selector"})})]})]})})})})})})]})})))}}]); +//# sourceMappingURL=2841.3d33d6cd.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2841.95af1213.chunk.js.map b/portal-ui/build/static/js/2841.3d33d6cd.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/2841.95af1213.chunk.js.map rename to portal-ui/build/static/js/2841.3d33d6cd.chunk.js.map index 70a0d58c5..e307cc02a 100644 --- a/portal-ui/build/static/js/2841.95af1213.chunk.js.map +++ b/portal-ui/build/static/js/2841.3d33d6cd.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/2841.95af1213.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Tenants/TenantDetails/KeyPairEdit.tsx","screens/Console/Tenants/TenantDetails/KeyPairView.tsx","screens/Console/Tenants/TenantDetails/EditTenantMonitoringModal.tsx","screens/Console/Tenants/TenantDetails/TenantMonitoring.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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","import React, { Fragment, useEffect } from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { modalBasic } from \"../../Common/FormComponents/common/styleLibrary\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { IconButton, Tooltip } from \"@mui/material\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport { IKeyValue } from \"../ListTenants/types\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../utils/validationFunctions\";\nimport { clearValidationError } from \"../utils\";\n\ninterface IKeyPairEditProps {\n classes: any;\n paramName: string;\n error: any;\n setError: (e: any) => void;\n newValues: IKeyValue[];\n setNewValues: (vals: IKeyValue[]) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n multiContainer: {\n display: \"flex\",\n alignItems: \"center\" as const,\n justifyContent: \"flex-start\" as const,\n },\n sizeFactorContainer: {\n marginLeft: 8,\n },\n bottomContainer: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n \"& div\": {\n flexGrow: 1,\n width: \"100%\",\n },\n },\n factorElements: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n },\n sizeNumber: {\n fontSize: 35,\n fontWeight: 700,\n textAlign: \"center\",\n },\n sizeDescription: {\n fontSize: 14,\n color: \"#777\",\n textAlign: \"center\",\n },\n shortened: {\n gridTemplateColumns: \"auto auto 20px 20px\",\n display: \"grid\",\n gridGap: 20,\n paddingRight: 20,\n },\n ...modalBasic,\n });\n\nconst KeyPairEdit = ({\n classes,\n paramName,\n newValues,\n setNewValues,\n error,\n setError,\n}: IKeyPairEditProps) => {\n const cleanValidation = (fieldName: string) => {\n setError(clearValidationError(error, fieldName));\n };\n\n useEffect(() => {\n let keyPairValidation: IValidation[] = [];\n\n for (var i = 0; i < newValues.length; i++) {\n keyPairValidation.push({\n fieldKey: `key-${i.toString()}`,\n required: false,\n value: newValues[i].key,\n pattern: /^[a-zA-Z0-9-_.]{1,63}$/,\n customPatternMessage: \"Invalid key\",\n });\n keyPairValidation.push({\n fieldKey: `val-${i.toString()}`,\n required: false,\n value: newValues[i].value,\n pattern: /^[a-zA-Z0-9-_.]{1,63}$/,\n customPatternMessage: \"Invalid value\",\n });\n }\n\n const commonVal = commonFormValidation(keyPairValidation);\n setError(commonVal);\n }, [newValues, setError]);\n\n let keyValueInputs = newValues.map((_, index) => {\n return (\n \n
\n {\n let tempLabels = [...newValues];\n tempLabels[index].key = e.target.value;\n setNewValues(tempLabels);\n cleanValidation(`key-${index.toString()}`);\n }}\n index={index}\n key={`csv-key-${index.toString()}`}\n error={error[`key-${index.toString()}`] || \"\"}\n />\n {\n let tempLabels = [...newValues];\n tempLabels[index].value = e.target.value;\n setNewValues(tempLabels);\n cleanValidation(`val-${index.toString()}`);\n }}\n index={index}\n key={`csv-val-${index.toString()}`}\n error={error[`val-${index.toString()}`] || \"\"}\n />\n \n {\n let tempLabels = [...newValues];\n tempLabels.push({ key: \"\", value: \"\" });\n setNewValues(tempLabels);\n }}\n >\n \n \n \n \n {\n if (newValues.length === 1) {\n setNewValues([{ key: \"\", value: \"\" }]);\n }\n if (newValues.length > 1) {\n let tempLabels = [...newValues];\n tempLabels.splice(index, 1);\n setNewValues(tempLabels);\n }\n }}\n >\n \n \n \n
\n
\n );\n });\n\n return {keyValueInputs};\n};\n\nexport default withStyles(styles)(KeyPairEdit);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport {\n containerForHeader,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport { IKeyValue } from \"../ListTenants/types\";\n\ninterface IKeyPairView {\n classes: any;\n records: IKeyValue[];\n recordName: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n centerAlign: {\n textAlign: \"center\",\n },\n listHeight: {\n height: \"50\",\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst KeyPairView = ({ classes, records, recordName }: IKeyPairView) => {\n return (\n \n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n selectedTenant: state.tenants.tenantDetails.currentTenant,\n tenant: state.tenants.tenantDetails.tenantInfo,\n logEnabled: get(state.tenants.tenantDetails.tenantInfo, \"logEnabled\", false),\n monitoringEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"monitoringEnabled\",\n false\n ),\n encryptionEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"encryptionEnabled\",\n false\n ),\n minioTLS: get(state.tenants.tenantDetails.tenantInfo, \"minioTLS\", false),\n consoleTLS: get(state.tenants.tenantDetails.tenantInfo, \"consoleTLS\", false),\n consoleEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"consoleEnabled\",\n false\n ),\n adEnabled: get(state.tenants.tenantDetails.tenantInfo, \"idpAdEnabled\", false),\n oidcEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"idpOidcEnabled\",\n false\n ),\n});\n\nconst connector = connect(mapState, null);\n\nexport default withStyles(styles)(connector(KeyPairView));\n","import React, { useEffect, useState } from \"react\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport {\n formFieldStyles,\n modalBasic,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { Button, Grid } from \"@mui/material\";\nimport api from \"../../../../common/api\";\nimport { ITenant } from \"../ListTenants/types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { IKeyValue } from \"../ListTenants/types\";\nimport KeyPairEdit from \"./KeyPairEdit\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../utils/validationFunctions\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\n\ninterface IEditTenantMonitoringProps {\n tenant: ITenant;\n classes: any;\n open: boolean;\n onClose: (shouldReload: boolean) => void;\n image: string;\n sidecarImage: string;\n initImage: string;\n labels: IKeyValue[];\n annotations: IKeyValue[];\n nodeSelector: IKeyValue[];\n diskCapacityGB: number;\n serviceAccountName: string;\n tenantName: string;\n tenantNamespace: string;\n storageClassName: string;\n cpuRequest: string;\n memRequest: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n ...modalBasic,\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\nconst EditTenantMonitoringModal = ({\n tenant,\n classes,\n open,\n onClose,\n image,\n sidecarImage,\n initImage,\n labels,\n annotations,\n nodeSelector,\n diskCapacityGB,\n serviceAccountName,\n storageClassName,\n tenantName,\n tenantNamespace,\n cpuRequest,\n memRequest,\n}: IEditTenantMonitoringProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n const [newLabels, setNewLabels] = useState(\n labels.length > 0 ? [...labels] : [{ key: \"\", value: \"\" }]\n );\n const [newAnnotations, setNewAnnotations] = useState(\n annotations.length > 0 ? [...annotations] : [{ key: \"\", value: \"\" }]\n );\n const [newNodeSelector, setNewNodeSelector] = useState(\n nodeSelector.length > 0 ? [...nodeSelector] : [{ key: \"\", value: \"\" }]\n );\n const [newImage, setNewImage] = useState(image);\n const [newSidecarImage, setNewSidecarImage] = useState(sidecarImage);\n const [newInitImage, setNewInitImage] = useState(initImage);\n const [newDiskCapacityGB, setNewDiskCapacityGB] = useState(\n diskCapacityGB.toString()\n );\n const [newCPURequest, setNewCPURequest] = useState(cpuRequest);\n const [newMemRequest, setNewMemRequest] = useState(\n Math.floor(parseInt(memRequest, 10) / 1000000000).toString()\n );\n const [newServiceAccountName, setNewServiceAccountName] =\n useState(serviceAccountName);\n const [newStorageClassName, setNewStorageClassName] =\n useState(storageClassName);\n\n const [labelsError, setLabelsError] = useState({});\n const [annotationsError, setAnnotationsError] = useState({});\n const [nodeSelectorError, setNodeSelectorError] = useState({});\n\n const trim = (x: IKeyValue[]): IKeyValue[] => {\n let retval: IKeyValue[] = [];\n for (let i = 0; i < x.length; i++) {\n if (x[i].key !== \"\") {\n retval.push(x[i]);\n }\n }\n return retval;\n };\n\n useEffect(() => {\n let tenantMonitoringValidation: IValidation[] = [];\n\n tenantMonitoringValidation.push({\n fieldKey: `image`,\n required: false,\n value: newImage,\n pattern:\n /^([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9]?)+(\\/(([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9])?)+)*:([a-zA-Z0-9])[a-zA-Z0-9-.]{0,127}$/,\n customPatternMessage: \"Invalid image\",\n });\n tenantMonitoringValidation.push({\n fieldKey: `sidecarImage`,\n required: false,\n value: newSidecarImage,\n pattern:\n /^([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9]?)+(\\/(([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9])?)+)*:([a-zA-Z0-9])[a-zA-Z0-9-.]{0,127}$/,\n customPatternMessage: \"Invalid image\",\n });\n tenantMonitoringValidation.push({\n fieldKey: `initImage`,\n required: false,\n value: newInitImage,\n pattern:\n /^([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9]?)+(\\/(([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9])?)+)*:([a-zA-Z0-9])[a-zA-Z0-9-.]{0,127}$/,\n customPatternMessage: \"Invalid image\",\n });\n tenantMonitoringValidation.push({\n fieldKey: `diskCapacityGB`,\n required: true,\n value: newDiskCapacityGB as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage: \"Must be an integer between 0 and 10\",\n });\n tenantMonitoringValidation.push({\n fieldKey: `newCPURequest`,\n required: false,\n value: newCPURequest as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage: \"Must be an integer between 0 and 10\",\n });\n tenantMonitoringValidation.push({\n fieldKey: `newMemRequest`,\n required: false,\n value: newMemRequest as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage: \"Must be an integer between 0 and 10\",\n });\n tenantMonitoringValidation.push({\n fieldKey: `serviceAccountName`,\n required: false,\n value: newServiceAccountName,\n pattern: /^[a-zA-Z0-9-.]{1,253}$/,\n customPatternMessage: \"Invalid service account name\",\n });\n tenantMonitoringValidation.push({\n fieldKey: `storageClassName`,\n required: false,\n value: newStorageClassName,\n pattern: /^[a-zA-Z0-9-.]{1,253}$/,\n customPatternMessage: \"Invalid storage class name\",\n });\n\n const commonVal = commonFormValidation(tenantMonitoringValidation);\n setValidationErrors(commonVal);\n }, [\n newImage,\n newSidecarImage,\n newInitImage,\n newDiskCapacityGB,\n newServiceAccountName,\n newStorageClassName,\n newCPURequest,\n newMemRequest,\n setValidationErrors,\n ]);\n\n const checkValid = (): boolean => {\n if (\n Object.keys(validationErrors).length !== 0 ||\n Object.keys(labelsError).length !== 0 ||\n Object.keys(annotationsError).length !== 0 ||\n Object.keys(nodeSelectorError).length !== 0\n ) {\n let err: ErrorResponseHandler = {\n errorMessage: \"Invalid entry\",\n detailedError: \"\",\n };\n setModalErrorSnackMessage(err);\n return false;\n } else {\n return true;\n }\n };\n\n const submitMonitoringInfo = (event: React.FormEvent) => {\n event.preventDefault();\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/monitoring`,\n {\n labels: trim(newLabels),\n annotations: trim(newAnnotations),\n nodeSelector: trim(newNodeSelector),\n image: newImage,\n sidecarImage: newSidecarImage,\n initImage: newInitImage,\n diskCapacityGB: newDiskCapacityGB,\n serviceAccountName: newServiceAccountName,\n storageClassName: newStorageClassName,\n monitoringCPURequest: newCPURequest,\n monitoringMemRequest: newMemRequest + \"Gi\",\n }\n )\n .then(() => {\n onClose(true);\n })\n .catch((err: ErrorResponseHandler) => {});\n };\n\n return (\n onClose(true)}\n modalOpen={open}\n title=\"Edit Monitoring Configuration\"\n >\n
\n \n \n \n ) => {\n setNewImage(event.target.value);\n }}\n key={`image`}\n error={validationErrors[`image`] || \"\"}\n />\n \n \n ) => {\n setNewSidecarImage(event.target.value);\n }}\n key={`sidecarImage`}\n error={validationErrors[`sidecarImage`] || \"\"}\n />\n \n \n ) => {\n setNewInitImage(event.target.value);\n }}\n key={`initImage`}\n error={validationErrors[`initImage`] || \"\"}\n />\n \n \n ) => {\n setNewDiskCapacityGB(event.target.value);\n }}\n key={`diskCapacityGB`}\n error={validationErrors[`diskCapacityGB`] || \"\"}\n />\n \n \n ) => {\n setNewCPURequest(event.target.value);\n }}\n key={`cpuRequest`}\n error={validationErrors[`cpuRequest`] || \"\"}\n />\n \n \n ) => {\n setNewMemRequest(event.target.value);\n }}\n key={`memRequest`}\n error={validationErrors[`memRequest`] || \"\"}\n />\n \n \n ) => {\n setNewServiceAccountName(event.target.value);\n }}\n key={`serviceAccountName`}\n error={validationErrors[`serviceAccountName`] || \"\"}\n />\n \n \n ) => {\n setNewStorageClassName(event.target.value);\n }}\n key={`storageClassName`}\n error={validationErrors[`storageClassName`] || \"\"}\n />\n \n \n Labels\n \n \n \n Annotations\n \n \n \n Node Selector\n \n \n \n \n \n Save\n \n \n \n
\n \n );\n};\n\nexport default withStyles(styles)(EditTenantMonitoringModal);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\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 actionsTray,\n containerForHeader,\n searchField,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { CircularProgress, DialogContentText } from \"@mui/material\";\nimport Paper from \"@mui/material/Paper\";\nimport { ITenant } from \"../ListTenants/types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport EditTenantMonitoringModal from \"./EditTenantMonitoringModal\";\n\nimport api from \"../../../../common/api\";\nimport { EditIcon } from \"../../../../icons\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport { ITenantMonitoringStruct } from \"../ListTenants/types\";\nimport KeyPairView from \"./KeyPairView\";\nimport { niceBytes } from \"../../../../common/utils\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\ninterface ITenantMonitoring {\n classes: any;\n match: any;\n tenant: ITenant | null;\n loadingTenant: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n headerLabel: {\n fontSize: 22,\n fontWeight: 600,\n color: \"#000\",\n marginTop: 4,\n },\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n tableWrapper: {\n height: \"calc(100vh - 267px)\",\n },\n paperContainer: {\n padding: \"15px 15px 15px 50px\",\n },\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst TenantMonitoring = ({\n classes,\n match,\n tenant,\n loadingTenant,\n}: ITenantMonitoring) => {\n const [prometheusMonitoringEnabled, setPrometheusMonitoringEnabled] =\n useState(false);\n const [edit, setEdit] = useState(false);\n const [monitoringInfo, setMonitoringInfo] =\n useState();\n const [confirmOpen, setConfirmOpen] = useState(false);\n const [refreshMonitoringInfo, setRefreshMonitoringInfo] =\n useState(true);\n\n const tenantName = match.params[\"tenantName\"];\n const tenantNamespace = match.params[\"tenantNamespace\"];\n\n const onCloseEditAndRefresh = () => {\n setEdit(false);\n setRefreshMonitoringInfo(true);\n };\n\n useEffect(() => {\n if (refreshMonitoringInfo) {\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/monitoring`\n )\n .then((res: ITenantMonitoringStruct) => {\n setPrometheusMonitoringEnabled(res.prometheusEnabled);\n setMonitoringInfo(res);\n setRefreshMonitoringInfo(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setRefreshMonitoringInfo(false);\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [refreshMonitoringInfo]);\n\n const togglePrometheus = () => {\n const configInfo = {\n prometheusEnabled: prometheusMonitoringEnabled,\n toggle: true,\n };\n api\n .invoke(\n \"PUT\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/monitoring`,\n configInfo\n )\n .then(() => {\n setPrometheusMonitoringEnabled(!prometheusMonitoringEnabled);\n setRefreshMonitoringInfo(true);\n setConfirmOpen(false);\n setRefreshMonitoringInfo(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n });\n };\n\n return (\n \n {edit && tenant !== null && prometheusMonitoringEnabled && (\n \n )}\n {confirmOpen && (\n setConfirmOpen(false)}\n onConfirm={togglePrometheus}\n confirmationContent={\n \n {prometheusMonitoringEnabled\n ? \"Disabling monitoring will erase any custom values you have used to configure Prometheus monitoring\"\n : \"Prometheus monitoring will be enabled with default values\"}\n \n }\n />\n )}\n\n

Monitoring

\n
\n {\n setConfirmOpen(true);\n }}\n description=\"\"\n />\n {prometheusMonitoringEnabled && (\n {\n setEdit(true);\n }}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n )}\n
\n {prometheusMonitoringEnabled && monitoringInfo !== undefined && (\n \n \n \n \n \n {loadingTenant ? (\n \n \n \n ) : (\n \n {monitoringInfo.image != null && (\n \n \n \n \n )}\n {monitoringInfo.sidecarImage != null && (\n \n \n \n \n )}\n {monitoringInfo.initImage != null && (\n \n \n \n \n )}\n {monitoringInfo.diskCapacityGB != null && (\n \n \n \n \n )}\n {monitoringInfo.serviceAccountName != null && (\n \n \n \n \n )}\n {monitoringInfo.storageClassName != null && (\n \n \n \n \n )}\n {monitoringInfo.labels != null &&\n monitoringInfo.labels.length > 0 && (\n <>\n \n \n \n \n \n \n \n )}\n {monitoringInfo.annotations != null &&\n monitoringInfo.annotations.length > 0 && (\n <>\n \n \n \n \n \n \n \n )}\n {monitoringInfo.monitoringCPURequest != null && (\n \n \n \n \n )}\n {monitoringInfo.monitoringMemRequest != null && (\n \n \n \n \n )}\n {monitoringInfo.nodeSelector != null &&\n monitoringInfo.nodeSelector.length > 0 && (\n \n

Node Selector:

\n \n \n )}\n \n )}\n \n
\n \n
Image:{monitoringInfo.image}
Sidecar Image:{monitoringInfo?.sidecarImage}
Init Image:{monitoringInfo?.initImage}
\n Disk Capacity (GB):\n {monitoringInfo?.diskCapacityGB}
\n Service Account Name:\n {monitoringInfo?.serviceAccountName}
\n Storage Class Name:\n {monitoringInfo?.storageClassName}
\n

Labels

\n
\n \n
\n

Annotations

\n
\n \n
CPU Request:{monitoringInfo?.monitoringCPURequest}
Memory Request:\n {niceBytes(\n monitoringInfo?.monitoringMemRequest,\n true\n )}\n
\n \n
\n
\n
\n
\n )}\n
\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(TenantMonitoring));\n"],"names":["useStyles","makeStyles","theme","root","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","width","marginLeft","text","classes","onClick","disabled","tooltip","icon","restProps","size","sx","border","fontSize","display","withStyles","createStyles","buttonContainer","textAlign","multiContainer","alignItems","justifyContent","sizeFactorContainer","bottomContainer","flexGrow","factorElements","sizeNumber","fontWeight","sizeDescription","shortened","gridTemplateColumns","gridGap","paddingRight","modalBasic","paramName","newValues","setNewValues","error","setError","cleanValidation","fieldName","clearValidationError","useEffect","keyPairValidation","i","length","push","fieldKey","toString","required","value","key","pattern","customPatternMessage","commonVal","commonFormValidation","keyValueInputs","map","_","index","Fragment","className","id","label","placeholder","name","onChange","e","tempLabels","target","title","style","splice","connector","connect","state","loadingTenant","tenants","tenantDetails","selectedTenant","currentTenant","tenant","tenantInfo","logEnabled","get","monitoringEnabled","encryptionEnabled","minioTLS","consoleTLS","consoleEnabled","adEnabled","oidcEnabled","tenantDetailsStyles","centerAlign","listHeight","height","containerForHeader","spacing","records","recordName","columns","elementKey","isLoading","itemActions","entityName","idField","customPaperHeight","modalStyleUtils","formFieldStyles","open","onClose","image","sidecarImage","initImage","labels","annotations","nodeSelector","diskCapacityGB","serviceAccountName","storageClassName","tenantName","tenantNamespace","cpuRequest","memRequest","useState","validationErrors","setValidationErrors","newLabels","setNewLabels","newAnnotations","setNewAnnotations","newNodeSelector","setNewNodeSelector","newImage","setNewImage","newSidecarImage","setNewSidecarImage","newInitImage","setNewInitImage","newDiskCapacityGB","setNewDiskCapacityGB","newCPURequest","setNewCPURequest","Math","floor","parseInt","newMemRequest","setNewMemRequest","newServiceAccountName","setNewServiceAccountName","newStorageClassName","setNewStorageClassName","labelsError","setLabelsError","annotationsError","setAnnotationsError","nodeSelectorError","setNodeSelectorError","trim","x","retval","tenantMonitoringValidation","ModalWrapper","modalOpen","noValidate","autoComplete","onSubmit","event","preventDefault","api","monitoringCPURequest","monitoringMemRequest","then","catch","err","Grid","container","xs","modalFormScrollable","item","formFieldRow","InputBoxWrapper","inputLabel","KeyPairEdit","Button","type","Object","keys","setModalErrorSnackMessage","errorMessage","detailedError","checkValid","mapDispatchToProps","setErrorSnackMessage","headerLabel","marginTop","breadcrumLink","textDecoration","tableWrapper","paperContainer","actionsTray","searchField","match","prometheusMonitoringEnabled","setPrometheusMonitoringEnabled","edit","setEdit","monitoringInfo","setMonitoringInfo","confirmOpen","setConfirmOpen","refreshMonitoringInfo","setRefreshMonitoringInfo","params","res","prometheusEnabled","ConfirmDialog","isOpen","confirmText","cancelText","onConfirm","configInfo","toggle","confirmationContent","DialogContentText","sectionTitle","FormSwitchWrapper","indicatorLabels","checked","description","RBIconButton","undefined","Paper","colSpan","CircularProgress","titleCol","KeyPairView","niceBytes"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/2841.3d33d6cd.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Tenants/TenantDetails/KeyPairEdit.tsx","screens/Console/Tenants/TenantDetails/KeyPairView.tsx","screens/Console/Tenants/TenantDetails/EditTenantMonitoringModal.tsx","screens/Console/Tenants/TenantDetails/TenantMonitoring.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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","import React, { Fragment, useEffect } from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { modalBasic } from \"../../Common/FormComponents/common/styleLibrary\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { IconButton, Tooltip } from \"@mui/material\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport { IKeyValue } from \"../ListTenants/types\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../utils/validationFunctions\";\nimport { clearValidationError } from \"../utils\";\n\ninterface IKeyPairEditProps {\n classes: any;\n paramName: string;\n error: any;\n setError: (e: any) => void;\n newValues: IKeyValue[];\n setNewValues: (vals: IKeyValue[]) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n multiContainer: {\n display: \"flex\",\n alignItems: \"center\" as const,\n justifyContent: \"flex-start\" as const,\n },\n sizeFactorContainer: {\n marginLeft: 8,\n },\n bottomContainer: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n \"& div\": {\n flexGrow: 1,\n width: \"100%\",\n },\n },\n factorElements: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n },\n sizeNumber: {\n fontSize: 35,\n fontWeight: 700,\n textAlign: \"center\",\n },\n sizeDescription: {\n fontSize: 14,\n color: \"#777\",\n textAlign: \"center\",\n },\n shortened: {\n gridTemplateColumns: \"auto auto 20px 20px\",\n display: \"grid\",\n gridGap: 20,\n paddingRight: 20,\n },\n ...modalBasic,\n });\n\nconst KeyPairEdit = ({\n classes,\n paramName,\n newValues,\n setNewValues,\n error,\n setError,\n}: IKeyPairEditProps) => {\n const cleanValidation = (fieldName: string) => {\n setError(clearValidationError(error, fieldName));\n };\n\n useEffect(() => {\n let keyPairValidation: IValidation[] = [];\n\n for (var i = 0; i < newValues.length; i++) {\n keyPairValidation.push({\n fieldKey: `key-${i.toString()}`,\n required: false,\n value: newValues[i].key,\n pattern: /^[a-zA-Z0-9-_.]{1,63}$/,\n customPatternMessage: \"Invalid key\",\n });\n keyPairValidation.push({\n fieldKey: `val-${i.toString()}`,\n required: false,\n value: newValues[i].value,\n pattern: /^[a-zA-Z0-9-_.]{1,63}$/,\n customPatternMessage: \"Invalid value\",\n });\n }\n\n const commonVal = commonFormValidation(keyPairValidation);\n setError(commonVal);\n }, [newValues, setError]);\n\n let keyValueInputs = newValues.map((_, index) => {\n return (\n \n
\n {\n let tempLabels = [...newValues];\n tempLabels[index].key = e.target.value;\n setNewValues(tempLabels);\n cleanValidation(`key-${index.toString()}`);\n }}\n index={index}\n key={`csv-key-${index.toString()}`}\n error={error[`key-${index.toString()}`] || \"\"}\n />\n {\n let tempLabels = [...newValues];\n tempLabels[index].value = e.target.value;\n setNewValues(tempLabels);\n cleanValidation(`val-${index.toString()}`);\n }}\n index={index}\n key={`csv-val-${index.toString()}`}\n error={error[`val-${index.toString()}`] || \"\"}\n />\n \n {\n let tempLabels = [...newValues];\n tempLabels.push({ key: \"\", value: \"\" });\n setNewValues(tempLabels);\n }}\n >\n \n \n \n \n {\n if (newValues.length === 1) {\n setNewValues([{ key: \"\", value: \"\" }]);\n }\n if (newValues.length > 1) {\n let tempLabels = [...newValues];\n tempLabels.splice(index, 1);\n setNewValues(tempLabels);\n }\n }}\n >\n \n \n \n
\n
\n );\n });\n\n return {keyValueInputs};\n};\n\nexport default withStyles(styles)(KeyPairEdit);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport {\n containerForHeader,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport { IKeyValue } from \"../ListTenants/types\";\n\ninterface IKeyPairView {\n classes: any;\n records: IKeyValue[];\n recordName: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n centerAlign: {\n textAlign: \"center\",\n },\n listHeight: {\n height: \"50\",\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst KeyPairView = ({ classes, records, recordName }: IKeyPairView) => {\n return (\n \n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n selectedTenant: state.tenants.tenantDetails.currentTenant,\n tenant: state.tenants.tenantDetails.tenantInfo,\n logEnabled: get(state.tenants.tenantDetails.tenantInfo, \"logEnabled\", false),\n monitoringEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"monitoringEnabled\",\n false\n ),\n encryptionEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"encryptionEnabled\",\n false\n ),\n minioTLS: get(state.tenants.tenantDetails.tenantInfo, \"minioTLS\", false),\n consoleTLS: get(state.tenants.tenantDetails.tenantInfo, \"consoleTLS\", false),\n consoleEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"consoleEnabled\",\n false\n ),\n adEnabled: get(state.tenants.tenantDetails.tenantInfo, \"idpAdEnabled\", false),\n oidcEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"idpOidcEnabled\",\n false\n ),\n});\n\nconst connector = connect(mapState, null);\n\nexport default withStyles(styles)(connector(KeyPairView));\n","import React, { useEffect, useState } from \"react\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport {\n formFieldStyles,\n modalBasic,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { Button, Grid } from \"@mui/material\";\nimport api from \"../../../../common/api\";\nimport { ITenant } from \"../ListTenants/types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { IKeyValue } from \"../ListTenants/types\";\nimport KeyPairEdit from \"./KeyPairEdit\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../utils/validationFunctions\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\n\ninterface IEditTenantMonitoringProps {\n tenant: ITenant;\n classes: any;\n open: boolean;\n onClose: (shouldReload: boolean) => void;\n image: string;\n sidecarImage: string;\n initImage: string;\n labels: IKeyValue[];\n annotations: IKeyValue[];\n nodeSelector: IKeyValue[];\n diskCapacityGB: number;\n serviceAccountName: string;\n tenantName: string;\n tenantNamespace: string;\n storageClassName: string;\n cpuRequest: string;\n memRequest: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n ...modalBasic,\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\nconst EditTenantMonitoringModal = ({\n tenant,\n classes,\n open,\n onClose,\n image,\n sidecarImage,\n initImage,\n labels,\n annotations,\n nodeSelector,\n diskCapacityGB,\n serviceAccountName,\n storageClassName,\n tenantName,\n tenantNamespace,\n cpuRequest,\n memRequest,\n}: IEditTenantMonitoringProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n const [newLabels, setNewLabels] = useState(\n labels.length > 0 ? [...labels] : [{ key: \"\", value: \"\" }]\n );\n const [newAnnotations, setNewAnnotations] = useState(\n annotations.length > 0 ? [...annotations] : [{ key: \"\", value: \"\" }]\n );\n const [newNodeSelector, setNewNodeSelector] = useState(\n nodeSelector.length > 0 ? [...nodeSelector] : [{ key: \"\", value: \"\" }]\n );\n const [newImage, setNewImage] = useState(image);\n const [newSidecarImage, setNewSidecarImage] = useState(sidecarImage);\n const [newInitImage, setNewInitImage] = useState(initImage);\n const [newDiskCapacityGB, setNewDiskCapacityGB] = useState(\n diskCapacityGB.toString()\n );\n const [newCPURequest, setNewCPURequest] = useState(cpuRequest);\n const [newMemRequest, setNewMemRequest] = useState(\n Math.floor(parseInt(memRequest, 10) / 1000000000).toString()\n );\n const [newServiceAccountName, setNewServiceAccountName] =\n useState(serviceAccountName);\n const [newStorageClassName, setNewStorageClassName] =\n useState(storageClassName);\n\n const [labelsError, setLabelsError] = useState({});\n const [annotationsError, setAnnotationsError] = useState({});\n const [nodeSelectorError, setNodeSelectorError] = useState({});\n\n const trim = (x: IKeyValue[]): IKeyValue[] => {\n let retval: IKeyValue[] = [];\n for (let i = 0; i < x.length; i++) {\n if (x[i].key !== \"\") {\n retval.push(x[i]);\n }\n }\n return retval;\n };\n\n useEffect(() => {\n let tenantMonitoringValidation: IValidation[] = [];\n\n tenantMonitoringValidation.push({\n fieldKey: `image`,\n required: false,\n value: newImage,\n pattern:\n /^([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9]?)+(\\/(([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9])?)+)*:([a-zA-Z0-9])[a-zA-Z0-9-.]{0,127}$/,\n customPatternMessage: \"Invalid image\",\n });\n tenantMonitoringValidation.push({\n fieldKey: `sidecarImage`,\n required: false,\n value: newSidecarImage,\n pattern:\n /^([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9]?)+(\\/(([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9])?)+)*:([a-zA-Z0-9])[a-zA-Z0-9-.]{0,127}$/,\n customPatternMessage: \"Invalid image\",\n });\n tenantMonitoringValidation.push({\n fieldKey: `initImage`,\n required: false,\n value: newInitImage,\n pattern:\n /^([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9]?)+(\\/(([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9])?)+)*:([a-zA-Z0-9])[a-zA-Z0-9-.]{0,127}$/,\n customPatternMessage: \"Invalid image\",\n });\n tenantMonitoringValidation.push({\n fieldKey: `diskCapacityGB`,\n required: true,\n value: newDiskCapacityGB as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage: \"Must be an integer between 0 and 10\",\n });\n tenantMonitoringValidation.push({\n fieldKey: `newCPURequest`,\n required: false,\n value: newCPURequest as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage: \"Must be an integer between 0 and 10\",\n });\n tenantMonitoringValidation.push({\n fieldKey: `newMemRequest`,\n required: false,\n value: newMemRequest as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage: \"Must be an integer between 0 and 10\",\n });\n tenantMonitoringValidation.push({\n fieldKey: `serviceAccountName`,\n required: false,\n value: newServiceAccountName,\n pattern: /^[a-zA-Z0-9-.]{1,253}$/,\n customPatternMessage: \"Invalid service account name\",\n });\n tenantMonitoringValidation.push({\n fieldKey: `storageClassName`,\n required: false,\n value: newStorageClassName,\n pattern: /^[a-zA-Z0-9-.]{1,253}$/,\n customPatternMessage: \"Invalid storage class name\",\n });\n\n const commonVal = commonFormValidation(tenantMonitoringValidation);\n setValidationErrors(commonVal);\n }, [\n newImage,\n newSidecarImage,\n newInitImage,\n newDiskCapacityGB,\n newServiceAccountName,\n newStorageClassName,\n newCPURequest,\n newMemRequest,\n setValidationErrors,\n ]);\n\n const checkValid = (): boolean => {\n if (\n Object.keys(validationErrors).length !== 0 ||\n Object.keys(labelsError).length !== 0 ||\n Object.keys(annotationsError).length !== 0 ||\n Object.keys(nodeSelectorError).length !== 0\n ) {\n let err: ErrorResponseHandler = {\n errorMessage: \"Invalid entry\",\n detailedError: \"\",\n };\n setModalErrorSnackMessage(err);\n return false;\n } else {\n return true;\n }\n };\n\n const submitMonitoringInfo = (event: React.FormEvent) => {\n event.preventDefault();\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/monitoring`,\n {\n labels: trim(newLabels),\n annotations: trim(newAnnotations),\n nodeSelector: trim(newNodeSelector),\n image: newImage,\n sidecarImage: newSidecarImage,\n initImage: newInitImage,\n diskCapacityGB: newDiskCapacityGB,\n serviceAccountName: newServiceAccountName,\n storageClassName: newStorageClassName,\n monitoringCPURequest: newCPURequest,\n monitoringMemRequest: newMemRequest + \"Gi\",\n }\n )\n .then(() => {\n onClose(true);\n })\n .catch((err: ErrorResponseHandler) => {});\n };\n\n return (\n onClose(true)}\n modalOpen={open}\n title=\"Edit Monitoring Configuration\"\n >\n
\n \n \n \n ) => {\n setNewImage(event.target.value);\n }}\n key={`image`}\n error={validationErrors[`image`] || \"\"}\n />\n \n \n ) => {\n setNewSidecarImage(event.target.value);\n }}\n key={`sidecarImage`}\n error={validationErrors[`sidecarImage`] || \"\"}\n />\n \n \n ) => {\n setNewInitImage(event.target.value);\n }}\n key={`initImage`}\n error={validationErrors[`initImage`] || \"\"}\n />\n \n \n ) => {\n setNewDiskCapacityGB(event.target.value);\n }}\n key={`diskCapacityGB`}\n error={validationErrors[`diskCapacityGB`] || \"\"}\n />\n \n \n ) => {\n setNewCPURequest(event.target.value);\n }}\n key={`cpuRequest`}\n error={validationErrors[`cpuRequest`] || \"\"}\n />\n \n \n ) => {\n setNewMemRequest(event.target.value);\n }}\n key={`memRequest`}\n error={validationErrors[`memRequest`] || \"\"}\n />\n \n \n ) => {\n setNewServiceAccountName(event.target.value);\n }}\n key={`serviceAccountName`}\n error={validationErrors[`serviceAccountName`] || \"\"}\n />\n \n \n ) => {\n setNewStorageClassName(event.target.value);\n }}\n key={`storageClassName`}\n error={validationErrors[`storageClassName`] || \"\"}\n />\n \n \n Labels\n \n \n \n Annotations\n \n \n \n Node Selector\n \n \n \n \n \n Save\n \n \n \n
\n \n );\n};\n\nexport default withStyles(styles)(EditTenantMonitoringModal);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\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 actionsTray,\n containerForHeader,\n searchField,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { CircularProgress, DialogContentText } from \"@mui/material\";\nimport Paper from \"@mui/material/Paper\";\nimport { ITenant } from \"../ListTenants/types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport EditTenantMonitoringModal from \"./EditTenantMonitoringModal\";\n\nimport api from \"../../../../common/api\";\nimport { EditIcon } from \"../../../../icons\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport { ITenantMonitoringStruct } from \"../ListTenants/types\";\nimport KeyPairView from \"./KeyPairView\";\nimport { niceBytes } from \"../../../../common/utils\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\ninterface ITenantMonitoring {\n classes: any;\n match: any;\n tenant: ITenant | null;\n loadingTenant: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n headerLabel: {\n fontSize: 22,\n fontWeight: 600,\n color: \"#000\",\n marginTop: 4,\n },\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n tableWrapper: {\n height: \"calc(100vh - 267px)\",\n },\n paperContainer: {\n padding: \"15px 15px 15px 50px\",\n },\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst TenantMonitoring = ({\n classes,\n match,\n tenant,\n loadingTenant,\n}: ITenantMonitoring) => {\n const [prometheusMonitoringEnabled, setPrometheusMonitoringEnabled] =\n useState(false);\n const [edit, setEdit] = useState(false);\n const [monitoringInfo, setMonitoringInfo] =\n useState();\n const [confirmOpen, setConfirmOpen] = useState(false);\n const [refreshMonitoringInfo, setRefreshMonitoringInfo] =\n useState(true);\n\n const tenantName = match.params[\"tenantName\"];\n const tenantNamespace = match.params[\"tenantNamespace\"];\n\n const onCloseEditAndRefresh = () => {\n setEdit(false);\n setRefreshMonitoringInfo(true);\n };\n\n useEffect(() => {\n if (refreshMonitoringInfo) {\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/monitoring`\n )\n .then((res: ITenantMonitoringStruct) => {\n setPrometheusMonitoringEnabled(res.prometheusEnabled);\n setMonitoringInfo(res);\n setRefreshMonitoringInfo(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setRefreshMonitoringInfo(false);\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [refreshMonitoringInfo]);\n\n const togglePrometheus = () => {\n const configInfo = {\n prometheusEnabled: prometheusMonitoringEnabled,\n toggle: true,\n };\n api\n .invoke(\n \"PUT\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/monitoring`,\n configInfo\n )\n .then(() => {\n setPrometheusMonitoringEnabled(!prometheusMonitoringEnabled);\n setRefreshMonitoringInfo(true);\n setConfirmOpen(false);\n setRefreshMonitoringInfo(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n });\n };\n\n return (\n \n {edit && tenant !== null && prometheusMonitoringEnabled && (\n \n )}\n {confirmOpen && (\n setConfirmOpen(false)}\n onConfirm={togglePrometheus}\n confirmationContent={\n \n {prometheusMonitoringEnabled\n ? \"Disabling monitoring will erase any custom values you have used to configure Prometheus monitoring\"\n : \"Prometheus monitoring will be enabled with default values\"}\n \n }\n />\n )}\n\n

Monitoring

\n
\n {\n setConfirmOpen(true);\n }}\n description=\"\"\n />\n {prometheusMonitoringEnabled && (\n {\n setEdit(true);\n }}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n )}\n
\n {prometheusMonitoringEnabled && monitoringInfo !== undefined && (\n \n \n \n \n \n {loadingTenant ? (\n \n \n \n ) : (\n \n {monitoringInfo.image != null && (\n \n \n \n \n )}\n {monitoringInfo.sidecarImage != null && (\n \n \n \n \n )}\n {monitoringInfo.initImage != null && (\n \n \n \n \n )}\n {monitoringInfo.diskCapacityGB != null && (\n \n \n \n \n )}\n {monitoringInfo.serviceAccountName != null && (\n \n \n \n \n )}\n {monitoringInfo.storageClassName != null && (\n \n \n \n \n )}\n {monitoringInfo.labels != null &&\n monitoringInfo.labels.length > 0 && (\n <>\n \n \n \n \n \n \n \n )}\n {monitoringInfo.annotations != null &&\n monitoringInfo.annotations.length > 0 && (\n <>\n \n \n \n \n \n \n \n )}\n {monitoringInfo.monitoringCPURequest != null && (\n \n \n \n \n )}\n {monitoringInfo.monitoringMemRequest != null && (\n \n \n \n \n )}\n {monitoringInfo.nodeSelector != null &&\n monitoringInfo.nodeSelector.length > 0 && (\n \n

Node Selector:

\n \n \n )}\n \n )}\n \n
\n \n
Image:{monitoringInfo.image}
Sidecar Image:{monitoringInfo?.sidecarImage}
Init Image:{monitoringInfo?.initImage}
\n Disk Capacity (GB):\n {monitoringInfo?.diskCapacityGB}
\n Service Account Name:\n {monitoringInfo?.serviceAccountName}
\n Storage Class Name:\n {monitoringInfo?.storageClassName}
\n

Labels

\n
\n \n
\n

Annotations

\n
\n \n
CPU Request:{monitoringInfo?.monitoringCPURequest}
Memory Request:\n {niceBytes(\n monitoringInfo?.monitoringMemRequest,\n true\n )}\n
\n \n
\n
\n
\n
\n )}\n
\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(TenantMonitoring));\n"],"names":["useStyles","makeStyles","theme","root","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","width","marginLeft","text","classes","onClick","disabled","tooltip","icon","restProps","size","sx","border","fontSize","display","withStyles","createStyles","buttonContainer","textAlign","multiContainer","alignItems","justifyContent","sizeFactorContainer","bottomContainer","flexGrow","factorElements","sizeNumber","fontWeight","sizeDescription","shortened","gridTemplateColumns","gridGap","paddingRight","modalBasic","paramName","newValues","setNewValues","error","setError","cleanValidation","fieldName","clearValidationError","useEffect","keyPairValidation","i","length","push","fieldKey","toString","required","value","key","pattern","customPatternMessage","commonVal","commonFormValidation","keyValueInputs","map","_","index","Fragment","className","id","label","placeholder","name","onChange","e","tempLabels","target","title","style","splice","connector","connect","state","loadingTenant","tenants","tenantDetails","selectedTenant","currentTenant","tenant","tenantInfo","logEnabled","get","monitoringEnabled","encryptionEnabled","minioTLS","consoleTLS","consoleEnabled","adEnabled","oidcEnabled","tenantDetailsStyles","centerAlign","listHeight","height","containerForHeader","spacing","records","recordName","columns","elementKey","isLoading","itemActions","entityName","idField","customPaperHeight","modalStyleUtils","formFieldStyles","open","onClose","image","sidecarImage","initImage","labels","annotations","nodeSelector","diskCapacityGB","serviceAccountName","storageClassName","tenantName","tenantNamespace","cpuRequest","memRequest","useState","validationErrors","setValidationErrors","newLabels","setNewLabels","newAnnotations","setNewAnnotations","newNodeSelector","setNewNodeSelector","newImage","setNewImage","newSidecarImage","setNewSidecarImage","newInitImage","setNewInitImage","newDiskCapacityGB","setNewDiskCapacityGB","newCPURequest","setNewCPURequest","Math","floor","parseInt","newMemRequest","setNewMemRequest","newServiceAccountName","setNewServiceAccountName","newStorageClassName","setNewStorageClassName","labelsError","setLabelsError","annotationsError","setAnnotationsError","nodeSelectorError","setNodeSelectorError","trim","x","retval","tenantMonitoringValidation","ModalWrapper","modalOpen","noValidate","autoComplete","onSubmit","event","preventDefault","api","monitoringCPURequest","monitoringMemRequest","then","catch","err","Grid","container","xs","modalFormScrollable","item","formFieldRow","InputBoxWrapper","inputLabel","KeyPairEdit","Button","type","Object","keys","setModalErrorSnackMessage","errorMessage","detailedError","checkValid","mapDispatchToProps","setErrorSnackMessage","headerLabel","marginTop","breadcrumLink","textDecoration","tableWrapper","paperContainer","actionsTray","searchField","match","prometheusMonitoringEnabled","setPrometheusMonitoringEnabled","edit","setEdit","monitoringInfo","setMonitoringInfo","confirmOpen","setConfirmOpen","refreshMonitoringInfo","setRefreshMonitoringInfo","params","res","prometheusEnabled","ConfirmDialog","isOpen","confirmText","cancelText","onConfirm","configInfo","toggle","confirmationContent","DialogContentText","sectionTitle","FormSwitchWrapper","indicatorLabels","checked","description","RBIconButton","undefined","Paper","colSpan","CircularProgress","titleCol","KeyPairView","niceBytes"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2873.ae77af6d.chunk.js b/portal-ui/build/static/js/2873.ae77af6d.chunk.js new file mode 100644 index 000000000..ad588bffe --- /dev/null +++ b/portal-ui/build/static/js/2873.ae77af6d.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2873,9056,4105],{70011:function(e,t,o){var n=o(64119);t.Z=void 0;var r=n(o(66830)),a=o(62559),i=(0,r.default)((0,a.jsx)("path",{d:"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9V6zm9 14H6V10h12v10zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z"}),"LockOutlined");t.Z=i},50213:function(e,t,o){var n=o(64119);t.Z=void 0;var r=n(o(66830)),a=o(62559),i=(0,r.default)((0,a.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"}),"RemoveRedEye");t.Z=i},694:function(e,t,o){var n=o(64119);t.Z=void 0;var r=n(o(66830)),a=o(62559),i=(0,r.default)((0,a.jsx)("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"}),"VisibilityOff");t.Z=i},4247:function(e,t,o){o.d(t,{V:function(){return r}});var n=o(10594);function r(e){return(0,n.Z)("MuiDivider",e)}var a=(0,o(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=a},10567:function(e,t,o){o.d(t,{Z:function(){return C}});var n=o(23430),r=o(36222),a=o(1048),i=o(32793),c=o(50390),d=o(44977),s=o(50076),l=o(29001),u=o(36128),p=o(91442),h=o(8208),m=o(15573),v=o(42081),f=o(3299),Z=o(35477),b=o(10594);function g(e){return(0,b.Z)("MuiLink",e)}var k=(0,o(43349).Z)("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),w=o(62559),y=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant"],x={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},S=(0,h.ZP)(Z.Z,{name:"MuiLink",slot:"Root",overridesResolver:function(e,t){var o=e.ownerState;return[t.root,t["underline".concat((0,p.Z)(o.underline))],"button"===o.component&&t.button]}})((function(e){var t=e.theme,o=e.ownerState,n=(0,l.D)(t,"palette.".concat(function(e){return x[e]||e}(o.color)))||o.color;return(0,i.Z)({},"none"===o.underline&&{textDecoration:"none"},"hover"===o.underline&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},"always"===o.underline&&{textDecoration:"underline",textDecorationColor:"inherit"!==n?(0,u.Fq)(n,.4):void 0,"&:hover":{textDecorationColor:"inherit"}},"button"===o.component&&(0,r.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(k.focusVisible),{outline:"auto"}))})),C=c.forwardRef((function(e,t){var o=(0,m.Z)({props:e,name:"MuiLink"}),r=o.className,l=o.color,u=void 0===l?"primary":l,h=o.component,Z=void 0===h?"a":h,b=o.onBlur,k=o.onFocus,x=o.TypographyClasses,C=o.underline,z=void 0===C?"always":C,R=o.variant,M=void 0===R?"inherit":R,F=(0,a.Z)(o,y),B=(0,v.Z)(),V=B.isFocusVisibleRef,I=B.onBlur,P=B.onFocus,N=B.ref,j=c.useState(!1),O=(0,n.Z)(j,2),L=O[0],D=O[1],q=(0,f.Z)(t,N),T=(0,i.Z)({},o,{color:u,component:Z,focusVisible:L,underline:z,variant:M}),A=function(e){var t=e.classes,o=e.component,n=e.focusVisible,r=e.underline,a={root:["root","underline".concat((0,p.Z)(r)),"button"===o&&"button",n&&"focusVisible"]};return(0,s.Z)(a,g,t)}(T);return(0,w.jsx)(S,(0,i.Z)({className:(0,d.Z)(A.root,r),classes:x,color:u,component:Z,onBlur:function(e){I(e),!1===V.current&&D(!1),b&&b(e)},onFocus:function(e){P(e),!0===V.current&&D(!0),k&&k(e)},ref:q,ownerState:T,variant:M},F))}))},31680:function(e,t,o){o.d(t,{Z:function(){return C}});var n=o(36222),r=o(1048),a=o(32793),i=o(50390),c=o(44977),d=o(50076),s=o(36128),l=o(8208),u=o(15573),p=o(57308),h=o(86875),m=o(40839),v=o(3299),f=o(4247),Z=o(2198),b=o(23586),g=o(10594);function k(e){return(0,g.Z)("MuiMenuItem",e)}var w=(0,o(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),y=o(62559),x=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],S=(0,l.ZP)(h.Z,{shouldForwardProp:function(e){return(0,l.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var o=e.ownerState;return[t.root,o.dense&&t.dense,o.divider&&t.divider,!o.disableGutters&&t.gutters]}})((function(e){var t,o=e.theme,r=e.ownerState;return(0,a.Z)({},o.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!r.disableGutters&&{paddingLeft:16,paddingRight:16},r.divider&&{borderBottom:"1px solid ".concat(o.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:o.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,n.Z)(t,"&.".concat(w.selected),(0,n.Z)({backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity)},"&.".concat(w.focusVisible),{backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity+o.palette.action.focusOpacity)})),(0,n.Z)(t,"&.".concat(w.selected,":hover"),{backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity+o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity)}}),(0,n.Z)(t,"&.".concat(w.focusVisible),{backgroundColor:o.palette.action.focus}),(0,n.Z)(t,"&.".concat(w.disabled),{opacity:o.palette.action.disabledOpacity}),(0,n.Z)(t,"& + .".concat(f.Z.root),{marginTop:o.spacing(1),marginBottom:o.spacing(1)}),(0,n.Z)(t,"& + .".concat(f.Z.inset),{marginLeft:52}),(0,n.Z)(t,"& .".concat(b.Z.root),{marginTop:0,marginBottom:0}),(0,n.Z)(t,"& .".concat(b.Z.inset),{paddingLeft:36}),(0,n.Z)(t,"& .".concat(Z.Z.root),{minWidth:36}),t),!r.dense&&(0,n.Z)({},o.breakpoints.up("sm"),{minHeight:"auto"}),r.dense&&(0,a.Z)({minHeight:32,paddingTop:4,paddingBottom:4},o.typography.body2,(0,n.Z)({},"& .".concat(Z.Z.root," svg"),{fontSize:"1.25rem"})))})),C=i.forwardRef((function(e,t){var o=(0,u.Z)({props:e,name:"MuiMenuItem"}),n=o.autoFocus,s=void 0!==n&&n,l=o.component,h=void 0===l?"li":l,f=o.dense,Z=void 0!==f&&f,b=o.divider,g=void 0!==b&&b,w=o.disableGutters,C=void 0!==w&&w,z=o.focusVisibleClassName,R=o.role,M=void 0===R?"menuitem":R,F=o.tabIndex,B=(0,r.Z)(o,x),V=i.useContext(p.Z),I={dense:Z||V.dense||!1,disableGutters:C},P=i.useRef(null);(0,m.Z)((function(){s&&P.current&&P.current.focus()}),[s]);var N,j=(0,a.Z)({},o,{dense:I.dense,divider:g,disableGutters:C}),O=function(e){var t=e.disabled,o=e.dense,n=e.divider,r=e.disableGutters,i=e.selected,c=e.classes,s={root:["root",o&&"dense",t&&"disabled",!r&&"gutters",n&&"divider",i&&"selected"]},l=(0,d.Z)(s,k,c);return(0,a.Z)({},c,l)}(o),L=(0,v.Z)(P,t);return o.disabled||(N=void 0!==F?F:-1),(0,y.jsx)(p.Z.Provider,{value:I,children:(0,y.jsx)(S,(0,a.Z)({ref:L,role:M,tabIndex:N,component:h,focusVisibleClassName:(0,c.Z)(O.focusVisible,z)},B,{ownerState:j,classes:O}))})}))},49056:function(e,t,o){o.d(t,{Z:function(){return x}});var n=o(36222),r=o(1048),a=o(32793),i=o(50390),c=o(44977),d=o(50076),s=o(36128),l=o(91442),u=o(16756),p=o(15573),h=o(8208),m=o(10594);function v(e){return(0,m.Z)("MuiSwitch",e)}var f=(0,o(43349).Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),Z=o(62559),b=["className","color","edge","size","sx"],g=(0,h.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(e,t){var o=e.ownerState;return[t.root,o.edge&&t["edge".concat((0,l.Z)(o.edge))],t["size".concat((0,l.Z)(o.size))]]}})((function(e){var t,o=e.ownerState;return(0,a.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===o.edge&&{marginLeft:-8},"end"===o.edge&&{marginRight:-8},"small"===o.size&&(t={width:40,height:24,padding:7},(0,n.Z)(t,"& .".concat(f.thumb),{width:16,height:16}),(0,n.Z)(t,"& .".concat(f.switchBase),(0,n.Z)({padding:4},"&.".concat(f.checked),{transform:"translateX(16px)"})),t))})),k=(0,h.ZP)(u.Z,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(e,t){var o=e.ownerState;return[t.switchBase,(0,n.Z)({},"& .".concat(f.input),t.input),"default"!==o.color&&t["color".concat((0,l.Z)(o.color))]]}})((function(e){var t,o=e.theme;return t={position:"absolute",top:0,left:0,zIndex:1,color:"light"===o.palette.mode?o.palette.common.white:o.palette.grey[300],transition:o.transitions.create(["left","transform"],{duration:o.transitions.duration.shortest})},(0,n.Z)(t,"&.".concat(f.checked),{transform:"translateX(20px)"}),(0,n.Z)(t,"&.".concat(f.disabled),{color:"light"===o.palette.mode?o.palette.grey[100]:o.palette.grey[600]}),(0,n.Z)(t,"&.".concat(f.checked," + .").concat(f.track),{opacity:.5}),(0,n.Z)(t,"&.".concat(f.disabled," + .").concat(f.track),{opacity:"light"===o.palette.mode?.12:.2}),(0,n.Z)(t,"& .".concat(f.input),{left:"-100%",width:"300%"}),t}),(function(e){var t,o=e.theme,r=e.ownerState;return(0,a.Z)({"&:hover":{backgroundColor:(0,s.Fq)(o.palette.action.active,o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==r.color&&(t={},(0,n.Z)(t,"&.".concat(f.checked),(0,n.Z)({color:o.palette[r.color].main,"&:hover":{backgroundColor:(0,s.Fq)(o.palette[r.color].main,o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(f.disabled),{color:"light"===o.palette.mode?(0,s.$n)(o.palette[r.color].main,.62):(0,s._j)(o.palette[r.color].main,.55)})),(0,n.Z)(t,"&.".concat(f.checked," + .").concat(f.track),{backgroundColor:o.palette[r.color].main}),t))})),w=(0,h.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(e,t){return t.track}})((function(e){var t=e.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:"light"===t.palette.mode?t.palette.common.black:t.palette.common.white,opacity:"light"===t.palette.mode?.38:.3}})),y=(0,h.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(e,t){return t.thumb}})((function(e){return{boxShadow:e.theme.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),x=i.forwardRef((function(e,t){var o=(0,p.Z)({props:e,name:"MuiSwitch"}),n=o.className,i=o.color,s=void 0===i?"primary":i,u=o.edge,h=void 0!==u&&u,m=o.size,f=void 0===m?"medium":m,x=o.sx,S=(0,r.Z)(o,b),C=(0,a.Z)({},o,{color:s,edge:h,size:f}),z=function(e){var t=e.classes,o=e.edge,n=e.size,r=e.color,i=e.checked,c=e.disabled,s={root:["root",o&&"edge".concat((0,l.Z)(o)),"size".concat((0,l.Z)(n))],switchBase:["switchBase","color".concat((0,l.Z)(r)),i&&"checked",c&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},u=(0,d.Z)(s,v,t);return(0,a.Z)({},t,u)}(C),R=(0,Z.jsx)(y,{className:z.thumb,ownerState:C});return(0,Z.jsxs)(g,{className:(0,c.Z)(z.root,n),sx:x,ownerState:C,children:[(0,Z.jsx)(k,(0,a.Z)({type:"checkbox",icon:R,checkedIcon:R,ref:t,ownerState:C},S,{classes:(0,a.Z)({},z,{root:z.switchBase})})),(0,Z.jsx)(w,{className:z.track,ownerState:C})]})}))},16756:function(e,t,o){o.d(t,{Z:function(){return k}});var n=o(23430),r=o(1048),a=o(32793),i=o(50390),c=o(44977),d=o(50076),s=o(91442),l=o(8208),u=o(55386),p=o(23060),h=o(86875),m=o(10594);function v(e){return(0,m.Z)("PrivateSwitchBase",e)}(0,o(43349).Z)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var f=o(62559),Z=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],b=(0,l.ZP)(h.Z)((function(e){var t=e.ownerState;return(0,a.Z)({padding:9,borderRadius:"50%"},"start"===t.edge&&{marginLeft:"small"===t.size?-3:-12},"end"===t.edge&&{marginRight:"small"===t.size?-3:-12})})),g=(0,l.ZP)("input")({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),k=i.forwardRef((function(e,t){var o=e.autoFocus,i=e.checked,l=e.checkedIcon,h=e.className,m=e.defaultChecked,k=e.disabled,w=e.disableFocusRipple,y=void 0!==w&&w,x=e.edge,S=void 0!==x&&x,C=e.icon,z=e.id,R=e.inputProps,M=e.inputRef,F=e.name,B=e.onBlur,V=e.onChange,I=e.onFocus,P=e.readOnly,N=e.required,j=e.tabIndex,O=e.type,L=e.value,D=(0,r.Z)(e,Z),q=(0,u.Z)({controlled:i,default:Boolean(m),name:"SwitchBase",state:"checked"}),T=(0,n.Z)(q,2),A=T[0],H=T[1],G=(0,p.Z)(),E=k;G&&"undefined"===typeof E&&(E=G.disabled);var W="checkbox"===O||"radio"===O,_=(0,a.Z)({},e,{checked:A,disabled:E,disableFocusRipple:y,edge:S}),X=function(e){var t=e.classes,o=e.checked,n=e.disabled,r=e.edge,a={root:["root",o&&"checked",n&&"disabled",r&&"edge".concat((0,s.Z)(r))],input:["input"]};return(0,d.Z)(a,v,t)}(_);return(0,f.jsxs)(b,(0,a.Z)({component:"span",className:(0,c.Z)(X.root,h),centerRipple:!0,focusRipple:!y,disabled:E,tabIndex:null,role:void 0,onFocus:function(e){I&&I(e),G&&G.onFocus&&G.onFocus(e)},onBlur:function(e){B&&B(e),G&&G.onBlur&&G.onBlur(e)},ownerState:_,ref:t},D,{children:[(0,f.jsx)(g,(0,a.Z)({autoFocus:o,checked:i,defaultChecked:m,className:X.input,disabled:E,id:W&&z,name:F,onChange:function(e){if(!e.nativeEvent.defaultPrevented){var t=e.target.checked;H(t),V&&V(e,t)}},readOnly:P,ref:M,required:N,ownerState:_,tabIndex:j,type:O},"checkbox"===O&&void 0===L?{}:{value:L},R)),A?l:C]}))}))}}]); +//# sourceMappingURL=2873.ae77af6d.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2873.ebf17fc8.chunk.js.map b/portal-ui/build/static/js/2873.ae77af6d.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/2873.ebf17fc8.chunk.js.map rename to portal-ui/build/static/js/2873.ae77af6d.chunk.js.map index 318575fd9..351dafae0 100644 --- a/portal-ui/build/static/js/2873.ebf17fc8.chunk.js.map +++ b/portal-ui/build/static/js/2873.ae77af6d.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/2873.ebf17fc8.chunk.js","mappings":"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","sources":["../node_modules/@mui/icons-material/LockOutlined.js","../node_modules/@mui/icons-material/RemoveRedEye.js","../node_modules/@mui/icons-material/VisibilityOff.js","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/Link/linkClasses.js","../node_modules/@mui/material/Link/Link.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js","../node_modules/@mui/material/Switch/switchClasses.js","../node_modules/@mui/material/Switch/Switch.js","../node_modules/@mui/material/internal/switchBaseClasses.js","../node_modules/@mui/material/internal/SwitchBase.js"],"sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9V6zm9 14H6V10h12v10zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z\"\n}), 'LockOutlined');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLinkUtilityClass(slot) {\n return generateUtilityClass('MuiLink', slot);\n}\nconst linkClasses = generateUtilityClasses('MuiLink', ['root', 'underlineNone', 'underlineHover', 'underlineAlways', 'button', 'focusVisible']);\nexport default linkClasses;","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\"];\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 { alpha, getPath } from '@mui/system';\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 { jsx as _jsx } from \"react/jsx-runtime\";\nconst colorTransformations = {\n primary: 'primary.main',\n textPrimary: 'text.primary',\n secondary: 'secondary.main',\n textSecondary: 'text.secondary',\n error: 'error.main'\n};\n\nconst transformDeprecatedColors = color => {\n return colorTransformations[color] || color;\n};\n\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};\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 const color = getPath(theme, `palette.${transformDeprecatedColors(ownerState.color)}`) || ownerState.color;\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' && {\n textDecoration: 'underline',\n textDecorationColor: color !== 'inherit' ? alpha(color, 0.4) : undefined,\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\n const {\n className,\n color = 'primary',\n component = 'a',\n onBlur,\n onFocus,\n TypographyClasses,\n underline = 'always',\n variant = 'inherit'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\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\n const handleBlur = event => {\n handleBlurVisible(event);\n\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleFocus = event => {\n handleFocusVisible(event);\n\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const ownerState = _extends({}, props, {\n color,\n component,\n focusVisible,\n underline,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LinkRoot, _extends({\n className: clsx(classes.root, className),\n classes: TypographyClasses,\n color: color,\n component: component,\n onBlur: handleBlur,\n onFocus: handleFocus,\n ref: handlerRef,\n ownerState: ownerState,\n variant: variant\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the link.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .any,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * `classes` prop applied to the [`Typography`](/api/typography/) element.\n */\n TypographyClasses: PropTypes.object,\n\n /**\n * Controls when the link should have an underline.\n * @default 'always'\n */\n underline: PropTypes.oneOf(['always', 'hover', 'none']),\n\n /**\n * Applies the theme typography styles.\n * @default 'inherit'\n */\n variant: PropTypes\n /* @typescript-to-proptypes-ignore */\n .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;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, darken, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n}, ownerState.edge === 'start' && {\n marginLeft: -8\n}, ownerState.edge === 'end' && {\n marginRight: -8\n}, ownerState.size === 'small' && {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n}));\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.palette.mode === 'light' ? 0.12 : 0.2\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({\n '&:hover': {\n backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${switchClasses.checked}`]: {\n color: theme.palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: theme.palette[ownerState.color].main\n }\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.mode === 'light' ? 0.38 : 0.3\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\n\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input')({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n/**\n * @ignore - internal component.\n */\n\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n\n let disabled = disabledProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor && id,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n}); // NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\n\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /*\n * @ignore\n */\n name: PropTypes.string,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;"],"names":["_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getLinkUtilityClass","_excluded","colorTransformations","primary","textPrimary","secondary","textSecondary","error","LinkRoot","styled","Typography","name","overridesResolver","props","styles","ownerState","root","capitalize","underline","component","button","theme","color","getPath","transformDeprecatedColors","_extends","textDecoration","textDecorationColor","alpha","undefined","position","WebkitTapHighlightColor","backgroundColor","outline","border","margin","borderRadius","padding","cursor","userSelect","verticalAlign","MozAppearance","WebkitAppearance","borderStyle","linkClasses","React","inProps","ref","useThemeProps","className","onBlur","onFocus","TypographyClasses","variant","other","_objectWithoutPropertiesLoose","useIsFocusVisible","isFocusVisibleRef","handleBlurVisible","handleFocusVisible","focusVisibleRef","focusVisible","setFocusVisible","handlerRef","useForkRef","classes","slots","composeClasses","useUtilityClasses","_jsx","clsx","event","current","getMenuItemUtilityClass","MenuItemRoot","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","dense","divider","disableGutters","gutters","typography","body1","display","justifyContent","alignItems","minHeight","paddingTop","paddingBottom","boxSizing","whiteSpace","paddingLeft","paddingRight","borderBottom","palette","backgroundClip","action","hover","menuItemClasses","main","selectedOpacity","focusOpacity","hoverOpacity","focus","opacity","disabledOpacity","marginTop","spacing","marginBottom","marginLeft","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","fontSize","autoFocus","focusVisibleClassName","role","tabIndexProp","tabIndex","context","ListContext","childContext","menuItemRef","useEnhancedEffect","disabled","selected","composedClasses","handleRef","value","children","getSwitchUtilityClass","SwitchRoot","edge","size","width","height","overflow","flexShrink","zIndex","colorAdjust","marginRight","switchClasses","transform","SwitchSwitchBase","SwitchBase","switchBase","input","top","left","mode","common","white","grey","transition","transitions","create","duration","shortest","active","lighten","darken","SwitchTrack","track","black","SwitchThumb","thumb","boxShadow","shadows","sx","checked","icon","_jsxs","type","checkedIcon","getSwitchBaseUtilityClass","SwitchBaseRoot","SwitchBaseInput","checkedProp","defaultChecked","disabledProp","disableFocusRipple","id","inputProps","inputRef","onChange","readOnly","required","useControlled","controlled","Boolean","state","setCheckedState","muiFormControl","useFormControl","hasLabelFor","centerRipple","focusRipple","nativeEvent","defaultPrevented","newChecked","target"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/2873.ae77af6d.chunk.js","mappings":"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","sources":["../node_modules/@mui/icons-material/LockOutlined.js","../node_modules/@mui/icons-material/RemoveRedEye.js","../node_modules/@mui/icons-material/VisibilityOff.js","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/Link/linkClasses.js","../node_modules/@mui/material/Link/Link.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js","../node_modules/@mui/material/Switch/switchClasses.js","../node_modules/@mui/material/Switch/Switch.js","../node_modules/@mui/material/internal/switchBaseClasses.js","../node_modules/@mui/material/internal/SwitchBase.js"],"sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9V6zm9 14H6V10h12v10zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z\"\n}), 'LockOutlined');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\"\n}), 'RemoveRedEye');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\"\n}), 'VisibilityOff');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLinkUtilityClass(slot) {\n return generateUtilityClass('MuiLink', slot);\n}\nconst linkClasses = generateUtilityClasses('MuiLink', ['root', 'underlineNone', 'underlineHover', 'underlineAlways', 'button', 'focusVisible']);\nexport default linkClasses;","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\"];\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 { alpha, getPath } from '@mui/system';\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 { jsx as _jsx } from \"react/jsx-runtime\";\nconst colorTransformations = {\n primary: 'primary.main',\n textPrimary: 'text.primary',\n secondary: 'secondary.main',\n textSecondary: 'text.secondary',\n error: 'error.main'\n};\n\nconst transformDeprecatedColors = color => {\n return colorTransformations[color] || color;\n};\n\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};\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 const color = getPath(theme, `palette.${transformDeprecatedColors(ownerState.color)}`) || ownerState.color;\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' && {\n textDecoration: 'underline',\n textDecorationColor: color !== 'inherit' ? alpha(color, 0.4) : undefined,\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\n const {\n className,\n color = 'primary',\n component = 'a',\n onBlur,\n onFocus,\n TypographyClasses,\n underline = 'always',\n variant = 'inherit'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\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\n const handleBlur = event => {\n handleBlurVisible(event);\n\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleFocus = event => {\n handleFocusVisible(event);\n\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const ownerState = _extends({}, props, {\n color,\n component,\n focusVisible,\n underline,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LinkRoot, _extends({\n className: clsx(classes.root, className),\n classes: TypographyClasses,\n color: color,\n component: component,\n onBlur: handleBlur,\n onFocus: handleFocus,\n ref: handlerRef,\n ownerState: ownerState,\n variant: variant\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the link.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .any,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * `classes` prop applied to the [`Typography`](/api/typography/) element.\n */\n TypographyClasses: PropTypes.object,\n\n /**\n * Controls when the link should have an underline.\n * @default 'always'\n */\n underline: PropTypes.oneOf(['always', 'hover', 'none']),\n\n /**\n * Applies the theme typography styles.\n * @default 'inherit'\n */\n variant: PropTypes\n /* @typescript-to-proptypes-ignore */\n .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;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, darken, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n}, ownerState.edge === 'start' && {\n marginLeft: -8\n}, ownerState.edge === 'end' && {\n marginRight: -8\n}, ownerState.size === 'small' && {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n}));\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.palette.mode === 'light' ? 0.12 : 0.2\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({\n '&:hover': {\n backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${switchClasses.checked}`]: {\n color: theme.palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: theme.palette[ownerState.color].main\n }\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.mode === 'light' ? 0.38 : 0.3\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\n\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input')({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n/**\n * @ignore - internal component.\n */\n\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n\n let disabled = disabledProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor && id,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n}); // NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\n\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /*\n * @ignore\n */\n name: PropTypes.string,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;"],"names":["_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getLinkUtilityClass","_excluded","colorTransformations","primary","textPrimary","secondary","textSecondary","error","LinkRoot","styled","Typography","name","overridesResolver","props","styles","ownerState","root","capitalize","underline","component","button","theme","color","getPath","transformDeprecatedColors","_extends","textDecoration","textDecorationColor","alpha","undefined","position","WebkitTapHighlightColor","backgroundColor","outline","border","margin","borderRadius","padding","cursor","userSelect","verticalAlign","MozAppearance","WebkitAppearance","borderStyle","linkClasses","React","inProps","ref","useThemeProps","className","onBlur","onFocus","TypographyClasses","variant","other","_objectWithoutPropertiesLoose","useIsFocusVisible","isFocusVisibleRef","handleBlurVisible","handleFocusVisible","focusVisibleRef","focusVisible","setFocusVisible","handlerRef","useForkRef","classes","slots","composeClasses","useUtilityClasses","_jsx","clsx","event","current","getMenuItemUtilityClass","MenuItemRoot","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","dense","divider","disableGutters","gutters","typography","body1","display","justifyContent","alignItems","minHeight","paddingTop","paddingBottom","boxSizing","whiteSpace","paddingLeft","paddingRight","borderBottom","palette","backgroundClip","action","hover","menuItemClasses","main","selectedOpacity","focusOpacity","hoverOpacity","focus","opacity","disabledOpacity","marginTop","spacing","marginBottom","marginLeft","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","fontSize","autoFocus","focusVisibleClassName","role","tabIndexProp","tabIndex","context","ListContext","childContext","menuItemRef","useEnhancedEffect","disabled","selected","composedClasses","handleRef","value","children","getSwitchUtilityClass","SwitchRoot","edge","size","width","height","overflow","flexShrink","zIndex","colorAdjust","marginRight","switchClasses","transform","SwitchSwitchBase","SwitchBase","switchBase","input","top","left","mode","common","white","grey","transition","transitions","create","duration","shortest","active","lighten","darken","SwitchTrack","track","black","SwitchThumb","thumb","boxShadow","shadows","sx","checked","icon","_jsxs","type","checkedIcon","getSwitchBaseUtilityClass","SwitchBaseRoot","SwitchBaseInput","checkedProp","defaultChecked","disabledProp","disableFocusRipple","id","inputProps","inputRef","onChange","readOnly","required","useControlled","controlled","Boolean","state","setCheckedState","muiFormControl","useFormControl","hasLabelFor","centerRipple","focusRipple","nativeEvent","defaultPrevented","newChecked","target"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2873.ebf17fc8.chunk.js b/portal-ui/build/static/js/2873.ebf17fc8.chunk.js deleted file mode 100644 index 578160f5f..000000000 --- a/portal-ui/build/static/js/2873.ebf17fc8.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2873,9056,6851,4105],{70011:function(e,t,o){var n=o(64119);t.Z=void 0;var r=n(o(66830)),a=o(62559),i=(0,r.default)((0,a.jsx)("path",{d:"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9V6zm9 14H6V10h12v10zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z"}),"LockOutlined");t.Z=i},50213:function(e,t,o){var n=o(64119);t.Z=void 0;var r=n(o(66830)),a=o(62559),i=(0,r.default)((0,a.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"}),"RemoveRedEye");t.Z=i},694:function(e,t,o){var n=o(64119);t.Z=void 0;var r=n(o(66830)),a=o(62559),i=(0,r.default)((0,a.jsx)("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"}),"VisibilityOff");t.Z=i},4247:function(e,t,o){o.d(t,{V:function(){return r}});var n=o(10594);function r(e){return(0,n.Z)("MuiDivider",e)}var a=(0,o(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=a},10567:function(e,t,o){o.d(t,{Z:function(){return C}});var n=o(23430),r=o(36222),a=o(1048),i=o(32793),c=o(50390),d=o(44977),s=o(50076),l=o(29001),u=o(36128),p=o(91442),h=o(8208),m=o(15573),v=o(42081),f=o(3299),Z=o(35477),b=o(10594);function g(e){return(0,b.Z)("MuiLink",e)}var k=(0,o(43349).Z)("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),w=o(62559),y=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant"],x={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},S=(0,h.ZP)(Z.Z,{name:"MuiLink",slot:"Root",overridesResolver:function(e,t){var o=e.ownerState;return[t.root,t["underline".concat((0,p.Z)(o.underline))],"button"===o.component&&t.button]}})((function(e){var t=e.theme,o=e.ownerState,n=(0,l.D)(t,"palette.".concat(function(e){return x[e]||e}(o.color)))||o.color;return(0,i.Z)({},"none"===o.underline&&{textDecoration:"none"},"hover"===o.underline&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},"always"===o.underline&&{textDecoration:"underline",textDecorationColor:"inherit"!==n?(0,u.Fq)(n,.4):void 0,"&:hover":{textDecorationColor:"inherit"}},"button"===o.component&&(0,r.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(k.focusVisible),{outline:"auto"}))})),C=c.forwardRef((function(e,t){var o=(0,m.Z)({props:e,name:"MuiLink"}),r=o.className,l=o.color,u=void 0===l?"primary":l,h=o.component,Z=void 0===h?"a":h,b=o.onBlur,k=o.onFocus,x=o.TypographyClasses,C=o.underline,z=void 0===C?"always":C,R=o.variant,M=void 0===R?"inherit":R,F=(0,a.Z)(o,y),B=(0,v.Z)(),V=B.isFocusVisibleRef,I=B.onBlur,P=B.onFocus,N=B.ref,j=c.useState(!1),O=(0,n.Z)(j,2),L=O[0],D=O[1],q=(0,f.Z)(t,N),T=(0,i.Z)({},o,{color:u,component:Z,focusVisible:L,underline:z,variant:M}),A=function(e){var t=e.classes,o=e.component,n=e.focusVisible,r=e.underline,a={root:["root","underline".concat((0,p.Z)(r)),"button"===o&&"button",n&&"focusVisible"]};return(0,s.Z)(a,g,t)}(T);return(0,w.jsx)(S,(0,i.Z)({className:(0,d.Z)(A.root,r),classes:x,color:u,component:Z,onBlur:function(e){I(e),!1===V.current&&D(!1),b&&b(e)},onFocus:function(e){P(e),!0===V.current&&D(!0),k&&k(e)},ref:q,ownerState:T,variant:M},F))}))},31680:function(e,t,o){o.d(t,{Z:function(){return C}});var n=o(36222),r=o(1048),a=o(32793),i=o(50390),c=o(44977),d=o(50076),s=o(36128),l=o(8208),u=o(15573),p=o(57308),h=o(86875),m=o(40839),v=o(3299),f=o(4247),Z=o(2198),b=o(23586),g=o(10594);function k(e){return(0,g.Z)("MuiMenuItem",e)}var w=(0,o(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),y=o(62559),x=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],S=(0,l.ZP)(h.Z,{shouldForwardProp:function(e){return(0,l.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var o=e.ownerState;return[t.root,o.dense&&t.dense,o.divider&&t.divider,!o.disableGutters&&t.gutters]}})((function(e){var t,o=e.theme,r=e.ownerState;return(0,a.Z)({},o.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!r.disableGutters&&{paddingLeft:16,paddingRight:16},r.divider&&{borderBottom:"1px solid ".concat(o.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:o.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,n.Z)(t,"&.".concat(w.selected),(0,n.Z)({backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity)},"&.".concat(w.focusVisible),{backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity+o.palette.action.focusOpacity)})),(0,n.Z)(t,"&.".concat(w.selected,":hover"),{backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity+o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity)}}),(0,n.Z)(t,"&.".concat(w.focusVisible),{backgroundColor:o.palette.action.focus}),(0,n.Z)(t,"&.".concat(w.disabled),{opacity:o.palette.action.disabledOpacity}),(0,n.Z)(t,"& + .".concat(f.Z.root),{marginTop:o.spacing(1),marginBottom:o.spacing(1)}),(0,n.Z)(t,"& + .".concat(f.Z.inset),{marginLeft:52}),(0,n.Z)(t,"& .".concat(b.Z.root),{marginTop:0,marginBottom:0}),(0,n.Z)(t,"& .".concat(b.Z.inset),{paddingLeft:36}),(0,n.Z)(t,"& .".concat(Z.Z.root),{minWidth:36}),t),!r.dense&&(0,n.Z)({},o.breakpoints.up("sm"),{minHeight:"auto"}),r.dense&&(0,a.Z)({minHeight:32,paddingTop:4,paddingBottom:4},o.typography.body2,(0,n.Z)({},"& .".concat(Z.Z.root," svg"),{fontSize:"1.25rem"})))})),C=i.forwardRef((function(e,t){var o=(0,u.Z)({props:e,name:"MuiMenuItem"}),n=o.autoFocus,s=void 0!==n&&n,l=o.component,h=void 0===l?"li":l,f=o.dense,Z=void 0!==f&&f,b=o.divider,g=void 0!==b&&b,w=o.disableGutters,C=void 0!==w&&w,z=o.focusVisibleClassName,R=o.role,M=void 0===R?"menuitem":R,F=o.tabIndex,B=(0,r.Z)(o,x),V=i.useContext(p.Z),I={dense:Z||V.dense||!1,disableGutters:C},P=i.useRef(null);(0,m.Z)((function(){s&&P.current&&P.current.focus()}),[s]);var N,j=(0,a.Z)({},o,{dense:I.dense,divider:g,disableGutters:C}),O=function(e){var t=e.disabled,o=e.dense,n=e.divider,r=e.disableGutters,i=e.selected,c=e.classes,s={root:["root",o&&"dense",t&&"disabled",!r&&"gutters",n&&"divider",i&&"selected"]},l=(0,d.Z)(s,k,c);return(0,a.Z)({},c,l)}(o),L=(0,v.Z)(P,t);return o.disabled||(N=void 0!==F?F:-1),(0,y.jsx)(p.Z.Provider,{value:I,children:(0,y.jsx)(S,(0,a.Z)({ref:L,role:M,tabIndex:N,component:h,focusVisibleClassName:(0,c.Z)(O.focusVisible,z)},B,{ownerState:j,classes:O}))})}))},49056:function(e,t,o){o.d(t,{Z:function(){return x}});var n=o(36222),r=o(1048),a=o(32793),i=o(50390),c=o(44977),d=o(50076),s=o(36128),l=o(91442),u=o(16756),p=o(15573),h=o(8208),m=o(10594);function v(e){return(0,m.Z)("MuiSwitch",e)}var f=(0,o(43349).Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),Z=o(62559),b=["className","color","edge","size","sx"],g=(0,h.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(e,t){var o=e.ownerState;return[t.root,o.edge&&t["edge".concat((0,l.Z)(o.edge))],t["size".concat((0,l.Z)(o.size))]]}})((function(e){var t,o=e.ownerState;return(0,a.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===o.edge&&{marginLeft:-8},"end"===o.edge&&{marginRight:-8},"small"===o.size&&(t={width:40,height:24,padding:7},(0,n.Z)(t,"& .".concat(f.thumb),{width:16,height:16}),(0,n.Z)(t,"& .".concat(f.switchBase),(0,n.Z)({padding:4},"&.".concat(f.checked),{transform:"translateX(16px)"})),t))})),k=(0,h.ZP)(u.Z,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(e,t){var o=e.ownerState;return[t.switchBase,(0,n.Z)({},"& .".concat(f.input),t.input),"default"!==o.color&&t["color".concat((0,l.Z)(o.color))]]}})((function(e){var t,o=e.theme;return t={position:"absolute",top:0,left:0,zIndex:1,color:"light"===o.palette.mode?o.palette.common.white:o.palette.grey[300],transition:o.transitions.create(["left","transform"],{duration:o.transitions.duration.shortest})},(0,n.Z)(t,"&.".concat(f.checked),{transform:"translateX(20px)"}),(0,n.Z)(t,"&.".concat(f.disabled),{color:"light"===o.palette.mode?o.palette.grey[100]:o.palette.grey[600]}),(0,n.Z)(t,"&.".concat(f.checked," + .").concat(f.track),{opacity:.5}),(0,n.Z)(t,"&.".concat(f.disabled," + .").concat(f.track),{opacity:"light"===o.palette.mode?.12:.2}),(0,n.Z)(t,"& .".concat(f.input),{left:"-100%",width:"300%"}),t}),(function(e){var t,o=e.theme,r=e.ownerState;return(0,a.Z)({"&:hover":{backgroundColor:(0,s.Fq)(o.palette.action.active,o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==r.color&&(t={},(0,n.Z)(t,"&.".concat(f.checked),(0,n.Z)({color:o.palette[r.color].main,"&:hover":{backgroundColor:(0,s.Fq)(o.palette[r.color].main,o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(f.disabled),{color:"light"===o.palette.mode?(0,s.$n)(o.palette[r.color].main,.62):(0,s._j)(o.palette[r.color].main,.55)})),(0,n.Z)(t,"&.".concat(f.checked," + .").concat(f.track),{backgroundColor:o.palette[r.color].main}),t))})),w=(0,h.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(e,t){return t.track}})((function(e){var t=e.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:"light"===t.palette.mode?t.palette.common.black:t.palette.common.white,opacity:"light"===t.palette.mode?.38:.3}})),y=(0,h.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(e,t){return t.thumb}})((function(e){return{boxShadow:e.theme.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),x=i.forwardRef((function(e,t){var o=(0,p.Z)({props:e,name:"MuiSwitch"}),n=o.className,i=o.color,s=void 0===i?"primary":i,u=o.edge,h=void 0!==u&&u,m=o.size,f=void 0===m?"medium":m,x=o.sx,S=(0,r.Z)(o,b),C=(0,a.Z)({},o,{color:s,edge:h,size:f}),z=function(e){var t=e.classes,o=e.edge,n=e.size,r=e.color,i=e.checked,c=e.disabled,s={root:["root",o&&"edge".concat((0,l.Z)(o)),"size".concat((0,l.Z)(n))],switchBase:["switchBase","color".concat((0,l.Z)(r)),i&&"checked",c&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},u=(0,d.Z)(s,v,t);return(0,a.Z)({},t,u)}(C),R=(0,Z.jsx)(y,{className:z.thumb,ownerState:C});return(0,Z.jsxs)(g,{className:(0,c.Z)(z.root,n),sx:x,ownerState:C,children:[(0,Z.jsx)(k,(0,a.Z)({type:"checkbox",icon:R,checkedIcon:R,ref:t,ownerState:C},S,{classes:(0,a.Z)({},z,{root:z.switchBase})})),(0,Z.jsx)(w,{className:z.track,ownerState:C})]})}))},16756:function(e,t,o){o.d(t,{Z:function(){return k}});var n=o(23430),r=o(1048),a=o(32793),i=o(50390),c=o(44977),d=o(50076),s=o(91442),l=o(8208),u=o(55386),p=o(23060),h=o(86875),m=o(10594);function v(e){return(0,m.Z)("PrivateSwitchBase",e)}(0,o(43349).Z)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var f=o(62559),Z=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],b=(0,l.ZP)(h.Z)((function(e){var t=e.ownerState;return(0,a.Z)({padding:9,borderRadius:"50%"},"start"===t.edge&&{marginLeft:"small"===t.size?-3:-12},"end"===t.edge&&{marginRight:"small"===t.size?-3:-12})})),g=(0,l.ZP)("input")({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),k=i.forwardRef((function(e,t){var o=e.autoFocus,i=e.checked,l=e.checkedIcon,h=e.className,m=e.defaultChecked,k=e.disabled,w=e.disableFocusRipple,y=void 0!==w&&w,x=e.edge,S=void 0!==x&&x,C=e.icon,z=e.id,R=e.inputProps,M=e.inputRef,F=e.name,B=e.onBlur,V=e.onChange,I=e.onFocus,P=e.readOnly,N=e.required,j=e.tabIndex,O=e.type,L=e.value,D=(0,r.Z)(e,Z),q=(0,u.Z)({controlled:i,default:Boolean(m),name:"SwitchBase",state:"checked"}),T=(0,n.Z)(q,2),A=T[0],H=T[1],G=(0,p.Z)(),E=k;G&&"undefined"===typeof E&&(E=G.disabled);var W="checkbox"===O||"radio"===O,_=(0,a.Z)({},e,{checked:A,disabled:E,disableFocusRipple:y,edge:S}),X=function(e){var t=e.classes,o=e.checked,n=e.disabled,r=e.edge,a={root:["root",o&&"checked",n&&"disabled",r&&"edge".concat((0,s.Z)(r))],input:["input"]};return(0,d.Z)(a,v,t)}(_);return(0,f.jsxs)(b,(0,a.Z)({component:"span",className:(0,c.Z)(X.root,h),centerRipple:!0,focusRipple:!y,disabled:E,tabIndex:null,role:void 0,onFocus:function(e){I&&I(e),G&&G.onFocus&&G.onFocus(e)},onBlur:function(e){B&&B(e),G&&G.onBlur&&G.onBlur(e)},ownerState:_,ref:t},D,{children:[(0,f.jsx)(g,(0,a.Z)({autoFocus:o,checked:i,defaultChecked:m,className:X.input,disabled:E,id:W&&z,name:F,onChange:function(e){if(!e.nativeEvent.defaultPrevented){var t=e.target.checked;H(t),V&&V(e,t)}},readOnly:P,ref:M,required:N,ownerState:_,tabIndex:j,type:O},"checkbox"===O&&void 0===L?{}:{value:L},R)),A?l:C]}))}))}}]); -//# sourceMappingURL=2873.ebf17fc8.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2892.f2ab7fe7.chunk.js b/portal-ui/build/static/js/2892.612b963a.chunk.js similarity index 98% rename from portal-ui/build/static/js/2892.f2ab7fe7.chunk.js rename to portal-ui/build/static/js/2892.612b963a.chunk.js index 1214d0550..3c94600a0 100644 --- a/portal-ui/build/static/js/2892.f2ab7fe7.chunk.js +++ b/portal-ui/build/static/js/2892.612b963a.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2892],{82892:function(e,t,n){n.r(t);var a=n(23430),o=n(18489),i=n(50390),r=n(76352),s=n(25594),l=n(66946),c=n(66964),d=n(86509),u=n(4285),p=n(72462),m=n(34424),f=n(30324),h=n(44149),x=n(67754),v=n(11387),g=n(62559),Z=(0,m.$j)((function(e){return{session:e.console.session}}),{setErrorSnackMessage:h.Ih});t.default=(0,u.Z)((function(e){return(0,d.Z)((0,o.Z)((0,o.Z)({},p.DF),p.ID))}))(Z((function(e){var t=e.modalOpen,n=e.onClose,o=e.classes,d=e.bucket,u=(0,i.useState)(""),p=(0,a.Z)(u,2),m=p[0],Z=p[1],b=(0,i.useState)("readonly"),C=(0,a.Z)(b,2),j=C[0],y=C[1];return(0,g.jsx)(r.Z,{modalOpen:t,title:"Add Access Rule",onClose:n,titleIcon:(0,g.jsx)(v.sR,{}),children:(0,g.jsxs)(s.ZP,{container:!0,children:[(0,g.jsx)(s.ZP,{item:!0,xs:12,className:o.formFieldRow,children:(0,g.jsx)(c.Z,{value:m,label:"Prefix",id:"prefix",name:"prefix",placeholder:"Enter Prefix",onChange:function(e){Z(e.target.value)}})}),(0,g.jsx)(s.ZP,{item:!0,xs:12,children:(0,g.jsx)(x.Z,{id:"access",name:"Access",onChange:function(e){y(e.target.value)},label:"Access",value:j,options:[{label:"readonly",value:"readonly"},{label:"writeonly",value:"writeonly"},{label:"readwrite",value:"readwrite"}],disabled:!1})}),(0,g.jsxs)(s.ZP,{item:!0,xs:12,className:o.modalButtonBar,children:[(0,g.jsx)(l.Z,{type:"button",color:"primary",variant:"outlined",onClick:function(){Z(""),y("readonly")},children:"Clear"}),(0,g.jsx)(l.Z,{type:"submit",variant:"contained",color:"primary",disabled:""===m.trim(),onClick:function(){f.Z.invoke("PUT","/api/v1/bucket/".concat(d,"/access-rules"),{prefix:m,access:j}).then((function(e){n()})).catch((function(e){(0,h.Ih)(e),n()}))},children:"Save"})]})]})})})))},66964:function(e,t,n){var a=n(18489),o=n(50390),i=n(12066),r=n(25594),s=n(14602),l=n(94187),c=n(95467),d=n(86509),u=n(62449),p=n(4285),m=n(72462),f=n(97538),h=n(44977),x=n(62559),v=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)({},m.gM))}));function g(e){var t=v();return(0,x.jsx)(i.Z,(0,a.Z)({InputProps:{classes:t}},e))}t.Z=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,a.Z)((0,a.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,i=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,v=e.autoComplete,Z=void 0===v?"off":v,b=e.disabled,C=void 0!==b&&b,j=e.multiline,y=void 0!==j&&j,k=e.tooltip,w=void 0===k?"":k,N=e.index,M=void 0===N?0:N,S=e.error,I=void 0===S?"":S,L=e.required,B=void 0!==L&&L,F=e.placeholder,E=void 0===F?"":F,P=e.min,D=e.max,O=e.overlayIcon,R=void 0===O?null:O,W=e.overlayObject,z=void 0===W?null:W,T=e.extraInputProps,A=void 0===T?{}:T,H=e.overlayAction,V=e.noLabelMinWidth,G=void 0!==V&&V,q=e.pattern,Y=void 0===q?"":q,$=e.autoFocus,_=void 0!==$&&$,K=e.classes,Q=e.className,U=void 0===Q?"":Q,X=(0,a.Z)({"data-index":M},A);return"number"===m&&P&&(X.min=P),"number"===m&&D&&(X.max=D),""!==Y&&(X.pattern=Y),(0,x.jsx)(o.Fragment,{children:(0,x.jsxs)(r.ZP,{container:!0,className:(0,h.Z)(""!==U?U:"",""!==I?K.errorInField:K.inputBoxContainer),children:[""!==t&&(0,x.jsxs)(s.Z,{htmlFor:d,className:G?K.noMinWidthLabel:K.inputLabel,children:[(0,x.jsxs)("span",{children:[t,B?"*":""]}),""!==w&&(0,x.jsx)("div",{className:K.tooltipContainer,children:(0,x.jsx)(l.Z,{title:w,placement:"top-start",children:(0,x.jsx)("div",{className:K.tooltip,children:(0,x.jsx)(f.Z,{})})})})]}),(0,x.jsxs)("div",{className:K.textBoxContainer,children:[(0,x.jsx)(g,{id:d,name:u,fullWidth:!0,value:i,autoFocus:_,disabled:C,onChange:n,type:m,multiline:y,autoComplete:Z,inputProps:X,error:""!==I,helperText:I,placeholder:E,className:K.inputRebase}),R&&(0,x.jsx)("div",{className:"".concat(K.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,x.jsx)(c.Z,{onClick:H?function(){H()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:R})}),z&&(0,x.jsx)("div",{className:"".concat(K.overlayAction," ").concat(""!==t?"withLabel":""),children:z})]})]})})}))},67754:function(e,t,n){var a=n(18489),o=n(50390),i=n(25594),r=n(46413),s=n(14602),l=n(94187),c=n(47554),d=n(43965),u=n(31680),p=n(86509),m=n(4285),f=n(72462),h=n(97538),x=n(62559),v=(0,m.Z)((function(e){return(0,p.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(r.ZP);t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},f.YI),f.Hr),{},{inputLabel:(0,a.Z)((0,a.Z)({},f.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var t=e.classes,n=e.id,a=e.name,r=e.onChange,p=e.options,m=e.label,f=e.tooltip,g=void 0===f?"":f,Z=e.value,b=e.disabled,C=void 0!==b&&b;return(0,x.jsx)(o.Fragment,{children:(0,x.jsxs)(i.ZP,{item:!0,xs:12,className:t.fieldContainer,children:[""!==m&&(0,x.jsxs)(s.Z,{htmlFor:n,className:t.inputLabel,children:[(0,x.jsx)("span",{children:m}),""!==g&&(0,x.jsx)("div",{className:t.tooltipContainer,children:(0,x.jsx)(l.Z,{title:g,placement:"top-start",children:(0,x.jsx)("div",{className:t.tooltip,children:(0,x.jsx)(h.Z,{})})})})]}),(0,x.jsx)(c.Z,{fullWidth:!0,children:(0,x.jsx)(d.Z,{id:n,name:a,value:Z,onChange:r,input:(0,x.jsx)(v,{}),disabled:C,children:p.map((function(e){return(0,x.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(a,"-").concat(e.label))}))})})]})})}))},76352:function(e,t,n){n.d(t,{Z:function(){return M}});var a,o=n(23430),i=n(18489),r=n(50390),s=n(34424),l=n(95467),c=n(97771),d=n(84402),u=n(78426),p=n(93085),m=n(86509),f=n(4285),h=n(72462),x=n(44149),v=n(38342),g=n.n(v),Z=n(92125),b=n(19538),C=n(21278),j=n(62559),y=function(){clearInterval(a)},k={displayErrorMessage:x.zb},w=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),k)((0,f.Z)((function(e){return(0,m.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var t=e.classes,n=e.modalSnackMessage,i=e.displayErrorMessage,s=e.customStyle,l=(0,r.useState)(!1),c=(0,o.Z)(l,2),d=c[0],u=c[1],p=(0,r.useState)(!1),m=(0,o.Z)(p,2),f=m[0],h=m[1],x=(0,r.useCallback)((function(){h(!1)}),[]);(0,r.useEffect)((function(){f||(i({detailedError:"",errorMessage:""}),u(!1))}),[i,f]),(0,r.useEffect)((function(){""!==n.message&&"error"===n.type&&h(!0)}),[x,n.message,n.type]);var v=g()(n,"message",""),k=g()(n,"detailedErrorMsg","");return"error"!==n.type||""===v?null:(0,j.jsx)(r.Fragment,{children:(0,j.jsxs)("div",{className:"".concat(t.modalErrorContainer," ").concat(f?t.modalErrorShow:""),style:s,onMouseOver:y,onMouseLeave:function(){a=setInterval(x,1e4)},children:[(0,j.jsx)("button",{className:t.closeButton,onClick:x,children:(0,j.jsx)(C.Z,{})}),(0,j.jsxs)("div",{className:t.errorTitle,children:[(0,j.jsx)("span",{className:t.messageIcon,children:(0,j.jsx)(b.Z,{})}),(0,j.jsx)("span",{className:t.errorLabel,children:v})]}),""!==k&&(0,j.jsxs)(r.Fragment,{children:[(0,j.jsx)("div",{className:t.detailsContainerLink,children:(0,j.jsxs)("button",{className:t.detailsButton,onClick:function(){u(!d)},children:["Details",(0,j.jsx)(Z.Z,{className:"".concat(t.arrowElement," ").concat(d?t.arrowOpen:"")})]})}),(0,j.jsx)("div",{className:"".concat(t.extraDetailsContainer," ").concat(d?t.extraDetailsOpen:""),children:k})]})]})})}))),N=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:x.MK}),M=(0,f.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)({},h.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))(N((function(e){var t=e.onClose,n=e.modalOpen,a=e.title,s=e.children,m=e.classes,f=e.wideLimit,h=void 0===f||f,x=e.modalSnackMessage,v=e.noContentPadding,g=e.setModalSnackMessage,Z=e.titleIcon,b=void 0===Z?null:Z,y=(0,r.useState)(!1),k=(0,o.Z)(y,2),N=k[0],M=k[1];(0,r.useEffect)((function(){g("")}),[g]),(0,r.useEffect)((function(){if(x){if(""===x.message)return void M(!1);"error"!==x.type&&M(!0)}}),[x]);var S=h?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},I="";return x&&(I=x.detailedErrorMsg,(""===x.detailedErrorMsg||x.detailedErrorMsg.length<5)&&(I=x.message)),(0,j.jsxs)(d.Z,(0,i.Z)((0,i.Z)({open:n,classes:m},S),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:m.root,children:[(0,j.jsxs)(u.Z,{className:m.title,children:[(0,j.jsxs)("div",{className:m.titleText,children:[b," ",a]}),(0,j.jsx)("div",{className:m.closeContainer,children:(0,j.jsx)(l.Z,{"aria-label":"close",className:m.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,j.jsx)(C.Z,{})})})]}),(0,j.jsx)(w,{}),(0,j.jsx)(c.Z,{open:N,className:m.snackBarModal,onClose:function(){M(!1),g("")},message:I,ContentProps:{className:"".concat(m.snackBar," ").concat(x&&"error"===x.type?m.errorSnackBar:"")},autoHideDuration:x&&"error"===x.type?1e4:5e3}),(0,j.jsx)(p.Z,{className:v?"":m.content,children:s})]}))})))},4247:function(e,t,n){n.d(t,{V:function(){return o}});var a=n(10594);function o(e){return(0,a.Z)("MuiDivider",e)}var i=(0,n(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=i},31680:function(e,t,n){n.d(t,{Z:function(){return w}});var a=n(36222),o=n(1048),i=n(32793),r=n(50390),s=n(44977),l=n(50076),c=n(36128),d=n(8208),u=n(15573),p=n(57308),m=n(86875),f=n(40839),h=n(3299),x=n(4247),v=n(2198),g=n(23586),Z=n(10594);function b(e){return(0,Z.Z)("MuiMenuItem",e)}var C=(0,n(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),j=n(62559),y=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],k=(0,d.ZP)(m.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,o=e.ownerState;return(0,i.Z)({},n.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!o.disableGutters&&{paddingLeft:16,paddingRight:16},o.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,a.Z)(t,"&.".concat(C.selected),(0,a.Z)({backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(C.focusVisible),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,a.Z)(t,"&.".concat(C.selected,":hover"),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,a.Z)(t,"&.".concat(C.focusVisible),{backgroundColor:n.palette.action.focus}),(0,a.Z)(t,"&.".concat(C.disabled),{opacity:n.palette.action.disabledOpacity}),(0,a.Z)(t,"& + .".concat(x.Z.root),{marginTop:n.spacing(1),marginBottom:n.spacing(1)}),(0,a.Z)(t,"& + .".concat(x.Z.inset),{marginLeft:52}),(0,a.Z)(t,"& .".concat(g.Z.root),{marginTop:0,marginBottom:0}),(0,a.Z)(t,"& .".concat(g.Z.inset),{paddingLeft:36}),(0,a.Z)(t,"& .".concat(v.Z.root),{minWidth:36}),t),!o.dense&&(0,a.Z)({},n.breakpoints.up("sm"),{minHeight:"auto"}),o.dense&&(0,i.Z)({minHeight:32,paddingTop:4,paddingBottom:4},n.typography.body2,(0,a.Z)({},"& .".concat(v.Z.root," svg"),{fontSize:"1.25rem"})))})),w=r.forwardRef((function(e,t){var n=(0,u.Z)({props:e,name:"MuiMenuItem"}),a=n.autoFocus,c=void 0!==a&&a,d=n.component,m=void 0===d?"li":d,x=n.dense,v=void 0!==x&&x,g=n.divider,Z=void 0!==g&&g,C=n.disableGutters,w=void 0!==C&&C,N=n.focusVisibleClassName,M=n.role,S=void 0===M?"menuitem":M,I=n.tabIndex,L=(0,o.Z)(n,y),B=r.useContext(p.Z),F={dense:v||B.dense||!1,disableGutters:w},E=r.useRef(null);(0,f.Z)((function(){c&&E.current&&E.current.focus()}),[c]);var P,D=(0,i.Z)({},n,{dense:F.dense,divider:Z,disableGutters:w}),O=function(e){var t=e.disabled,n=e.dense,a=e.divider,o=e.disableGutters,r=e.selected,s=e.classes,c={root:["root",n&&"dense",t&&"disabled",!o&&"gutters",a&&"divider",r&&"selected"]},d=(0,l.Z)(c,b,s);return(0,i.Z)({},s,d)}(n),R=(0,h.Z)(E,t);return n.disabled||(P=void 0!==I?I:-1),(0,j.jsx)(p.Z.Provider,{value:F,children:(0,j.jsx)(k,(0,i.Z)({ref:R,role:S,tabIndex:P,component:m,focusVisibleClassName:(0,s.Z)(O.focusVisible,N)},L,{ownerState:D,classes:O}))})}))}}]); -//# sourceMappingURL=2892.f2ab7fe7.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2892],{82892:function(e,t,n){n.r(t);var a=n(23430),o=n(18489),i=n(50390),r=n(76352),s=n(25594),l=n(66946),c=n(66964),d=n(86509),u=n(4285),p=n(72462),m=n(34424),f=n(30324),h=n(44149),x=n(67754),v=n(98280),g=n(62559),Z=(0,m.$j)((function(e){return{session:e.console.session}}),{setErrorSnackMessage:h.Ih});t.default=(0,u.Z)((function(e){return(0,d.Z)((0,o.Z)((0,o.Z)({},p.DF),p.ID))}))(Z((function(e){var t=e.modalOpen,n=e.onClose,o=e.classes,d=e.bucket,u=(0,i.useState)(""),p=(0,a.Z)(u,2),m=p[0],Z=p[1],b=(0,i.useState)("readonly"),C=(0,a.Z)(b,2),j=C[0],y=C[1];return(0,g.jsx)(r.Z,{modalOpen:t,title:"Add Access Rule",onClose:n,titleIcon:(0,g.jsx)(v.sR,{}),children:(0,g.jsxs)(s.ZP,{container:!0,children:[(0,g.jsx)(s.ZP,{item:!0,xs:12,className:o.formFieldRow,children:(0,g.jsx)(c.Z,{value:m,label:"Prefix",id:"prefix",name:"prefix",placeholder:"Enter Prefix",onChange:function(e){Z(e.target.value)}})}),(0,g.jsx)(s.ZP,{item:!0,xs:12,children:(0,g.jsx)(x.Z,{id:"access",name:"Access",onChange:function(e){y(e.target.value)},label:"Access",value:j,options:[{label:"readonly",value:"readonly"},{label:"writeonly",value:"writeonly"},{label:"readwrite",value:"readwrite"}],disabled:!1})}),(0,g.jsxs)(s.ZP,{item:!0,xs:12,className:o.modalButtonBar,children:[(0,g.jsx)(l.Z,{type:"button",color:"primary",variant:"outlined",onClick:function(){Z(""),y("readonly")},children:"Clear"}),(0,g.jsx)(l.Z,{type:"submit",variant:"contained",color:"primary",disabled:""===m.trim(),onClick:function(){f.Z.invoke("PUT","/api/v1/bucket/".concat(d,"/access-rules"),{prefix:m,access:j}).then((function(e){n()})).catch((function(e){(0,h.Ih)(e),n()}))},children:"Save"})]})]})})})))},66964:function(e,t,n){var a=n(18489),o=n(50390),i=n(12066),r=n(25594),s=n(36554),l=n(94187),c=n(95467),d=n(86509),u=n(62449),p=n(4285),m=n(72462),f=n(97538),h=n(44977),x=n(62559),v=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)({},m.gM))}));function g(e){var t=v();return(0,x.jsx)(i.Z,(0,a.Z)({InputProps:{classes:t}},e))}t.Z=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,a.Z)((0,a.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,i=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,v=e.autoComplete,Z=void 0===v?"off":v,b=e.disabled,C=void 0!==b&&b,j=e.multiline,y=void 0!==j&&j,k=e.tooltip,w=void 0===k?"":k,N=e.index,M=void 0===N?0:N,S=e.error,I=void 0===S?"":S,L=e.required,B=void 0!==L&&L,F=e.placeholder,E=void 0===F?"":F,P=e.min,D=e.max,O=e.overlayIcon,R=void 0===O?null:O,W=e.overlayObject,z=void 0===W?null:W,T=e.extraInputProps,A=void 0===T?{}:T,H=e.overlayAction,V=e.noLabelMinWidth,G=void 0!==V&&V,q=e.pattern,Y=void 0===q?"":q,$=e.autoFocus,_=void 0!==$&&$,K=e.classes,Q=e.className,U=void 0===Q?"":Q,X=(0,a.Z)({"data-index":M},A);return"number"===m&&P&&(X.min=P),"number"===m&&D&&(X.max=D),""!==Y&&(X.pattern=Y),(0,x.jsx)(o.Fragment,{children:(0,x.jsxs)(r.ZP,{container:!0,className:(0,h.Z)(""!==U?U:"",""!==I?K.errorInField:K.inputBoxContainer),children:[""!==t&&(0,x.jsxs)(s.Z,{htmlFor:d,className:G?K.noMinWidthLabel:K.inputLabel,children:[(0,x.jsxs)("span",{children:[t,B?"*":""]}),""!==w&&(0,x.jsx)("div",{className:K.tooltipContainer,children:(0,x.jsx)(l.Z,{title:w,placement:"top-start",children:(0,x.jsx)("div",{className:K.tooltip,children:(0,x.jsx)(f.Z,{})})})})]}),(0,x.jsxs)("div",{className:K.textBoxContainer,children:[(0,x.jsx)(g,{id:d,name:u,fullWidth:!0,value:i,autoFocus:_,disabled:C,onChange:n,type:m,multiline:y,autoComplete:Z,inputProps:X,error:""!==I,helperText:I,placeholder:E,className:K.inputRebase}),R&&(0,x.jsx)("div",{className:"".concat(K.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,x.jsx)(c.Z,{onClick:H?function(){H()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:R})}),z&&(0,x.jsx)("div",{className:"".concat(K.overlayAction," ").concat(""!==t?"withLabel":""),children:z})]})]})})}))},67754:function(e,t,n){var a=n(18489),o=n(50390),i=n(25594),r=n(46413),s=n(36554),l=n(94187),c=n(47554),d=n(43965),u=n(31680),p=n(86509),m=n(4285),f=n(72462),h=n(97538),x=n(62559),v=(0,m.Z)((function(e){return(0,p.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(r.ZP);t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},f.YI),f.Hr),{},{inputLabel:(0,a.Z)((0,a.Z)({},f.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var t=e.classes,n=e.id,a=e.name,r=e.onChange,p=e.options,m=e.label,f=e.tooltip,g=void 0===f?"":f,Z=e.value,b=e.disabled,C=void 0!==b&&b;return(0,x.jsx)(o.Fragment,{children:(0,x.jsxs)(i.ZP,{item:!0,xs:12,className:t.fieldContainer,children:[""!==m&&(0,x.jsxs)(s.Z,{htmlFor:n,className:t.inputLabel,children:[(0,x.jsx)("span",{children:m}),""!==g&&(0,x.jsx)("div",{className:t.tooltipContainer,children:(0,x.jsx)(l.Z,{title:g,placement:"top-start",children:(0,x.jsx)("div",{className:t.tooltip,children:(0,x.jsx)(h.Z,{})})})})]}),(0,x.jsx)(c.Z,{fullWidth:!0,children:(0,x.jsx)(d.Z,{id:n,name:a,value:Z,onChange:r,input:(0,x.jsx)(v,{}),disabled:C,children:p.map((function(e){return(0,x.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(a,"-").concat(e.label))}))})})]})})}))},76352:function(e,t,n){n.d(t,{Z:function(){return M}});var a,o=n(23430),i=n(18489),r=n(50390),s=n(34424),l=n(95467),c=n(97771),d=n(84402),u=n(78426),p=n(93085),m=n(86509),f=n(4285),h=n(72462),x=n(44149),v=n(38342),g=n.n(v),Z=n(92125),b=n(19538),C=n(21278),j=n(62559),y=function(){clearInterval(a)},k={displayErrorMessage:x.zb},w=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),k)((0,f.Z)((function(e){return(0,m.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var t=e.classes,n=e.modalSnackMessage,i=e.displayErrorMessage,s=e.customStyle,l=(0,r.useState)(!1),c=(0,o.Z)(l,2),d=c[0],u=c[1],p=(0,r.useState)(!1),m=(0,o.Z)(p,2),f=m[0],h=m[1],x=(0,r.useCallback)((function(){h(!1)}),[]);(0,r.useEffect)((function(){f||(i({detailedError:"",errorMessage:""}),u(!1))}),[i,f]),(0,r.useEffect)((function(){""!==n.message&&"error"===n.type&&h(!0)}),[x,n.message,n.type]);var v=g()(n,"message",""),k=g()(n,"detailedErrorMsg","");return"error"!==n.type||""===v?null:(0,j.jsx)(r.Fragment,{children:(0,j.jsxs)("div",{className:"".concat(t.modalErrorContainer," ").concat(f?t.modalErrorShow:""),style:s,onMouseOver:y,onMouseLeave:function(){a=setInterval(x,1e4)},children:[(0,j.jsx)("button",{className:t.closeButton,onClick:x,children:(0,j.jsx)(C.Z,{})}),(0,j.jsxs)("div",{className:t.errorTitle,children:[(0,j.jsx)("span",{className:t.messageIcon,children:(0,j.jsx)(b.Z,{})}),(0,j.jsx)("span",{className:t.errorLabel,children:v})]}),""!==k&&(0,j.jsxs)(r.Fragment,{children:[(0,j.jsx)("div",{className:t.detailsContainerLink,children:(0,j.jsxs)("button",{className:t.detailsButton,onClick:function(){u(!d)},children:["Details",(0,j.jsx)(Z.Z,{className:"".concat(t.arrowElement," ").concat(d?t.arrowOpen:"")})]})}),(0,j.jsx)("div",{className:"".concat(t.extraDetailsContainer," ").concat(d?t.extraDetailsOpen:""),children:k})]})]})})}))),N=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:x.MK}),M=(0,f.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)({},h.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))(N((function(e){var t=e.onClose,n=e.modalOpen,a=e.title,s=e.children,m=e.classes,f=e.wideLimit,h=void 0===f||f,x=e.modalSnackMessage,v=e.noContentPadding,g=e.setModalSnackMessage,Z=e.titleIcon,b=void 0===Z?null:Z,y=(0,r.useState)(!1),k=(0,o.Z)(y,2),N=k[0],M=k[1];(0,r.useEffect)((function(){g("")}),[g]),(0,r.useEffect)((function(){if(x){if(""===x.message)return void M(!1);"error"!==x.type&&M(!0)}}),[x]);var S=h?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},I="";return x&&(I=x.detailedErrorMsg,(""===x.detailedErrorMsg||x.detailedErrorMsg.length<5)&&(I=x.message)),(0,j.jsxs)(d.Z,(0,i.Z)((0,i.Z)({open:n,classes:m},S),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:m.root,children:[(0,j.jsxs)(u.Z,{className:m.title,children:[(0,j.jsxs)("div",{className:m.titleText,children:[b," ",a]}),(0,j.jsx)("div",{className:m.closeContainer,children:(0,j.jsx)(l.Z,{"aria-label":"close",className:m.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,j.jsx)(C.Z,{})})})]}),(0,j.jsx)(w,{}),(0,j.jsx)(c.Z,{open:N,className:m.snackBarModal,onClose:function(){M(!1),g("")},message:I,ContentProps:{className:"".concat(m.snackBar," ").concat(x&&"error"===x.type?m.errorSnackBar:"")},autoHideDuration:x&&"error"===x.type?1e4:5e3}),(0,j.jsx)(p.Z,{className:v?"":m.content,children:s})]}))})))},4247:function(e,t,n){n.d(t,{V:function(){return o}});var a=n(10594);function o(e){return(0,a.Z)("MuiDivider",e)}var i=(0,n(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=i},31680:function(e,t,n){n.d(t,{Z:function(){return w}});var a=n(36222),o=n(1048),i=n(32793),r=n(50390),s=n(44977),l=n(50076),c=n(36128),d=n(8208),u=n(15573),p=n(57308),m=n(86875),f=n(40839),h=n(3299),x=n(4247),v=n(2198),g=n(23586),Z=n(10594);function b(e){return(0,Z.Z)("MuiMenuItem",e)}var C=(0,n(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),j=n(62559),y=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],k=(0,d.ZP)(m.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,o=e.ownerState;return(0,i.Z)({},n.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!o.disableGutters&&{paddingLeft:16,paddingRight:16},o.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,a.Z)(t,"&.".concat(C.selected),(0,a.Z)({backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(C.focusVisible),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,a.Z)(t,"&.".concat(C.selected,":hover"),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,a.Z)(t,"&.".concat(C.focusVisible),{backgroundColor:n.palette.action.focus}),(0,a.Z)(t,"&.".concat(C.disabled),{opacity:n.palette.action.disabledOpacity}),(0,a.Z)(t,"& + .".concat(x.Z.root),{marginTop:n.spacing(1),marginBottom:n.spacing(1)}),(0,a.Z)(t,"& + .".concat(x.Z.inset),{marginLeft:52}),(0,a.Z)(t,"& .".concat(g.Z.root),{marginTop:0,marginBottom:0}),(0,a.Z)(t,"& .".concat(g.Z.inset),{paddingLeft:36}),(0,a.Z)(t,"& .".concat(v.Z.root),{minWidth:36}),t),!o.dense&&(0,a.Z)({},n.breakpoints.up("sm"),{minHeight:"auto"}),o.dense&&(0,i.Z)({minHeight:32,paddingTop:4,paddingBottom:4},n.typography.body2,(0,a.Z)({},"& .".concat(v.Z.root," svg"),{fontSize:"1.25rem"})))})),w=r.forwardRef((function(e,t){var n=(0,u.Z)({props:e,name:"MuiMenuItem"}),a=n.autoFocus,c=void 0!==a&&a,d=n.component,m=void 0===d?"li":d,x=n.dense,v=void 0!==x&&x,g=n.divider,Z=void 0!==g&&g,C=n.disableGutters,w=void 0!==C&&C,N=n.focusVisibleClassName,M=n.role,S=void 0===M?"menuitem":M,I=n.tabIndex,L=(0,o.Z)(n,y),B=r.useContext(p.Z),F={dense:v||B.dense||!1,disableGutters:w},E=r.useRef(null);(0,f.Z)((function(){c&&E.current&&E.current.focus()}),[c]);var P,D=(0,i.Z)({},n,{dense:F.dense,divider:Z,disableGutters:w}),O=function(e){var t=e.disabled,n=e.dense,a=e.divider,o=e.disableGutters,r=e.selected,s=e.classes,c={root:["root",n&&"dense",t&&"disabled",!o&&"gutters",a&&"divider",r&&"selected"]},d=(0,l.Z)(c,b,s);return(0,i.Z)({},s,d)}(n),R=(0,h.Z)(E,t);return n.disabled||(P=void 0!==I?I:-1),(0,j.jsx)(p.Z.Provider,{value:F,children:(0,j.jsx)(k,(0,i.Z)({ref:R,role:S,tabIndex:P,component:m,focusVisibleClassName:(0,s.Z)(O.focusVisible,N)},L,{ownerState:D,classes:O}))})}))}}]); +//# sourceMappingURL=2892.612b963a.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2892.f2ab7fe7.chunk.js.map b/portal-ui/build/static/js/2892.612b963a.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/2892.f2ab7fe7.chunk.js.map rename to portal-ui/build/static/js/2892.612b963a.chunk.js.map index 3ebfe7c86..b8be07f4e 100644 --- a/portal-ui/build/static/js/2892.f2ab7fe7.chunk.js.map +++ b/portal-ui/build/static/js/2892.612b963a.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/2892.f2ab7fe7.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/AddAccessRule.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { Button, Grid } from \"@mui/material\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { connect } from \"react-redux\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { AppState } from \"../../../../store\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { AddAccessRuleIcon } from \"../../../../icons\";\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n});\n\nconst connector = connect(mapState, { setErrorSnackMessage });\n\ninterface IAddAccessRule {\n classes: any;\n modalOpen: boolean;\n onClose: () => any;\n bucket: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst AddAccessRule = ({\n modalOpen,\n onClose,\n classes,\n bucket,\n}: IAddAccessRule) => {\n const [prefix, setPrefix] = useState(\"\");\n const [selectedAccess, setSelectedAccess] = useState(\"readonly\");\n\n const accessOptions = [\n { label: \"readonly\", value: \"readonly\" },\n { label: \"writeonly\", value: \"writeonly\" },\n { label: \"readwrite\", value: \"readwrite\" },\n ];\n\n const resetForm = () => {\n setPrefix(\"\");\n setSelectedAccess(\"readonly\");\n };\n\n const createProcess = () => {\n api\n .invoke(\"PUT\", `/api/v1/bucket/${bucket}/access-rules`, {\n prefix: prefix,\n access: selectedAccess,\n })\n .then((res: any) => {\n onClose();\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n onClose();\n });\n };\n\n return (\n }\n >\n \n \n {\n setPrefix(e.target.value);\n }}\n />\n \n \n {\n setSelectedAccess(e.target.value);\n }}\n label=\"Access\"\n value={selectedAccess}\n options={accessOptions}\n disabled={false}\n />\n \n \n \n Clear\n \n \n Save\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(connector(AddAccessRule));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;"],"names":["connector","connect","state","session","console","setErrorSnackMessage","withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","modalOpen","onClose","classes","bucket","useState","prefix","setPrefix","selectedAccess","setSelectedAccess","title","titleIcon","container","item","xs","className","formFieldRow","value","label","id","name","placeholder","onChange","e","target","options","disabled","modalButtonBar","type","color","variant","onClick","trim","api","access","then","res","catch","err","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","autoComplete","multiline","tooltip","index","error","required","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputProps","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","placement","fullWidth","helperText","inputRebase","size","disableFocusRipple","disableRipple","disableTouchRipple","SelectStyled","root","height","lineHeight","marginTop","spacing","input","fontSize","padding","border","borderRadius","display","alignItems","borderColor","backgroundColor","InputBase","fieldContainer","flexFlow","map","option","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","modalSnackMessage","system","modalSnackBar","modalErrorContainer","width","borderLeftWidth","zIndex","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","cursor","errorTitle","errorLabel","marginLeft","marginRight","messageIcon","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","get","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","styled","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","ownerState","dense","divider","disableGutters","gutters","_extends","typography","body1","justifyContent","textDecoration","minHeight","paddingTop","boxSizing","whiteSpace","paddingRight","borderBottom","palette","backgroundClip","action","hover","menuItemClasses","alpha","primary","main","selectedOpacity","focusOpacity","hoverOpacity","focus","disabledOpacity","marginBottom","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","React","inProps","ref","useThemeProps","component","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","undefined","_jsx","focusVisible"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/2892.612b963a.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/AddAccessRule.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { Button, Grid } from \"@mui/material\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { connect } from \"react-redux\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { AppState } from \"../../../../store\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { AddAccessRuleIcon } from \"../../../../icons\";\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n});\n\nconst connector = connect(mapState, { setErrorSnackMessage });\n\ninterface IAddAccessRule {\n classes: any;\n modalOpen: boolean;\n onClose: () => any;\n bucket: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst AddAccessRule = ({\n modalOpen,\n onClose,\n classes,\n bucket,\n}: IAddAccessRule) => {\n const [prefix, setPrefix] = useState(\"\");\n const [selectedAccess, setSelectedAccess] = useState(\"readonly\");\n\n const accessOptions = [\n { label: \"readonly\", value: \"readonly\" },\n { label: \"writeonly\", value: \"writeonly\" },\n { label: \"readwrite\", value: \"readwrite\" },\n ];\n\n const resetForm = () => {\n setPrefix(\"\");\n setSelectedAccess(\"readonly\");\n };\n\n const createProcess = () => {\n api\n .invoke(\"PUT\", `/api/v1/bucket/${bucket}/access-rules`, {\n prefix: prefix,\n access: selectedAccess,\n })\n .then((res: any) => {\n onClose();\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n onClose();\n });\n };\n\n return (\n }\n >\n \n \n {\n setPrefix(e.target.value);\n }}\n />\n \n \n {\n setSelectedAccess(e.target.value);\n }}\n label=\"Access\"\n value={selectedAccess}\n options={accessOptions}\n disabled={false}\n />\n \n \n \n Clear\n \n \n Save\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(connector(AddAccessRule));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;"],"names":["connector","connect","state","session","console","setErrorSnackMessage","withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","modalOpen","onClose","classes","bucket","useState","prefix","setPrefix","selectedAccess","setSelectedAccess","title","titleIcon","container","item","xs","className","formFieldRow","value","label","id","name","placeholder","onChange","e","target","options","disabled","modalButtonBar","type","color","variant","onClick","trim","api","access","then","res","catch","err","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","autoComplete","multiline","tooltip","index","error","required","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputProps","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","placement","fullWidth","helperText","inputRebase","size","disableFocusRipple","disableRipple","disableTouchRipple","SelectStyled","root","height","lineHeight","marginTop","spacing","input","fontSize","padding","border","borderRadius","display","alignItems","borderColor","backgroundColor","InputBase","fieldContainer","flexFlow","map","option","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","modalSnackMessage","system","modalSnackBar","modalErrorContainer","width","borderLeftWidth","zIndex","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","cursor","errorTitle","errorLabel","marginLeft","marginRight","messageIcon","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","get","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","styled","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","ownerState","dense","divider","disableGutters","gutters","_extends","typography","body1","justifyContent","textDecoration","minHeight","paddingTop","boxSizing","whiteSpace","paddingRight","borderBottom","palette","backgroundClip","action","hover","menuItemClasses","alpha","primary","main","selectedOpacity","focusOpacity","hoverOpacity","focus","disabledOpacity","marginBottom","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","React","inProps","ref","useThemeProps","component","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","undefined","_jsx","focusVisible"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2966.c61fbf10.chunk.js b/portal-ui/build/static/js/2966.fed828cf.chunk.js similarity index 98% rename from portal-ui/build/static/js/2966.c61fbf10.chunk.js rename to portal-ui/build/static/js/2966.fed828cf.chunk.js index 24e024b57..13e5ed579 100644 --- a/portal-ui/build/static/js/2966.c61fbf10.chunk.js +++ b/portal-ui/build/static/js/2966.fed828cf.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2966],{82825:function(e,n,t){t.r(n);var a=t(23430),o=t(18489),i=t(50390),r=t(34424),s=t(18201),l=t(66946),c=t(81378),d=t(86509),u=t(4285),m=t(25594),p=t(72462),h=t(44149),f=t(30324),x=t(76352),v=t(27207),Z=t(66964),b=t(62559),g=(0,r.$j)(null,{setModalErrorSnackMessage:h.zb});n.default=(0,u.Z)((function(e){return(0,d.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},p.bK),p.QV),p.DF),p.ID))}))(g((function(e){var n=e.classes,t=e.open,o=e.bucketName,r=e.closeModalAndRefresh,d=e.setModalErrorSnackMessage,u=(0,i.useState)(!1),p=(0,a.Z)(u,2),h=p[0],g=p[1],j=(0,i.useState)(!0),C=(0,a.Z)(j,2),k=C[0],y=C[1],N=(0,i.useState)("compliance"),S=(0,a.Z)(N,2),M=S[0],w=S[1],F=(0,i.useState)("days"),I=(0,a.Z)(F,2),R=I[0],E=I[1],B=(0,i.useState)(1),L=(0,a.Z)(B,2),P=L[0],O=L[1],z=(0,i.useState)(!1),D=(0,a.Z)(z,2),W=D[0],T=D[1];return(0,i.useEffect)((function(){Number.isNaN(P)||P<1?T(!1):T(!0)}),[P]),(0,i.useEffect)((function(){k&&f.Z.invoke("GET","/api/v1/buckets/".concat(o,"/retention")).then((function(e){y(!1),w(e.mode),O(e.validity),E(e.unit)})).catch((function(e){y(!1)}))}),[k,o]),(0,b.jsx)(x.Z,{title:"Set Retention Configuration",modalOpen:t,onClose:function(){r()},children:k?(0,b.jsx)(s.Z,{color:"primary",size:16,variant:"indeterminate"}):(0,b.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),h||(g(!0),f.Z.invoke("PUT","/api/v1/buckets/".concat(o,"/retention"),{mode:M,unit:R,validity:P}).then((function(){g(!1),r()})).catch((function(e){g(!1),d(e)})))},children:(0,b.jsxs)(m.ZP,{container:!0,children:[(0,b.jsxs)(m.ZP,{item:!0,xs:12,className:n.modalFormScrollable,children:[(0,b.jsx)(m.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,b.jsx)(v.Z,{currentSelection:M,id:"retention_mode",name:"retention_mode",label:"Retention Mode",onChange:function(e){w(e.target.value)},selectorOptions:[{value:"compliance",label:"Compliance"},{value:"governance",label:"Governance"}]})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,b.jsx)(v.Z,{currentSelection:R,id:"retention_unit",name:"retention_unit",label:"Retention Unit",onChange:function(e){E(e.target.value)},selectorOptions:[{value:"days",label:"Days"},{value:"years",label:"Years"}]})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,b.jsx)(Z.Z,{type:"number",id:"retention_validity",name:"retention_validity",onChange:function(e){O(e.target.valueAsNumber)},label:"Retention Validity",value:String(P),required:!0,min:"1"})})]}),(0,b.jsxs)(m.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,b.jsx)(l.Z,{type:"button",variant:"outlined",color:"primary",disabled:h,onClick:function(){r()},children:"Cancel"}),(0,b.jsx)(l.Z,{type:"submit",variant:"contained",color:"primary",disabled:h||!W,children:"Set"})]}),h&&(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(c.Z,{})})]})})})})))},66964:function(e,n,t){var a=t(18489),o=t(50390),i=t(12066),r=t(25594),s=t(14602),l=t(94187),c=t(95467),d=t(86509),u=t(62449),m=t(4285),p=t(72462),h=t(97538),f=t(44977),x=t(62559),v=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)({},p.gM))}));function Z(e){var n=v();return(0,x.jsx)(i.Z,(0,a.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,a.Z)((0,a.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,t=e.onChange,i=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,v=e.autoComplete,b=void 0===v?"off":v,g=e.disabled,j=void 0!==g&&g,C=e.multiline,k=void 0!==C&&C,y=e.tooltip,N=void 0===y?"":y,S=e.index,M=void 0===S?0:S,w=e.error,F=void 0===w?"":w,I=e.required,R=void 0!==I&&I,E=e.placeholder,B=void 0===E?"":E,L=e.min,P=e.max,O=e.overlayIcon,z=void 0===O?null:O,D=e.overlayObject,W=void 0===D?null:D,T=e.extraInputProps,_=void 0===T?{}:T,A=e.overlayAction,H=e.noLabelMinWidth,q=void 0!==H&&H,U=e.pattern,Y=void 0===U?"":U,G=e.autoFocus,V=void 0!==G&&G,$=e.classes,K=e.className,Q=void 0===K?"":K,X=(0,a.Z)({"data-index":M},_);return"number"===p&&L&&(X.min=L),"number"===p&&P&&(X.max=P),""!==Y&&(X.pattern=Y),(0,x.jsx)(o.Fragment,{children:(0,x.jsxs)(r.ZP,{container:!0,className:(0,f.Z)(""!==Q?Q:"",""!==F?$.errorInField:$.inputBoxContainer),children:[""!==n&&(0,x.jsxs)(s.Z,{htmlFor:d,className:q?$.noMinWidthLabel:$.inputLabel,children:[(0,x.jsxs)("span",{children:[n,R?"*":""]}),""!==N&&(0,x.jsx)("div",{className:$.tooltipContainer,children:(0,x.jsx)(l.Z,{title:N,placement:"top-start",children:(0,x.jsx)("div",{className:$.tooltip,children:(0,x.jsx)(h.Z,{})})})})]}),(0,x.jsxs)("div",{className:$.textBoxContainer,children:[(0,x.jsx)(Z,{id:d,name:u,fullWidth:!0,value:i,autoFocus:V,disabled:j,onChange:t,type:p,multiline:k,autoComplete:b,inputProps:X,error:""!==F,helperText:F,placeholder:B,className:$.inputRebase}),z&&(0,x.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,x.jsx)(c.Z,{onClick:A?function(){A()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:z})}),W&&(0,x.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==n?"withLabel":""),children:W})]})]})})}))},27207:function(e,n,t){var a=t(36222),o=t(18489),i=(t(50390),t(44977)),r=t(25594),s=t(82420),l=t(66695),c=t(98893),d=t(14602),u=t(94187),m=t(86509),p=t(4285),h=t(62449),f=t(72462),x=t(97538),v=t(62559),Z=(0,h.Z)((0,o.Z)({root:{"&:hover":{backgroundColor:"transparent"}}},f.FU)),b=function(e){var n=Z();return(0,v.jsx)(c.Z,(0,o.Z)({className:n.root,disableRipple:!0,color:"default",checkedIcon:(0,v.jsx)("span",{className:n.radioSelectedIcon}),icon:(0,v.jsx)("span",{className:n.radioUnselectedIcon})},e))};n.Z=(0,p.Z)((function(e){return(0,m.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},f.YI),f.Hr),{},{optionLabel:{"&.Mui-disabled":{"& .MuiFormControlLabel-label":{color:"#9c9c9c"}},"&:last-child":{marginRight:0},"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E"}},checkedOption:{"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E",fontWeight:700}}}))}))((function(e){var n=e.selectorOptions,t=void 0===n?[]:n,o=e.currentSelection,c=e.label,m=e.id,p=e.name,h=e.onChange,f=e.tooltip,Z=void 0===f?"":f,g=e.disableOptions,j=void 0!==g&&g,C=e.classes,k=e.displayInColumn,y=void 0!==k&&k;return(0,v.jsxs)(r.ZP,{container:!0,alignItems:"center",children:[(0,v.jsx)(r.ZP,{item:!0,xs:!0,children:(0,v.jsxs)(d.Z,{htmlFor:m,className:C.inputLabel,children:[(0,v.jsx)("span",{children:c}),""!==Z&&(0,v.jsx)("div",{className:C.tooltipContainer,children:(0,v.jsx)(u.Z,{title:Z,placement:"top-start",children:(0,v.jsx)("div",{children:(0,v.jsx)(x.Z,{})})})})]})}),(0,v.jsx)(r.ZP,{item:!0,xs:!0,className:C.radioOptionsLayout,children:(0,v.jsx)(s.Z,{"aria-label":m,id:m,name:p,value:o,onChange:h,row:!y,style:{display:"block",textAlign:"right"},children:t.map((function(e){return(0,v.jsx)(l.Z,{value:e.value,control:(0,v.jsx)(b,{}),label:e.label,disabled:j,className:(0,i.Z)(C.optionLabel,(0,a.Z)({},C.checkedOption,e.value===o))},"rd-".concat(p,"-").concat(e.value))}))})})]})}))},76352:function(e,n,t){t.d(n,{Z:function(){return M}});var a,o=t(23430),i=t(18489),r=t(50390),s=t(34424),l=t(95467),c=t(97771),d=t(84402),u=t(78426),m=t(93085),p=t(86509),h=t(4285),f=t(72462),x=t(44149),v=t(38342),Z=t.n(v),b=t(92125),g=t(19538),j=t(21278),C=t(62559),k=function(){clearInterval(a)},y={displayErrorMessage:x.zb},N=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),y)((0,h.Z)((function(e){return(0,p.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var n=e.classes,t=e.modalSnackMessage,i=e.displayErrorMessage,s=e.customStyle,l=(0,r.useState)(!1),c=(0,o.Z)(l,2),d=c[0],u=c[1],m=(0,r.useState)(!1),p=(0,o.Z)(m,2),h=p[0],f=p[1],x=(0,r.useCallback)((function(){f(!1)}),[]);(0,r.useEffect)((function(){h||(i({detailedError:"",errorMessage:""}),u(!1))}),[i,h]),(0,r.useEffect)((function(){""!==t.message&&"error"===t.type&&f(!0)}),[x,t.message,t.type]);var v=Z()(t,"message",""),y=Z()(t,"detailedErrorMsg","");return"error"!==t.type||""===v?null:(0,C.jsx)(r.Fragment,{children:(0,C.jsxs)("div",{className:"".concat(n.modalErrorContainer," ").concat(h?n.modalErrorShow:""),style:s,onMouseOver:k,onMouseLeave:function(){a=setInterval(x,1e4)},children:[(0,C.jsx)("button",{className:n.closeButton,onClick:x,children:(0,C.jsx)(j.Z,{})}),(0,C.jsxs)("div",{className:n.errorTitle,children:[(0,C.jsx)("span",{className:n.messageIcon,children:(0,C.jsx)(g.Z,{})}),(0,C.jsx)("span",{className:n.errorLabel,children:v})]}),""!==y&&(0,C.jsxs)(r.Fragment,{children:[(0,C.jsx)("div",{className:n.detailsContainerLink,children:(0,C.jsxs)("button",{className:n.detailsButton,onClick:function(){u(!d)},children:["Details",(0,C.jsx)(b.Z,{className:"".concat(n.arrowElement," ").concat(d?n.arrowOpen:"")})]})}),(0,C.jsx)("div",{className:"".concat(n.extraDetailsContainer," ").concat(d?n.extraDetailsOpen:""),children:y})]})]})})}))),S=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:x.MK}),M=(0,h.Z)((function(e){return(0,p.Z)((0,i.Z)((0,i.Z)({},f.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},f.sN))}))(S((function(e){var n=e.onClose,t=e.modalOpen,a=e.title,s=e.children,p=e.classes,h=e.wideLimit,f=void 0===h||h,x=e.modalSnackMessage,v=e.noContentPadding,Z=e.setModalSnackMessage,b=e.titleIcon,g=void 0===b?null:b,k=(0,r.useState)(!1),y=(0,o.Z)(k,2),S=y[0],M=y[1];(0,r.useEffect)((function(){Z("")}),[Z]),(0,r.useEffect)((function(){if(x){if(""===x.message)return void M(!1);"error"!==x.type&&M(!0)}}),[x]);var w=f?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},F="";return x&&(F=x.detailedErrorMsg,(""===x.detailedErrorMsg||x.detailedErrorMsg.length<5)&&(F=x.message)),(0,C.jsxs)(d.Z,(0,i.Z)((0,i.Z)({open:t,classes:p},w),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:p.root,children:[(0,C.jsxs)(u.Z,{className:p.title,children:[(0,C.jsxs)("div",{className:p.titleText,children:[g," ",a]}),(0,C.jsx)("div",{className:p.closeContainer,children:(0,C.jsx)(l.Z,{"aria-label":"close",className:p.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,C.jsx)(j.Z,{})})})]}),(0,C.jsx)(N,{}),(0,C.jsx)(c.Z,{open:S,className:p.snackBarModal,onClose:function(){M(!1),Z("")},message:F,ContentProps:{className:"".concat(p.snackBar," ").concat(x&&"error"===x.type?p.errorSnackBar:"")},autoHideDuration:x&&"error"===x.type?1e4:5e3}),(0,C.jsx)(m.Z,{className:v?"":p.content,children:s})]}))})))},16756:function(e,n,t){t.d(n,{Z:function(){return g}});var a=t(23430),o=t(1048),i=t(32793),r=t(50390),s=t(44977),l=t(50076),c=t(91442),d=t(8208),u=t(55386),m=t(23060),p=t(86875),h=t(10594);function f(e){return(0,h.Z)("PrivateSwitchBase",e)}(0,t(43349).Z)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var x=t(62559),v=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],Z=(0,d.ZP)(p.Z)((function(e){var n=e.ownerState;return(0,i.Z)({padding:9,borderRadius:"50%"},"start"===n.edge&&{marginLeft:"small"===n.size?-3:-12},"end"===n.edge&&{marginRight:"small"===n.size?-3:-12})})),b=(0,d.ZP)("input")({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),g=r.forwardRef((function(e,n){var t=e.autoFocus,r=e.checked,d=e.checkedIcon,p=e.className,h=e.defaultChecked,g=e.disabled,j=e.disableFocusRipple,C=void 0!==j&&j,k=e.edge,y=void 0!==k&&k,N=e.icon,S=e.id,M=e.inputProps,w=e.inputRef,F=e.name,I=e.onBlur,R=e.onChange,E=e.onFocus,B=e.readOnly,L=e.required,P=e.tabIndex,O=e.type,z=e.value,D=(0,o.Z)(e,v),W=(0,u.Z)({controlled:r,default:Boolean(h),name:"SwitchBase",state:"checked"}),T=(0,a.Z)(W,2),_=T[0],A=T[1],H=(0,m.Z)(),q=g;H&&"undefined"===typeof q&&(q=H.disabled);var U="checkbox"===O||"radio"===O,Y=(0,i.Z)({},e,{checked:_,disabled:q,disableFocusRipple:C,edge:y}),G=function(e){var n=e.classes,t=e.checked,a=e.disabled,o=e.edge,i={root:["root",t&&"checked",a&&"disabled",o&&"edge".concat((0,c.Z)(o))],input:["input"]};return(0,l.Z)(i,f,n)}(Y);return(0,x.jsxs)(Z,(0,i.Z)({component:"span",className:(0,s.Z)(G.root,p),centerRipple:!0,focusRipple:!C,disabled:q,tabIndex:null,role:void 0,onFocus:function(e){E&&E(e),H&&H.onFocus&&H.onFocus(e)},onBlur:function(e){I&&I(e),H&&H.onBlur&&H.onBlur(e)},ownerState:Y,ref:n},D,{children:[(0,x.jsx)(b,(0,i.Z)({autoFocus:t,checked:r,defaultChecked:h,className:G.input,disabled:q,id:U&&S,name:F,onChange:function(e){if(!e.nativeEvent.defaultPrevented){var n=e.target.checked;A(n),R&&R(e,n)}},readOnly:B,ref:w,required:L,ownerState:Y,tabIndex:P,type:O},"checkbox"===O&&void 0===z?{}:{value:z},M)),_?d:N]}))}))}}]); -//# sourceMappingURL=2966.c61fbf10.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2966],{82825:function(e,n,t){t.r(n);var a=t(23430),o=t(18489),i=t(50390),r=t(34424),s=t(18201),l=t(66946),c=t(81378),d=t(86509),u=t(4285),m=t(25594),p=t(72462),h=t(44149),f=t(30324),x=t(76352),v=t(27207),Z=t(66964),b=t(62559),g=(0,r.$j)(null,{setModalErrorSnackMessage:h.zb});n.default=(0,u.Z)((function(e){return(0,d.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},p.bK),p.QV),p.DF),p.ID))}))(g((function(e){var n=e.classes,t=e.open,o=e.bucketName,r=e.closeModalAndRefresh,d=e.setModalErrorSnackMessage,u=(0,i.useState)(!1),p=(0,a.Z)(u,2),h=p[0],g=p[1],j=(0,i.useState)(!0),C=(0,a.Z)(j,2),k=C[0],y=C[1],N=(0,i.useState)("compliance"),S=(0,a.Z)(N,2),M=S[0],w=S[1],F=(0,i.useState)("days"),I=(0,a.Z)(F,2),R=I[0],E=I[1],B=(0,i.useState)(1),L=(0,a.Z)(B,2),P=L[0],O=L[1],z=(0,i.useState)(!1),D=(0,a.Z)(z,2),W=D[0],T=D[1];return(0,i.useEffect)((function(){Number.isNaN(P)||P<1?T(!1):T(!0)}),[P]),(0,i.useEffect)((function(){k&&f.Z.invoke("GET","/api/v1/buckets/".concat(o,"/retention")).then((function(e){y(!1),w(e.mode),O(e.validity),E(e.unit)})).catch((function(e){y(!1)}))}),[k,o]),(0,b.jsx)(x.Z,{title:"Set Retention Configuration",modalOpen:t,onClose:function(){r()},children:k?(0,b.jsx)(s.Z,{color:"primary",size:16,variant:"indeterminate"}):(0,b.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),h||(g(!0),f.Z.invoke("PUT","/api/v1/buckets/".concat(o,"/retention"),{mode:M,unit:R,validity:P}).then((function(){g(!1),r()})).catch((function(e){g(!1),d(e)})))},children:(0,b.jsxs)(m.ZP,{container:!0,children:[(0,b.jsxs)(m.ZP,{item:!0,xs:12,className:n.modalFormScrollable,children:[(0,b.jsx)(m.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,b.jsx)(v.Z,{currentSelection:M,id:"retention_mode",name:"retention_mode",label:"Retention Mode",onChange:function(e){w(e.target.value)},selectorOptions:[{value:"compliance",label:"Compliance"},{value:"governance",label:"Governance"}]})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,b.jsx)(v.Z,{currentSelection:R,id:"retention_unit",name:"retention_unit",label:"Retention Unit",onChange:function(e){E(e.target.value)},selectorOptions:[{value:"days",label:"Days"},{value:"years",label:"Years"}]})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,b.jsx)(Z.Z,{type:"number",id:"retention_validity",name:"retention_validity",onChange:function(e){O(e.target.valueAsNumber)},label:"Retention Validity",value:String(P),required:!0,min:"1"})})]}),(0,b.jsxs)(m.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,b.jsx)(l.Z,{type:"button",variant:"outlined",color:"primary",disabled:h,onClick:function(){r()},children:"Cancel"}),(0,b.jsx)(l.Z,{type:"submit",variant:"contained",color:"primary",disabled:h||!W,children:"Set"})]}),h&&(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(c.Z,{})})]})})})})))},66964:function(e,n,t){var a=t(18489),o=t(50390),i=t(12066),r=t(25594),s=t(36554),l=t(94187),c=t(95467),d=t(86509),u=t(62449),m=t(4285),p=t(72462),h=t(97538),f=t(44977),x=t(62559),v=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)({},p.gM))}));function Z(e){var n=v();return(0,x.jsx)(i.Z,(0,a.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,a.Z)((0,a.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,t=e.onChange,i=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,v=e.autoComplete,b=void 0===v?"off":v,g=e.disabled,j=void 0!==g&&g,C=e.multiline,k=void 0!==C&&C,y=e.tooltip,N=void 0===y?"":y,S=e.index,M=void 0===S?0:S,w=e.error,F=void 0===w?"":w,I=e.required,R=void 0!==I&&I,E=e.placeholder,B=void 0===E?"":E,L=e.min,P=e.max,O=e.overlayIcon,z=void 0===O?null:O,D=e.overlayObject,W=void 0===D?null:D,T=e.extraInputProps,_=void 0===T?{}:T,A=e.overlayAction,H=e.noLabelMinWidth,q=void 0!==H&&H,U=e.pattern,Y=void 0===U?"":U,G=e.autoFocus,V=void 0!==G&&G,$=e.classes,K=e.className,Q=void 0===K?"":K,X=(0,a.Z)({"data-index":M},_);return"number"===p&&L&&(X.min=L),"number"===p&&P&&(X.max=P),""!==Y&&(X.pattern=Y),(0,x.jsx)(o.Fragment,{children:(0,x.jsxs)(r.ZP,{container:!0,className:(0,f.Z)(""!==Q?Q:"",""!==F?$.errorInField:$.inputBoxContainer),children:[""!==n&&(0,x.jsxs)(s.Z,{htmlFor:d,className:q?$.noMinWidthLabel:$.inputLabel,children:[(0,x.jsxs)("span",{children:[n,R?"*":""]}),""!==N&&(0,x.jsx)("div",{className:$.tooltipContainer,children:(0,x.jsx)(l.Z,{title:N,placement:"top-start",children:(0,x.jsx)("div",{className:$.tooltip,children:(0,x.jsx)(h.Z,{})})})})]}),(0,x.jsxs)("div",{className:$.textBoxContainer,children:[(0,x.jsx)(Z,{id:d,name:u,fullWidth:!0,value:i,autoFocus:V,disabled:j,onChange:t,type:p,multiline:k,autoComplete:b,inputProps:X,error:""!==F,helperText:F,placeholder:B,className:$.inputRebase}),z&&(0,x.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,x.jsx)(c.Z,{onClick:A?function(){A()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:z})}),W&&(0,x.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==n?"withLabel":""),children:W})]})]})})}))},27207:function(e,n,t){var a=t(36222),o=t(18489),i=(t(50390),t(44977)),r=t(25594),s=t(82420),l=t(66695),c=t(98893),d=t(36554),u=t(94187),m=t(86509),p=t(4285),h=t(62449),f=t(72462),x=t(97538),v=t(62559),Z=(0,h.Z)((0,o.Z)({root:{"&:hover":{backgroundColor:"transparent"}}},f.FU)),b=function(e){var n=Z();return(0,v.jsx)(c.Z,(0,o.Z)({className:n.root,disableRipple:!0,color:"default",checkedIcon:(0,v.jsx)("span",{className:n.radioSelectedIcon}),icon:(0,v.jsx)("span",{className:n.radioUnselectedIcon})},e))};n.Z=(0,p.Z)((function(e){return(0,m.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},f.YI),f.Hr),{},{optionLabel:{"&.Mui-disabled":{"& .MuiFormControlLabel-label":{color:"#9c9c9c"}},"&:last-child":{marginRight:0},"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E"}},checkedOption:{"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E",fontWeight:700}}}))}))((function(e){var n=e.selectorOptions,t=void 0===n?[]:n,o=e.currentSelection,c=e.label,m=e.id,p=e.name,h=e.onChange,f=e.tooltip,Z=void 0===f?"":f,g=e.disableOptions,j=void 0!==g&&g,C=e.classes,k=e.displayInColumn,y=void 0!==k&&k;return(0,v.jsxs)(r.ZP,{container:!0,alignItems:"center",children:[(0,v.jsx)(r.ZP,{item:!0,xs:!0,children:(0,v.jsxs)(d.Z,{htmlFor:m,className:C.inputLabel,children:[(0,v.jsx)("span",{children:c}),""!==Z&&(0,v.jsx)("div",{className:C.tooltipContainer,children:(0,v.jsx)(u.Z,{title:Z,placement:"top-start",children:(0,v.jsx)("div",{children:(0,v.jsx)(x.Z,{})})})})]})}),(0,v.jsx)(r.ZP,{item:!0,xs:!0,className:C.radioOptionsLayout,children:(0,v.jsx)(s.Z,{"aria-label":m,id:m,name:p,value:o,onChange:h,row:!y,style:{display:"block",textAlign:"right"},children:t.map((function(e){return(0,v.jsx)(l.Z,{value:e.value,control:(0,v.jsx)(b,{}),label:e.label,disabled:j,className:(0,i.Z)(C.optionLabel,(0,a.Z)({},C.checkedOption,e.value===o))},"rd-".concat(p,"-").concat(e.value))}))})})]})}))},76352:function(e,n,t){t.d(n,{Z:function(){return M}});var a,o=t(23430),i=t(18489),r=t(50390),s=t(34424),l=t(95467),c=t(97771),d=t(84402),u=t(78426),m=t(93085),p=t(86509),h=t(4285),f=t(72462),x=t(44149),v=t(38342),Z=t.n(v),b=t(92125),g=t(19538),j=t(21278),C=t(62559),k=function(){clearInterval(a)},y={displayErrorMessage:x.zb},N=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),y)((0,h.Z)((function(e){return(0,p.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var n=e.classes,t=e.modalSnackMessage,i=e.displayErrorMessage,s=e.customStyle,l=(0,r.useState)(!1),c=(0,o.Z)(l,2),d=c[0],u=c[1],m=(0,r.useState)(!1),p=(0,o.Z)(m,2),h=p[0],f=p[1],x=(0,r.useCallback)((function(){f(!1)}),[]);(0,r.useEffect)((function(){h||(i({detailedError:"",errorMessage:""}),u(!1))}),[i,h]),(0,r.useEffect)((function(){""!==t.message&&"error"===t.type&&f(!0)}),[x,t.message,t.type]);var v=Z()(t,"message",""),y=Z()(t,"detailedErrorMsg","");return"error"!==t.type||""===v?null:(0,C.jsx)(r.Fragment,{children:(0,C.jsxs)("div",{className:"".concat(n.modalErrorContainer," ").concat(h?n.modalErrorShow:""),style:s,onMouseOver:k,onMouseLeave:function(){a=setInterval(x,1e4)},children:[(0,C.jsx)("button",{className:n.closeButton,onClick:x,children:(0,C.jsx)(j.Z,{})}),(0,C.jsxs)("div",{className:n.errorTitle,children:[(0,C.jsx)("span",{className:n.messageIcon,children:(0,C.jsx)(g.Z,{})}),(0,C.jsx)("span",{className:n.errorLabel,children:v})]}),""!==y&&(0,C.jsxs)(r.Fragment,{children:[(0,C.jsx)("div",{className:n.detailsContainerLink,children:(0,C.jsxs)("button",{className:n.detailsButton,onClick:function(){u(!d)},children:["Details",(0,C.jsx)(b.Z,{className:"".concat(n.arrowElement," ").concat(d?n.arrowOpen:"")})]})}),(0,C.jsx)("div",{className:"".concat(n.extraDetailsContainer," ").concat(d?n.extraDetailsOpen:""),children:y})]})]})})}))),S=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:x.MK}),M=(0,h.Z)((function(e){return(0,p.Z)((0,i.Z)((0,i.Z)({},f.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},f.sN))}))(S((function(e){var n=e.onClose,t=e.modalOpen,a=e.title,s=e.children,p=e.classes,h=e.wideLimit,f=void 0===h||h,x=e.modalSnackMessage,v=e.noContentPadding,Z=e.setModalSnackMessage,b=e.titleIcon,g=void 0===b?null:b,k=(0,r.useState)(!1),y=(0,o.Z)(k,2),S=y[0],M=y[1];(0,r.useEffect)((function(){Z("")}),[Z]),(0,r.useEffect)((function(){if(x){if(""===x.message)return void M(!1);"error"!==x.type&&M(!0)}}),[x]);var w=f?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},F="";return x&&(F=x.detailedErrorMsg,(""===x.detailedErrorMsg||x.detailedErrorMsg.length<5)&&(F=x.message)),(0,C.jsxs)(d.Z,(0,i.Z)((0,i.Z)({open:t,classes:p},w),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:p.root,children:[(0,C.jsxs)(u.Z,{className:p.title,children:[(0,C.jsxs)("div",{className:p.titleText,children:[g," ",a]}),(0,C.jsx)("div",{className:p.closeContainer,children:(0,C.jsx)(l.Z,{"aria-label":"close",className:p.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,C.jsx)(j.Z,{})})})]}),(0,C.jsx)(N,{}),(0,C.jsx)(c.Z,{open:S,className:p.snackBarModal,onClose:function(){M(!1),Z("")},message:F,ContentProps:{className:"".concat(p.snackBar," ").concat(x&&"error"===x.type?p.errorSnackBar:"")},autoHideDuration:x&&"error"===x.type?1e4:5e3}),(0,C.jsx)(m.Z,{className:v?"":p.content,children:s})]}))})))},16756:function(e,n,t){t.d(n,{Z:function(){return g}});var a=t(23430),o=t(1048),i=t(32793),r=t(50390),s=t(44977),l=t(50076),c=t(91442),d=t(8208),u=t(55386),m=t(23060),p=t(86875),h=t(10594);function f(e){return(0,h.Z)("PrivateSwitchBase",e)}(0,t(43349).Z)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var x=t(62559),v=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],Z=(0,d.ZP)(p.Z)((function(e){var n=e.ownerState;return(0,i.Z)({padding:9,borderRadius:"50%"},"start"===n.edge&&{marginLeft:"small"===n.size?-3:-12},"end"===n.edge&&{marginRight:"small"===n.size?-3:-12})})),b=(0,d.ZP)("input")({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),g=r.forwardRef((function(e,n){var t=e.autoFocus,r=e.checked,d=e.checkedIcon,p=e.className,h=e.defaultChecked,g=e.disabled,j=e.disableFocusRipple,C=void 0!==j&&j,k=e.edge,y=void 0!==k&&k,N=e.icon,S=e.id,M=e.inputProps,w=e.inputRef,F=e.name,I=e.onBlur,R=e.onChange,E=e.onFocus,B=e.readOnly,L=e.required,P=e.tabIndex,O=e.type,z=e.value,D=(0,o.Z)(e,v),W=(0,u.Z)({controlled:r,default:Boolean(h),name:"SwitchBase",state:"checked"}),T=(0,a.Z)(W,2),_=T[0],A=T[1],H=(0,m.Z)(),q=g;H&&"undefined"===typeof q&&(q=H.disabled);var U="checkbox"===O||"radio"===O,Y=(0,i.Z)({},e,{checked:_,disabled:q,disableFocusRipple:C,edge:y}),G=function(e){var n=e.classes,t=e.checked,a=e.disabled,o=e.edge,i={root:["root",t&&"checked",a&&"disabled",o&&"edge".concat((0,c.Z)(o))],input:["input"]};return(0,l.Z)(i,f,n)}(Y);return(0,x.jsxs)(Z,(0,i.Z)({component:"span",className:(0,s.Z)(G.root,p),centerRipple:!0,focusRipple:!C,disabled:q,tabIndex:null,role:void 0,onFocus:function(e){E&&E(e),H&&H.onFocus&&H.onFocus(e)},onBlur:function(e){I&&I(e),H&&H.onBlur&&H.onBlur(e)},ownerState:Y,ref:n},D,{children:[(0,x.jsx)(b,(0,i.Z)({autoFocus:t,checked:r,defaultChecked:h,className:G.input,disabled:q,id:U&&S,name:F,onChange:function(e){if(!e.nativeEvent.defaultPrevented){var n=e.target.checked;A(n),R&&R(e,n)}},readOnly:B,ref:w,required:L,ownerState:Y,tabIndex:P,type:O},"checkbox"===O&&void 0===z?{}:{value:z},M)),_?d:N]}))}))}}]); +//# sourceMappingURL=2966.fed828cf.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2966.c61fbf10.chunk.js.map b/portal-ui/build/static/js/2966.fed828cf.chunk.js.map similarity index 56% rename from portal-ui/build/static/js/2966.c61fbf10.chunk.js.map rename to portal-ui/build/static/js/2966.fed828cf.chunk.js.map index 49611b4e0..56ee8305e 100644 --- a/portal-ui/build/static/js/2966.c61fbf10.chunk.js.map +++ b/portal-ui/build/static/js/2966.fed828cf.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/2966.c61fbf10.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SetRetentionConfig.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","../node_modules/@mui/material/internal/switchBaseClasses.js","../node_modules/@mui/material/internal/SwitchBase.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, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Button, LinearProgress, CircularProgress } 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\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\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\";\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 setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst SetRetentionConfig = ({\n classes,\n open,\n bucketName,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: ISetRetentionConfigProps) => {\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 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 >\n Cancel\n \n \n Set\n \n \n {addLoading && (\n \n \n \n )}\n \n \n )}\n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(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 from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\n\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input')({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n/**\n * @ignore - internal component.\n */\n\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n\n let disabled = disabledProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor && id,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n}); // NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\n\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /*\n * @ignore\n */\n name: PropTypes.string,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;"],"names":["connector","connect","setModalErrorSnackMessage","withStyles","theme","createStyles","spacingUtils","createTenantCommon","formFieldStyles","modalStyleUtils","classes","open","bucketName","closeModalAndRefresh","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","color","size","variant","noValidate","autoComplete","onSubmit","e","preventDefault","container","item","xs","className","modalFormScrollable","formFieldRow","currentSelection","id","name","label","onChange","target","value","selectorOptions","type","valueAsNumber","String","required","min","modalButtonBar","disabled","onClick","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","multiline","tooltip","index","error","placeholder","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputProps","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","placement","fullWidth","helperText","inputRebase","disableFocusRipple","disableRipple","disableTouchRipple","radioStyles","root","backgroundColor","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","icon","radioUnselectedIcon","optionLabel","marginRight","fontSize","checkedOption","disableOptions","displayInColumn","alignItems","radioOptionsLayout","row","style","display","textAlign","map","selectorOption","control","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","marginTop","width","border","borderLeftWidth","borderRadius","zIndex","padding","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","cursor","errorTitle","errorLabel","marginLeft","messageIcon","height","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","detailedError","errorMessage","message","get","messageDetails","Fragment","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","getSwitchBaseUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","SwitchBaseRoot","styled","ButtonBase","ownerState","_extends","edge","SwitchBaseInput","margin","React","ref","checkedProp","checked","defaultChecked","disabledProp","inputRef","onBlur","onFocus","readOnly","tabIndex","other","_objectWithoutPropertiesLoose","useControlled","controlled","default","Boolean","setCheckedState","muiFormControl","useFormControl","hasLabelFor","slots","capitalize","input","composeClasses","useUtilityClasses","_jsxs","component","centerRipple","focusRipple","role","undefined","_jsx","nativeEvent","defaultPrevented","newChecked"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/2966.fed828cf.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SetRetentionConfig.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","../node_modules/@mui/material/internal/switchBaseClasses.js","../node_modules/@mui/material/internal/SwitchBase.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, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Button, LinearProgress, CircularProgress } 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\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\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\";\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 setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst SetRetentionConfig = ({\n classes,\n open,\n bucketName,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: ISetRetentionConfigProps) => {\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 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 >\n Cancel\n \n \n Set\n \n \n {addLoading && (\n \n \n \n )}\n \n \n )}\n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(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 from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\n\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input')({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n/**\n * @ignore - internal component.\n */\n\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n\n let disabled = disabledProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor && id,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n}); // NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\n\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /*\n * @ignore\n */\n name: PropTypes.string,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;"],"names":["connector","connect","setModalErrorSnackMessage","withStyles","theme","createStyles","spacingUtils","createTenantCommon","formFieldStyles","modalStyleUtils","classes","open","bucketName","closeModalAndRefresh","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","color","size","variant","noValidate","autoComplete","onSubmit","e","preventDefault","container","item","xs","className","modalFormScrollable","formFieldRow","currentSelection","id","name","label","onChange","target","value","selectorOptions","type","valueAsNumber","String","required","min","modalButtonBar","disabled","onClick","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","multiline","tooltip","index","error","placeholder","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputProps","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","placement","fullWidth","helperText","inputRebase","disableFocusRipple","disableRipple","disableTouchRipple","radioStyles","root","backgroundColor","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","icon","radioUnselectedIcon","optionLabel","marginRight","fontSize","checkedOption","disableOptions","displayInColumn","alignItems","radioOptionsLayout","row","style","display","textAlign","map","selectorOption","control","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","marginTop","width","border","borderLeftWidth","borderRadius","zIndex","padding","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","cursor","errorTitle","errorLabel","marginLeft","messageIcon","height","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","detailedError","errorMessage","message","get","messageDetails","Fragment","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","getSwitchBaseUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","SwitchBaseRoot","styled","ButtonBase","ownerState","_extends","edge","SwitchBaseInput","margin","React","ref","checkedProp","checked","defaultChecked","disabledProp","inputRef","onBlur","onFocus","readOnly","tabIndex","other","_objectWithoutPropertiesLoose","useControlled","controlled","default","Boolean","setCheckedState","muiFormControl","useFormControl","hasLabelFor","slots","capitalize","input","composeClasses","useUtilityClasses","_jsxs","component","centerRipple","focusRipple","role","undefined","_jsx","nativeEvent","defaultPrevented","newChecked"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3045.0dea1c04.chunk.js b/portal-ui/build/static/js/3045.0dea1c04.chunk.js new file mode 100644 index 000000000..eff095ccd --- /dev/null +++ b/portal-ui/build/static/js/3045.0dea1c04.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3045,9056,4105],{4247:function(e,t,n){n.d(t,{V:function(){return o}});var r=n(10594);function o(e){return(0,r.Z)("MuiDivider",e)}var a=(0,n(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=a},31680:function(e,t,n){n.d(t,{Z:function(){return R}});var r=n(36222),o=n(1048),a=n(32793),i=n(50390),c=n(44977),u=n(50076),d=n(36128),s=n(8208),l=n(15573),p=n(57308),f=n(86875),h=n(40839),m=n(3299),g=n(4247),v=n(2198),b=n(23586),Z=n(10594);function w(e){return(0,Z.Z)("MuiMenuItem",e)}var k=(0,n(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),x=n(62559),y=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],S=(0,s.ZP)(f.Z,{shouldForwardProp:function(e){return(0,s.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,o=e.ownerState;return(0,a.Z)({},n.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!o.disableGutters&&{paddingLeft:16,paddingRight:16},o.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,r.Z)(t,"&.".concat(k.selected),(0,r.Z)({backgroundColor:(0,d.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(k.focusVisible),{backgroundColor:(0,d.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,r.Z)(t,"&.".concat(k.selected,":hover"),{backgroundColor:(0,d.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,d.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,r.Z)(t,"&.".concat(k.focusVisible),{backgroundColor:n.palette.action.focus}),(0,r.Z)(t,"&.".concat(k.disabled),{opacity:n.palette.action.disabledOpacity}),(0,r.Z)(t,"& + .".concat(g.Z.root),{marginTop:n.spacing(1),marginBottom:n.spacing(1)}),(0,r.Z)(t,"& + .".concat(g.Z.inset),{marginLeft:52}),(0,r.Z)(t,"& .".concat(b.Z.root),{marginTop:0,marginBottom:0}),(0,r.Z)(t,"& .".concat(b.Z.inset),{paddingLeft:36}),(0,r.Z)(t,"& .".concat(v.Z.root),{minWidth:36}),t),!o.dense&&(0,r.Z)({},n.breakpoints.up("sm"),{minHeight:"auto"}),o.dense&&(0,a.Z)({minHeight:32,paddingTop:4,paddingBottom:4},n.typography.body2,(0,r.Z)({},"& .".concat(v.Z.root," svg"),{fontSize:"1.25rem"})))})),R=i.forwardRef((function(e,t){var n=(0,l.Z)({props:e,name:"MuiMenuItem"}),r=n.autoFocus,d=void 0!==r&&r,s=n.component,f=void 0===s?"li":s,g=n.dense,v=void 0!==g&&g,b=n.divider,Z=void 0!==b&&b,k=n.disableGutters,R=void 0!==k&&k,C=n.focusVisibleClassName,F=n.role,B=void 0===F?"menuitem":F,M=n.tabIndex,I=(0,o.Z)(n,y),z=i.useContext(p.Z),P={dense:v||z.dense||!1,disableGutters:R},O=i.useRef(null);(0,h.Z)((function(){d&&O.current&&O.current.focus()}),[d]);var N,j=(0,a.Z)({},n,{dense:P.dense,divider:Z,disableGutters:R}),q=function(e){var t=e.disabled,n=e.dense,r=e.divider,o=e.disableGutters,i=e.selected,c=e.classes,d={root:["root",n&&"dense",t&&"disabled",!o&&"gutters",r&&"divider",i&&"selected"]},s=(0,u.Z)(d,w,c);return(0,a.Z)({},c,s)}(n),V=(0,m.Z)(O,t);return n.disabled||(N=void 0!==M?M:-1),(0,x.jsx)(p.Z.Provider,{value:P,children:(0,x.jsx)(S,(0,a.Z)({ref:V,role:B,tabIndex:N,component:f,focusVisibleClassName:(0,c.Z)(q.focusVisible,C)},I,{ownerState:j,classes:q}))})}))},49056:function(e,t,n){n.d(t,{Z:function(){return y}});var r=n(36222),o=n(1048),a=n(32793),i=n(50390),c=n(44977),u=n(50076),d=n(36128),s=n(91442),l=n(16756),p=n(15573),f=n(8208),h=n(10594);function m(e){return(0,h.Z)("MuiSwitch",e)}var g=(0,n(43349).Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),v=n(62559),b=["className","color","edge","size","sx"],Z=(0,f.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.edge&&t["edge".concat((0,s.Z)(n.edge))],t["size".concat((0,s.Z)(n.size))]]}})((function(e){var t,n=e.ownerState;return(0,a.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===n.edge&&{marginLeft:-8},"end"===n.edge&&{marginRight:-8},"small"===n.size&&(t={width:40,height:24,padding:7},(0,r.Z)(t,"& .".concat(g.thumb),{width:16,height:16}),(0,r.Z)(t,"& .".concat(g.switchBase),(0,r.Z)({padding:4},"&.".concat(g.checked),{transform:"translateX(16px)"})),t))})),w=(0,f.ZP)(l.Z,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(e,t){var n=e.ownerState;return[t.switchBase,(0,r.Z)({},"& .".concat(g.input),t.input),"default"!==n.color&&t["color".concat((0,s.Z)(n.color))]]}})((function(e){var t,n=e.theme;return t={position:"absolute",top:0,left:0,zIndex:1,color:"light"===n.palette.mode?n.palette.common.white:n.palette.grey[300],transition:n.transitions.create(["left","transform"],{duration:n.transitions.duration.shortest})},(0,r.Z)(t,"&.".concat(g.checked),{transform:"translateX(20px)"}),(0,r.Z)(t,"&.".concat(g.disabled),{color:"light"===n.palette.mode?n.palette.grey[100]:n.palette.grey[600]}),(0,r.Z)(t,"&.".concat(g.checked," + .").concat(g.track),{opacity:.5}),(0,r.Z)(t,"&.".concat(g.disabled," + .").concat(g.track),{opacity:"light"===n.palette.mode?.12:.2}),(0,r.Z)(t,"& .".concat(g.input),{left:"-100%",width:"300%"}),t}),(function(e){var t,n=e.theme,o=e.ownerState;return(0,a.Z)({"&:hover":{backgroundColor:(0,d.Fq)(n.palette.action.active,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==o.color&&(t={},(0,r.Z)(t,"&.".concat(g.checked),(0,r.Z)({color:n.palette[o.color].main,"&:hover":{backgroundColor:(0,d.Fq)(n.palette[o.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(g.disabled),{color:"light"===n.palette.mode?(0,d.$n)(n.palette[o.color].main,.62):(0,d._j)(n.palette[o.color].main,.55)})),(0,r.Z)(t,"&.".concat(g.checked," + .").concat(g.track),{backgroundColor:n.palette[o.color].main}),t))})),k=(0,f.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(e,t){return t.track}})((function(e){var t=e.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:"light"===t.palette.mode?t.palette.common.black:t.palette.common.white,opacity:"light"===t.palette.mode?.38:.3}})),x=(0,f.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(e,t){return t.thumb}})((function(e){return{boxShadow:e.theme.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),y=i.forwardRef((function(e,t){var n=(0,p.Z)({props:e,name:"MuiSwitch"}),r=n.className,i=n.color,d=void 0===i?"primary":i,l=n.edge,f=void 0!==l&&l,h=n.size,g=void 0===h?"medium":h,y=n.sx,S=(0,o.Z)(n,b),R=(0,a.Z)({},n,{color:d,edge:f,size:g}),C=function(e){var t=e.classes,n=e.edge,r=e.size,o=e.color,i=e.checked,c=e.disabled,d={root:["root",n&&"edge".concat((0,s.Z)(n)),"size".concat((0,s.Z)(r))],switchBase:["switchBase","color".concat((0,s.Z)(o)),i&&"checked",c&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},l=(0,u.Z)(d,m,t);return(0,a.Z)({},t,l)}(R),F=(0,v.jsx)(x,{className:C.thumb,ownerState:R});return(0,v.jsxs)(Z,{className:(0,c.Z)(C.root,r),sx:y,ownerState:R,children:[(0,v.jsx)(w,(0,a.Z)({type:"checkbox",icon:F,checkedIcon:F,ref:t,ownerState:R},S,{classes:(0,a.Z)({},C,{root:C.switchBase})})),(0,v.jsx)(k,{className:C.track,ownerState:R})]})}))},16756:function(e,t,n){n.d(t,{Z:function(){return w}});var r=n(23430),o=n(1048),a=n(32793),i=n(50390),c=n(44977),u=n(50076),d=n(91442),s=n(8208),l=n(55386),p=n(23060),f=n(86875),h=n(10594);function m(e){return(0,h.Z)("PrivateSwitchBase",e)}(0,n(43349).Z)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var g=n(62559),v=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],b=(0,s.ZP)(f.Z)((function(e){var t=e.ownerState;return(0,a.Z)({padding:9,borderRadius:"50%"},"start"===t.edge&&{marginLeft:"small"===t.size?-3:-12},"end"===t.edge&&{marginRight:"small"===t.size?-3:-12})})),Z=(0,s.ZP)("input")({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),w=i.forwardRef((function(e,t){var n=e.autoFocus,i=e.checked,s=e.checkedIcon,f=e.className,h=e.defaultChecked,w=e.disabled,k=e.disableFocusRipple,x=void 0!==k&&k,y=e.edge,S=void 0!==y&&y,R=e.icon,C=e.id,F=e.inputProps,B=e.inputRef,M=e.name,I=e.onBlur,z=e.onChange,P=e.onFocus,O=e.readOnly,N=e.required,j=e.tabIndex,q=e.type,V=e.value,T=(0,o.Z)(e,v),A=(0,l.Z)({controlled:i,default:Boolean(h),name:"SwitchBase",state:"checked"}),D=(0,r.Z)(A,2),G=D[0],E=D[1],L=(0,p.Z)(),W=w;L&&"undefined"===typeof W&&(W=L.disabled);var H="checkbox"===q||"radio"===q,_=(0,a.Z)({},e,{checked:G,disabled:W,disableFocusRipple:x,edge:S}),X=function(e){var t=e.classes,n=e.checked,r=e.disabled,o=e.edge,a={root:["root",n&&"checked",r&&"disabled",o&&"edge".concat((0,d.Z)(o))],input:["input"]};return(0,u.Z)(a,m,t)}(_);return(0,g.jsxs)(b,(0,a.Z)({component:"span",className:(0,c.Z)(X.root,f),centerRipple:!0,focusRipple:!x,disabled:W,tabIndex:null,role:void 0,onFocus:function(e){P&&P(e),L&&L.onFocus&&L.onFocus(e)},onBlur:function(e){I&&I(e),L&&L.onBlur&&L.onBlur(e)},ownerState:_,ref:t},T,{children:[(0,g.jsx)(Z,(0,a.Z)({autoFocus:n,checked:i,defaultChecked:h,className:X.input,disabled:W,id:H&&C,name:M,onChange:function(e){if(!e.nativeEvent.defaultPrevented){var t=e.target.checked;E(t),z&&z(e,t)}},readOnly:O,ref:B,required:N,ownerState:_,tabIndex:j,type:q},"checkbox"===q&&void 0===V?{}:{value:V},F)),G?s:R]}))}))},89054:function(e,t,n){n.d(t,{Z:function(){return i}});var r=n(50390);function o(e,t){return e===t}function a(e){return"function"===typeof e?function(){return e}:e}function i(e,t,n){var i=n&&n.equalityFn||o,c=function(e){var t=(0,r.useState)(a(e)),n=t[0],o=t[1];return[n,(0,r.useCallback)((function(e){return o(a(e))}),[])]}(e),u=c[0],d=c[1],s=function(e,t,n){var o=this,a=(0,r.useRef)(null),i=(0,r.useRef)(0),c=(0,r.useRef)(null),u=(0,r.useRef)([]),d=(0,r.useRef)(),s=(0,r.useRef)(),l=(0,r.useRef)(e),p=(0,r.useRef)(!0);l.current=e;var f=!t&&0!==t&&"undefined"!==typeof window;if("function"!==typeof e)throw new TypeError("Expected a function");t=+t||0;var h=!!(n=n||{}).leading,m=!("trailing"in n)||!!n.trailing,g="maxWait"in n,v=g?Math.max(+n.maxWait||0,t):null;(0,r.useEffect)((function(){return p.current=!0,function(){p.current=!1}}),[]);var b=(0,r.useMemo)((function(){var e=function(e){var t=u.current,n=d.current;return u.current=d.current=null,i.current=e,s.current=l.current.apply(n,t)},n=function(e,t){f&&cancelAnimationFrame(c.current),c.current=f?requestAnimationFrame(e):setTimeout(e,t)},r=function(e){if(!p.current)return!1;var n=e-a.current,r=e-i.current;return!a.current||n>=t||n<0||g&&r>=v},b=function(t){return c.current=null,m&&u.current?e(t):(u.current=d.current=null,s.current)},Z=function e(){var o=Date.now();if(r(o))return b(o);if(p.current){var c=o-a.current,u=o-i.current,d=t-c,s=g?Math.min(d,v-u):d;n(e,s)}},w=function(){for(var l=[],f=0;f {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, darken, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n}, ownerState.edge === 'start' && {\n marginLeft: -8\n}, ownerState.edge === 'end' && {\n marginRight: -8\n}, ownerState.size === 'small' && {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n}));\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.palette.mode === 'light' ? 0.12 : 0.2\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({\n '&:hover': {\n backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${switchClasses.checked}`]: {\n color: theme.palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: theme.palette[ownerState.color].main\n }\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.mode === 'light' ? 0.38 : 0.3\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\n\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input')({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n/**\n * @ignore - internal component.\n */\n\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n\n let disabled = disabledProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor && id,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n}); // NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\n\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /*\n * @ignore\n */\n name: PropTypes.string,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;","import { useCallback, useRef, useState } from 'react';\nimport useDebouncedCallback from './useDebouncedCallback';\nfunction valueEquality(left, right) {\n return left === right;\n}\nfunction adjustFunctionValueOfSetState(value) {\n return typeof value === 'function' ? function () { return value; } : value;\n}\nfunction useStateIgnoreCallback(initialState) {\n var _a = useState(adjustFunctionValueOfSetState(initialState)), state = _a[0], setState = _a[1];\n var setStateIgnoreCallback = useCallback(function (value) { return setState(adjustFunctionValueOfSetState(value)); }, []);\n return [state, setStateIgnoreCallback];\n}\nexport default function useDebounce(value, delay, options) {\n var eq = (options && options.equalityFn) || valueEquality;\n var _a = useStateIgnoreCallback(value), state = _a[0], dispatch = _a[1];\n var debounced = useDebouncedCallback(useCallback(function (value) { return dispatch(value); }, [dispatch]), delay, options);\n var previousValue = useRef(value);\n if (!eq(previousValue.current, value)) {\n debounced(value);\n previousValue.current = value;\n }\n return [state, debounced];\n}\n","import { useRef, useEffect, useMemo } from 'react';\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked, or until the next browser frame is drawn. The debounced function\n * comes with a `cancel` method to cancel delayed `func` invocations and a\n * `flush` method to immediately invoke them. Provide `options` to indicate\n * whether `func` should be invoked on the leading and/or trailing edge of the\n * `wait` timeout. The `func` is invoked with the last arguments provided to the\n * debounced function. Subsequent calls to the debounced function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * If `wait` is omitted in an environment with `requestAnimationFrame`, `func`\n * invocation will be deferred until the next frame is drawn (typically about\n * 16ms).\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `debounce` and `throttle`.\n *\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0]\n * The number of milliseconds to delay; if omitted, `requestAnimationFrame` is\n * used (if available, otherwise it will be setTimeout(...,0)).\n * @param {Object} [options={}] The options object.\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.leading=false]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {number} [options.maxWait]\n * Specify invoking on the trailing edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * const resizeHandler = useDebouncedCallback(calculateLayout, 150);\n * window.addEventListener('resize', resizeHandler)\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * const clickHandler = useDebouncedCallback(sendMail, 300, {\n * leading: true,\n * trailing: false,\n * })\n * \n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * const debounced = useDebouncedCallback(batchLog, 250, { 'maxWait': 1000 })\n * const source = new EventSource('/stream')\n * source.addEventListener('message', debounced)\n *\n * // Cancel the trailing debounced invocation.\n * window.addEventListener('popstate', debounced.cancel)\n *\n * // Check for pending invocations.\n * const status = debounced.pending() ? \"Pending...\" : \"Ready\"\n */\nexport default function useDebouncedCallback(func, wait, options) {\n var _this = this;\n var lastCallTime = useRef(null);\n var lastInvokeTime = useRef(0);\n var timerId = useRef(null);\n var lastArgs = useRef([]);\n var lastThis = useRef();\n var result = useRef();\n var funcRef = useRef(func);\n var mounted = useRef(true);\n funcRef.current = func;\n // Bypass `requestAnimationFrame` by explicitly setting `wait=0`.\n var useRAF = !wait && wait !== 0 && typeof window !== 'undefined';\n if (typeof func !== 'function') {\n throw new TypeError('Expected a function');\n }\n wait = +wait || 0;\n options = options || {};\n var leading = !!options.leading;\n var trailing = 'trailing' in options ? !!options.trailing : true; // `true` by default\n var maxing = 'maxWait' in options;\n var maxWait = maxing ? Math.max(+options.maxWait || 0, wait) : null;\n useEffect(function () {\n mounted.current = true;\n return function () {\n mounted.current = false;\n };\n }, []);\n // You may have a question, why we have so many code under the useMemo definition.\n //\n // This was made as we want to escape from useCallback hell and\n // not to initialize a number of functions each time useDebouncedCallback is called.\n //\n // It means that we have less garbage for our GC calls which improves performance.\n // Also, it makes this library smaller.\n //\n // And the last reason, that the code without lots of useCallback with deps is easier to read.\n // You have only one place for that.\n var debounced = useMemo(function () {\n var invokeFunc = function (time) {\n var args = lastArgs.current;\n var thisArg = lastThis.current;\n lastArgs.current = lastThis.current = null;\n lastInvokeTime.current = time;\n return (result.current = funcRef.current.apply(thisArg, args));\n };\n var startTimer = function (pendingFunc, wait) {\n if (useRAF)\n cancelAnimationFrame(timerId.current);\n timerId.current = useRAF ? requestAnimationFrame(pendingFunc) : setTimeout(pendingFunc, wait);\n };\n var shouldInvoke = function (time) {\n if (!mounted.current)\n return false;\n var timeSinceLastCall = time - lastCallTime.current;\n var timeSinceLastInvoke = time - lastInvokeTime.current;\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (!lastCallTime.current ||\n timeSinceLastCall >= wait ||\n timeSinceLastCall < 0 ||\n (maxing && timeSinceLastInvoke >= maxWait));\n };\n var trailingEdge = function (time) {\n timerId.current = null;\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs.current) {\n return invokeFunc(time);\n }\n lastArgs.current = lastThis.current = null;\n return result.current;\n };\n var timerExpired = function () {\n var time = Date.now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // https://github.com/xnimorz/use-debounce/issues/97\n if (!mounted.current) {\n return;\n }\n // Remaining wait calculation\n var timeSinceLastCall = time - lastCallTime.current;\n var timeSinceLastInvoke = time - lastInvokeTime.current;\n var timeWaiting = wait - timeSinceLastCall;\n var remainingWait = maxing ? Math.min(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;\n // Restart the timer\n startTimer(timerExpired, remainingWait);\n };\n var func = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var time = Date.now();\n var isInvoking = shouldInvoke(time);\n lastArgs.current = args;\n lastThis.current = _this;\n lastCallTime.current = time;\n if (isInvoking) {\n if (!timerId.current && mounted.current) {\n // Reset any `maxWait` timer.\n lastInvokeTime.current = lastCallTime.current;\n // Start the timer for the trailing edge.\n startTimer(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(lastCallTime.current) : result.current;\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n startTimer(timerExpired, wait);\n return invokeFunc(lastCallTime.current);\n }\n }\n if (!timerId.current) {\n startTimer(timerExpired, wait);\n }\n return result.current;\n };\n func.cancel = function () {\n if (timerId.current) {\n useRAF ? cancelAnimationFrame(timerId.current) : clearTimeout(timerId.current);\n }\n lastInvokeTime.current = 0;\n lastArgs.current = lastCallTime.current = lastThis.current = timerId.current = null;\n };\n func.isPending = function () {\n return !!timerId.current;\n };\n func.flush = function () {\n return !timerId.current ? result.current : trailingEdge(Date.now());\n };\n return func;\n }, [leading, maxing, wait, maxWait, trailing, useRAF]);\n return debounced;\n}\n"],"names":["getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","styled","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","ownerState","root","dense","divider","disableGutters","gutters","theme","_extends","typography","body1","display","justifyContent","alignItems","position","textDecoration","minHeight","paddingTop","paddingBottom","boxSizing","whiteSpace","paddingLeft","paddingRight","borderBottom","palette","backgroundClip","backgroundColor","action","hover","menuItemClasses","alpha","primary","main","selectedOpacity","focusOpacity","hoverOpacity","focus","opacity","disabledOpacity","marginTop","spacing","marginBottom","marginLeft","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","fontSize","React","inProps","ref","useThemeProps","autoFocus","component","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","classes","disabled","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","undefined","_jsx","value","children","clsx","focusVisible","getSwitchUtilityClass","SwitchRoot","edge","capitalize","size","width","height","overflow","padding","flexShrink","zIndex","verticalAlign","colorAdjust","marginRight","switchClasses","transform","SwitchSwitchBase","SwitchBase","switchBase","input","color","top","left","mode","common","white","grey","transition","transitions","create","duration","shortest","active","lighten","darken","SwitchTrack","track","borderRadius","black","SwitchThumb","thumb","boxShadow","shadows","className","sx","checked","icon","_jsxs","type","checkedIcon","getSwitchBaseUtilityClass","SwitchBaseRoot","SwitchBaseInput","cursor","margin","checkedProp","defaultChecked","disabledProp","disableFocusRipple","id","inputProps","inputRef","onBlur","onChange","onFocus","readOnly","required","useControlled","controlled","default","Boolean","state","setCheckedState","muiFormControl","useFormControl","hasLabelFor","centerRipple","focusRipple","event","nativeEvent","defaultPrevented","newChecked","target","valueEquality","right","adjustFunctionValueOfSetState","useDebounce","delay","options","eq","equalityFn","_a","initialState","useState","setState","useCallback","useStateIgnoreCallback","dispatch","debounced","func","wait","_this","this","lastCallTime","useRef","lastInvokeTime","timerId","lastArgs","lastThis","result","funcRef","mounted","useRAF","window","TypeError","leading","trailing","maxing","maxWait","Math","max","useEffect","useMemo","invokeFunc","time","args","thisArg","apply","startTimer","pendingFunc","cancelAnimationFrame","requestAnimationFrame","setTimeout","shouldInvoke","timeSinceLastCall","timeSinceLastInvoke","trailingEdge","timerExpired","Date","now","timeWaiting","remainingWait","min","_i","arguments","length","isInvoking","cancel","clearTimeout","isPending","flush","useDebouncedCallback","previousValue"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/3045.0dea1c04.chunk.js","mappings":"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","sources":["../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js","../node_modules/@mui/material/Switch/switchClasses.js","../node_modules/@mui/material/Switch/Switch.js","../node_modules/@mui/material/internal/switchBaseClasses.js","../node_modules/@mui/material/internal/SwitchBase.js","../node_modules/use-debounce/esm/useDebounce.js","../node_modules/use-debounce/esm/useDebouncedCallback.js"],"sourcesContent":["import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, darken, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n}, ownerState.edge === 'start' && {\n marginLeft: -8\n}, ownerState.edge === 'end' && {\n marginRight: -8\n}, ownerState.size === 'small' && {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n}));\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.palette.mode === 'light' ? 0.12 : 0.2\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({\n '&:hover': {\n backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${switchClasses.checked}`]: {\n color: theme.palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: theme.palette[ownerState.color].main\n }\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.mode === 'light' ? 0.38 : 0.3\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\n\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input')({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n/**\n * @ignore - internal component.\n */\n\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n\n let disabled = disabledProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor && id,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n}); // NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\n\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /*\n * @ignore\n */\n name: PropTypes.string,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;","import { useCallback, useRef, useState } from 'react';\nimport useDebouncedCallback from './useDebouncedCallback';\nfunction valueEquality(left, right) {\n return left === right;\n}\nfunction adjustFunctionValueOfSetState(value) {\n return typeof value === 'function' ? function () { return value; } : value;\n}\nfunction useStateIgnoreCallback(initialState) {\n var _a = useState(adjustFunctionValueOfSetState(initialState)), state = _a[0], setState = _a[1];\n var setStateIgnoreCallback = useCallback(function (value) { return setState(adjustFunctionValueOfSetState(value)); }, []);\n return [state, setStateIgnoreCallback];\n}\nexport default function useDebounce(value, delay, options) {\n var eq = (options && options.equalityFn) || valueEquality;\n var _a = useStateIgnoreCallback(value), state = _a[0], dispatch = _a[1];\n var debounced = useDebouncedCallback(useCallback(function (value) { return dispatch(value); }, [dispatch]), delay, options);\n var previousValue = useRef(value);\n if (!eq(previousValue.current, value)) {\n debounced(value);\n previousValue.current = value;\n }\n return [state, debounced];\n}\n","import { useRef, useEffect, useMemo } from 'react';\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked, or until the next browser frame is drawn. The debounced function\n * comes with a `cancel` method to cancel delayed `func` invocations and a\n * `flush` method to immediately invoke them. Provide `options` to indicate\n * whether `func` should be invoked on the leading and/or trailing edge of the\n * `wait` timeout. The `func` is invoked with the last arguments provided to the\n * debounced function. Subsequent calls to the debounced function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * If `wait` is omitted in an environment with `requestAnimationFrame`, `func`\n * invocation will be deferred until the next frame is drawn (typically about\n * 16ms).\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `debounce` and `throttle`.\n *\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0]\n * The number of milliseconds to delay; if omitted, `requestAnimationFrame` is\n * used (if available, otherwise it will be setTimeout(...,0)).\n * @param {Object} [options={}] The options object.\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.leading=false]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {number} [options.maxWait]\n * Specify invoking on the trailing edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * const resizeHandler = useDebouncedCallback(calculateLayout, 150);\n * window.addEventListener('resize', resizeHandler)\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * const clickHandler = useDebouncedCallback(sendMail, 300, {\n * leading: true,\n * trailing: false,\n * })\n * \n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * const debounced = useDebouncedCallback(batchLog, 250, { 'maxWait': 1000 })\n * const source = new EventSource('/stream')\n * source.addEventListener('message', debounced)\n *\n * // Cancel the trailing debounced invocation.\n * window.addEventListener('popstate', debounced.cancel)\n *\n * // Check for pending invocations.\n * const status = debounced.pending() ? \"Pending...\" : \"Ready\"\n */\nexport default function useDebouncedCallback(func, wait, options) {\n var _this = this;\n var lastCallTime = useRef(null);\n var lastInvokeTime = useRef(0);\n var timerId = useRef(null);\n var lastArgs = useRef([]);\n var lastThis = useRef();\n var result = useRef();\n var funcRef = useRef(func);\n var mounted = useRef(true);\n funcRef.current = func;\n // Bypass `requestAnimationFrame` by explicitly setting `wait=0`.\n var useRAF = !wait && wait !== 0 && typeof window !== 'undefined';\n if (typeof func !== 'function') {\n throw new TypeError('Expected a function');\n }\n wait = +wait || 0;\n options = options || {};\n var leading = !!options.leading;\n var trailing = 'trailing' in options ? !!options.trailing : true; // `true` by default\n var maxing = 'maxWait' in options;\n var maxWait = maxing ? Math.max(+options.maxWait || 0, wait) : null;\n useEffect(function () {\n mounted.current = true;\n return function () {\n mounted.current = false;\n };\n }, []);\n // You may have a question, why we have so many code under the useMemo definition.\n //\n // This was made as we want to escape from useCallback hell and\n // not to initialize a number of functions each time useDebouncedCallback is called.\n //\n // It means that we have less garbage for our GC calls which improves performance.\n // Also, it makes this library smaller.\n //\n // And the last reason, that the code without lots of useCallback with deps is easier to read.\n // You have only one place for that.\n var debounced = useMemo(function () {\n var invokeFunc = function (time) {\n var args = lastArgs.current;\n var thisArg = lastThis.current;\n lastArgs.current = lastThis.current = null;\n lastInvokeTime.current = time;\n return (result.current = funcRef.current.apply(thisArg, args));\n };\n var startTimer = function (pendingFunc, wait) {\n if (useRAF)\n cancelAnimationFrame(timerId.current);\n timerId.current = useRAF ? requestAnimationFrame(pendingFunc) : setTimeout(pendingFunc, wait);\n };\n var shouldInvoke = function (time) {\n if (!mounted.current)\n return false;\n var timeSinceLastCall = time - lastCallTime.current;\n var timeSinceLastInvoke = time - lastInvokeTime.current;\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (!lastCallTime.current ||\n timeSinceLastCall >= wait ||\n timeSinceLastCall < 0 ||\n (maxing && timeSinceLastInvoke >= maxWait));\n };\n var trailingEdge = function (time) {\n timerId.current = null;\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs.current) {\n return invokeFunc(time);\n }\n lastArgs.current = lastThis.current = null;\n return result.current;\n };\n var timerExpired = function () {\n var time = Date.now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // https://github.com/xnimorz/use-debounce/issues/97\n if (!mounted.current) {\n return;\n }\n // Remaining wait calculation\n var timeSinceLastCall = time - lastCallTime.current;\n var timeSinceLastInvoke = time - lastInvokeTime.current;\n var timeWaiting = wait - timeSinceLastCall;\n var remainingWait = maxing ? Math.min(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;\n // Restart the timer\n startTimer(timerExpired, remainingWait);\n };\n var func = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var time = Date.now();\n var isInvoking = shouldInvoke(time);\n lastArgs.current = args;\n lastThis.current = _this;\n lastCallTime.current = time;\n if (isInvoking) {\n if (!timerId.current && mounted.current) {\n // Reset any `maxWait` timer.\n lastInvokeTime.current = lastCallTime.current;\n // Start the timer for the trailing edge.\n startTimer(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(lastCallTime.current) : result.current;\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n startTimer(timerExpired, wait);\n return invokeFunc(lastCallTime.current);\n }\n }\n if (!timerId.current) {\n startTimer(timerExpired, wait);\n }\n return result.current;\n };\n func.cancel = function () {\n if (timerId.current) {\n useRAF ? cancelAnimationFrame(timerId.current) : clearTimeout(timerId.current);\n }\n lastInvokeTime.current = 0;\n lastArgs.current = lastCallTime.current = lastThis.current = timerId.current = null;\n };\n func.isPending = function () {\n return !!timerId.current;\n };\n func.flush = function () {\n return !timerId.current ? result.current : trailingEdge(Date.now());\n };\n return func;\n }, [leading, maxing, wait, maxWait, trailing, useRAF]);\n return debounced;\n}\n"],"names":["getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","styled","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","ownerState","root","dense","divider","disableGutters","gutters","theme","_extends","typography","body1","display","justifyContent","alignItems","position","textDecoration","minHeight","paddingTop","paddingBottom","boxSizing","whiteSpace","paddingLeft","paddingRight","borderBottom","palette","backgroundClip","backgroundColor","action","hover","menuItemClasses","alpha","primary","main","selectedOpacity","focusOpacity","hoverOpacity","focus","opacity","disabledOpacity","marginTop","spacing","marginBottom","marginLeft","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","fontSize","React","inProps","ref","useThemeProps","autoFocus","component","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","classes","disabled","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","undefined","_jsx","value","children","clsx","focusVisible","getSwitchUtilityClass","SwitchRoot","edge","capitalize","size","width","height","overflow","padding","flexShrink","zIndex","verticalAlign","colorAdjust","marginRight","switchClasses","transform","SwitchSwitchBase","SwitchBase","switchBase","input","color","top","left","mode","common","white","grey","transition","transitions","create","duration","shortest","active","lighten","darken","SwitchTrack","track","borderRadius","black","SwitchThumb","thumb","boxShadow","shadows","className","sx","checked","icon","_jsxs","type","checkedIcon","getSwitchBaseUtilityClass","SwitchBaseRoot","SwitchBaseInput","cursor","margin","checkedProp","defaultChecked","disabledProp","disableFocusRipple","id","inputProps","inputRef","onBlur","onChange","onFocus","readOnly","required","useControlled","controlled","default","Boolean","state","setCheckedState","muiFormControl","useFormControl","hasLabelFor","centerRipple","focusRipple","event","nativeEvent","defaultPrevented","newChecked","target","valueEquality","right","adjustFunctionValueOfSetState","useDebounce","delay","options","eq","equalityFn","_a","initialState","useState","setState","useCallback","useStateIgnoreCallback","dispatch","debounced","func","wait","_this","this","lastCallTime","useRef","lastInvokeTime","timerId","lastArgs","lastThis","result","funcRef","mounted","useRAF","window","TypeError","leading","trailing","maxing","maxWait","Math","max","useEffect","useMemo","invokeFunc","time","args","thisArg","apply","startTimer","pendingFunc","cancelAnimationFrame","requestAnimationFrame","setTimeout","shouldInvoke","timeSinceLastCall","timeSinceLastInvoke","trailingEdge","timerExpired","Date","now","timeWaiting","remainingWait","min","_i","arguments","length","isInvoking","cancel","clearTimeout","isPending","flush","useDebouncedCallback","previousValue"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3045.f1cc8d42.chunk.js b/portal-ui/build/static/js/3045.f1cc8d42.chunk.js deleted file mode 100644 index d73cb4319..000000000 --- a/portal-ui/build/static/js/3045.f1cc8d42.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3045,9056,6851,4105],{4247:function(e,t,n){n.d(t,{V:function(){return o}});var r=n(10594);function o(e){return(0,r.Z)("MuiDivider",e)}var a=(0,n(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=a},31680:function(e,t,n){n.d(t,{Z:function(){return R}});var r=n(36222),o=n(1048),a=n(32793),i=n(50390),c=n(44977),u=n(50076),d=n(36128),s=n(8208),l=n(15573),p=n(57308),f=n(86875),h=n(40839),m=n(3299),g=n(4247),v=n(2198),b=n(23586),Z=n(10594);function w(e){return(0,Z.Z)("MuiMenuItem",e)}var k=(0,n(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),x=n(62559),y=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],S=(0,s.ZP)(f.Z,{shouldForwardProp:function(e){return(0,s.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,o=e.ownerState;return(0,a.Z)({},n.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!o.disableGutters&&{paddingLeft:16,paddingRight:16},o.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,r.Z)(t,"&.".concat(k.selected),(0,r.Z)({backgroundColor:(0,d.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(k.focusVisible),{backgroundColor:(0,d.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,r.Z)(t,"&.".concat(k.selected,":hover"),{backgroundColor:(0,d.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,d.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,r.Z)(t,"&.".concat(k.focusVisible),{backgroundColor:n.palette.action.focus}),(0,r.Z)(t,"&.".concat(k.disabled),{opacity:n.palette.action.disabledOpacity}),(0,r.Z)(t,"& + .".concat(g.Z.root),{marginTop:n.spacing(1),marginBottom:n.spacing(1)}),(0,r.Z)(t,"& + .".concat(g.Z.inset),{marginLeft:52}),(0,r.Z)(t,"& .".concat(b.Z.root),{marginTop:0,marginBottom:0}),(0,r.Z)(t,"& .".concat(b.Z.inset),{paddingLeft:36}),(0,r.Z)(t,"& .".concat(v.Z.root),{minWidth:36}),t),!o.dense&&(0,r.Z)({},n.breakpoints.up("sm"),{minHeight:"auto"}),o.dense&&(0,a.Z)({minHeight:32,paddingTop:4,paddingBottom:4},n.typography.body2,(0,r.Z)({},"& .".concat(v.Z.root," svg"),{fontSize:"1.25rem"})))})),R=i.forwardRef((function(e,t){var n=(0,l.Z)({props:e,name:"MuiMenuItem"}),r=n.autoFocus,d=void 0!==r&&r,s=n.component,f=void 0===s?"li":s,g=n.dense,v=void 0!==g&&g,b=n.divider,Z=void 0!==b&&b,k=n.disableGutters,R=void 0!==k&&k,C=n.focusVisibleClassName,F=n.role,B=void 0===F?"menuitem":F,M=n.tabIndex,I=(0,o.Z)(n,y),z=i.useContext(p.Z),P={dense:v||z.dense||!1,disableGutters:R},O=i.useRef(null);(0,h.Z)((function(){d&&O.current&&O.current.focus()}),[d]);var N,j=(0,a.Z)({},n,{dense:P.dense,divider:Z,disableGutters:R}),q=function(e){var t=e.disabled,n=e.dense,r=e.divider,o=e.disableGutters,i=e.selected,c=e.classes,d={root:["root",n&&"dense",t&&"disabled",!o&&"gutters",r&&"divider",i&&"selected"]},s=(0,u.Z)(d,w,c);return(0,a.Z)({},c,s)}(n),V=(0,m.Z)(O,t);return n.disabled||(N=void 0!==M?M:-1),(0,x.jsx)(p.Z.Provider,{value:P,children:(0,x.jsx)(S,(0,a.Z)({ref:V,role:B,tabIndex:N,component:f,focusVisibleClassName:(0,c.Z)(q.focusVisible,C)},I,{ownerState:j,classes:q}))})}))},49056:function(e,t,n){n.d(t,{Z:function(){return y}});var r=n(36222),o=n(1048),a=n(32793),i=n(50390),c=n(44977),u=n(50076),d=n(36128),s=n(91442),l=n(16756),p=n(15573),f=n(8208),h=n(10594);function m(e){return(0,h.Z)("MuiSwitch",e)}var g=(0,n(43349).Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),v=n(62559),b=["className","color","edge","size","sx"],Z=(0,f.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.edge&&t["edge".concat((0,s.Z)(n.edge))],t["size".concat((0,s.Z)(n.size))]]}})((function(e){var t,n=e.ownerState;return(0,a.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===n.edge&&{marginLeft:-8},"end"===n.edge&&{marginRight:-8},"small"===n.size&&(t={width:40,height:24,padding:7},(0,r.Z)(t,"& .".concat(g.thumb),{width:16,height:16}),(0,r.Z)(t,"& .".concat(g.switchBase),(0,r.Z)({padding:4},"&.".concat(g.checked),{transform:"translateX(16px)"})),t))})),w=(0,f.ZP)(l.Z,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(e,t){var n=e.ownerState;return[t.switchBase,(0,r.Z)({},"& .".concat(g.input),t.input),"default"!==n.color&&t["color".concat((0,s.Z)(n.color))]]}})((function(e){var t,n=e.theme;return t={position:"absolute",top:0,left:0,zIndex:1,color:"light"===n.palette.mode?n.palette.common.white:n.palette.grey[300],transition:n.transitions.create(["left","transform"],{duration:n.transitions.duration.shortest})},(0,r.Z)(t,"&.".concat(g.checked),{transform:"translateX(20px)"}),(0,r.Z)(t,"&.".concat(g.disabled),{color:"light"===n.palette.mode?n.palette.grey[100]:n.palette.grey[600]}),(0,r.Z)(t,"&.".concat(g.checked," + .").concat(g.track),{opacity:.5}),(0,r.Z)(t,"&.".concat(g.disabled," + .").concat(g.track),{opacity:"light"===n.palette.mode?.12:.2}),(0,r.Z)(t,"& .".concat(g.input),{left:"-100%",width:"300%"}),t}),(function(e){var t,n=e.theme,o=e.ownerState;return(0,a.Z)({"&:hover":{backgroundColor:(0,d.Fq)(n.palette.action.active,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==o.color&&(t={},(0,r.Z)(t,"&.".concat(g.checked),(0,r.Z)({color:n.palette[o.color].main,"&:hover":{backgroundColor:(0,d.Fq)(n.palette[o.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(g.disabled),{color:"light"===n.palette.mode?(0,d.$n)(n.palette[o.color].main,.62):(0,d._j)(n.palette[o.color].main,.55)})),(0,r.Z)(t,"&.".concat(g.checked," + .").concat(g.track),{backgroundColor:n.palette[o.color].main}),t))})),k=(0,f.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(e,t){return t.track}})((function(e){var t=e.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:"light"===t.palette.mode?t.palette.common.black:t.palette.common.white,opacity:"light"===t.palette.mode?.38:.3}})),x=(0,f.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(e,t){return t.thumb}})((function(e){return{boxShadow:e.theme.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),y=i.forwardRef((function(e,t){var n=(0,p.Z)({props:e,name:"MuiSwitch"}),r=n.className,i=n.color,d=void 0===i?"primary":i,l=n.edge,f=void 0!==l&&l,h=n.size,g=void 0===h?"medium":h,y=n.sx,S=(0,o.Z)(n,b),R=(0,a.Z)({},n,{color:d,edge:f,size:g}),C=function(e){var t=e.classes,n=e.edge,r=e.size,o=e.color,i=e.checked,c=e.disabled,d={root:["root",n&&"edge".concat((0,s.Z)(n)),"size".concat((0,s.Z)(r))],switchBase:["switchBase","color".concat((0,s.Z)(o)),i&&"checked",c&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},l=(0,u.Z)(d,m,t);return(0,a.Z)({},t,l)}(R),F=(0,v.jsx)(x,{className:C.thumb,ownerState:R});return(0,v.jsxs)(Z,{className:(0,c.Z)(C.root,r),sx:y,ownerState:R,children:[(0,v.jsx)(w,(0,a.Z)({type:"checkbox",icon:F,checkedIcon:F,ref:t,ownerState:R},S,{classes:(0,a.Z)({},C,{root:C.switchBase})})),(0,v.jsx)(k,{className:C.track,ownerState:R})]})}))},16756:function(e,t,n){n.d(t,{Z:function(){return w}});var r=n(23430),o=n(1048),a=n(32793),i=n(50390),c=n(44977),u=n(50076),d=n(91442),s=n(8208),l=n(55386),p=n(23060),f=n(86875),h=n(10594);function m(e){return(0,h.Z)("PrivateSwitchBase",e)}(0,n(43349).Z)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var g=n(62559),v=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],b=(0,s.ZP)(f.Z)((function(e){var t=e.ownerState;return(0,a.Z)({padding:9,borderRadius:"50%"},"start"===t.edge&&{marginLeft:"small"===t.size?-3:-12},"end"===t.edge&&{marginRight:"small"===t.size?-3:-12})})),Z=(0,s.ZP)("input")({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),w=i.forwardRef((function(e,t){var n=e.autoFocus,i=e.checked,s=e.checkedIcon,f=e.className,h=e.defaultChecked,w=e.disabled,k=e.disableFocusRipple,x=void 0!==k&&k,y=e.edge,S=void 0!==y&&y,R=e.icon,C=e.id,F=e.inputProps,B=e.inputRef,M=e.name,I=e.onBlur,z=e.onChange,P=e.onFocus,O=e.readOnly,N=e.required,j=e.tabIndex,q=e.type,V=e.value,T=(0,o.Z)(e,v),A=(0,l.Z)({controlled:i,default:Boolean(h),name:"SwitchBase",state:"checked"}),D=(0,r.Z)(A,2),G=D[0],E=D[1],L=(0,p.Z)(),W=w;L&&"undefined"===typeof W&&(W=L.disabled);var H="checkbox"===q||"radio"===q,_=(0,a.Z)({},e,{checked:G,disabled:W,disableFocusRipple:x,edge:S}),X=function(e){var t=e.classes,n=e.checked,r=e.disabled,o=e.edge,a={root:["root",n&&"checked",r&&"disabled",o&&"edge".concat((0,d.Z)(o))],input:["input"]};return(0,u.Z)(a,m,t)}(_);return(0,g.jsxs)(b,(0,a.Z)({component:"span",className:(0,c.Z)(X.root,f),centerRipple:!0,focusRipple:!x,disabled:W,tabIndex:null,role:void 0,onFocus:function(e){P&&P(e),L&&L.onFocus&&L.onFocus(e)},onBlur:function(e){I&&I(e),L&&L.onBlur&&L.onBlur(e)},ownerState:_,ref:t},T,{children:[(0,g.jsx)(Z,(0,a.Z)({autoFocus:n,checked:i,defaultChecked:h,className:X.input,disabled:W,id:H&&C,name:M,onChange:function(e){if(!e.nativeEvent.defaultPrevented){var t=e.target.checked;E(t),z&&z(e,t)}},readOnly:O,ref:B,required:N,ownerState:_,tabIndex:j,type:q},"checkbox"===q&&void 0===V?{}:{value:V},F)),G?s:R]}))}))},89054:function(e,t,n){n.d(t,{Z:function(){return i}});var r=n(50390);function o(e,t){return e===t}function a(e){return"function"===typeof e?function(){return e}:e}function i(e,t,n){var i=n&&n.equalityFn||o,c=function(e){var t=(0,r.useState)(a(e)),n=t[0],o=t[1];return[n,(0,r.useCallback)((function(e){return o(a(e))}),[])]}(e),u=c[0],d=c[1],s=function(e,t,n){var o=this,a=(0,r.useRef)(null),i=(0,r.useRef)(0),c=(0,r.useRef)(null),u=(0,r.useRef)([]),d=(0,r.useRef)(),s=(0,r.useRef)(),l=(0,r.useRef)(e),p=(0,r.useRef)(!0);l.current=e;var f=!t&&0!==t&&"undefined"!==typeof window;if("function"!==typeof e)throw new TypeError("Expected a function");t=+t||0;var h=!!(n=n||{}).leading,m=!("trailing"in n)||!!n.trailing,g="maxWait"in n,v=g?Math.max(+n.maxWait||0,t):null;(0,r.useEffect)((function(){return p.current=!0,function(){p.current=!1}}),[]);var b=(0,r.useMemo)((function(){var e=function(e){var t=u.current,n=d.current;return u.current=d.current=null,i.current=e,s.current=l.current.apply(n,t)},n=function(e,t){f&&cancelAnimationFrame(c.current),c.current=f?requestAnimationFrame(e):setTimeout(e,t)},r=function(e){if(!p.current)return!1;var n=e-a.current,r=e-i.current;return!a.current||n>=t||n<0||g&&r>=v},b=function(t){return c.current=null,m&&u.current?e(t):(u.current=d.current=null,s.current)},Z=function e(){var o=Date.now();if(r(o))return b(o);if(p.current){var c=o-a.current,u=o-i.current,d=t-c,s=g?Math.min(d,v-u):d;n(e,s)}},w=function(){for(var l=[],f=0;fc){var p=a-c;t-=p,n.vertical+=p}if(iu){var h=s-u;i-=h,n.horizontal+=h}return{top:"".concat(Math.round(t),"px"),left:"".concat(Math.round(i),"px"),transformOrigin:w(n)}}),[v,O,er,nr,N]),tr=i.useCallback((function(){var r=U.current;if(r){var e=or(r);null!==e.top&&(r.style.top=e.top),null!==e.left&&(r.style.left=e.left),r.style.transformOrigin=e.transformOrigin}}),[or]);i.useEffect((function(){A&&tr()})),i.useImperativeHandle(l,(function(){return A?{updatePosition:function(){tr()}}:null}),[A,tr]),i.useEffect((function(){if(A){var r=(0,u.Z)((function(){tr()})),e=(0,f.Z)(v);return e.addEventListener("resize",r),function(){r.clear(),e.removeEventListener("resize",r)}}}),[v,A,tr]);var ir=Y;"auto"!==Y||_.muiSupportAuto||(ir=void 0);var ar=L||(v?(0,d.Z)(C(v)).body:void 0);return(0,b.jsx)(y,(0,o.Z)({BackdropProps:{invisible:!0},className:(0,a.Z)(rr.root,q),container:ar,open:A,ref:e,ownerState:$},Q,{children:(0,b.jsx)(_,(0,o.Z)({appear:!0,in:A,onEntering:function(r,e){J&&J(r,e),tr()},timeout:ir},K,{children:(0,b.jsx)(M,(0,o.Z)({elevation:F},I,{ref:V,className:(0,a.Z)(rr.paper,I.className),children:E}))}))}))}))}}]); +//# sourceMappingURL=3152.d03e4df4.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3152.d03e4df4.chunk.js.map b/portal-ui/build/static/js/3152.d03e4df4.chunk.js.map new file mode 100644 index 000000000..afd78d065 --- /dev/null +++ b/portal-ui/build/static/js/3152.d03e4df4.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3152.d03e4df4.chunk.js","mappings":"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","sources":["../node_modules/@mui/material/FormControl/FormControlContext.js","../node_modules/@mui/material/FormControl/formControlState.js","../node_modules/@mui/material/FormControl/useFormControl.js","../node_modules/@mui/material/FormLabel/FormLabel.js","../node_modules/@mui/material/FormLabel/formLabelClasses.js","../node_modules/@mui/material/InputLabel/inputLabelClasses.js","../node_modules/@mui/material/InputLabel/InputLabel.js","../node_modules/@mui/material/Popover/popoverClasses.js","../node_modules/@mui/material/Popover/Popover.js"],"sourcesContent":["import * as React from 'react';\n/**\n * @ignore - internal component.\n */\n\nconst FormControlContext = /*#__PURE__*/React.createContext();\n\nif (process.env.NODE_ENV !== 'production') {\n FormControlContext.displayName = 'FormControlContext';\n}\n\nexport default FormControlContext;","export default function formControlState({\n props,\n states,\n muiFormControl\n}) {\n return states.reduce((acc, state) => {\n acc[state] = props[state];\n\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n\n return acc;\n }, {});\n}","import * as React from 'react';\nimport FormControlContext from './FormControlContext';\nexport default function useFormControl() {\n return React.useContext(FormControlContext);\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormLabelUtilityClasses, classes);\n};\n\nexport const FormLabelRoot = styled('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: theme.palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${formLabelClasses.focused}`]: {\n color: theme.palette[ownerState.color].main\n },\n [`&.${formLabelClasses.disabled}`]: {\n color: theme.palette.text.disabled\n },\n [`&.${formLabelClasses.error}`]: {\n color: theme.palette.error.main\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formLabelClasses.error}`]: {\n color: theme.palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormLabel'\n });\n\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(FormLabelRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormLabel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, the label should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: PropTypes.bool,\n\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: PropTypes.bool,\n\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default FormLabel;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getFormLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormLabel', slot);\n}\nconst formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\nexport default formLabelClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiInputLabel', slot);\n}\nconst inputLabelClasses = generateUtilityClasses('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);\nexport default inputLabelClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableAnimation\", \"margin\", \"shrink\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport FormLabel, { formLabelClasses } from '../FormLabel';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getInputLabelUtilityClasses } from './inputLabelClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n formControl,\n size,\n shrink,\n disableAnimation,\n variant,\n required\n } = ownerState;\n const slots = {\n root: ['root', formControl && 'formControl', !disableAnimation && 'animated', shrink && 'shrink', size === 'small' && 'sizeSmall', variant],\n asterisk: [required && 'asterisk']\n };\n const composedClasses = composeClasses(slots, getInputLabelUtilityClasses, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst InputLabelRoot = styled(FormLabel, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInputLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formLabelClasses.asterisk}`]: styles.asterisk\n }, styles.root, ownerState.formControl && styles.formControl, ownerState.size === 'small' && styles.sizeSmall, ownerState.shrink && styles.shrink, !ownerState.disableAnimation && styles.animated, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'block',\n transformOrigin: 'top left',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%'\n}, ownerState.formControl && {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: 'translate(0, 20px) scale(1)'\n}, ownerState.size === 'small' && {\n // Compensation for the `Input.inputSizeSmall` style.\n transform: 'translate(0, 17px) scale(1)'\n}, ownerState.shrink && {\n transform: 'translate(0, -1.5px) scale(0.75)',\n transformOrigin: 'top left',\n maxWidth: '133%'\n}, !ownerState.disableAnimation && {\n transition: theme.transitions.create(['color', 'transform', 'max-width'], {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.variant === 'filled' && _extends({\n // Chrome's autofill feature gives the input field a yellow background.\n // Since the input field is behind the label in the HTML tree,\n // the input field is drawn last and hides the label with an opaque background color.\n // zIndex: 1 will raise the label above opaque background-colors of input.\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(12px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 13px) scale(1)'\n}, ownerState.shrink && _extends({\n userSelect: 'none',\n pointerEvents: 'auto',\n transform: 'translate(12px, 7px) scale(0.75)',\n maxWidth: 'calc(133% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 4px) scale(0.75)'\n})), ownerState.variant === 'outlined' && _extends({\n // see comment above on filled.zIndex\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(14px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(14px, 9px) scale(1)'\n}, ownerState.shrink && {\n userSelect: 'none',\n pointerEvents: 'auto',\n maxWidth: 'calc(133% - 24px)',\n transform: 'translate(14px, -9px) scale(0.75)'\n})));\nconst InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {\n const props = useThemeProps({\n name: 'MuiInputLabel',\n props: inProps\n });\n\n const {\n disableAnimation = false,\n shrink: shrinkProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl();\n let shrink = shrinkProp;\n\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['size', 'variant', 'required']\n });\n\n const ownerState = _extends({}, props, {\n disableAnimation,\n formControl: muiFormControl,\n shrink,\n size: fcs.size,\n variant: fcs.variant,\n required: fcs.required\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(InputLabelRoot, _extends({\n \"data-shrink\": shrink,\n ownerState: ownerState,\n ref: ref\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? InputLabel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n\n /**\n * If `true`, the transition animation is disabled.\n * @default false\n */\n disableAnimation: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n\n /**\n * If `true`, the `input` of this label is focused.\n */\n focused: PropTypes.bool,\n\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n\n /**\n * if `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n\n /**\n * If `true`, the label is shrunk.\n */\n shrink: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputLabel;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getPopoverUtilityClass(slot) {\n return generateUtilityClass('MuiPopover', slot);\n}\nconst popoverClasses = generateUtilityClasses('MuiPopover', ['root', 'paper']);\nexport default popoverClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onEntering\"],\n _excluded2 = [\"action\", \"anchorEl\", \"anchorOrigin\", \"anchorPosition\", \"anchorReference\", \"children\", \"className\", \"container\", \"elevation\", \"marginThreshold\", \"open\", \"PaperProps\", \"transformOrigin\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { chainPropTypes, integerPropType, elementTypeAcceptingRef, refType, HTMLElementType } from '@mui/utils';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport debounce from '../utils/debounce';\nimport ownerDocument from '../utils/ownerDocument';\nimport ownerWindow from '../utils/ownerWindow';\nimport useForkRef from '../utils/useForkRef';\nimport Grow from '../Grow';\nimport Modal from '../Modal';\nimport Paper from '../Paper';\nimport { getPopoverUtilityClass } from './popoverClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function getOffsetTop(rect, vertical) {\n let offset = 0;\n\n if (typeof vertical === 'number') {\n offset = vertical;\n } else if (vertical === 'center') {\n offset = rect.height / 2;\n } else if (vertical === 'bottom') {\n offset = rect.height;\n }\n\n return offset;\n}\nexport function getOffsetLeft(rect, horizontal) {\n let offset = 0;\n\n if (typeof horizontal === 'number') {\n offset = horizontal;\n } else if (horizontal === 'center') {\n offset = rect.width / 2;\n } else if (horizontal === 'right') {\n offset = rect.width;\n }\n\n return offset;\n}\n\nfunction getTransformOriginValue(transformOrigin) {\n return [transformOrigin.horizontal, transformOrigin.vertical].map(n => typeof n === 'number' ? `${n}px` : n).join(' ');\n}\n\nfunction resolveAnchorEl(anchorEl) {\n return typeof anchorEl === 'function' ? anchorEl() : anchorEl;\n}\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n paper: ['paper']\n };\n return composeClasses(slots, getPopoverUtilityClass, classes);\n};\n\nconst PopoverRoot = styled(Modal, {\n name: 'MuiPopover',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst PopoverPaper = styled(Paper, {\n name: 'MuiPopover',\n slot: 'Paper',\n overridesResolver: (props, styles) => styles.paper\n})({\n position: 'absolute',\n overflowY: 'auto',\n overflowX: 'hidden',\n // So we see the popover when it's empty.\n // It's most likely on issue on userland.\n minWidth: 16,\n minHeight: 16,\n maxWidth: 'calc(100% - 32px)',\n maxHeight: 'calc(100% - 32px)',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0\n});\nconst Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPopover'\n });\n\n const {\n action,\n anchorEl,\n anchorOrigin = {\n vertical: 'top',\n horizontal: 'left'\n },\n anchorPosition,\n anchorReference = 'anchorEl',\n children,\n className,\n container: containerProp,\n elevation = 8,\n marginThreshold = 16,\n open,\n PaperProps = {},\n transformOrigin = {\n vertical: 'top',\n horizontal: 'left'\n },\n TransitionComponent = Grow,\n transitionDuration: transitionDurationProp = 'auto',\n TransitionProps: {\n onEntering\n } = {}\n } = props,\n TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n\n const paperRef = React.useRef();\n const handlePaperRef = useForkRef(paperRef, PaperProps.ref);\n\n const ownerState = _extends({}, props, {\n anchorOrigin,\n anchorReference,\n elevation,\n marginThreshold,\n PaperProps,\n transformOrigin,\n TransitionComponent,\n transitionDuration: transitionDurationProp,\n TransitionProps\n });\n\n const classes = useUtilityClasses(ownerState); // Returns the top/left offset of the position\n // to attach to on the anchor element (or body if none is provided)\n\n const getAnchorOffset = React.useCallback(() => {\n if (anchorReference === 'anchorPosition') {\n if (process.env.NODE_ENV !== 'production') {\n if (!anchorPosition) {\n console.error('MUI: You need to provide a `anchorPosition` prop when using ' + '.');\n }\n }\n\n return anchorPosition;\n }\n\n const resolvedAnchorEl = resolveAnchorEl(anchorEl); // If an anchor element wasn't provided, just use the parent body element of this Popover\n\n const anchorElement = resolvedAnchorEl && resolvedAnchorEl.nodeType === 1 ? resolvedAnchorEl : ownerDocument(paperRef.current).body;\n const anchorRect = anchorElement.getBoundingClientRect();\n\n if (process.env.NODE_ENV !== 'production') {\n const box = anchorElement.getBoundingClientRect();\n\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n console.warn(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n }\n\n return {\n top: anchorRect.top + getOffsetTop(anchorRect, anchorOrigin.vertical),\n left: anchorRect.left + getOffsetLeft(anchorRect, anchorOrigin.horizontal)\n };\n }, [anchorEl, anchorOrigin.horizontal, anchorOrigin.vertical, anchorPosition, anchorReference]); // Returns the base transform origin using the element\n\n const getTransformOrigin = React.useCallback(elemRect => {\n return {\n vertical: getOffsetTop(elemRect, transformOrigin.vertical),\n horizontal: getOffsetLeft(elemRect, transformOrigin.horizontal)\n };\n }, [transformOrigin.horizontal, transformOrigin.vertical]);\n const getPositioningStyle = React.useCallback(element => {\n const elemRect = {\n width: element.offsetWidth,\n height: element.offsetHeight\n }; // Get the transform origin point on the element itself\n\n const elemTransformOrigin = getTransformOrigin(elemRect);\n\n if (anchorReference === 'none') {\n return {\n top: null,\n left: null,\n transformOrigin: getTransformOriginValue(elemTransformOrigin)\n };\n } // Get the offset of the anchoring element\n\n\n const anchorOffset = getAnchorOffset(); // Calculate element positioning\n\n let top = anchorOffset.top - elemTransformOrigin.vertical;\n let left = anchorOffset.left - elemTransformOrigin.horizontal;\n const bottom = top + elemRect.height;\n const right = left + elemRect.width; // Use the parent window of the anchorEl if provided\n\n const containerWindow = ownerWindow(resolveAnchorEl(anchorEl)); // Window thresholds taking required margin into account\n\n const heightThreshold = containerWindow.innerHeight - marginThreshold;\n const widthThreshold = containerWindow.innerWidth - marginThreshold; // Check if the vertical axis needs shifting\n\n if (top < marginThreshold) {\n const diff = top - marginThreshold;\n top -= diff;\n elemTransformOrigin.vertical += diff;\n } else if (bottom > heightThreshold) {\n const diff = bottom - heightThreshold;\n top -= diff;\n elemTransformOrigin.vertical += diff;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (elemRect.height > heightThreshold && elemRect.height && heightThreshold) {\n console.error(['MUI: The popover component is too tall.', `Some part of it can not be seen on the screen (${elemRect.height - heightThreshold}px).`, 'Please consider adding a `max-height` to improve the user-experience.'].join('\\n'));\n }\n } // Check if the horizontal axis needs shifting\n\n\n if (left < marginThreshold) {\n const diff = left - marginThreshold;\n left -= diff;\n elemTransformOrigin.horizontal += diff;\n } else if (right > widthThreshold) {\n const diff = right - widthThreshold;\n left -= diff;\n elemTransformOrigin.horizontal += diff;\n }\n\n return {\n top: `${Math.round(top)}px`,\n left: `${Math.round(left)}px`,\n transformOrigin: getTransformOriginValue(elemTransformOrigin)\n };\n }, [anchorEl, anchorReference, getAnchorOffset, getTransformOrigin, marginThreshold]);\n const setPositioningStyles = React.useCallback(() => {\n const element = paperRef.current;\n\n if (!element) {\n return;\n }\n\n const positioning = getPositioningStyle(element);\n\n if (positioning.top !== null) {\n element.style.top = positioning.top;\n }\n\n if (positioning.left !== null) {\n element.style.left = positioning.left;\n }\n\n element.style.transformOrigin = positioning.transformOrigin;\n }, [getPositioningStyle]);\n\n const handleEntering = (element, isAppearing) => {\n if (onEntering) {\n onEntering(element, isAppearing);\n }\n\n setPositioningStyles();\n };\n\n React.useEffect(() => {\n if (open) {\n setPositioningStyles();\n }\n });\n React.useImperativeHandle(action, () => open ? {\n updatePosition: () => {\n setPositioningStyles();\n }\n } : null, [open, setPositioningStyles]);\n React.useEffect(() => {\n if (!open) {\n return undefined;\n }\n\n const handleResize = debounce(() => {\n setPositioningStyles();\n });\n const containerWindow = ownerWindow(anchorEl);\n containerWindow.addEventListener('resize', handleResize);\n return () => {\n handleResize.clear();\n containerWindow.removeEventListener('resize', handleResize);\n };\n }, [anchorEl, open, setPositioningStyles]);\n let transitionDuration = transitionDurationProp;\n\n if (transitionDurationProp === 'auto' && !TransitionComponent.muiSupportAuto) {\n transitionDuration = undefined;\n } // If the container prop is provided, use that\n // If the anchorEl prop is provided, use its parent body element as the container\n // If neither are provided let the Modal take care of choosing the container\n\n\n const container = containerProp || (anchorEl ? ownerDocument(resolveAnchorEl(anchorEl)).body : undefined);\n return /*#__PURE__*/_jsx(PopoverRoot, _extends({\n BackdropProps: {\n invisible: true\n },\n className: clsx(classes.root, className),\n container: container,\n open: open,\n ref: ref,\n ownerState: ownerState\n }, other, {\n children: /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: true,\n in: open,\n onEntering: handleEntering,\n timeout: transitionDuration\n }, TransitionProps, {\n children: /*#__PURE__*/_jsx(PopoverPaper, _extends({\n elevation: elevation\n }, PaperProps, {\n ref: handlePaperRef,\n className: clsx(classes.paper, PaperProps.className),\n children: children\n }))\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Popover.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A ref for imperative actions.\n * It currently only supports updatePosition() action.\n */\n action: refType,\n\n /**\n * An HTML element, or a function that returns one.\n * It's used to set the position of the popover.\n */\n anchorEl: chainPropTypes(PropTypes.oneOfType([HTMLElementType, PropTypes.func]), props => {\n if (props.open && (!props.anchorReference || props.anchorReference === 'anchorEl')) {\n const resolvedAnchorEl = resolveAnchorEl(props.anchorEl);\n\n if (resolvedAnchorEl && resolvedAnchorEl.nodeType === 1) {\n const box = resolvedAnchorEl.getBoundingClientRect();\n\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n } else {\n return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', `It should be an Element instance but it's \\`${resolvedAnchorEl}\\` instead.`].join('\\n'));\n }\n }\n\n return null;\n }),\n\n /**\n * This is the point on the anchor where the popover's\n * `anchorEl` will attach to. This is not used when the\n * anchorReference is 'anchorPosition'.\n *\n * Options:\n * vertical: [top, center, bottom];\n * horizontal: [left, center, right].\n * @default {\n * vertical: 'top',\n * horizontal: 'left',\n * }\n */\n anchorOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOfType([PropTypes.oneOf(['center', 'left', 'right']), PropTypes.number]).isRequired,\n vertical: PropTypes.oneOfType([PropTypes.oneOf(['bottom', 'center', 'top']), PropTypes.number]).isRequired\n }),\n\n /**\n * This is the position that may be used to set the position of the popover.\n * The coordinates are relative to the application's client area.\n */\n anchorPosition: PropTypes.shape({\n left: PropTypes.number.isRequired,\n top: PropTypes.number.isRequired\n }),\n\n /**\n * This determines which anchor prop to refer to when setting\n * the position of the popover.\n * @default 'anchorEl'\n */\n anchorReference: PropTypes.oneOf(['anchorEl', 'anchorPosition', 'none']),\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * An HTML element, component instance, or function that returns either.\n * The `container` will passed to the Modal component.\n *\n * By default, it uses the body of the anchorEl's top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([HTMLElementType, PropTypes.func]),\n\n /**\n * The elevation of the popover.\n * @default 8\n */\n elevation: integerPropType,\n\n /**\n * Specifies how close to the edge of the window the popover can appear.\n * @default 16\n */\n marginThreshold: PropTypes.number,\n\n /**\n * Callback fired when the component requests to be closed.\n * The `reason` parameter can optionally be used to control the response to `onClose`.\n */\n onClose: PropTypes.func,\n\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n\n /**\n * Props applied to the [`Paper`](/api/paper/) element.\n * @default {}\n */\n PaperProps: PropTypes\n /* @typescript-to-proptypes-ignore */\n .shape({\n component: elementTypeAcceptingRef\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * This is the point on the popover which\n * will attach to the anchor's origin.\n *\n * Options:\n * vertical: [top, center, bottom, x(px)];\n * horizontal: [left, center, right, x(px)].\n * @default {\n * vertical: 'top',\n * horizontal: 'left',\n * }\n */\n transformOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOfType([PropTypes.oneOf(['center', 'left', 'right']), PropTypes.number]).isRequired,\n vertical: PropTypes.oneOfType([PropTypes.oneOf(['bottom', 'center', 'top']), PropTypes.number]).isRequired\n }),\n\n /**\n * The component used for the transition.\n * [Follow this guide](/components/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Grow\n */\n TransitionComponent: PropTypes.elementType,\n\n /**\n * Set to 'auto' to automatically calculate transition time based on height.\n * @default 'auto'\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component.\n * @default {}\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Popover;"],"names":["FormControlContext","React","formControlState","props","states","muiFormControl","reduce","acc","state","useFormControl","_excluded","FormLabelRoot","styled","name","slot","overridesResolver","styles","ownerState","_extends","root","color","colorSecondary","filled","theme","palette","text","secondary","typography","body1","lineHeight","padding","position","formLabelClasses","main","disabled","error","AsteriskComponent","asterisk","FormLabel","inProps","ref","useThemeProps","children","className","component","other","_objectWithoutPropertiesLoose","fcs","focused","required","classes","slots","capitalize","composeClasses","getFormLabelUtilityClasses","useUtilityClasses","_jsxs","as","clsx","generateUtilityClass","generateUtilityClasses","getInputLabelUtilityClasses","InputLabelRoot","shouldForwardProp","prop","rootShouldForwardProp","formControl","size","sizeSmall","shrink","disableAnimation","animated","variant","display","transformOrigin","whiteSpace","overflow","textOverflow","maxWidth","left","top","transform","transition","transitions","create","duration","shorter","easing","easeOut","zIndex","pointerEvents","userSelect","shrinkProp","adornedStart","composedClasses","_jsx","getPopoverUtilityClass","_excluded2","getOffsetTop","rect","vertical","offset","height","getOffsetLeft","horizontal","width","getTransformOriginValue","map","n","join","resolveAnchorEl","anchorEl","PopoverRoot","Modal","PopoverPaper","Paper","paper","overflowY","overflowX","minWidth","minHeight","maxHeight","outline","action","anchorOrigin","anchorPosition","anchorReference","containerProp","container","elevation","marginThreshold","open","PaperProps","TransitionComponent","Grow","transitionDuration","transitionDurationProp","TransitionProps","onEntering","paperRef","handlePaperRef","useForkRef","getAnchorOffset","resolvedAnchorEl","anchorRect","nodeType","ownerDocument","current","body","getBoundingClientRect","getTransformOrigin","elemRect","getPositioningStyle","element","offsetWidth","offsetHeight","elemTransformOrigin","anchorOffset","bottom","right","containerWindow","ownerWindow","heightThreshold","innerHeight","widthThreshold","innerWidth","diff","Math","round","setPositioningStyles","positioning","style","updatePosition","handleResize","debounce","addEventListener","clear","removeEventListener","muiSupportAuto","undefined","BackdropProps","invisible","appear","in","isAppearing","timeout"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3201.9f8a570f.chunk.js b/portal-ui/build/static/js/3201.781acfe1.chunk.js similarity index 99% rename from portal-ui/build/static/js/3201.9f8a570f.chunk.js rename to portal-ui/build/static/js/3201.781acfe1.chunk.js index 8fe96ef6b..b43c79e5a 100644 --- a/portal-ui/build/static/js/3201.9f8a570f.chunk.js +++ b/portal-ui/build/static/js/3201.781acfe1.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3201],{8235:function(e,r,o){o(50390);var t=o(86509),a=o(4285),i=o(25594),n=o(62559);r.Z=(0,a.Z)((function(e){return(0,t.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 r=e.classes,o=e.iconComponent,t=e.title,a=e.help;return(0,n.jsx)("div",{className:r.root,children:(0,n.jsxs)(i.ZP,{container:!0,children:[(0,n.jsxs)(i.ZP,{item:!0,xs:12,className:r.leftItems,children:[o,t]}),(0,n.jsx)(i.ZP,{item:!0,xs:12,className:r.helpText,children:a})]})})}))},17778:function(e,r,o){var t=o(18489),a=o(50390),i=o(86509),n=o(4285),s=o(25594),l=o(66946),d=o(95357),c=o(59443),u=o(72462),h=o(97183),p=o(22598),m=o(62559);r.Z=(0,n.Z)((function(e){return(0,i.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},u.OR),u.bN),{},{syncButton:{"&.MuiButton-root .MuiButton-iconSizeMedium > *:first-of-type":{fontSize:18}},schedulerIcon:{opacity:.4,fontSize:10,"& svg":{width:18,height:18}},selectorLabel:{color:"#9D9E9D",fontWeight:"bold",whiteSpace:"nowrap",marginLeft:10,fontSize:12}}))}))((function(e){var r=e.classes,o=e.timeStart,t=e.setTimeStart,i=e.timeEnd,n=e.setTimeEnd,u=e.triggerSync;return(0,m.jsx)(a.Fragment,{children:(0,m.jsxs)(s.ZP,{item:!0,xs:12,className:r.timeContainers,children:[(0,m.jsx)("span",{className:r.filterTitle,children:"Filter:"}),(0,m.jsxs)("div",{className:r.filterContainer,children:[(0,m.jsx)("span",{className:"".concat(r.filterTitle," ").concat(r.schedulerIcon),children:(0,m.jsx)(d.Z,{})}),(0,m.jsx)("span",{className:r.selectorLabel,children:"Start Time:"}),(0,m.jsx)(h.Z,{value:o,onChange:t,forFilterContained:!0,id:"stTime",noInputIcon:!0}),(0,m.jsx)("span",{className:r.divisorLine,children:"\xa0"}),(0,m.jsx)("span",{className:"".concat(r.filterTitle," ").concat(r.schedulerIcon),children:(0,m.jsx)(c.Z,{})}),(0,m.jsx)("span",{className:r.selectorLabel,children:"End Time:"}),(0,m.jsx)(h.Z,{value:i,onChange:n,forFilterContained:!0,id:"endTime",noInputIcon:!0})]}),u&&(0,m.jsx)(l.Z,{type:"button",variant:"contained",color:"primary",onClick:u,endIcon:(0,m.jsx)(p.Z,{}),className:r.syncButton,children:"Sync"})]})})}))},97183:function(e,r,o){var t=o(18489),a=o(50390),i=o(12066),n=o(25594),s=o(14602),l=o(94187),d=o(21554),c=o(10268),u=o(34412),h=o(65771),p=o(95357),m=o(86509),f=o(4285),g=o(97538),x=o(72462),b=o(78851),v=o(62559);r.Z=(0,f.Z)((function(e){return(0,m.Z)((0,t.Z)((0,t.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":{"& > div":{width:0},"& > button.MuiButtonBase-root":{color:"#0A224C"},"& + div > div":{width:255,height:255,backgroundColor:"#fff",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}}}}}}},x.YI),x.Hr))}))((function(e){var r=e.value,o=e.onChange,m=e.classes,f=e.forSearchBlock,x=void 0!==f&&f,C=e.forFilterContained,Z=void 0!==C&&C,j=e.label,S=e.tooltip,k=void 0===S?"":S,B=e.required,N=e.id,y=e.disabled,M=void 0!==y&&y,w=e.noInputIcon,E={};void 0!==w&&w||(E={startAdornment:(0,v.jsx)(h.Z,{position:"start",children:(0,v.jsx)(p.Z,{})})}),Z&&(E={endAdornment:(0,v.jsx)(h.Z,{position:"end",children:(0,v.jsx)(b.Z,{className:m.openListIcon})})});var F="";x?F=m.dateSelectorOverride:Z&&(F=m.dateSelectorFilterOverride);var I=(0,v.jsx)(u.Z,{dateAdapter:c.Z,children:(0,v.jsx)(d.Z,{value:r,onChange:o,InputProps:(0,t.Z)((0,t.Z)({},E),{},{className:F}),label:"",className:x?m.parentDateOverride:m.dateSelectorFormOverride,disabled:M,renderInput:function(e){return(0,v.jsx)(i.Z,(0,t.Z)((0,t.Z)({id:N,variant:"standard"},e),{},{disabled:!0}))},ampm:!1,PopperProps:{className:m.paperOverride}})});return x?I:(0,v.jsx)(a.Fragment,{children:(0,v.jsxs)(n.ZP,{item:!0,xs:12,className:Z?"":m.fieldContainer,children:[""!==j&&(0,v.jsxs)(s.Z,{htmlFor:N,className:m.inputLabel,children:[(0,v.jsxs)("span",{children:[j,B?"*":""]}),""!==k&&(0,v.jsx)("div",{className:m.tooltipContainer,children:(0,v.jsx)(l.Z,{title:k,placement:"top-start",children:(0,v.jsx)("div",{className:m.tooltip,children:(0,v.jsx)(g.Z,{})})})})]}),(0,v.jsx)("div",{className:m.textBoxContainer,children:I})]})})}))},76352:function(e,r,o){o.d(r,{Z:function(){return y}});var t,a=o(23430),i=o(18489),n=o(50390),s=o(34424),l=o(95467),d=o(97771),c=o(84402),u=o(78426),h=o(93085),p=o(86509),m=o(4285),f=o(72462),g=o(44149),x=o(38342),b=o.n(x),v=o(92125),C=o(19538),Z=o(21278),j=o(62559),S=function(){clearInterval(t)},k={displayErrorMessage:g.zb},B=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),k)((0,m.Z)((function(e){return(0,p.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var r=e.classes,o=e.modalSnackMessage,i=e.displayErrorMessage,s=e.customStyle,l=(0,n.useState)(!1),d=(0,a.Z)(l,2),c=d[0],u=d[1],h=(0,n.useState)(!1),p=(0,a.Z)(h,2),m=p[0],f=p[1],g=(0,n.useCallback)((function(){f(!1)}),[]);(0,n.useEffect)((function(){m||(i({detailedError:"",errorMessage:""}),u(!1))}),[i,m]),(0,n.useEffect)((function(){""!==o.message&&"error"===o.type&&f(!0)}),[g,o.message,o.type]);var x=b()(o,"message",""),k=b()(o,"detailedErrorMsg","");return"error"!==o.type||""===x?null:(0,j.jsx)(n.Fragment,{children:(0,j.jsxs)("div",{className:"".concat(r.modalErrorContainer," ").concat(m?r.modalErrorShow:""),style:s,onMouseOver:S,onMouseLeave:function(){t=setInterval(g,1e4)},children:[(0,j.jsx)("button",{className:r.closeButton,onClick:g,children:(0,j.jsx)(Z.Z,{})}),(0,j.jsxs)("div",{className:r.errorTitle,children:[(0,j.jsx)("span",{className:r.messageIcon,children:(0,j.jsx)(C.Z,{})}),(0,j.jsx)("span",{className:r.errorLabel,children:x})]}),""!==k&&(0,j.jsxs)(n.Fragment,{children:[(0,j.jsx)("div",{className:r.detailsContainerLink,children:(0,j.jsxs)("button",{className:r.detailsButton,onClick:function(){u(!c)},children:["Details",(0,j.jsx)(v.Z,{className:"".concat(r.arrowElement," ").concat(c?r.arrowOpen:"")})]})}),(0,j.jsx)("div",{className:"".concat(r.extraDetailsContainer," ").concat(c?r.extraDetailsOpen:""),children:k})]})]})})}))),N=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:g.MK}),y=(0,m.Z)((function(e){return(0,p.Z)((0,i.Z)((0,i.Z)({},f.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},f.sN))}))(N((function(e){var r=e.onClose,o=e.modalOpen,t=e.title,s=e.children,p=e.classes,m=e.wideLimit,f=void 0===m||m,g=e.modalSnackMessage,x=e.noContentPadding,b=e.setModalSnackMessage,v=e.titleIcon,C=void 0===v?null:v,S=(0,n.useState)(!1),k=(0,a.Z)(S,2),N=k[0],y=k[1];(0,n.useEffect)((function(){b("")}),[b]),(0,n.useEffect)((function(){if(g){if(""===g.message)return void y(!1);"error"!==g.type&&y(!0)}}),[g]);var M=f?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return g&&(w=g.detailedErrorMsg,(""===g.detailedErrorMsg||g.detailedErrorMsg.length<5)&&(w=g.message)),(0,j.jsxs)(c.Z,(0,i.Z)((0,i.Z)({open:o,classes:p},M),{},{scroll:"paper",onClose:function(e,o){"backdropClick"!==o&&r()},className:p.root,children:[(0,j.jsxs)(u.Z,{className:p.title,children:[(0,j.jsxs)("div",{className:p.titleText,children:[C," ",t]}),(0,j.jsx)("div",{className:p.closeContainer,children:(0,j.jsx)(l.Z,{"aria-label":"close",className:p.closeButton,onClick:r,disableRipple:!0,size:"small",children:(0,j.jsx)(Z.Z,{})})})]}),(0,j.jsx)(B,{}),(0,j.jsx)(d.Z,{open:N,className:p.snackBarModal,onClose:function(){y(!1),b("")},message:w,ContentProps:{className:"".concat(p.snackBar," ").concat(g&&"error"===g.type?p.errorSnackBar:"")},autoHideDuration:g&&"error"===g.type?1e4:5e3}),(0,j.jsx)(h.Z,{className:x?"":p.content,children:s})]}))})))}}]); -//# sourceMappingURL=3201.9f8a570f.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3201],{8235:function(e,r,o){o(50390);var t=o(86509),a=o(4285),i=o(25594),n=o(62559);r.Z=(0,a.Z)((function(e){return(0,t.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 r=e.classes,o=e.iconComponent,t=e.title,a=e.help;return(0,n.jsx)("div",{className:r.root,children:(0,n.jsxs)(i.ZP,{container:!0,children:[(0,n.jsxs)(i.ZP,{item:!0,xs:12,className:r.leftItems,children:[o,t]}),(0,n.jsx)(i.ZP,{item:!0,xs:12,className:r.helpText,children:a})]})})}))},17778:function(e,r,o){var t=o(18489),a=o(50390),i=o(86509),n=o(4285),s=o(25594),l=o(66946),d=o(95357),c=o(59443),u=o(72462),h=o(97183),p=o(22598),m=o(62559);r.Z=(0,n.Z)((function(e){return(0,i.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},u.OR),u.bN),{},{syncButton:{"&.MuiButton-root .MuiButton-iconSizeMedium > *:first-of-type":{fontSize:18}},schedulerIcon:{opacity:.4,fontSize:10,"& svg":{width:18,height:18}},selectorLabel:{color:"#9D9E9D",fontWeight:"bold",whiteSpace:"nowrap",marginLeft:10,fontSize:12}}))}))((function(e){var r=e.classes,o=e.timeStart,t=e.setTimeStart,i=e.timeEnd,n=e.setTimeEnd,u=e.triggerSync;return(0,m.jsx)(a.Fragment,{children:(0,m.jsxs)(s.ZP,{item:!0,xs:12,className:r.timeContainers,children:[(0,m.jsx)("span",{className:r.filterTitle,children:"Filter:"}),(0,m.jsxs)("div",{className:r.filterContainer,children:[(0,m.jsx)("span",{className:"".concat(r.filterTitle," ").concat(r.schedulerIcon),children:(0,m.jsx)(d.Z,{})}),(0,m.jsx)("span",{className:r.selectorLabel,children:"Start Time:"}),(0,m.jsx)(h.Z,{value:o,onChange:t,forFilterContained:!0,id:"stTime",noInputIcon:!0}),(0,m.jsx)("span",{className:r.divisorLine,children:"\xa0"}),(0,m.jsx)("span",{className:"".concat(r.filterTitle," ").concat(r.schedulerIcon),children:(0,m.jsx)(c.Z,{})}),(0,m.jsx)("span",{className:r.selectorLabel,children:"End Time:"}),(0,m.jsx)(h.Z,{value:i,onChange:n,forFilterContained:!0,id:"endTime",noInputIcon:!0})]}),u&&(0,m.jsx)(l.Z,{type:"button",variant:"contained",color:"primary",onClick:u,endIcon:(0,m.jsx)(p.Z,{}),className:r.syncButton,children:"Sync"})]})})}))},97183:function(e,r,o){var t=o(18489),a=o(50390),i=o(12066),n=o(25594),s=o(36554),l=o(94187),d=o(21554),c=o(10268),u=o(34412),h=o(65771),p=o(95357),m=o(86509),f=o(4285),g=o(97538),x=o(72462),b=o(78851),v=o(62559);r.Z=(0,f.Z)((function(e){return(0,m.Z)((0,t.Z)((0,t.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":{"& > div":{width:0},"& > button.MuiButtonBase-root":{color:"#0A224C"},"& + div > div":{width:255,height:255,backgroundColor:"#fff",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}}}}}}},x.YI),x.Hr))}))((function(e){var r=e.value,o=e.onChange,m=e.classes,f=e.forSearchBlock,x=void 0!==f&&f,C=e.forFilterContained,Z=void 0!==C&&C,j=e.label,S=e.tooltip,k=void 0===S?"":S,B=e.required,N=e.id,y=e.disabled,M=void 0!==y&&y,w=e.noInputIcon,E={};void 0!==w&&w||(E={startAdornment:(0,v.jsx)(h.Z,{position:"start",children:(0,v.jsx)(p.Z,{})})}),Z&&(E={endAdornment:(0,v.jsx)(h.Z,{position:"end",children:(0,v.jsx)(b.Z,{className:m.openListIcon})})});var F="";x?F=m.dateSelectorOverride:Z&&(F=m.dateSelectorFilterOverride);var I=(0,v.jsx)(u.Z,{dateAdapter:c.Z,children:(0,v.jsx)(d.Z,{value:r,onChange:o,InputProps:(0,t.Z)((0,t.Z)({},E),{},{className:F}),label:"",className:x?m.parentDateOverride:m.dateSelectorFormOverride,disabled:M,renderInput:function(e){return(0,v.jsx)(i.Z,(0,t.Z)((0,t.Z)({id:N,variant:"standard"},e),{},{disabled:!0}))},ampm:!1,PopperProps:{className:m.paperOverride}})});return x?I:(0,v.jsx)(a.Fragment,{children:(0,v.jsxs)(n.ZP,{item:!0,xs:12,className:Z?"":m.fieldContainer,children:[""!==j&&(0,v.jsxs)(s.Z,{htmlFor:N,className:m.inputLabel,children:[(0,v.jsxs)("span",{children:[j,B?"*":""]}),""!==k&&(0,v.jsx)("div",{className:m.tooltipContainer,children:(0,v.jsx)(l.Z,{title:k,placement:"top-start",children:(0,v.jsx)("div",{className:m.tooltip,children:(0,v.jsx)(g.Z,{})})})})]}),(0,v.jsx)("div",{className:m.textBoxContainer,children:I})]})})}))},76352:function(e,r,o){o.d(r,{Z:function(){return y}});var t,a=o(23430),i=o(18489),n=o(50390),s=o(34424),l=o(95467),d=o(97771),c=o(84402),u=o(78426),h=o(93085),p=o(86509),m=o(4285),f=o(72462),g=o(44149),x=o(38342),b=o.n(x),v=o(92125),C=o(19538),Z=o(21278),j=o(62559),S=function(){clearInterval(t)},k={displayErrorMessage:g.zb},B=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),k)((0,m.Z)((function(e){return(0,p.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var r=e.classes,o=e.modalSnackMessage,i=e.displayErrorMessage,s=e.customStyle,l=(0,n.useState)(!1),d=(0,a.Z)(l,2),c=d[0],u=d[1],h=(0,n.useState)(!1),p=(0,a.Z)(h,2),m=p[0],f=p[1],g=(0,n.useCallback)((function(){f(!1)}),[]);(0,n.useEffect)((function(){m||(i({detailedError:"",errorMessage:""}),u(!1))}),[i,m]),(0,n.useEffect)((function(){""!==o.message&&"error"===o.type&&f(!0)}),[g,o.message,o.type]);var x=b()(o,"message",""),k=b()(o,"detailedErrorMsg","");return"error"!==o.type||""===x?null:(0,j.jsx)(n.Fragment,{children:(0,j.jsxs)("div",{className:"".concat(r.modalErrorContainer," ").concat(m?r.modalErrorShow:""),style:s,onMouseOver:S,onMouseLeave:function(){t=setInterval(g,1e4)},children:[(0,j.jsx)("button",{className:r.closeButton,onClick:g,children:(0,j.jsx)(Z.Z,{})}),(0,j.jsxs)("div",{className:r.errorTitle,children:[(0,j.jsx)("span",{className:r.messageIcon,children:(0,j.jsx)(C.Z,{})}),(0,j.jsx)("span",{className:r.errorLabel,children:x})]}),""!==k&&(0,j.jsxs)(n.Fragment,{children:[(0,j.jsx)("div",{className:r.detailsContainerLink,children:(0,j.jsxs)("button",{className:r.detailsButton,onClick:function(){u(!c)},children:["Details",(0,j.jsx)(v.Z,{className:"".concat(r.arrowElement," ").concat(c?r.arrowOpen:"")})]})}),(0,j.jsx)("div",{className:"".concat(r.extraDetailsContainer," ").concat(c?r.extraDetailsOpen:""),children:k})]})]})})}))),N=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:g.MK}),y=(0,m.Z)((function(e){return(0,p.Z)((0,i.Z)((0,i.Z)({},f.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},f.sN))}))(N((function(e){var r=e.onClose,o=e.modalOpen,t=e.title,s=e.children,p=e.classes,m=e.wideLimit,f=void 0===m||m,g=e.modalSnackMessage,x=e.noContentPadding,b=e.setModalSnackMessage,v=e.titleIcon,C=void 0===v?null:v,S=(0,n.useState)(!1),k=(0,a.Z)(S,2),N=k[0],y=k[1];(0,n.useEffect)((function(){b("")}),[b]),(0,n.useEffect)((function(){if(g){if(""===g.message)return void y(!1);"error"!==g.type&&y(!0)}}),[g]);var M=f?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return g&&(w=g.detailedErrorMsg,(""===g.detailedErrorMsg||g.detailedErrorMsg.length<5)&&(w=g.message)),(0,j.jsxs)(c.Z,(0,i.Z)((0,i.Z)({open:o,classes:p},M),{},{scroll:"paper",onClose:function(e,o){"backdropClick"!==o&&r()},className:p.root,children:[(0,j.jsxs)(u.Z,{className:p.title,children:[(0,j.jsxs)("div",{className:p.titleText,children:[C," ",t]}),(0,j.jsx)("div",{className:p.closeContainer,children:(0,j.jsx)(l.Z,{"aria-label":"close",className:p.closeButton,onClick:r,disableRipple:!0,size:"small",children:(0,j.jsx)(Z.Z,{})})})]}),(0,j.jsx)(B,{}),(0,j.jsx)(d.Z,{open:N,className:p.snackBarModal,onClose:function(){y(!1),b("")},message:w,ContentProps:{className:"".concat(p.snackBar," ").concat(g&&"error"===g.type?p.errorSnackBar:"")},autoHideDuration:g&&"error"===g.type?1e4:5e3}),(0,j.jsx)(h.Z,{className:x?"":p.content,children:s})]}))})))}}]); +//# sourceMappingURL=3201.781acfe1.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3201.9f8a570f.chunk.js.map b/portal-ui/build/static/js/3201.781acfe1.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/3201.9f8a570f.chunk.js.map rename to portal-ui/build/static/js/3201.781acfe1.chunk.js.map index 376aeed4b..98e1b91ee 100644 --- a/portal-ui/build/static/js/3201.9f8a570f.chunk.js.map +++ b/portal-ui/build/static/js/3201.781acfe1.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/3201.9f8a570f.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/FormComponents/ModalError/ModalError.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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, Button } from \"@mui/material\";\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\";\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}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...widgetContainerCommon,\n syncButton: {\n \"&.MuiButton-root .MuiButton-iconSizeMedium > *:first-of-type\": {\n fontSize: 18,\n },\n },\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 DateRangeSelector = ({\n classes,\n timeStart,\n setTimeStart,\n timeEnd,\n setTimeEnd,\n triggerSync,\n}: IDateRangeSelector) => {\n return (\n \n \n Filter:\n
\n \n \n \n Start Time:\n \n  \n \n \n \n End Time:\n \n
\n {triggerSync && (\n }\n className={classes.syncButton}\n >\n Sync\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 DateTimePicker from \"@mui/lab/DateTimePicker\";\nimport AdapterMoment from \"@mui/lab/AdapterMoment\";\nimport LocalizationProvider from \"@mui/lab/LocalizationProvider\";\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}\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 \"& > 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 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}: 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 let classOverriden = \"\";\n\n if (forSearchBlock) {\n classOverriden = classes.dateSelectorOverride;\n } else if (forFilterContained) {\n classOverriden = classes.dateSelectorFilterOverride;\n }\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 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
{inputItem}
\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 .\n\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\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","actionsTray","widgetContainerCommon","syncButton","schedulerIcon","opacity","selectorLabel","color","whiteSpace","marginLeft","timeStart","setTimeStart","timeEnd","setTimeEnd","triggerSync","Fragment","timeContainers","filterTitle","filterContainer","value","onChange","forFilterContained","id","noInputIcon","divisorLine","type","variant","onClick","endIcon","dateSelectorOverride","padding","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","label","tooltip","required","disabled","adornment","startAdornment","endAdornment","classOverriden","inputItem","dateAdapter","AdapterMoment","InputProps","renderInput","props","ampm","PopperProps","fieldContainer","htmlFor","inputLabel","tooltipContainer","placement","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","borderLeftWidth","zIndex","transform","transitionDuration","modalErrorShow","closeButton","right","cursor","errorTitle","errorLabel","messageIcon","detailsButton","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","useState","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","get","messageDetails","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","deleteDialogStyles","customDialogSize","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","fullWidth","detailedErrorMsg","length","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","disableRipple","size","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/3201.781acfe1.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/FormComponents/ModalError/ModalError.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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, Button } from \"@mui/material\";\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\";\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}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...widgetContainerCommon,\n syncButton: {\n \"&.MuiButton-root .MuiButton-iconSizeMedium > *:first-of-type\": {\n fontSize: 18,\n },\n },\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 DateRangeSelector = ({\n classes,\n timeStart,\n setTimeStart,\n timeEnd,\n setTimeEnd,\n triggerSync,\n}: IDateRangeSelector) => {\n return (\n \n \n Filter:\n
\n \n \n \n Start Time:\n \n  \n \n \n \n End Time:\n \n
\n {triggerSync && (\n }\n className={classes.syncButton}\n >\n Sync\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 DateTimePicker from \"@mui/lab/DateTimePicker\";\nimport AdapterMoment from \"@mui/lab/AdapterMoment\";\nimport LocalizationProvider from \"@mui/lab/LocalizationProvider\";\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}\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 \"& > 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 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}: 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 let classOverriden = \"\";\n\n if (forSearchBlock) {\n classOverriden = classes.dateSelectorOverride;\n } else if (forFilterContained) {\n classOverriden = classes.dateSelectorFilterOverride;\n }\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 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
{inputItem}
\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 .\n\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\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","actionsTray","widgetContainerCommon","syncButton","schedulerIcon","opacity","selectorLabel","color","whiteSpace","marginLeft","timeStart","setTimeStart","timeEnd","setTimeEnd","triggerSync","Fragment","timeContainers","filterTitle","filterContainer","value","onChange","forFilterContained","id","noInputIcon","divisorLine","type","variant","onClick","endIcon","dateSelectorOverride","padding","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","label","tooltip","required","disabled","adornment","startAdornment","endAdornment","classOverriden","inputItem","dateAdapter","AdapterMoment","InputProps","renderInput","props","ampm","PopperProps","fieldContainer","htmlFor","inputLabel","tooltipContainer","placement","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","borderLeftWidth","zIndex","transform","transitionDuration","modalErrorShow","closeButton","right","cursor","errorTitle","errorLabel","messageIcon","detailsButton","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","useState","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","get","messageDetails","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","deleteDialogStyles","customDialogSize","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","fullWidth","detailedErrorMsg","length","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","disableRipple","size","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3320.2e853989.chunk.js b/portal-ui/build/static/js/3320.73d7b61f.chunk.js similarity index 99% rename from portal-ui/build/static/js/3320.2e853989.chunk.js rename to portal-ui/build/static/js/3320.73d7b61f.chunk.js index f00a09037..8305ff288 100644 --- a/portal-ui/build/static/js/3320.2e853989.chunk.js +++ b/portal-ui/build/static/js/3320.73d7b61f.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3320],{53224:function(e,t,n){var a=n(18489),l=n(83738),s=(n(50390),n(70758)),i=n(62449),r=n(62559),o=["onClick","text","disabled","tooltip","icon"],c=(0,i.Z)((function(e){return{root:{padding:"7px",color:function(t){return function(t){var n=t.variant,a=t.color,l=e.palette.primary.main;return"primary"===a&&"contained"===n?l=e.palette.primary.contrastText:"primary"===a&&"outlined"===n?l=e.palette.primary.main:"secondary"===a&&(l=e.palette.secondary.main),l}(t)},borderColor:function(t){return"secondary"===t.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));t.Z=function(e){var t=c(e),n=e.onClick,i=e.text,d=void 0===i?"":i,u=e.disabled,m=void 0!==u&&u,g=e.tooltip,h=e.icon,x=void 0===h?null:h,v=(0,l.Z)(e,o);return(0,r.jsxs)(s.Z,(0,a.Z)((0,a.Z)({classes:t,tooltip:g||d,variant:"outlined",onClick:n,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},v),{},{children:[(0,r.jsx)("span",{children:d})," ",x]}))}},55572:function(e,t,n){var a=n(35531),l=n(18489),s=n(50390),i=n(86509),r=n(4285),o=n(72462),c=n(66964),d=n(94187),u=n(95467),m=n(96152),g=n(43615),h=n(84201),x=n(10369),v=n(62559);t.Z=(0,r.Z)((function(e){return(0,i.Z)((0,l.Z)({buttonContainer:{textAlign:"right"},multiContainer:{display:"flex",alignItems:"center",justifyContent:"flex-start"},sizeFactorContainer:{marginLeft:8},bottomContainer:{display:"flex",flexGrow:1,alignItems:"center","& div":{flexGrow:1,width:"100%"}},factorElements:{display:"flex",justifyContent:"flex-start"},sizeNumber:{fontSize:35,fontWeight:700,textAlign:"center"},sizeDescription:{fontSize:14,color:"#777",textAlign:"center"},shortened:{gridTemplateColumns:"auto auto 20px 20px",display:"grid",gridGap:20,paddingRight:20}},o.oO))}))((function(e){var t=e.classes,n=e.paramName,l=e.newValues,i=e.setNewValues,r=e.error,o=e.setError,b=function(e){o((0,x.h)(r,e))};(0,s.useEffect)((function(){for(var e=[],t=0;t1){var e=(0,a.Z)(l);e.splice(o,1),i(e)}},children:(0,v.jsx)(g.Z,{})})})]})},"keyvalue-".concat(o.toString()))}));return(0,v.jsx)(s.Fragment,{children:p})}))},88370:function(e,t,n){var a=n(18489),l=n(50390),s=n(34424),i=n(38342),r=n.n(i),o=n(86509),c=n(4285),d=n(72462),u=n(17777),m=n(62559),g=(0,s.$j)((function(e){return{loadingTenant:e.tenants.tenantDetails.loadingTenant,selectedTenant:e.tenants.tenantDetails.currentTenant,tenant:e.tenants.tenantDetails.tenantInfo,logEnabled:r()(e.tenants.tenantDetails.tenantInfo,"logEnabled",!1),monitoringEnabled:r()(e.tenants.tenantDetails.tenantInfo,"monitoringEnabled",!1),encryptionEnabled:r()(e.tenants.tenantDetails.tenantInfo,"encryptionEnabled",!1),minioTLS:r()(e.tenants.tenantDetails.tenantInfo,"minioTLS",!1),consoleTLS:r()(e.tenants.tenantDetails.tenantInfo,"consoleTLS",!1),consoleEnabled:r()(e.tenants.tenantDetails.tenantInfo,"consoleEnabled",!1),adEnabled:r()(e.tenants.tenantDetails.tenantInfo,"idpAdEnabled",!1),oidcEnabled:r()(e.tenants.tenantDetails.tenantInfo,"idpOidcEnabled",!1)}}),null);t.Z=(0,c.Z)((function(e){return(0,o.Z)((0,a.Z)((0,a.Z)({},d.oZ),{},{centerAlign:{textAlign:"center"},listHeight:{height:"50"}},(0,d.Bz)(e.spacing(4))))}))(g((function(e){var t=e.classes,n=e.records,a=e.recordName;return(0,m.jsx)(l.Fragment,{children:(0,m.jsx)(u.Z,{columns:[{label:"Key",elementKey:"key"},{label:"Value",elementKey:"value"}],isLoading:!1,records:n,itemActions:[],entityName:a,idField:"name",customPaperHeight:t.listHeight})})})))},23320:function(e,t,n){n.r(t),n.d(t,{default:function(){return w}});var a=n(23430),l=n(18489),s=n(50390),i=n(34424),r=n(86509),o=n(4285),c=n(72462),d=n(25594),u=n(23473),m=n(18201),g=n(46981),h=n(30324),x=n(11387),v=n(44149),b=n(35531),p=n(76352),j=n(66946),f=n(55572),Z=n(66964),N=n(84201),S=n(10369),y=n(62559),C=(0,o.Z)((function(e){return(0,r.Z)((0,l.Z)((0,l.Z)((0,l.Z)({buttonContainer:{textAlign:"right"},multiContainer:{display:"flex",alignItems:"center",justifyContent:"flex-start"},sizeFactorContainer:{marginLeft:8},bottomContainer:{display:"flex",flexGrow:1,alignItems:"center","& div":{flexGrow:1,width:"100%"}},factorElements:{display:"flex",justifyContent:"flex-start"},sizeNumber:{fontSize:35,fontWeight:700,textAlign:"center"},sizeDescription:{fontSize:14,color:"#777",textAlign:"center"},shortened:{gridTemplateColumns:"auto auto 20px 20px",display:"grid",gridGap:20}},c.oO),c.ID),c.DF))}))((function(e){var t=e.tenant,n=e.classes,l=e.open,i=e.onClose,r=e.image,o=e.labels,c=e.annotations,u=e.nodeSelector,m=e.diskCapacityGB,g=e.serviceAccountName,x=e.dbLabels,C=e.dbAnnotations,A=e.dbNodeSelector,R=e.dbImage,q=e.dbServiceAccountName,P=e.cpuRequest,k=e.memRequest,D=e.dbCPURequest,w=e.dbMemRequest,L=(0,s.useState)({}),I=(0,a.Z)(L,2),E=I[0],M=I[1],z=(0,s.useState)(o.length>0?(0,b.Z)(o):[{key:"",value:""}]),F=(0,a.Z)(z,2),B=F[0],G=F[1],T=(0,s.useState)(c.length>0?(0,b.Z)(c):[{key:"",value:""}]),U=(0,a.Z)(T,2),V=U[0],O=U[1],K=(0,s.useState)(u.length>0?(0,b.Z)(u):[{key:"",value:""}]),$=(0,a.Z)(K,2),_=$[0],W=$[1],H=(0,s.useState)(r),Y=(0,a.Z)(H,2),J=Y[0],Q=Y[1],X=(0,s.useState)(m),ee=(0,a.Z)(X,2),te=ee[0],ne=ee[1],ae=(0,s.useState)(null!=g?g:""),le=(0,a.Z)(ae,2),se=le[0],ie=le[1],re=(0,s.useState)(x.length>0?(0,b.Z)(x):[{key:"",value:""}]),oe=(0,a.Z)(re,2),ce=oe[0],de=oe[1],ue=(0,s.useState)(C.length>0?(0,b.Z)(C):[{key:"",value:""}]),me=(0,a.Z)(ue,2),ge=me[0],he=me[1],xe=(0,s.useState)(A.length>0?(0,b.Z)(A):[{key:"",value:""}]),ve=(0,a.Z)(xe,2),be=ve[0],pe=ve[1],je=(0,s.useState)(R),fe=(0,a.Z)(je,2),Ze=fe[0],Ne=fe[1],Se=(0,s.useState)(null!=q?q:""),ye=(0,a.Z)(Se,2),Ce=ye[0],Ae=ye[1],Re=(0,s.useState)({}),qe=(0,a.Z)(Re,2),Pe=qe[0],ke=qe[1],De=(0,s.useState)({}),we=(0,a.Z)(De,2),Le=we[0],Ie=we[1],Ee=(0,s.useState)({}),Me=(0,a.Z)(Ee,2),ze=Me[0],Fe=Me[1],Be=(0,s.useState)({}),Ge=(0,a.Z)(Be,2),Te=Ge[0],Ue=Ge[1],Ve=(0,s.useState)({}),Oe=(0,a.Z)(Ve,2),Ke=Oe[0],$e=Oe[1],_e=(0,s.useState)({}),We=(0,a.Z)(_e,2),He=We[0],Ye=We[1],Je=(0,s.useState)(P),Qe=(0,a.Z)(Je,2),Xe=Qe[0],et=Qe[1],tt=(0,s.useState)(k?Math.floor(parseInt(k,10)/1e9).toString():"0"),nt=(0,a.Z)(tt,2),at=nt[0],lt=nt[1],st=(0,s.useState)(D),it=(0,a.Z)(st,2),rt=it[0],ot=it[1],ct=(0,s.useState)(w?Math.floor(parseInt(w,10)/1e9).toString():"0"),dt=(0,a.Z)(ct,2),ut=dt[0],mt=dt[1],gt=function(e){for(var t=[],n=0;n0&&(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)("h4",{children:"Labels"})})}),(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)(A.Z,{records:null!=S&&S.labels.length>0?S.labels:[],recordName:"Labels"})})})]}),null!=(null===S||void 0===S?void 0:S.annotations)&&S.annotations.length>0&&(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)("h4",{children:"Annotations"})})}),(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)(A.Z,{records:null!=S&&S.annotations.length>0?S.annotations:[],recordName:"Annotations"})})})]}),null!=(null===S||void 0===S?void 0:S.nodeSelector)&&S.nodeSelector.length>0&&(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)("h4",{children:"Node Selector"})})}),(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)(A.Z,{records:null!=S&&S.nodeSelector.length>0?S.nodeSelector:[],recordName:"Node Selector"})})})]})]})})}),(0,y.jsx)("h2",{children:"Database Details"}),(0,y.jsx)("hr",{className:i.hrClass}),(0,y.jsx)("table",{width:"100%",children:(0,y.jsx)("tbody",{children:c?(0,y.jsx)("tr",{children:(0,y.jsx)("td",{className:i.centerAlign,colSpan:4,children:(0,y.jsx)(m.Z,{})})}):(0,y.jsxs)(s.Fragment,{children:[null!=(null===S||void 0===S?void 0:S.logDBCPURequest)&&(0,y.jsxs)("tr",{children:[(0,y.jsx)("td",{className:i.titleCol,children:"DB CPU Request:"}),(0,y.jsx)("td",{children:null===S||void 0===S?void 0:S.logDBCPURequest})]}),null!=(null===S||void 0===S?void 0:S.logDBMemRequest)&&(0,y.jsxs)("tr",{children:[(0,y.jsx)("td",{className:i.titleCol,children:"DB Memory Request:"}),(0,y.jsx)("td",{children:(0,k.ae)(null===S||void 0===S?void 0:S.logDBMemRequest,!0)})]}),null!=(null===S||void 0===S?void 0:S.dbImage)&&(0,y.jsxs)("tr",{children:[(0,y.jsx)("td",{className:i.titleCol,children:"Postgres Image:"}),(0,y.jsx)("td",{children:null===S||void 0===S?void 0:S.dbImage})]}),null!=(null===S||void 0===S?void 0:S.dbServiceAccountName)&&(0,y.jsxs)("tr",{children:[(0,y.jsx)("td",{className:i.titleCol,children:"Service Account:"}),(0,y.jsx)("td",{children:null===S||void 0===S?void 0:S.dbServiceAccountName})]}),null!=(null===S||void 0===S?void 0:S.dbLabels)&&S.dbLabels.length>0&&(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)("h4",{children:"Labels"})})}),(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)(A.Z,{records:null!=S&&(null===(t=S.dbLabels)||void 0===t?void 0:t.length)>0?S.dbLabels:[],recordName:"labels"})})})]}),null!=(null===S||void 0===S?void 0:S.annotations)&&S.dbAnnotations.length>0&&(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)("h4",{children:"Annotations"})})}),(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)(A.Z,{records:null!=S&&(null===(n=S.dbAnnotations)||void 0===n?void 0:n.length)>0?S.dbAnnotations:[],recordName:"annotations"})})})]}),null!=(null===S||void 0===S?void 0:S.nodeSelector)&&S.dbNodeSelector.length>0&&(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)("h4",{children:"Node Selector "})})}),(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)(A.Z,{records:null!=S&&(null===(l=S.dbNodeSelector)||void 0===l?void 0:l.length)>0?S.dbNodeSelector:[],recordName:"node selectors"})})})]})]})})})]})})})]})})))}}]); -//# sourceMappingURL=3320.2e853989.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3320],{53224:function(e,t,n){var a=n(18489),l=n(83738),s=(n(50390),n(70758)),i=n(62449),r=n(62559),o=["onClick","text","disabled","tooltip","icon"],c=(0,i.Z)((function(e){return{root:{padding:"7px",color:function(t){return function(t){var n=t.variant,a=t.color,l=e.palette.primary.main;return"primary"===a&&"contained"===n?l=e.palette.primary.contrastText:"primary"===a&&"outlined"===n?l=e.palette.primary.main:"secondary"===a&&(l=e.palette.secondary.main),l}(t)},borderColor:function(t){return"secondary"===t.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));t.Z=function(e){var t=c(e),n=e.onClick,i=e.text,d=void 0===i?"":i,u=e.disabled,m=void 0!==u&&u,g=e.tooltip,h=e.icon,x=void 0===h?null:h,v=(0,l.Z)(e,o);return(0,r.jsxs)(s.Z,(0,a.Z)((0,a.Z)({classes:t,tooltip:g||d,variant:"outlined",onClick:n,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},v),{},{children:[(0,r.jsx)("span",{children:d})," ",x]}))}},55572:function(e,t,n){var a=n(35531),l=n(18489),s=n(50390),i=n(86509),r=n(4285),o=n(72462),c=n(66964),d=n(94187),u=n(95467),m=n(96152),g=n(43615),h=n(84201),x=n(10369),v=n(62559);t.Z=(0,r.Z)((function(e){return(0,i.Z)((0,l.Z)({buttonContainer:{textAlign:"right"},multiContainer:{display:"flex",alignItems:"center",justifyContent:"flex-start"},sizeFactorContainer:{marginLeft:8},bottomContainer:{display:"flex",flexGrow:1,alignItems:"center","& div":{flexGrow:1,width:"100%"}},factorElements:{display:"flex",justifyContent:"flex-start"},sizeNumber:{fontSize:35,fontWeight:700,textAlign:"center"},sizeDescription:{fontSize:14,color:"#777",textAlign:"center"},shortened:{gridTemplateColumns:"auto auto 20px 20px",display:"grid",gridGap:20,paddingRight:20}},o.oO))}))((function(e){var t=e.classes,n=e.paramName,l=e.newValues,i=e.setNewValues,r=e.error,o=e.setError,b=function(e){o((0,x.h)(r,e))};(0,s.useEffect)((function(){for(var e=[],t=0;t1){var e=(0,a.Z)(l);e.splice(o,1),i(e)}},children:(0,v.jsx)(g.Z,{})})})]})},"keyvalue-".concat(o.toString()))}));return(0,v.jsx)(s.Fragment,{children:p})}))},88370:function(e,t,n){var a=n(18489),l=n(50390),s=n(34424),i=n(38342),r=n.n(i),o=n(86509),c=n(4285),d=n(72462),u=n(17777),m=n(62559),g=(0,s.$j)((function(e){return{loadingTenant:e.tenants.tenantDetails.loadingTenant,selectedTenant:e.tenants.tenantDetails.currentTenant,tenant:e.tenants.tenantDetails.tenantInfo,logEnabled:r()(e.tenants.tenantDetails.tenantInfo,"logEnabled",!1),monitoringEnabled:r()(e.tenants.tenantDetails.tenantInfo,"monitoringEnabled",!1),encryptionEnabled:r()(e.tenants.tenantDetails.tenantInfo,"encryptionEnabled",!1),minioTLS:r()(e.tenants.tenantDetails.tenantInfo,"minioTLS",!1),consoleTLS:r()(e.tenants.tenantDetails.tenantInfo,"consoleTLS",!1),consoleEnabled:r()(e.tenants.tenantDetails.tenantInfo,"consoleEnabled",!1),adEnabled:r()(e.tenants.tenantDetails.tenantInfo,"idpAdEnabled",!1),oidcEnabled:r()(e.tenants.tenantDetails.tenantInfo,"idpOidcEnabled",!1)}}),null);t.Z=(0,c.Z)((function(e){return(0,o.Z)((0,a.Z)((0,a.Z)({},d.oZ),{},{centerAlign:{textAlign:"center"},listHeight:{height:"50"}},(0,d.Bz)(e.spacing(4))))}))(g((function(e){var t=e.classes,n=e.records,a=e.recordName;return(0,m.jsx)(l.Fragment,{children:(0,m.jsx)(u.Z,{columns:[{label:"Key",elementKey:"key"},{label:"Value",elementKey:"value"}],isLoading:!1,records:n,itemActions:[],entityName:a,idField:"name",customPaperHeight:t.listHeight})})})))},23320:function(e,t,n){n.r(t),n.d(t,{default:function(){return w}});var a=n(23430),l=n(18489),s=n(50390),i=n(34424),r=n(86509),o=n(4285),c=n(72462),d=n(25594),u=n(23473),m=n(18201),g=n(46981),h=n(30324),x=n(98280),v=n(44149),b=n(35531),p=n(76352),j=n(66946),f=n(55572),Z=n(66964),N=n(84201),S=n(10369),y=n(62559),C=(0,o.Z)((function(e){return(0,r.Z)((0,l.Z)((0,l.Z)((0,l.Z)({buttonContainer:{textAlign:"right"},multiContainer:{display:"flex",alignItems:"center",justifyContent:"flex-start"},sizeFactorContainer:{marginLeft:8},bottomContainer:{display:"flex",flexGrow:1,alignItems:"center","& div":{flexGrow:1,width:"100%"}},factorElements:{display:"flex",justifyContent:"flex-start"},sizeNumber:{fontSize:35,fontWeight:700,textAlign:"center"},sizeDescription:{fontSize:14,color:"#777",textAlign:"center"},shortened:{gridTemplateColumns:"auto auto 20px 20px",display:"grid",gridGap:20}},c.oO),c.ID),c.DF))}))((function(e){var t=e.tenant,n=e.classes,l=e.open,i=e.onClose,r=e.image,o=e.labels,c=e.annotations,u=e.nodeSelector,m=e.diskCapacityGB,g=e.serviceAccountName,x=e.dbLabels,C=e.dbAnnotations,A=e.dbNodeSelector,R=e.dbImage,q=e.dbServiceAccountName,P=e.cpuRequest,k=e.memRequest,D=e.dbCPURequest,w=e.dbMemRequest,L=(0,s.useState)({}),I=(0,a.Z)(L,2),E=I[0],M=I[1],z=(0,s.useState)(o.length>0?(0,b.Z)(o):[{key:"",value:""}]),F=(0,a.Z)(z,2),B=F[0],G=F[1],T=(0,s.useState)(c.length>0?(0,b.Z)(c):[{key:"",value:""}]),U=(0,a.Z)(T,2),V=U[0],O=U[1],K=(0,s.useState)(u.length>0?(0,b.Z)(u):[{key:"",value:""}]),$=(0,a.Z)(K,2),_=$[0],W=$[1],H=(0,s.useState)(r),Y=(0,a.Z)(H,2),J=Y[0],Q=Y[1],X=(0,s.useState)(m),ee=(0,a.Z)(X,2),te=ee[0],ne=ee[1],ae=(0,s.useState)(null!=g?g:""),le=(0,a.Z)(ae,2),se=le[0],ie=le[1],re=(0,s.useState)(x.length>0?(0,b.Z)(x):[{key:"",value:""}]),oe=(0,a.Z)(re,2),ce=oe[0],de=oe[1],ue=(0,s.useState)(C.length>0?(0,b.Z)(C):[{key:"",value:""}]),me=(0,a.Z)(ue,2),ge=me[0],he=me[1],xe=(0,s.useState)(A.length>0?(0,b.Z)(A):[{key:"",value:""}]),ve=(0,a.Z)(xe,2),be=ve[0],pe=ve[1],je=(0,s.useState)(R),fe=(0,a.Z)(je,2),Ze=fe[0],Ne=fe[1],Se=(0,s.useState)(null!=q?q:""),ye=(0,a.Z)(Se,2),Ce=ye[0],Ae=ye[1],Re=(0,s.useState)({}),qe=(0,a.Z)(Re,2),Pe=qe[0],ke=qe[1],De=(0,s.useState)({}),we=(0,a.Z)(De,2),Le=we[0],Ie=we[1],Ee=(0,s.useState)({}),Me=(0,a.Z)(Ee,2),ze=Me[0],Fe=Me[1],Be=(0,s.useState)({}),Ge=(0,a.Z)(Be,2),Te=Ge[0],Ue=Ge[1],Ve=(0,s.useState)({}),Oe=(0,a.Z)(Ve,2),Ke=Oe[0],$e=Oe[1],_e=(0,s.useState)({}),We=(0,a.Z)(_e,2),He=We[0],Ye=We[1],Je=(0,s.useState)(P),Qe=(0,a.Z)(Je,2),Xe=Qe[0],et=Qe[1],tt=(0,s.useState)(k?Math.floor(parseInt(k,10)/1e9).toString():"0"),nt=(0,a.Z)(tt,2),at=nt[0],lt=nt[1],st=(0,s.useState)(D),it=(0,a.Z)(st,2),rt=it[0],ot=it[1],ct=(0,s.useState)(w?Math.floor(parseInt(w,10)/1e9).toString():"0"),dt=(0,a.Z)(ct,2),ut=dt[0],mt=dt[1],gt=function(e){for(var t=[],n=0;n0&&(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)("h4",{children:"Labels"})})}),(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)(A.Z,{records:null!=S&&S.labels.length>0?S.labels:[],recordName:"Labels"})})})]}),null!=(null===S||void 0===S?void 0:S.annotations)&&S.annotations.length>0&&(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)("h4",{children:"Annotations"})})}),(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)(A.Z,{records:null!=S&&S.annotations.length>0?S.annotations:[],recordName:"Annotations"})})})]}),null!=(null===S||void 0===S?void 0:S.nodeSelector)&&S.nodeSelector.length>0&&(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)("h4",{children:"Node Selector"})})}),(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)(A.Z,{records:null!=S&&S.nodeSelector.length>0?S.nodeSelector:[],recordName:"Node Selector"})})})]})]})})}),(0,y.jsx)("h2",{children:"Database Details"}),(0,y.jsx)("hr",{className:i.hrClass}),(0,y.jsx)("table",{width:"100%",children:(0,y.jsx)("tbody",{children:c?(0,y.jsx)("tr",{children:(0,y.jsx)("td",{className:i.centerAlign,colSpan:4,children:(0,y.jsx)(m.Z,{})})}):(0,y.jsxs)(s.Fragment,{children:[null!=(null===S||void 0===S?void 0:S.logDBCPURequest)&&(0,y.jsxs)("tr",{children:[(0,y.jsx)("td",{className:i.titleCol,children:"DB CPU Request:"}),(0,y.jsx)("td",{children:null===S||void 0===S?void 0:S.logDBCPURequest})]}),null!=(null===S||void 0===S?void 0:S.logDBMemRequest)&&(0,y.jsxs)("tr",{children:[(0,y.jsx)("td",{className:i.titleCol,children:"DB Memory Request:"}),(0,y.jsx)("td",{children:(0,k.ae)(null===S||void 0===S?void 0:S.logDBMemRequest,!0)})]}),null!=(null===S||void 0===S?void 0:S.dbImage)&&(0,y.jsxs)("tr",{children:[(0,y.jsx)("td",{className:i.titleCol,children:"Postgres Image:"}),(0,y.jsx)("td",{children:null===S||void 0===S?void 0:S.dbImage})]}),null!=(null===S||void 0===S?void 0:S.dbServiceAccountName)&&(0,y.jsxs)("tr",{children:[(0,y.jsx)("td",{className:i.titleCol,children:"Service Account:"}),(0,y.jsx)("td",{children:null===S||void 0===S?void 0:S.dbServiceAccountName})]}),null!=(null===S||void 0===S?void 0:S.dbLabels)&&S.dbLabels.length>0&&(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)("h4",{children:"Labels"})})}),(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)(A.Z,{records:null!=S&&(null===(t=S.dbLabels)||void 0===t?void 0:t.length)>0?S.dbLabels:[],recordName:"labels"})})})]}),null!=(null===S||void 0===S?void 0:S.annotations)&&S.dbAnnotations.length>0&&(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)("h4",{children:"Annotations"})})}),(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)(A.Z,{records:null!=S&&(null===(n=S.dbAnnotations)||void 0===n?void 0:n.length)>0?S.dbAnnotations:[],recordName:"annotations"})})})]}),null!=(null===S||void 0===S?void 0:S.nodeSelector)&&S.dbNodeSelector.length>0&&(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)("h4",{children:"Node Selector "})})}),(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)(A.Z,{records:null!=S&&(null===(l=S.dbNodeSelector)||void 0===l?void 0:l.length)>0?S.dbNodeSelector:[],recordName:"node selectors"})})})]})]})})})]})})})]})})))}}]); +//# sourceMappingURL=3320.73d7b61f.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3320.2e853989.chunk.js.map b/portal-ui/build/static/js/3320.73d7b61f.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/3320.2e853989.chunk.js.map rename to portal-ui/build/static/js/3320.73d7b61f.chunk.js.map index 124e79464..5010a1c6d 100644 --- a/portal-ui/build/static/js/3320.2e853989.chunk.js.map +++ b/portal-ui/build/static/js/3320.73d7b61f.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/3320.2e853989.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Tenants/TenantDetails/KeyPairEdit.tsx","screens/Console/Tenants/TenantDetails/KeyPairView.tsx","screens/Console/Tenants/TenantDetails/EditTenantLogsModal.tsx","screens/Console/Tenants/TenantDetails/TenantLogging.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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","import React, { Fragment, useEffect } from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { modalBasic } from \"../../Common/FormComponents/common/styleLibrary\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { IconButton, Tooltip } from \"@mui/material\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport { IKeyValue } from \"../ListTenants/types\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../utils/validationFunctions\";\nimport { clearValidationError } from \"../utils\";\n\ninterface IKeyPairEditProps {\n classes: any;\n paramName: string;\n error: any;\n setError: (e: any) => void;\n newValues: IKeyValue[];\n setNewValues: (vals: IKeyValue[]) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n multiContainer: {\n display: \"flex\",\n alignItems: \"center\" as const,\n justifyContent: \"flex-start\" as const,\n },\n sizeFactorContainer: {\n marginLeft: 8,\n },\n bottomContainer: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n \"& div\": {\n flexGrow: 1,\n width: \"100%\",\n },\n },\n factorElements: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n },\n sizeNumber: {\n fontSize: 35,\n fontWeight: 700,\n textAlign: \"center\",\n },\n sizeDescription: {\n fontSize: 14,\n color: \"#777\",\n textAlign: \"center\",\n },\n shortened: {\n gridTemplateColumns: \"auto auto 20px 20px\",\n display: \"grid\",\n gridGap: 20,\n paddingRight: 20,\n },\n ...modalBasic,\n });\n\nconst KeyPairEdit = ({\n classes,\n paramName,\n newValues,\n setNewValues,\n error,\n setError,\n}: IKeyPairEditProps) => {\n const cleanValidation = (fieldName: string) => {\n setError(clearValidationError(error, fieldName));\n };\n\n useEffect(() => {\n let keyPairValidation: IValidation[] = [];\n\n for (var i = 0; i < newValues.length; i++) {\n keyPairValidation.push({\n fieldKey: `key-${i.toString()}`,\n required: false,\n value: newValues[i].key,\n pattern: /^[a-zA-Z0-9-_.]{1,63}$/,\n customPatternMessage: \"Invalid key\",\n });\n keyPairValidation.push({\n fieldKey: `val-${i.toString()}`,\n required: false,\n value: newValues[i].value,\n pattern: /^[a-zA-Z0-9-_.]{1,63}$/,\n customPatternMessage: \"Invalid value\",\n });\n }\n\n const commonVal = commonFormValidation(keyPairValidation);\n setError(commonVal);\n }, [newValues, setError]);\n\n let keyValueInputs = newValues.map((_, index) => {\n return (\n \n
\n {\n let tempLabels = [...newValues];\n tempLabels[index].key = e.target.value;\n setNewValues(tempLabels);\n cleanValidation(`key-${index.toString()}`);\n }}\n index={index}\n key={`csv-key-${index.toString()}`}\n error={error[`key-${index.toString()}`] || \"\"}\n />\n {\n let tempLabels = [...newValues];\n tempLabels[index].value = e.target.value;\n setNewValues(tempLabels);\n cleanValidation(`val-${index.toString()}`);\n }}\n index={index}\n key={`csv-val-${index.toString()}`}\n error={error[`val-${index.toString()}`] || \"\"}\n />\n \n {\n let tempLabels = [...newValues];\n tempLabels.push({ key: \"\", value: \"\" });\n setNewValues(tempLabels);\n }}\n >\n \n \n \n \n {\n if (newValues.length === 1) {\n setNewValues([{ key: \"\", value: \"\" }]);\n }\n if (newValues.length > 1) {\n let tempLabels = [...newValues];\n tempLabels.splice(index, 1);\n setNewValues(tempLabels);\n }\n }}\n >\n \n \n \n
\n
\n );\n });\n\n return {keyValueInputs};\n};\n\nexport default withStyles(styles)(KeyPairEdit);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport {\n containerForHeader,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport { IKeyValue } from \"../ListTenants/types\";\n\ninterface IKeyPairView {\n classes: any;\n records: IKeyValue[];\n recordName: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n centerAlign: {\n textAlign: \"center\",\n },\n listHeight: {\n height: \"50\",\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst KeyPairView = ({ classes, records, recordName }: IKeyPairView) => {\n return (\n \n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n selectedTenant: state.tenants.tenantDetails.currentTenant,\n tenant: state.tenants.tenantDetails.tenantInfo,\n logEnabled: get(state.tenants.tenantDetails.tenantInfo, \"logEnabled\", false),\n monitoringEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"monitoringEnabled\",\n false\n ),\n encryptionEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"encryptionEnabled\",\n false\n ),\n minioTLS: get(state.tenants.tenantDetails.tenantInfo, \"minioTLS\", false),\n consoleTLS: get(state.tenants.tenantDetails.tenantInfo, \"consoleTLS\", false),\n consoleEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"consoleEnabled\",\n false\n ),\n adEnabled: get(state.tenants.tenantDetails.tenantInfo, \"idpAdEnabled\", false),\n oidcEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"idpOidcEnabled\",\n false\n ),\n});\n\nconst connector = connect(mapState, null);\n\nexport default withStyles(styles)(connector(KeyPairView));\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 ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport {\n formFieldStyles,\n modalBasic,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { Button, Grid } from \"@mui/material\";\nimport api from \"../../../../common/api\";\nimport { ITenant } from \"../ListTenants/types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { IKeyValue } from \"../ListTenants/types\";\nimport KeyPairEdit from \"./KeyPairEdit\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../utils/validationFunctions\";\nimport { clearValidationError } from \"../utils\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\n\ninterface IEditTenantLogsProps {\n tenant: ITenant;\n classes: any;\n open: boolean;\n onClose: (shouldReload: boolean) => void;\n image: string;\n labels: IKeyValue[];\n annotations: IKeyValue[];\n nodeSelector: IKeyValue[];\n diskCapacityGB: number;\n serviceAccountName: string;\n dbImage: string;\n dbLabels: IKeyValue[];\n dbAnnotations: IKeyValue[];\n dbNodeSelector: IKeyValue[];\n dbServiceAccountName: string;\n cpuRequest: string;\n memRequest: string;\n dbCPURequest: string;\n dbMemRequest: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n multiContainer: {\n display: \"flex\",\n alignItems: \"center\" as const,\n justifyContent: \"flex-start\" as const,\n },\n sizeFactorContainer: {\n marginLeft: 8,\n },\n bottomContainer: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n \"& div\": {\n flexGrow: 1,\n width: \"100%\",\n },\n },\n factorElements: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n },\n sizeNumber: {\n fontSize: 35,\n fontWeight: 700,\n textAlign: \"center\",\n },\n sizeDescription: {\n fontSize: 14,\n color: \"#777\",\n textAlign: \"center\",\n },\n shortened: {\n gridTemplateColumns: \"auto auto 20px 20px\",\n display: \"grid\",\n gridGap: 20,\n },\n ...modalBasic,\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\nconst EditTenantLogsModal = ({\n tenant,\n classes,\n open,\n onClose,\n image,\n labels,\n annotations,\n nodeSelector,\n diskCapacityGB,\n serviceAccountName,\n dbLabels,\n dbAnnotations,\n dbNodeSelector,\n dbImage,\n dbServiceAccountName,\n cpuRequest,\n memRequest,\n dbCPURequest,\n dbMemRequest,\n}: IEditTenantLogsProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n const [newLabels, setNewLabels] = useState(\n labels.length > 0 ? [...labels] : [{ key: \"\", value: \"\" }]\n );\n const [newAnnotations, setNewAnnotations] = useState(\n annotations.length > 0 ? [...annotations] : [{ key: \"\", value: \"\" }]\n );\n const [newNodeSelector, setNewNodeSelector] = useState(\n nodeSelector.length > 0 ? [...nodeSelector] : [{ key: \"\", value: \"\" }]\n );\n const [newImage, setNewImage] = useState(image);\n const [newDiskCapacityGB, setNewDiskCapacityGB] =\n useState(diskCapacityGB);\n const [newServiceAccountName, setNewServiceAccountName] = useState(\n serviceAccountName != null ? serviceAccountName : \"\"\n );\n const [newDbLabels, setNewDbLabels] = useState(\n dbLabels.length > 0 ? [...dbLabels] : [{ key: \"\", value: \"\" }]\n );\n const [newDbAnnotations, setNewDbAnnotations] = useState(\n dbAnnotations.length > 0 ? [...dbAnnotations] : [{ key: \"\", value: \"\" }]\n );\n const [newDbNodeSelector, setNewDbNodeSelector] = useState(\n dbNodeSelector.length > 0 ? [...dbNodeSelector] : [{ key: \"\", value: \"\" }]\n );\n const [newDbImage, setNewDbImage] = useState(dbImage);\n const [newDbServiceAccountName, setNewDbServiceAccountName] =\n useState(dbServiceAccountName != null ? dbServiceAccountName : \"\");\n const [labelsError, setLabelsError] = useState({});\n const [annotationsError, setAnnotationsError] = useState({});\n const [nodeSelectorError, setNodeSelectorError] = useState({});\n const [dbLabelsError, setDbLabelsError] = useState({});\n const [dbAnnotationsError, setDbAnnotationsError] = useState({});\n const [dbNodeSelectorError, setDbNodeSelectorError] = useState({});\n const [newCPURequest, setNewCPURequest] = useState(cpuRequest);\n const [newMemRequest, setNewMemRequest] = useState(\n memRequest\n ? Math.floor(parseInt(memRequest, 10) / 1000000000).toString()\n : \"0\"\n );\n const [newDBCPURequest, setNewDBCPURequest] = useState(dbCPURequest);\n const [newDBMemRequest, setNewDBMemRequest] = useState(\n dbMemRequest\n ? Math.floor(parseInt(dbMemRequest, 10) / 1000000000).toString()\n : \"0\"\n );\n\n const trim = (x: IKeyValue[]): IKeyValue[] => {\n let retval: IKeyValue[] = [];\n for (let i = 0; i < x.length; i++) {\n if (x[i].key !== \"\") {\n retval.push(x[i]);\n }\n }\n return retval;\n };\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n useEffect(() => {\n let tenantLogValidation: IValidation[] = [];\n\n tenantLogValidation.push({\n fieldKey: `image`,\n required: false,\n value: newImage,\n pattern:\n /^([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9]?)+(\\/(([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9])?)+)*:([a-zA-Z0-9])[a-zA-Z0-9-.]{0,127}$/,\n customPatternMessage: \"Invalid image\",\n });\n tenantLogValidation.push({\n fieldKey: `dbImage`,\n required: false,\n value: newDbImage,\n pattern:\n /^([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9]?)+(\\/(([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9])?)+)*:([a-zA-Z0-9])[a-zA-Z0-9-.]{0,127}$/,\n customPatternMessage: \"Invalid image\",\n });\n tenantLogValidation.push({\n fieldKey: `diskCapacityGB`,\n required: true,\n value: newDiskCapacityGB as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage: \"Must be an integer between 0 and 10\",\n });\n tenantLogValidation.push({\n fieldKey: `serviceAccountName`,\n required: false,\n value: newServiceAccountName,\n pattern: /^[a-zA-Z0-9-.]{1,253}$/,\n customPatternMessage: \"Invalid service account name\",\n });\n tenantLogValidation.push({\n fieldKey: `dbServiceAccountName`,\n required: false,\n value: newDbServiceAccountName,\n pattern: /^[a-zA-Z0-9-.]{1,253}$/,\n customPatternMessage: \"Invalid service account name\",\n });\n tenantLogValidation.push({\n fieldKey: `cpuRequest`,\n required: true,\n value: newCPURequest as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage:\n \"Please enter an integer value for number of CPUs requested\",\n });\n tenantLogValidation.push({\n fieldKey: `memRequest`,\n required: true,\n value: newMemRequest as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage:\n \"Please enter an integer value (Gi) for memory requested\",\n });\n tenantLogValidation.push({\n fieldKey: `dbCPURequest`,\n required: true,\n value: newDBCPURequest as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage:\n \"Please enter an integer value for number of DB CPUs requested\",\n });\n tenantLogValidation.push({\n fieldKey: `dbMemRequest`,\n required: true,\n value: newDBMemRequest as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage:\n \"Please enter an integer value (Gi) for DB memory requested\",\n });\n\n const commonVal = commonFormValidation(tenantLogValidation);\n setValidationErrors(commonVal);\n }, [\n newImage,\n newDbImage,\n newDiskCapacityGB,\n newServiceAccountName,\n newDbServiceAccountName,\n newCPURequest,\n newMemRequest,\n newDBCPURequest,\n newDBMemRequest,\n setValidationErrors,\n ]);\n\n const checkValid = (): boolean => {\n if (\n Object.keys(validationErrors).length !== 0 ||\n Object.keys(labelsError).length !== 0 ||\n Object.keys(annotationsError).length !== 0 ||\n Object.keys(nodeSelectorError).length !== 0 ||\n Object.keys(dbLabelsError).length !== 0 ||\n Object.keys(dbAnnotationsError).length !== 0 ||\n Object.keys(dbNodeSelectorError).length !== 0\n ) {\n return false;\n } else {\n return true;\n }\n };\n\n return (\n onClose(true)}\n modalOpen={open}\n title=\"Edit Logging\"\n >\n ) => {\n e.preventDefault();\n if (!checkValid()) {\n setModalErrorSnackMessage({\n errorMessage: \"Some fields have invalid values\",\n detailedError: \"\",\n });\n } else {\n api\n .invoke(\n \"PUT\",\n `/api/v1/namespaces/${tenant.namespace}/tenants/${tenant.name}/log`,\n {\n labels: trim(newLabels),\n annotations: trim(newAnnotations),\n nodeSelector: trim(newNodeSelector),\n image: newImage,\n diskCapacityGB: newDiskCapacityGB,\n serviceAccountName: newServiceAccountName,\n dbLabels: trim(newDbLabels),\n dbAnnotations: trim(newDbAnnotations),\n dbNodeSelector: trim(newDbNodeSelector),\n dbImage: newDbImage,\n dbServiceAccountName: newDbServiceAccountName,\n logCPURequest: newCPURequest,\n logMemRequest: newMemRequest + \"Gi\",\n logDBCPURequest: newDBCPURequest,\n logDBMemRequest: newDBMemRequest + \"Gi\",\n }\n )\n .then(() => {\n onClose(true);\n })\n .catch((err: ErrorResponseHandler) => {});\n }\n }}\n >\n \n \n \n

Logging API

\n
\n \n {\n setNewImage(e.target.value);\n cleanValidation(`image`);\n }}\n key={`image`}\n error={validationErrors[`image`] || \"\"}\n />\n \n \n {\n setNewDiskCapacityGB(e.target.value as any as number);\n cleanValidation(`diskCapacityGB`);\n }}\n key={`diskCapacityGB`}\n error={validationErrors[`diskCapacityGB`] || \"\"}\n />\n \n \n {\n setNewServiceAccountName(e.target.value);\n cleanValidation(`serviceAccountName`);\n }}\n key={`serviceAccountName`}\n error={validationErrors[`serviceAccountName`] || \"\"}\n />\n \n\n \n {\n setNewCPURequest(e.target.value as any as string);\n cleanValidation(`cpuRequest`);\n }}\n key={`cpuRequest`}\n error={validationErrors[`cpuRequest`] || \"\"}\n />\n \n \n {\n setNewMemRequest(e.target.value as any as string);\n cleanValidation(`memRequest`);\n }}\n key={`memRequest`}\n error={validationErrors[`memRequest`] || \"\"}\n />\n \n\n \n Labels\n \n \n \n Annotations\n \n \n \n Node Selector\n \n \n \n

Database Configuration

\n
\n \n {\n setNewDbImage(e.target.value);\n cleanValidation(`dbImage`);\n }}\n key={`dbImage`}\n error={validationErrors[`dbImage`] || \"\"}\n />\n \n \n {\n setNewDbServiceAccountName(e.target.value);\n cleanValidation(`dbServiceAccountName`);\n }}\n key={`dbServiceAccountName`}\n error={validationErrors[`dbServiceAccountName`] || \"\"}\n />\n \n \n {\n setNewDBCPURequest(e.target.value as any as string);\n cleanValidation(`dbCpuRequest`);\n }}\n key={`dbCpuRequest`}\n error={validationErrors[`dbCpuRequest`] || \"\"}\n />\n \n \n {\n setNewDBMemRequest(e.target.value as any as string);\n cleanValidation(`dbMemRequest`);\n }}\n key={`dbMemRequest`}\n error={validationErrors[`dbMemRequest`] || \"\"}\n />\n \n \n Labels\n \n \n \n Annotations\n \n \n \n Node Selector\n \n \n
\n \n \n Save\n \n \n
\n \n \n );\n};\n\nexport default withStyles(styles)(EditTenantLogsModal);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport { CircularProgress, DialogContentText } from \"@mui/material\";\nimport Paper from \"@mui/material/Paper\";\nimport api from \"../../../../common/api\";\nimport { ITenant } from \"../ListTenants/types\";\nimport { AppState } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { EditIcon } from \"../../../../icons\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport EditTenantLogsModal from \"./EditTenantLogsModal\";\nimport KeyPairView from \"./KeyPairView\";\nimport { ITenantLogsStruct } from \"../ListTenants/types\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport { niceBytes } from \"../../../../common/utils\";\n\ninterface ITenantLogs {\n classes: any;\n match: any;\n tenant: ITenant | null;\n loadingTenant: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n headerLabel: {\n fontSize: 22,\n fontWeight: 600,\n color: \"#000\",\n marginTop: 4,\n },\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n tableWrapper: {\n height: \"calc(100vh - 267px)\",\n },\n paperContainer: {\n padding: \"15px 15px 15px 50px\",\n },\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst TenantLogging = ({\n classes,\n match,\n tenant,\n loadingTenant,\n}: ITenantLogs) => {\n const [loadingTenantLogs, setLoadingTenantLogs] = useState(true);\n const [logInfo, setLogInfo] = useState();\n const [edit, setEdit] = useState(false);\n const [disabled, setDisabled] = useState(false);\n const [preDisabled, setPreDisabled] = useState(false);\n const [disableDialogOpen, setDisableDialogOpen] = useState(false);\n const [enableDialogOpen, setEnableDialogOpen] = useState(false);\n\n const tenantName = match.params[\"tenantName\"];\n const tenantNamespace = match.params[\"tenantNamespace\"];\n\n useEffect(() => {\n if (loadingTenantLogs) {\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/log`\n )\n .then((result: ITenantLogsStruct) => {\n setLogInfo(result);\n setPreDisabled(result.disabled);\n setDisabled(result.disabled);\n setLoadingTenantLogs(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage({\n errorMessage: \"Error getting tenant logs\",\n detailedError: err.detailedError,\n });\n });\n }\n }, [tenantName, tenantNamespace, loadingTenantLogs, setDisabled, disabled]);\n\n const onCloseEditAndRefresh = () => {\n setDisableDialogOpen(false);\n setEdit(false);\n setLoadingTenantLogs(true);\n };\n\n const onCloseEnableAndRefresh = () => {\n setEnableDialogOpen(false);\n setDisabled(false);\n setLoadingTenantLogs(true);\n };\n\n return (\n \n {\n api\n .invoke(\n \"POST\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/disable-logging`\n )\n .then(() => {\n setPreDisabled(true);\n setDisabled(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage({\n errorMessage: \"Error disabling logging\",\n detailedError: err.detailedError,\n });\n });\n onCloseEditAndRefresh();\n }}\n onClose={() => setDisableDialogOpen(false)}\n confirmationContent={\n \n Disabling logging will erase any custom values you have used to\n configure logging\n \n }\n />\n {\n api\n .invoke(\n \"POST\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/enable-logging`\n )\n .then(() => {\n setPreDisabled(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage({\n errorMessage: \"Error enabling logging\",\n detailedError: err.detailedError,\n });\n });\n onCloseEnableAndRefresh();\n }}\n onClose={() => setEnableDialogOpen(false)}\n confirmationContent={\n \n Logging will be enabled with default values\n \n }\n />\n {edit && tenant !== null && logInfo != null && !disabled && (\n \n )}\n

Logging

\n
\n {\n const targetD = e.target;\n const checked = targetD.checked;\n if (checked) {\n setEnableDialogOpen(true);\n } else {\n setDisableDialogOpen(true);\n }\n }}\n label={\"Logging\"}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n />\n {!disabled && !loadingTenantLogs && (\n {\n setEdit(true);\n }}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n )}\n
\n {!disabled && !loadingTenantLogs && (\n \n \n \n

Logging API Service Details

\n
\n \n \n {loadingTenant ? (\n \n \n \n ) : (\n \n {logInfo?.logCPURequest != null && (\n \n \n \n \n )}\n {logInfo?.logMemRequest != null && (\n \n \n \n \n )}\n {logInfo?.image != null && (\n \n \n \n \n )}\n {logInfo?.diskCapacityGB != null && (\n \n \n \n \n )}\n {logInfo?.serviceAccountName != null && (\n \n \n \n \n )}\n {logInfo?.labels != null && logInfo.labels.length > 0 && (\n \n \n \n \n \n \n \n \n )}\n {logInfo?.annotations != null &&\n logInfo.annotations.length > 0 && (\n \n \n \n \n \n \n \n \n )}\n {logInfo?.nodeSelector != null &&\n logInfo.nodeSelector.length > 0 && (\n \n \n \n \n \n \n \n \n )}\n \n )}\n \n
\n \n
CPU Request:{logInfo?.logCPURequest}
Memory Request:{niceBytes(logInfo?.logMemRequest, true)}
Image:{logInfo?.image}
\n Disk Capacity (GB):\n {logInfo?.diskCapacityGB}
Service Account:{logInfo?.serviceAccountName}
\n

Labels

\n
\n 0\n ? logInfo.labels\n : []\n }\n recordName=\"Labels\"\n />\n
\n

Annotations

\n
\n 0\n ? logInfo.annotations\n : []\n }\n recordName=\"Annotations\"\n />\n
\n

Node Selector

\n
\n 0\n ? logInfo.nodeSelector\n : []\n }\n recordName=\"Node Selector\"\n />\n
\n\n

Database Details

\n
\n \n \n {loadingTenant ? (\n \n \n \n ) : (\n \n {logInfo?.logDBCPURequest != null && (\n \n \n \n \n )}\n {logInfo?.logDBMemRequest != null && (\n \n \n \n \n )}\n {logInfo?.dbImage != null && (\n \n \n \n \n )}\n {logInfo?.dbServiceAccountName != null && (\n \n \n \n \n )}\n {logInfo?.dbLabels != null &&\n logInfo.dbLabels.length > 0 && (\n \n \n \n \n\n \n \n \n \n )}\n {logInfo?.annotations != null &&\n logInfo.dbAnnotations.length > 0 && (\n \n \n \n \n \n \n \n \n )}\n {logInfo?.nodeSelector != null &&\n logInfo.dbNodeSelector.length > 0 && (\n \n \n \n \n \n \n \n \n )}\n \n )}\n \n
\n \n
DB CPU Request:{logInfo?.logDBCPURequest}
\n DB Memory Request:\n {niceBytes(logInfo?.logDBMemRequest, true)}
Postgres Image:{logInfo?.dbImage}
Service Account:{logInfo?.dbServiceAccountName}
\n

Labels

\n
\n 0\n ? logInfo.dbLabels\n : []\n }\n recordName=\"labels\"\n />\n
\n

Annotations

\n
\n 0\n ? logInfo.dbAnnotations\n : []\n }\n recordName=\"annotations\"\n />\n
\n

Node Selector

\n
\n 0\n ? logInfo.dbNodeSelector\n : []\n }\n recordName=\"node selectors\"\n />\n
\n
\n
\n
\n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n selectedTenant: state.tenants.tenantDetails.currentTenant,\n tenant: state.tenants.tenantDetails.tenantInfo,\n});\n\nconst connector = connect(mapState, null);\n\nexport default withStyles(styles)(connector(TenantLogging));\n"],"names":["useStyles","makeStyles","theme","root","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","width","marginLeft","text","classes","onClick","disabled","tooltip","icon","restProps","size","sx","border","fontSize","display","withStyles","createStyles","buttonContainer","textAlign","multiContainer","alignItems","justifyContent","sizeFactorContainer","bottomContainer","flexGrow","factorElements","sizeNumber","fontWeight","sizeDescription","shortened","gridTemplateColumns","gridGap","paddingRight","modalBasic","paramName","newValues","setNewValues","error","setError","cleanValidation","fieldName","clearValidationError","useEffect","keyPairValidation","i","length","push","fieldKey","toString","required","value","key","pattern","customPatternMessage","commonVal","commonFormValidation","keyValueInputs","map","_","index","Fragment","className","id","label","placeholder","name","onChange","e","tempLabels","target","title","style","splice","connector","connect","state","loadingTenant","tenants","tenantDetails","selectedTenant","currentTenant","tenant","tenantInfo","logEnabled","get","monitoringEnabled","encryptionEnabled","minioTLS","consoleTLS","consoleEnabled","adEnabled","oidcEnabled","tenantDetailsStyles","centerAlign","listHeight","height","containerForHeader","spacing","records","recordName","columns","elementKey","isLoading","itemActions","entityName","idField","customPaperHeight","modalStyleUtils","formFieldStyles","open","onClose","image","labels","annotations","nodeSelector","diskCapacityGB","serviceAccountName","dbLabels","dbAnnotations","dbNodeSelector","dbImage","dbServiceAccountName","cpuRequest","memRequest","dbCPURequest","dbMemRequest","useState","validationErrors","setValidationErrors","newLabels","setNewLabels","newAnnotations","setNewAnnotations","newNodeSelector","setNewNodeSelector","newImage","setNewImage","newDiskCapacityGB","setNewDiskCapacityGB","newServiceAccountName","setNewServiceAccountName","newDbLabels","setNewDbLabels","newDbAnnotations","setNewDbAnnotations","newDbNodeSelector","setNewDbNodeSelector","newDbImage","setNewDbImage","newDbServiceAccountName","setNewDbServiceAccountName","labelsError","setLabelsError","annotationsError","setAnnotationsError","nodeSelectorError","setNodeSelectorError","dbLabelsError","setDbLabelsError","dbAnnotationsError","setDbAnnotationsError","dbNodeSelectorError","setDbNodeSelectorError","newCPURequest","setNewCPURequest","Math","floor","parseInt","newMemRequest","setNewMemRequest","newDBCPURequest","setNewDBCPURequest","newDBMemRequest","setNewDBMemRequest","trim","x","retval","tenantLogValidation","checkValid","Object","keys","ModalWrapper","modalOpen","noValidate","autoComplete","onSubmit","preventDefault","api","namespace","logCPURequest","logMemRequest","logDBCPURequest","logDBMemRequest","then","catch","err","setModalErrorSnackMessage","errorMessage","detailedError","Grid","container","xs","modalFormScrollable","item","formFieldRow","InputBoxWrapper","inputLabel","KeyPairEdit","Button","type","headerLabel","marginTop","breadcrumLink","textDecoration","tableWrapper","paperContainer","actionsTray","searchField","match","loadingTenantLogs","setLoadingTenantLogs","logInfo","setLogInfo","edit","setEdit","setDisabled","preDisabled","setPreDisabled","disableDialogOpen","setDisableDialogOpen","enableDialogOpen","setEnableDialogOpen","tenantName","params","tenantNamespace","result","setErrorSnackMessage","onCloseEditAndRefresh","ConfirmDialog","confirmText","isOpen","onConfirm","confirmationContent","DialogContentText","sectionTitle","FormSwitchWrapper","checked","indicatorLabels","RBIconButton","Paper","hrClass","colSpan","CircularProgress","titleCol","niceBytes","KeyPairView"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/3320.73d7b61f.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Tenants/TenantDetails/KeyPairEdit.tsx","screens/Console/Tenants/TenantDetails/KeyPairView.tsx","screens/Console/Tenants/TenantDetails/EditTenantLogsModal.tsx","screens/Console/Tenants/TenantDetails/TenantLogging.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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","import React, { Fragment, useEffect } from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { modalBasic } from \"../../Common/FormComponents/common/styleLibrary\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { IconButton, Tooltip } from \"@mui/material\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport { IKeyValue } from \"../ListTenants/types\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../utils/validationFunctions\";\nimport { clearValidationError } from \"../utils\";\n\ninterface IKeyPairEditProps {\n classes: any;\n paramName: string;\n error: any;\n setError: (e: any) => void;\n newValues: IKeyValue[];\n setNewValues: (vals: IKeyValue[]) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n multiContainer: {\n display: \"flex\",\n alignItems: \"center\" as const,\n justifyContent: \"flex-start\" as const,\n },\n sizeFactorContainer: {\n marginLeft: 8,\n },\n bottomContainer: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n \"& div\": {\n flexGrow: 1,\n width: \"100%\",\n },\n },\n factorElements: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n },\n sizeNumber: {\n fontSize: 35,\n fontWeight: 700,\n textAlign: \"center\",\n },\n sizeDescription: {\n fontSize: 14,\n color: \"#777\",\n textAlign: \"center\",\n },\n shortened: {\n gridTemplateColumns: \"auto auto 20px 20px\",\n display: \"grid\",\n gridGap: 20,\n paddingRight: 20,\n },\n ...modalBasic,\n });\n\nconst KeyPairEdit = ({\n classes,\n paramName,\n newValues,\n setNewValues,\n error,\n setError,\n}: IKeyPairEditProps) => {\n const cleanValidation = (fieldName: string) => {\n setError(clearValidationError(error, fieldName));\n };\n\n useEffect(() => {\n let keyPairValidation: IValidation[] = [];\n\n for (var i = 0; i < newValues.length; i++) {\n keyPairValidation.push({\n fieldKey: `key-${i.toString()}`,\n required: false,\n value: newValues[i].key,\n pattern: /^[a-zA-Z0-9-_.]{1,63}$/,\n customPatternMessage: \"Invalid key\",\n });\n keyPairValidation.push({\n fieldKey: `val-${i.toString()}`,\n required: false,\n value: newValues[i].value,\n pattern: /^[a-zA-Z0-9-_.]{1,63}$/,\n customPatternMessage: \"Invalid value\",\n });\n }\n\n const commonVal = commonFormValidation(keyPairValidation);\n setError(commonVal);\n }, [newValues, setError]);\n\n let keyValueInputs = newValues.map((_, index) => {\n return (\n \n
\n {\n let tempLabels = [...newValues];\n tempLabels[index].key = e.target.value;\n setNewValues(tempLabels);\n cleanValidation(`key-${index.toString()}`);\n }}\n index={index}\n key={`csv-key-${index.toString()}`}\n error={error[`key-${index.toString()}`] || \"\"}\n />\n {\n let tempLabels = [...newValues];\n tempLabels[index].value = e.target.value;\n setNewValues(tempLabels);\n cleanValidation(`val-${index.toString()}`);\n }}\n index={index}\n key={`csv-val-${index.toString()}`}\n error={error[`val-${index.toString()}`] || \"\"}\n />\n \n {\n let tempLabels = [...newValues];\n tempLabels.push({ key: \"\", value: \"\" });\n setNewValues(tempLabels);\n }}\n >\n \n \n \n \n {\n if (newValues.length === 1) {\n setNewValues([{ key: \"\", value: \"\" }]);\n }\n if (newValues.length > 1) {\n let tempLabels = [...newValues];\n tempLabels.splice(index, 1);\n setNewValues(tempLabels);\n }\n }}\n >\n \n \n \n
\n
\n );\n });\n\n return {keyValueInputs};\n};\n\nexport default withStyles(styles)(KeyPairEdit);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport {\n containerForHeader,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport { IKeyValue } from \"../ListTenants/types\";\n\ninterface IKeyPairView {\n classes: any;\n records: IKeyValue[];\n recordName: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n centerAlign: {\n textAlign: \"center\",\n },\n listHeight: {\n height: \"50\",\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst KeyPairView = ({ classes, records, recordName }: IKeyPairView) => {\n return (\n \n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n selectedTenant: state.tenants.tenantDetails.currentTenant,\n tenant: state.tenants.tenantDetails.tenantInfo,\n logEnabled: get(state.tenants.tenantDetails.tenantInfo, \"logEnabled\", false),\n monitoringEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"monitoringEnabled\",\n false\n ),\n encryptionEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"encryptionEnabled\",\n false\n ),\n minioTLS: get(state.tenants.tenantDetails.tenantInfo, \"minioTLS\", false),\n consoleTLS: get(state.tenants.tenantDetails.tenantInfo, \"consoleTLS\", false),\n consoleEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"consoleEnabled\",\n false\n ),\n adEnabled: get(state.tenants.tenantDetails.tenantInfo, \"idpAdEnabled\", false),\n oidcEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"idpOidcEnabled\",\n false\n ),\n});\n\nconst connector = connect(mapState, null);\n\nexport default withStyles(styles)(connector(KeyPairView));\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 ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport {\n formFieldStyles,\n modalBasic,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { Button, Grid } from \"@mui/material\";\nimport api from \"../../../../common/api\";\nimport { ITenant } from \"../ListTenants/types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { IKeyValue } from \"../ListTenants/types\";\nimport KeyPairEdit from \"./KeyPairEdit\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../utils/validationFunctions\";\nimport { clearValidationError } from \"../utils\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\n\ninterface IEditTenantLogsProps {\n tenant: ITenant;\n classes: any;\n open: boolean;\n onClose: (shouldReload: boolean) => void;\n image: string;\n labels: IKeyValue[];\n annotations: IKeyValue[];\n nodeSelector: IKeyValue[];\n diskCapacityGB: number;\n serviceAccountName: string;\n dbImage: string;\n dbLabels: IKeyValue[];\n dbAnnotations: IKeyValue[];\n dbNodeSelector: IKeyValue[];\n dbServiceAccountName: string;\n cpuRequest: string;\n memRequest: string;\n dbCPURequest: string;\n dbMemRequest: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n multiContainer: {\n display: \"flex\",\n alignItems: \"center\" as const,\n justifyContent: \"flex-start\" as const,\n },\n sizeFactorContainer: {\n marginLeft: 8,\n },\n bottomContainer: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n \"& div\": {\n flexGrow: 1,\n width: \"100%\",\n },\n },\n factorElements: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n },\n sizeNumber: {\n fontSize: 35,\n fontWeight: 700,\n textAlign: \"center\",\n },\n sizeDescription: {\n fontSize: 14,\n color: \"#777\",\n textAlign: \"center\",\n },\n shortened: {\n gridTemplateColumns: \"auto auto 20px 20px\",\n display: \"grid\",\n gridGap: 20,\n },\n ...modalBasic,\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\nconst EditTenantLogsModal = ({\n tenant,\n classes,\n open,\n onClose,\n image,\n labels,\n annotations,\n nodeSelector,\n diskCapacityGB,\n serviceAccountName,\n dbLabels,\n dbAnnotations,\n dbNodeSelector,\n dbImage,\n dbServiceAccountName,\n cpuRequest,\n memRequest,\n dbCPURequest,\n dbMemRequest,\n}: IEditTenantLogsProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n const [newLabels, setNewLabels] = useState(\n labels.length > 0 ? [...labels] : [{ key: \"\", value: \"\" }]\n );\n const [newAnnotations, setNewAnnotations] = useState(\n annotations.length > 0 ? [...annotations] : [{ key: \"\", value: \"\" }]\n );\n const [newNodeSelector, setNewNodeSelector] = useState(\n nodeSelector.length > 0 ? [...nodeSelector] : [{ key: \"\", value: \"\" }]\n );\n const [newImage, setNewImage] = useState(image);\n const [newDiskCapacityGB, setNewDiskCapacityGB] =\n useState(diskCapacityGB);\n const [newServiceAccountName, setNewServiceAccountName] = useState(\n serviceAccountName != null ? serviceAccountName : \"\"\n );\n const [newDbLabels, setNewDbLabels] = useState(\n dbLabels.length > 0 ? [...dbLabels] : [{ key: \"\", value: \"\" }]\n );\n const [newDbAnnotations, setNewDbAnnotations] = useState(\n dbAnnotations.length > 0 ? [...dbAnnotations] : [{ key: \"\", value: \"\" }]\n );\n const [newDbNodeSelector, setNewDbNodeSelector] = useState(\n dbNodeSelector.length > 0 ? [...dbNodeSelector] : [{ key: \"\", value: \"\" }]\n );\n const [newDbImage, setNewDbImage] = useState(dbImage);\n const [newDbServiceAccountName, setNewDbServiceAccountName] =\n useState(dbServiceAccountName != null ? dbServiceAccountName : \"\");\n const [labelsError, setLabelsError] = useState({});\n const [annotationsError, setAnnotationsError] = useState({});\n const [nodeSelectorError, setNodeSelectorError] = useState({});\n const [dbLabelsError, setDbLabelsError] = useState({});\n const [dbAnnotationsError, setDbAnnotationsError] = useState({});\n const [dbNodeSelectorError, setDbNodeSelectorError] = useState({});\n const [newCPURequest, setNewCPURequest] = useState(cpuRequest);\n const [newMemRequest, setNewMemRequest] = useState(\n memRequest\n ? Math.floor(parseInt(memRequest, 10) / 1000000000).toString()\n : \"0\"\n );\n const [newDBCPURequest, setNewDBCPURequest] = useState(dbCPURequest);\n const [newDBMemRequest, setNewDBMemRequest] = useState(\n dbMemRequest\n ? Math.floor(parseInt(dbMemRequest, 10) / 1000000000).toString()\n : \"0\"\n );\n\n const trim = (x: IKeyValue[]): IKeyValue[] => {\n let retval: IKeyValue[] = [];\n for (let i = 0; i < x.length; i++) {\n if (x[i].key !== \"\") {\n retval.push(x[i]);\n }\n }\n return retval;\n };\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n useEffect(() => {\n let tenantLogValidation: IValidation[] = [];\n\n tenantLogValidation.push({\n fieldKey: `image`,\n required: false,\n value: newImage,\n pattern:\n /^([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9]?)+(\\/(([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9])?)+)*:([a-zA-Z0-9])[a-zA-Z0-9-.]{0,127}$/,\n customPatternMessage: \"Invalid image\",\n });\n tenantLogValidation.push({\n fieldKey: `dbImage`,\n required: false,\n value: newDbImage,\n pattern:\n /^([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9]?)+(\\/(([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9])?)+)*:([a-zA-Z0-9])[a-zA-Z0-9-.]{0,127}$/,\n customPatternMessage: \"Invalid image\",\n });\n tenantLogValidation.push({\n fieldKey: `diskCapacityGB`,\n required: true,\n value: newDiskCapacityGB as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage: \"Must be an integer between 0 and 10\",\n });\n tenantLogValidation.push({\n fieldKey: `serviceAccountName`,\n required: false,\n value: newServiceAccountName,\n pattern: /^[a-zA-Z0-9-.]{1,253}$/,\n customPatternMessage: \"Invalid service account name\",\n });\n tenantLogValidation.push({\n fieldKey: `dbServiceAccountName`,\n required: false,\n value: newDbServiceAccountName,\n pattern: /^[a-zA-Z0-9-.]{1,253}$/,\n customPatternMessage: \"Invalid service account name\",\n });\n tenantLogValidation.push({\n fieldKey: `cpuRequest`,\n required: true,\n value: newCPURequest as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage:\n \"Please enter an integer value for number of CPUs requested\",\n });\n tenantLogValidation.push({\n fieldKey: `memRequest`,\n required: true,\n value: newMemRequest as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage:\n \"Please enter an integer value (Gi) for memory requested\",\n });\n tenantLogValidation.push({\n fieldKey: `dbCPURequest`,\n required: true,\n value: newDBCPURequest as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage:\n \"Please enter an integer value for number of DB CPUs requested\",\n });\n tenantLogValidation.push({\n fieldKey: `dbMemRequest`,\n required: true,\n value: newDBMemRequest as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage:\n \"Please enter an integer value (Gi) for DB memory requested\",\n });\n\n const commonVal = commonFormValidation(tenantLogValidation);\n setValidationErrors(commonVal);\n }, [\n newImage,\n newDbImage,\n newDiskCapacityGB,\n newServiceAccountName,\n newDbServiceAccountName,\n newCPURequest,\n newMemRequest,\n newDBCPURequest,\n newDBMemRequest,\n setValidationErrors,\n ]);\n\n const checkValid = (): boolean => {\n if (\n Object.keys(validationErrors).length !== 0 ||\n Object.keys(labelsError).length !== 0 ||\n Object.keys(annotationsError).length !== 0 ||\n Object.keys(nodeSelectorError).length !== 0 ||\n Object.keys(dbLabelsError).length !== 0 ||\n Object.keys(dbAnnotationsError).length !== 0 ||\n Object.keys(dbNodeSelectorError).length !== 0\n ) {\n return false;\n } else {\n return true;\n }\n };\n\n return (\n onClose(true)}\n modalOpen={open}\n title=\"Edit Logging\"\n >\n ) => {\n e.preventDefault();\n if (!checkValid()) {\n setModalErrorSnackMessage({\n errorMessage: \"Some fields have invalid values\",\n detailedError: \"\",\n });\n } else {\n api\n .invoke(\n \"PUT\",\n `/api/v1/namespaces/${tenant.namespace}/tenants/${tenant.name}/log`,\n {\n labels: trim(newLabels),\n annotations: trim(newAnnotations),\n nodeSelector: trim(newNodeSelector),\n image: newImage,\n diskCapacityGB: newDiskCapacityGB,\n serviceAccountName: newServiceAccountName,\n dbLabels: trim(newDbLabels),\n dbAnnotations: trim(newDbAnnotations),\n dbNodeSelector: trim(newDbNodeSelector),\n dbImage: newDbImage,\n dbServiceAccountName: newDbServiceAccountName,\n logCPURequest: newCPURequest,\n logMemRequest: newMemRequest + \"Gi\",\n logDBCPURequest: newDBCPURequest,\n logDBMemRequest: newDBMemRequest + \"Gi\",\n }\n )\n .then(() => {\n onClose(true);\n })\n .catch((err: ErrorResponseHandler) => {});\n }\n }}\n >\n \n \n \n

Logging API

\n
\n \n {\n setNewImage(e.target.value);\n cleanValidation(`image`);\n }}\n key={`image`}\n error={validationErrors[`image`] || \"\"}\n />\n \n \n {\n setNewDiskCapacityGB(e.target.value as any as number);\n cleanValidation(`diskCapacityGB`);\n }}\n key={`diskCapacityGB`}\n error={validationErrors[`diskCapacityGB`] || \"\"}\n />\n \n \n {\n setNewServiceAccountName(e.target.value);\n cleanValidation(`serviceAccountName`);\n }}\n key={`serviceAccountName`}\n error={validationErrors[`serviceAccountName`] || \"\"}\n />\n \n\n \n {\n setNewCPURequest(e.target.value as any as string);\n cleanValidation(`cpuRequest`);\n }}\n key={`cpuRequest`}\n error={validationErrors[`cpuRequest`] || \"\"}\n />\n \n \n {\n setNewMemRequest(e.target.value as any as string);\n cleanValidation(`memRequest`);\n }}\n key={`memRequest`}\n error={validationErrors[`memRequest`] || \"\"}\n />\n \n\n \n Labels\n \n \n \n Annotations\n \n \n \n Node Selector\n \n \n \n

Database Configuration

\n
\n \n {\n setNewDbImage(e.target.value);\n cleanValidation(`dbImage`);\n }}\n key={`dbImage`}\n error={validationErrors[`dbImage`] || \"\"}\n />\n \n \n {\n setNewDbServiceAccountName(e.target.value);\n cleanValidation(`dbServiceAccountName`);\n }}\n key={`dbServiceAccountName`}\n error={validationErrors[`dbServiceAccountName`] || \"\"}\n />\n \n \n {\n setNewDBCPURequest(e.target.value as any as string);\n cleanValidation(`dbCpuRequest`);\n }}\n key={`dbCpuRequest`}\n error={validationErrors[`dbCpuRequest`] || \"\"}\n />\n \n \n {\n setNewDBMemRequest(e.target.value as any as string);\n cleanValidation(`dbMemRequest`);\n }}\n key={`dbMemRequest`}\n error={validationErrors[`dbMemRequest`] || \"\"}\n />\n \n \n Labels\n \n \n \n Annotations\n \n \n \n Node Selector\n \n \n
\n \n \n Save\n \n \n
\n \n \n );\n};\n\nexport default withStyles(styles)(EditTenantLogsModal);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport { CircularProgress, DialogContentText } from \"@mui/material\";\nimport Paper from \"@mui/material/Paper\";\nimport api from \"../../../../common/api\";\nimport { ITenant } from \"../ListTenants/types\";\nimport { AppState } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { EditIcon } from \"../../../../icons\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport EditTenantLogsModal from \"./EditTenantLogsModal\";\nimport KeyPairView from \"./KeyPairView\";\nimport { ITenantLogsStruct } from \"../ListTenants/types\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport { niceBytes } from \"../../../../common/utils\";\n\ninterface ITenantLogs {\n classes: any;\n match: any;\n tenant: ITenant | null;\n loadingTenant: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n headerLabel: {\n fontSize: 22,\n fontWeight: 600,\n color: \"#000\",\n marginTop: 4,\n },\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n tableWrapper: {\n height: \"calc(100vh - 267px)\",\n },\n paperContainer: {\n padding: \"15px 15px 15px 50px\",\n },\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst TenantLogging = ({\n classes,\n match,\n tenant,\n loadingTenant,\n}: ITenantLogs) => {\n const [loadingTenantLogs, setLoadingTenantLogs] = useState(true);\n const [logInfo, setLogInfo] = useState();\n const [edit, setEdit] = useState(false);\n const [disabled, setDisabled] = useState(false);\n const [preDisabled, setPreDisabled] = useState(false);\n const [disableDialogOpen, setDisableDialogOpen] = useState(false);\n const [enableDialogOpen, setEnableDialogOpen] = useState(false);\n\n const tenantName = match.params[\"tenantName\"];\n const tenantNamespace = match.params[\"tenantNamespace\"];\n\n useEffect(() => {\n if (loadingTenantLogs) {\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/log`\n )\n .then((result: ITenantLogsStruct) => {\n setLogInfo(result);\n setPreDisabled(result.disabled);\n setDisabled(result.disabled);\n setLoadingTenantLogs(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage({\n errorMessage: \"Error getting tenant logs\",\n detailedError: err.detailedError,\n });\n });\n }\n }, [tenantName, tenantNamespace, loadingTenantLogs, setDisabled, disabled]);\n\n const onCloseEditAndRefresh = () => {\n setDisableDialogOpen(false);\n setEdit(false);\n setLoadingTenantLogs(true);\n };\n\n const onCloseEnableAndRefresh = () => {\n setEnableDialogOpen(false);\n setDisabled(false);\n setLoadingTenantLogs(true);\n };\n\n return (\n \n {\n api\n .invoke(\n \"POST\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/disable-logging`\n )\n .then(() => {\n setPreDisabled(true);\n setDisabled(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage({\n errorMessage: \"Error disabling logging\",\n detailedError: err.detailedError,\n });\n });\n onCloseEditAndRefresh();\n }}\n onClose={() => setDisableDialogOpen(false)}\n confirmationContent={\n \n Disabling logging will erase any custom values you have used to\n configure logging\n \n }\n />\n {\n api\n .invoke(\n \"POST\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/enable-logging`\n )\n .then(() => {\n setPreDisabled(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage({\n errorMessage: \"Error enabling logging\",\n detailedError: err.detailedError,\n });\n });\n onCloseEnableAndRefresh();\n }}\n onClose={() => setEnableDialogOpen(false)}\n confirmationContent={\n \n Logging will be enabled with default values\n \n }\n />\n {edit && tenant !== null && logInfo != null && !disabled && (\n \n )}\n

Logging

\n
\n {\n const targetD = e.target;\n const checked = targetD.checked;\n if (checked) {\n setEnableDialogOpen(true);\n } else {\n setDisableDialogOpen(true);\n }\n }}\n label={\"Logging\"}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n />\n {!disabled && !loadingTenantLogs && (\n {\n setEdit(true);\n }}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n )}\n
\n {!disabled && !loadingTenantLogs && (\n \n \n \n

Logging API Service Details

\n
\n \n \n {loadingTenant ? (\n \n \n \n ) : (\n \n {logInfo?.logCPURequest != null && (\n \n \n \n \n )}\n {logInfo?.logMemRequest != null && (\n \n \n \n \n )}\n {logInfo?.image != null && (\n \n \n \n \n )}\n {logInfo?.diskCapacityGB != null && (\n \n \n \n \n )}\n {logInfo?.serviceAccountName != null && (\n \n \n \n \n )}\n {logInfo?.labels != null && logInfo.labels.length > 0 && (\n \n \n \n \n \n \n \n \n )}\n {logInfo?.annotations != null &&\n logInfo.annotations.length > 0 && (\n \n \n \n \n \n \n \n \n )}\n {logInfo?.nodeSelector != null &&\n logInfo.nodeSelector.length > 0 && (\n \n \n \n \n \n \n \n \n )}\n \n )}\n \n
\n \n
CPU Request:{logInfo?.logCPURequest}
Memory Request:{niceBytes(logInfo?.logMemRequest, true)}
Image:{logInfo?.image}
\n Disk Capacity (GB):\n {logInfo?.diskCapacityGB}
Service Account:{logInfo?.serviceAccountName}
\n

Labels

\n
\n 0\n ? logInfo.labels\n : []\n }\n recordName=\"Labels\"\n />\n
\n

Annotations

\n
\n 0\n ? logInfo.annotations\n : []\n }\n recordName=\"Annotations\"\n />\n
\n

Node Selector

\n
\n 0\n ? logInfo.nodeSelector\n : []\n }\n recordName=\"Node Selector\"\n />\n
\n\n

Database Details

\n
\n \n \n {loadingTenant ? (\n \n \n \n ) : (\n \n {logInfo?.logDBCPURequest != null && (\n \n \n \n \n )}\n {logInfo?.logDBMemRequest != null && (\n \n \n \n \n )}\n {logInfo?.dbImage != null && (\n \n \n \n \n )}\n {logInfo?.dbServiceAccountName != null && (\n \n \n \n \n )}\n {logInfo?.dbLabels != null &&\n logInfo.dbLabels.length > 0 && (\n \n \n \n \n\n \n \n \n \n )}\n {logInfo?.annotations != null &&\n logInfo.dbAnnotations.length > 0 && (\n \n \n \n \n \n \n \n \n )}\n {logInfo?.nodeSelector != null &&\n logInfo.dbNodeSelector.length > 0 && (\n \n \n \n \n \n \n \n \n )}\n \n )}\n \n
\n \n
DB CPU Request:{logInfo?.logDBCPURequest}
\n DB Memory Request:\n {niceBytes(logInfo?.logDBMemRequest, true)}
Postgres Image:{logInfo?.dbImage}
Service Account:{logInfo?.dbServiceAccountName}
\n

Labels

\n
\n 0\n ? logInfo.dbLabels\n : []\n }\n recordName=\"labels\"\n />\n
\n

Annotations

\n
\n 0\n ? logInfo.dbAnnotations\n : []\n }\n recordName=\"annotations\"\n />\n
\n

Node Selector

\n
\n 0\n ? logInfo.dbNodeSelector\n : []\n }\n recordName=\"node selectors\"\n />\n
\n
\n
\n
\n )}\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n selectedTenant: state.tenants.tenantDetails.currentTenant,\n tenant: state.tenants.tenantDetails.tenantInfo,\n});\n\nconst connector = connect(mapState, null);\n\nexport default withStyles(styles)(connector(TenantLogging));\n"],"names":["useStyles","makeStyles","theme","root","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","width","marginLeft","text","classes","onClick","disabled","tooltip","icon","restProps","size","sx","border","fontSize","display","withStyles","createStyles","buttonContainer","textAlign","multiContainer","alignItems","justifyContent","sizeFactorContainer","bottomContainer","flexGrow","factorElements","sizeNumber","fontWeight","sizeDescription","shortened","gridTemplateColumns","gridGap","paddingRight","modalBasic","paramName","newValues","setNewValues","error","setError","cleanValidation","fieldName","clearValidationError","useEffect","keyPairValidation","i","length","push","fieldKey","toString","required","value","key","pattern","customPatternMessage","commonVal","commonFormValidation","keyValueInputs","map","_","index","Fragment","className","id","label","placeholder","name","onChange","e","tempLabels","target","title","style","splice","connector","connect","state","loadingTenant","tenants","tenantDetails","selectedTenant","currentTenant","tenant","tenantInfo","logEnabled","get","monitoringEnabled","encryptionEnabled","minioTLS","consoleTLS","consoleEnabled","adEnabled","oidcEnabled","tenantDetailsStyles","centerAlign","listHeight","height","containerForHeader","spacing","records","recordName","columns","elementKey","isLoading","itemActions","entityName","idField","customPaperHeight","modalStyleUtils","formFieldStyles","open","onClose","image","labels","annotations","nodeSelector","diskCapacityGB","serviceAccountName","dbLabels","dbAnnotations","dbNodeSelector","dbImage","dbServiceAccountName","cpuRequest","memRequest","dbCPURequest","dbMemRequest","useState","validationErrors","setValidationErrors","newLabels","setNewLabels","newAnnotations","setNewAnnotations","newNodeSelector","setNewNodeSelector","newImage","setNewImage","newDiskCapacityGB","setNewDiskCapacityGB","newServiceAccountName","setNewServiceAccountName","newDbLabels","setNewDbLabels","newDbAnnotations","setNewDbAnnotations","newDbNodeSelector","setNewDbNodeSelector","newDbImage","setNewDbImage","newDbServiceAccountName","setNewDbServiceAccountName","labelsError","setLabelsError","annotationsError","setAnnotationsError","nodeSelectorError","setNodeSelectorError","dbLabelsError","setDbLabelsError","dbAnnotationsError","setDbAnnotationsError","dbNodeSelectorError","setDbNodeSelectorError","newCPURequest","setNewCPURequest","Math","floor","parseInt","newMemRequest","setNewMemRequest","newDBCPURequest","setNewDBCPURequest","newDBMemRequest","setNewDBMemRequest","trim","x","retval","tenantLogValidation","checkValid","Object","keys","ModalWrapper","modalOpen","noValidate","autoComplete","onSubmit","preventDefault","api","namespace","logCPURequest","logMemRequest","logDBCPURequest","logDBMemRequest","then","catch","err","setModalErrorSnackMessage","errorMessage","detailedError","Grid","container","xs","modalFormScrollable","item","formFieldRow","InputBoxWrapper","inputLabel","KeyPairEdit","Button","type","headerLabel","marginTop","breadcrumLink","textDecoration","tableWrapper","paperContainer","actionsTray","searchField","match","loadingTenantLogs","setLoadingTenantLogs","logInfo","setLogInfo","edit","setEdit","setDisabled","preDisabled","setPreDisabled","disableDialogOpen","setDisableDialogOpen","enableDialogOpen","setEnableDialogOpen","tenantName","params","tenantNamespace","result","setErrorSnackMessage","onCloseEditAndRefresh","ConfirmDialog","confirmText","isOpen","onConfirm","confirmationContent","DialogContentText","sectionTitle","FormSwitchWrapper","checked","indicatorLabels","RBIconButton","Paper","hrClass","colSpan","CircularProgress","titleCol","niceBytes","KeyPairView"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3383.ab285f5a.chunk.js b/portal-ui/build/static/js/3383.ab285f5a.chunk.js new file mode 100644 index 000000000..492d9ab92 --- /dev/null +++ b/portal-ui/build/static/js/3383.ab285f5a.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3383],{47554:function(e,r,o){o.d(r,{Z:function(){return k}});var n=o(23430),t=o(1048),i=o(32793),a=o(50390),d=o(44977),l=o(50076),u=o(15573),c=o(8208),s=o(36474),f=o(91442),m=o(43201),p=o(14478),v=o(10594);function Z(e){return(0,v.Z)("MuiFormControl",e)}(0,o(43349).Z)("MuiFormControl",["root","marginNone","marginNormal","marginDense","fullWidth","disabled"]);var h=o(62559),b=["children","className","color","component","disabled","error","focused","fullWidth","hiddenLabel","margin","required","size","variant"],g=(0,c.ZP)("div",{name:"MuiFormControl",slot:"Root",overridesResolver:function(e,r){var o=e.ownerState;return(0,i.Z)({},r.root,r["margin".concat((0,f.Z)(o.margin))],o.fullWidth&&r.fullWidth)}})((function(e){var r=e.ownerState;return(0,i.Z)({display:"inline-flex",flexDirection:"column",position:"relative",minWidth:0,padding:0,margin:0,border:0,verticalAlign:"top"},"normal"===r.margin&&{marginTop:16,marginBottom:8},"dense"===r.margin&&{marginTop:8,marginBottom:4},r.fullWidth&&{width:"100%"})})),k=a.forwardRef((function(e,r){var o=(0,u.Z)({props:e,name:"MuiFormControl"}),c=o.children,v=o.className,k=o.color,F=void 0===k?"primary":k,S=o.component,y=void 0===S?"div":S,w=o.disabled,C=void 0!==w&&w,x=o.error,R=void 0!==x&&x,q=o.focused,B=o.fullWidth,N=void 0!==B&&B,M=o.hiddenLabel,P=void 0!==M&&M,W=o.margin,L=void 0===W?"none":W,I=o.required,z=void 0!==I&&I,j=o.size,A=void 0===j?"medium":j,E=o.variant,O=void 0===E?"outlined":E,D=(0,t.Z)(o,b),T=(0,i.Z)({},o,{color:F,component:y,disabled:C,error:R,fullWidth:N,hiddenLabel:P,margin:L,required:z,size:A,variant:O}),V=function(e){var r=e.classes,o=e.margin,n=e.fullWidth,t={root:["root","none"!==o&&"margin".concat((0,f.Z)(o)),n&&"fullWidth"]};return(0,l.Z)(t,Z,r)}(T),_=a.useState((function(){var e=!1;return c&&a.Children.forEach(c,(function(r){if((0,m.Z)(r,["Input","Select"])){var o=(0,m.Z)(r,["Select"])?r.props.input:r;o&&(0,s.B7)(o.props)&&(e=!0)}})),e})),H=(0,n.Z)(_,2),G=H[0],J=H[1],K=a.useState((function(){var e=!1;return c&&a.Children.forEach(c,(function(r){(0,m.Z)(r,["Input","Select"])&&(0,s.vd)(r.props,!0)&&(e=!0)})),e})),Q=(0,n.Z)(K,2),U=Q[0],X=Q[1],Y=a.useState(!1),$=(0,n.Z)(Y,2),ee=$[0],re=$[1];C&&ee&&re(!1);var oe=void 0===q||C?ee:q,ne=a.useCallback((function(){X(!0)}),[]),te={adornedStart:G,setAdornedStart:J,color:F,disabled:C,error:R,filled:U,focused:oe,fullWidth:N,hiddenLabel:P,size:A,onBlur:function(){re(!1)},onEmpty:a.useCallback((function(){X(!1)}),[]),onFilled:ne,onFocus:function(){re(!0)},registerEffect:undefined,required:z,variant:O};return(0,h.jsx)(p.Z.Provider,{value:te,children:(0,h.jsx)(g,(0,i.Z)({as:y,ownerState:T,className:(0,d.Z)(V.root,v),ref:r},D,{children:c}))})}))},14478:function(e,r,o){var n=o(50390).createContext();r.Z=n},25868:function(e,r,o){function n(e){var r=e.props,o=e.states,n=e.muiFormControl;return o.reduce((function(e,o){return e[o]=r[o],n&&"undefined"===typeof r[o]&&(e[o]=n[o]),e}),{})}o.d(r,{Z:function(){return n}})},23060:function(e,r,o){o.d(r,{Z:function(){return i}});var n=o(50390),t=o(14478);function i(){return n.useContext(t.Z)}},40198:function(e,r,o){var n=o(36222),t=o(1048),i=o(32793),a=o(50390),d=o(44977),l=o(50076),u=o(25868),c=o(23060),s=o(91442),f=o(15573),m=o(8208),p=o(41248),v=o(62559),Z=["children","className","color","component","disabled","error","filled","focused","required"],h=(0,m.ZP)("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:function(e,r){var o=e.ownerState;return(0,i.Z)({},r.root,"secondary"===o.color&&r.colorSecondary,o.filled&&r.filled)}})((function(e){var r,o=e.theme,t=e.ownerState;return(0,i.Z)({color:o.palette.text.secondary},o.typography.body1,(r={lineHeight:"1.4375em",padding:0,position:"relative"},(0,n.Z)(r,"&.".concat(p.Z.focused),{color:o.palette[t.color].main}),(0,n.Z)(r,"&.".concat(p.Z.disabled),{color:o.palette.text.disabled}),(0,n.Z)(r,"&.".concat(p.Z.error),{color:o.palette.error.main}),r))})),b=(0,m.ZP)("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:function(e,r){return r.asterisk}})((function(e){var r=e.theme;return(0,n.Z)({},"&.".concat(p.Z.error),{color:r.palette.error.main})})),g=a.forwardRef((function(e,r){var o=(0,f.Z)({props:e,name:"MuiFormLabel"}),n=o.children,a=o.className,m=o.component,g=void 0===m?"label":m,k=(0,t.Z)(o,Z),F=(0,c.Z)(),S=(0,u.Z)({props:o,muiFormControl:F,states:["color","required","focused","disabled","error","filled"]}),y=(0,i.Z)({},o,{color:S.color||"primary",component:g,disabled:S.disabled,error:S.error,filled:S.filled,focused:S.focused,required:S.required}),w=function(e){var r=e.classes,o=e.color,n=e.focused,t=e.disabled,i=e.error,a=e.filled,d=e.required,u={root:["root","color".concat((0,s.Z)(o)),t&&"disabled",i&&"error",a&&"filled",n&&"focused",d&&"required"],asterisk:["asterisk",i&&"error"]};return(0,l.Z)(u,p.M,r)}(y);return(0,v.jsxs)(h,(0,i.Z)({as:g,ownerState:y,className:(0,d.Z)(w.root,a),ref:r},k,{children:[n,S.required&&(0,v.jsxs)(b,{ownerState:y,"aria-hidden":!0,className:w.asterisk,children:["\u2009","*"]})]}))}));r.Z=g},41248:function(e,r,o){o.d(r,{M:function(){return t}});var n=o(10594);function t(e){return(0,n.Z)("MuiFormLabel",e)}var i=(0,o(43349).Z)("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]);r.Z=i},36474:function(e,r,o){function n(e){return null!=e&&!(Array.isArray(e)&&0===e.length)}function t(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e&&(n(e.value)&&""!==e.value||r&&n(e.defaultValue)&&""!==e.defaultValue)}function i(e){return e.startAdornment}o.d(r,{vd:function(){return t},B7:function(){return i}})},16756:function(e,r,o){o.d(r,{Z:function(){return k}});var n=o(23430),t=o(1048),i=o(32793),a=o(50390),d=o(44977),l=o(50076),u=o(91442),c=o(8208),s=o(55386),f=o(23060),m=o(86875),p=o(10594);function v(e){return(0,p.Z)("PrivateSwitchBase",e)}(0,o(43349).Z)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var Z=o(62559),h=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],b=(0,c.ZP)(m.Z)((function(e){var r=e.ownerState;return(0,i.Z)({padding:9,borderRadius:"50%"},"start"===r.edge&&{marginLeft:"small"===r.size?-3:-12},"end"===r.edge&&{marginRight:"small"===r.size?-3:-12})})),g=(0,c.ZP)("input")({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),k=a.forwardRef((function(e,r){var o=e.autoFocus,a=e.checked,c=e.checkedIcon,m=e.className,p=e.defaultChecked,k=e.disabled,F=e.disableFocusRipple,S=void 0!==F&&F,y=e.edge,w=void 0!==y&&y,C=e.icon,x=e.id,R=e.inputProps,q=e.inputRef,B=e.name,N=e.onBlur,M=e.onChange,P=e.onFocus,W=e.readOnly,L=e.required,I=e.tabIndex,z=e.type,j=e.value,A=(0,t.Z)(e,h),E=(0,s.Z)({controlled:a,default:Boolean(p),name:"SwitchBase",state:"checked"}),O=(0,n.Z)(E,2),D=O[0],T=O[1],V=(0,f.Z)(),_=k;V&&"undefined"===typeof _&&(_=V.disabled);var H="checkbox"===z||"radio"===z,G=(0,i.Z)({},e,{checked:D,disabled:_,disableFocusRipple:S,edge:w}),J=function(e){var r=e.classes,o=e.checked,n=e.disabled,t=e.edge,i={root:["root",o&&"checked",n&&"disabled",t&&"edge".concat((0,u.Z)(t))],input:["input"]};return(0,l.Z)(i,v,r)}(G);return(0,Z.jsxs)(b,(0,i.Z)({component:"span",className:(0,d.Z)(J.root,m),centerRipple:!0,focusRipple:!S,disabled:_,tabIndex:null,role:void 0,onFocus:function(e){P&&P(e),V&&V.onFocus&&V.onFocus(e)},onBlur:function(e){N&&N(e),V&&V.onBlur&&V.onBlur(e)},ownerState:G,ref:r},A,{children:[(0,Z.jsx)(g,(0,i.Z)({autoFocus:o,checked:a,defaultChecked:p,className:J.input,disabled:_,id:H&&x,name:B,onChange:function(e){if(!e.nativeEvent.defaultPrevented){var r=e.target.checked;T(r),M&&M(e,r)}},readOnly:W,ref:q,required:L,ownerState:G,tabIndex:I,type:z},"checkbox"===z&&void 0===j?{}:{value:j},R)),D?c:C]}))}))}}]); +//# sourceMappingURL=3383.ab285f5a.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3383.ab285f5a.chunk.js.map b/portal-ui/build/static/js/3383.ab285f5a.chunk.js.map new file mode 100644 index 000000000..dd13c2f6d --- /dev/null +++ b/portal-ui/build/static/js/3383.ab285f5a.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3383.ab285f5a.chunk.js","mappings":"8RACO,SAASA,EAA6BC,GAC3C,OAAOC,EAAAA,EAAAA,GAAqB,iBAAkBD,IAErBE,E,SAAAA,GAAuB,iBAAkB,CAAC,OAAQ,aAAc,eAAgB,cAAe,YAAa,aAAvI,I,WCFMC,EAAY,CAAC,WAAY,YAAa,QAAS,YAAa,WAAY,QAAS,UAAW,YAAa,cAAe,SAAU,WAAY,OAAQ,WA0BtJC,GAAkBC,EAAAA,EAAAA,IAAO,MAAO,CACpCC,KAAM,iBACNN,KAAM,OACNO,kBAAmB,WAEhBC,GAAW,IADZC,EACY,EADZA,WAEA,OAAOC,EAAAA,EAAAA,GAAS,GAAIF,EAAOG,KAAMH,EAAO,SAAD,QAAUI,EAAAA,EAAAA,GAAWH,EAAWI,UAAYJ,EAAWK,WAAaN,EAAOM,aAN9FT,EAQrB,gBACDI,EADC,EACDA,WADC,OAEGC,EAAAA,EAAAA,GAAS,CACbK,QAAS,cACTC,cAAe,SACfC,SAAU,WAEVC,SAAU,EACVC,QAAS,EACTN,OAAQ,EACRO,OAAQ,EACRC,cAAe,OACQ,WAAtBZ,EAAWI,QAAuB,CACnCS,UAAW,GACXC,aAAc,GACS,UAAtBd,EAAWI,QAAsB,CAClCS,UAAW,EACXC,aAAc,GACbd,EAAWK,WAAa,CACzBU,MAAO,YA6QT,EAlPiCC,EAAAA,YAAiB,SAAqBC,EAASC,GAC9E,IAAMC,GAAQC,EAAAA,EAAAA,GAAc,CAC1BD,MAAOF,EACPpB,KAAM,mBAINwB,EAaEF,EAbFE,SACAC,EAYEH,EAZFG,UAFF,EAcIH,EAXFI,MAAAA,OAHF,MAGU,UAHV,IAcIJ,EAVFK,UAAAA,OAJF,MAIc,MAJd,IAcIL,EATFM,SAAAA,OALF,WAcIN,EARFO,MAAAA,OANF,SAOWC,EAOPR,EAPFS,QAPF,EAcIT,EANFd,UAAAA,OARF,WAcIc,EALFU,YAAAA,OATF,WAcIV,EAJFf,OAAAA,OAVF,MAUW,OAVX,IAcIe,EAHFW,SAAAA,OAXF,WAcIX,EAFFY,KAAAA,OAZF,MAYS,SAZT,IAcIZ,EADFa,QAAAA,OAbF,MAaY,WAbZ,EAeMC,GAAQC,EAAAA,EAAAA,GAA8Bf,EAAOzB,GAE7CM,GAAaC,EAAAA,EAAAA,GAAS,GAAIkB,EAAO,CACrCI,MAAAA,EACAC,UAAAA,EACAC,SAAAA,EACAC,MAAAA,EACArB,UAAAA,EACAwB,YAAAA,EACAzB,OAAAA,EACA0B,SAAAA,EACAC,KAAAA,EACAC,QAAAA,IAGIG,EAtGkB,SAAAnC,GACxB,IACEmC,EAGEnC,EAHFmC,QACA/B,EAEEJ,EAFFI,OACAC,EACEL,EADFK,UAEI+B,EAAQ,CACZlC,KAAM,CAAC,OAAmB,SAAXE,GAAA,iBAA8BD,EAAAA,EAAAA,GAAWC,IAAWC,GAAa,cAElF,OAAOgC,EAAAA,EAAAA,GAAeD,EAAO9C,EAA8B6C,GA6F3CG,CAAkBtC,GAClC,EAAwCgB,EAAAA,UAAe,WAGrD,IAAIuB,GAAsB,EAgB1B,OAdIlB,GACFL,EAAAA,SAAAA,QAAuBK,GAAU,SAAAmB,GAC/B,IAAKC,EAAAA,EAAAA,GAAaD,EAAO,CAAC,QAAS,WAAnC,CAIA,IAAME,GAAQD,EAAAA,EAAAA,GAAaD,EAAO,CAAC,WAAaA,EAAMrB,MAAMuB,MAAQF,EAEhEE,IAASC,EAAAA,EAAAA,IAAeD,EAAMvB,SAChCoB,GAAsB,OAKrBA,KAnBT,eAAOK,EAAP,KAAqBC,EAArB,KAqBA,EAA4B7B,EAAAA,UAAe,WAGzC,IAAI8B,GAAgB,EAcpB,OAZIzB,GACFL,EAAAA,SAAAA,QAAuBK,GAAU,SAAAmB,IAC1BC,EAAAA,EAAAA,GAAaD,EAAO,CAAC,QAAS,aAI/BO,EAAAA,EAAAA,IAASP,EAAMrB,OAAO,KACxB2B,GAAgB,MAKfA,KAjBT,eAAOE,EAAP,KAAeC,EAAf,KAmBA,EAAmCjC,EAAAA,UAAe,GAAlD,eAAOkC,GAAP,KAAqBC,GAArB,KAEI1B,GAAYyB,IACdC,IAAW,GAGb,IAAMvB,QAA8BwB,IAApBzB,GAAkCF,EAA6ByB,GAAlBvB,EAmBvD0B,GAAWrC,EAAAA,aAAkB,WACjCiC,GAAU,KACT,IAIGK,GAAe,CACnBV,aAAAA,EACAC,gBAAAA,EACAtB,MAAAA,EACAE,SAAAA,EACAC,MAAAA,EACAsB,OAAAA,EACApB,QAAAA,GACAvB,UAAAA,EACAwB,YAAAA,EACAE,KAAAA,EACAwB,OAAQ,WACNJ,IAAW,IAEbK,QAjBcxC,EAAAA,aAAkB,WAChCiC,GAAU,KACT,IAgBDI,SAAAA,GACAI,QAAS,WACPN,IAAW,IAEbO,eA3CEA,UA4CF5B,SAAAA,EACAE,QAAAA,GAEF,OAAoB2B,EAAAA,EAAAA,KAAKC,EAAAA,EAAAA,SAA6B,CACpDC,MAAOP,GACPjC,UAAuBsC,EAAAA,EAAAA,KAAKhE,GAAiBM,EAAAA,EAAAA,GAAS,CACpD6D,GAAItC,EACJxB,WAAYA,EACZsB,WAAWyC,EAAAA,EAAAA,GAAK5B,EAAQjC,KAAMoB,GAC9BJ,IAAKA,GACJe,EAAO,CACRZ,SAAUA,W,0BCxNVuC,E,SAAkC5C,gBAMxC,O,sBCXe,SAASgD,EAAT,GAIZ,IAHD7C,EAGC,EAHDA,MACA8C,EAEC,EAFDA,OACAC,EACC,EADDA,eAEA,OAAOD,EAAOE,QAAO,SAACC,EAAKC,GASzB,OARAD,EAAIC,GAASlD,EAAMkD,GAEfH,GAC0B,qBAAjB/C,EAAMkD,KACfD,EAAIC,GAASH,EAAeG,IAIzBD,IACN,I,iHCbU,SAASE,IACtB,OAAOtD,EAAAA,WAAiB4C,EAAAA,K,uKCDpBlE,EAAY,CAAC,WAAY,YAAa,QAAS,YAAa,WAAY,QAAS,SAAU,UAAW,YA8B/F6E,GAAgB3E,EAAAA,EAAAA,IAAO,QAAS,CAC3CC,KAAM,eACNN,KAAM,OACNO,kBAAmB,WAEhBC,GAAW,IADZC,EACY,EADZA,WAEA,OAAOC,EAAAA,EAAAA,GAAS,GAAIF,EAAOG,KAA2B,cAArBF,EAAWuB,OAAyBxB,EAAOyE,eAAgBxE,EAAWgD,QAAUjD,EAAOiD,UAN/FpD,EAQ1B,kBACD6E,EADC,EACDA,MACAzE,EAFC,EAEDA,WAFC,OAGGC,EAAAA,EAAAA,GAAS,CACbsB,MAAOkD,EAAMC,QAAQC,KAAKC,WACzBH,EAAMI,WAAWC,OAFN,GAGZC,WAAY,WACZrE,QAAS,EACTF,SAAU,aALE,qBAMNwE,EAAAA,EAAAA,SAA6B,CACjCzD,MAAOkD,EAAMC,QAAQ1E,EAAWuB,OAAO0D,QAP7B,qBASND,EAAAA,EAAAA,UAA8B,CAClCzD,MAAOkD,EAAMC,QAAQC,KAAKlD,YAVhB,qBAYNuD,EAAAA,EAAAA,OAA2B,CAC/BzD,MAAOkD,EAAMC,QAAQhD,MAAMuD,OAbjB,OAgBRC,GAAoBtF,EAAAA,EAAAA,IAAO,OAAQ,CACvCC,KAAM,eACNN,KAAM,WACNO,kBAAmB,SAACqB,EAAOpB,GAAR,OAAmBA,EAAOoF,WAHrBvF,EAIvB,gBACD6E,EADC,EACDA,MADC,6BAGKO,EAAAA,EAAAA,OAA2B,CAC/BzD,MAAOkD,EAAMC,QAAQhD,MAAMuD,UAGzBG,EAAyBpE,EAAAA,YAAiB,SAAmBC,EAASC,GAC1E,IAAMC,GAAQC,EAAAA,EAAAA,GAAc,CAC1BD,MAAOF,EACPpB,KAAM,iBAINwB,EAGEF,EAHFE,SACAC,EAEEH,EAFFG,UAFF,EAIIH,EADFK,UAAAA,OAHF,MAGc,QAHd,EAKMS,GAAQC,EAAAA,EAAAA,GAA8Bf,EAAOzB,GAE7CwE,GAAiBI,EAAAA,EAAAA,KACjBe,GAAMrB,EAAAA,EAAAA,GAAiB,CAC3B7C,MAAAA,EACA+C,eAAAA,EACAD,OAAQ,CAAC,QAAS,WAAY,UAAW,WAAY,QAAS,YAG1DjE,GAAaC,EAAAA,EAAAA,GAAS,GAAIkB,EAAO,CACrCI,MAAO8D,EAAI9D,OAAS,UACpBC,UAAAA,EACAC,SAAU4D,EAAI5D,SACdC,MAAO2D,EAAI3D,MACXsB,OAAQqC,EAAIrC,OACZpB,QAASyD,EAAIzD,QACbE,SAAUuD,EAAIvD,WAGVK,EArFkB,SAAAnC,GACxB,IACEmC,EAOEnC,EAPFmC,QACAZ,EAMEvB,EANFuB,MACAK,EAKE5B,EALF4B,QACAH,EAIEzB,EAJFyB,SACAC,EAGE1B,EAHF0B,MACAsB,EAEEhD,EAFFgD,OACAlB,EACE9B,EADF8B,SAEIM,EAAQ,CACZlC,KAAM,CAAC,OAAD,gBAAiBC,EAAAA,EAAAA,GAAWoB,IAAUE,GAAY,WAAYC,GAAS,QAASsB,GAAU,SAAUpB,GAAW,UAAWE,GAAY,YAC5IqD,SAAU,CAAC,WAAYzD,GAAS,UAElC,OAAOW,EAAAA,EAAAA,GAAeD,EAAOkD,EAAAA,EAA4BnD,GAuEzCG,CAAkBtC,GAClC,OAAoBuF,EAAAA,EAAAA,MAAMhB,GAAetE,EAAAA,EAAAA,GAAS,CAChD6D,GAAItC,EACJxB,WAAYA,EACZsB,WAAWyC,EAAAA,EAAAA,GAAK5B,EAAQjC,KAAMoB,GAC9BJ,IAAKA,GACJe,EAAO,CACRZ,SAAU,CAACA,EAAUgE,EAAIvD,WAAyByD,EAAAA,EAAAA,MAAML,EAAmB,CACzElF,WAAYA,EACZ,eAAe,EACfsB,UAAWa,EAAQgD,SACnB9D,SAAU,CAAC,SAAU,cAsE3B,O,qECpLO,SAASiE,EAA2B/F,GACzC,OAAOC,EAAAA,EAAAA,GAAqB,eAAgBD,GAE9C,IAAMyF,GAAmBvF,E,SAAAA,GAAuB,eAAgB,CAAC,OAAQ,iBAAkB,UAAW,WAAY,QAAS,SAAU,WAAY,aACjJ,O,sBCCO,SAAS+F,EAAS3B,GACvB,OAAgB,MAATA,KAAmB4B,MAAMC,QAAQ7B,IAA2B,IAAjBA,EAAM8B,QASnD,SAAS5C,EAAS6C,GAAkB,IAAbC,EAAa,wDACzC,OAAOD,IAAQJ,EAASI,EAAI/B,QAAwB,KAAd+B,EAAI/B,OAAgBgC,GAAOL,EAASI,EAAIE,eAAsC,KAArBF,EAAIE,cAQ9F,SAASnD,EAAeiD,GAC7B,OAAOA,EAAIG,e,sPCzBN,SAASC,EAA0BzG,GACxC,OAAOC,EAAAA,EAAAA,GAAqB,oBAAqBD,IAEzBE,E,SAAAA,GAAuB,oBAAqB,CAAC,OAAQ,UAAW,WAAY,QAAS,YAAa,YAA5H,I,WCFMC,EAAY,CAAC,YAAa,UAAW,cAAe,YAAa,iBAAkB,WAAY,qBAAsB,OAAQ,OAAQ,KAAM,aAAc,WAAY,OAAQ,SAAU,WAAY,UAAW,WAAY,WAAY,WAAY,OAAQ,SA6B1PuG,GAAiBrG,EAAAA,EAAAA,IAAOsG,EAAAA,EAAPtG,EAAmB,gBACxCI,EADwC,EACxCA,WADwC,OAEpCC,EAAAA,EAAAA,GAAS,CACbS,QAAS,EACTyF,aAAc,OACO,UAApBnG,EAAWoG,MAAoB,CAChCC,WAAgC,UAApBrG,EAAW+B,MAAoB,GAAK,IAC3B,QAApB/B,EAAWoG,MAAkB,CAC9BE,YAAiC,UAApBtG,EAAW+B,MAAoB,GAAK,QAE7CwE,GAAkB3G,EAAAA,EAAAA,IAAO,QAAPA,CAAgB,CACtC4G,OAAQ,UACRhG,SAAU,WACViG,QAAS,EACT1F,MAAO,OACP2F,OAAQ,OACRC,IAAK,EACLC,KAAM,EACNxG,OAAQ,EACRM,QAAS,EACTmG,OAAQ,IA8PV,EAxPgC7F,EAAAA,YAAiB,SAAoBG,EAAOD,GAC1E,IACE4F,EAqBE3F,EArBF2F,UACSC,EAoBP5F,EApBF6F,QACAC,EAmBE9F,EAnBF8F,YACA3F,EAkBEH,EAlBFG,UACA4F,EAiBE/F,EAjBF+F,eACUC,EAgBRhG,EAhBFM,SANF,EAsBIN,EAfFiG,mBAAAA,OAPF,WAsBIjG,EAdFiF,KAAAA,OARF,SASEiB,EAaElG,EAbFkG,KACAC,EAYEnG,EAZFmG,GACAC,EAWEpG,EAXFoG,WACAC,EAUErG,EAVFqG,SACA3H,EASEsB,EATFtB,KACA0D,EAQEpC,EARFoC,OACAkE,EAOEtG,EAPFsG,SACAhE,EAMEtC,EANFsC,QACAiE,EAKEvG,EALFuG,SACA5F,EAIEX,EAJFW,SACA6F,EAGExG,EAHFwG,SACAC,EAEEzG,EAFFyG,KACA/D,EACE1C,EADF0C,MAEI5B,GAAQC,EAAAA,EAAAA,GAA8Bf,EAAOzB,GAEnD,GAAmCmI,EAAAA,EAAAA,GAAc,CAC/CC,WAAYf,EACZgB,QAASC,QAAQd,GACjBrH,KAAM,aACNwE,MAAO,YAJT,eAAO2C,EAAP,KAAgBiB,EAAhB,KAMM/D,GAAiBI,EAAAA,EAAAA,KAqCnB7C,EAAW0F,EAEXjD,GACsB,qBAAbzC,IACTA,EAAWyC,EAAezC,UAI9B,IAAMyG,EAAuB,aAATN,GAAgC,UAATA,EAErC5H,GAAaC,EAAAA,EAAAA,GAAS,GAAIkB,EAAO,CACrC6F,QAAAA,EACAvF,SAAAA,EACA2F,mBAAAA,EACAhB,KAAAA,IAGIjE,EA9HkB,SAAAnC,GACxB,IACEmC,EAIEnC,EAJFmC,QACA6E,EAGEhH,EAHFgH,QACAvF,EAEEzB,EAFFyB,SACA2E,EACEpG,EADFoG,KAEIhE,EAAQ,CACZlC,KAAM,CAAC,OAAQ8G,GAAW,UAAWvF,GAAY,WAAY2E,GAAQ,OAAJ,QAAWjG,EAAAA,EAAAA,GAAWiG,KACvF1D,MAAO,CAAC,UAEV,OAAOL,EAAAA,EAAAA,GAAeD,EAAO4D,EAA2B7D,GAmHxCG,CAAkBtC,GAClC,OAAoBuF,EAAAA,EAAAA,MAAMU,GAAgBhG,EAAAA,EAAAA,GAAS,CACjDuB,UAAW,OACXF,WAAWyC,EAAAA,EAAAA,GAAK5B,EAAQjC,KAAMoB,GAC9B6G,cAAc,EACdC,aAAchB,EACd3F,SAAUA,EACVkG,SAAU,KACVU,UAAMjF,EACNK,QA7DkB,SAAA6E,GACd7E,GACFA,EAAQ6E,GAGNpE,GAAkBA,EAAeT,SACnCS,EAAeT,QAAQ6E,IAwDzB/E,OApDiB,SAAA+E,GACb/E,GACFA,EAAO+E,GAGLpE,GAAkBA,EAAeX,QACnCW,EAAeX,OAAO+E,IA+CxBtI,WAAYA,EACZkB,IAAKA,GACJe,EAAO,CACRZ,SAAU,EAAcsC,EAAAA,EAAAA,KAAK4C,GAAiBtG,EAAAA,EAAAA,GAAS,CACrD6G,UAAWA,EACXE,QAASD,EACTG,eAAgBA,EAChB5F,UAAWa,EAAQO,MACnBjB,SAAUA,EACV6F,GAAIY,GAAeZ,EACnBzH,KAAMA,EACN4H,SAtDsB,SAAAa,GAExB,IAAIA,EAAMC,YAAYC,iBAAtB,CAIA,IAAMC,EAAaH,EAAMI,OAAO1B,QAChCiB,EAAgBQ,GAEZhB,GAEFA,EAASa,EAAOG,KA4ChBf,SAAUA,EACVxG,IAAKsG,EACL1F,SAAUA,EACV9B,WAAYA,EACZ2H,SAAUA,EACVC,KAAMA,GACI,aAATA,QAAiCxE,IAAVS,EAAsB,GAAK,CACnDA,MAAAA,GACC0D,IAAcP,EAAUC,EAAcI","sources":["../node_modules/@mui/material/FormControl/formControlClasses.js","../node_modules/@mui/material/FormControl/FormControl.js","../node_modules/@mui/material/FormControl/FormControlContext.js","../node_modules/@mui/material/FormControl/formControlState.js","../node_modules/@mui/material/FormControl/useFormControl.js","../node_modules/@mui/material/FormLabel/FormLabel.js","../node_modules/@mui/material/FormLabel/formLabelClasses.js","../node_modules/@mui/material/InputBase/utils.js","../node_modules/@mui/material/internal/switchBaseClasses.js","../node_modules/@mui/material/internal/SwitchBase.js"],"sourcesContent":["import { generateUtilityClasses, generateUtilityClass } from '@mui/base';\nexport function getFormControlUtilityClasses(slot) {\n return generateUtilityClass('MuiFormControl', slot);\n}\nconst formControlClasses = generateUtilityClasses('MuiFormControl', ['root', 'marginNone', 'marginNormal', 'marginDense', 'fullWidth', 'disabled']);\nexport default formControlClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"focused\", \"fullWidth\", \"hiddenLabel\", \"margin\", \"required\", \"size\", \"variant\"];\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 { isFilled, isAdornedStart } from '../InputBase/utils';\nimport capitalize from '../utils/capitalize';\nimport isMuiElement from '../utils/isMuiElement';\nimport FormControlContext from './FormControlContext';\nimport { getFormControlUtilityClasses } from './formControlClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n margin,\n fullWidth\n } = ownerState;\n const slots = {\n root: ['root', margin !== 'none' && `margin${capitalize(margin)}`, fullWidth && 'fullWidth']\n };\n return composeClasses(slots, getFormControlUtilityClasses, classes);\n};\n\nconst FormControlRoot = styled('div', {\n name: 'MuiFormControl',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, styles[`margin${capitalize(ownerState.margin)}`], ownerState.fullWidth && styles.fullWidth);\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n flexDirection: 'column',\n position: 'relative',\n // Reset fieldset default style.\n minWidth: 0,\n padding: 0,\n margin: 0,\n border: 0,\n verticalAlign: 'top'\n}, ownerState.margin === 'normal' && {\n marginTop: 16,\n marginBottom: 8\n}, ownerState.margin === 'dense' && {\n marginTop: 8,\n marginBottom: 4\n}, ownerState.fullWidth && {\n width: '100%'\n}));\n/**\n * Provides context such as filled/focused/error/required for form inputs.\n * Relying on the context provides high flexibility and ensures that the state always stays\n * consistent across the children of the `FormControl`.\n * This context is used by the following components:\n *\n * - FormLabel\n * - FormHelperText\n * - Input\n * - InputLabel\n *\n * You can find one composition example below and more going to [the demos](/components/text-fields/#components).\n *\n * ```jsx\n * \n * Email address\n * \n * We'll never share your email.\n * \n * ```\n *\n * ⚠️ Only one `InputBase` can be used within a FormControl because it create visual inconsistencies.\n * For instance, only one input can be focused at the same time, the state shouldn't be shared.\n */\n\nconst FormControl = /*#__PURE__*/React.forwardRef(function FormControl(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormControl'\n });\n\n const {\n children,\n className,\n color = 'primary',\n component = 'div',\n disabled = false,\n error = false,\n focused: visuallyFocused,\n fullWidth = false,\n hiddenLabel = false,\n margin = 'none',\n required = false,\n size = 'medium',\n variant = 'outlined'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n component,\n disabled,\n error,\n fullWidth,\n hiddenLabel,\n margin,\n required,\n size,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n const [adornedStart, setAdornedStart] = React.useState(() => {\n // We need to iterate through the children and find the Input in order\n // to fully support server-side rendering.\n let initialAdornedStart = false;\n\n if (children) {\n React.Children.forEach(children, child => {\n if (!isMuiElement(child, ['Input', 'Select'])) {\n return;\n }\n\n const input = isMuiElement(child, ['Select']) ? child.props.input : child;\n\n if (input && isAdornedStart(input.props)) {\n initialAdornedStart = true;\n }\n });\n }\n\n return initialAdornedStart;\n });\n const [filled, setFilled] = React.useState(() => {\n // We need to iterate through the children and find the Input in order\n // to fully support server-side rendering.\n let initialFilled = false;\n\n if (children) {\n React.Children.forEach(children, child => {\n if (!isMuiElement(child, ['Input', 'Select'])) {\n return;\n }\n\n if (isFilled(child.props, true)) {\n initialFilled = true;\n }\n });\n }\n\n return initialFilled;\n });\n const [focusedState, setFocused] = React.useState(false);\n\n if (disabled && focusedState) {\n setFocused(false);\n }\n\n const focused = visuallyFocused !== undefined && !disabled ? visuallyFocused : focusedState;\n let registerEffect;\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const registeredInput = React.useRef(false);\n\n registerEffect = () => {\n if (registeredInput.current) {\n console.error(['MUI: There are multiple `InputBase` components inside a FormControl.', 'This creates visual inconsistencies, only use one `InputBase`.'].join('\\n'));\n }\n\n registeredInput.current = true;\n return () => {\n registeredInput.current = false;\n };\n };\n }\n\n const onFilled = React.useCallback(() => {\n setFilled(true);\n }, []);\n const onEmpty = React.useCallback(() => {\n setFilled(false);\n }, []);\n const childContext = {\n adornedStart,\n setAdornedStart,\n color,\n disabled,\n error,\n filled,\n focused,\n fullWidth,\n hiddenLabel,\n size,\n onBlur: () => {\n setFocused(false);\n },\n onEmpty,\n onFilled,\n onFocus: () => {\n setFocused(true);\n },\n registerEffect,\n required,\n variant\n };\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(FormControlRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: children\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? FormControl.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, the label, input and helper text should be displayed in a disabled state.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the label is displayed in an error state.\n * @default false\n */\n error: PropTypes.bool,\n\n /**\n * If `true`, the component is displayed in focused state.\n */\n focused: PropTypes.bool,\n\n /**\n * If `true`, the component will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n\n /**\n * If `true`, the label is hidden.\n * This is used to increase density for a `FilledInput`.\n * Be sure to add `aria-label` to the `input` element.\n * @default false\n */\n hiddenLabel: PropTypes.bool,\n\n /**\n * If `dense` or `normal`, will adjust vertical spacing of this and contained components.\n * @default 'none'\n */\n margin: PropTypes.oneOf(['dense', 'none', 'normal']),\n\n /**\n * If `true`, the label will indicate that the `input` is required.\n * @default false\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'outlined'\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default FormControl;","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\n\nconst FormControlContext = /*#__PURE__*/React.createContext();\n\nif (process.env.NODE_ENV !== 'production') {\n FormControlContext.displayName = 'FormControlContext';\n}\n\nexport default FormControlContext;","export default function formControlState({\n props,\n states,\n muiFormControl\n}) {\n return states.reduce((acc, state) => {\n acc[state] = props[state];\n\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n\n return acc;\n }, {});\n}","import * as React from 'react';\nimport FormControlContext from './FormControlContext';\nexport default function useFormControl() {\n return React.useContext(FormControlContext);\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormLabelUtilityClasses, classes);\n};\n\nexport const FormLabelRoot = styled('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: theme.palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${formLabelClasses.focused}`]: {\n color: theme.palette[ownerState.color].main\n },\n [`&.${formLabelClasses.disabled}`]: {\n color: theme.palette.text.disabled\n },\n [`&.${formLabelClasses.error}`]: {\n color: theme.palette.error.main\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formLabelClasses.error}`]: {\n color: theme.palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormLabel'\n });\n\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(FormLabelRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormLabel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, the label should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: PropTypes.bool,\n\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: PropTypes.bool,\n\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default FormLabel;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getFormLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormLabel', slot);\n}\nconst formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\nexport default formLabelClasses;","// Supports determination of isControlled().\n// Controlled input accepts its current value as a prop.\n//\n// @see https://facebook.github.io/react/docs/forms.html#controlled-components\n// @param value\n// @returns {boolean} true if string (including '') or number (including zero)\nexport function hasValue(value) {\n return value != null && !(Array.isArray(value) && value.length === 0);\n} // Determine if field is empty or filled.\n// Response determines if label is presented above field or as placeholder.\n//\n// @param obj\n// @param SSR\n// @returns {boolean} False when not present or empty string.\n// True when any number or string with length.\n\nexport function isFilled(obj, SSR = false) {\n return obj && (hasValue(obj.value) && obj.value !== '' || SSR && hasValue(obj.defaultValue) && obj.defaultValue !== '');\n} // Determine if an Input is adorned on start.\n// It's corresponding to the left with LTR.\n//\n// @param obj\n// @returns {boolean} False when no adornments.\n// True when adorned at the start.\n\nexport function isAdornedStart(obj) {\n return obj.startAdornment;\n}","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\n\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input')({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n/**\n * @ignore - internal component.\n */\n\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n\n let disabled = disabledProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor && id,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n}); // NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\n\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /*\n * @ignore\n */\n name: PropTypes.string,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;"],"names":["getFormControlUtilityClasses","slot","generateUtilityClass","generateUtilityClasses","_excluded","FormControlRoot","styled","name","overridesResolver","styles","ownerState","_extends","root","capitalize","margin","fullWidth","display","flexDirection","position","minWidth","padding","border","verticalAlign","marginTop","marginBottom","width","React","inProps","ref","props","useThemeProps","children","className","color","component","disabled","error","visuallyFocused","focused","hiddenLabel","required","size","variant","other","_objectWithoutPropertiesLoose","classes","slots","composeClasses","useUtilityClasses","initialAdornedStart","child","isMuiElement","input","isAdornedStart","adornedStart","setAdornedStart","initialFilled","isFilled","filled","setFilled","focusedState","setFocused","undefined","onFilled","childContext","onBlur","onEmpty","onFocus","registerEffect","_jsx","FormControlContext","value","as","clsx","formControlState","states","muiFormControl","reduce","acc","state","useFormControl","FormLabelRoot","colorSecondary","theme","palette","text","secondary","typography","body1","lineHeight","formLabelClasses","main","AsteriskComponent","asterisk","FormLabel","fcs","getFormLabelUtilityClasses","_jsxs","hasValue","Array","isArray","length","obj","SSR","defaultValue","startAdornment","getSwitchBaseUtilityClass","SwitchBaseRoot","ButtonBase","borderRadius","edge","marginLeft","marginRight","SwitchBaseInput","cursor","opacity","height","top","left","zIndex","autoFocus","checkedProp","checked","checkedIcon","defaultChecked","disabledProp","disableFocusRipple","icon","id","inputProps","inputRef","onChange","readOnly","tabIndex","type","useControlled","controlled","default","Boolean","setCheckedState","hasLabelFor","centerRipple","focusRipple","role","event","nativeEvent","defaultPrevented","newChecked","target"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3421.aa3eeb04.chunk.js b/portal-ui/build/static/js/3421.a52d7b4f.chunk.js similarity index 98% rename from portal-ui/build/static/js/3421.aa3eeb04.chunk.js rename to portal-ui/build/static/js/3421.a52d7b4f.chunk.js index d89f1fe20..ec99cdd4f 100644 --- a/portal-ui/build/static/js/3421.aa3eeb04.chunk.js +++ b/portal-ui/build/static/js/3421.a52d7b4f.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3421],{66964:function(n,t,o){var i=o(18489),a=o(50390),e=o(12066),r=o(25594),s=o(14602),c=o(94187),l=o(95467),d=o(86509),u=o(62449),g=o(4285),v=o(72462),p=o(97538),f=o(44977),Z=o(62559),m=(0,u.Z)((function(n){return(0,d.Z)((0,i.Z)({},v.gM))}));function h(n){var t=m();return(0,Z.jsx)(e.Z,(0,i.Z)({InputProps:{classes:t}},n))}t.Z=(0,g.Z)((function(n){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},v.YI),v.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},v.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(n){var t=n.label,o=n.onChange,e=n.value,d=n.id,u=n.name,g=n.type,v=void 0===g?"text":g,m=n.autoComplete,x=void 0===m?"off":m,b=n.disabled,I=void 0!==b&&b,j=n.multiline,C=void 0!==j&&j,P=n.tooltip,L=void 0===P?"":P,y=n.index,S=void 0===y?0:y,w=n.error,N=void 0===w?"":w,M=n.required,R=void 0!==M&&M,k=n.placeholder,B=void 0===k?"":k,E=n.min,F=n.max,D=n.overlayIcon,T=void 0===D?null:D,A=n.overlayObject,W=void 0===A?null:A,O=n.extraInputProps,V=void 0===O?{}:O,z=n.overlayAction,H=n.noLabelMinWidth,Y=void 0!==H&&H,_=n.pattern,q=void 0===_?"":_,G=n.autoFocus,Q=void 0!==G&&G,$=n.classes,J=n.className,K=void 0===J?"":J,U=(0,i.Z)({"data-index":S},V);return"number"===v&&E&&(U.min=E),"number"===v&&F&&(U.max=F),""!==q&&(U.pattern=q),(0,Z.jsx)(a.Fragment,{children:(0,Z.jsxs)(r.ZP,{container:!0,className:(0,f.Z)(""!==K?K:"",""!==N?$.errorInField:$.inputBoxContainer),children:[""!==t&&(0,Z.jsxs)(s.Z,{htmlFor:d,className:Y?$.noMinWidthLabel:$.inputLabel,children:[(0,Z.jsxs)("span",{children:[t,R?"*":""]}),""!==L&&(0,Z.jsx)("div",{className:$.tooltipContainer,children:(0,Z.jsx)(c.Z,{title:L,placement:"top-start",children:(0,Z.jsx)("div",{className:$.tooltip,children:(0,Z.jsx)(p.Z,{})})})})]}),(0,Z.jsxs)("div",{className:$.textBoxContainer,children:[(0,Z.jsx)(h,{id:d,name:u,fullWidth:!0,value:e,autoFocus:Q,disabled:I,onChange:o,type:v,multiline:C,autoComplete:x,inputProps:U,error:""!==N,helperText:N,placeholder:B,className:$.inputRebase}),T&&(0,Z.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,Z.jsx)(l.Z,{onClick:z?function(){z()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:T})}),W&&(0,Z.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==t?"withLabel":""),children:W})]})]})})}))},21639:function(n,t,o){var i=o(23430),a=o(50390),e=o(30324);t.Z=function(n,t){var o=(0,a.useState)(!1),r=(0,i.Z)(o,2),s=r[0],c=r[1];return[s,function(o,i,a){c(!0),e.Z.invoke(o,i,a).then((function(t){c(!1),n(t)})).catch((function(n){c(!1),t(n)}))}]}},60656:function(n,t,o){var i=o(18489),a=o(50390),e=o(84402),r=o(78426),s=o(93085),c=o(7887),l=o(66946),d=o(14476),u=o(95467),g=o(21278),v=o(86509),p=o(4285),f=o(72462),Z=o(62559);t.Z=(0,p.Z)((function(n){return(0,v.Z)((0,i.Z)({},f.Qw))}))((function(n){var t=n.isOpen,o=void 0!==t&&t,v=n.onClose,p=n.onCancel,f=n.onConfirm,m=n.classes,h=void 0===m?{}:m,x=n.title,b=void 0===x?"":x,I=n.isLoading,j=n.confirmationContent,C=n.cancelText,P=void 0===C?"Cancel":C,L=n.confirmText,y=void 0===L?"Confirm":L,S=n.confirmButtonProps,w=void 0===S?{}:S,N=n.cancelButtonProps,M=void 0===N?{}:N,R=n.titleIcon,k=void 0===R?null:R;return(0,Z.jsxs)(e.Z,{open:o,onClose:function(n,t){"backdropClick"!==t&&v()},className:h.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,Z.jsxs)(r.Z,{className:h.title,children:[(0,Z.jsxs)("div",{className:h.titleText,children:[k," ",b]}),(0,Z.jsx)("div",{className:h.closeContainer,children:(0,Z.jsx)(u.Z,{"aria-label":"close",className:h.closeButton,onClick:v,disableRipple:!0,size:"small",children:(0,Z.jsx)(g.Z,{})})})]}),(0,Z.jsx)(s.Z,{className:h.content,children:j}),(0,Z.jsxs)(c.Z,{className:h.actions,children:[(0,Z.jsx)(l.Z,(0,i.Z)((0,i.Z)({className:h.cancelButton,onClick:p||v,disabled:I,type:"button"},M),{},{variant:"outlined",color:"primary",children:P})),(0,Z.jsx)(d.Z,(0,i.Z)((0,i.Z)({className:h.confirmButton,type:"button",onClick:f,loading:I,disabled:I,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,Z.jsx)(a.Fragment,{}),autoFocus:!0},w),{},{children:y}))]})]})}))},53421:function(n,t,o){o.r(t);var i=o(23430),a=o(50390),e=o(23473),r=o(66964),s=o(25594),c=o(34424),l=o(44149),d=o(21639),u=o(60656),g=o(11387),v=o(62559),p=(0,c.$j)(null,{setErrorSnackMessage:l.Ih});t.default=p((function(n){var t=n.deleteOpen,o=n.selectedPVC,c=n.closeDeleteModalAndRefresh,l=n.setErrorSnackMessage,p=(0,a.useState)(""),f=(0,i.Z)(p,2),Z=f[0],m=f[1],h=(0,d.Z)((function(){return c(!0)}),(function(n){return l(n)})),x=(0,i.Z)(h,2),b=x[0],I=x[1];return(0,v.jsx)(u.Z,{title:"Delete PVC",confirmText:"Delete",isOpen:t,titleIcon:(0,v.jsx)(g.Nv,{}),isLoading:b,onConfirm:function(){Z===o.name?I("DELETE","/api/v1/namespaces/".concat(o.namespace,"/tenants/").concat(o.tenant,"/pvc/").concat(o.name)):l({errorMessage:"PVC name is incorrect",detailedError:""})},onClose:function(){return c(!1)},confirmButtonProps:{disabled:Z!==o.name||b},confirmationContent:(0,v.jsxs)(e.Z,{children:["To continue please type ",(0,v.jsx)("b",{children:o.name})," in the box.",(0,v.jsx)(s.ZP,{item:!0,xs:12,children:(0,v.jsx)(r.Z,{id:"retype-PVC",name:"retype-PVC",onChange:function(n){m(n.target.value)},label:"",value:Z})})]})})}))},14476:function(n,t,o){o.d(t,{Z:function(){return I}});var i=o(36222),a=o(46633),e=o(18207),r=o(50390),s=o(91442),c=o(4733),l=o(50076),d=o(8208),u=o(15573),g=o(66946),v=o(18201),p=o(10594);function f(n){return(0,p.Z)("MuiLoadingButton",n)}var Z=(0,o(43349).Z)("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),m=o(62559),h=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],x=(0,d.ZP)(g.Z,{shouldForwardProp:function(n){return function(n){return"ownerState"!==n&&"theme"!==n&&"sx"!==n&&"as"!==n&&"classes"!==n}(n)||"classes"===n},name:"MuiLoadingButton",slot:"Root",overridesResolver:function(n,t){return[t.root,t.startIconLoadingStart&&(0,i.Z)({},"& .".concat(Z.startIconLoadingStart),t.startIconLoadingStart),t.endIconLoadingEnd&&(0,i.Z)({},"& .".concat(Z.endIconLoadingEnd),t.endIconLoadingEnd)]}})((function(n){var t=n.ownerState,o=n.theme;return(0,e.Z)((0,i.Z)({},"& .".concat(Z.startIconLoadingStart,", & .").concat(Z.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0}),"center"===t.loadingPosition&&(0,i.Z)({transition:o.transitions.create(["background-color","box-shadow","border-color"],{duration:o.transitions.duration.short})},"&.".concat(Z.loading),{color:"transparent"}),"start"===t.loadingPosition&&t.fullWidth&&(0,i.Z)({},"& .".concat(Z.startIconLoadingStart,", & .").concat(Z.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0,marginRight:-8}),"end"===t.loadingPosition&&t.fullWidth&&(0,i.Z)({},"& .".concat(Z.startIconLoadingStart,", & .").concat(Z.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0,marginLeft:-8}))})),b=(0,d.ZP)("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:function(n,t){var o=n.ownerState;return[t.loadingIndicator,t["loadingIndicator".concat((0,s.Z)(o.loadingPosition))]]}})((function(n){var t=n.theme,o=n.ownerState;return(0,e.Z)({position:"absolute",visibility:"visible",display:"flex"},"start"===o.loadingPosition&&("outlined"===o.variant||"contained"===o.variant)&&{left:14},"start"===o.loadingPosition&&"text"===o.variant&&{left:6},"center"===o.loadingPosition&&{left:"50%",transform:"translate(-50%)",color:t.palette.action.disabled},"end"===o.loadingPosition&&("outlined"===o.variant||"contained"===o.variant)&&{right:14},"end"===o.loadingPosition&&"text"===o.variant&&{right:6},"start"===o.loadingPosition&&o.fullWidth&&{position:"relative",left:-10},"end"===o.loadingPosition&&o.fullWidth&&{position:"relative",right:-10})})),I=r.forwardRef((function(n,t){var o=(0,u.Z)({props:n,name:"MuiLoadingButton"}),i=o.children,d=o.disabled,g=void 0!==d&&d,p=o.id,Z=o.loading,I=void 0!==Z&&Z,j=o.loadingIndicator,C=o.loadingPosition,P=void 0===C?"center":C,L=o.variant,y=void 0===L?"text":L,S=(0,a.Z)(o,h),w=(0,c.Z)(p),N=null!=j?j:(0,m.jsx)(v.Z,{"aria-labelledby":w,color:"inherit",size:16}),M=(0,e.Z)({},o,{disabled:g,loading:I,loadingIndicator:N,loadingPosition:P,variant:y}),R=function(n){var t=n.loading,o=n.loadingPosition,i=n.classes,a={root:["root",t&&"loading"],startIcon:[t&&"startIconLoading".concat((0,s.Z)(o))],endIcon:[t&&"endIconLoading".concat((0,s.Z)(o))],loadingIndicator:["loadingIndicator",t&&"loadingIndicator".concat((0,s.Z)(o))]},r=(0,l.Z)(a,f,i);return(0,e.Z)({},i,r)}(M);return(0,m.jsx)(x,(0,e.Z)({disabled:g||I,id:w,ref:t},S,{variant:y,classes:R,ownerState:M,children:"end"===M.loadingPosition?(0,m.jsxs)(r.Fragment,{children:[i,I&&(0,m.jsx)(b,{className:R.loadingIndicator,ownerState:M,children:N})]}):(0,m.jsxs)(r.Fragment,{children:[I&&(0,m.jsx)(b,{className:R.loadingIndicator,ownerState:M,children:N}),i]})}))}))},7887:function(n,t,o){o.d(t,{Z:function(){return f}});var i=o(1048),a=o(32793),e=o(50390),r=o(44977),s=o(50076),c=o(8208),l=o(15573),d=o(10594);function u(n){return(0,d.Z)("MuiDialogActions",n)}(0,o(43349).Z)("MuiDialogActions",["root","spacing"]);var g=o(62559),v=["className","disableSpacing"],p=(0,c.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(n,t){var o=n.ownerState;return[t.root,!o.disableSpacing&&t.spacing]}})((function(n){var t=n.ownerState;return(0,a.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!t.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),f=e.forwardRef((function(n,t){var o=(0,l.Z)({props:n,name:"MuiDialogActions"}),e=o.className,c=o.disableSpacing,d=void 0!==c&&c,f=(0,i.Z)(o,v),Z=(0,a.Z)({},o,{disableSpacing:d}),m=function(n){var t=n.classes,o={root:["root",!n.disableSpacing&&"spacing"]};return(0,s.Z)(o,u,t)}(Z);return(0,g.jsx)(p,(0,a.Z)({className:(0,r.Z)(m.root,e),ownerState:Z,ref:t},f))}))},23473:function(n,t,o){o.d(t,{Z:function(){return f}});var i=o(1048),a=o(32793),e=o(50390),r=o(50076),s=o(8208),c=o(15573),l=o(35477),d=o(10594);function u(n){return(0,d.Z)("MuiDialogContentText",n)}(0,o(43349).Z)("MuiDialogContentText",["root"]);var g=o(62559),v=["children"],p=(0,s.ZP)(l.Z,{shouldForwardProp:function(n){return(0,s.FO)(n)||"classes"===n},name:"MuiDialogContentText",slot:"Root",overridesResolver:function(n,t){return t.root}})({}),f=e.forwardRef((function(n,t){var o=(0,c.Z)({props:n,name:"MuiDialogContentText"}),e=(0,i.Z)(o,v),s=function(n){var t=n.classes,o=(0,r.Z)({root:["root"]},u,t);return(0,a.Z)({},t,o)}(e);return(0,g.jsx)(p,(0,a.Z)({component:"p",variant:"body1",color:"text.secondary",ref:t,ownerState:e},o,{classes:s}))}))}}]); -//# sourceMappingURL=3421.aa3eeb04.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3421],{66964:function(n,t,o){var i=o(18489),a=o(50390),e=o(12066),r=o(25594),s=o(36554),c=o(94187),l=o(95467),d=o(86509),u=o(62449),g=o(4285),v=o(72462),p=o(97538),f=o(44977),Z=o(62559),m=(0,u.Z)((function(n){return(0,d.Z)((0,i.Z)({},v.gM))}));function h(n){var t=m();return(0,Z.jsx)(e.Z,(0,i.Z)({InputProps:{classes:t}},n))}t.Z=(0,g.Z)((function(n){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},v.YI),v.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},v.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(n){var t=n.label,o=n.onChange,e=n.value,d=n.id,u=n.name,g=n.type,v=void 0===g?"text":g,m=n.autoComplete,x=void 0===m?"off":m,b=n.disabled,I=void 0!==b&&b,j=n.multiline,C=void 0!==j&&j,P=n.tooltip,L=void 0===P?"":P,y=n.index,S=void 0===y?0:y,w=n.error,N=void 0===w?"":w,M=n.required,R=void 0!==M&&M,k=n.placeholder,B=void 0===k?"":k,E=n.min,F=n.max,D=n.overlayIcon,T=void 0===D?null:D,A=n.overlayObject,W=void 0===A?null:A,O=n.extraInputProps,V=void 0===O?{}:O,z=n.overlayAction,H=n.noLabelMinWidth,Y=void 0!==H&&H,_=n.pattern,q=void 0===_?"":_,G=n.autoFocus,Q=void 0!==G&&G,$=n.classes,J=n.className,K=void 0===J?"":J,U=(0,i.Z)({"data-index":S},V);return"number"===v&&E&&(U.min=E),"number"===v&&F&&(U.max=F),""!==q&&(U.pattern=q),(0,Z.jsx)(a.Fragment,{children:(0,Z.jsxs)(r.ZP,{container:!0,className:(0,f.Z)(""!==K?K:"",""!==N?$.errorInField:$.inputBoxContainer),children:[""!==t&&(0,Z.jsxs)(s.Z,{htmlFor:d,className:Y?$.noMinWidthLabel:$.inputLabel,children:[(0,Z.jsxs)("span",{children:[t,R?"*":""]}),""!==L&&(0,Z.jsx)("div",{className:$.tooltipContainer,children:(0,Z.jsx)(c.Z,{title:L,placement:"top-start",children:(0,Z.jsx)("div",{className:$.tooltip,children:(0,Z.jsx)(p.Z,{})})})})]}),(0,Z.jsxs)("div",{className:$.textBoxContainer,children:[(0,Z.jsx)(h,{id:d,name:u,fullWidth:!0,value:e,autoFocus:Q,disabled:I,onChange:o,type:v,multiline:C,autoComplete:x,inputProps:U,error:""!==N,helperText:N,placeholder:B,className:$.inputRebase}),T&&(0,Z.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,Z.jsx)(l.Z,{onClick:z?function(){z()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:T})}),W&&(0,Z.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==t?"withLabel":""),children:W})]})]})})}))},21639:function(n,t,o){var i=o(23430),a=o(50390),e=o(30324);t.Z=function(n,t){var o=(0,a.useState)(!1),r=(0,i.Z)(o,2),s=r[0],c=r[1];return[s,function(o,i,a){c(!0),e.Z.invoke(o,i,a).then((function(t){c(!1),n(t)})).catch((function(n){c(!1),t(n)}))}]}},60656:function(n,t,o){var i=o(18489),a=o(50390),e=o(84402),r=o(78426),s=o(93085),c=o(7887),l=o(66946),d=o(14476),u=o(95467),g=o(21278),v=o(86509),p=o(4285),f=o(72462),Z=o(62559);t.Z=(0,p.Z)((function(n){return(0,v.Z)((0,i.Z)({},f.Qw))}))((function(n){var t=n.isOpen,o=void 0!==t&&t,v=n.onClose,p=n.onCancel,f=n.onConfirm,m=n.classes,h=void 0===m?{}:m,x=n.title,b=void 0===x?"":x,I=n.isLoading,j=n.confirmationContent,C=n.cancelText,P=void 0===C?"Cancel":C,L=n.confirmText,y=void 0===L?"Confirm":L,S=n.confirmButtonProps,w=void 0===S?{}:S,N=n.cancelButtonProps,M=void 0===N?{}:N,R=n.titleIcon,k=void 0===R?null:R;return(0,Z.jsxs)(e.Z,{open:o,onClose:function(n,t){"backdropClick"!==t&&v()},className:h.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,Z.jsxs)(r.Z,{className:h.title,children:[(0,Z.jsxs)("div",{className:h.titleText,children:[k," ",b]}),(0,Z.jsx)("div",{className:h.closeContainer,children:(0,Z.jsx)(u.Z,{"aria-label":"close",className:h.closeButton,onClick:v,disableRipple:!0,size:"small",children:(0,Z.jsx)(g.Z,{})})})]}),(0,Z.jsx)(s.Z,{className:h.content,children:j}),(0,Z.jsxs)(c.Z,{className:h.actions,children:[(0,Z.jsx)(l.Z,(0,i.Z)((0,i.Z)({className:h.cancelButton,onClick:p||v,disabled:I,type:"button"},M),{},{variant:"outlined",color:"primary",children:P})),(0,Z.jsx)(d.Z,(0,i.Z)((0,i.Z)({className:h.confirmButton,type:"button",onClick:f,loading:I,disabled:I,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,Z.jsx)(a.Fragment,{}),autoFocus:!0},w),{},{children:y}))]})]})}))},53421:function(n,t,o){o.r(t);var i=o(23430),a=o(50390),e=o(23473),r=o(66964),s=o(25594),c=o(34424),l=o(44149),d=o(21639),u=o(60656),g=o(98280),v=o(62559),p=(0,c.$j)(null,{setErrorSnackMessage:l.Ih});t.default=p((function(n){var t=n.deleteOpen,o=n.selectedPVC,c=n.closeDeleteModalAndRefresh,l=n.setErrorSnackMessage,p=(0,a.useState)(""),f=(0,i.Z)(p,2),Z=f[0],m=f[1],h=(0,d.Z)((function(){return c(!0)}),(function(n){return l(n)})),x=(0,i.Z)(h,2),b=x[0],I=x[1];return(0,v.jsx)(u.Z,{title:"Delete PVC",confirmText:"Delete",isOpen:t,titleIcon:(0,v.jsx)(g.Nv,{}),isLoading:b,onConfirm:function(){Z===o.name?I("DELETE","/api/v1/namespaces/".concat(o.namespace,"/tenants/").concat(o.tenant,"/pvc/").concat(o.name)):l({errorMessage:"PVC name is incorrect",detailedError:""})},onClose:function(){return c(!1)},confirmButtonProps:{disabled:Z!==o.name||b},confirmationContent:(0,v.jsxs)(e.Z,{children:["To continue please type ",(0,v.jsx)("b",{children:o.name})," in the box.",(0,v.jsx)(s.ZP,{item:!0,xs:12,children:(0,v.jsx)(r.Z,{id:"retype-PVC",name:"retype-PVC",onChange:function(n){m(n.target.value)},label:"",value:Z})})]})})}))},14476:function(n,t,o){o.d(t,{Z:function(){return I}});var i=o(36222),a=o(46633),e=o(18207),r=o(50390),s=o(91442),c=o(4733),l=o(50076),d=o(8208),u=o(15573),g=o(66946),v=o(18201),p=o(10594);function f(n){return(0,p.Z)("MuiLoadingButton",n)}var Z=(0,o(43349).Z)("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),m=o(62559),h=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],x=(0,d.ZP)(g.Z,{shouldForwardProp:function(n){return function(n){return"ownerState"!==n&&"theme"!==n&&"sx"!==n&&"as"!==n&&"classes"!==n}(n)||"classes"===n},name:"MuiLoadingButton",slot:"Root",overridesResolver:function(n,t){return[t.root,t.startIconLoadingStart&&(0,i.Z)({},"& .".concat(Z.startIconLoadingStart),t.startIconLoadingStart),t.endIconLoadingEnd&&(0,i.Z)({},"& .".concat(Z.endIconLoadingEnd),t.endIconLoadingEnd)]}})((function(n){var t=n.ownerState,o=n.theme;return(0,e.Z)((0,i.Z)({},"& .".concat(Z.startIconLoadingStart,", & .").concat(Z.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0}),"center"===t.loadingPosition&&(0,i.Z)({transition:o.transitions.create(["background-color","box-shadow","border-color"],{duration:o.transitions.duration.short})},"&.".concat(Z.loading),{color:"transparent"}),"start"===t.loadingPosition&&t.fullWidth&&(0,i.Z)({},"& .".concat(Z.startIconLoadingStart,", & .").concat(Z.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0,marginRight:-8}),"end"===t.loadingPosition&&t.fullWidth&&(0,i.Z)({},"& .".concat(Z.startIconLoadingStart,", & .").concat(Z.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0,marginLeft:-8}))})),b=(0,d.ZP)("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:function(n,t){var o=n.ownerState;return[t.loadingIndicator,t["loadingIndicator".concat((0,s.Z)(o.loadingPosition))]]}})((function(n){var t=n.theme,o=n.ownerState;return(0,e.Z)({position:"absolute",visibility:"visible",display:"flex"},"start"===o.loadingPosition&&("outlined"===o.variant||"contained"===o.variant)&&{left:14},"start"===o.loadingPosition&&"text"===o.variant&&{left:6},"center"===o.loadingPosition&&{left:"50%",transform:"translate(-50%)",color:t.palette.action.disabled},"end"===o.loadingPosition&&("outlined"===o.variant||"contained"===o.variant)&&{right:14},"end"===o.loadingPosition&&"text"===o.variant&&{right:6},"start"===o.loadingPosition&&o.fullWidth&&{position:"relative",left:-10},"end"===o.loadingPosition&&o.fullWidth&&{position:"relative",right:-10})})),I=r.forwardRef((function(n,t){var o=(0,u.Z)({props:n,name:"MuiLoadingButton"}),i=o.children,d=o.disabled,g=void 0!==d&&d,p=o.id,Z=o.loading,I=void 0!==Z&&Z,j=o.loadingIndicator,C=o.loadingPosition,P=void 0===C?"center":C,L=o.variant,y=void 0===L?"text":L,S=(0,a.Z)(o,h),w=(0,c.Z)(p),N=null!=j?j:(0,m.jsx)(v.Z,{"aria-labelledby":w,color:"inherit",size:16}),M=(0,e.Z)({},o,{disabled:g,loading:I,loadingIndicator:N,loadingPosition:P,variant:y}),R=function(n){var t=n.loading,o=n.loadingPosition,i=n.classes,a={root:["root",t&&"loading"],startIcon:[t&&"startIconLoading".concat((0,s.Z)(o))],endIcon:[t&&"endIconLoading".concat((0,s.Z)(o))],loadingIndicator:["loadingIndicator",t&&"loadingIndicator".concat((0,s.Z)(o))]},r=(0,l.Z)(a,f,i);return(0,e.Z)({},i,r)}(M);return(0,m.jsx)(x,(0,e.Z)({disabled:g||I,id:w,ref:t},S,{variant:y,classes:R,ownerState:M,children:"end"===M.loadingPosition?(0,m.jsxs)(r.Fragment,{children:[i,I&&(0,m.jsx)(b,{className:R.loadingIndicator,ownerState:M,children:N})]}):(0,m.jsxs)(r.Fragment,{children:[I&&(0,m.jsx)(b,{className:R.loadingIndicator,ownerState:M,children:N}),i]})}))}))},7887:function(n,t,o){o.d(t,{Z:function(){return f}});var i=o(1048),a=o(32793),e=o(50390),r=o(44977),s=o(50076),c=o(8208),l=o(15573),d=o(10594);function u(n){return(0,d.Z)("MuiDialogActions",n)}(0,o(43349).Z)("MuiDialogActions",["root","spacing"]);var g=o(62559),v=["className","disableSpacing"],p=(0,c.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(n,t){var o=n.ownerState;return[t.root,!o.disableSpacing&&t.spacing]}})((function(n){var t=n.ownerState;return(0,a.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!t.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),f=e.forwardRef((function(n,t){var o=(0,l.Z)({props:n,name:"MuiDialogActions"}),e=o.className,c=o.disableSpacing,d=void 0!==c&&c,f=(0,i.Z)(o,v),Z=(0,a.Z)({},o,{disableSpacing:d}),m=function(n){var t=n.classes,o={root:["root",!n.disableSpacing&&"spacing"]};return(0,s.Z)(o,u,t)}(Z);return(0,g.jsx)(p,(0,a.Z)({className:(0,r.Z)(m.root,e),ownerState:Z,ref:t},f))}))},23473:function(n,t,o){o.d(t,{Z:function(){return f}});var i=o(1048),a=o(32793),e=o(50390),r=o(50076),s=o(8208),c=o(15573),l=o(35477),d=o(10594);function u(n){return(0,d.Z)("MuiDialogContentText",n)}(0,o(43349).Z)("MuiDialogContentText",["root"]);var g=o(62559),v=["children"],p=(0,s.ZP)(l.Z,{shouldForwardProp:function(n){return(0,s.FO)(n)||"classes"===n},name:"MuiDialogContentText",slot:"Root",overridesResolver:function(n,t){return t.root}})({}),f=e.forwardRef((function(n,t){var o=(0,c.Z)({props:n,name:"MuiDialogContentText"}),e=(0,i.Z)(o,v),s=function(n){var t=n.classes,o=(0,r.Z)({root:["root"]},u,t);return(0,a.Z)({},t,o)}(e);return(0,g.jsx)(p,(0,a.Z)({component:"p",variant:"body1",color:"text.secondary",ref:t,ownerState:e},o,{classes:s}))}))}}]); +//# sourceMappingURL=3421.a52d7b4f.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3421.aa3eeb04.chunk.js.map b/portal-ui/build/static/js/3421.a52d7b4f.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/3421.aa3eeb04.chunk.js.map rename to portal-ui/build/static/js/3421.a52d7b4f.chunk.js.map index deeb230d0..f2f70354b 100644 --- a/portal-ui/build/static/js/3421.aa3eeb04.chunk.js.map +++ b/portal-ui/build/static/js/3421.a52d7b4f.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/3421.aa3eeb04.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Tenants/TenantDetails/DeletePVC.tsx","../node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","../node_modules/@mui/lab/LoadingButton/LoadingButton.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport { connect } from \"react-redux\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\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\";\n\ninterface IDeletePVC {\n deleteOpen: boolean;\n selectedPVC: IStoragePVCs;\n closeDeleteModalAndRefresh: (refreshList: boolean) => any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeletePVC = ({\n deleteOpen,\n selectedPVC,\n closeDeleteModalAndRefresh,\n setErrorSnackMessage,\n}: IDeletePVC) => {\n const [retypePVC, setRetypePVC] = useState(\"\");\n\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => 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 setErrorSnackMessage({\n errorMessage: \"PVC name is incorrect\",\n detailedError: \"\",\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\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default connector(DeletePVC);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLoadingButtonUtilityClass(slot) {\n return generateUtilityClass('MuiLoadingButton', slot);\n}\nconst loadingButtonClasses = generateUtilityClasses('MuiLoadingButton', ['root', 'loading', 'loadingIndicator', 'loadingIndicatorCenter', 'loadingIndicatorStart', 'loadingIndicatorEnd', 'endIconLoadingEnd', 'startIconLoadingStart']);\nexport default loadingButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"disabled\", \"id\", \"loading\", \"loadingIndicator\", \"loadingPosition\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@mui/utils';\nimport { capitalize, unstable_useId as useId } from '@mui/material/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading'],\n startIcon: [loading && `startIconLoading${capitalize(loadingPosition)}`],\n endIcon: [loading && `endIconLoading${capitalize(loadingPosition)}`],\n loadingIndicator: ['loadingIndicator', loading && `loadingIndicator${capitalize(loadingPosition)}`]\n };\n const composedClasses = composeClasses(slots, getLoadingButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n}; // TODO use `import { rootShouldForwardProp } from '../styles/styled';` once move to core\n\n\nconst rootShouldForwardProp = prop => prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as' && prop !== 'classes';\n\nconst LoadingButtonRoot = styled(Button, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiLoadingButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root, styles.startIconLoadingStart && {\n [`& .${loadingButtonClasses.startIconLoadingStart}`]: styles.startIconLoadingStart\n }, styles.endIconLoadingEnd && {\n [`& .${loadingButtonClasses.endIconLoadingEnd}`]: styles.endIconLoadingEnd\n }];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n}, ownerState.loadingPosition === 'center' && {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${loadingButtonClasses.loading}`]: {\n color: 'transparent'\n }\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginRight: -8\n }\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginLeft: -8\n }\n}));\nconst LoadingButtonLoadingIndicator = styled('div', {\n name: 'MuiLoadingButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.loadingIndicator, styles[`loadingIndicator${capitalize(ownerState.loadingPosition)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'absolute',\n visibility: 'visible',\n display: 'flex'\n}, ownerState.loadingPosition === 'start' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n left: 14\n}, ownerState.loadingPosition === 'start' && ownerState.variant === 'text' && {\n left: 6\n}, ownerState.loadingPosition === 'center' && {\n left: '50%',\n transform: 'translate(-50%)',\n color: theme.palette.action.disabled\n}, ownerState.loadingPosition === 'end' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n right: 14\n}, ownerState.loadingPosition === 'end' && ownerState.variant === 'text' && {\n right: 6\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n position: 'relative',\n left: -10\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n position: 'relative',\n right: -10\n}));\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLoadingButton'\n });\n\n const {\n children,\n disabled = false,\n id: idProp,\n loading = false,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp != null ? loadingIndicatorProp : /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n\n const ownerState = _extends({}, props, {\n disabled,\n loading,\n loadingIndicator,\n loadingPosition,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LoadingButtonRoot, _extends({\n disabled: disabled || loading,\n id: id,\n ref: ref\n }, other, {\n variant: variant,\n classes: classes,\n ownerState: ownerState,\n children: ownerState.loadingPosition === 'end' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children, loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n }), children]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LoadingButton.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * @ignore\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the loading indicator is shown.\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default we render a `CircularProgress` that is labelled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: chainPropTypes(PropTypes.oneOf(['start', 'end', 'center']), props => {\n if (props.loadingPosition === 'start' && !props.startIcon) {\n return new Error(`MUI: The loadingPosition=\"start\" should be used in combination with startIcon.`);\n }\n\n if (props.loadingPosition === 'end' && !props.endIcon) {\n return new Error(`MUI: The loadingPosition=\"end\" should be used in combination with endIcon.`);\n }\n\n return null;\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes.oneOf(['contained', 'outlined', 'text'])\n} : void 0;\nexport default LoadingButton;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n\n const ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * 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 DialogContentText;"],"names":["inputStyles","makeStyles","theme","createStyles","inputFieldStyles","InputField","props","classes","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","label","onChange","value","id","name","type","autoComplete","disabled","multiline","tooltip","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","className","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","fullWidth","helperText","inputRebase","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","root","sx","padding","titleText","closeContainer","closeButton","content","actions","cancelButton","variant","color","confirmButton","loading","loadingPosition","startIcon","connector","connect","setErrorSnackMessage","deleteOpen","selectedPVC","closeDeleteModalAndRefresh","retypePVC","setRetypePVC","useApi","deleteLoading","invokeDeleteApi","namespace","tenant","errorMessage","detailedError","item","xs","target","getLoadingButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","LoadingButtonRoot","styled","Button","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","startIconLoadingStart","loadingButtonClasses","endIconLoadingEnd","ownerState","_extends","transition","transitions","create","duration","short","opacity","marginRight","marginLeft","LoadingButtonLoadingIndicator","loadingIndicator","capitalize","visibility","display","left","transform","palette","action","React","inProps","ref","useThemeProps","children","idProp","loadingIndicatorProp","other","_objectWithoutPropertiesLoose","useId","_jsx","CircularProgress","slots","endIcon","composedClasses","composeClasses","useUtilityClasses","_jsxs","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","spacing","alignItems","justifyContent","flex","getDialogContentTextUtilityClass","DialogContentTextRoot","Typography","component"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/3421.a52d7b4f.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Tenants/TenantDetails/DeletePVC.tsx","../node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","../node_modules/@mui/lab/LoadingButton/LoadingButton.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport { connect } from \"react-redux\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\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\";\n\ninterface IDeletePVC {\n deleteOpen: boolean;\n selectedPVC: IStoragePVCs;\n closeDeleteModalAndRefresh: (refreshList: boolean) => any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeletePVC = ({\n deleteOpen,\n selectedPVC,\n closeDeleteModalAndRefresh,\n setErrorSnackMessage,\n}: IDeletePVC) => {\n const [retypePVC, setRetypePVC] = useState(\"\");\n\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => 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 setErrorSnackMessage({\n errorMessage: \"PVC name is incorrect\",\n detailedError: \"\",\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\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default connector(DeletePVC);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLoadingButtonUtilityClass(slot) {\n return generateUtilityClass('MuiLoadingButton', slot);\n}\nconst loadingButtonClasses = generateUtilityClasses('MuiLoadingButton', ['root', 'loading', 'loadingIndicator', 'loadingIndicatorCenter', 'loadingIndicatorStart', 'loadingIndicatorEnd', 'endIconLoadingEnd', 'startIconLoadingStart']);\nexport default loadingButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"disabled\", \"id\", \"loading\", \"loadingIndicator\", \"loadingPosition\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@mui/utils';\nimport { capitalize, unstable_useId as useId } from '@mui/material/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading'],\n startIcon: [loading && `startIconLoading${capitalize(loadingPosition)}`],\n endIcon: [loading && `endIconLoading${capitalize(loadingPosition)}`],\n loadingIndicator: ['loadingIndicator', loading && `loadingIndicator${capitalize(loadingPosition)}`]\n };\n const composedClasses = composeClasses(slots, getLoadingButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n}; // TODO use `import { rootShouldForwardProp } from '../styles/styled';` once move to core\n\n\nconst rootShouldForwardProp = prop => prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as' && prop !== 'classes';\n\nconst LoadingButtonRoot = styled(Button, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiLoadingButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root, styles.startIconLoadingStart && {\n [`& .${loadingButtonClasses.startIconLoadingStart}`]: styles.startIconLoadingStart\n }, styles.endIconLoadingEnd && {\n [`& .${loadingButtonClasses.endIconLoadingEnd}`]: styles.endIconLoadingEnd\n }];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n}, ownerState.loadingPosition === 'center' && {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${loadingButtonClasses.loading}`]: {\n color: 'transparent'\n }\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginRight: -8\n }\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginLeft: -8\n }\n}));\nconst LoadingButtonLoadingIndicator = styled('div', {\n name: 'MuiLoadingButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.loadingIndicator, styles[`loadingIndicator${capitalize(ownerState.loadingPosition)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'absolute',\n visibility: 'visible',\n display: 'flex'\n}, ownerState.loadingPosition === 'start' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n left: 14\n}, ownerState.loadingPosition === 'start' && ownerState.variant === 'text' && {\n left: 6\n}, ownerState.loadingPosition === 'center' && {\n left: '50%',\n transform: 'translate(-50%)',\n color: theme.palette.action.disabled\n}, ownerState.loadingPosition === 'end' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n right: 14\n}, ownerState.loadingPosition === 'end' && ownerState.variant === 'text' && {\n right: 6\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n position: 'relative',\n left: -10\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n position: 'relative',\n right: -10\n}));\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLoadingButton'\n });\n\n const {\n children,\n disabled = false,\n id: idProp,\n loading = false,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp != null ? loadingIndicatorProp : /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n\n const ownerState = _extends({}, props, {\n disabled,\n loading,\n loadingIndicator,\n loadingPosition,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LoadingButtonRoot, _extends({\n disabled: disabled || loading,\n id: id,\n ref: ref\n }, other, {\n variant: variant,\n classes: classes,\n ownerState: ownerState,\n children: ownerState.loadingPosition === 'end' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children, loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n }), children]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LoadingButton.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * @ignore\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the loading indicator is shown.\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default we render a `CircularProgress` that is labelled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: chainPropTypes(PropTypes.oneOf(['start', 'end', 'center']), props => {\n if (props.loadingPosition === 'start' && !props.startIcon) {\n return new Error(`MUI: The loadingPosition=\"start\" should be used in combination with startIcon.`);\n }\n\n if (props.loadingPosition === 'end' && !props.endIcon) {\n return new Error(`MUI: The loadingPosition=\"end\" should be used in combination with endIcon.`);\n }\n\n return null;\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes.oneOf(['contained', 'outlined', 'text'])\n} : void 0;\nexport default LoadingButton;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n\n const ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * 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 DialogContentText;"],"names":["inputStyles","makeStyles","theme","createStyles","inputFieldStyles","InputField","props","classes","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","label","onChange","value","id","name","type","autoComplete","disabled","multiline","tooltip","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","className","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","fullWidth","helperText","inputRebase","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","root","sx","padding","titleText","closeContainer","closeButton","content","actions","cancelButton","variant","color","confirmButton","loading","loadingPosition","startIcon","connector","connect","setErrorSnackMessage","deleteOpen","selectedPVC","closeDeleteModalAndRefresh","retypePVC","setRetypePVC","useApi","deleteLoading","invokeDeleteApi","namespace","tenant","errorMessage","detailedError","item","xs","target","getLoadingButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","LoadingButtonRoot","styled","Button","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","startIconLoadingStart","loadingButtonClasses","endIconLoadingEnd","ownerState","_extends","transition","transitions","create","duration","short","opacity","marginRight","marginLeft","LoadingButtonLoadingIndicator","loadingIndicator","capitalize","visibility","display","left","transform","palette","action","React","inProps","ref","useThemeProps","children","idProp","loadingIndicatorProp","other","_objectWithoutPropertiesLoose","useId","_jsx","CircularProgress","slots","endIcon","composedClasses","composeClasses","useUtilityClasses","_jsxs","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","spacing","alignItems","justifyContent","flex","getDialogContentTextUtilityClass","DialogContentTextRoot","Typography","component"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3453.9ef32892.chunk.js b/portal-ui/build/static/js/3453.cadd9dca.chunk.js similarity index 98% rename from portal-ui/build/static/js/3453.9ef32892.chunk.js rename to portal-ui/build/static/js/3453.cadd9dca.chunk.js index 6fccea44f..972dafe90 100644 --- a/portal-ui/build/static/js/3453.9ef32892.chunk.js +++ b/portal-ui/build/static/js/3453.cadd9dca.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3453],{92440:function(e,n,s){var t=s(36222),a=s(18489),r=s(50390),i=s(86509),o=s(4285),l=s(49056),c=s(14602),d=s(94187),u=s(35477),m=s(25594),p=s(72462),x=s(97538),h=s(44977),f=s(62559),g=(0,o.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(l.Z);n.Z=(0,o.Z)((function(e){return(0,i.Z)((0,a.Z)((0,a.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},p.OR),p.YI))}))((function(e){var n=e.label,s=void 0===n?"":n,a=e.onChange,i=e.value,o=e.id,l=e.name,p=e.checked,Z=void 0!==p&&p,b=e.disabled,j=void 0!==b&&b,v=e.switchOnly,C=void 0!==v&&v,k=e.tooltip,N=void 0===k?"":k,S=e.description,y=void 0===S?"":S,E=e.classes,M=e.indicatorLabels,w=(0,f.jsxs)(r.Fragment,{children:[!C&&(0,f.jsx)("span",{className:(0,h.Z)(E.indicatorLabel,(0,t.Z)({},E.indicatorLabelOn,!Z)),children:M&&M.length>1?M[1]:"OFF"}),(0,f.jsx)(g,{checked:Z,onChange:a,color:"primary",name:l,inputProps:{"aria-label":"primary checkbox"},disabled:j,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:i}),!C&&(0,f.jsx)("span",{className:(0,h.Z)(E.indicatorLabel,(0,t.Z)({},E.indicatorLabelOn,Z)),children:M?M[0]:"ON"})]});return C?w:(0,f.jsx)("div",{className:E.divContainer,children:(0,f.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[(0,f.jsx)(m.ZP,{item:!0,xs:!0,children:(0,f.jsxs)(m.ZP,{container:!0,children:[(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==s&&(0,f.jsxs)(c.Z,{htmlFor:o,className:E.inputLabel,children:[(0,f.jsx)("span",{children:s}),""!==N&&(0,f.jsx)("div",{className:E.tooltipContainer,children:(0,f.jsx)(d.Z,{title:N,placement:"top-start",children:(0,f.jsx)("div",{className:E.tooltip,children:(0,f.jsx)(x.Z,{})})})})]})}),(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==y&&(0,f.jsx)(u.Z,{component:"p",className:E.fieldDescription,children:y})})]})}),(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:E.switchContainer,children:w})]})})}))},50280:function(e,n,s){var t=s(18489),a=s(50390),r=s(25594),i=s(86509),o=s(4285),l=s(72462),c=s(62559);n.Z=(0,o.Z)((function(e){return(0,i.Z)((0,t.Z)({},l.xx))}))((function(e){var n=e.classes,s=e.label,t=void 0===s?"":s,i=e.content,o=e.multiLine,l=void 0!==o&&o;return(0,c.jsx)(a.Fragment,{children:(0,c.jsxs)(r.ZP,{className:n.prefinedContainer,children:[""!==t&&(0,c.jsx)(r.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:t}),(0,c.jsx)(r.ZP,{item:!0,xs:12,className:n.predefinedList,children:(0,c.jsx)(r.ZP,{item:!0,xs:12,className:l?n.innerContentMultiline:n.innerContent,children:i})})]})})}))},76352:function(e,n,s){s.d(n,{Z:function(){return E}});var t,a=s(23430),r=s(18489),i=s(50390),o=s(34424),l=s(95467),c=s(97771),d=s(84402),u=s(78426),m=s(93085),p=s(86509),x=s(4285),h=s(72462),f=s(44149),g=s(38342),Z=s.n(g),b=s(92125),j=s(19538),v=s(21278),C=s(62559),k=function(){clearInterval(t)},N={displayErrorMessage:f.zb},S=(0,o.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),N)((0,x.Z)((function(e){return(0,p.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var n=e.classes,s=e.modalSnackMessage,r=e.displayErrorMessage,o=e.customStyle,l=(0,i.useState)(!1),c=(0,a.Z)(l,2),d=c[0],u=c[1],m=(0,i.useState)(!1),p=(0,a.Z)(m,2),x=p[0],h=p[1],f=(0,i.useCallback)((function(){h(!1)}),[]);(0,i.useEffect)((function(){x||(r({detailedError:"",errorMessage:""}),u(!1))}),[r,x]),(0,i.useEffect)((function(){""!==s.message&&"error"===s.type&&h(!0)}),[f,s.message,s.type]);var g=Z()(s,"message",""),N=Z()(s,"detailedErrorMsg","");return"error"!==s.type||""===g?null:(0,C.jsx)(i.Fragment,{children:(0,C.jsxs)("div",{className:"".concat(n.modalErrorContainer," ").concat(x?n.modalErrorShow:""),style:o,onMouseOver:k,onMouseLeave:function(){t=setInterval(f,1e4)},children:[(0,C.jsx)("button",{className:n.closeButton,onClick:f,children:(0,C.jsx)(v.Z,{})}),(0,C.jsxs)("div",{className:n.errorTitle,children:[(0,C.jsx)("span",{className:n.messageIcon,children:(0,C.jsx)(j.Z,{})}),(0,C.jsx)("span",{className:n.errorLabel,children:g})]}),""!==N&&(0,C.jsxs)(i.Fragment,{children:[(0,C.jsx)("div",{className:n.detailsContainerLink,children:(0,C.jsxs)("button",{className:n.detailsButton,onClick:function(){u(!d)},children:["Details",(0,C.jsx)(b.Z,{className:"".concat(n.arrowElement," ").concat(d?n.arrowOpen:"")})]})}),(0,C.jsx)("div",{className:"".concat(n.extraDetailsContainer," ").concat(d?n.extraDetailsOpen:""),children:N})]})]})})}))),y=(0,o.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:f.MK}),E=(0,x.Z)((function(e){return(0,p.Z)((0,r.Z)((0,r.Z)({},h.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))(y((function(e){var n=e.onClose,s=e.modalOpen,t=e.title,o=e.children,p=e.classes,x=e.wideLimit,h=void 0===x||x,f=e.modalSnackMessage,g=e.noContentPadding,Z=e.setModalSnackMessage,b=e.titleIcon,j=void 0===b?null:b,k=(0,i.useState)(!1),N=(0,a.Z)(k,2),y=N[0],E=N[1];(0,i.useEffect)((function(){Z("")}),[Z]),(0,i.useEffect)((function(){if(f){if(""===f.message)return void E(!1);"error"!==f.type&&E(!0)}}),[f]);var M=h?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return f&&(w=f.detailedErrorMsg,(""===f.detailedErrorMsg||f.detailedErrorMsg.length<5)&&(w=f.message)),(0,C.jsxs)(d.Z,(0,r.Z)((0,r.Z)({open:s,classes:p},M),{},{scroll:"paper",onClose:function(e,s){"backdropClick"!==s&&n()},className:p.root,children:[(0,C.jsxs)(u.Z,{className:p.title,children:[(0,C.jsxs)("div",{className:p.titleText,children:[j," ",t]}),(0,C.jsx)("div",{className:p.closeContainer,children:(0,C.jsx)(l.Z,{"aria-label":"close",className:p.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,C.jsx)(v.Z,{})})})]}),(0,C.jsx)(S,{}),(0,C.jsx)(c.Z,{open:y,className:p.snackBarModal,onClose:function(){E(!1),Z("")},message:w,ContentProps:{className:"".concat(p.snackBar," ").concat(f&&"error"===f.type?p.errorSnackBar:"")},autoHideDuration:f&&"error"===f.type?1e4:5e3}),(0,C.jsx)(m.Z,{className:g?"":p.content,children:o})]}))})))},71094:function(e,n,s){var t=s(35531),a=s(23430),r=s(18489),i=s(50390),o=s(34424),l=s(86509),c=s(4285),d=s(81378),u=s(38342),m=s.n(u),p=s(46981),x=s(25594),h=s(25233),f=s(72462),g=s(44149),Z=s(30324),b=s(17777),j=s(23165),v=s(62559),C={setModalErrorSnackMessage:g.zb},k=(0,o.$j)(null,C);n.Z=(0,c.Z)((function(e){return(0,l.Z)((0,r.Z)((0,r.Z)({paper:{display:"flex",overflow:"auto",flexDirection:"column",boxShadow:"none",border:0},tableBlock:(0,r.Z)({},f.VX.tableBlock),searchBox:{flex:1}},f.OR),{},{actionsTitle:{fontSize:14,alignSelf:"center",minWidth:160,marginRight:10},noFound:{textAlign:"center",padding:e.spacing(3),border:"1px solid #EAEAEA",fontSize:".9rem"}},f.jY))}))(k((function(e){var n=e.classes,s=e.selectedUsers,r=e.setSelectedUsers,o=e.editMode,l=void 0!==o&&o,c=e.setModalErrorSnackMessage,u=(0,i.useState)([]),f=(0,a.Z)(u,2),g=f[0],C=f[1],k=(0,i.useState)(!1),N=(0,a.Z)(k,2),S=N[0],y=N[1],E=(0,i.useState)(""),M=(0,a.Z)(E,2),w=M[0],F=M[1],L=(0,i.useCallback)((function(){Z.Z.invoke("GET","/api/v1/users").then((function(e){var n=m()(e,"users",[]);n||(n=[]),C(n.sort(h.LQ)),y(!1)})).catch((function(e){c(e),y(!1)}))}),[c]);(0,i.useEffect)((function(){y(!0)}),[]),(0,i.useEffect)((function(){S&&L()}),[S,L]);var B=s||[],P=g.filter((function(e){return e.accessKey.includes(w)}));return(0,v.jsx)(i.Fragment,{children:(0,v.jsx)(x.ZP,{item:!0,xs:12,children:(0,v.jsxs)(p.Z,{className:n.paper,children:[S&&(0,v.jsx)(d.Z,{}),null!==g&&g.length>0?(0,v.jsxs)(i.Fragment,{children:[(0,v.jsxs)(x.ZP,{item:!0,xs:12,className:n.actionsTray,children:[(0,v.jsx)("label",{className:n.actionsTitle,children:l?"Edit Members":"Assign Users"}),(0,v.jsx)("div",{className:n.searchBox,children:(0,v.jsx)(j.Z,{placeholder:"Filter Users",adornmentPosition:"end",onChange:F,value:w})})]}),(0,v.jsx)(x.ZP,{item:!0,xs:12,className:n.tableBlock,children:(0,v.jsx)(b.Z,{columns:[{label:"Access Key",elementKey:"accessKey"}],onSelect:function(e){var n=e.target,s=n.value,a=n.checked,i=(0,t.Z)(B);return a?i.push(s):i=i.filter((function(e){return e!==s})),r(i),i},selectedItems:B,isLoading:S,records:P,entityName:"Users",idField:"accessKey",customPaperHeight:n.multiSelectTable})})]}):(0,v.jsx)("div",{className:n.noFound,children:"No Users to display"})]})})})})))}}]); -//# sourceMappingURL=3453.9ef32892.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3453],{92440:function(e,n,s){var t=s(36222),a=s(18489),r=s(50390),i=s(86509),o=s(4285),l=s(49056),c=s(36554),d=s(94187),u=s(35477),m=s(25594),p=s(72462),x=s(97538),h=s(44977),f=s(62559),g=(0,o.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(l.Z);n.Z=(0,o.Z)((function(e){return(0,i.Z)((0,a.Z)((0,a.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},p.OR),p.YI))}))((function(e){var n=e.label,s=void 0===n?"":n,a=e.onChange,i=e.value,o=e.id,l=e.name,p=e.checked,Z=void 0!==p&&p,b=e.disabled,j=void 0!==b&&b,v=e.switchOnly,C=void 0!==v&&v,k=e.tooltip,N=void 0===k?"":k,S=e.description,y=void 0===S?"":S,E=e.classes,M=e.indicatorLabels,w=(0,f.jsxs)(r.Fragment,{children:[!C&&(0,f.jsx)("span",{className:(0,h.Z)(E.indicatorLabel,(0,t.Z)({},E.indicatorLabelOn,!Z)),children:M&&M.length>1?M[1]:"OFF"}),(0,f.jsx)(g,{checked:Z,onChange:a,color:"primary",name:l,inputProps:{"aria-label":"primary checkbox"},disabled:j,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:i}),!C&&(0,f.jsx)("span",{className:(0,h.Z)(E.indicatorLabel,(0,t.Z)({},E.indicatorLabelOn,Z)),children:M?M[0]:"ON"})]});return C?w:(0,f.jsx)("div",{className:E.divContainer,children:(0,f.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[(0,f.jsx)(m.ZP,{item:!0,xs:!0,children:(0,f.jsxs)(m.ZP,{container:!0,children:[(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==s&&(0,f.jsxs)(c.Z,{htmlFor:o,className:E.inputLabel,children:[(0,f.jsx)("span",{children:s}),""!==N&&(0,f.jsx)("div",{className:E.tooltipContainer,children:(0,f.jsx)(d.Z,{title:N,placement:"top-start",children:(0,f.jsx)("div",{className:E.tooltip,children:(0,f.jsx)(x.Z,{})})})})]})}),(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==y&&(0,f.jsx)(u.Z,{component:"p",className:E.fieldDescription,children:y})})]})}),(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:E.switchContainer,children:w})]})})}))},50280:function(e,n,s){var t=s(18489),a=s(50390),r=s(25594),i=s(86509),o=s(4285),l=s(72462),c=s(62559);n.Z=(0,o.Z)((function(e){return(0,i.Z)((0,t.Z)({},l.xx))}))((function(e){var n=e.classes,s=e.label,t=void 0===s?"":s,i=e.content,o=e.multiLine,l=void 0!==o&&o;return(0,c.jsx)(a.Fragment,{children:(0,c.jsxs)(r.ZP,{className:n.prefinedContainer,children:[""!==t&&(0,c.jsx)(r.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:t}),(0,c.jsx)(r.ZP,{item:!0,xs:12,className:n.predefinedList,children:(0,c.jsx)(r.ZP,{item:!0,xs:12,className:l?n.innerContentMultiline:n.innerContent,children:i})})]})})}))},76352:function(e,n,s){s.d(n,{Z:function(){return E}});var t,a=s(23430),r=s(18489),i=s(50390),o=s(34424),l=s(95467),c=s(97771),d=s(84402),u=s(78426),m=s(93085),p=s(86509),x=s(4285),h=s(72462),f=s(44149),g=s(38342),Z=s.n(g),b=s(92125),j=s(19538),v=s(21278),C=s(62559),k=function(){clearInterval(t)},N={displayErrorMessage:f.zb},S=(0,o.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),N)((0,x.Z)((function(e){return(0,p.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var n=e.classes,s=e.modalSnackMessage,r=e.displayErrorMessage,o=e.customStyle,l=(0,i.useState)(!1),c=(0,a.Z)(l,2),d=c[0],u=c[1],m=(0,i.useState)(!1),p=(0,a.Z)(m,2),x=p[0],h=p[1],f=(0,i.useCallback)((function(){h(!1)}),[]);(0,i.useEffect)((function(){x||(r({detailedError:"",errorMessage:""}),u(!1))}),[r,x]),(0,i.useEffect)((function(){""!==s.message&&"error"===s.type&&h(!0)}),[f,s.message,s.type]);var g=Z()(s,"message",""),N=Z()(s,"detailedErrorMsg","");return"error"!==s.type||""===g?null:(0,C.jsx)(i.Fragment,{children:(0,C.jsxs)("div",{className:"".concat(n.modalErrorContainer," ").concat(x?n.modalErrorShow:""),style:o,onMouseOver:k,onMouseLeave:function(){t=setInterval(f,1e4)},children:[(0,C.jsx)("button",{className:n.closeButton,onClick:f,children:(0,C.jsx)(v.Z,{})}),(0,C.jsxs)("div",{className:n.errorTitle,children:[(0,C.jsx)("span",{className:n.messageIcon,children:(0,C.jsx)(j.Z,{})}),(0,C.jsx)("span",{className:n.errorLabel,children:g})]}),""!==N&&(0,C.jsxs)(i.Fragment,{children:[(0,C.jsx)("div",{className:n.detailsContainerLink,children:(0,C.jsxs)("button",{className:n.detailsButton,onClick:function(){u(!d)},children:["Details",(0,C.jsx)(b.Z,{className:"".concat(n.arrowElement," ").concat(d?n.arrowOpen:"")})]})}),(0,C.jsx)("div",{className:"".concat(n.extraDetailsContainer," ").concat(d?n.extraDetailsOpen:""),children:N})]})]})})}))),y=(0,o.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:f.MK}),E=(0,x.Z)((function(e){return(0,p.Z)((0,r.Z)((0,r.Z)({},h.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))(y((function(e){var n=e.onClose,s=e.modalOpen,t=e.title,o=e.children,p=e.classes,x=e.wideLimit,h=void 0===x||x,f=e.modalSnackMessage,g=e.noContentPadding,Z=e.setModalSnackMessage,b=e.titleIcon,j=void 0===b?null:b,k=(0,i.useState)(!1),N=(0,a.Z)(k,2),y=N[0],E=N[1];(0,i.useEffect)((function(){Z("")}),[Z]),(0,i.useEffect)((function(){if(f){if(""===f.message)return void E(!1);"error"!==f.type&&E(!0)}}),[f]);var M=h?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return f&&(w=f.detailedErrorMsg,(""===f.detailedErrorMsg||f.detailedErrorMsg.length<5)&&(w=f.message)),(0,C.jsxs)(d.Z,(0,r.Z)((0,r.Z)({open:s,classes:p},M),{},{scroll:"paper",onClose:function(e,s){"backdropClick"!==s&&n()},className:p.root,children:[(0,C.jsxs)(u.Z,{className:p.title,children:[(0,C.jsxs)("div",{className:p.titleText,children:[j," ",t]}),(0,C.jsx)("div",{className:p.closeContainer,children:(0,C.jsx)(l.Z,{"aria-label":"close",className:p.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,C.jsx)(v.Z,{})})})]}),(0,C.jsx)(S,{}),(0,C.jsx)(c.Z,{open:y,className:p.snackBarModal,onClose:function(){E(!1),Z("")},message:w,ContentProps:{className:"".concat(p.snackBar," ").concat(f&&"error"===f.type?p.errorSnackBar:"")},autoHideDuration:f&&"error"===f.type?1e4:5e3}),(0,C.jsx)(m.Z,{className:g?"":p.content,children:o})]}))})))},71094:function(e,n,s){var t=s(35531),a=s(23430),r=s(18489),i=s(50390),o=s(34424),l=s(86509),c=s(4285),d=s(81378),u=s(38342),m=s.n(u),p=s(46981),x=s(25594),h=s(25233),f=s(72462),g=s(44149),Z=s(30324),b=s(17777),j=s(23165),v=s(62559),C={setModalErrorSnackMessage:g.zb},k=(0,o.$j)(null,C);n.Z=(0,c.Z)((function(e){return(0,l.Z)((0,r.Z)((0,r.Z)({paper:{display:"flex",overflow:"auto",flexDirection:"column",boxShadow:"none",border:0},tableBlock:(0,r.Z)({},f.VX.tableBlock),searchBox:{flex:1}},f.OR),{},{actionsTitle:{fontSize:14,alignSelf:"center",minWidth:160,marginRight:10},noFound:{textAlign:"center",padding:e.spacing(3),border:"1px solid #EAEAEA",fontSize:".9rem"}},f.jY))}))(k((function(e){var n=e.classes,s=e.selectedUsers,r=e.setSelectedUsers,o=e.editMode,l=void 0!==o&&o,c=e.setModalErrorSnackMessage,u=(0,i.useState)([]),f=(0,a.Z)(u,2),g=f[0],C=f[1],k=(0,i.useState)(!1),N=(0,a.Z)(k,2),S=N[0],y=N[1],E=(0,i.useState)(""),M=(0,a.Z)(E,2),w=M[0],F=M[1],L=(0,i.useCallback)((function(){Z.Z.invoke("GET","/api/v1/users").then((function(e){var n=m()(e,"users",[]);n||(n=[]),C(n.sort(h.LQ)),y(!1)})).catch((function(e){c(e),y(!1)}))}),[c]);(0,i.useEffect)((function(){y(!0)}),[]),(0,i.useEffect)((function(){S&&L()}),[S,L]);var B=s||[],P=g.filter((function(e){return e.accessKey.includes(w)}));return(0,v.jsx)(i.Fragment,{children:(0,v.jsx)(x.ZP,{item:!0,xs:12,children:(0,v.jsxs)(p.Z,{className:n.paper,children:[S&&(0,v.jsx)(d.Z,{}),null!==g&&g.length>0?(0,v.jsxs)(i.Fragment,{children:[(0,v.jsxs)(x.ZP,{item:!0,xs:12,className:n.actionsTray,children:[(0,v.jsx)("label",{className:n.actionsTitle,children:l?"Edit Members":"Assign Users"}),(0,v.jsx)("div",{className:n.searchBox,children:(0,v.jsx)(j.Z,{placeholder:"Filter Users",adornmentPosition:"end",onChange:F,value:w})})]}),(0,v.jsx)(x.ZP,{item:!0,xs:12,className:n.tableBlock,children:(0,v.jsx)(b.Z,{columns:[{label:"Access Key",elementKey:"accessKey"}],onSelect:function(e){var n=e.target,s=n.value,a=n.checked,i=(0,t.Z)(B);return a?i.push(s):i=i.filter((function(e){return e!==s})),r(i),i},selectedItems:B,isLoading:S,records:P,entityName:"Users",idField:"accessKey",customPaperHeight:n.multiSelectTable})})]}):(0,v.jsx)("div",{className:n.noFound,children:"No Users to display"})]})})})})))}}]); +//# sourceMappingURL=3453.cadd9dca.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3453.9ef32892.chunk.js.map b/portal-ui/build/static/js/3453.cadd9dca.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/3453.9ef32892.chunk.js.map rename to portal-ui/build/static/js/3453.cadd9dca.chunk.js.map index 85dcbec45..21bebd0b5 100644 --- a/portal-ui/build/static/js/3453.9ef32892.chunk.js.map +++ b/portal-ui/build/static/js/3453.cadd9dca.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/3453.9ef32892.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Groups/UsersSelectors.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 { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n
\n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n
\n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","import React, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport Paper from \"@mui/material/Paper\";\nimport Grid from \"@mui/material/Grid\";\nimport { UsersList } from \"../Users/types\";\nimport { usersSort } from \"../../../utils/sortFunctions\";\nimport {\n actionsTray,\n selectorsCommon,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport SearchBox from \"../Common/SearchBox\";\n\ninterface IGroupsProps {\n classes: any;\n selectedUsers: string[];\n setSelectedUsers: any;\n editMode?: boolean;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n paper: {\n display: \"flex\",\n overflow: \"auto\",\n flexDirection: \"column\",\n // paddingTop: 15,\n boxShadow: \"none\",\n border: 0,\n },\n\n tableBlock: {\n ...tableStyles.tableBlock,\n },\n searchBox: {\n flex: 1,\n },\n ...actionsTray,\n actionsTitle: {\n fontSize: 14,\n alignSelf: \"center\",\n minWidth: 160,\n marginRight: 10,\n },\n noFound: {\n textAlign: \"center\",\n padding: theme.spacing(3),\n border: \"1px solid #EAEAEA\",\n fontSize: \".9rem\",\n },\n ...selectorsCommon,\n });\n\nconst UsersSelectors = ({\n classes,\n selectedUsers,\n setSelectedUsers,\n editMode = false,\n setModalErrorSnackMessage,\n}: IGroupsProps) => {\n //Local States\n const [records, setRecords] = useState([]);\n const [loading, isLoading] = useState(false);\n const [filter, setFilter] = useState(\"\");\n\n const fetchUsers = useCallback(() => {\n api\n .invoke(\"GET\", `/api/v1/users`)\n .then((res: UsersList) => {\n let users = get(res, \"users\", []);\n\n if (!users) {\n users = [];\n }\n\n setRecords(users.sort(usersSort));\n isLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setModalErrorSnackMessage(err);\n isLoading(false);\n });\n }, [setModalErrorSnackMessage]);\n\n //Effects\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n if (loading) {\n fetchUsers();\n }\n }, [loading, fetchUsers]);\n\n const selUsers = !selectedUsers ? [] : selectedUsers;\n\n //Fetch Actions\n const selectionChanged = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selUsers]; // We clone the selectedGroups array\n\n if (checked) {\n // If the user has checked this field we need to push this to selectedGroupsList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedUsers(elements);\n\n return elements;\n };\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.accessKey.includes(filter)\n );\n\n return (\n \n \n \n {loading && }\n {records !== null && records.length > 0 ? (\n \n \n \n
\n \n
\n
\n \n \n \n
\n ) : (\n
No Users to display
\n )}\n
\n
\n
\n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(UsersSelectors));\n"],"names":["StyledSwitch","withStyles","theme","root","width","height","padding","margin","switchBase","transform","color","palette","common","white","backgroundColor","boxShadow","opacity","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","display","alignItems","justifyContent","Switch","createStyles","divContainer","marginBottom","indicatorLabelOn","fontWeight","indicatorLabel","fontSize","fieldDescription","marginTop","tooltip","actionsTray","fieldBasic","label","onChange","value","id","name","disabled","switchOnly","description","classes","indicatorLabels","switchComponent","className","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","container","item","xs","sm","md","htmlFor","inputLabel","tooltipContainer","title","placement","textAlign","component","predefinedList","content","multiLine","Fragment","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","position","borderLeftWidth","zIndex","left","transitionDuration","modalErrorShow","closeButton","right","cursor","errorTitle","errorLabel","marginRight","messageIcon","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","useState","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","type","get","messageDetails","style","onMouseOver","onMouseLeave","setInterval","onClick","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","deleteDialogStyles","paddingBottom","customDialogSize","maxWidth","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","fullWidth","detailedErrorMsg","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","size","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","flexDirection","tableBlock","tableStyles","searchBox","flex","actionsTitle","alignSelf","minWidth","noFound","spacing","selectorsCommon","selectedUsers","setSelectedUsers","editMode","records","setRecords","loading","isLoading","filter","setFilter","fetchUsers","api","then","res","users","sort","usersSort","catch","err","selUsers","filteredRecords","elementItem","accessKey","includes","placeholder","adornmentPosition","columns","elementKey","onSelect","e","targetD","target","elements","push","element","selectedItems","entityName","idField","customPaperHeight","multiSelectTable"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/3453.cadd9dca.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Groups/UsersSelectors.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 { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n
\n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","import React, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport Paper from \"@mui/material/Paper\";\nimport Grid from \"@mui/material/Grid\";\nimport { UsersList } from \"../Users/types\";\nimport { usersSort } from \"../../../utils/sortFunctions\";\nimport {\n actionsTray,\n selectorsCommon,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport SearchBox from \"../Common/SearchBox\";\n\ninterface IGroupsProps {\n classes: any;\n selectedUsers: string[];\n setSelectedUsers: any;\n editMode?: boolean;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n paper: {\n display: \"flex\",\n overflow: \"auto\",\n flexDirection: \"column\",\n // paddingTop: 15,\n boxShadow: \"none\",\n border: 0,\n },\n\n tableBlock: {\n ...tableStyles.tableBlock,\n },\n searchBox: {\n flex: 1,\n },\n ...actionsTray,\n actionsTitle: {\n fontSize: 14,\n alignSelf: \"center\",\n minWidth: 160,\n marginRight: 10,\n },\n noFound: {\n textAlign: \"center\",\n padding: theme.spacing(3),\n border: \"1px solid #EAEAEA\",\n fontSize: \".9rem\",\n },\n ...selectorsCommon,\n });\n\nconst UsersSelectors = ({\n classes,\n selectedUsers,\n setSelectedUsers,\n editMode = false,\n setModalErrorSnackMessage,\n}: IGroupsProps) => {\n //Local States\n const [records, setRecords] = useState([]);\n const [loading, isLoading] = useState(false);\n const [filter, setFilter] = useState(\"\");\n\n const fetchUsers = useCallback(() => {\n api\n .invoke(\"GET\", `/api/v1/users`)\n .then((res: UsersList) => {\n let users = get(res, \"users\", []);\n\n if (!users) {\n users = [];\n }\n\n setRecords(users.sort(usersSort));\n isLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setModalErrorSnackMessage(err);\n isLoading(false);\n });\n }, [setModalErrorSnackMessage]);\n\n //Effects\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n if (loading) {\n fetchUsers();\n }\n }, [loading, fetchUsers]);\n\n const selUsers = !selectedUsers ? [] : selectedUsers;\n\n //Fetch Actions\n const selectionChanged = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selUsers]; // We clone the selectedGroups array\n\n if (checked) {\n // If the user has checked this field we need to push this to selectedGroupsList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedUsers(elements);\n\n return elements;\n };\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.accessKey.includes(filter)\n );\n\n return (\n \n \n \n {loading && }\n {records !== null && records.length > 0 ? (\n \n \n \n
\n \n
\n
\n \n \n \n
\n ) : (\n
No Users to display
\n )}\n
\n
\n
\n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(UsersSelectors));\n"],"names":["StyledSwitch","withStyles","theme","root","width","height","padding","margin","switchBase","transform","color","palette","common","white","backgroundColor","boxShadow","opacity","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","display","alignItems","justifyContent","Switch","createStyles","divContainer","marginBottom","indicatorLabelOn","fontWeight","indicatorLabel","fontSize","fieldDescription","marginTop","tooltip","actionsTray","fieldBasic","label","onChange","value","id","name","disabled","switchOnly","description","classes","indicatorLabels","switchComponent","className","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","container","item","xs","sm","md","htmlFor","inputLabel","tooltipContainer","title","placement","textAlign","component","predefinedList","content","multiLine","Fragment","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","position","borderLeftWidth","zIndex","left","transitionDuration","modalErrorShow","closeButton","right","cursor","errorTitle","errorLabel","marginRight","messageIcon","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","useState","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","type","get","messageDetails","style","onMouseOver","onMouseLeave","setInterval","onClick","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","deleteDialogStyles","paddingBottom","customDialogSize","maxWidth","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","fullWidth","detailedErrorMsg","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","size","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","flexDirection","tableBlock","tableStyles","searchBox","flex","actionsTitle","alignSelf","minWidth","noFound","spacing","selectorsCommon","selectedUsers","setSelectedUsers","editMode","records","setRecords","loading","isLoading","filter","setFilter","fetchUsers","api","then","res","users","sort","usersSort","catch","err","selUsers","filteredRecords","elementItem","accessKey","includes","placeholder","adornmentPosition","columns","elementKey","onSelect","e","targetD","target","elements","push","element","selectedItems","entityName","idField","customPaperHeight","multiSelectTable"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3474.378d2159.chunk.js.map b/portal-ui/build/static/js/3474.378d2159.chunk.js.map deleted file mode 100644 index 74c4e7354..000000000 --- a/portal-ui/build/static/js/3474.378d2159.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/3474.378d2159.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/License/LicenseModal.tsx","screens/Console/License/ActivationModal.tsx","screens/Console/License/utils.ts","screens/Console/License/LicensePlans.tsx","screens/Console/License/License.tsx","icons/VerifiedIcon.tsx","screens/Console/Support/RegisterStatus.tsx","../node_modules/@mui/icons-material/CheckCircle.js","../node_modules/@mui/icons-material/LockOutlined.js","../node_modules/@mui/icons-material/PersonOutlineOutlined.js","../node_modules/@mui/material/Link/linkClasses.js","../node_modules/@mui/material/Link/Link.js","../node_modules/@mui/material/internal/switchBaseClasses.js","../node_modules/@mui/material/internal/SwitchBase.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\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 { containerForHeader } from \"../Common/FormComponents/common/styleLibrary\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport Typography from \"@mui/material/Typography\";\nimport React from \"react\";\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 ...containerForHeader(theme.spacing(4)),\n });\n\ninterface ILicenseModalProps {\n classes: any;\n open: boolean;\n closeModal: () => void;\n}\n\nconst LicenseModal = ({ classes, open, closeModal }: ILicenseModalProps) => {\n return open ? (\n {\n closeModal();\n }}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n {\" \"}\n \n \n \n GNU AFFERO GENERAL PUBLIC LICENSE\n \n

Version 3, 19 November 2007

\n
\n \n

\n Copyright © 2007 Free Software Foundation, Inc. <\n \n https://fsf.org/\n \n >\n

\n

\n {\" \"}\n Everyone is permitted to copy and distribute verbatim copies of this\n license document, but changing it is not allowed.\n

\n

Preamble

\n

\n The GNU Affero General Public License is a free, copyleft license\n for software and other kinds of works, specifically designed to\n ensure cooperation with the community in the case of network server\n software.\n

\n\n

\n The licenses for most software and other practical works are\n designed to take away your freedom to share and change the works. By\n contrast, our General Public Licenses are intended to guarantee your\n freedom to share and change all versions of a program--to make sure\n it remains free software for all its users.\n

\n\n

\n When we speak of free software, we are referring to freedom, not\n price. Our General Public Licenses are designed to make sure that\n you have the freedom to distribute copies of free software (and\n charge for them if you wish), that you receive source code or can\n get it if you want it, that you can change the software or use\n pieces of it in new free programs, and that you know you can do\n these things.\n

\n\n

\n Developers that use our General Public Licenses protect your rights\n with two steps: (1) assert copyright on the software, and (2) offer\n you this License which gives you legal permission to copy,\n distribute and/or modify the software.\n

\n\n

\n A secondary benefit of defending all users' freedom is that\n improvements made in alternate versions of the program, if they\n receive widespread use, become available for other developers to\n incorporate. Many developers of free software are heartened and\n encouraged by the resulting cooperation. However, in the case of\n software used on network servers, this result may fail to come\n about. The GNU General Public License permits making a modified\n version and letting the public access it on a server without ever\n releasing its source code to the public.\n

\n\n

\n The GNU Affero General Public License is designed specifically to\n ensure that, in such cases, the modified source code becomes\n available to the community. It requires the operator of a network\n server to provide the source code of the modified version running\n there to the users of that server. Therefore, public use of a\n modified version, on a publicly accessible server, gives the public\n access to the source code of the modified version.\n

\n\n

\n An older license, called the Affero General Public License and\n published by Affero, was designed to accomplish similar goals. This\n is a different license, not a version of the Affero GPL, but Affero\n has released a new version of the Affero GPL which permits\n relicensing under this license.\n

\n\n

\n The precise terms and conditions for copying, distribution and\n modification follow.\n

\n\n

TERMS AND CONDITIONS

\n

0. Definitions.

\n

\n "This License" refers to version 3 of the GNU Affero\n General Public License.\n

\n\n

\n "Copyright" also means copyright-like laws that apply to\n other kinds of works, such as semiconductor masks.\n

\n\n

\n "The Program" refers to any copyrightable work licensed\n under this License. Each licensee is addressed as "you".\n "Licensees" and "recipients" may be individuals\n or organizations.\n

\n\n

\n To "modify" a work means to copy from or adapt all or part\n of the work in a fashion requiring copyright permission, other than\n the making of an exact copy. The resulting work is called a\n "modified version" of the earlier work or a work\n "based on" the earlier work.\n

\n\n

\n A "covered work" means either the unmodified Program or a\n work based on the Program.\n

\n\n

\n To "propagate" a work means to do anything with it that,\n without permission, would make you directly or secondarily liable\n for infringement under applicable copyright law, except executing it\n on a computer or modifying a private copy. Propagation includes\n copying, distribution (with or without modification), making\n available to the public, and in some countries other activities as\n well.\n

\n\n

\n To "convey" a work means any kind of propagation that\n enables other parties to make or receive copies. Mere interaction\n with a user through a computer network, with no transfer of a copy,\n is not conveying.\n

\n\n

\n An interactive user interface displays "Appropriate Legal\n Notices" to the extent that it includes a convenient and\n prominently visible feature that (1) displays an appropriate\n copyright notice, and (2) tells the user that there is no warranty\n for the work (except to the extent that warranties are provided),\n that licensees may convey the work under this License, and how to\n view a copy of this License. If the interface presents a list of\n user commands or options, such as a menu, a prominent item in the\n list meets this criterion.\n

\n\n

1. Source Code.

\n

\n The "source code" for a work means the preferred form of\n the work for making modifications to it. "Object code"\n means any non-source form of a work.\n

\n\n

\n A "Standard Interface" means an interface that either is\n an official standard defined by a recognized standards body, or, in\n the case of interfaces specified for a particular programming\n language, one that is widely used among developers working in that\n language.\n

\n\n

\n The "System Libraries" of an executable work include\n anything, other than the work as a whole, that (a) is included in\n the normal form of packaging a Major Component, but which is not\n part of that Major Component, and (b) serves only to enable use of\n the work with that Major Component, or to implement a Standard\n Interface for which an implementation is available to the public in\n source code form. A "Major Component", in this context,\n means a major essential component (kernel, window system, and so on)\n of the specific operating system (if any) on which the executable\n work runs, or a compiler used to produce the work, or an object code\n interpreter used to run it.\n

\n\n

\n The "Corresponding Source" for a work in object code form\n means all the source code needed to generate, install, and (for an\n executable work) run the object code and to modify the work,\n including scripts to control those activities. However, it does not\n include the work's System Libraries, or general-purpose tools or\n generally available free programs which are used unmodified in\n performing those activities but which are not part of the work. For\n example, Corresponding Source includes interface definition files\n associated with source files for the work, and the source code for\n shared libraries and dynamically linked subprograms that the work is\n specifically designed to require, such as by intimate data\n communication or control flow between those subprograms and other\n parts of the work.\n

\n\n

\n The Corresponding Source need not include anything that users can\n regenerate automatically from other parts of the Corresponding\n Source.\n

\n\n

\n The Corresponding Source for a work in source code form is that same\n work.\n

\n\n

2. Basic Permissions.

\n

\n All rights granted under this License are granted for the term of\n copyright on the Program, and are irrevocable provided the stated\n conditions are met. This License explicitly affirms your unlimited\n permission to run the unmodified Program. The output from running a\n covered work is covered by this License only if the output, given\n its content, constitutes a covered work. This License acknowledges\n your rights of fair use or other equivalent, as provided by\n copyright law.\n

\n

\n You may make, run and propagate covered works that you do not\n convey, without conditions so long as your license otherwise remains\n in force. You may convey covered works to others for the sole\n purpose of having them make modifications exclusively for you, or\n provide you with facilities for running those works, provided that\n you comply with the terms of this License in conveying all material\n for which you do not control copyright. Those thus making or running\n the covered works for you must do so exclusively on your behalf,\n under your direction and control, on terms that prohibit them from\n making any copies of your copyrighted material outside their\n relationship with you.\n

\n

\n Conveying under any other circumstances is permitted solely under\n the conditions stated below. Sublicensing is not allowed; section 10\n makes it unnecessary.\n

\n

\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n

\n

\n No covered work shall be deemed part of an effective technological\n measure under any applicable law fulfilling obligations under\n article 11 of the WIPO copyright treaty adopted on 20 December 1996,\n or similar laws prohibiting or restricting circumvention of such\n measures.\n

\n

\n When you convey a covered work, you waive any legal power to forbid\n circumvention of technological measures to the extent such\n circumvention is effected by exercising rights under this License\n with respect to the covered work, and you disclaim any intention to\n limit operation or modification of the work as a means of enforcing,\n against the work's users, your or third parties' legal rights to\n forbid circumvention of technological measures.\n

\n

4. Conveying Verbatim Copies.

\n

\n You may convey verbatim copies of the Program's source code as you\n receive it, in any medium, provided that you conspicuously and\n appropriately publish on each copy an appropriate copyright notice;\n keep intact all notices stating that this License and any\n non-permissive terms added in accord with section 7 apply to the\n code; keep intact all notices of the absence of any warranty; and\n give all recipients a copy of this License along with the Program.\n

\n

\n You may charge any price or no price for each copy that you convey,\n and you may offer support or warranty protection for a fee.\n

\n

5. Conveying Modified Source Versions.

\n

\n You may convey a work based on the Program, or the modifications to\n produce it from the Program, in the form of source code under the\n terms of section 4, provided that you also meet all of these\n conditions:\n

\n

\n

    \n
  • \n a) The work must carry prominent notices stating that you\n modified it, and giving a relevant date.\n
  • \n
  • \n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under\n section 7. This requirement modifies the requirement in section\n 4 to "keep intact all notices".\n
  • \n
  • \n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section\n 7 additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n
  • \n
  • \n d) If the work has interactive user interfaces, each must\n display Appropriate Legal Notices; however, if the Program has\n interactive interfaces that do not display Appropriate Legal\n Notices, your work need not make them do so.\n
  • \n
\n

\n

\n A compilation of a covered work with other separate and independent\n works, which are not by their nature extensions of the covered work,\n and which are not combined with it such as to form a larger program,\n in or on a volume of a storage or distribution medium, is called an\n "aggregate" if the compilation and its resulting copyright\n are not used to limit the access or legal rights of the\n compilation's users beyond what the individual works permit.\n Inclusion of a covered work in an aggregate does not cause this\n License to apply to the other parts of the aggregate.\n

\n

6. Conveying Non-Source Forms.

\n

\n You may convey a covered work in object code form under the terms of\n sections 4 and 5, provided that you also convey the machine-readable\n Corresponding Source under the terms of this License, in one of\n these ways:\n

\n

\n

    \n
  • \n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n
  • \n
  • \n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that\n product model, to give anyone who possesses the object code\n either (1) a copy of the Corresponding Source for all the\n software in the product that is covered by this License, on a\n durable physical medium customarily used for software\n interchange, for a price no more than your reasonable cost of\n physically performing this conveying of source, or (2) access to\n copy the Corresponding Source from a network server at no\n charge.\n
  • \n
  • \n c) Convey individual copies of the object code with a copy of\n the written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially,\n and only if you received the object code with such an offer, in\n accord with subsection 6b.\n
  • \n
  • \n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to\n the Corresponding Source in the same way through the same place\n at no further charge. You need not require recipients to copy\n the Corresponding Source along with the object code. If the\n place to copy the object code is a network server, the\n Corresponding Source may be on a different server (operated by\n you or a third party) that supports equivalent copying\n facilities, provided you maintain clear directions next to the\n object code saying where to find the Corresponding Source.\n Regardless of what server hosts the Corresponding Source, you\n remain obligated to ensure that it is available for as long as\n needed to satisfy these requirements.\n
  • \n
  • \n e) Convey the object code using peer-to-peer transmission,\n provided you inform other peers where the object code and\n Corresponding Source of the work are being offered to the\n general public at no charge under subsection 6d.\n
  • \n
\n

\n

\n A separable portion of the object code, whose source code is\n excluded from the Corresponding Source as a System Library, need not\n be included in conveying the object code work.\n

\n

\n A "User Product" is either (1) a "consumer\n product", which means any tangible personal property which is\n normally used for personal, family, or household purposes, or (2)\n anything designed or sold for incorporation into a dwelling. In\n determining whether a product is a consumer product, doubtful cases\n shall be resolved in favor of coverage. For a particular product\n received by a particular user, "normally used" refers to a\n typical or common use of that class of product, regardless of the\n status of the particular user or of the way in which the particular\n user actually uses, or expects or is expected to use, the product. A\n product is a consumer product regardless of whether the product has\n substantial commercial, industrial or non-consumer uses, unless such\n uses represent the only significant mode of use of the product.\n

\n

\n "Installation Information" for a User Product means any\n methods, procedures, authorization keys, or other information\n required to install and execute modified versions of a covered work\n in that User Product from a modified version of its Corresponding\n Source. The information must suffice to ensure that the continued\n functioning of the modified object code is in no case prevented or\n interfered with solely because modification has been made.\n

\n

\n If you convey an object code work under this section in, or with, or\n specifically for use in, a User Product, and the conveying occurs as\n part of a transaction in which the right of possession and use of\n the User Product is transferred to the recipient in perpetuity or\n for a fixed term (regardless of how the transaction is\n characterized), the Corresponding Source conveyed under this section\n must be accompanied by the Installation Information. But this\n requirement does not apply if neither you nor any third party\n retains the ability to install modified object code on the User\n Product (for example, the work has been installed in ROM).\n

\n

\n The requirement to provide Installation Information does not include\n a requirement to continue to provide support service, warranty, or\n updates for a work that has been modified or installed by the\n recipient, or for the User Product in which it has been modified or\n installed. Access to a network may be denied when the modification\n itself materially and adversely affects the operation of the network\n or violates the rules and protocols for communication across the\n network.\n

\n

\n Corresponding Source conveyed, and Installation Information\n provided, in accord with this section must be in a format that is\n publicly documented (and with an implementation available to the\n public in source code form), and must require no special password or\n key for unpacking, reading or copying.\n

\n

7. Additional Terms.

\n

\n "Additional permissions" are terms that supplement the\n terms of this License by making exceptions from one or more of its\n conditions. Additional permissions that are applicable to the entire\n Program shall be treated as though they were included in this\n License, to the extent that they are valid under applicable law. If\n additional permissions apply only to part of the Program, that part\n may be used separately under those permissions, but the entire\n Program remains governed by this License without regard to the\n additional permissions.\n

\n

\n When you convey a copy of a covered work, you may at your option\n remove any additional permissions from that copy, or from any part\n of it. (Additional permissions may be written to require their own\n removal in certain cases when you modify the work.) You may place\n additional permissions on material, added by you to a covered work,\n for which you have or can give appropriate copyright permission.\n

\n

\n Notwithstanding any other provision of this License, for material\n you add to a covered work, you may (if authorized by the copyright\n holders of that material) supplement the terms of this License with\n terms:\n

\n

\n

    \n
  • \n a) Disclaiming warranty or limiting liability differently from\n the terms of sections 15 and 16 of this License; or\n
  • \n
  • \n b) Requiring preservation of specified reasonable legal notices\n or author attributions in that material or in the Appropriate\n Legal Notices displayed by works containing it; or\n
  • \n
  • \n c) Prohibiting misrepresentation of the origin of that material,\n or requiring that modified versions of such material be marked\n in reasonable ways as different from the original version; or\n
  • \n
  • \n d) Limiting the use for publicity purposes of names of licensors\n or authors of the material; or\n
  • \n
  • \n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n
  • \n
  • \n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified\n versions of it) with contractual assumptions of liability to the\n recipient, for any liability that these contractual assumptions\n directly impose on those licensors and authors.\n
  • \n
\n

\n

\n All other non-permissive additional terms are considered\n "further restrictions" within the meaning of section 10.\n If the Program as you received it, or any part of it, contains a\n notice stating that it is governed by this License along with a term\n that is a further restriction, you may remove that term. If a\n license document contains a further restriction but permits\n relicensing or conveying under this License, you may add to a\n covered work material governed by the terms of that license\n document, provided that the further restriction does not survive\n such relicensing or conveying.\n

\n

\n If you add terms to a covered work in accord with this section, you\n must place, in the relevant source files, a statement of the\n additional terms that apply to those files, or a notice indicating\n where to find the applicable terms.\n

\n

\n Additional terms, permissive or non-permissive, may be stated in the\n form of a separately written license, or stated as exceptions; the\n above requirements apply either way.\n

\n

8. Termination.

\n

\n You may not propagate or modify a covered work except as expressly\n provided under this License. Any attempt otherwise to propagate or\n modify it is void, and will automatically terminate your rights\n under this License (including any patent licenses granted under the\n third paragraph of section 11).\n

\n

\n However, if you cease all violation of this License, then your\n license from a particular copyright holder is reinstated (a)\n provisionally, unless and until the copyright holder explicitly and\n finally terminates your license, and (b) permanently, if the\n copyright holder fails to notify you of the violation by some\n reasonable means prior to 60 days after the cessation.\n

\n

\n Moreover, your license from a particular copyright holder is\n reinstated permanently if the copyright holder notifies you of the\n violation by some reasonable means, this is the first time you have\n received notice of violation of this License (for any work) from\n that copyright holder, and you cure the violation prior to 30 days\n after your receipt of the notice.\n

\n\n

\n Termination of your rights under this section does not terminate the\n licenses of parties who have received copies or rights from you\n under this License. If your rights have been terminated and not\n permanently reinstated, you do not qualify to receive new licenses\n for the same material under section 10.\n

\n\n

9. Acceptance Not Required for Having Copies.

\n

\n You are not required to accept this License in order to receive or\n run a copy of the Program. Ancillary propagation of a covered work\n occurring solely as a consequence of using peer-to-peer transmission\n to receive a copy likewise does not require acceptance. However,\n nothing other than this License grants you permission to propagate\n or modify any covered work. These actions infringe copyright if you\n do not accept this License. Therefore, by modifying or propagating a\n covered work, you indicate your acceptance of this License to do so.\n

\n\n

10. Automatic Licensing of Downstream Recipients.

\n

\n Each time you convey a covered work, the recipient automatically\n receives a license from the original licensors, to run, modify and\n propagate that work, subject to this License. You are not\n responsible for enforcing compliance by third parties with this\n License.\n

\n\n

\n An "entity transaction" is a transaction transferring\n control of an organization, or substantially all assets of one, or\n subdividing an organization, or merging organizations. If\n propagation of a covered work results from an entity transaction,\n each party to that transaction who receives a copy of the work also\n receives whatever licenses to the work the party's predecessor in\n interest had or could give under the previous paragraph, plus a\n right to possession of the Corresponding Source of the work from the\n predecessor in interest, if the predecessor has it or can get it\n with reasonable efforts.\n

\n\n

\n You may not impose any further restrictions on the exercise of the\n rights granted or affirmed under this License. For example, you may\n not impose a license fee, royalty, or other charge for exercise of\n rights granted under this License, and you may not initiate\n litigation (including a cross-claim or counterclaim in a lawsuit)\n alleging that any patent claim is infringed by making, using,\n selling, offering for sale, or importing the Program or any portion\n of it.\n

\n\n

11. Patents.

\n

\n A "contributor" is a copyright holder who authorizes use\n under this License of the Program or a work on which the Program is\n based. The work thus licensed is called the contributor's\n "contributor version".\n

\n\n

\n A contributor's "essential patent claims" are all patent\n claims owned or controlled by the contributor, whether already\n acquired or hereafter acquired, that would be infringed by some\n manner, permitted by this License, of making, using, or selling its\n contributor version, but do not include claims that would be\n infringed only as a consequence of further modification of the\n contributor version. For purposes of this definition,\n "control" includes the right to grant patent sublicenses\n in a manner consistent with the requirements of this License.\n

\n\n

\n Each contributor grants you a non-exclusive, worldwide, royalty-free\n patent license under the contributor's essential patent claims, to\n make, use, sell, offer for sale, import and otherwise run, modify\n and propagate the contents of its contributor version.\n

\n\n

\n In the following three paragraphs, a "patent license" is\n any express agreement or commitment, however denominated, not to\n enforce a patent (such as an express permission to practice a patent\n or covenant not to sue for patent infringement). To\n "grant" such a patent license to a party means to make\n such an agreement or commitment not to enforce a patent against the\n party.\n

\n\n

\n If you convey a covered work, knowingly relying on a patent license,\n and the Corresponding Source of the work is not available for anyone\n to copy, free of charge and under the terms of this License, through\n a publicly available network server or other readily accessible\n means, then you must either (1) cause the Corresponding Source to be\n so available, or (2) arrange to deprive yourself of the benefit of\n the patent license for this particular work, or (3) arrange, in a\n manner consistent with the requirements of this License, to extend\n the patent license to downstream recipients. "Knowingly\n relying" means you have actual knowledge that, but for the\n patent license, your conveying the covered work in a country, or\n your recipient's use of the covered work in a country, would\n infringe one or more identifiable patents in that country that you\n have reason to believe are valid.\n

\n\n

\n If, pursuant to or in connection with a single transaction or\n arrangement, you convey, or propagate by procuring conveyance of, a\n covered work, and grant a patent license to some of the parties\n receiving the covered work authorizing them to use, propagate,\n modify or convey a specific copy of the covered work, then the\n patent license you grant is automatically extended to all recipients\n of the covered work and works based on it.\n

\n\n

\n A patent license is "discriminatory" if it does not\n include within the scope of its coverage, prohibits the exercise of,\n or is conditioned on the non-exercise of one or more of the rights\n that are specifically granted under this License. You may not convey\n a covered work if you are a party to an arrangement with a third\n party that is in the business of distributing software, under which\n you make payment to the third party based on the extent of your\n activity of conveying the work, and under which the third party\n grants, to any of the parties who would receive the covered work\n from you, a discriminatory patent license (a) in connection with\n copies of the covered work conveyed by you (or copies made from\n those copies), or (b) primarily for and in connection with specific\n products or compilations that contain the covered work, unless you\n entered into that arrangement, or that patent license was granted,\n prior to 28 March 2007.\n

\n\n

\n Nothing in this License shall be construed as excluding or limiting\n any implied license or other defenses to infringement that may\n otherwise be available to you under applicable patent law.\n

\n\n

12. No Surrender of Others' Freedom.

\n

\n If conditions are imposed on you (whether by court order, agreement\n or otherwise) that contradict the conditions of this License, they\n do not excuse you from the conditions of this License. If you cannot\n convey a covered work so as to satisfy simultaneously your\n obligations under this License and any other pertinent obligations,\n then as a consequence you may not convey it at all. For example, if\n you agree to terms that obligate you to collect a royalty for\n further conveying from those to whom you convey the Program, the\n only way you could satisfy both those terms and this License would\n be to refrain entirely from conveying the Program.\n

\n\n

\n 13. Remote Network Interaction; Use with the GNU General Public\n License.\n

\n

\n Notwithstanding any other provision of this License, if you modify\n the Program, your modified version must prominently offer all users\n interacting with it remotely through a computer network (if your\n version supports such interaction) an opportunity to receive the\n Corresponding Source of your version by providing access to the\n Corresponding Source from a network server at no charge, through\n some standard or customary means of facilitating copying of\n software. This Corresponding Source shall include the Corresponding\n Source for any work covered by version 3 of the GNU General Public\n License that is incorporated pursuant to the following paragraph.\n

\n\n

\n Notwithstanding any other provision of this License, you have\n permission to link or combine any covered work with a work licensed\n under version 3 of the GNU General Public License into a single\n combined work, and to convey the resulting work. The terms of this\n License will continue to apply to the part which is the covered\n work, but the work with which it is combined will remain governed by\n version 3 of the GNU General Public License.\n

\n\n

14. Revised Versions of this License.

\n

\n The Free Software Foundation may publish revised and/or new versions\n of the GNU Affero General Public License from time to time. Such new\n versions will be similar in spirit to the present version, but may\n differ in detail to address new problems or concerns.\n

\n\n

\n Each version is given a distinguishing version number. If the\n Program specifies that a certain numbered version of the GNU Affero\n General Public License "or any later version" applies to\n it, you have the option of following the terms and conditions either\n of that numbered version or of any later version published by the\n Free Software Foundation. If the Program does not specify a version\n number of the GNU Affero General Public License, you may choose any\n version ever published by the Free Software Foundation.\n

\n\n

\n Each version is given a distinguishing version number. If the\n Program specifies that a certain numbered version of the GNU Affero\n General Public License "or any later version" applies to\n it, you have the option of following the terms and conditions either\n of that numbered version or of any later version published by the\n Free Software Foundation. If the Program does not specify a version\n number of the GNU Affero General Public License, you may choose any\n version ever published by the Free Software Foundation.\n

\n\n

\n Later license versions may give you additional or different\n permissions. However, no additional obligations are imposed on any\n author or copyright holder as a result of your choosing to follow a\n later version.\n

\n\n

15. Disclaimer of Warranty.

\n

\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\n APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE\n COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS\n IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,\n INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE\n RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.\n SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL\n NECESSARY SERVICING, REPAIR OR CORRECTION.\n

\n\n

16. Limitation of Liability.

\n

\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN\n WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES\n AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR\n DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL\n DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM\n (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED\n INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE\n OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH\n HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH\n DAMAGES.\n

\n\n

17. Interpretation of Sections 15 and 16.

\n

\n If the disclaimer of warranty and limitation of liability provided\n above cannot be given local legal effect according to their terms,\n reviewing courts shall apply local law that most closely\n approximates an absolute waiver of all civil liability in connection\n with the Program, unless a warranty or assumption of liability\n accompanies a copy of the Program in return for a fee.\n

\n\n

END OF TERMS AND CONDITIONS

\n\n

How to Apply These Terms to Your New Programs

\n

\n If you develop a new program, and you want it to be of the greatest\n possible use to the public, the best way to achieve this is to make\n it free software which everyone can redistribute and change under\n these terms.\n

\n\n

\n To do so, attach the following notices to the program. It is safest\n to attach them to the start of each source file to most effectively\n state the exclusion of warranty; and each file should have at least\n the "copyright" line and a pointer to where the full\n notice is found.\n

\n\n

\n \n <one line to give the program's name and a brief idea of what\n it does.> Copyright (C) <year> <name of author>\n This program is free software: you can redistribute it and/or\n modify it under the terms of the GNU Affero General Public License\n as published by the Free Software Foundation, either version 3 of\n the License, or (at your option) any later version. This program\n is distributed in the hope that it will be useful, but WITHOUT ANY\n WARRANTY; without even the implied warranty of MERCHANTABILITY or\n FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General\n Public License for more details. You should have received a copy\n of the GNU Affero General Public License along with this program.\n If not, see <https://www.gnu.org/licenses/>.\n \n

\n\n

\n Also add information on how to contact you by electronic and paper\n mail.\n

\n\n

\n If your software can interact with users remotely through a computer\n network, you should also make sure that it provides a way for users\n to get its source. For example, if your program is a web\n application, its interface could display a "Source" link\n that leads users to an archive of the code. There are many ways you\n could offer source, and different solutions will be better for\n different programs; see section 13 for the specific requirements.\n

\n\n

\n You should also get your employer (if you work as a programmer) or\n school, if any, to sign a "copyright disclaimer" for the\n program, if necessary. For more information on this, and how to\n apply and follow the GNU AGPL, see <\n \n https://www.gnu.org/licenses/\n \n >.\n

\n
\n
\n \n ) : null;\n};\n\nexport default withStyles(styles)(LicenseModal);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport { containerForHeader } from \"../Common/FormComponents/common/styleLibrary\";\nimport {\n SubnetLoginRequest,\n SubnetLoginResponse,\n SubnetLoginWithMFARequest,\n SubnetOrganization,\n SubnetRegisterRequest,\n SubnetRegTokenResponse,\n} from \"./types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport api from \"../../../common/api\";\nimport PersonOutlineOutlinedIcon from \"@mui/icons-material/PersonOutlineOutlined\";\nimport LockOutlinedIcon from \"@mui/icons-material/LockOutlined\";\n\nimport { formFieldStyles } from \"../Common/FormComponents/common/styleLibrary\";\nimport RadioGroupSelector from \"../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport Link from \"@mui/material/Link\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n subnetLicenseKey: {},\n subnetLoginForm: {},\n licenseKeyField: {},\n pageTitle: {\n marginBottom: 20,\n },\n registrationMode: {\n cursor: \"pointer\",\n },\n button: {\n textTransform: \"none\",\n fontSize: 15,\n fontWeight: 700,\n background:\n \"transparent linear-gradient(90deg, #073052 0%, #081c42 100%) 0% 0% no-repeat padding-box\",\n color: \"#fff\",\n },\n buttonSignup: {\n textTransform: \"none\",\n fontSize: 15,\n fontWeight: 700,\n marginLeft: 15,\n },\n ...formFieldStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IActivationModal {\n classes: any;\n open: boolean;\n closeModal: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst ActivationModal = ({\n classes,\n open,\n closeModal,\n setModalErrorSnackMessage,\n}: IActivationModal) => {\n const [license, setLicense] = useState(\"\");\n const [subnetPassword, setSubnetPassword] = useState(\"\");\n const [subnetEmail, setSubnetEmail] = useState(\"\");\n const [subnetMFAToken, setSubnetMFAToken] = useState(\"\");\n const [subnetOTP, setSubnetOTP] = useState(\"\");\n const [subnetAccessToken, setSubnetAccessToken] = useState(\"\");\n const [selectedSubnetOrganisation, setSelectedSubnetOrganisation] =\n useState(\"\");\n const [subnetRegToken, setSubnetRegToken] = useState(\"\");\n const [subnetOrganizations, setSubnetOrganizations] = useState<\n SubnetOrganization[]\n >([]);\n const [onlineActivation, setOnlineActivation] = useState(true);\n\n const [loading, setLoading] = useState(false);\n\n const clearForm = () => {\n setLicense(\"\");\n setSubnetPassword(\"\");\n setSubnetEmail(\"\");\n setSubnetMFAToken(\"\");\n setSubnetOTP(\"\");\n };\n\n const fetchSubnetRegToken = () => {\n if (loading || subnetRegToken) {\n return;\n }\n setLoading(true);\n api\n .invoke(\"GET\", \"/api/v1/subnet/registration-token\")\n .then((resp: SubnetRegTokenResponse) => {\n setLoading(false);\n if (resp && resp.regToken) {\n setSubnetRegToken(resp.regToken);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n const subnetRegister = () => {\n if (loading) {\n return;\n }\n setLoading(true);\n if (subnetAccessToken && selectedSubnetOrganisation) {\n const request: SubnetRegisterRequest = {\n token: subnetAccessToken,\n account_id: selectedSubnetOrganisation,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/register\", request)\n .then(() => {\n setLoading(false);\n clearForm();\n closeModal();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n }\n };\n\n const subnetLoginWithMFA = () => {\n if (loading) {\n return;\n }\n setLoading(true);\n const request: SubnetLoginWithMFARequest = {\n username: subnetEmail,\n otp: subnetOTP,\n mfa_token: subnetMFAToken,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/login/mfa\", request)\n .then((resp: SubnetLoginResponse) => {\n setLoading(false);\n if (resp && resp.access_token && resp.organizations.length > 0) {\n setSubnetAccessToken(resp.access_token);\n setSubnetOrganizations(resp.organizations);\n setSelectedSubnetOrganisation(\n resp.organizations[0].accountId.toString()\n );\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setSubnetOTP(\"\");\n setModalErrorSnackMessage(err);\n });\n };\n\n const subnetLogin = () => {\n if (loading) {\n return;\n }\n setLoading(true);\n let request: SubnetLoginRequest = {\n username: subnetEmail,\n password: subnetPassword,\n apiKey: license,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/login\", request)\n .then((resp: SubnetLoginResponse) => {\n setLoading(false);\n if (resp && resp.registered) {\n clearForm();\n closeModal();\n } else if (resp && resp.mfa_token) {\n setSubnetMFAToken(resp.mfa_token);\n } else if (resp && resp.access_token && resp.organizations.length > 0) {\n setSubnetAccessToken(resp.access_token);\n setSubnetOrganizations(resp.organizations);\n setSelectedSubnetOrganisation(\n resp.organizations[0].accountId.toString()\n );\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n clearForm();\n setModalErrorSnackMessage(err);\n });\n };\n\n let clusterRegistrationForm: JSX.Element;\n if (subnetAccessToken && subnetOrganizations.length > 0) {\n clusterRegistrationForm = (\n \n \n \n Register MinIO cluster\n \n \n \n ) => {\n setSelectedSubnetOrganisation(e.target.value as string);\n }}\n selectorOptions={subnetOrganizations.map((organisation) => ({\n value: organisation.accountId.toString(),\n label: organisation.company,\n }))}\n />\n \n \n subnetRegister()}\n disabled={loading || subnetAccessToken.trim().length === 0}\n variant=\"contained\"\n >\n Register\n \n \n \n );\n } else if (subnetMFAToken) {\n clusterRegistrationForm = (\n \n \n \n Two-Factor Authentication\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 type=\"text\"\n value={subnetOTP}\n />\n \n \n subnetLoginWithMFA()}\n disabled={\n loading ||\n subnetOTP.trim().length === 0 ||\n subnetMFAToken.trim().length === 0\n }\n variant=\"contained\"\n >\n Verify\n \n \n \n );\n } else {\n clusterRegistrationForm = (\n \n \n }\n id=\"subnet-email\"\n name=\"subnet-email\"\n onChange={(event: React.ChangeEvent) => {\n setSubnetEmail(event.target.value);\n }}\n placeholder=\"email\"\n label=\"\"\n type=\"text\"\n value={subnetEmail}\n />\n \n \n }\n id=\"subnet-password\"\n name=\"subnet-password\"\n onChange={(event: React.ChangeEvent) => {\n setSubnetPassword(event.target.value);\n }}\n placeholder=\"password\"\n label=\"\"\n type=\"password\"\n value={subnetPassword}\n />\n \n \n subnetLogin()}\n disabled={\n loading ||\n subnetEmail.trim().length === 0 ||\n subnetPassword.trim().length === 0\n }\n variant=\"contained\"\n >\n Login\n \n {\n e.preventDefault();\n window.open(\"https://min.io/pricing\", \"_blank\");\n }}\n variant=\"outlined\"\n >\n Sign Up\n \n \n \n {\n fetchSubnetRegToken();\n setOnlineActivation(false);\n }}\n >\n Offline Activation\n \n \n \n );\n }\n\n return open ? (\n {\n setLicense(\"\");\n setSubnetPassword(\"\");\n setSubnetEmail(\"\");\n closeModal();\n }}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n \n \n \n Activate SUBNET License\n \n \n {onlineActivation ? (\n \n {clusterRegistrationForm}\n \n ) : (\n \n \n Step 1: Copy the following registration token\n \n \n {}}\n id=\"registration-token\"\n name=\"registration-token\"\n placeholder=\"\"\n label=\"\"\n type=\"text\"\n value={subnetRegToken}\n disabled\n />\n \n \n navigator.clipboard.writeText(subnetRegToken)}\n >\n Copy\n \n \n \n Step 2: Use the previous token to register your cluster at:{\" \"}\n \n https://subnet.min.io/cluster/register\n \n \n \n Step 3: Enter the API key generated by SUBNET\n \n \n ) =>\n setLicense(event.target.value)\n }\n id=\"api-key\"\n name=\"api-key\"\n placeholder=\"\"\n label=\"\"\n type=\"text\"\n />\n \n \n subnetLogin()}\n disabled={loading || license.trim().length === 0}\n >\n Activate\n \n \n \n setOnlineActivation(true)}\n >\n Online Activation\n \n \n \n )}\n \n {loading && (\n \n \n \n )}\n \n ) : null;\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(ActivationModal));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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 interface IPlanDetails {\n id: number;\n title: string;\n price: string;\n capacityMax: string;\n capacityMin?: string;\n}\n\nexport const planDetails: IPlanDetails[] = [\n {\n id: 0,\n title: \"Community\",\n price: \"Open Source\",\n capacityMax: \"\",\n },\n {\n id: 1,\n title: \"Standard\",\n price: \"$10 per TB\",\n capacityMax: \"(Minimum of 100TB)\",\n capacityMin: \"\",\n },\n {\n id: 2,\n title: \"Enterprise\",\n price: \"$20 per TB\",\n capacityMax: \"(Minimum of 100TB)\",\n capacityMin: \"\",\n },\n];\n\nexport interface IPlanItemValue {\n label: string;\n detail?: string;\n link?: boolean;\n}\n\nexport interface IPlanItemValues {\n [index: string]: IPlanItemValue;\n}\nexport interface IPlanItem {\n id: number;\n field: string;\n plans: IPlanItemValues;\n}\n\nexport const planItems: IPlanItem[] = [\n {\n id: 0,\n field: \"License\",\n plans: {\n Community: {\n label: \"GNU AGPL v3\",\n detail: \"\",\n link: true,\n },\n Standard: {\n label: \"Commercial License\",\n },\n Enterprise: {\n label: \"Commercial License\",\n },\n },\n },\n {\n id: 1,\n field: \"Software Release\",\n plans: {\n Community: {\n label: \"Upstream\",\n },\n Standard: {\n label: \"1 Year Long Term Support\",\n },\n Enterprise: {\n label: \"5 Years Long Term Support\",\n },\n },\n },\n {\n id: 2,\n field: \"SLA\",\n plans: {\n Community: {\n label: \"No SLA\",\n },\n Standard: {\n label: \"<48 Hours (Local Business Hours)\",\n },\n Enterprise: {\n label: \"<1 hour\",\n },\n },\n },\n {\n id: 3,\n field: \"Support\",\n plans: {\n Community: {\n label: \"Community:\",\n detail: \"Public Slack Channel + Github Issues\",\n },\n Standard: {\n label: \"L4 Direct Engineering\",\n detail: \" support via SUBNET\",\n },\n Enterprise: {\n label: \"L4 Direct Engineering\",\n detail: \"support via SUBNET\",\n },\n },\n },\n {\n id: 4,\n field: \"Security Updates & Critical Bugs\",\n plans: {\n Community: {\n label: \"Self Update\",\n },\n Standard: {\n label: \"Continuous Scan and Alert\",\n },\n Enterprise: {\n label: \"Continuous Scan and Alert\",\n },\n },\n },\n {\n id: 5,\n field: \"Panic Button\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"1 per year\",\n },\n Enterprise: {\n label: \"Unlimited\",\n },\n },\n },\n {\n id: 6,\n field: \"Health Diagnostics\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"24/7/365\",\n },\n Enterprise: {\n label: \"24/7/365\",\n },\n },\n },\n {\n id: 6,\n field: \"Annual Architecture Review\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"N/A\",\n },\n Enterprise: {\n label: \"Yes\",\n },\n },\n },\n {\n id: 7,\n field: \"Annual Performance Review\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"N/A\",\n },\n Enterprise: {\n label: \"Yes\",\n },\n },\n },\n {\n id: 8,\n field: \"Indemnification\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"N/A\",\n },\n Enterprise: {\n label: \"Yes\",\n },\n },\n },\n {\n id: 9,\n field: \"Security + Policy Review\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"N/A\",\n },\n Enterprise: {\n label: \"Yes\",\n },\n },\n },\n];\n\nexport interface IPlanButton {\n id: number;\n text: string;\n text2: string;\n link: string;\n plan: string;\n}\nexport const planButtons: IPlanButton[] = [\n {\n id: 0,\n text: \"Join Slack\",\n text2: \"\",\n link: \"https://slack.min.io\",\n plan: \"Community\",\n },\n {\n id: 1,\n text: \"Subscribe\",\n text2: \"Sign up\",\n link: \"https://min.io/signup\",\n plan: \"Standard\",\n },\n {\n id: 2,\n text: \"Subscribe\",\n text2: \"Sign up\",\n link: \"https://min.io/signup\",\n plan: \"Enterprise\",\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, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport clsx from \"clsx\";\nimport ActivationModal from \"./ActivationModal\";\nimport { planButtons, planDetails, planItems } from \"./utils\";\nimport CheckCircleIcon from \"@mui/icons-material/CheckCircle\";\nimport Button from \"@mui/material/Button\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { SubnetInfo } from \"./types\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n planItemsPadding: {\n border: \"1px solid #EAEDEE\",\n borderTop: 0,\n maxWidth: 1180,\n },\n planItemsBorder: {\n height: 7,\n backgroundColor: \"#07193E\",\n },\n\n link: {\n textDecoration: \"underline !important\",\n color: theme.palette.info.main,\n },\n linkButton: {\n fontFamily: '\"Lato\", sans-serif',\n fontWeight: \"normal\",\n textTransform: \"none\",\n fontSize: \"inherit\",\n height: 0,\n padding: 0,\n margin: 0,\n },\n tableContainer: {\n marginLeft: 28,\n },\n detailsContainerBorder: {\n borderLeft: \"1px solid #e2e2e2\",\n },\n detailsTitle: {\n fontSize: 19,\n fontWeight: 700,\n marginBottom: 26,\n paddingTop: 18,\n lineHeight: 1,\n },\n currPlan: {\n color: \"white\",\n backgroundColor: \"#2781B0\",\n },\n planHeader: {\n padding: 8,\n },\n detailsPrice: {\n fontSize: 13,\n fontWeight: 700,\n },\n detailsCapacityMax: {\n minHeight: 28,\n fontSize: 10,\n },\n itemContainer: {\n height: 36,\n \"& .item:last-child\": {\n borderRight: \"1px solid #e5e5e5\",\n },\n },\n itemContainerDetail: {\n height: 48,\n },\n item: {\n height: \"100%\",\n borderLeft: \"1px solid #e5e5e5\",\n textAlign: \"center\",\n fontSize: 10,\n fontWeight: 700,\n display: \"flex\",\n alignItems: \"center\",\n alignContent: \"center\",\n borderTop: \"1px solid #e5e5e5\",\n },\n\n itemFirst: {\n borderLeft: 0,\n borderRight: 0,\n },\n field: {\n textAlign: \"left\",\n fontWeight: 400,\n fontSize: 12,\n },\n checkIcon: {\n fontSize: 15,\n color: \"#385973\",\n },\n buttonContainer: {\n paddingTop: 8,\n paddingBottom: 24,\n height: \"100%\",\n display: \"flex\",\n justifyContent: \"center\",\n borderLeft: \"1px solid #e2e2e2\",\n },\n buttonContainerBlank: {\n border: 0,\n },\n buttonContainerHighlighted: {\n borderTop: 0,\n },\n button: {\n textTransform: \"none\",\n fontSize: 15,\n fontWeight: 700,\n },\n activateLink: {\n color: \"#1C5A8D\",\n fontWeight: \"bold\",\n clear: \"both\",\n background: \"none\",\n border: \"none\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n },\n currentPlanBG: {\n background: \"#022A4A 0% 0% no-repeat padding-box\",\n color: \"#FFFFFF\",\n borderTop: \"1px solid #52687d\",\n },\n });\n\ninterface IRegisterStatus {\n classes: any;\n activateProductModal: any;\n closeModalAndFetchLicenseInfo: any;\n licenseInfo: SubnetInfo | undefined;\n setLicenseModal: React.Dispatch>;\n operatorMode: boolean;\n currentPlanID: number;\n setActivateProductModal: any;\n}\n\nconst LicensePlans = ({\n classes,\n activateProductModal,\n closeModalAndFetchLicenseInfo,\n licenseInfo,\n setLicenseModal,\n operatorMode,\n currentPlanID,\n setActivateProductModal,\n}: IRegisterStatus) => {\n const planDetailsFiltered = planDetails.filter((item) => {\n if (licenseInfo) {\n if (item.title === \"Community\") {\n return false;\n }\n }\n return true;\n });\n\n const planButtonsFiltered = planButtons.filter((item) => {\n if (licenseInfo) {\n if (item.plan === \"Community\") {\n return false;\n }\n }\n return true;\n });\n\n const gridColWidth = licenseInfo ? 4 : 3;\n\n return (\n \n \n
\n \n \n \n closeModalAndFetchLicenseInfo()}\n />\n \n \n \n {planDetailsFiltered.map((details: any) => {\n let currentPlan =\n (!licenseInfo && details.title === \"Community\") ||\n (licenseInfo &&\n licenseInfo.plan.toLowerCase() ===\n details.title.toLowerCase());\n return (\n \n \n \n {details.title}\n {currentPlan && (\n \n
CURRENT PLAN
\n
\n )}\n
\n \n {details.price}\n \n \n {details.capacityMax || \"\"}\n \n
\n );\n })}\n
\n {planItems.map((item: any) => {\n return (\n \n \n {item.field}\n
\n {planDetailsFiltered.map((pd) => {\n return (\n \n \n \n {item.plans[pd.title].label === \"N/A\" ? (\n \"\"\n ) : item.plans[pd.title].label === \"Yes\" ? (\n \n ) : (\n \n {item.plans[pd.title].link ? (\n setLicenseModal(true)}\n >\n {item.plans[pd.title].label}\n \n ) : (\n item.plans[pd.title].label\n )}\n \n )}\n \n {item.plans[pd.title].detail !== undefined && (\n \n {item.plans[pd.title].detail}\n \n )}\n
\n \n );\n })}\n
\n );\n })}\n \n \n {planButtonsFiltered.map((button: any, index: any) => {\n return (\n \n \n {\n e.preventDefault();\n window.open(\n `${button.link}?ref=${operatorMode ? \"op\" : \"con\"}`,\n \"_blank\"\n );\n }}\n >\n {currentPlanID !== index && index > 0\n ? button.text2\n : button.text}\n \n \n \n );\n })}\n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(LicensePlans);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { CircularProgress, LinearProgress } from \"@mui/material\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport Moment from \"react-moment\";\nimport Typography from \"@mui/material/Typography\";\nimport { SubnetInfo } from \"./types\";\nimport { AppState } from \"../../../store\";\nimport { niceBytes } from \"../../../common/utils\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { containerForHeader } from \"../Common/FormComponents/common/styleLibrary\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport LicenseModal from \"./LicenseModal\";\nimport api from \"../../../common/api\";\nimport { LicenseIcon } from \"../../../icons\";\nimport { hasPermission } from \"../../../common/SecureComponent/SecureComponent\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_PAGES_PERMISSIONS,\n} from \"../../../common/SecureComponent/permissions\";\nimport RegisterStatus from \"../Support/RegisterStatus\";\nimport LicensePlans from \"./LicensePlans\";\nimport { Link } from \"react-router-dom\";\n\nconst mapState = (state: AppState) => ({\n operatorMode: state.system.operatorMode,\n});\n\nconst connector = connect(mapState, null);\n\nconst styles = (theme: Theme) =>\n createStyles({\n pageTitle: {\n backgroundColor: \"rgb(250,250,252)\",\n marginTop: 40,\n border: \"1px solid #EAEDEE\",\n padding: 25,\n fontSize: 16,\n fontWeight: \"bold\",\n \"& ul\": {\n listStyleType: \"square\",\n \"& li\": {\n float: \"left\",\n fontSize: 14,\n marginRight: 40,\n },\n \"& li::before\": {\n color: \"red\",\n content: \"•\",\n },\n },\n },\n licDet: {\n fontSize: 11,\n color: \"#5E5E5E\",\n },\n linkMore: {\n marginTop: 10,\n marginBottom: 20,\n },\n chooseFlavorText: {\n color: \"#000000\",\n fontSize: 14,\n },\n licenseContainer: {\n display: \"flex\",\n flexWrap: \"wrap\",\n flexDirection: \"row\",\n padding: \"30px 30px 0px 30px\",\n border: \"1px solid #EAEDEE\",\n \"& h2\": {\n // color: \"#FFF\",\n flexDirection: \"row\",\n },\n \"& a\": {\n textDecoration: \"none\",\n flexDirection: \"row\",\n },\n \"& h3\": {\n // color: \"#FFFFFF\",\n marginBottom: \"30px\",\n fontWeight: \"bold\",\n },\n \"& h6\": {\n // color: \"#FFFFFF !important\",\n },\n },\n link: {\n textDecoration: \"underline !important\",\n color: theme.palette.info.main,\n },\n linkButton: {\n fontFamily: '\"Lato\", sans-serif',\n fontWeight: \"normal\",\n textTransform: \"none\",\n fontSize: \"inherit\",\n height: 0,\n padding: 0,\n margin: 0,\n },\n\n button: {\n textTransform: \"none\",\n fontSize: 15,\n fontWeight: 700,\n },\n openSourcePolicy: {\n fontSize: 14,\n color: \"#1C5A8D\",\n fontWeight: \"bold\",\n },\n subnetRefreshLicenseLink: {\n color: \"#1C5A8D\",\n fontWeight: \"bold\",\n clear: \"both\",\n background: \"none\",\n border: \"none\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n fontSize: 13,\n },\n licenseInfo: {\n position: \"relative\",\n },\n licenseInfoTitle: {\n textTransform: \"none\",\n color: \"#999999\",\n fontSize: 11,\n },\n licenseInfoValue: {\n textTransform: \"none\",\n fontSize: 14,\n fontWeight: \"bold\",\n },\n subnetSubTitle: {\n fontSize: 14,\n },\n verifiedIcon: {\n width: 96,\n position: \"absolute\",\n right: 0,\n bottom: 29,\n },\n loadingLoginStrategy: {\n textAlign: \"center\",\n },\n ...containerForHeader(theme.spacing(4)),\n mainContainer: {\n border: \"1px solid #EAEDEE\",\n padding: 40,\n margin: 40,\n },\n icon: {\n color: theme.palette.primary.main,\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 20,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n marginRight: 15,\n },\n },\n });\n\ninterface ILicenseProps {\n classes: any;\n operatorMode: boolean;\n}\n\nconst License = ({ classes, operatorMode }: ILicenseProps) => {\n const [activateProductModal, setActivateProductModal] =\n useState(false);\n\n const [licenseModal, setLicenseModal] = useState(false);\n\n const [licenseInfo, setLicenseInfo] = useState();\n const [currentPlanID, setCurrentPlanID] = useState(0);\n const [loadingLicenseInfo, setLoadingLicenseInfo] = useState(false);\n const [initialLicenseLoading, setInitialLicenseLoading] =\n useState(true);\n const [loadingRefreshLicense, setLoadingRefreshLicense] =\n useState(false);\n const [clusterRegistered, setClusterRegistered] = useState(false);\n\n const getSubnetInfo = hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.LICENSE],\n true\n );\n\n const closeModalAndFetchLicenseInfo = () => {\n setActivateProductModal(false);\n fetchLicenseInfo();\n };\n\n const fetchLicenseInfo = useCallback(() => {\n if (loadingLicenseInfo) {\n return;\n }\n if (getSubnetInfo) {\n setLoadingLicenseInfo(true);\n api\n .invoke(\"GET\", `/api/v1/subnet/info`)\n .then((res: SubnetInfo) => {\n if (res) {\n if (res.plan === \"STANDARD\") {\n setCurrentPlanID(1);\n } else if (res.plan === \"ENTERPRISE\") {\n setCurrentPlanID(2);\n } else {\n setCurrentPlanID(1);\n }\n setLicenseInfo(res);\n }\n setClusterRegistered(true);\n setLoadingLicenseInfo(false);\n })\n .catch(() => {\n setClusterRegistered(false);\n setLoadingLicenseInfo(false);\n });\n } else {\n setLoadingLicenseInfo(false);\n }\n }, [loadingLicenseInfo, getSubnetInfo]);\n\n const refreshLicense = () => {\n setLoadingRefreshLicense(true);\n api\n .invoke(\"POST\", `/api/v1/subscription/refresh`, {})\n .then((res: SubnetInfo) => {\n if (res) {\n if (res.plan === \"STANDARD\") {\n setCurrentPlanID(1);\n } else if (res.plan === \"ENTERPRISE\") {\n setCurrentPlanID(2);\n } else {\n setCurrentPlanID(1);\n }\n setLicenseInfo(res);\n }\n setLoadingRefreshLicense(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingRefreshLicense(false);\n });\n };\n\n useEffect(() => {\n if (initialLicenseLoading) {\n fetchLicenseInfo();\n setInitialLicenseLoading(false);\n }\n }, [fetchLicenseInfo, initialLicenseLoading, setInitialLicenseLoading]);\n\n if (loadingLicenseInfo) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n \n\n
\n \n {licenseInfo && }\n {!clusterRegistered && (\n \n \n \n GNU Affero General Public License\n \n \n \n \n {licenseInfo ? (\n \n \n \n \n License\n \n \n Commercial License\n \n \n Organization\n \n \n {licenseInfo.organization}\n \n \n Registered Capacity\n \n \n {niceBytes(\n (licenseInfo.storage_capacity * 1099511627776) // 1 Terabyte = 1099511627776 Bytes\n .toString(10),\n false\n )}\n \n \n \n \n Subscription Plan\n \n \n {licenseInfo.plan}\n \n \n Requestor\n \n \n {licenseInfo.email}\n \n \n Expiry Date\n \n \n \n {licenseInfo.expires_at\n .split(\" \")\n .slice(0, 1)\n .join(\" \")}\n \n \n \n \n \n \n ) : (\n \n setLicenseModal(false)}\n />\n \n \n {\" \"}\n \n \n Version 3. 19 November 2007{\" \"}\n \n \n\n \n \n The GNU Affero General Public License is a free,\n copyleft license for software and other kinds of\n works, specifically designed to ensure cooperation\n with the Community in the case of network server\n software.\n \n
\n \n The licenses for most software and other practical\n works are designed to take away your freedom to\n share and change the works. By contrast, our\n General Public Licenses are intended to guarantee\n your freedom to share and change all versions of a\n program--to make sure it remains free software for\n all its users.\n \n
\n setLicenseModal(true)}\n >\n Read more\n \n
\n
\n
\n )}\n
\n \n {licenseInfo ? (\n
\n \n Login to MinIO SUBNET !\n \n \n It combines a commercial license with a support\n experience unlike any other.\n \n
\n \n Login to SUBNET\n \n {operatorMode && (\n \n {\" \"}\n
\n
\n {\n e.preventDefault();\n refreshLicense();\n }}\n >\n Refresh License\n \n {loadingRefreshLicense && (\n \n )}\n
\n )}\n
\n ) : (\n
\n \n Choosing between GNU AGPL v3 and Commercial License\n \n
\n \n If you are building proprietary applications, you\n may want to choose the commercial license included\n as part of the Standard and Enterprise subscription\n plans. Applications must otherwise comply with all\n the GNU AGPLv3 License & Trademark obligations.\n Follow the links below to learn more about the\n compliance policy.\n \n
    \n
  • \n \n Learn more about GNU AGPL v3\n \n
  • \n
  • \n \n MinIO Trademark Compliance\n \n
  • \n
\n
\n
\n )}\n \n \n \n \n
\n
\n \n \n Are you already a customer? Register Here →\n \n \n \n
\n
\n \n )}\n\n \n \n
\n
\n \n );\n};\n\nexport default connector(withStyles(styles)(License));\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 VerifiedIcon = (props: SVGProps) => (\n \n \n \n \n \n \n \n \n \n \n);\n\nexport default VerifiedIcon;\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 VerifiedIcon from \"../../../icons/VerifiedIcon\";\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n registeredStatus: {\n border: \"1px solid #E2E2E2\",\n padding: \"24px 24px 24px 24px\",\n borderRadius: 2,\n marginBottom: 25,\n backgroundColor: \"#FBFAFA\",\n \"& .min-icon\": {\n width: 20,\n height: 20,\n marginLeft: 48,\n marginRight: 13,\n verticalAlign: \"middle\",\n marginTop: -3,\n },\n \"& span\": {\n fontWeight: \"bold\",\n },\n },\n });\n\ninterface IRegisterStatus {\n classes: any;\n}\n\nfunction RegisterStatus({ classes }: IRegisterStatus) {\n return (\n \n \n Registration Status:\n \n Registered\n \n \n );\n}\n\nexport default withStyles(styles)(RegisterStatus);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckCircle');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9V6zm9 14H6V10h12v10zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z\"\n}), 'LockOutlined');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 5.9c1.16 0 2.1.94 2.1 2.1s-.94 2.1-2.1 2.1S9.9 9.16 9.9 8s.94-2.1 2.1-2.1m0 9c2.97 0 6.1 1.46 6.1 2.1v1.1H5.9V17c0-.64 3.13-2.1 6.1-2.1M12 4C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 9c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4z\"\n}), 'PersonOutlineOutlined');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLinkUtilityClass(slot) {\n return generateUtilityClass('MuiLink', slot);\n}\nconst linkClasses = generateUtilityClasses('MuiLink', ['root', 'underlineNone', 'underlineHover', 'underlineAlways', 'button', 'focusVisible']);\nexport default linkClasses;","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\"];\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 { alpha, getPath } from '@mui/system';\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 { jsx as _jsx } from \"react/jsx-runtime\";\nconst colorTransformations = {\n primary: 'primary.main',\n textPrimary: 'text.primary',\n secondary: 'secondary.main',\n textSecondary: 'text.secondary',\n error: 'error.main'\n};\n\nconst transformDeprecatedColors = color => {\n return colorTransformations[color] || color;\n};\n\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};\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 const color = getPath(theme, `palette.${transformDeprecatedColors(ownerState.color)}`) || ownerState.color;\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' && {\n textDecoration: 'underline',\n textDecorationColor: color !== 'inherit' ? alpha(color, 0.4) : undefined,\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\n const {\n className,\n color = 'primary',\n component = 'a',\n onBlur,\n onFocus,\n TypographyClasses,\n underline = 'always',\n variant = 'inherit'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\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\n const handleBlur = event => {\n handleBlurVisible(event);\n\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleFocus = event => {\n handleFocusVisible(event);\n\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const ownerState = _extends({}, props, {\n color,\n component,\n focusVisible,\n underline,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LinkRoot, _extends({\n className: clsx(classes.root, className),\n classes: TypographyClasses,\n color: color,\n component: component,\n onBlur: handleBlur,\n onFocus: handleFocus,\n ref: handlerRef,\n ownerState: ownerState,\n variant: variant\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the link.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .any,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * `classes` prop applied to the [`Typography`](/api/typography/) element.\n */\n TypographyClasses: PropTypes.object,\n\n /**\n * Controls when the link should have an underline.\n * @default 'always'\n */\n underline: PropTypes.oneOf(['always', 'hover', 'none']),\n\n /**\n * Applies the theme typography styles.\n * @default 'inherit'\n */\n variant: PropTypes\n /* @typescript-to-proptypes-ignore */\n .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;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\n\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input')({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n/**\n * @ignore - internal component.\n */\n\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n\n let disabled = disabledProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor && id,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n}); // NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\n\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /*\n * @ignore\n */\n name: PropTypes.string,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;"],"names":["inputStyles","makeStyles","theme","createStyles","inputFieldStyles","InputField","props","classes","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","label","onChange","value","id","name","type","autoComplete","disabled","multiline","tooltip","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","className","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","fullWidth","helperText","inputRebase","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","radioStyles","root","backgroundColor","radioIcons","RadioButton","color","checkedIcon","radioSelectedIcon","icon","radioUnselectedIcon","optionLabel","marginRight","fontSize","checkedOption","selectorOptions","currentSelection","disableOptions","displayInColumn","alignItems","item","xs","radioOptionsLayout","row","style","display","textAlign","map","selectorOption","control","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","marginTop","width","border","borderLeftWidth","borderRadius","zIndex","padding","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","cursor","errorTitle","errorLabel","marginLeft","messageIcon","height","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","useState","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","get","messageDetails","Fragment","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","toggleList","sidebarOpen","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","boxShadow","justifyContent","labelStyle","rightMenu","logo","fill","palette","primary","main","middleComponent","actions","direction","sm","md","sx","paddingTop","variant","component","pageTitle","marginBottom","pageSubTitle","containerForHeader","spacing","closeModal","ModalWrapper","Grid","Typography","subnetLicenseKey","target","href","rel","subnetLoginForm","licenseKeyField","registrationMode","button","textTransform","background","buttonSignup","formFieldStyles","clusterRegistrationForm","license","setLicense","subnetPassword","setSubnetPassword","subnetEmail","setSubnetEmail","subnetMFAToken","setSubnetMFAToken","subnetOTP","setSubnetOTP","subnetAccessToken","setSubnetAccessToken","selectedSubnetOrganisation","setSelectedSubnetOrganisation","subnetRegToken","setSubnetRegToken","subnetOrganizations","setSubnetOrganizations","onlineActivation","setOnlineActivation","loading","setLoading","clearForm","subnetLogin","request","username","password","apiKey","api","then","resp","registered","mfa_token","access_token","organizations","accountId","toString","catch","err","gutterBottom","formFieldRow","RadioGroupSelector","e","organisation","company","Button","token","account_id","subnetRegister","trim","InputBoxWrapper","LockOutlined","otp","subnetLoginWithMFA","PersonOutlineOutlined","preventDefault","window","Link","regToken","navigator","clipboard","writeText","LinearProgress","planDetails","price","capacityMax","capacityMin","planItems","field","plans","Community","detail","link","Standard","Enterprise","planButtons","text","text2","plan","planItemsPadding","borderTop","planItemsBorder","textDecoration","info","linkButton","fontFamily","margin","tableContainer","detailsContainerBorder","borderLeft","detailsTitle","currPlan","planHeader","detailsPrice","detailsCapacityMax","itemContainer","borderRight","itemContainerDetail","alignContent","itemFirst","checkIcon","buttonContainer","buttonContainerBlank","buttonContainerHighlighted","activateLink","clear","currentPlanBG","activateProductModal","closeModalAndFetchLicenseInfo","licenseInfo","setLicenseModal","currentPlanID","planDetailsFiltered","setActivateProductModal","filter","planButtonsFiltered","gridColWidth","details","currentPlan","toLowerCase","communityDetail","pd","CheckCircle","undefined","listStyleType","float","licDet","linkMore","chooseFlavorText","licenseContainer","flexWrap","flexDirection","openSourcePolicy","subnetRefreshLicenseLink","licenseInfoTitle","licenseInfoValue","subnetSubTitle","verifiedIcon","bottom","loadingLoginStrategy","mainContainer","licenseModal","setLicenseInfo","setCurrentPlanID","loadingLicenseInfo","setLoadingLicenseInfo","initialLicenseLoading","setInitialLicenseLoading","loadingRefreshLicense","setLoadingRefreshLicense","clusterRegistered","setClusterRegistered","getSubnetInfo","hasPermission","CONSOLE_UI_RESOURCE","IAM_PAGES_PERMISSIONS","IAM_PAGES","fetchLicenseInfo","res","PageHeader","RegisterStatus","lg","organization","niceBytes","storage_capacity","email","format","expires_at","split","slice","join","src","alt","CircularProgress","to","xmlns","d","clipPath","registeredStatus","verticalAlign","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","getLinkUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","colorTransformations","textPrimary","secondary","textSecondary","LinkRoot","styled","overridesResolver","styles","ownerState","capitalize","underline","getPath","transformDeprecatedColors","_extends","textDecorationColor","alpha","WebkitTapHighlightColor","outline","userSelect","MozAppearance","WebkitAppearance","borderStyle","linkClasses","React","inProps","ref","useThemeProps","onBlur","onFocus","TypographyClasses","other","_objectWithoutPropertiesLoose","useIsFocusVisible","isFocusVisibleRef","handleBlurVisible","handleFocusVisible","focusVisibleRef","focusVisible","setFocusVisible","handlerRef","useForkRef","slots","composeClasses","useUtilityClasses","_jsx","current","getSwitchBaseUtilityClass","SwitchBaseRoot","ButtonBase","edge","SwitchBaseInput","checkedProp","checked","defaultChecked","disabledProp","inputRef","readOnly","tabIndex","useControlled","controlled","Boolean","setCheckedState","muiFormControl","useFormControl","hasLabelFor","input","_jsxs","centerRipple","focusRipple","role","nativeEvent","defaultPrevented","newChecked"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3474.378d2159.chunk.js b/portal-ui/build/static/js/3474.fe892013.chunk.js similarity index 61% rename from portal-ui/build/static/js/3474.378d2159.chunk.js rename to portal-ui/build/static/js/3474.fe892013.chunk.js index 61798e81b..21cb26956 100644 --- a/portal-ui/build/static/js/3474.378d2159.chunk.js +++ b/portal-ui/build/static/js/3474.fe892013.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3474],{66964:function(e,o,t){var i=t(18489),n=t(50390),r=t(12066),a=t(25594),s=t(14602),c=t(94187),l=t(95467),d=t(86509),h=t(62449),u=t(4285),p=t(72462),m=t(97538),f=t(44977),g=t(62559),y=(0,h.Z)((function(e){return(0,d.Z)((0,i.Z)({},p.gM))}));function b(e){var o=y();return(0,g.jsx)(r.Z,(0,i.Z)({InputProps:{classes:o}},e))}o.Z=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var o=e.label,t=e.onChange,r=e.value,d=e.id,h=e.name,u=e.type,p=void 0===u?"text":u,y=e.autoComplete,x=void 0===y?"off":y,v=e.disabled,w=void 0!==v&&v,j=e.multiline,k=void 0!==j&&j,Z=e.tooltip,S=void 0===Z?"":Z,N=e.index,C=void 0===N?0:N,L=e.error,P=void 0===L?"":L,T=e.required,A=void 0!==T&&T,I=e.placeholder,E=void 0===I?"":I,R=e.min,O=e.max,F=e.overlayIcon,M=void 0===F?null:F,B=e.overlayObject,D=void 0===B?null:B,G=e.extraInputProps,U=void 0===G?{}:G,z=e.overlayAction,H=e.noLabelMinWidth,Y=void 0!==H&&H,W=e.pattern,q=void 0===W?"":W,V=e.autoFocus,_=void 0!==V&&V,K=e.classes,$=e.className,Q=void 0===$?"":$,X=(0,i.Z)({"data-index":C},U);return"number"===p&&R&&(X.min=R),"number"===p&&O&&(X.max=O),""!==q&&(X.pattern=q),(0,g.jsx)(n.Fragment,{children:(0,g.jsxs)(a.ZP,{container:!0,className:(0,f.Z)(""!==Q?Q:"",""!==P?K.errorInField:K.inputBoxContainer),children:[""!==o&&(0,g.jsxs)(s.Z,{htmlFor:d,className:Y?K.noMinWidthLabel:K.inputLabel,children:[(0,g.jsxs)("span",{children:[o,A?"*":""]}),""!==S&&(0,g.jsx)("div",{className:K.tooltipContainer,children:(0,g.jsx)(c.Z,{title:S,placement:"top-start",children:(0,g.jsx)("div",{className:K.tooltip,children:(0,g.jsx)(m.Z,{})})})})]}),(0,g.jsxs)("div",{className:K.textBoxContainer,children:[(0,g.jsx)(b,{id:d,name:h,fullWidth:!0,value:r,autoFocus:_,disabled:w,onChange:t,type:p,multiline:k,autoComplete:x,inputProps:X,error:""!==P,helperText:P,placeholder:E,className:K.inputRebase}),M&&(0,g.jsx)("div",{className:"".concat(K.overlayAction," ").concat(""!==o?"withLabel":""),children:(0,g.jsx)(l.Z,{onClick:z?function(){z()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:M})}),D&&(0,g.jsx)("div",{className:"".concat(K.overlayAction," ").concat(""!==o?"withLabel":""),children:D})]})]})})}))},27207:function(e,o,t){var i=t(36222),n=t(18489),r=(t(50390),t(44977)),a=t(25594),s=t(82420),c=t(66695),l=t(98893),d=t(14602),h=t(94187),u=t(86509),p=t(4285),m=t(62449),f=t(72462),g=t(97538),y=t(62559),b=(0,m.Z)((0,n.Z)({root:{"&:hover":{backgroundColor:"transparent"}}},f.FU)),x=function(e){var o=b();return(0,y.jsx)(l.Z,(0,n.Z)({className:o.root,disableRipple:!0,color:"default",checkedIcon:(0,y.jsx)("span",{className:o.radioSelectedIcon}),icon:(0,y.jsx)("span",{className:o.radioUnselectedIcon})},e))};o.Z=(0,p.Z)((function(e){return(0,u.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},f.YI),f.Hr),{},{optionLabel:{"&.Mui-disabled":{"& .MuiFormControlLabel-label":{color:"#9c9c9c"}},"&:last-child":{marginRight:0},"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E"}},checkedOption:{"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E",fontWeight:700}}}))}))((function(e){var o=e.selectorOptions,t=void 0===o?[]:o,n=e.currentSelection,l=e.label,u=e.id,p=e.name,m=e.onChange,f=e.tooltip,b=void 0===f?"":f,v=e.disableOptions,w=void 0!==v&&v,j=e.classes,k=e.displayInColumn,Z=void 0!==k&&k;return(0,y.jsxs)(a.ZP,{container:!0,alignItems:"center",children:[(0,y.jsx)(a.ZP,{item:!0,xs:!0,children:(0,y.jsxs)(d.Z,{htmlFor:u,className:j.inputLabel,children:[(0,y.jsx)("span",{children:l}),""!==b&&(0,y.jsx)("div",{className:j.tooltipContainer,children:(0,y.jsx)(h.Z,{title:b,placement:"top-start",children:(0,y.jsx)("div",{children:(0,y.jsx)(g.Z,{})})})})]})}),(0,y.jsx)(a.ZP,{item:!0,xs:!0,className:j.radioOptionsLayout,children:(0,y.jsx)(s.Z,{"aria-label":u,id:u,name:p,value:n,onChange:m,row:!Z,style:{display:"block",textAlign:"right"},children:t.map((function(e){return(0,y.jsx)(c.Z,{value:e.value,control:(0,y.jsx)(x,{}),label:e.label,disabled:w,className:(0,r.Z)(j.optionLabel,(0,i.Z)({},j.checkedOption,e.value===n))},"rd-".concat(p,"-").concat(e.value))}))})})]})}))},76352:function(e,o,t){t.d(o,{Z:function(){return C}});var i,n=t(23430),r=t(18489),a=t(50390),s=t(34424),c=t(95467),l=t(97771),d=t(84402),h=t(78426),u=t(93085),p=t(86509),m=t(4285),f=t(72462),g=t(44149),y=t(38342),b=t.n(y),x=t(92125),v=t(19538),w=t(21278),j=t(62559),k=function(){clearInterval(i)},Z={displayErrorMessage:g.zb},S=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),Z)((0,m.Z)((function(e){return(0,p.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var o=e.classes,t=e.modalSnackMessage,r=e.displayErrorMessage,s=e.customStyle,c=(0,a.useState)(!1),l=(0,n.Z)(c,2),d=l[0],h=l[1],u=(0,a.useState)(!1),p=(0,n.Z)(u,2),m=p[0],f=p[1],g=(0,a.useCallback)((function(){f(!1)}),[]);(0,a.useEffect)((function(){m||(r({detailedError:"",errorMessage:""}),h(!1))}),[r,m]),(0,a.useEffect)((function(){""!==t.message&&"error"===t.type&&f(!0)}),[g,t.message,t.type]);var y=b()(t,"message",""),Z=b()(t,"detailedErrorMsg","");return"error"!==t.type||""===y?null:(0,j.jsx)(a.Fragment,{children:(0,j.jsxs)("div",{className:"".concat(o.modalErrorContainer," ").concat(m?o.modalErrorShow:""),style:s,onMouseOver:k,onMouseLeave:function(){i=setInterval(g,1e4)},children:[(0,j.jsx)("button",{className:o.closeButton,onClick:g,children:(0,j.jsx)(w.Z,{})}),(0,j.jsxs)("div",{className:o.errorTitle,children:[(0,j.jsx)("span",{className:o.messageIcon,children:(0,j.jsx)(v.Z,{})}),(0,j.jsx)("span",{className:o.errorLabel,children:y})]}),""!==Z&&(0,j.jsxs)(a.Fragment,{children:[(0,j.jsx)("div",{className:o.detailsContainerLink,children:(0,j.jsxs)("button",{className:o.detailsButton,onClick:function(){h(!d)},children:["Details",(0,j.jsx)(x.Z,{className:"".concat(o.arrowElement," ").concat(d?o.arrowOpen:"")})]})}),(0,j.jsx)("div",{className:"".concat(o.extraDetailsContainer," ").concat(d?o.extraDetailsOpen:""),children:Z})]})]})})}))),N=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:g.MK}),C=(0,m.Z)((function(e){return(0,p.Z)((0,r.Z)((0,r.Z)({},f.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},f.sN))}))(N((function(e){var o=e.onClose,t=e.modalOpen,i=e.title,s=e.children,p=e.classes,m=e.wideLimit,f=void 0===m||m,g=e.modalSnackMessage,y=e.noContentPadding,b=e.setModalSnackMessage,x=e.titleIcon,v=void 0===x?null:x,k=(0,a.useState)(!1),Z=(0,n.Z)(k,2),N=Z[0],C=Z[1];(0,a.useEffect)((function(){b("")}),[b]),(0,a.useEffect)((function(){if(g){if(""===g.message)return void C(!1);"error"!==g.type&&C(!0)}}),[g]);var L=f?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},P="";return g&&(P=g.detailedErrorMsg,(""===g.detailedErrorMsg||g.detailedErrorMsg.length<5)&&(P=g.message)),(0,j.jsxs)(d.Z,(0,r.Z)((0,r.Z)({open:t,classes:p},L),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&o()},className:p.root,children:[(0,j.jsxs)(h.Z,{className:p.title,children:[(0,j.jsxs)("div",{className:p.titleText,children:[v," ",i]}),(0,j.jsx)("div",{className:p.closeContainer,children:(0,j.jsx)(c.Z,{"aria-label":"close",className:p.closeButton,onClick:o,disableRipple:!0,size:"small",children:(0,j.jsx)(w.Z,{})})})]}),(0,j.jsx)(S,{}),(0,j.jsx)(l.Z,{open:N,className:p.snackBarModal,onClose:function(){C(!1),b("")},message:P,ContentProps:{className:"".concat(p.snackBar," ").concat(g&&"error"===g.type?p.errorSnackBar:"")},autoHideDuration:g&&"error"===g.type?1e4:5e3}),(0,j.jsx)(u.Z,{className:y?"":p.content,children:s})]}))})))},35721:function(e,o,t){t(50390);var i=t(34424),n=t(25594),r=t(86509),a=t(4285),s=t(35477),c=t(95467),l=t(26805),d=t(44078),h=t(5265),u=t(11387),p=t(62559),m={toggleList:h.kQ},f=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),m);o.Z=f((0,a.Z)((function(e){return(0,r.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var o=e.classes,t=e.label,i=e.actions,r=e.sidebarOpen,a=e.operatorMode,h=e.managerObjects,m=e.toggleList,f=e.middleComponent;return(0,p.jsxs)(n.ZP,{container:!0,className:"".concat(o.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(n.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:o.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!r&&(0,p.jsx)("div",{className:o.logo,children:a?(0,p.jsx)(l.Z,{}):(0,p.jsx)(d.Z,{})}),(0,p.jsx)(s.Z,{variant:"h4",className:o.labelStyle,children:t})]}),f&&(0,p.jsx)(n.ZP,{item:!0,xs:12,sm:12,md:6,className:o.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,p.jsxs)(n.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:o.rightMenu,children:[i&&i,h&&h.length>0&&(0,p.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){m()},size:"large",children:(0,p.jsx)(u.gx,{})})]})]})})))},62234:function(e,o,t){t.r(o),t.d(o,{default:function(){return Y}});var i=t(23430),n=t(18489),r=t(50390),a=t(34424),s=t(86509),c=t(4285),l=t(81378),d=t(18201),h=t(44977),u=t(25594),p=t(66946),m=t(87248),f=t.n(m),g=t(35477),y=t(28948),b=t(72462),x=t(35721),v=t(76352),w=t(62559),j=(0,c.Z)((function(e){return(0,s.Z)((0,n.Z)({pageTitle:{fontSize:18,marginBottom:20,textAlign:"center"},pageSubTitle:{textAlign:"center"}},(0,b.Bz)(e.spacing(4))))}))((function(e){var o=e.classes,t=e.open,i=e.closeModal;return t?(0,w.jsxs)(v.Z,{title:"",modalOpen:t,onClose:function(){i()},"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[" ",(0,w.jsxs)(u.ZP,{container:!0,alignItems:"center",item:!0,xs:12,children:[(0,w.jsxs)(u.ZP,{item:!0,xs:12,children:[(0,w.jsx)(g.Z,{component:"h2",variant:"h6",className:o.pageTitle,children:"GNU AFFERO GENERAL PUBLIC LICENSE"}),(0,w.jsx)("p",{className:o.pageSubTitle,children:"Version 3, 19 November 2007"})]}),(0,w.jsxs)(u.ZP,{item:!0,className:o.subnetLicenseKey,xs:12,children:[(0,w.jsxs)("p",{children:["Copyright \xa9 2007 Free Software Foundation, Inc. <",(0,w.jsx)("a",{target:"_blank",href:"https://fsf.org/",rel:"noreferrer",children:"https://fsf.org/"}),">"]}),(0,w.jsxs)("p",{children:[" ","Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed."]}),(0,w.jsx)("h1",{children:"Preamble"}),(0,w.jsx)("p",{children:"The GNU Affero General Public License is a free, copyleft license for software and other kinds of works, specifically designed to ensure cooperation with the community in the case of network server software."}),(0,w.jsx)("p",{children:"The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, our General Public Licenses are intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users."}),(0,w.jsx)("p",{children:"When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things."}),(0,w.jsx)("p",{children:"Developers that use our General Public Licenses protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License which gives you legal permission to copy, distribute and/or modify the software."}),(0,w.jsx)("p",{children:"A secondary benefit of defending all users' freedom is that improvements made in alternate versions of the program, if they receive widespread use, become available for other developers to incorporate. Many developers of free software are heartened and encouraged by the resulting cooperation. However, in the case of software used on network servers, this result may fail to come about. The GNU General Public License permits making a modified version and letting the public access it on a server without ever releasing its source code to the public."}),(0,w.jsx)("p",{children:"The GNU Affero General Public License is designed specifically to ensure that, in such cases, the modified source code becomes available to the community. It requires the operator of a network server to provide the source code of the modified version running there to the users of that server. Therefore, public use of a modified version, on a publicly accessible server, gives the public access to the source code of the modified version."}),(0,w.jsx)("p",{children:"An older license, called the Affero General Public License and published by Affero, was designed to accomplish similar goals. This is a different license, not a version of the Affero GPL, but Affero has released a new version of the Affero GPL which permits relicensing under this license."}),(0,w.jsx)("p",{children:"The precise terms and conditions for copying, distribution and modification follow."}),(0,w.jsx)("h2",{children:"TERMS AND CONDITIONS"}),(0,w.jsx)("h2",{children:"0. Definitions."}),(0,w.jsx)("p",{children:'"This License" refers to version 3 of the GNU Affero General Public License.'}),(0,w.jsx)("p",{children:'"Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.'}),(0,w.jsx)("p",{children:'"The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations.'}),(0,w.jsx)("p",{children:'To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work.'}),(0,w.jsx)("p",{children:'A "covered work" means either the unmodified Program or a work based on the Program.'}),(0,w.jsx)("p",{children:'To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.'}),(0,w.jsx)("p",{children:'To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.'}),(0,w.jsx)("p",{children:'An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.'}),(0,w.jsx)("h2",{children:"1. Source Code."}),(0,w.jsx)("p",{children:'The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work.'}),(0,w.jsx)("p",{children:'A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.'}),(0,w.jsx)("p",{children:'The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.'}),(0,w.jsx)("p",{children:'The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work\'s System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.'}),(0,w.jsx)("p",{children:"The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source."}),(0,w.jsx)("p",{children:"The Corresponding Source for a work in source code form is that same work."}),(0,w.jsx)("h2",{children:"2. Basic Permissions."}),(0,w.jsx)("p",{children:"All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law."}),(0,w.jsx)("p",{children:"You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you."}),(0,w.jsx)("p",{children:"Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary."}),(0,w.jsx)("h2",{children:"3. Protecting Users' Legal Rights From Anti-Circumvention Law."}),(0,w.jsx)("p",{children:"No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures."}),(0,w.jsx)("p",{children:"When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures."}),(0,w.jsx)("h2",{children:"4. Conveying Verbatim Copies."}),(0,w.jsx)("p",{children:"You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program."}),(0,w.jsx)("p",{children:"You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee."}),(0,w.jsx)("h2",{children:"5. Conveying Modified Source Versions."}),(0,w.jsx)("p",{children:"You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:"}),(0,w.jsx)("p",{children:(0,w.jsxs)("ul",{children:[(0,w.jsx)("li",{children:"a) The work must carry prominent notices stating that you modified it, and giving a relevant date."}),(0,w.jsx)("li",{children:'b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices".'}),(0,w.jsx)("li",{children:"c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it."}),(0,w.jsx)("li",{children:"d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so."})]})}),(0,w.jsx)("p",{children:'A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation\'s users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.'}),(0,w.jsx)("h2",{children:"6. Conveying Non-Source Forms."}),(0,w.jsx)("p",{children:"You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:"}),(0,w.jsx)("p",{children:(0,w.jsxs)("ul",{children:[(0,w.jsx)("li",{children:"a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange."}),(0,w.jsx)("li",{children:"b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge."}),(0,w.jsx)("li",{children:"c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b."}),(0,w.jsx)("li",{children:"d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements."}),(0,w.jsx)("li",{children:"e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d."})]})}),(0,w.jsx)("p",{children:"A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work."}),(0,w.jsx)("p",{children:'A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.'}),(0,w.jsx)("p",{children:'"Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.'}),(0,w.jsx)("p",{children:"If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM)."}),(0,w.jsx)("p",{children:"The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network."}),(0,w.jsx)("p",{children:"Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying."}),(0,w.jsx)("h2",{children:"7. Additional Terms."}),(0,w.jsx)("p",{children:'"Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.'}),(0,w.jsx)("p",{children:"When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission."}),(0,w.jsx)("p",{children:"Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:"}),(0,w.jsx)("p",{children:(0,w.jsxs)("ul",{children:[(0,w.jsx)("li",{children:"a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or"}),(0,w.jsx)("li",{children:"b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or"}),(0,w.jsx)("li",{children:"c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or"}),(0,w.jsx)("li",{children:"d) Limiting the use for publicity purposes of names of licensors or authors of the material; or"}),(0,w.jsx)("li",{children:"e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or"}),(0,w.jsx)("li",{children:"f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors."})]})}),(0,w.jsx)("p",{children:'All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.'}),(0,w.jsx)("p",{children:"If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms."}),(0,w.jsx)("p",{children:"Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way."}),(0,w.jsx)("h2",{children:"8. Termination."}),(0,w.jsx)("p",{children:"You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11)."}),(0,w.jsx)("p",{children:"However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation."}),(0,w.jsx)("p",{children:"Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice."}),(0,w.jsx)("p",{children:"Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10."}),(0,w.jsx)("h2",{children:"9. Acceptance Not Required for Having Copies."}),(0,w.jsx)("p",{children:"You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so."}),(0,w.jsx)("h2",{children:"10. Automatic Licensing of Downstream Recipients."}),(0,w.jsx)("p",{children:"Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License."}),(0,w.jsx)("p",{children:'An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party\'s predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.'}),(0,w.jsx)("p",{children:"You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it."}),(0,w.jsx)("h2",{children:"11. Patents."}),(0,w.jsx)("p",{children:'A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor\'s "contributor version".'}),(0,w.jsx)("p",{children:'A contributor\'s "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.'}),(0,w.jsx)("p",{children:"Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version."}),(0,w.jsx)("p",{children:'In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.'}),(0,w.jsx)("p",{children:'If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient\'s use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.'}),(0,w.jsx)("p",{children:"If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it."}),(0,w.jsx)("p",{children:'A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.'}),(0,w.jsx)("p",{children:"Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law."}),(0,w.jsx)("h2",{children:"12. No Surrender of Others' Freedom."}),(0,w.jsx)("p",{children:"If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program."}),(0,w.jsx)("h2",{children:"13. Remote Network Interaction; Use with the GNU General Public License."}),(0,w.jsx)("p",{children:"Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph."}),(0,w.jsx)("p",{children:"Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the work with which it is combined will remain governed by version 3 of the GNU General Public License."}),(0,w.jsx)("h2",{children:"14. Revised Versions of this License."}),(0,w.jsx)("p",{children:"The Free Software Foundation may publish revised and/or new versions of the GNU Affero General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns."}),(0,w.jsx)("p",{children:'Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU Affero General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU Affero General Public License, you may choose any version ever published by the Free Software Foundation.'}),(0,w.jsx)("p",{children:'Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU Affero General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU Affero General Public License, you may choose any version ever published by the Free Software Foundation.'}),(0,w.jsx)("p",{children:"Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version."}),(0,w.jsx)("h2",{children:"15. Disclaimer of Warranty."}),(0,w.jsx)("p",{children:'THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.'}),(0,w.jsx)("h2",{children:"16. Limitation of Liability."}),(0,w.jsx)("p",{children:"IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES."}),(0,w.jsx)("h2",{children:"17. Interpretation of Sections 15 and 16."}),(0,w.jsx)("p",{children:"If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee."}),(0,w.jsx)("p",{children:"END OF TERMS AND CONDITIONS"}),(0,w.jsx)("h2",{children:"How to Apply These Terms to Your New Programs"}),(0,w.jsx)("p",{children:"If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms."}),(0,w.jsx)("p",{children:'To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.'}),(0,w.jsx)("p",{children:(0,w.jsx)("code",{children:" Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see ."})}),(0,w.jsx)("p",{children:"Also add information on how to contact you by electronic and paper mail."}),(0,w.jsx)("p",{children:'If your software can interact with users remotely through a computer network, you should also make sure that it provides a way for users to get its source. For example, if your program is a web application, its interface could display a "Source" link that leads users to an archive of the code. There are many ways you could offer source, and different solutions will be better for different programs; see section 13 for the specific requirements.'}),(0,w.jsxs)("p",{children:['You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU AGPL, see <',(0,w.jsx)("a",{target:"_blank",href:"https://www.gnu.org/licenses/",rel:"noreferrer",children:"https://www.gnu.org/licenses/"}),">."]})]})]})]}):null})),k=t(30324),Z=t(11387),S=t(15607),N=t(49495),C=t(15533),L=t(36222),P=t(44149),T=t(66964),A=t(79136),I=t(70011),E=t(27207),R=t(10567),O={setModalErrorSnackMessage:P.zb},F=(0,a.$j)(null,O),M=(0,c.Z)((function(e){return(0,s.Z)((0,n.Z)((0,n.Z)({subnetLicenseKey:{},subnetLoginForm:{},licenseKeyField:{},pageTitle:{marginBottom:20},registrationMode:{cursor:"pointer"},button:{textTransform:"none",fontSize:15,fontWeight:700,background:"transparent linear-gradient(90deg, #073052 0%, #081c42 100%) 0% 0% no-repeat padding-box",color:"#fff"},buttonSignup:{textTransform:"none",fontSize:15,fontWeight:700,marginLeft:15}},b.DF),(0,b.Bz)(e.spacing(4))))}))(F((function(e){var o,t=e.classes,n=e.open,a=e.closeModal,s=e.setModalErrorSnackMessage,c=(0,r.useState)(""),d=(0,i.Z)(c,2),h=d[0],m=d[1],f=(0,r.useState)(""),y=(0,i.Z)(f,2),b=y[0],x=y[1],j=(0,r.useState)(""),Z=(0,i.Z)(j,2),S=Z[0],N=Z[1],C=(0,r.useState)(""),L=(0,i.Z)(C,2),P=L[0],O=L[1],F=(0,r.useState)(""),M=(0,i.Z)(F,2),B=M[0],D=M[1],G=(0,r.useState)(""),U=(0,i.Z)(G,2),z=U[0],H=U[1],Y=(0,r.useState)(""),W=(0,i.Z)(Y,2),q=W[0],V=W[1],_=(0,r.useState)(""),K=(0,i.Z)(_,2),$=K[0],Q=K[1],X=(0,r.useState)([]),J=(0,i.Z)(X,2),ee=J[0],oe=J[1],te=(0,r.useState)(!0),ie=(0,i.Z)(te,2),ne=ie[0],re=ie[1],ae=(0,r.useState)(!1),se=(0,i.Z)(ae,2),ce=se[0],le=se[1],de=function(){m(""),x(""),N(""),O(""),D("")},he=function(){if(!ce){le(!0);var e={username:S,password:b,apiKey:h};k.Z.invoke("POST","/api/v1/subnet/login",e).then((function(e){le(!1),e&&e.registered?(de(),a()):e&&e.mfa_token?O(e.mfa_token):e&&e.access_token&&e.organizations.length>0&&(H(e.access_token),oe(e.organizations),V(e.organizations[0].accountId.toString()))})).catch((function(e){le(!1),de(),s(e)}))}};return o=z&&ee.length>0?(0,w.jsxs)(r.Fragment,{children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(g.Z,{variant:"subtitle2",gutterBottom:!0,component:"div",children:"Register MinIO cluster"})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,w.jsx)(E.Z,{tooltip:"Please choose the organization for this cluster.",currentSelection:q,id:"subnet-organisation",name:"subnet-organisation",label:"Select an Organisation",onChange:function(e){V(e.target.value)},selectorOptions:ee.map((function(e){return{value:e.accountId.toString(),label:e.company}}))})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,w.jsx)(p.Z,{className:t.button,color:"primary",onClick:function(){return function(){if(!ce&&(le(!0),z&&q)){var e={token:z,account_id:q};k.Z.invoke("POST","/api/v1/subnet/register",e).then((function(){le(!1),de(),a()})).catch((function(e){le(!1),s(e)}))}}()},disabled:ce||0===z.trim().length,variant:"contained",children:"Register"})})]}):P?(0,w.jsxs)(r.Fragment,{children:[(0,w.jsxs)(u.ZP,{item:!0,xs:12,children:[(0,w.jsx)(g.Z,{variant:"subtitle2",gutterBottom:!0,component:"div",children:"Two-Factor Authentication"}),(0,w.jsx)(g.Z,{variant:"caption",display:"block",gutterBottom:!0,children:"Please enter the 6-digit verification code that was sent to your email address. This code will be valid for 5 minutes."})]}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,w.jsx)(T.Z,{overlayIcon:(0,w.jsx)(I.Z,{}),id:"subnet-otp",name:"subnet-otp",onChange:function(e){D(e.target.value)},placeholder:"",label:"",type:"text",value:B})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,w.jsx)(p.Z,{color:"primary",onClick:function(){return function(){if(!ce){le(!0);var e={username:S,otp:B,mfa_token:P};k.Z.invoke("POST","/api/v1/subnet/login/mfa",e).then((function(e){le(!1),e&&e.access_token&&e.organizations.length>0&&(H(e.access_token),oe(e.organizations),V(e.organizations[0].accountId.toString()))})).catch((function(e){le(!1),D(""),s(e)}))}}()},disabled:ce||0===B.trim().length||0===P.trim().length,variant:"contained",children:"Verify"})})]}):(0,w.jsxs)(r.Fragment,{children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,w.jsx)(T.Z,{overlayIcon:(0,w.jsx)(A.Z,{}),id:"subnet-email",name:"subnet-email",onChange:function(e){N(e.target.value)},placeholder:"email",label:"",type:"text",value:S})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,w.jsx)(T.Z,{overlayIcon:(0,w.jsx)(I.Z,{}),id:"subnet-password",name:"subnet-password",onChange:function(e){x(e.target.value)},placeholder:"password",label:"",type:"password",value:b})}),(0,w.jsxs)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:[(0,w.jsx)(p.Z,{color:"primary",onClick:function(){return he()},disabled:ce||0===S.trim().length||0===b.trim().length,variant:"contained",children:"Login"}),(0,w.jsx)(p.Z,{className:t.buttonSignup,color:"primary",target:"_blank",rel:"noopener noreferrer",href:"#",onClick:function(e){e.preventDefault(),window.open("https://min.io/pricing","_blank")},variant:"outlined",children:"Sign Up"})]}),(0,w.jsx)(g.Z,{variant:"caption",display:"block",gutterBottom:!0,children:(0,w.jsx)(R.Z,{className:t.registrationMode,color:"inherit",onClick:function(){ce||$||(le(!0),k.Z.invoke("GET","/api/v1/subnet/registration-token").then((function(e){le(!1),e&&e.regToken&&Q(e.regToken)})).catch((function(e){le(!1),s(e)}))),re(!1)},children:"Offline Activation"})})]}),n?(0,w.jsxs)(v.Z,{title:"",modalOpen:n,onClose:function(){m(""),x(""),N(""),a()},"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[(0,w.jsxs)(u.ZP,{container:!0,alignItems:"center",item:!0,xs:12,children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(g.Z,{component:"h2",variant:"h6",className:t.pageTitle,children:"Activate SUBNET License"})}),ne?(0,w.jsx)(u.ZP,{item:!0,className:t.subnetLoginForm,xs:12,children:(0,w.jsx)(u.ZP,{container:!0,children:o})}):(0,w.jsxs)(u.ZP,{item:!0,className:t.subnetLicenseKey,xs:12,children:[(0,w.jsx)(g.Z,{variant:"caption",display:"block",gutterBottom:!0,children:"Step 1: Copy the following registration token"}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,w.jsx)(T.Z,{onChange:function(){},id:"registration-token",name:"registration-token",placeholder:"",label:"",type:"text",value:$,disabled:!0})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,w.jsx)(p.Z,{variant:"contained",color:"primary",onClick:function(){return navigator.clipboard.writeText($)},children:"Copy"})}),(0,w.jsxs)(g.Z,{variant:"caption",display:"block",gutterBottom:!0,children:["Step 2: Use the previous token to register your cluster at:"," ",(0,w.jsx)(R.Z,{color:"inherit",href:"https://subnet.min.io/cluster/register",target:"_blank",children:"https://subnet.min.io/cluster/register"})]}),(0,w.jsx)(g.Z,{variant:"caption",display:"block",gutterBottom:!0,children:"Step 3: Enter the API key generated by SUBNET"}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,w.jsx)(T.Z,{value:h,onChange:function(e){return m(e.target.value)},id:"api-key",name:"api-key",placeholder:"",label:"",type:"text"})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,w.jsx)(p.Z,{variant:"contained",color:"primary",onClick:function(){return he()},disabled:ce||0===h.trim().length,children:"Activate"})}),(0,w.jsx)(g.Z,{variant:"caption",display:"block",gutterBottom:!0,children:(0,w.jsx)(R.Z,{className:t.registrationMode,color:"inherit",onClick:function(){return re(!0)},children:"Online Activation"})})]})]}),ce&&(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(l.Z,{})})]}):null}))),B=[{id:0,title:"Community",price:"Open Source",capacityMax:""},{id:1,title:"Standard",price:"$10 per TB",capacityMax:"(Minimum of 100TB)",capacityMin:""},{id:2,title:"Enterprise",price:"$20 per TB",capacityMax:"(Minimum of 100TB)",capacityMin:""}],D=[{id:0,field:"License",plans:{Community:{label:"GNU AGPL v3",detail:"",link:!0},Standard:{label:"Commercial License"},Enterprise:{label:"Commercial License"}}},{id:1,field:"Software Release",plans:{Community:{label:"Upstream"},Standard:{label:"1 Year Long Term Support"},Enterprise:{label:"5 Years Long Term Support"}}},{id:2,field:"SLA",plans:{Community:{label:"No SLA"},Standard:{label:"<48 Hours (Local Business Hours)"},Enterprise:{label:"<1 hour"}}},{id:3,field:"Support",plans:{Community:{label:"Community:",detail:"Public Slack Channel + Github Issues"},Standard:{label:"L4 Direct Engineering",detail:" support via SUBNET"},Enterprise:{label:"L4 Direct Engineering",detail:"support via SUBNET"}}},{id:4,field:"Security Updates & Critical Bugs",plans:{Community:{label:"Self Update"},Standard:{label:"Continuous Scan and Alert"},Enterprise:{label:"Continuous Scan and Alert"}}},{id:5,field:"Panic Button",plans:{Community:{label:"N/A"},Standard:{label:"1 per year"},Enterprise:{label:"Unlimited"}}},{id:6,field:"Health Diagnostics",plans:{Community:{label:"N/A"},Standard:{label:"24/7/365"},Enterprise:{label:"24/7/365"}}},{id:6,field:"Annual Architecture Review",plans:{Community:{label:"N/A"},Standard:{label:"N/A"},Enterprise:{label:"Yes"}}},{id:7,field:"Annual Performance Review",plans:{Community:{label:"N/A"},Standard:{label:"N/A"},Enterprise:{label:"Yes"}}},{id:8,field:"Indemnification",plans:{Community:{label:"N/A"},Standard:{label:"N/A"},Enterprise:{label:"Yes"}}},{id:9,field:"Security + Policy Review",plans:{Community:{label:"N/A"},Standard:{label:"N/A"},Enterprise:{label:"Yes"}}}],G=[{id:0,text:"Join Slack",text2:"",link:"https://slack.min.io",plan:"Community"},{id:1,text:"Subscribe",text2:"Sign up",link:"https://min.io/signup",plan:"Standard"},{id:2,text:"Subscribe",text2:"Sign up",link:"https://min.io/signup",plan:"Enterprise"}],U=t(85308),z=(0,c.Z)((function(e){return(0,s.Z)({planItemsPadding:{border:"1px solid #EAEDEE",borderTop:0,maxWidth:1180},planItemsBorder:{height:7,backgroundColor:"#07193E"},link:{textDecoration:"underline !important",color:e.palette.info.main},linkButton:{fontFamily:'"Lato", sans-serif',fontWeight:"normal",textTransform:"none",fontSize:"inherit",height:0,padding:0,margin:0},tableContainer:{marginLeft:28},detailsContainerBorder:{borderLeft:"1px solid #e2e2e2"},detailsTitle:{fontSize:19,fontWeight:700,marginBottom:26,paddingTop:18,lineHeight:1},currPlan:{color:"white",backgroundColor:"#2781B0"},planHeader:{padding:8},detailsPrice:{fontSize:13,fontWeight:700},detailsCapacityMax:{minHeight:28,fontSize:10},itemContainer:{height:36,"& .item:last-child":{borderRight:"1px solid #e5e5e5"}},itemContainerDetail:{height:48},item:{height:"100%",borderLeft:"1px solid #e5e5e5",textAlign:"center",fontSize:10,fontWeight:700,display:"flex",alignItems:"center",alignContent:"center",borderTop:"1px solid #e5e5e5"},itemFirst:{borderLeft:0,borderRight:0},field:{textAlign:"left",fontWeight:400,fontSize:12},checkIcon:{fontSize:15,color:"#385973"},buttonContainer:{paddingTop:8,paddingBottom:24,height:"100%",display:"flex",justifyContent:"center",borderLeft:"1px solid #e2e2e2"},buttonContainerBlank:{border:0},buttonContainerHighlighted:{borderTop:0},button:{textTransform:"none",fontSize:15,fontWeight:700},activateLink:{color:"#1C5A8D",fontWeight:"bold",clear:"both",background:"none",border:"none",textDecoration:"underline",cursor:"pointer"},currentPlanBG:{background:"#022A4A 0% 0% no-repeat padding-box",color:"#FFFFFF",borderTop:"1px solid #52687d"}})}))((function(e){var o=e.classes,t=e.activateProductModal,i=e.closeModalAndFetchLicenseInfo,n=e.licenseInfo,a=e.setLicenseModal,s=e.operatorMode,c=e.currentPlanID,l=(e.setActivateProductModal,B.filter((function(e){return!n||"Community"!==e.title}))),d=G.filter((function(e){return!n||"Community"!==e.plan})),m=n?4:3;return(0,w.jsxs)(r.Fragment,{children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)("div",{className:o.planItemsBorder})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:(0,h.Z)(o.planItemsPadding),children:(0,w.jsxs)(u.ZP,{container:!0,children:[(0,w.jsx)(M,{open:t,closeModal:function(){return i()}}),(0,w.jsxs)(u.ZP,{container:!0,item:!0,xs:12,className:o.tableContainer,children:[(0,w.jsxs)(u.ZP,{container:!0,item:!0,xs:12,children:[(0,w.jsx)(u.ZP,{item:!0,xs:m}),l.map((function(e){var t=!n&&"Community"===e.title||n&&n.plan.toLowerCase()===e.title.toLowerCase();return(0,w.jsxs)(u.ZP,{container:!0,item:!0,xs:m,justifyContent:"center",className:(0,h.Z)(o.detailsContainerBorder,(0,L.Z)({},o.currPlan,t)),children:[(0,w.jsx)(u.ZP,{item:!0,xs:10,className:o.planHeader}),(0,w.jsxs)(u.ZP,{item:!0,xs:10,className:o.detailsTitle,children:[e.title,t&&(0,w.jsx)(r.Fragment,{children:(0,w.jsx)("div",{style:{fontSize:10},children:"CURRENT PLAN"})})]}),(0,w.jsx)(u.ZP,{item:!0,xs:10,className:o.detailsPrice,children:e.price}),(0,w.jsx)(u.ZP,{item:!0,xs:10,className:o.detailsCapacityMax,children:e.capacityMax||""})]},e.id)}))]}),D.map((function(e){return(0,w.jsxs)(u.ZP,{container:!0,item:!0,xs:12,className:(0,h.Z)(o.itemContainer,e.communityDetail&&o.itemContainerDetail),children:[(0,w.jsx)(u.ZP,{item:!0,xs:m,className:(0,h.Z)(o.item,o.field,o.itemFirst),children:e.field}),l.map((function(t){return(0,w.jsx)(r.Fragment,{children:(0,w.jsxs)(u.ZP,{container:!0,item:!0,xs:m,className:(0,h.Z)(o.item),children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,children:"N/A"===e.plans[t.title].label?"":"Yes"===e.plans[t.title].label?(0,w.jsx)(U.Z,{className:o.checkIcon}):(0,w.jsx)(r.Fragment,{children:e.plans[t.title].link?(0,w.jsx)(p.Z,{variant:"text",color:"primary",size:"small",className:(0,h.Z)(o.link,o.linkButton),onClick:function(){return a(!0)},children:e.plans[t.title].label}):e.plans[t.title].label})}),void 0!==e.plans[t.title].detail&&(0,w.jsx)(u.ZP,{item:!0,xs:12,children:e.plans[t.title].detail})]})})}))]},e.id)})),(0,w.jsxs)(u.ZP,{container:!0,item:!0,xs:12,children:[(0,w.jsx)(u.ZP,{item:!0,xs:m,className:(0,h.Z)(o.buttonContainer,o.buttonContainerBlank)}),d.map((function(e,t){return(0,w.jsx)(u.ZP,{container:!0,item:!0,xs:m,style:{textAlign:"center"},className:(0,h.Z)(o.buttonContainer,(0,L.Z)({},o.buttonContainerHighlighted,"Subscribe"===e.text)),children:(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(p.Z,{variant:"Join Slack"===e.text?"outlined":"contained",color:"primary",className:(0,h.Z)(o.button),target:"_blank",rel:"noopener noreferrer",href:"#",disabled:n&&n.plan.toLowerCase()===e.plan.toLowerCase(),onClick:function(o){o.preventDefault(),window.open("".concat(e.link,"?ref=").concat(s?"op":"con"),"_blank")},children:c!==t&&t>0?e.text2:e.text})})},e.id)}))]})]})]})})]})})),H=t(6369),Y=(0,a.$j)((function(e){return{operatorMode:e.system.operatorMode}}),null)((0,c.Z)((function(e){return(0,s.Z)((0,n.Z)((0,n.Z)({pageTitle:{backgroundColor:"rgb(250,250,252)",marginTop:40,border:"1px solid #EAEDEE",padding:25,fontSize:16,fontWeight:"bold","& ul":{listStyleType:"square","& li":{float:"left",fontSize:14,marginRight:40},"& li::before":{color:"red",content:"\u2022"}}},licDet:{fontSize:11,color:"#5E5E5E"},linkMore:{marginTop:10,marginBottom:20},chooseFlavorText:{color:"#000000",fontSize:14},licenseContainer:{display:"flex",flexWrap:"wrap",flexDirection:"row",padding:"30px 30px 0px 30px",border:"1px solid #EAEDEE","& h2":{flexDirection:"row"},"& a":{textDecoration:"none",flexDirection:"row"},"& h3":{marginBottom:"30px",fontWeight:"bold"},"& h6":{}},link:{textDecoration:"underline !important",color:e.palette.info.main},linkButton:{fontFamily:'"Lato", sans-serif',fontWeight:"normal",textTransform:"none",fontSize:"inherit",height:0,padding:0,margin:0},button:{textTransform:"none",fontSize:15,fontWeight:700},openSourcePolicy:{fontSize:14,color:"#1C5A8D",fontWeight:"bold"},subnetRefreshLicenseLink:{color:"#1C5A8D",fontWeight:"bold",clear:"both",background:"none",border:"none",textDecoration:"underline",cursor:"pointer",fontSize:13},licenseInfo:{position:"relative"},licenseInfoTitle:{textTransform:"none",color:"#999999",fontSize:11},licenseInfoValue:{textTransform:"none",fontSize:14,fontWeight:"bold"},subnetSubTitle:{fontSize:14},verifiedIcon:{width:96,position:"absolute",right:0,bottom:29},loadingLoginStrategy:{textAlign:"center"}},(0,b.Bz)(e.spacing(4))),{},{mainContainer:{border:"1px solid #EAEDEE",padding:40,margin:40},icon:{color:e.palette.primary.main,fontSize:16,fontWeight:"bold",marginBottom:20,"& .min-icon":{width:44,height:44,marginRight:15}}}))}))((function(e){var o=e.classes,t=e.operatorMode,n=(0,r.useState)(!1),a=(0,i.Z)(n,2),s=a[0],c=a[1],m=(0,r.useState)(!1),b=(0,i.Z)(m,2),v=b[0],L=b[1],P=(0,r.useState)(),T=(0,i.Z)(P,2),A=T[0],I=T[1],E=(0,r.useState)(0),R=(0,i.Z)(E,2),O=R[0],F=R[1],M=(0,r.useState)(!1),B=(0,i.Z)(M,2),D=B[0],G=B[1],U=(0,r.useState)(!0),Y=(0,i.Z)(U,2),W=Y[0],q=Y[1],V=(0,r.useState)(!1),_=(0,i.Z)(V,2),K=_[0],$=_[1],Q=(0,r.useState)(!1),X=(0,i.Z)(Q,2),J=X[0],ee=X[1],oe=(0,S.F)(N.C3,N.LC[N.gA.LICENSE],!0),te=(0,r.useCallback)((function(){D||(oe?(G(!0),k.Z.invoke("GET","/api/v1/subnet/info").then((function(e){e&&("STANDARD"===e.plan?F(1):"ENTERPRISE"===e.plan?F(2):F(1),I(e)),ee(!0),G(!1)})).catch((function(){ee(!1),G(!1)}))):G(!1))}),[D,oe]);return(0,r.useEffect)((function(){W&&(te(),q(!1))}),[te,W,q]),D?(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(l.Z,{})}):(0,w.jsx)(r.Fragment,{children:(0,w.jsxs)(r.Fragment,{children:[(0,w.jsx)(x.Z,{label:"License"}),(0,w.jsx)("div",{className:(0,h.Z)(o.container,o.mainContainer),children:(0,w.jsxs)(u.ZP,{container:!0,children:[(0,w.jsx)(u.ZP,{xs:12,children:A&&(0,w.jsx)(C.Z,{})}),!J&&(0,w.jsxs)(r.Fragment,{children:[(0,w.jsxs)(u.ZP,{xs:12,className:o.icon,children:[(0,w.jsx)(Z.DJ,{}),"GNU Affero General Public License"]}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsxs)(u.ZP,{container:!0,children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,lg:12,className:"".concat(o.licenseContainer),children:A?(0,w.jsx)(r.Fragment,{children:(0,w.jsxs)(u.ZP,{container:!0,className:o.licenseInfo,children:[(0,w.jsxs)(u.ZP,{item:!0,xs:6,children:[(0,w.jsx)(g.Z,{variant:"button",display:"block",gutterBottom:!0,className:o.licenseInfoTitle,children:"License"}),(0,w.jsx)(g.Z,{variant:"overline",display:"block",gutterBottom:!0,className:o.licenseInfoValue,children:"Commercial License"}),(0,w.jsx)(g.Z,{variant:"button",display:"block",gutterBottom:!0,className:o.licenseInfoTitle,children:"Organization"}),(0,w.jsx)(g.Z,{variant:"overline",display:"block",gutterBottom:!0,className:o.licenseInfoValue,children:A.organization}),(0,w.jsx)(g.Z,{variant:"button",display:"block",gutterBottom:!0,className:o.licenseInfoTitle,children:"Registered Capacity"}),(0,w.jsx)(g.Z,{variant:"overline",display:"block",gutterBottom:!0,className:o.licenseInfoValue,children:(0,y.ae)((1099511627776*A.storage_capacity).toString(10),!1)})]}),(0,w.jsxs)(u.ZP,{item:!0,xs:6,children:[(0,w.jsx)(g.Z,{variant:"button",display:"block",gutterBottom:!0,className:o.licenseInfoTitle,children:"Subscription Plan"}),(0,w.jsx)(g.Z,{variant:"overline",display:"block",gutterBottom:!0,className:o.licenseInfoValue,children:A.plan}),(0,w.jsx)(g.Z,{variant:"button",display:"block",gutterBottom:!0,className:o.licenseInfoTitle,children:"Requestor"}),(0,w.jsx)(g.Z,{variant:"overline",display:"block",gutterBottom:!0,className:o.licenseInfoValue,children:A.email}),(0,w.jsx)(g.Z,{variant:"button",display:"block",gutterBottom:!0,className:o.licenseInfoTitle,children:"Expiry Date"}),(0,w.jsx)(g.Z,{variant:"overline",display:"block",gutterBottom:!0,className:o.licenseInfoValue,children:(0,w.jsx)(f(),{format:"YYYY-MM-DD",children:A.expires_at.split(" ").slice(0,1).join(" ")})})]}),(0,w.jsx)("img",{className:o.verifiedIcon,src:"/verified.svg",alt:"verified"})]})}):(0,w.jsxs)(r.Fragment,{children:[(0,w.jsx)(j,{open:v,closeModal:function(){return L(!1)}}),(0,w.jsxs)(u.ZP,{container:!0,justifyContent:"space-between",children:[(0,w.jsxs)(u.ZP,{item:!0,children:[(0,w.jsx)("img",{src:"/agpl-logo.svg",height:40,alt:"agpl"})," "]}),(0,w.jsxs)(u.ZP,{item:!0,className:o.licDet,children:[(0,w.jsx)("b",{children:"Version 3."})," 19 November 2007"," "]})]}),(0,w.jsxs)(u.ZP,{container:!0,children:[(0,w.jsx)(g.Z,{children:"The GNU Affero General Public License is a free, copyleft license for software and other kinds of works, specifically designed to ensure cooperation with the Community in the case of network server software."}),(0,w.jsx)("br",{}),(0,w.jsx)(g.Z,{children:"The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, our General Public Licenses are intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users."}),(0,w.jsx)("div",{className:o.linkMore,children:(0,w.jsx)(p.Z,{variant:"text",color:"primary",size:"small",className:(0,h.Z)(o.link,o.linkButton),onClick:function(){return L(!0)},children:"Read more"})})]})]})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,lg:12,children:A?(0,w.jsxs)("div",{className:o.pageTitle,children:[(0,w.jsx)(g.Z,{component:"h2",variant:"h6",children:"Login to MinIO SUBNET !"}),(0,w.jsx)(g.Z,{component:"p",className:o.subnetSubTitle,children:"It combines a commercial license with a support experience unlike any other."}),(0,w.jsx)("br",{}),(0,w.jsx)(p.Z,{variant:"contained",color:"primary",className:o.button,target:"_blank",rel:"noopener noreferrer",href:"https://subnet.min.io/support/?ref=".concat(t?"op":"con"),children:"Login to SUBNET"}),t&&(0,w.jsxs)(r.Fragment,{children:[" ",(0,w.jsx)("br",{}),(0,w.jsx)("br",{}),(0,w.jsx)("button",{className:o.subnetRefreshLicenseLink,onClick:function(e){e.preventDefault(),$(!0),k.Z.invoke("POST","/api/v1/subscription/refresh",{}).then((function(e){e&&("STANDARD"===e.plan?F(1):"ENTERPRISE"===e.plan?F(2):F(1),I(e)),$(!1)})).catch((function(e){$(!1)}))},children:"Refresh License"}),K&&(0,w.jsx)(d.Z,{size:16,className:o.loadingLoginStrategy})]})]}):(0,w.jsxs)("div",{className:o.pageTitle,children:[(0,w.jsx)(g.Z,{component:"h2",variant:"h6",children:"Choosing between GNU AGPL v3 and Commercial License"}),(0,w.jsx)("br",{}),(0,w.jsx)(g.Z,{className:o.chooseFlavorText,children:"If you are building proprietary applications, you may want to choose the commercial license included as part of the Standard and Enterprise subscription plans. Applications must otherwise comply with all the GNU AGPLv3 License & Trademark obligations. Follow the links below to learn more about the compliance policy."}),(0,w.jsxs)("ul",{children:[(0,w.jsx)("li",{children:(0,w.jsx)("a",{href:"https://min.io/compliance?ref=".concat(t?"op":"con"),className:o.openSourcePolicy,target:"_blank",rel:"nofollow noopener noreferrer",children:"Learn more about GNU AGPL v3"})}),(0,w.jsx)("li",{children:(0,w.jsx)("a",{href:"https://min.io/logo?ref=".concat(t?"op":"con"),className:o.openSourcePolicy,target:"_blank",rel:"nofollow noopener noreferrer",children:"MinIO Trademark Compliance"})})]}),(0,w.jsx)("div",{style:{clear:"both"}})]})})]})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)("br",{})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(H.rU,{to:N.gA.REGISTER_SUPPORT,className:o.link,style:{fontSize:14},children:"Are you already a customer? Register Here \u2192"})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)("br",{})})]}),(0,w.jsx)(z,{activateProductModal:s,closeModalAndFetchLicenseInfo:function(){c(!1),te()},licenseInfo:A,setLicenseModal:L,operatorMode:t,currentPlanID:O,setActivateProductModal:c})]})})]})})})))},15533:function(e,o,t){t.d(o,{Z:function(){return c}});var i=t(25594),n=t(18489),r=(t(50390),t(62559)),a=function(e){return(0,r.jsxs)("svg",(0,n.Z)((0,n.Z)({xmlns:"http://www.w3.org/2000/svg",width:20,height:20,className:"min-icon",fill:"currentcolor"},e),{},{children:[(0,r.jsx)("defs",{children:(0,r.jsx)("clipPath",{id:"registration-icon_svg__a",children:(0,r.jsx)("path",{"data-name":"Rect\\xE1ngulo 1593",fill:"#4ccb92",d:"M0 0h20v20H0z"})})}),(0,r.jsx)("g",{"data-name":"Grupo 2469",clipPath:"url(#registration-icon_svg__a)",children:(0,r.jsx)("path",{"data-name":"Trazado 7117",d:"M19.075 11.962a3.1 3.1 0 0 0 1.008-1.965 3.1 3.1 0 0 0-1.008-1.963 3.134 3.134 0 0 1-.633-.894 3.4 3.4 0 0 1 0-1.164 3.121 3.121 0 0 0-.286-2.154 2.856 2.856 0 0 0-1.892-.952 3.024 3.024 0 0 1-1.053-.353 3.232 3.232 0 0 1-.628-.917A2.982 2.982 0 0 0 13.118 0a2.77 2.77 0 0 0-2.029.383 3.079 3.079 0 0 1-1.085.368 3.079 3.079 0 0 1-1.085-.37A2.77 2.77 0 0 0 6.89-.002a2.99 2.99 0 0 0-1.465 1.599 3.236 3.236 0 0 1-.633.922 3.033 3.033 0 0 1-1.05.351 2.856 2.856 0 0 0-1.892.953 3.133 3.133 0 0 0-.284 2.142 3.448 3.448 0 0 1 0 1.164 3.216 3.216 0 0 1-.633.9A3.1 3.1 0 0 0-.075 9.996a3.1 3.1 0 0 0 1.008 1.965 3.246 3.246 0 0 1 .633.89 3.462 3.462 0 0 1 0 1.166 3.133 3.133 0 0 0 .284 2.154 2.856 2.856 0 0 0 1.892.952 3.033 3.033 0 0 1 1.05.351 3.234 3.234 0 0 1 .633.921 2.982 2.982 0 0 0 1.465 1.592 2.77 2.77 0 0 0 2.029-.383 3.076 3.076 0 0 1 1.085-.37 3.077 3.077 0 0 1 1.085.368 3.769 3.769 0 0 0 1.525.472 1.561 1.561 0 0 0 .5-.082 2.978 2.978 0 0 0 1.465-1.6 3.249 3.249 0 0 1 .633-.921 3.032 3.032 0 0 1 1.05-.351 2.856 2.856 0 0 0 1.892-.952 3.113 3.113 0 0 0 .284-2.157 3.445 3.445 0 0 1 0-1.164 3.16 3.16 0 0 1 .633-.889m-10.13 1.894-3.89-4.066 1.38-1.437 2.51 2.618 4.638-4.833 1.38 1.442Z",fill:"#4ccb92"})})]}))},s=t(86509);var c=(0,t(4285).Z)((function(e){return(0,s.Z)({registeredStatus:{border:"1px solid #E2E2E2",padding:"24px 24px 24px 24px",borderRadius:2,marginBottom:25,backgroundColor:"#FBFAFA","& .min-icon":{width:20,height:20,marginLeft:48,marginRight:13,verticalAlign:"middle",marginTop:-3},"& span":{fontWeight:"bold"}}})}))((function(e){var o=e.classes;return(0,r.jsx)(i.ZP,{container:!0,children:(0,r.jsxs)(i.ZP,{item:!0,xs:12,className:o.registeredStatus,children:["Registration Status:",(0,r.jsx)(a,{}),(0,r.jsx)("span",{children:"Registered"})]})})}))},85308:function(e,o,t){var i=t(64119);o.Z=void 0;var n=i(t(66830)),r=t(62559),a=(0,n.default)((0,r.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckCircle");o.Z=a},70011:function(e,o,t){var i=t(64119);o.Z=void 0;var n=i(t(66830)),r=t(62559),a=(0,n.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");o.Z=a},79136:function(e,o,t){var i=t(64119);o.Z=void 0;var n=i(t(66830)),r=t(62559),a=(0,n.default)((0,r.jsx)("path",{d:"M12 5.9c1.16 0 2.1.94 2.1 2.1s-.94 2.1-2.1 2.1S9.9 9.16 9.9 8s.94-2.1 2.1-2.1m0 9c2.97 0 6.1 1.46 6.1 2.1v1.1H5.9V17c0-.64 3.13-2.1 6.1-2.1M12 4C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 9c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4z"}),"PersonOutlineOutlined");o.Z=a},10567:function(e,o,t){t.d(o,{Z:function(){return S}});var i=t(23430),n=t(36222),r=t(1048),a=t(32793),s=t(50390),c=t(44977),l=t(50076),d=t(29001),h=t(36128),u=t(91442),p=t(8208),m=t(15573),f=t(42081),g=t(3299),y=t(35477),b=t(10594);function x(e){return(0,b.Z)("MuiLink",e)}var v=(0,t(43349).Z)("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),w=t(62559),j=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant"],k={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},Z=(0,p.ZP)(y.Z,{name:"MuiLink",slot:"Root",overridesResolver:function(e,o){var t=e.ownerState;return[o.root,o["underline".concat((0,u.Z)(t.underline))],"button"===t.component&&o.button]}})((function(e){var o=e.theme,t=e.ownerState,i=(0,d.D)(o,"palette.".concat(function(e){return k[e]||e}(t.color)))||t.color;return(0,a.Z)({},"none"===t.underline&&{textDecoration:"none"},"hover"===t.underline&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},"always"===t.underline&&{textDecoration:"underline",textDecorationColor:"inherit"!==i?(0,h.Fq)(i,.4):void 0,"&:hover":{textDecorationColor:"inherit"}},"button"===t.component&&(0,n.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(v.focusVisible),{outline:"auto"}))})),S=s.forwardRef((function(e,o){var t=(0,m.Z)({props:e,name:"MuiLink"}),n=t.className,d=t.color,h=void 0===d?"primary":d,p=t.component,y=void 0===p?"a":p,b=t.onBlur,v=t.onFocus,k=t.TypographyClasses,S=t.underline,N=void 0===S?"always":S,C=t.variant,L=void 0===C?"inherit":C,P=(0,r.Z)(t,j),T=(0,f.Z)(),A=T.isFocusVisibleRef,I=T.onBlur,E=T.onFocus,R=T.ref,O=s.useState(!1),F=(0,i.Z)(O,2),M=F[0],B=F[1],D=(0,g.Z)(o,R),G=(0,a.Z)({},t,{color:h,component:y,focusVisible:M,underline:N,variant:L}),U=function(e){var o=e.classes,t=e.component,i=e.focusVisible,n=e.underline,r={root:["root","underline".concat((0,u.Z)(n)),"button"===t&&"button",i&&"focusVisible"]};return(0,l.Z)(r,x,o)}(G);return(0,w.jsx)(Z,(0,a.Z)({className:(0,c.Z)(U.root,n),classes:k,color:h,component:y,onBlur:function(e){I(e),!1===A.current&&B(!1),b&&b(e)},onFocus:function(e){E(e),!0===A.current&&B(!0),v&&v(e)},ref:D,ownerState:G,variant:L},P))}))},16756:function(e,o,t){t.d(o,{Z:function(){return v}});var i=t(23430),n=t(1048),r=t(32793),a=t(50390),s=t(44977),c=t(50076),l=t(91442),d=t(8208),h=t(55386),u=t(23060),p=t(86875),m=t(10594);function f(e){return(0,m.Z)("PrivateSwitchBase",e)}(0,t(43349).Z)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var g=t(62559),y=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],b=(0,d.ZP)(p.Z)((function(e){var o=e.ownerState;return(0,r.Z)({padding:9,borderRadius:"50%"},"start"===o.edge&&{marginLeft:"small"===o.size?-3:-12},"end"===o.edge&&{marginRight:"small"===o.size?-3:-12})})),x=(0,d.ZP)("input")({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),v=a.forwardRef((function(e,o){var t=e.autoFocus,a=e.checked,d=e.checkedIcon,p=e.className,m=e.defaultChecked,v=e.disabled,w=e.disableFocusRipple,j=void 0!==w&&w,k=e.edge,Z=void 0!==k&&k,S=e.icon,N=e.id,C=e.inputProps,L=e.inputRef,P=e.name,T=e.onBlur,A=e.onChange,I=e.onFocus,E=e.readOnly,R=e.required,O=e.tabIndex,F=e.type,M=e.value,B=(0,n.Z)(e,y),D=(0,h.Z)({controlled:a,default:Boolean(m),name:"SwitchBase",state:"checked"}),G=(0,i.Z)(D,2),U=G[0],z=G[1],H=(0,u.Z)(),Y=v;H&&"undefined"===typeof Y&&(Y=H.disabled);var W="checkbox"===F||"radio"===F,q=(0,r.Z)({},e,{checked:U,disabled:Y,disableFocusRipple:j,edge:Z}),V=function(e){var o=e.classes,t=e.checked,i=e.disabled,n=e.edge,r={root:["root",t&&"checked",i&&"disabled",n&&"edge".concat((0,l.Z)(n))],input:["input"]};return(0,c.Z)(r,f,o)}(q);return(0,g.jsxs)(b,(0,r.Z)({component:"span",className:(0,s.Z)(V.root,p),centerRipple:!0,focusRipple:!j,disabled:Y,tabIndex:null,role:void 0,onFocus:function(e){I&&I(e),H&&H.onFocus&&H.onFocus(e)},onBlur:function(e){T&&T(e),H&&H.onBlur&&H.onBlur(e)},ownerState:q,ref:o},B,{children:[(0,g.jsx)(x,(0,r.Z)({autoFocus:t,checked:a,defaultChecked:m,className:V.input,disabled:Y,id:W&&N,name:P,onChange:function(e){if(!e.nativeEvent.defaultPrevented){var o=e.target.checked;z(o),A&&A(e,o)}},readOnly:E,ref:L,required:R,ownerState:q,tabIndex:O,type:F},"checkbox"===F&&void 0===M?{}:{value:M},C)),U?d:S]}))}))}}]); -//# sourceMappingURL=3474.378d2159.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3474],{66964:function(e,o,t){var i=t(18489),n=t(50390),r=t(12066),a=t(25594),s=t(36554),c=t(94187),l=t(95467),d=t(86509),h=t(62449),u=t(4285),p=t(72462),m=t(97538),f=t(44977),g=t(62559),y=(0,h.Z)((function(e){return(0,d.Z)((0,i.Z)({},p.gM))}));function b(e){var o=y();return(0,g.jsx)(r.Z,(0,i.Z)({InputProps:{classes:o}},e))}o.Z=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var o=e.label,t=e.onChange,r=e.value,d=e.id,h=e.name,u=e.type,p=void 0===u?"text":u,y=e.autoComplete,x=void 0===y?"off":y,v=e.disabled,w=void 0!==v&&v,j=e.multiline,k=void 0!==j&&j,Z=e.tooltip,S=void 0===Z?"":Z,N=e.index,C=void 0===N?0:N,L=e.error,P=void 0===L?"":L,T=e.required,I=void 0!==T&&T,A=e.placeholder,E=void 0===A?"":A,R=e.min,O=e.max,F=e.overlayIcon,M=void 0===F?null:F,B=e.overlayObject,D=void 0===B?null:B,G=e.extraInputProps,U=void 0===G?{}:G,z=e.overlayAction,H=e.noLabelMinWidth,Y=void 0!==H&&H,W=e.pattern,q=void 0===W?"":W,V=e.autoFocus,_=void 0!==V&&V,K=e.classes,$=e.className,Q=void 0===$?"":$,X=(0,i.Z)({"data-index":C},U);return"number"===p&&R&&(X.min=R),"number"===p&&O&&(X.max=O),""!==q&&(X.pattern=q),(0,g.jsx)(n.Fragment,{children:(0,g.jsxs)(a.ZP,{container:!0,className:(0,f.Z)(""!==Q?Q:"",""!==P?K.errorInField:K.inputBoxContainer),children:[""!==o&&(0,g.jsxs)(s.Z,{htmlFor:d,className:Y?K.noMinWidthLabel:K.inputLabel,children:[(0,g.jsxs)("span",{children:[o,I?"*":""]}),""!==S&&(0,g.jsx)("div",{className:K.tooltipContainer,children:(0,g.jsx)(c.Z,{title:S,placement:"top-start",children:(0,g.jsx)("div",{className:K.tooltip,children:(0,g.jsx)(m.Z,{})})})})]}),(0,g.jsxs)("div",{className:K.textBoxContainer,children:[(0,g.jsx)(b,{id:d,name:h,fullWidth:!0,value:r,autoFocus:_,disabled:w,onChange:t,type:p,multiline:k,autoComplete:x,inputProps:X,error:""!==P,helperText:P,placeholder:E,className:K.inputRebase}),M&&(0,g.jsx)("div",{className:"".concat(K.overlayAction," ").concat(""!==o?"withLabel":""),children:(0,g.jsx)(l.Z,{onClick:z?function(){z()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:M})}),D&&(0,g.jsx)("div",{className:"".concat(K.overlayAction," ").concat(""!==o?"withLabel":""),children:D})]})]})})}))},27207:function(e,o,t){var i=t(36222),n=t(18489),r=(t(50390),t(44977)),a=t(25594),s=t(82420),c=t(66695),l=t(98893),d=t(36554),h=t(94187),u=t(86509),p=t(4285),m=t(62449),f=t(72462),g=t(97538),y=t(62559),b=(0,m.Z)((0,n.Z)({root:{"&:hover":{backgroundColor:"transparent"}}},f.FU)),x=function(e){var o=b();return(0,y.jsx)(l.Z,(0,n.Z)({className:o.root,disableRipple:!0,color:"default",checkedIcon:(0,y.jsx)("span",{className:o.radioSelectedIcon}),icon:(0,y.jsx)("span",{className:o.radioUnselectedIcon})},e))};o.Z=(0,p.Z)((function(e){return(0,u.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},f.YI),f.Hr),{},{optionLabel:{"&.Mui-disabled":{"& .MuiFormControlLabel-label":{color:"#9c9c9c"}},"&:last-child":{marginRight:0},"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E"}},checkedOption:{"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E",fontWeight:700}}}))}))((function(e){var o=e.selectorOptions,t=void 0===o?[]:o,n=e.currentSelection,l=e.label,u=e.id,p=e.name,m=e.onChange,f=e.tooltip,b=void 0===f?"":f,v=e.disableOptions,w=void 0!==v&&v,j=e.classes,k=e.displayInColumn,Z=void 0!==k&&k;return(0,y.jsxs)(a.ZP,{container:!0,alignItems:"center",children:[(0,y.jsx)(a.ZP,{item:!0,xs:!0,children:(0,y.jsxs)(d.Z,{htmlFor:u,className:j.inputLabel,children:[(0,y.jsx)("span",{children:l}),""!==b&&(0,y.jsx)("div",{className:j.tooltipContainer,children:(0,y.jsx)(h.Z,{title:b,placement:"top-start",children:(0,y.jsx)("div",{children:(0,y.jsx)(g.Z,{})})})})]})}),(0,y.jsx)(a.ZP,{item:!0,xs:!0,className:j.radioOptionsLayout,children:(0,y.jsx)(s.Z,{"aria-label":u,id:u,name:p,value:n,onChange:m,row:!Z,style:{display:"block",textAlign:"right"},children:t.map((function(e){return(0,y.jsx)(c.Z,{value:e.value,control:(0,y.jsx)(x,{}),label:e.label,disabled:w,className:(0,r.Z)(j.optionLabel,(0,i.Z)({},j.checkedOption,e.value===n))},"rd-".concat(p,"-").concat(e.value))}))})})]})}))},76352:function(e,o,t){t.d(o,{Z:function(){return C}});var i,n=t(23430),r=t(18489),a=t(50390),s=t(34424),c=t(95467),l=t(97771),d=t(84402),h=t(78426),u=t(93085),p=t(86509),m=t(4285),f=t(72462),g=t(44149),y=t(38342),b=t.n(y),x=t(92125),v=t(19538),w=t(21278),j=t(62559),k=function(){clearInterval(i)},Z={displayErrorMessage:g.zb},S=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),Z)((0,m.Z)((function(e){return(0,p.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var o=e.classes,t=e.modalSnackMessage,r=e.displayErrorMessage,s=e.customStyle,c=(0,a.useState)(!1),l=(0,n.Z)(c,2),d=l[0],h=l[1],u=(0,a.useState)(!1),p=(0,n.Z)(u,2),m=p[0],f=p[1],g=(0,a.useCallback)((function(){f(!1)}),[]);(0,a.useEffect)((function(){m||(r({detailedError:"",errorMessage:""}),h(!1))}),[r,m]),(0,a.useEffect)((function(){""!==t.message&&"error"===t.type&&f(!0)}),[g,t.message,t.type]);var y=b()(t,"message",""),Z=b()(t,"detailedErrorMsg","");return"error"!==t.type||""===y?null:(0,j.jsx)(a.Fragment,{children:(0,j.jsxs)("div",{className:"".concat(o.modalErrorContainer," ").concat(m?o.modalErrorShow:""),style:s,onMouseOver:k,onMouseLeave:function(){i=setInterval(g,1e4)},children:[(0,j.jsx)("button",{className:o.closeButton,onClick:g,children:(0,j.jsx)(w.Z,{})}),(0,j.jsxs)("div",{className:o.errorTitle,children:[(0,j.jsx)("span",{className:o.messageIcon,children:(0,j.jsx)(v.Z,{})}),(0,j.jsx)("span",{className:o.errorLabel,children:y})]}),""!==Z&&(0,j.jsxs)(a.Fragment,{children:[(0,j.jsx)("div",{className:o.detailsContainerLink,children:(0,j.jsxs)("button",{className:o.detailsButton,onClick:function(){h(!d)},children:["Details",(0,j.jsx)(x.Z,{className:"".concat(o.arrowElement," ").concat(d?o.arrowOpen:"")})]})}),(0,j.jsx)("div",{className:"".concat(o.extraDetailsContainer," ").concat(d?o.extraDetailsOpen:""),children:Z})]})]})})}))),N=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:g.MK}),C=(0,m.Z)((function(e){return(0,p.Z)((0,r.Z)((0,r.Z)({},f.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},f.sN))}))(N((function(e){var o=e.onClose,t=e.modalOpen,i=e.title,s=e.children,p=e.classes,m=e.wideLimit,f=void 0===m||m,g=e.modalSnackMessage,y=e.noContentPadding,b=e.setModalSnackMessage,x=e.titleIcon,v=void 0===x?null:x,k=(0,a.useState)(!1),Z=(0,n.Z)(k,2),N=Z[0],C=Z[1];(0,a.useEffect)((function(){b("")}),[b]),(0,a.useEffect)((function(){if(g){if(""===g.message)return void C(!1);"error"!==g.type&&C(!0)}}),[g]);var L=f?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},P="";return g&&(P=g.detailedErrorMsg,(""===g.detailedErrorMsg||g.detailedErrorMsg.length<5)&&(P=g.message)),(0,j.jsxs)(d.Z,(0,r.Z)((0,r.Z)({open:t,classes:p},L),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&o()},className:p.root,children:[(0,j.jsxs)(h.Z,{className:p.title,children:[(0,j.jsxs)("div",{className:p.titleText,children:[v," ",i]}),(0,j.jsx)("div",{className:p.closeContainer,children:(0,j.jsx)(c.Z,{"aria-label":"close",className:p.closeButton,onClick:o,disableRipple:!0,size:"small",children:(0,j.jsx)(w.Z,{})})})]}),(0,j.jsx)(S,{}),(0,j.jsx)(l.Z,{open:N,className:p.snackBarModal,onClose:function(){C(!1),b("")},message:P,ContentProps:{className:"".concat(p.snackBar," ").concat(g&&"error"===g.type?p.errorSnackBar:"")},autoHideDuration:g&&"error"===g.type?1e4:5e3}),(0,j.jsx)(u.Z,{className:y?"":p.content,children:s})]}))})))},35721:function(e,o,t){t(50390);var i=t(34424),n=t(25594),r=t(86509),a=t(4285),s=t(35477),c=t(95467),l=t(26805),d=t(44078),h=t(5265),u=t(98280),p=t(62559),m={toggleList:h.kQ},f=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),m);o.Z=f((0,a.Z)((function(e){return(0,r.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var o=e.classes,t=e.label,i=e.actions,r=e.sidebarOpen,a=e.operatorMode,h=e.managerObjects,m=e.toggleList,f=e.middleComponent;return(0,p.jsxs)(n.ZP,{container:!0,className:"".concat(o.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(n.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:o.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!r&&(0,p.jsx)("div",{className:o.logo,children:a?(0,p.jsx)(l.Z,{}):(0,p.jsx)(d.Z,{})}),(0,p.jsx)(s.Z,{variant:"h4",className:o.labelStyle,children:t})]}),f&&(0,p.jsx)(n.ZP,{item:!0,xs:12,sm:12,md:6,className:o.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,p.jsxs)(n.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:o.rightMenu,children:[i&&i,h&&h.length>0&&(0,p.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){m()},size:"large",children:(0,p.jsx)(u.gx,{})})]})]})})))},62234:function(e,o,t){t.r(o),t.d(o,{default:function(){return Y}});var i=t(23430),n=t(18489),r=t(50390),a=t(34424),s=t(86509),c=t(4285),l=t(81378),d=t(18201),h=t(44977),u=t(25594),p=t(66946),m=t(87248),f=t.n(m),g=t(35477),y=t(28948),b=t(72462),x=t(35721),v=t(76352),w=t(62559),j=(0,c.Z)((function(e){return(0,s.Z)((0,n.Z)({pageTitle:{fontSize:18,marginBottom:20,textAlign:"center"},pageSubTitle:{textAlign:"center"}},(0,b.Bz)(e.spacing(4))))}))((function(e){var o=e.classes,t=e.open,i=e.closeModal;return t?(0,w.jsxs)(v.Z,{title:"",modalOpen:t,onClose:function(){i()},"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[" ",(0,w.jsxs)(u.ZP,{container:!0,alignItems:"center",item:!0,xs:12,children:[(0,w.jsxs)(u.ZP,{item:!0,xs:12,children:[(0,w.jsx)(g.Z,{component:"h2",variant:"h6",className:o.pageTitle,children:"GNU AFFERO GENERAL PUBLIC LICENSE"}),(0,w.jsx)("p",{className:o.pageSubTitle,children:"Version 3, 19 November 2007"})]}),(0,w.jsxs)(u.ZP,{item:!0,className:o.subnetLicenseKey,xs:12,children:[(0,w.jsxs)("p",{children:["Copyright \xa9 2007 Free Software Foundation, Inc. <",(0,w.jsx)("a",{target:"_blank",href:"https://fsf.org/",rel:"noreferrer",children:"https://fsf.org/"}),">"]}),(0,w.jsxs)("p",{children:[" ","Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed."]}),(0,w.jsx)("h1",{children:"Preamble"}),(0,w.jsx)("p",{children:"The GNU Affero General Public License is a free, copyleft license for software and other kinds of works, specifically designed to ensure cooperation with the community in the case of network server software."}),(0,w.jsx)("p",{children:"The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, our General Public Licenses are intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users."}),(0,w.jsx)("p",{children:"When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things."}),(0,w.jsx)("p",{children:"Developers that use our General Public Licenses protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License which gives you legal permission to copy, distribute and/or modify the software."}),(0,w.jsx)("p",{children:"A secondary benefit of defending all users' freedom is that improvements made in alternate versions of the program, if they receive widespread use, become available for other developers to incorporate. Many developers of free software are heartened and encouraged by the resulting cooperation. However, in the case of software used on network servers, this result may fail to come about. The GNU General Public License permits making a modified version and letting the public access it on a server without ever releasing its source code to the public."}),(0,w.jsx)("p",{children:"The GNU Affero General Public License is designed specifically to ensure that, in such cases, the modified source code becomes available to the community. It requires the operator of a network server to provide the source code of the modified version running there to the users of that server. Therefore, public use of a modified version, on a publicly accessible server, gives the public access to the source code of the modified version."}),(0,w.jsx)("p",{children:"An older license, called the Affero General Public License and published by Affero, was designed to accomplish similar goals. This is a different license, not a version of the Affero GPL, but Affero has released a new version of the Affero GPL which permits relicensing under this license."}),(0,w.jsx)("p",{children:"The precise terms and conditions for copying, distribution and modification follow."}),(0,w.jsx)("h2",{children:"TERMS AND CONDITIONS"}),(0,w.jsx)("h2",{children:"0. Definitions."}),(0,w.jsx)("p",{children:'"This License" refers to version 3 of the GNU Affero General Public License.'}),(0,w.jsx)("p",{children:'"Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.'}),(0,w.jsx)("p",{children:'"The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations.'}),(0,w.jsx)("p",{children:'To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work.'}),(0,w.jsx)("p",{children:'A "covered work" means either the unmodified Program or a work based on the Program.'}),(0,w.jsx)("p",{children:'To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.'}),(0,w.jsx)("p",{children:'To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.'}),(0,w.jsx)("p",{children:'An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.'}),(0,w.jsx)("h2",{children:"1. Source Code."}),(0,w.jsx)("p",{children:'The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work.'}),(0,w.jsx)("p",{children:'A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.'}),(0,w.jsx)("p",{children:'The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.'}),(0,w.jsx)("p",{children:'The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work\'s System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.'}),(0,w.jsx)("p",{children:"The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source."}),(0,w.jsx)("p",{children:"The Corresponding Source for a work in source code form is that same work."}),(0,w.jsx)("h2",{children:"2. Basic Permissions."}),(0,w.jsx)("p",{children:"All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law."}),(0,w.jsx)("p",{children:"You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you."}),(0,w.jsx)("p",{children:"Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary."}),(0,w.jsx)("h2",{children:"3. Protecting Users' Legal Rights From Anti-Circumvention Law."}),(0,w.jsx)("p",{children:"No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures."}),(0,w.jsx)("p",{children:"When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures."}),(0,w.jsx)("h2",{children:"4. Conveying Verbatim Copies."}),(0,w.jsx)("p",{children:"You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program."}),(0,w.jsx)("p",{children:"You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee."}),(0,w.jsx)("h2",{children:"5. Conveying Modified Source Versions."}),(0,w.jsx)("p",{children:"You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:"}),(0,w.jsx)("p",{children:(0,w.jsxs)("ul",{children:[(0,w.jsx)("li",{children:"a) The work must carry prominent notices stating that you modified it, and giving a relevant date."}),(0,w.jsx)("li",{children:'b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices".'}),(0,w.jsx)("li",{children:"c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it."}),(0,w.jsx)("li",{children:"d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so."})]})}),(0,w.jsx)("p",{children:'A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation\'s users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.'}),(0,w.jsx)("h2",{children:"6. Conveying Non-Source Forms."}),(0,w.jsx)("p",{children:"You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:"}),(0,w.jsx)("p",{children:(0,w.jsxs)("ul",{children:[(0,w.jsx)("li",{children:"a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange."}),(0,w.jsx)("li",{children:"b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge."}),(0,w.jsx)("li",{children:"c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b."}),(0,w.jsx)("li",{children:"d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements."}),(0,w.jsx)("li",{children:"e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d."})]})}),(0,w.jsx)("p",{children:"A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work."}),(0,w.jsx)("p",{children:'A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.'}),(0,w.jsx)("p",{children:'"Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.'}),(0,w.jsx)("p",{children:"If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM)."}),(0,w.jsx)("p",{children:"The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network."}),(0,w.jsx)("p",{children:"Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying."}),(0,w.jsx)("h2",{children:"7. Additional Terms."}),(0,w.jsx)("p",{children:'"Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.'}),(0,w.jsx)("p",{children:"When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission."}),(0,w.jsx)("p",{children:"Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:"}),(0,w.jsx)("p",{children:(0,w.jsxs)("ul",{children:[(0,w.jsx)("li",{children:"a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or"}),(0,w.jsx)("li",{children:"b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or"}),(0,w.jsx)("li",{children:"c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or"}),(0,w.jsx)("li",{children:"d) Limiting the use for publicity purposes of names of licensors or authors of the material; or"}),(0,w.jsx)("li",{children:"e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or"}),(0,w.jsx)("li",{children:"f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors."})]})}),(0,w.jsx)("p",{children:'All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.'}),(0,w.jsx)("p",{children:"If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms."}),(0,w.jsx)("p",{children:"Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way."}),(0,w.jsx)("h2",{children:"8. Termination."}),(0,w.jsx)("p",{children:"You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11)."}),(0,w.jsx)("p",{children:"However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation."}),(0,w.jsx)("p",{children:"Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice."}),(0,w.jsx)("p",{children:"Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10."}),(0,w.jsx)("h2",{children:"9. Acceptance Not Required for Having Copies."}),(0,w.jsx)("p",{children:"You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so."}),(0,w.jsx)("h2",{children:"10. Automatic Licensing of Downstream Recipients."}),(0,w.jsx)("p",{children:"Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License."}),(0,w.jsx)("p",{children:'An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party\'s predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.'}),(0,w.jsx)("p",{children:"You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it."}),(0,w.jsx)("h2",{children:"11. Patents."}),(0,w.jsx)("p",{children:'A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor\'s "contributor version".'}),(0,w.jsx)("p",{children:'A contributor\'s "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.'}),(0,w.jsx)("p",{children:"Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version."}),(0,w.jsx)("p",{children:'In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.'}),(0,w.jsx)("p",{children:'If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient\'s use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.'}),(0,w.jsx)("p",{children:"If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it."}),(0,w.jsx)("p",{children:'A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.'}),(0,w.jsx)("p",{children:"Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law."}),(0,w.jsx)("h2",{children:"12. No Surrender of Others' Freedom."}),(0,w.jsx)("p",{children:"If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program."}),(0,w.jsx)("h2",{children:"13. Remote Network Interaction; Use with the GNU General Public License."}),(0,w.jsx)("p",{children:"Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph."}),(0,w.jsx)("p",{children:"Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the work with which it is combined will remain governed by version 3 of the GNU General Public License."}),(0,w.jsx)("h2",{children:"14. Revised Versions of this License."}),(0,w.jsx)("p",{children:"The Free Software Foundation may publish revised and/or new versions of the GNU Affero General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns."}),(0,w.jsx)("p",{children:'Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU Affero General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU Affero General Public License, you may choose any version ever published by the Free Software Foundation.'}),(0,w.jsx)("p",{children:'Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU Affero General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU Affero General Public License, you may choose any version ever published by the Free Software Foundation.'}),(0,w.jsx)("p",{children:"Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version."}),(0,w.jsx)("h2",{children:"15. Disclaimer of Warranty."}),(0,w.jsx)("p",{children:'THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.'}),(0,w.jsx)("h2",{children:"16. Limitation of Liability."}),(0,w.jsx)("p",{children:"IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES."}),(0,w.jsx)("h2",{children:"17. Interpretation of Sections 15 and 16."}),(0,w.jsx)("p",{children:"If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee."}),(0,w.jsx)("p",{children:"END OF TERMS AND CONDITIONS"}),(0,w.jsx)("h2",{children:"How to Apply These Terms to Your New Programs"}),(0,w.jsx)("p",{children:"If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms."}),(0,w.jsx)("p",{children:'To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.'}),(0,w.jsx)("p",{children:(0,w.jsx)("code",{children:" Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see ."})}),(0,w.jsx)("p",{children:"Also add information on how to contact you by electronic and paper mail."}),(0,w.jsx)("p",{children:'If your software can interact with users remotely through a computer network, you should also make sure that it provides a way for users to get its source. For example, if your program is a web application, its interface could display a "Source" link that leads users to an archive of the code. There are many ways you could offer source, and different solutions will be better for different programs; see section 13 for the specific requirements.'}),(0,w.jsxs)("p",{children:['You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU AGPL, see <',(0,w.jsx)("a",{target:"_blank",href:"https://www.gnu.org/licenses/",rel:"noreferrer",children:"https://www.gnu.org/licenses/"}),">."]})]})]})]}):null})),k=t(30324),Z=t(98280),S=t(15607),N=t(49495),C=t(7345),L=t(36222),P=t(44149),T=t(66964),I=t(79136),A=t(70011),E=t(27207),R=t(10567),O={setModalErrorSnackMessage:P.zb},F=(0,a.$j)(null,O),M=(0,c.Z)((function(e){return(0,s.Z)((0,n.Z)((0,n.Z)({subnetLicenseKey:{},subnetLoginForm:{},licenseKeyField:{},pageTitle:{marginBottom:20},registrationMode:{cursor:"pointer"},button:{textTransform:"none",fontSize:15,fontWeight:700,background:"transparent linear-gradient(90deg, #073052 0%, #081c42 100%) 0% 0% no-repeat padding-box",color:"#fff"},buttonSignup:{textTransform:"none",fontSize:15,fontWeight:700,marginLeft:15}},b.DF),(0,b.Bz)(e.spacing(4))))}))(F((function(e){var o,t=e.classes,n=e.open,a=e.closeModal,s=e.setModalErrorSnackMessage,c=(0,r.useState)(""),d=(0,i.Z)(c,2),h=d[0],m=d[1],f=(0,r.useState)(""),y=(0,i.Z)(f,2),b=y[0],x=y[1],j=(0,r.useState)(""),Z=(0,i.Z)(j,2),S=Z[0],N=Z[1],C=(0,r.useState)(""),L=(0,i.Z)(C,2),P=L[0],O=L[1],F=(0,r.useState)(""),M=(0,i.Z)(F,2),B=M[0],D=M[1],G=(0,r.useState)(""),U=(0,i.Z)(G,2),z=U[0],H=U[1],Y=(0,r.useState)(""),W=(0,i.Z)(Y,2),q=W[0],V=W[1],_=(0,r.useState)(""),K=(0,i.Z)(_,2),$=K[0],Q=K[1],X=(0,r.useState)([]),J=(0,i.Z)(X,2),ee=J[0],oe=J[1],te=(0,r.useState)(!0),ie=(0,i.Z)(te,2),ne=ie[0],re=ie[1],ae=(0,r.useState)(!1),se=(0,i.Z)(ae,2),ce=se[0],le=se[1],de=function(){m(""),x(""),N(""),O(""),D("")},he=function(){if(!ce){le(!0);var e={username:S,password:b,apiKey:h};k.Z.invoke("POST","/api/v1/subnet/login",e).then((function(e){le(!1),e&&e.registered?(de(),a()):e&&e.mfa_token?O(e.mfa_token):e&&e.access_token&&e.organizations.length>0&&(H(e.access_token),oe(e.organizations),V(e.organizations[0].accountId.toString()))})).catch((function(e){le(!1),de(),s(e)}))}};return o=z&&ee.length>0?(0,w.jsxs)(r.Fragment,{children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(g.Z,{variant:"subtitle2",gutterBottom:!0,component:"div",children:"Register MinIO cluster"})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,w.jsx)(E.Z,{tooltip:"Please choose the organization for this cluster.",currentSelection:q,id:"subnet-organisation",name:"subnet-organisation",label:"Select an Organisation",onChange:function(e){V(e.target.value)},selectorOptions:ee.map((function(e){return{value:e.accountId.toString(),label:e.company}}))})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,w.jsx)(p.Z,{className:t.button,color:"primary",onClick:function(){return function(){if(!ce&&(le(!0),z&&q)){var e={token:z,account_id:q};k.Z.invoke("POST","/api/v1/subnet/register",e).then((function(){le(!1),de(),a()})).catch((function(e){le(!1),s(e)}))}}()},disabled:ce||0===z.trim().length,variant:"contained",children:"Register"})})]}):P?(0,w.jsxs)(r.Fragment,{children:[(0,w.jsxs)(u.ZP,{item:!0,xs:12,children:[(0,w.jsx)(g.Z,{variant:"subtitle2",gutterBottom:!0,component:"div",children:"Two-Factor Authentication"}),(0,w.jsx)(g.Z,{variant:"caption",display:"block",gutterBottom:!0,children:"Please enter the 6-digit verification code that was sent to your email address. This code will be valid for 5 minutes."})]}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,w.jsx)(T.Z,{overlayIcon:(0,w.jsx)(A.Z,{}),id:"subnet-otp",name:"subnet-otp",onChange:function(e){D(e.target.value)},placeholder:"",label:"",type:"text",value:B})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,w.jsx)(p.Z,{color:"primary",onClick:function(){return function(){if(!ce){le(!0);var e={username:S,otp:B,mfa_token:P};k.Z.invoke("POST","/api/v1/subnet/login/mfa",e).then((function(e){le(!1),e&&e.access_token&&e.organizations.length>0&&(H(e.access_token),oe(e.organizations),V(e.organizations[0].accountId.toString()))})).catch((function(e){le(!1),D(""),s(e)}))}}()},disabled:ce||0===B.trim().length||0===P.trim().length,variant:"contained",children:"Verify"})})]}):(0,w.jsxs)(r.Fragment,{children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,w.jsx)(T.Z,{overlayIcon:(0,w.jsx)(I.Z,{}),id:"subnet-email",name:"subnet-email",onChange:function(e){N(e.target.value)},placeholder:"email",label:"",type:"text",value:S})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,w.jsx)(T.Z,{overlayIcon:(0,w.jsx)(A.Z,{}),id:"subnet-password",name:"subnet-password",onChange:function(e){x(e.target.value)},placeholder:"password",label:"",type:"password",value:b})}),(0,w.jsxs)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:[(0,w.jsx)(p.Z,{color:"primary",onClick:function(){return he()},disabled:ce||0===S.trim().length||0===b.trim().length,variant:"contained",children:"Login"}),(0,w.jsx)(p.Z,{className:t.buttonSignup,color:"primary",target:"_blank",rel:"noopener noreferrer",href:"#",onClick:function(e){e.preventDefault(),window.open("https://min.io/pricing","_blank")},variant:"outlined",children:"Sign Up"})]}),(0,w.jsx)(g.Z,{variant:"caption",display:"block",gutterBottom:!0,children:(0,w.jsx)(R.Z,{className:t.registrationMode,color:"inherit",onClick:function(){ce||$||(le(!0),k.Z.invoke("GET","/api/v1/subnet/registration-token").then((function(e){le(!1),e&&e.regToken&&Q(e.regToken)})).catch((function(e){le(!1),s(e)}))),re(!1)},children:"Offline Activation"})})]}),n?(0,w.jsxs)(v.Z,{title:"",modalOpen:n,onClose:function(){m(""),x(""),N(""),a()},"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[(0,w.jsxs)(u.ZP,{container:!0,alignItems:"center",item:!0,xs:12,children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(g.Z,{component:"h2",variant:"h6",className:t.pageTitle,children:"Activate SUBNET License"})}),ne?(0,w.jsx)(u.ZP,{item:!0,className:t.subnetLoginForm,xs:12,children:(0,w.jsx)(u.ZP,{container:!0,children:o})}):(0,w.jsxs)(u.ZP,{item:!0,className:t.subnetLicenseKey,xs:12,children:[(0,w.jsx)(g.Z,{variant:"caption",display:"block",gutterBottom:!0,children:"Step 1: Copy the following registration token"}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,w.jsx)(T.Z,{onChange:function(){},id:"registration-token",name:"registration-token",placeholder:"",label:"",type:"text",value:$,disabled:!0})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,w.jsx)(p.Z,{variant:"contained",color:"primary",onClick:function(){return navigator.clipboard.writeText($)},children:"Copy"})}),(0,w.jsxs)(g.Z,{variant:"caption",display:"block",gutterBottom:!0,children:["Step 2: Use the previous token to register your cluster at:"," ",(0,w.jsx)(R.Z,{color:"inherit",href:"https://subnet.min.io/cluster/register",target:"_blank",children:"https://subnet.min.io/cluster/register"})]}),(0,w.jsx)(g.Z,{variant:"caption",display:"block",gutterBottom:!0,children:"Step 3: Enter the API key generated by SUBNET"}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,w.jsx)(T.Z,{value:h,onChange:function(e){return m(e.target.value)},id:"api-key",name:"api-key",placeholder:"",label:"",type:"text"})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,w.jsx)(p.Z,{variant:"contained",color:"primary",onClick:function(){return he()},disabled:ce||0===h.trim().length,children:"Activate"})}),(0,w.jsx)(g.Z,{variant:"caption",display:"block",gutterBottom:!0,children:(0,w.jsx)(R.Z,{className:t.registrationMode,color:"inherit",onClick:function(){return re(!0)},children:"Online Activation"})})]})]}),ce&&(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(l.Z,{})})]}):null}))),B=[{id:0,title:"Community",price:"Open Source",capacityMax:""},{id:1,title:"Standard",price:"$10 per TB",capacityMax:"(Minimum of 100TB)",capacityMin:""},{id:2,title:"Enterprise",price:"$20 per TB",capacityMax:"(Minimum of 100TB)",capacityMin:""}],D=[{id:0,field:"License",plans:{Community:{label:"GNU AGPL v3",detail:"",link:!0},Standard:{label:"Commercial License"},Enterprise:{label:"Commercial License"}}},{id:1,field:"Software Release",plans:{Community:{label:"Upstream"},Standard:{label:"1 Year Long Term Support"},Enterprise:{label:"5 Years Long Term Support"}}},{id:2,field:"SLA",plans:{Community:{label:"No SLA"},Standard:{label:"<48 Hours (Local Business Hours)"},Enterprise:{label:"<1 hour"}}},{id:3,field:"Support",plans:{Community:{label:"Community:",detail:"Public Slack Channel + Github Issues"},Standard:{label:"L4 Direct Engineering",detail:" support via SUBNET"},Enterprise:{label:"L4 Direct Engineering",detail:"support via SUBNET"}}},{id:4,field:"Security Updates & Critical Bugs",plans:{Community:{label:"Self Update"},Standard:{label:"Continuous Scan and Alert"},Enterprise:{label:"Continuous Scan and Alert"}}},{id:5,field:"Panic Button",plans:{Community:{label:"N/A"},Standard:{label:"1 per year"},Enterprise:{label:"Unlimited"}}},{id:6,field:"Health Diagnostics",plans:{Community:{label:"N/A"},Standard:{label:"24/7/365"},Enterprise:{label:"24/7/365"}}},{id:6,field:"Annual Architecture Review",plans:{Community:{label:"N/A"},Standard:{label:"N/A"},Enterprise:{label:"Yes"}}},{id:7,field:"Annual Performance Review",plans:{Community:{label:"N/A"},Standard:{label:"N/A"},Enterprise:{label:"Yes"}}},{id:8,field:"Indemnification",plans:{Community:{label:"N/A"},Standard:{label:"N/A"},Enterprise:{label:"Yes"}}},{id:9,field:"Security + Policy Review",plans:{Community:{label:"N/A"},Standard:{label:"N/A"},Enterprise:{label:"Yes"}}}],G=[{id:0,text:"Join Slack",text2:"",link:"https://slack.min.io",plan:"Community"},{id:1,text:"Subscribe",text2:"Sign up",link:"https://min.io/signup",plan:"Standard"},{id:2,text:"Subscribe",text2:"Sign up",link:"https://min.io/signup",plan:"Enterprise"}],U=t(85308),z=(0,c.Z)((function(e){return(0,s.Z)({planItemsPadding:{border:"1px solid #EAEDEE",borderTop:0,maxWidth:1180},planItemsBorder:{height:7,backgroundColor:"#07193E"},link:{textDecoration:"underline !important",color:e.palette.info.main},linkButton:{fontFamily:'"Lato", sans-serif',fontWeight:"normal",textTransform:"none",fontSize:"inherit",height:0,padding:0,margin:0},tableContainer:{marginLeft:28},detailsContainerBorder:{borderLeft:"1px solid #e2e2e2"},detailsTitle:{fontSize:19,fontWeight:700,marginBottom:26,paddingTop:18,lineHeight:1},currPlan:{color:"white",backgroundColor:"#2781B0"},planHeader:{padding:8},detailsPrice:{fontSize:13,fontWeight:700},detailsCapacityMax:{minHeight:28,fontSize:10},itemContainer:{height:36,"& .item:last-child":{borderRight:"1px solid #e5e5e5"}},itemContainerDetail:{height:48},item:{height:"100%",borderLeft:"1px solid #e5e5e5",textAlign:"center",fontSize:10,fontWeight:700,display:"flex",alignItems:"center",alignContent:"center",borderTop:"1px solid #e5e5e5"},itemFirst:{borderLeft:0,borderRight:0},field:{textAlign:"left",fontWeight:400,fontSize:12},checkIcon:{fontSize:15,color:"#385973"},buttonContainer:{paddingTop:8,paddingBottom:24,height:"100%",display:"flex",justifyContent:"center",borderLeft:"1px solid #e2e2e2"},buttonContainerBlank:{border:0},buttonContainerHighlighted:{borderTop:0},button:{textTransform:"none",fontSize:15,fontWeight:700},activateLink:{color:"#1C5A8D",fontWeight:"bold",clear:"both",background:"none",border:"none",textDecoration:"underline",cursor:"pointer"},currentPlanBG:{background:"#022A4A 0% 0% no-repeat padding-box",color:"#FFFFFF",borderTop:"1px solid #52687d"}})}))((function(e){var o=e.classes,t=e.activateProductModal,i=e.closeModalAndFetchLicenseInfo,n=e.licenseInfo,a=e.setLicenseModal,s=e.operatorMode,c=e.currentPlanID,l=(e.setActivateProductModal,B.filter((function(e){return!n||"Community"!==e.title}))),d=G.filter((function(e){return!n||"Community"!==e.plan})),m=n?4:3;return(0,w.jsxs)(r.Fragment,{children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)("div",{className:o.planItemsBorder})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:(0,h.Z)(o.planItemsPadding),children:(0,w.jsxs)(u.ZP,{container:!0,children:[(0,w.jsx)(M,{open:t,closeModal:function(){return i()}}),(0,w.jsxs)(u.ZP,{container:!0,item:!0,xs:12,className:o.tableContainer,children:[(0,w.jsxs)(u.ZP,{container:!0,item:!0,xs:12,children:[(0,w.jsx)(u.ZP,{item:!0,xs:m}),l.map((function(e){var t=!n&&"Community"===e.title||n&&n.plan.toLowerCase()===e.title.toLowerCase();return(0,w.jsxs)(u.ZP,{container:!0,item:!0,xs:m,justifyContent:"center",className:(0,h.Z)(o.detailsContainerBorder,(0,L.Z)({},o.currPlan,t)),children:[(0,w.jsx)(u.ZP,{item:!0,xs:10,className:o.planHeader}),(0,w.jsxs)(u.ZP,{item:!0,xs:10,className:o.detailsTitle,children:[e.title,t&&(0,w.jsx)(r.Fragment,{children:(0,w.jsx)("div",{style:{fontSize:10},children:"CURRENT PLAN"})})]}),(0,w.jsx)(u.ZP,{item:!0,xs:10,className:o.detailsPrice,children:e.price}),(0,w.jsx)(u.ZP,{item:!0,xs:10,className:o.detailsCapacityMax,children:e.capacityMax||""})]},e.id)}))]}),D.map((function(e){return(0,w.jsxs)(u.ZP,{container:!0,item:!0,xs:12,className:(0,h.Z)(o.itemContainer,e.communityDetail&&o.itemContainerDetail),children:[(0,w.jsx)(u.ZP,{item:!0,xs:m,className:(0,h.Z)(o.item,o.field,o.itemFirst),children:e.field}),l.map((function(t){return(0,w.jsx)(r.Fragment,{children:(0,w.jsxs)(u.ZP,{container:!0,item:!0,xs:m,className:(0,h.Z)(o.item),children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,children:"N/A"===e.plans[t.title].label?"":"Yes"===e.plans[t.title].label?(0,w.jsx)(U.Z,{className:o.checkIcon}):(0,w.jsx)(r.Fragment,{children:e.plans[t.title].link?(0,w.jsx)(p.Z,{variant:"text",color:"primary",size:"small",className:(0,h.Z)(o.link,o.linkButton),onClick:function(){return a(!0)},children:e.plans[t.title].label}):e.plans[t.title].label})}),void 0!==e.plans[t.title].detail&&(0,w.jsx)(u.ZP,{item:!0,xs:12,children:e.plans[t.title].detail})]})})}))]},e.id)})),(0,w.jsxs)(u.ZP,{container:!0,item:!0,xs:12,children:[(0,w.jsx)(u.ZP,{item:!0,xs:m,className:(0,h.Z)(o.buttonContainer,o.buttonContainerBlank)}),d.map((function(e,t){return(0,w.jsx)(u.ZP,{container:!0,item:!0,xs:m,style:{textAlign:"center"},className:(0,h.Z)(o.buttonContainer,(0,L.Z)({},o.buttonContainerHighlighted,"Subscribe"===e.text)),children:(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(p.Z,{variant:"Join Slack"===e.text?"outlined":"contained",color:"primary",className:(0,h.Z)(o.button),target:"_blank",rel:"noopener noreferrer",href:"#",disabled:n&&n.plan.toLowerCase()===e.plan.toLowerCase(),onClick:function(o){o.preventDefault(),window.open("".concat(e.link,"?ref=").concat(s?"op":"con"),"_blank")},children:c!==t&&t>0?e.text2:e.text})})},e.id)}))]})]})]})})]})})),H=t(6369),Y=(0,a.$j)((function(e){return{operatorMode:e.system.operatorMode}}),null)((0,c.Z)((function(e){return(0,s.Z)((0,n.Z)((0,n.Z)({pageTitle:{backgroundColor:"rgb(250,250,252)",marginTop:40,border:"1px solid #EAEDEE",padding:25,fontSize:16,fontWeight:"bold","& ul":{listStyleType:"square","& li":{float:"left",fontSize:14,marginRight:40},"& li::before":{color:"red",content:"\u2022"}}},licDet:{fontSize:11,color:"#5E5E5E"},linkMore:{marginTop:10,marginBottom:20},chooseFlavorText:{color:"#000000",fontSize:14},licenseContainer:{display:"flex",flexWrap:"wrap",flexDirection:"row",padding:"30px 30px 0px 30px",border:"1px solid #EAEDEE","& h2":{flexDirection:"row"},"& a":{textDecoration:"none",flexDirection:"row"},"& h3":{marginBottom:"30px",fontWeight:"bold"},"& h6":{}},link:{textDecoration:"underline !important",color:e.palette.info.main},linkButton:{fontFamily:'"Lato", sans-serif',fontWeight:"normal",textTransform:"none",fontSize:"inherit",height:0,padding:0,margin:0},button:{textTransform:"none",fontSize:15,fontWeight:700},openSourcePolicy:{fontSize:14,color:"#1C5A8D",fontWeight:"bold"},subnetRefreshLicenseLink:{color:"#1C5A8D",fontWeight:"bold",clear:"both",background:"none",border:"none",textDecoration:"underline",cursor:"pointer",fontSize:13},licenseInfo:{position:"relative"},licenseInfoTitle:{textTransform:"none",color:"#999999",fontSize:11},licenseInfoValue:{textTransform:"none",fontSize:14,fontWeight:"bold"},subnetSubTitle:{fontSize:14},verifiedIcon:{width:96,position:"absolute",right:0,bottom:29},loadingLoginStrategy:{textAlign:"center"}},(0,b.Bz)(e.spacing(4))),{},{mainContainer:{border:"1px solid #EAEDEE",padding:40,margin:40},icon:{color:e.palette.primary.main,fontSize:16,fontWeight:"bold",marginBottom:20,"& .min-icon":{width:44,height:44,marginRight:15}}}))}))((function(e){var o=e.classes,t=e.operatorMode,n=(0,r.useState)(!1),a=(0,i.Z)(n,2),s=a[0],c=a[1],m=(0,r.useState)(!1),b=(0,i.Z)(m,2),v=b[0],L=b[1],P=(0,r.useState)(),T=(0,i.Z)(P,2),I=T[0],A=T[1],E=(0,r.useState)(0),R=(0,i.Z)(E,2),O=R[0],F=R[1],M=(0,r.useState)(!1),B=(0,i.Z)(M,2),D=B[0],G=B[1],U=(0,r.useState)(!0),Y=(0,i.Z)(U,2),W=Y[0],q=Y[1],V=(0,r.useState)(!1),_=(0,i.Z)(V,2),K=_[0],$=_[1],Q=(0,r.useState)(!1),X=(0,i.Z)(Q,2),J=X[0],ee=X[1],oe=(0,S.F)(N.C3,N.LC[N.gA.LICENSE],!0),te=(0,r.useCallback)((function(){D||(oe?(G(!0),k.Z.invoke("GET","/api/v1/subnet/info").then((function(e){e&&("STANDARD"===e.plan?F(1):"ENTERPRISE"===e.plan?F(2):F(1),A(e)),ee(!0),G(!1)})).catch((function(){ee(!1),G(!1)}))):G(!1))}),[D,oe]);return(0,r.useEffect)((function(){W&&(te(),q(!1))}),[te,W,q]),D?(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(l.Z,{})}):(0,w.jsx)(r.Fragment,{children:(0,w.jsxs)(r.Fragment,{children:[(0,w.jsx)(x.Z,{label:"License"}),(0,w.jsx)("div",{className:(0,h.Z)(o.container,o.mainContainer),children:(0,w.jsxs)(u.ZP,{container:!0,children:[(0,w.jsx)(u.ZP,{xs:12,children:I&&(0,w.jsx)(C.Z,{})}),!J&&(0,w.jsxs)(r.Fragment,{children:[(0,w.jsxs)(u.ZP,{xs:12,className:o.icon,children:[(0,w.jsx)(Z.DJ,{}),"GNU Affero General Public License"]}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsxs)(u.ZP,{container:!0,children:[(0,w.jsx)(u.ZP,{item:!0,xs:12,lg:12,className:"".concat(o.licenseContainer),children:I?(0,w.jsx)(r.Fragment,{children:(0,w.jsxs)(u.ZP,{container:!0,className:o.licenseInfo,children:[(0,w.jsxs)(u.ZP,{item:!0,xs:6,children:[(0,w.jsx)(g.Z,{variant:"button",display:"block",gutterBottom:!0,className:o.licenseInfoTitle,children:"License"}),(0,w.jsx)(g.Z,{variant:"overline",display:"block",gutterBottom:!0,className:o.licenseInfoValue,children:"Commercial License"}),(0,w.jsx)(g.Z,{variant:"button",display:"block",gutterBottom:!0,className:o.licenseInfoTitle,children:"Organization"}),(0,w.jsx)(g.Z,{variant:"overline",display:"block",gutterBottom:!0,className:o.licenseInfoValue,children:I.organization}),(0,w.jsx)(g.Z,{variant:"button",display:"block",gutterBottom:!0,className:o.licenseInfoTitle,children:"Registered Capacity"}),(0,w.jsx)(g.Z,{variant:"overline",display:"block",gutterBottom:!0,className:o.licenseInfoValue,children:(0,y.ae)((1099511627776*I.storage_capacity).toString(10),!1)})]}),(0,w.jsxs)(u.ZP,{item:!0,xs:6,children:[(0,w.jsx)(g.Z,{variant:"button",display:"block",gutterBottom:!0,className:o.licenseInfoTitle,children:"Subscription Plan"}),(0,w.jsx)(g.Z,{variant:"overline",display:"block",gutterBottom:!0,className:o.licenseInfoValue,children:I.plan}),(0,w.jsx)(g.Z,{variant:"button",display:"block",gutterBottom:!0,className:o.licenseInfoTitle,children:"Requestor"}),(0,w.jsx)(g.Z,{variant:"overline",display:"block",gutterBottom:!0,className:o.licenseInfoValue,children:I.email}),(0,w.jsx)(g.Z,{variant:"button",display:"block",gutterBottom:!0,className:o.licenseInfoTitle,children:"Expiry Date"}),(0,w.jsx)(g.Z,{variant:"overline",display:"block",gutterBottom:!0,className:o.licenseInfoValue,children:(0,w.jsx)(f(),{format:"YYYY-MM-DD",children:I.expires_at.split(" ").slice(0,1).join(" ")})})]}),(0,w.jsx)("img",{className:o.verifiedIcon,src:"/verified.svg",alt:"verified"})]})}):(0,w.jsxs)(r.Fragment,{children:[(0,w.jsx)(j,{open:v,closeModal:function(){return L(!1)}}),(0,w.jsxs)(u.ZP,{container:!0,justifyContent:"space-between",children:[(0,w.jsxs)(u.ZP,{item:!0,children:[(0,w.jsx)("img",{src:"/agpl-logo.svg",height:40,alt:"agpl"})," "]}),(0,w.jsxs)(u.ZP,{item:!0,className:o.licDet,children:[(0,w.jsx)("b",{children:"Version 3."})," 19 November 2007"," "]})]}),(0,w.jsxs)(u.ZP,{container:!0,children:[(0,w.jsx)(g.Z,{children:"The GNU Affero General Public License is a free, copyleft license for software and other kinds of works, specifically designed to ensure cooperation with the Community in the case of network server software."}),(0,w.jsx)("br",{}),(0,w.jsx)(g.Z,{children:"The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, our General Public Licenses are intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users."}),(0,w.jsx)("div",{className:o.linkMore,children:(0,w.jsx)(p.Z,{variant:"text",color:"primary",size:"small",className:(0,h.Z)(o.link,o.linkButton),onClick:function(){return L(!0)},children:"Read more"})})]})]})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,lg:12,children:I?(0,w.jsxs)("div",{className:o.pageTitle,children:[(0,w.jsx)(g.Z,{component:"h2",variant:"h6",children:"Login to MinIO SUBNET !"}),(0,w.jsx)(g.Z,{component:"p",className:o.subnetSubTitle,children:"It combines a commercial license with a support experience unlike any other."}),(0,w.jsx)("br",{}),(0,w.jsx)(p.Z,{variant:"contained",color:"primary",className:o.button,target:"_blank",rel:"noopener noreferrer",href:"https://subnet.min.io/support/?ref=".concat(t?"op":"con"),children:"Login to SUBNET"}),t&&(0,w.jsxs)(r.Fragment,{children:[" ",(0,w.jsx)("br",{}),(0,w.jsx)("br",{}),(0,w.jsx)("button",{className:o.subnetRefreshLicenseLink,onClick:function(e){e.preventDefault(),$(!0),k.Z.invoke("POST","/api/v1/subscription/refresh",{}).then((function(e){e&&("STANDARD"===e.plan?F(1):"ENTERPRISE"===e.plan?F(2):F(1),A(e)),$(!1)})).catch((function(e){$(!1)}))},children:"Refresh License"}),K&&(0,w.jsx)(d.Z,{size:16,className:o.loadingLoginStrategy})]})]}):(0,w.jsxs)("div",{className:o.pageTitle,children:[(0,w.jsx)(g.Z,{component:"h2",variant:"h6",children:"Choosing between GNU AGPL v3 and Commercial License"}),(0,w.jsx)("br",{}),(0,w.jsx)(g.Z,{className:o.chooseFlavorText,children:"If you are building proprietary applications, you may want to choose the commercial license included as part of the Standard and Enterprise subscription plans. Applications must otherwise comply with all the GNU AGPLv3 License & Trademark obligations. Follow the links below to learn more about the compliance policy."}),(0,w.jsxs)("ul",{children:[(0,w.jsx)("li",{children:(0,w.jsx)("a",{href:"https://min.io/compliance?ref=".concat(t?"op":"con"),className:o.openSourcePolicy,target:"_blank",rel:"nofollow noopener noreferrer",children:"Learn more about GNU AGPL v3"})}),(0,w.jsx)("li",{children:(0,w.jsx)("a",{href:"https://min.io/logo?ref=".concat(t?"op":"con"),className:o.openSourcePolicy,target:"_blank",rel:"nofollow noopener noreferrer",children:"MinIO Trademark Compliance"})})]}),(0,w.jsx)("div",{style:{clear:"both"}})]})})]})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)("br",{})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(H.rU,{to:N.gA.REGISTER_SUPPORT,className:o.link,style:{fontSize:14},children:"Are you already a customer? Register Here \u2192"})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)("br",{})})]}),(0,w.jsx)(z,{activateProductModal:s,closeModalAndFetchLicenseInfo:function(){c(!1),te()},licenseInfo:I,setLicenseModal:L,operatorMode:t,currentPlanID:O,setActivateProductModal:c})]})})]})})})))},7345:function(e,o,t){var i=t(25594),n=t(39056),r=(t(50390),t(86509)),a=t(4285),s=t(62559);o.Z=(0,a.Z)((function(e){return(0,r.Z)({registeredStatus:{border:"1px solid #E2E2E2",padding:"24px 24px 24px 24px",borderRadius:2,marginBottom:25,backgroundColor:"#FBFAFA","& .min-icon":{width:20,height:20,marginLeft:48,marginRight:13,verticalAlign:"middle",marginTop:-3},"& span":{fontWeight:"bold"}}})}))((function(e){var o=e.classes;return(0,s.jsx)(i.ZP,{container:!0,children:(0,s.jsxs)(i.ZP,{item:!0,xs:12,className:o.registeredStatus,children:["Registration Status:",(0,s.jsx)(n.Z,{}),(0,s.jsx)("span",{children:"Registered"})]})})}))},85308:function(e,o,t){var i=t(64119);o.Z=void 0;var n=i(t(66830)),r=t(62559),a=(0,n.default)((0,r.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckCircle");o.Z=a},70011:function(e,o,t){var i=t(64119);o.Z=void 0;var n=i(t(66830)),r=t(62559),a=(0,n.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");o.Z=a},79136:function(e,o,t){var i=t(64119);o.Z=void 0;var n=i(t(66830)),r=t(62559),a=(0,n.default)((0,r.jsx)("path",{d:"M12 5.9c1.16 0 2.1.94 2.1 2.1s-.94 2.1-2.1 2.1S9.9 9.16 9.9 8s.94-2.1 2.1-2.1m0 9c2.97 0 6.1 1.46 6.1 2.1v1.1H5.9V17c0-.64 3.13-2.1 6.1-2.1M12 4C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 9c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4z"}),"PersonOutlineOutlined");o.Z=a},10567:function(e,o,t){t.d(o,{Z:function(){return S}});var i=t(23430),n=t(36222),r=t(1048),a=t(32793),s=t(50390),c=t(44977),l=t(50076),d=t(29001),h=t(36128),u=t(91442),p=t(8208),m=t(15573),f=t(42081),g=t(3299),y=t(35477),b=t(10594);function x(e){return(0,b.Z)("MuiLink",e)}var v=(0,t(43349).Z)("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),w=t(62559),j=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant"],k={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},Z=(0,p.ZP)(y.Z,{name:"MuiLink",slot:"Root",overridesResolver:function(e,o){var t=e.ownerState;return[o.root,o["underline".concat((0,u.Z)(t.underline))],"button"===t.component&&o.button]}})((function(e){var o=e.theme,t=e.ownerState,i=(0,d.D)(o,"palette.".concat(function(e){return k[e]||e}(t.color)))||t.color;return(0,a.Z)({},"none"===t.underline&&{textDecoration:"none"},"hover"===t.underline&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},"always"===t.underline&&{textDecoration:"underline",textDecorationColor:"inherit"!==i?(0,h.Fq)(i,.4):void 0,"&:hover":{textDecorationColor:"inherit"}},"button"===t.component&&(0,n.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(v.focusVisible),{outline:"auto"}))})),S=s.forwardRef((function(e,o){var t=(0,m.Z)({props:e,name:"MuiLink"}),n=t.className,d=t.color,h=void 0===d?"primary":d,p=t.component,y=void 0===p?"a":p,b=t.onBlur,v=t.onFocus,k=t.TypographyClasses,S=t.underline,N=void 0===S?"always":S,C=t.variant,L=void 0===C?"inherit":C,P=(0,r.Z)(t,j),T=(0,f.Z)(),I=T.isFocusVisibleRef,A=T.onBlur,E=T.onFocus,R=T.ref,O=s.useState(!1),F=(0,i.Z)(O,2),M=F[0],B=F[1],D=(0,g.Z)(o,R),G=(0,a.Z)({},t,{color:h,component:y,focusVisible:M,underline:N,variant:L}),U=function(e){var o=e.classes,t=e.component,i=e.focusVisible,n=e.underline,r={root:["root","underline".concat((0,u.Z)(n)),"button"===t&&"button",i&&"focusVisible"]};return(0,l.Z)(r,x,o)}(G);return(0,w.jsx)(Z,(0,a.Z)({className:(0,c.Z)(U.root,n),classes:k,color:h,component:y,onBlur:function(e){A(e),!1===I.current&&B(!1),b&&b(e)},onFocus:function(e){E(e),!0===I.current&&B(!0),v&&v(e)},ref:D,ownerState:G,variant:L},P))}))},16756:function(e,o,t){t.d(o,{Z:function(){return v}});var i=t(23430),n=t(1048),r=t(32793),a=t(50390),s=t(44977),c=t(50076),l=t(91442),d=t(8208),h=t(55386),u=t(23060),p=t(86875),m=t(10594);function f(e){return(0,m.Z)("PrivateSwitchBase",e)}(0,t(43349).Z)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var g=t(62559),y=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],b=(0,d.ZP)(p.Z)((function(e){var o=e.ownerState;return(0,r.Z)({padding:9,borderRadius:"50%"},"start"===o.edge&&{marginLeft:"small"===o.size?-3:-12},"end"===o.edge&&{marginRight:"small"===o.size?-3:-12})})),x=(0,d.ZP)("input")({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),v=a.forwardRef((function(e,o){var t=e.autoFocus,a=e.checked,d=e.checkedIcon,p=e.className,m=e.defaultChecked,v=e.disabled,w=e.disableFocusRipple,j=void 0!==w&&w,k=e.edge,Z=void 0!==k&&k,S=e.icon,N=e.id,C=e.inputProps,L=e.inputRef,P=e.name,T=e.onBlur,I=e.onChange,A=e.onFocus,E=e.readOnly,R=e.required,O=e.tabIndex,F=e.type,M=e.value,B=(0,n.Z)(e,y),D=(0,h.Z)({controlled:a,default:Boolean(m),name:"SwitchBase",state:"checked"}),G=(0,i.Z)(D,2),U=G[0],z=G[1],H=(0,u.Z)(),Y=v;H&&"undefined"===typeof Y&&(Y=H.disabled);var W="checkbox"===F||"radio"===F,q=(0,r.Z)({},e,{checked:U,disabled:Y,disableFocusRipple:j,edge:Z}),V=function(e){var o=e.classes,t=e.checked,i=e.disabled,n=e.edge,r={root:["root",t&&"checked",i&&"disabled",n&&"edge".concat((0,l.Z)(n))],input:["input"]};return(0,c.Z)(r,f,o)}(q);return(0,g.jsxs)(b,(0,r.Z)({component:"span",className:(0,s.Z)(V.root,p),centerRipple:!0,focusRipple:!j,disabled:Y,tabIndex:null,role:void 0,onFocus:function(e){A&&A(e),H&&H.onFocus&&H.onFocus(e)},onBlur:function(e){T&&T(e),H&&H.onBlur&&H.onBlur(e)},ownerState:q,ref:o},B,{children:[(0,g.jsx)(x,(0,r.Z)({autoFocus:t,checked:a,defaultChecked:m,className:V.input,disabled:Y,id:W&&N,name:P,onChange:function(e){if(!e.nativeEvent.defaultPrevented){var o=e.target.checked;z(o),I&&I(e,o)}},readOnly:E,ref:L,required:R,ownerState:q,tabIndex:O,type:F},"checkbox"===F&&void 0===M?{}:{value:M},C)),U?d:S]}))}))}}]); +//# sourceMappingURL=3474.fe892013.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3474.fe892013.chunk.js.map b/portal-ui/build/static/js/3474.fe892013.chunk.js.map new file mode 100644 index 000000000..cbfd5a20d --- /dev/null +++ b/portal-ui/build/static/js/3474.fe892013.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3474.fe892013.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/License/LicenseModal.tsx","screens/Console/License/ActivationModal.tsx","screens/Console/License/utils.ts","screens/Console/License/LicensePlans.tsx","screens/Console/License/License.tsx","screens/Console/Support/RegisterStatus.tsx","../node_modules/@mui/icons-material/CheckCircle.js","../node_modules/@mui/icons-material/LockOutlined.js","../node_modules/@mui/icons-material/PersonOutlineOutlined.js","../node_modules/@mui/material/Link/linkClasses.js","../node_modules/@mui/material/Link/Link.js","../node_modules/@mui/material/internal/switchBaseClasses.js","../node_modules/@mui/material/internal/SwitchBase.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n
\n )}\n
\n
\n \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\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 { containerForHeader } from \"../Common/FormComponents/common/styleLibrary\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport Typography from \"@mui/material/Typography\";\nimport React from \"react\";\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 ...containerForHeader(theme.spacing(4)),\n });\n\ninterface ILicenseModalProps {\n classes: any;\n open: boolean;\n closeModal: () => void;\n}\n\nconst LicenseModal = ({ classes, open, closeModal }: ILicenseModalProps) => {\n return open ? (\n {\n closeModal();\n }}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n {\" \"}\n \n \n \n GNU AFFERO GENERAL PUBLIC LICENSE\n \n

Version 3, 19 November 2007

\n
\n \n

\n Copyright © 2007 Free Software Foundation, Inc. <\n \n https://fsf.org/\n \n >\n

\n

\n {\" \"}\n Everyone is permitted to copy and distribute verbatim copies of this\n license document, but changing it is not allowed.\n

\n

Preamble

\n

\n The GNU Affero General Public License is a free, copyleft license\n for software and other kinds of works, specifically designed to\n ensure cooperation with the community in the case of network server\n software.\n

\n\n

\n The licenses for most software and other practical works are\n designed to take away your freedom to share and change the works. By\n contrast, our General Public Licenses are intended to guarantee your\n freedom to share and change all versions of a program--to make sure\n it remains free software for all its users.\n

\n\n

\n When we speak of free software, we are referring to freedom, not\n price. Our General Public Licenses are designed to make sure that\n you have the freedom to distribute copies of free software (and\n charge for them if you wish), that you receive source code or can\n get it if you want it, that you can change the software or use\n pieces of it in new free programs, and that you know you can do\n these things.\n

\n\n

\n Developers that use our General Public Licenses protect your rights\n with two steps: (1) assert copyright on the software, and (2) offer\n you this License which gives you legal permission to copy,\n distribute and/or modify the software.\n

\n\n

\n A secondary benefit of defending all users' freedom is that\n improvements made in alternate versions of the program, if they\n receive widespread use, become available for other developers to\n incorporate. Many developers of free software are heartened and\n encouraged by the resulting cooperation. However, in the case of\n software used on network servers, this result may fail to come\n about. The GNU General Public License permits making a modified\n version and letting the public access it on a server without ever\n releasing its source code to the public.\n

\n\n

\n The GNU Affero General Public License is designed specifically to\n ensure that, in such cases, the modified source code becomes\n available to the community. It requires the operator of a network\n server to provide the source code of the modified version running\n there to the users of that server. Therefore, public use of a\n modified version, on a publicly accessible server, gives the public\n access to the source code of the modified version.\n

\n\n

\n An older license, called the Affero General Public License and\n published by Affero, was designed to accomplish similar goals. This\n is a different license, not a version of the Affero GPL, but Affero\n has released a new version of the Affero GPL which permits\n relicensing under this license.\n

\n\n

\n The precise terms and conditions for copying, distribution and\n modification follow.\n

\n\n

TERMS AND CONDITIONS

\n

0. Definitions.

\n

\n "This License" refers to version 3 of the GNU Affero\n General Public License.\n

\n\n

\n "Copyright" also means copyright-like laws that apply to\n other kinds of works, such as semiconductor masks.\n

\n\n

\n "The Program" refers to any copyrightable work licensed\n under this License. Each licensee is addressed as "you".\n "Licensees" and "recipients" may be individuals\n or organizations.\n

\n\n

\n To "modify" a work means to copy from or adapt all or part\n of the work in a fashion requiring copyright permission, other than\n the making of an exact copy. The resulting work is called a\n "modified version" of the earlier work or a work\n "based on" the earlier work.\n

\n\n

\n A "covered work" means either the unmodified Program or a\n work based on the Program.\n

\n\n

\n To "propagate" a work means to do anything with it that,\n without permission, would make you directly or secondarily liable\n for infringement under applicable copyright law, except executing it\n on a computer or modifying a private copy. Propagation includes\n copying, distribution (with or without modification), making\n available to the public, and in some countries other activities as\n well.\n

\n\n

\n To "convey" a work means any kind of propagation that\n enables other parties to make or receive copies. Mere interaction\n with a user through a computer network, with no transfer of a copy,\n is not conveying.\n

\n\n

\n An interactive user interface displays "Appropriate Legal\n Notices" to the extent that it includes a convenient and\n prominently visible feature that (1) displays an appropriate\n copyright notice, and (2) tells the user that there is no warranty\n for the work (except to the extent that warranties are provided),\n that licensees may convey the work under this License, and how to\n view a copy of this License. If the interface presents a list of\n user commands or options, such as a menu, a prominent item in the\n list meets this criterion.\n

\n\n

1. Source Code.

\n

\n The "source code" for a work means the preferred form of\n the work for making modifications to it. "Object code"\n means any non-source form of a work.\n

\n\n

\n A "Standard Interface" means an interface that either is\n an official standard defined by a recognized standards body, or, in\n the case of interfaces specified for a particular programming\n language, one that is widely used among developers working in that\n language.\n

\n\n

\n The "System Libraries" of an executable work include\n anything, other than the work as a whole, that (a) is included in\n the normal form of packaging a Major Component, but which is not\n part of that Major Component, and (b) serves only to enable use of\n the work with that Major Component, or to implement a Standard\n Interface for which an implementation is available to the public in\n source code form. A "Major Component", in this context,\n means a major essential component (kernel, window system, and so on)\n of the specific operating system (if any) on which the executable\n work runs, or a compiler used to produce the work, or an object code\n interpreter used to run it.\n

\n\n

\n The "Corresponding Source" for a work in object code form\n means all the source code needed to generate, install, and (for an\n executable work) run the object code and to modify the work,\n including scripts to control those activities. However, it does not\n include the work's System Libraries, or general-purpose tools or\n generally available free programs which are used unmodified in\n performing those activities but which are not part of the work. For\n example, Corresponding Source includes interface definition files\n associated with source files for the work, and the source code for\n shared libraries and dynamically linked subprograms that the work is\n specifically designed to require, such as by intimate data\n communication or control flow between those subprograms and other\n parts of the work.\n

\n\n

\n The Corresponding Source need not include anything that users can\n regenerate automatically from other parts of the Corresponding\n Source.\n

\n\n

\n The Corresponding Source for a work in source code form is that same\n work.\n

\n\n

2. Basic Permissions.

\n

\n All rights granted under this License are granted for the term of\n copyright on the Program, and are irrevocable provided the stated\n conditions are met. This License explicitly affirms your unlimited\n permission to run the unmodified Program. The output from running a\n covered work is covered by this License only if the output, given\n its content, constitutes a covered work. This License acknowledges\n your rights of fair use or other equivalent, as provided by\n copyright law.\n

\n

\n You may make, run and propagate covered works that you do not\n convey, without conditions so long as your license otherwise remains\n in force. You may convey covered works to others for the sole\n purpose of having them make modifications exclusively for you, or\n provide you with facilities for running those works, provided that\n you comply with the terms of this License in conveying all material\n for which you do not control copyright. Those thus making or running\n the covered works for you must do so exclusively on your behalf,\n under your direction and control, on terms that prohibit them from\n making any copies of your copyrighted material outside their\n relationship with you.\n

\n

\n Conveying under any other circumstances is permitted solely under\n the conditions stated below. Sublicensing is not allowed; section 10\n makes it unnecessary.\n

\n

\n 3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n

\n

\n No covered work shall be deemed part of an effective technological\n measure under any applicable law fulfilling obligations under\n article 11 of the WIPO copyright treaty adopted on 20 December 1996,\n or similar laws prohibiting or restricting circumvention of such\n measures.\n

\n

\n When you convey a covered work, you waive any legal power to forbid\n circumvention of technological measures to the extent such\n circumvention is effected by exercising rights under this License\n with respect to the covered work, and you disclaim any intention to\n limit operation or modification of the work as a means of enforcing,\n against the work's users, your or third parties' legal rights to\n forbid circumvention of technological measures.\n

\n

4. Conveying Verbatim Copies.

\n

\n You may convey verbatim copies of the Program's source code as you\n receive it, in any medium, provided that you conspicuously and\n appropriately publish on each copy an appropriate copyright notice;\n keep intact all notices stating that this License and any\n non-permissive terms added in accord with section 7 apply to the\n code; keep intact all notices of the absence of any warranty; and\n give all recipients a copy of this License along with the Program.\n

\n

\n You may charge any price or no price for each copy that you convey,\n and you may offer support or warranty protection for a fee.\n

\n

5. Conveying Modified Source Versions.

\n

\n You may convey a work based on the Program, or the modifications to\n produce it from the Program, in the form of source code under the\n terms of section 4, provided that you also meet all of these\n conditions:\n

\n

\n

    \n
  • \n a) The work must carry prominent notices stating that you\n modified it, and giving a relevant date.\n
  • \n
  • \n b) The work must carry prominent notices stating that it is\n released under this License and any conditions added under\n section 7. This requirement modifies the requirement in section\n 4 to "keep intact all notices".\n
  • \n
  • \n c) You must license the entire work, as a whole, under this\n License to anyone who comes into possession of a copy. This\n License will therefore apply, along with any applicable section\n 7 additional terms, to the whole of the work, and all its parts,\n regardless of how they are packaged. This License gives no\n permission to license the work in any other way, but it does not\n invalidate such permission if you have separately received it.\n
  • \n
  • \n d) If the work has interactive user interfaces, each must\n display Appropriate Legal Notices; however, if the Program has\n interactive interfaces that do not display Appropriate Legal\n Notices, your work need not make them do so.\n
  • \n
\n

\n

\n A compilation of a covered work with other separate and independent\n works, which are not by their nature extensions of the covered work,\n and which are not combined with it such as to form a larger program,\n in or on a volume of a storage or distribution medium, is called an\n "aggregate" if the compilation and its resulting copyright\n are not used to limit the access or legal rights of the\n compilation's users beyond what the individual works permit.\n Inclusion of a covered work in an aggregate does not cause this\n License to apply to the other parts of the aggregate.\n

\n

6. Conveying Non-Source Forms.

\n

\n You may convey a covered work in object code form under the terms of\n sections 4 and 5, provided that you also convey the machine-readable\n Corresponding Source under the terms of this License, in one of\n these ways:\n

\n

\n

    \n
  • \n a) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by the\n Corresponding Source fixed on a durable physical medium\n customarily used for software interchange.\n
  • \n
  • \n b) Convey the object code in, or embodied in, a physical product\n (including a physical distribution medium), accompanied by a\n written offer, valid for at least three years and valid for as\n long as you offer spare parts or customer support for that\n product model, to give anyone who possesses the object code\n either (1) a copy of the Corresponding Source for all the\n software in the product that is covered by this License, on a\n durable physical medium customarily used for software\n interchange, for a price no more than your reasonable cost of\n physically performing this conveying of source, or (2) access to\n copy the Corresponding Source from a network server at no\n charge.\n
  • \n
  • \n c) Convey individual copies of the object code with a copy of\n the written offer to provide the Corresponding Source. This\n alternative is allowed only occasionally and noncommercially,\n and only if you received the object code with such an offer, in\n accord with subsection 6b.\n
  • \n
  • \n d) Convey the object code by offering access from a designated\n place (gratis or for a charge), and offer equivalent access to\n the Corresponding Source in the same way through the same place\n at no further charge. You need not require recipients to copy\n the Corresponding Source along with the object code. If the\n place to copy the object code is a network server, the\n Corresponding Source may be on a different server (operated by\n you or a third party) that supports equivalent copying\n facilities, provided you maintain clear directions next to the\n object code saying where to find the Corresponding Source.\n Regardless of what server hosts the Corresponding Source, you\n remain obligated to ensure that it is available for as long as\n needed to satisfy these requirements.\n
  • \n
  • \n e) Convey the object code using peer-to-peer transmission,\n provided you inform other peers where the object code and\n Corresponding Source of the work are being offered to the\n general public at no charge under subsection 6d.\n
  • \n
\n

\n

\n A separable portion of the object code, whose source code is\n excluded from the Corresponding Source as a System Library, need not\n be included in conveying the object code work.\n

\n

\n A "User Product" is either (1) a "consumer\n product", which means any tangible personal property which is\n normally used for personal, family, or household purposes, or (2)\n anything designed or sold for incorporation into a dwelling. In\n determining whether a product is a consumer product, doubtful cases\n shall be resolved in favor of coverage. For a particular product\n received by a particular user, "normally used" refers to a\n typical or common use of that class of product, regardless of the\n status of the particular user or of the way in which the particular\n user actually uses, or expects or is expected to use, the product. A\n product is a consumer product regardless of whether the product has\n substantial commercial, industrial or non-consumer uses, unless such\n uses represent the only significant mode of use of the product.\n

\n

\n "Installation Information" for a User Product means any\n methods, procedures, authorization keys, or other information\n required to install and execute modified versions of a covered work\n in that User Product from a modified version of its Corresponding\n Source. The information must suffice to ensure that the continued\n functioning of the modified object code is in no case prevented or\n interfered with solely because modification has been made.\n

\n

\n If you convey an object code work under this section in, or with, or\n specifically for use in, a User Product, and the conveying occurs as\n part of a transaction in which the right of possession and use of\n the User Product is transferred to the recipient in perpetuity or\n for a fixed term (regardless of how the transaction is\n characterized), the Corresponding Source conveyed under this section\n must be accompanied by the Installation Information. But this\n requirement does not apply if neither you nor any third party\n retains the ability to install modified object code on the User\n Product (for example, the work has been installed in ROM).\n

\n

\n The requirement to provide Installation Information does not include\n a requirement to continue to provide support service, warranty, or\n updates for a work that has been modified or installed by the\n recipient, or for the User Product in which it has been modified or\n installed. Access to a network may be denied when the modification\n itself materially and adversely affects the operation of the network\n or violates the rules and protocols for communication across the\n network.\n

\n

\n Corresponding Source conveyed, and Installation Information\n provided, in accord with this section must be in a format that is\n publicly documented (and with an implementation available to the\n public in source code form), and must require no special password or\n key for unpacking, reading or copying.\n

\n

7. Additional Terms.

\n

\n "Additional permissions" are terms that supplement the\n terms of this License by making exceptions from one or more of its\n conditions. Additional permissions that are applicable to the entire\n Program shall be treated as though they were included in this\n License, to the extent that they are valid under applicable law. If\n additional permissions apply only to part of the Program, that part\n may be used separately under those permissions, but the entire\n Program remains governed by this License without regard to the\n additional permissions.\n

\n

\n When you convey a copy of a covered work, you may at your option\n remove any additional permissions from that copy, or from any part\n of it. (Additional permissions may be written to require their own\n removal in certain cases when you modify the work.) You may place\n additional permissions on material, added by you to a covered work,\n for which you have or can give appropriate copyright permission.\n

\n

\n Notwithstanding any other provision of this License, for material\n you add to a covered work, you may (if authorized by the copyright\n holders of that material) supplement the terms of this License with\n terms:\n

\n

\n

    \n
  • \n a) Disclaiming warranty or limiting liability differently from\n the terms of sections 15 and 16 of this License; or\n
  • \n
  • \n b) Requiring preservation of specified reasonable legal notices\n or author attributions in that material or in the Appropriate\n Legal Notices displayed by works containing it; or\n
  • \n
  • \n c) Prohibiting misrepresentation of the origin of that material,\n or requiring that modified versions of such material be marked\n in reasonable ways as different from the original version; or\n
  • \n
  • \n d) Limiting the use for publicity purposes of names of licensors\n or authors of the material; or\n
  • \n
  • \n e) Declining to grant rights under trademark law for use of some\n trade names, trademarks, or service marks; or\n
  • \n
  • \n f) Requiring indemnification of licensors and authors of that\n material by anyone who conveys the material (or modified\n versions of it) with contractual assumptions of liability to the\n recipient, for any liability that these contractual assumptions\n directly impose on those licensors and authors.\n
  • \n
\n

\n

\n All other non-permissive additional terms are considered\n "further restrictions" within the meaning of section 10.\n If the Program as you received it, or any part of it, contains a\n notice stating that it is governed by this License along with a term\n that is a further restriction, you may remove that term. If a\n license document contains a further restriction but permits\n relicensing or conveying under this License, you may add to a\n covered work material governed by the terms of that license\n document, provided that the further restriction does not survive\n such relicensing or conveying.\n

\n

\n If you add terms to a covered work in accord with this section, you\n must place, in the relevant source files, a statement of the\n additional terms that apply to those files, or a notice indicating\n where to find the applicable terms.\n

\n

\n Additional terms, permissive or non-permissive, may be stated in the\n form of a separately written license, or stated as exceptions; the\n above requirements apply either way.\n

\n

8. Termination.

\n

\n You may not propagate or modify a covered work except as expressly\n provided under this License. Any attempt otherwise to propagate or\n modify it is void, and will automatically terminate your rights\n under this License (including any patent licenses granted under the\n third paragraph of section 11).\n

\n

\n However, if you cease all violation of this License, then your\n license from a particular copyright holder is reinstated (a)\n provisionally, unless and until the copyright holder explicitly and\n finally terminates your license, and (b) permanently, if the\n copyright holder fails to notify you of the violation by some\n reasonable means prior to 60 days after the cessation.\n

\n

\n Moreover, your license from a particular copyright holder is\n reinstated permanently if the copyright holder notifies you of the\n violation by some reasonable means, this is the first time you have\n received notice of violation of this License (for any work) from\n that copyright holder, and you cure the violation prior to 30 days\n after your receipt of the notice.\n

\n\n

\n Termination of your rights under this section does not terminate the\n licenses of parties who have received copies or rights from you\n under this License. If your rights have been terminated and not\n permanently reinstated, you do not qualify to receive new licenses\n for the same material under section 10.\n

\n\n

9. Acceptance Not Required for Having Copies.

\n

\n You are not required to accept this License in order to receive or\n run a copy of the Program. Ancillary propagation of a covered work\n occurring solely as a consequence of using peer-to-peer transmission\n to receive a copy likewise does not require acceptance. However,\n nothing other than this License grants you permission to propagate\n or modify any covered work. These actions infringe copyright if you\n do not accept this License. Therefore, by modifying or propagating a\n covered work, you indicate your acceptance of this License to do so.\n

\n\n

10. Automatic Licensing of Downstream Recipients.

\n

\n Each time you convey a covered work, the recipient automatically\n receives a license from the original licensors, to run, modify and\n propagate that work, subject to this License. You are not\n responsible for enforcing compliance by third parties with this\n License.\n

\n\n

\n An "entity transaction" is a transaction transferring\n control of an organization, or substantially all assets of one, or\n subdividing an organization, or merging organizations. If\n propagation of a covered work results from an entity transaction,\n each party to that transaction who receives a copy of the work also\n receives whatever licenses to the work the party's predecessor in\n interest had or could give under the previous paragraph, plus a\n right to possession of the Corresponding Source of the work from the\n predecessor in interest, if the predecessor has it or can get it\n with reasonable efforts.\n

\n\n

\n You may not impose any further restrictions on the exercise of the\n rights granted or affirmed under this License. For example, you may\n not impose a license fee, royalty, or other charge for exercise of\n rights granted under this License, and you may not initiate\n litigation (including a cross-claim or counterclaim in a lawsuit)\n alleging that any patent claim is infringed by making, using,\n selling, offering for sale, or importing the Program or any portion\n of it.\n

\n\n

11. Patents.

\n

\n A "contributor" is a copyright holder who authorizes use\n under this License of the Program or a work on which the Program is\n based. The work thus licensed is called the contributor's\n "contributor version".\n

\n\n

\n A contributor's "essential patent claims" are all patent\n claims owned or controlled by the contributor, whether already\n acquired or hereafter acquired, that would be infringed by some\n manner, permitted by this License, of making, using, or selling its\n contributor version, but do not include claims that would be\n infringed only as a consequence of further modification of the\n contributor version. For purposes of this definition,\n "control" includes the right to grant patent sublicenses\n in a manner consistent with the requirements of this License.\n

\n\n

\n Each contributor grants you a non-exclusive, worldwide, royalty-free\n patent license under the contributor's essential patent claims, to\n make, use, sell, offer for sale, import and otherwise run, modify\n and propagate the contents of its contributor version.\n

\n\n

\n In the following three paragraphs, a "patent license" is\n any express agreement or commitment, however denominated, not to\n enforce a patent (such as an express permission to practice a patent\n or covenant not to sue for patent infringement). To\n "grant" such a patent license to a party means to make\n such an agreement or commitment not to enforce a patent against the\n party.\n

\n\n

\n If you convey a covered work, knowingly relying on a patent license,\n and the Corresponding Source of the work is not available for anyone\n to copy, free of charge and under the terms of this License, through\n a publicly available network server or other readily accessible\n means, then you must either (1) cause the Corresponding Source to be\n so available, or (2) arrange to deprive yourself of the benefit of\n the patent license for this particular work, or (3) arrange, in a\n manner consistent with the requirements of this License, to extend\n the patent license to downstream recipients. "Knowingly\n relying" means you have actual knowledge that, but for the\n patent license, your conveying the covered work in a country, or\n your recipient's use of the covered work in a country, would\n infringe one or more identifiable patents in that country that you\n have reason to believe are valid.\n

\n\n

\n If, pursuant to or in connection with a single transaction or\n arrangement, you convey, or propagate by procuring conveyance of, a\n covered work, and grant a patent license to some of the parties\n receiving the covered work authorizing them to use, propagate,\n modify or convey a specific copy of the covered work, then the\n patent license you grant is automatically extended to all recipients\n of the covered work and works based on it.\n

\n\n

\n A patent license is "discriminatory" if it does not\n include within the scope of its coverage, prohibits the exercise of,\n or is conditioned on the non-exercise of one or more of the rights\n that are specifically granted under this License. You may not convey\n a covered work if you are a party to an arrangement with a third\n party that is in the business of distributing software, under which\n you make payment to the third party based on the extent of your\n activity of conveying the work, and under which the third party\n grants, to any of the parties who would receive the covered work\n from you, a discriminatory patent license (a) in connection with\n copies of the covered work conveyed by you (or copies made from\n those copies), or (b) primarily for and in connection with specific\n products or compilations that contain the covered work, unless you\n entered into that arrangement, or that patent license was granted,\n prior to 28 March 2007.\n

\n\n

\n Nothing in this License shall be construed as excluding or limiting\n any implied license or other defenses to infringement that may\n otherwise be available to you under applicable patent law.\n

\n\n

12. No Surrender of Others' Freedom.

\n

\n If conditions are imposed on you (whether by court order, agreement\n or otherwise) that contradict the conditions of this License, they\n do not excuse you from the conditions of this License. If you cannot\n convey a covered work so as to satisfy simultaneously your\n obligations under this License and any other pertinent obligations,\n then as a consequence you may not convey it at all. For example, if\n you agree to terms that obligate you to collect a royalty for\n further conveying from those to whom you convey the Program, the\n only way you could satisfy both those terms and this License would\n be to refrain entirely from conveying the Program.\n

\n\n

\n 13. Remote Network Interaction; Use with the GNU General Public\n License.\n

\n

\n Notwithstanding any other provision of this License, if you modify\n the Program, your modified version must prominently offer all users\n interacting with it remotely through a computer network (if your\n version supports such interaction) an opportunity to receive the\n Corresponding Source of your version by providing access to the\n Corresponding Source from a network server at no charge, through\n some standard or customary means of facilitating copying of\n software. This Corresponding Source shall include the Corresponding\n Source for any work covered by version 3 of the GNU General Public\n License that is incorporated pursuant to the following paragraph.\n

\n\n

\n Notwithstanding any other provision of this License, you have\n permission to link or combine any covered work with a work licensed\n under version 3 of the GNU General Public License into a single\n combined work, and to convey the resulting work. The terms of this\n License will continue to apply to the part which is the covered\n work, but the work with which it is combined will remain governed by\n version 3 of the GNU General Public License.\n

\n\n

14. Revised Versions of this License.

\n

\n The Free Software Foundation may publish revised and/or new versions\n of the GNU Affero General Public License from time to time. Such new\n versions will be similar in spirit to the present version, but may\n differ in detail to address new problems or concerns.\n

\n\n

\n Each version is given a distinguishing version number. If the\n Program specifies that a certain numbered version of the GNU Affero\n General Public License "or any later version" applies to\n it, you have the option of following the terms and conditions either\n of that numbered version or of any later version published by the\n Free Software Foundation. If the Program does not specify a version\n number of the GNU Affero General Public License, you may choose any\n version ever published by the Free Software Foundation.\n

\n\n

\n Each version is given a distinguishing version number. If the\n Program specifies that a certain numbered version of the GNU Affero\n General Public License "or any later version" applies to\n it, you have the option of following the terms and conditions either\n of that numbered version or of any later version published by the\n Free Software Foundation. If the Program does not specify a version\n number of the GNU Affero General Public License, you may choose any\n version ever published by the Free Software Foundation.\n

\n\n

\n Later license versions may give you additional or different\n permissions. However, no additional obligations are imposed on any\n author or copyright holder as a result of your choosing to follow a\n later version.\n

\n\n

15. Disclaimer of Warranty.

\n

\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\n APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE\n COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS\n IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,\n INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE\n RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.\n SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL\n NECESSARY SERVICING, REPAIR OR CORRECTION.\n

\n\n

16. Limitation of Liability.

\n

\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN\n WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES\n AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR\n DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL\n DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM\n (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED\n INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE\n OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH\n HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH\n DAMAGES.\n

\n\n

17. Interpretation of Sections 15 and 16.

\n

\n If the disclaimer of warranty and limitation of liability provided\n above cannot be given local legal effect according to their terms,\n reviewing courts shall apply local law that most closely\n approximates an absolute waiver of all civil liability in connection\n with the Program, unless a warranty or assumption of liability\n accompanies a copy of the Program in return for a fee.\n

\n\n

END OF TERMS AND CONDITIONS

\n\n

How to Apply These Terms to Your New Programs

\n

\n If you develop a new program, and you want it to be of the greatest\n possible use to the public, the best way to achieve this is to make\n it free software which everyone can redistribute and change under\n these terms.\n

\n\n

\n To do so, attach the following notices to the program. It is safest\n to attach them to the start of each source file to most effectively\n state the exclusion of warranty; and each file should have at least\n the "copyright" line and a pointer to where the full\n notice is found.\n

\n\n

\n \n <one line to give the program's name and a brief idea of what\n it does.> Copyright (C) <year> <name of author>\n This program is free software: you can redistribute it and/or\n modify it under the terms of the GNU Affero General Public License\n as published by the Free Software Foundation, either version 3 of\n the License, or (at your option) any later version. This program\n is distributed in the hope that it will be useful, but WITHOUT ANY\n WARRANTY; without even the implied warranty of MERCHANTABILITY or\n FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General\n Public License for more details. You should have received a copy\n of the GNU Affero General Public License along with this program.\n If not, see <https://www.gnu.org/licenses/>.\n \n

\n\n

\n Also add information on how to contact you by electronic and paper\n mail.\n

\n\n

\n If your software can interact with users remotely through a computer\n network, you should also make sure that it provides a way for users\n to get its source. For example, if your program is a web\n application, its interface could display a "Source" link\n that leads users to an archive of the code. There are many ways you\n could offer source, and different solutions will be better for\n different programs; see section 13 for the specific requirements.\n

\n\n

\n You should also get your employer (if you work as a programmer) or\n school, if any, to sign a "copyright disclaimer" for the\n program, if necessary. For more information on this, and how to\n apply and follow the GNU AGPL, see <\n \n https://www.gnu.org/licenses/\n \n >.\n

\n
\n
\n \n ) : null;\n};\n\nexport default withStyles(styles)(LicenseModal);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport { containerForHeader } from \"../Common/FormComponents/common/styleLibrary\";\nimport {\n SubnetLoginRequest,\n SubnetLoginResponse,\n SubnetLoginWithMFARequest,\n SubnetOrganization,\n SubnetRegisterRequest,\n SubnetRegTokenResponse,\n} from \"./types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport api from \"../../../common/api\";\nimport PersonOutlineOutlinedIcon from \"@mui/icons-material/PersonOutlineOutlined\";\nimport LockOutlinedIcon from \"@mui/icons-material/LockOutlined\";\n\nimport { formFieldStyles } from \"../Common/FormComponents/common/styleLibrary\";\nimport RadioGroupSelector from \"../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport Link from \"@mui/material/Link\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n subnetLicenseKey: {},\n subnetLoginForm: {},\n licenseKeyField: {},\n pageTitle: {\n marginBottom: 20,\n },\n registrationMode: {\n cursor: \"pointer\",\n },\n button: {\n textTransform: \"none\",\n fontSize: 15,\n fontWeight: 700,\n background:\n \"transparent linear-gradient(90deg, #073052 0%, #081c42 100%) 0% 0% no-repeat padding-box\",\n color: \"#fff\",\n },\n buttonSignup: {\n textTransform: \"none\",\n fontSize: 15,\n fontWeight: 700,\n marginLeft: 15,\n },\n ...formFieldStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IActivationModal {\n classes: any;\n open: boolean;\n closeModal: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst ActivationModal = ({\n classes,\n open,\n closeModal,\n setModalErrorSnackMessage,\n}: IActivationModal) => {\n const [license, setLicense] = useState(\"\");\n const [subnetPassword, setSubnetPassword] = useState(\"\");\n const [subnetEmail, setSubnetEmail] = useState(\"\");\n const [subnetMFAToken, setSubnetMFAToken] = useState(\"\");\n const [subnetOTP, setSubnetOTP] = useState(\"\");\n const [subnetAccessToken, setSubnetAccessToken] = useState(\"\");\n const [selectedSubnetOrganisation, setSelectedSubnetOrganisation] =\n useState(\"\");\n const [subnetRegToken, setSubnetRegToken] = useState(\"\");\n const [subnetOrganizations, setSubnetOrganizations] = useState<\n SubnetOrganization[]\n >([]);\n const [onlineActivation, setOnlineActivation] = useState(true);\n\n const [loading, setLoading] = useState(false);\n\n const clearForm = () => {\n setLicense(\"\");\n setSubnetPassword(\"\");\n setSubnetEmail(\"\");\n setSubnetMFAToken(\"\");\n setSubnetOTP(\"\");\n };\n\n const fetchSubnetRegToken = () => {\n if (loading || subnetRegToken) {\n return;\n }\n setLoading(true);\n api\n .invoke(\"GET\", \"/api/v1/subnet/registration-token\")\n .then((resp: SubnetRegTokenResponse) => {\n setLoading(false);\n if (resp && resp.regToken) {\n setSubnetRegToken(resp.regToken);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n const subnetRegister = () => {\n if (loading) {\n return;\n }\n setLoading(true);\n if (subnetAccessToken && selectedSubnetOrganisation) {\n const request: SubnetRegisterRequest = {\n token: subnetAccessToken,\n account_id: selectedSubnetOrganisation,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/register\", request)\n .then(() => {\n setLoading(false);\n clearForm();\n closeModal();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n }\n };\n\n const subnetLoginWithMFA = () => {\n if (loading) {\n return;\n }\n setLoading(true);\n const request: SubnetLoginWithMFARequest = {\n username: subnetEmail,\n otp: subnetOTP,\n mfa_token: subnetMFAToken,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/login/mfa\", request)\n .then((resp: SubnetLoginResponse) => {\n setLoading(false);\n if (resp && resp.access_token && resp.organizations.length > 0) {\n setSubnetAccessToken(resp.access_token);\n setSubnetOrganizations(resp.organizations);\n setSelectedSubnetOrganisation(\n resp.organizations[0].accountId.toString()\n );\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setSubnetOTP(\"\");\n setModalErrorSnackMessage(err);\n });\n };\n\n const subnetLogin = () => {\n if (loading) {\n return;\n }\n setLoading(true);\n let request: SubnetLoginRequest = {\n username: subnetEmail,\n password: subnetPassword,\n apiKey: license,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/login\", request)\n .then((resp: SubnetLoginResponse) => {\n setLoading(false);\n if (resp && resp.registered) {\n clearForm();\n closeModal();\n } else if (resp && resp.mfa_token) {\n setSubnetMFAToken(resp.mfa_token);\n } else if (resp && resp.access_token && resp.organizations.length > 0) {\n setSubnetAccessToken(resp.access_token);\n setSubnetOrganizations(resp.organizations);\n setSelectedSubnetOrganisation(\n resp.organizations[0].accountId.toString()\n );\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n clearForm();\n setModalErrorSnackMessage(err);\n });\n };\n\n let clusterRegistrationForm: JSX.Element;\n if (subnetAccessToken && subnetOrganizations.length > 0) {\n clusterRegistrationForm = (\n \n \n \n Register MinIO cluster\n \n \n \n ) => {\n setSelectedSubnetOrganisation(e.target.value as string);\n }}\n selectorOptions={subnetOrganizations.map((organisation) => ({\n value: organisation.accountId.toString(),\n label: organisation.company,\n }))}\n />\n \n \n subnetRegister()}\n disabled={loading || subnetAccessToken.trim().length === 0}\n variant=\"contained\"\n >\n Register\n \n \n \n );\n } else if (subnetMFAToken) {\n clusterRegistrationForm = (\n \n \n \n Two-Factor Authentication\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 type=\"text\"\n value={subnetOTP}\n />\n \n \n subnetLoginWithMFA()}\n disabled={\n loading ||\n subnetOTP.trim().length === 0 ||\n subnetMFAToken.trim().length === 0\n }\n variant=\"contained\"\n >\n Verify\n \n \n \n );\n } else {\n clusterRegistrationForm = (\n \n \n }\n id=\"subnet-email\"\n name=\"subnet-email\"\n onChange={(event: React.ChangeEvent) => {\n setSubnetEmail(event.target.value);\n }}\n placeholder=\"email\"\n label=\"\"\n type=\"text\"\n value={subnetEmail}\n />\n \n \n }\n id=\"subnet-password\"\n name=\"subnet-password\"\n onChange={(event: React.ChangeEvent) => {\n setSubnetPassword(event.target.value);\n }}\n placeholder=\"password\"\n label=\"\"\n type=\"password\"\n value={subnetPassword}\n />\n \n \n subnetLogin()}\n disabled={\n loading ||\n subnetEmail.trim().length === 0 ||\n subnetPassword.trim().length === 0\n }\n variant=\"contained\"\n >\n Login\n \n {\n e.preventDefault();\n window.open(\"https://min.io/pricing\", \"_blank\");\n }}\n variant=\"outlined\"\n >\n Sign Up\n \n \n \n {\n fetchSubnetRegToken();\n setOnlineActivation(false);\n }}\n >\n Offline Activation\n \n \n \n );\n }\n\n return open ? (\n {\n setLicense(\"\");\n setSubnetPassword(\"\");\n setSubnetEmail(\"\");\n closeModal();\n }}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n \n \n \n Activate SUBNET License\n \n \n {onlineActivation ? (\n \n {clusterRegistrationForm}\n \n ) : (\n \n \n Step 1: Copy the following registration token\n \n \n {}}\n id=\"registration-token\"\n name=\"registration-token\"\n placeholder=\"\"\n label=\"\"\n type=\"text\"\n value={subnetRegToken}\n disabled\n />\n \n \n navigator.clipboard.writeText(subnetRegToken)}\n >\n Copy\n \n \n \n Step 2: Use the previous token to register your cluster at:{\" \"}\n \n https://subnet.min.io/cluster/register\n \n \n \n Step 3: Enter the API key generated by SUBNET\n \n \n ) =>\n setLicense(event.target.value)\n }\n id=\"api-key\"\n name=\"api-key\"\n placeholder=\"\"\n label=\"\"\n type=\"text\"\n />\n \n \n subnetLogin()}\n disabled={loading || license.trim().length === 0}\n >\n Activate\n \n \n \n setOnlineActivation(true)}\n >\n Online Activation\n \n \n \n )}\n \n {loading && (\n \n \n \n )}\n \n ) : null;\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(ActivationModal));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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 interface IPlanDetails {\n id: number;\n title: string;\n price: string;\n capacityMax: string;\n capacityMin?: string;\n}\n\nexport const planDetails: IPlanDetails[] = [\n {\n id: 0,\n title: \"Community\",\n price: \"Open Source\",\n capacityMax: \"\",\n },\n {\n id: 1,\n title: \"Standard\",\n price: \"$10 per TB\",\n capacityMax: \"(Minimum of 100TB)\",\n capacityMin: \"\",\n },\n {\n id: 2,\n title: \"Enterprise\",\n price: \"$20 per TB\",\n capacityMax: \"(Minimum of 100TB)\",\n capacityMin: \"\",\n },\n];\n\nexport interface IPlanItemValue {\n label: string;\n detail?: string;\n link?: boolean;\n}\n\nexport interface IPlanItemValues {\n [index: string]: IPlanItemValue;\n}\nexport interface IPlanItem {\n id: number;\n field: string;\n plans: IPlanItemValues;\n}\n\nexport const planItems: IPlanItem[] = [\n {\n id: 0,\n field: \"License\",\n plans: {\n Community: {\n label: \"GNU AGPL v3\",\n detail: \"\",\n link: true,\n },\n Standard: {\n label: \"Commercial License\",\n },\n Enterprise: {\n label: \"Commercial License\",\n },\n },\n },\n {\n id: 1,\n field: \"Software Release\",\n plans: {\n Community: {\n label: \"Upstream\",\n },\n Standard: {\n label: \"1 Year Long Term Support\",\n },\n Enterprise: {\n label: \"5 Years Long Term Support\",\n },\n },\n },\n {\n id: 2,\n field: \"SLA\",\n plans: {\n Community: {\n label: \"No SLA\",\n },\n Standard: {\n label: \"<48 Hours (Local Business Hours)\",\n },\n Enterprise: {\n label: \"<1 hour\",\n },\n },\n },\n {\n id: 3,\n field: \"Support\",\n plans: {\n Community: {\n label: \"Community:\",\n detail: \"Public Slack Channel + Github Issues\",\n },\n Standard: {\n label: \"L4 Direct Engineering\",\n detail: \" support via SUBNET\",\n },\n Enterprise: {\n label: \"L4 Direct Engineering\",\n detail: \"support via SUBNET\",\n },\n },\n },\n {\n id: 4,\n field: \"Security Updates & Critical Bugs\",\n plans: {\n Community: {\n label: \"Self Update\",\n },\n Standard: {\n label: \"Continuous Scan and Alert\",\n },\n Enterprise: {\n label: \"Continuous Scan and Alert\",\n },\n },\n },\n {\n id: 5,\n field: \"Panic Button\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"1 per year\",\n },\n Enterprise: {\n label: \"Unlimited\",\n },\n },\n },\n {\n id: 6,\n field: \"Health Diagnostics\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"24/7/365\",\n },\n Enterprise: {\n label: \"24/7/365\",\n },\n },\n },\n {\n id: 6,\n field: \"Annual Architecture Review\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"N/A\",\n },\n Enterprise: {\n label: \"Yes\",\n },\n },\n },\n {\n id: 7,\n field: \"Annual Performance Review\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"N/A\",\n },\n Enterprise: {\n label: \"Yes\",\n },\n },\n },\n {\n id: 8,\n field: \"Indemnification\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"N/A\",\n },\n Enterprise: {\n label: \"Yes\",\n },\n },\n },\n {\n id: 9,\n field: \"Security + Policy Review\",\n plans: {\n Community: {\n label: \"N/A\",\n },\n Standard: {\n label: \"N/A\",\n },\n Enterprise: {\n label: \"Yes\",\n },\n },\n },\n];\n\nexport interface IPlanButton {\n id: number;\n text: string;\n text2: string;\n link: string;\n plan: string;\n}\nexport const planButtons: IPlanButton[] = [\n {\n id: 0,\n text: \"Join Slack\",\n text2: \"\",\n link: \"https://slack.min.io\",\n plan: \"Community\",\n },\n {\n id: 1,\n text: \"Subscribe\",\n text2: \"Sign up\",\n link: \"https://min.io/signup\",\n plan: \"Standard\",\n },\n {\n id: 2,\n text: \"Subscribe\",\n text2: \"Sign up\",\n link: \"https://min.io/signup\",\n plan: \"Enterprise\",\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, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport clsx from \"clsx\";\nimport ActivationModal from \"./ActivationModal\";\nimport { planButtons, planDetails, planItems } from \"./utils\";\nimport CheckCircleIcon from \"@mui/icons-material/CheckCircle\";\nimport Button from \"@mui/material/Button\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { SubnetInfo } from \"./types\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n planItemsPadding: {\n border: \"1px solid #EAEDEE\",\n borderTop: 0,\n maxWidth: 1180,\n },\n planItemsBorder: {\n height: 7,\n backgroundColor: \"#07193E\",\n },\n\n link: {\n textDecoration: \"underline !important\",\n color: theme.palette.info.main,\n },\n linkButton: {\n fontFamily: '\"Lato\", sans-serif',\n fontWeight: \"normal\",\n textTransform: \"none\",\n fontSize: \"inherit\",\n height: 0,\n padding: 0,\n margin: 0,\n },\n tableContainer: {\n marginLeft: 28,\n },\n detailsContainerBorder: {\n borderLeft: \"1px solid #e2e2e2\",\n },\n detailsTitle: {\n fontSize: 19,\n fontWeight: 700,\n marginBottom: 26,\n paddingTop: 18,\n lineHeight: 1,\n },\n currPlan: {\n color: \"white\",\n backgroundColor: \"#2781B0\",\n },\n planHeader: {\n padding: 8,\n },\n detailsPrice: {\n fontSize: 13,\n fontWeight: 700,\n },\n detailsCapacityMax: {\n minHeight: 28,\n fontSize: 10,\n },\n itemContainer: {\n height: 36,\n \"& .item:last-child\": {\n borderRight: \"1px solid #e5e5e5\",\n },\n },\n itemContainerDetail: {\n height: 48,\n },\n item: {\n height: \"100%\",\n borderLeft: \"1px solid #e5e5e5\",\n textAlign: \"center\",\n fontSize: 10,\n fontWeight: 700,\n display: \"flex\",\n alignItems: \"center\",\n alignContent: \"center\",\n borderTop: \"1px solid #e5e5e5\",\n },\n\n itemFirst: {\n borderLeft: 0,\n borderRight: 0,\n },\n field: {\n textAlign: \"left\",\n fontWeight: 400,\n fontSize: 12,\n },\n checkIcon: {\n fontSize: 15,\n color: \"#385973\",\n },\n buttonContainer: {\n paddingTop: 8,\n paddingBottom: 24,\n height: \"100%\",\n display: \"flex\",\n justifyContent: \"center\",\n borderLeft: \"1px solid #e2e2e2\",\n },\n buttonContainerBlank: {\n border: 0,\n },\n buttonContainerHighlighted: {\n borderTop: 0,\n },\n button: {\n textTransform: \"none\",\n fontSize: 15,\n fontWeight: 700,\n },\n activateLink: {\n color: \"#1C5A8D\",\n fontWeight: \"bold\",\n clear: \"both\",\n background: \"none\",\n border: \"none\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n },\n currentPlanBG: {\n background: \"#022A4A 0% 0% no-repeat padding-box\",\n color: \"#FFFFFF\",\n borderTop: \"1px solid #52687d\",\n },\n });\n\ninterface IRegisterStatus {\n classes: any;\n activateProductModal: any;\n closeModalAndFetchLicenseInfo: any;\n licenseInfo: SubnetInfo | undefined;\n setLicenseModal: React.Dispatch>;\n operatorMode: boolean;\n currentPlanID: number;\n setActivateProductModal: any;\n}\n\nconst LicensePlans = ({\n classes,\n activateProductModal,\n closeModalAndFetchLicenseInfo,\n licenseInfo,\n setLicenseModal,\n operatorMode,\n currentPlanID,\n setActivateProductModal,\n}: IRegisterStatus) => {\n const planDetailsFiltered = planDetails.filter((item) => {\n if (licenseInfo) {\n if (item.title === \"Community\") {\n return false;\n }\n }\n return true;\n });\n\n const planButtonsFiltered = planButtons.filter((item) => {\n if (licenseInfo) {\n if (item.plan === \"Community\") {\n return false;\n }\n }\n return true;\n });\n\n const gridColWidth = licenseInfo ? 4 : 3;\n\n return (\n \n \n
\n \n \n \n closeModalAndFetchLicenseInfo()}\n />\n \n \n \n {planDetailsFiltered.map((details: any) => {\n let currentPlan =\n (!licenseInfo && details.title === \"Community\") ||\n (licenseInfo &&\n licenseInfo.plan.toLowerCase() ===\n details.title.toLowerCase());\n return (\n \n \n \n {details.title}\n {currentPlan && (\n \n
CURRENT PLAN
\n
\n )}\n
\n \n {details.price}\n \n \n {details.capacityMax || \"\"}\n \n
\n );\n })}\n
\n {planItems.map((item: any) => {\n return (\n \n \n {item.field}\n
\n {planDetailsFiltered.map((pd) => {\n return (\n \n \n \n {item.plans[pd.title].label === \"N/A\" ? (\n \"\"\n ) : item.plans[pd.title].label === \"Yes\" ? (\n \n ) : (\n \n {item.plans[pd.title].link ? (\n setLicenseModal(true)}\n >\n {item.plans[pd.title].label}\n \n ) : (\n item.plans[pd.title].label\n )}\n \n )}\n \n {item.plans[pd.title].detail !== undefined && (\n \n {item.plans[pd.title].detail}\n \n )}\n
\n \n );\n })}\n
\n );\n })}\n \n \n {planButtonsFiltered.map((button: any, index: any) => {\n return (\n \n \n {\n e.preventDefault();\n window.open(\n `${button.link}?ref=${operatorMode ? \"op\" : \"con\"}`,\n \"_blank\"\n );\n }}\n >\n {currentPlanID !== index && index > 0\n ? button.text2\n : button.text}\n \n \n \n );\n })}\n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(LicensePlans);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { CircularProgress, LinearProgress } from \"@mui/material\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport Moment from \"react-moment\";\nimport Typography from \"@mui/material/Typography\";\nimport { SubnetInfo } from \"./types\";\nimport { AppState } from \"../../../store\";\nimport { niceBytes } from \"../../../common/utils\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { containerForHeader } from \"../Common/FormComponents/common/styleLibrary\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport LicenseModal from \"./LicenseModal\";\nimport api from \"../../../common/api\";\nimport { LicenseIcon } from \"../../../icons\";\nimport { hasPermission } from \"../../../common/SecureComponent/SecureComponent\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_PAGES_PERMISSIONS,\n} from \"../../../common/SecureComponent/permissions\";\nimport RegisterStatus from \"../Support/RegisterStatus\";\nimport LicensePlans from \"./LicensePlans\";\nimport { Link } from \"react-router-dom\";\n\nconst mapState = (state: AppState) => ({\n operatorMode: state.system.operatorMode,\n});\n\nconst connector = connect(mapState, null);\n\nconst styles = (theme: Theme) =>\n createStyles({\n pageTitle: {\n backgroundColor: \"rgb(250,250,252)\",\n marginTop: 40,\n border: \"1px solid #EAEDEE\",\n padding: 25,\n fontSize: 16,\n fontWeight: \"bold\",\n \"& ul\": {\n listStyleType: \"square\",\n \"& li\": {\n float: \"left\",\n fontSize: 14,\n marginRight: 40,\n },\n \"& li::before\": {\n color: \"red\",\n content: \"•\",\n },\n },\n },\n licDet: {\n fontSize: 11,\n color: \"#5E5E5E\",\n },\n linkMore: {\n marginTop: 10,\n marginBottom: 20,\n },\n chooseFlavorText: {\n color: \"#000000\",\n fontSize: 14,\n },\n licenseContainer: {\n display: \"flex\",\n flexWrap: \"wrap\",\n flexDirection: \"row\",\n padding: \"30px 30px 0px 30px\",\n border: \"1px solid #EAEDEE\",\n \"& h2\": {\n // color: \"#FFF\",\n flexDirection: \"row\",\n },\n \"& a\": {\n textDecoration: \"none\",\n flexDirection: \"row\",\n },\n \"& h3\": {\n // color: \"#FFFFFF\",\n marginBottom: \"30px\",\n fontWeight: \"bold\",\n },\n \"& h6\": {\n // color: \"#FFFFFF !important\",\n },\n },\n link: {\n textDecoration: \"underline !important\",\n color: theme.palette.info.main,\n },\n linkButton: {\n fontFamily: '\"Lato\", sans-serif',\n fontWeight: \"normal\",\n textTransform: \"none\",\n fontSize: \"inherit\",\n height: 0,\n padding: 0,\n margin: 0,\n },\n\n button: {\n textTransform: \"none\",\n fontSize: 15,\n fontWeight: 700,\n },\n openSourcePolicy: {\n fontSize: 14,\n color: \"#1C5A8D\",\n fontWeight: \"bold\",\n },\n subnetRefreshLicenseLink: {\n color: \"#1C5A8D\",\n fontWeight: \"bold\",\n clear: \"both\",\n background: \"none\",\n border: \"none\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n fontSize: 13,\n },\n licenseInfo: {\n position: \"relative\",\n },\n licenseInfoTitle: {\n textTransform: \"none\",\n color: \"#999999\",\n fontSize: 11,\n },\n licenseInfoValue: {\n textTransform: \"none\",\n fontSize: 14,\n fontWeight: \"bold\",\n },\n subnetSubTitle: {\n fontSize: 14,\n },\n verifiedIcon: {\n width: 96,\n position: \"absolute\",\n right: 0,\n bottom: 29,\n },\n loadingLoginStrategy: {\n textAlign: \"center\",\n },\n ...containerForHeader(theme.spacing(4)),\n mainContainer: {\n border: \"1px solid #EAEDEE\",\n padding: 40,\n margin: 40,\n },\n icon: {\n color: theme.palette.primary.main,\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 20,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n marginRight: 15,\n },\n },\n });\n\ninterface ILicenseProps {\n classes: any;\n operatorMode: boolean;\n}\n\nconst License = ({ classes, operatorMode }: ILicenseProps) => {\n const [activateProductModal, setActivateProductModal] =\n useState(false);\n\n const [licenseModal, setLicenseModal] = useState(false);\n\n const [licenseInfo, setLicenseInfo] = useState();\n const [currentPlanID, setCurrentPlanID] = useState(0);\n const [loadingLicenseInfo, setLoadingLicenseInfo] = useState(false);\n const [initialLicenseLoading, setInitialLicenseLoading] =\n useState(true);\n const [loadingRefreshLicense, setLoadingRefreshLicense] =\n useState(false);\n const [clusterRegistered, setClusterRegistered] = useState(false);\n\n const getSubnetInfo = hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.LICENSE],\n true\n );\n\n const closeModalAndFetchLicenseInfo = () => {\n setActivateProductModal(false);\n fetchLicenseInfo();\n };\n\n const fetchLicenseInfo = useCallback(() => {\n if (loadingLicenseInfo) {\n return;\n }\n if (getSubnetInfo) {\n setLoadingLicenseInfo(true);\n api\n .invoke(\"GET\", `/api/v1/subnet/info`)\n .then((res: SubnetInfo) => {\n if (res) {\n if (res.plan === \"STANDARD\") {\n setCurrentPlanID(1);\n } else if (res.plan === \"ENTERPRISE\") {\n setCurrentPlanID(2);\n } else {\n setCurrentPlanID(1);\n }\n setLicenseInfo(res);\n }\n setClusterRegistered(true);\n setLoadingLicenseInfo(false);\n })\n .catch(() => {\n setClusterRegistered(false);\n setLoadingLicenseInfo(false);\n });\n } else {\n setLoadingLicenseInfo(false);\n }\n }, [loadingLicenseInfo, getSubnetInfo]);\n\n const refreshLicense = () => {\n setLoadingRefreshLicense(true);\n api\n .invoke(\"POST\", `/api/v1/subscription/refresh`, {})\n .then((res: SubnetInfo) => {\n if (res) {\n if (res.plan === \"STANDARD\") {\n setCurrentPlanID(1);\n } else if (res.plan === \"ENTERPRISE\") {\n setCurrentPlanID(2);\n } else {\n setCurrentPlanID(1);\n }\n setLicenseInfo(res);\n }\n setLoadingRefreshLicense(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingRefreshLicense(false);\n });\n };\n\n useEffect(() => {\n if (initialLicenseLoading) {\n fetchLicenseInfo();\n setInitialLicenseLoading(false);\n }\n }, [fetchLicenseInfo, initialLicenseLoading, setInitialLicenseLoading]);\n\n if (loadingLicenseInfo) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n \n\n
\n \n {licenseInfo && }\n {!clusterRegistered && (\n \n \n \n GNU Affero General Public License\n \n \n \n \n {licenseInfo ? (\n \n \n \n \n License\n \n \n Commercial License\n \n \n Organization\n \n \n {licenseInfo.organization}\n \n \n Registered Capacity\n \n \n {niceBytes(\n (licenseInfo.storage_capacity * 1099511627776) // 1 Terabyte = 1099511627776 Bytes\n .toString(10),\n false\n )}\n \n \n \n \n Subscription Plan\n \n \n {licenseInfo.plan}\n \n \n Requestor\n \n \n {licenseInfo.email}\n \n \n Expiry Date\n \n \n \n {licenseInfo.expires_at\n .split(\" \")\n .slice(0, 1)\n .join(\" \")}\n \n \n \n \n \n \n ) : (\n \n setLicenseModal(false)}\n />\n \n \n {\" \"}\n \n \n Version 3. 19 November 2007{\" \"}\n \n \n\n \n \n The GNU Affero General Public License is a free,\n copyleft license for software and other kinds of\n works, specifically designed to ensure cooperation\n with the Community in the case of network server\n software.\n \n
\n \n The licenses for most software and other practical\n works are designed to take away your freedom to\n share and change the works. By contrast, our\n General Public Licenses are intended to guarantee\n your freedom to share and change all versions of a\n program--to make sure it remains free software for\n all its users.\n \n
\n setLicenseModal(true)}\n >\n Read more\n \n
\n
\n
\n )}\n
\n \n {licenseInfo ? (\n
\n \n Login to MinIO SUBNET !\n \n \n It combines a commercial license with a support\n experience unlike any other.\n \n
\n \n Login to SUBNET\n \n {operatorMode && (\n \n {\" \"}\n
\n
\n {\n e.preventDefault();\n refreshLicense();\n }}\n >\n Refresh License\n \n {loadingRefreshLicense && (\n \n )}\n
\n )}\n
\n ) : (\n
\n \n Choosing between GNU AGPL v3 and Commercial License\n \n
\n \n If you are building proprietary applications, you\n may want to choose the commercial license included\n as part of the Standard and Enterprise subscription\n plans. Applications must otherwise comply with all\n the GNU AGPLv3 License & Trademark obligations.\n Follow the links below to learn more about the\n compliance policy.\n \n
    \n
  • \n \n Learn more about GNU AGPL v3\n \n
  • \n
  • \n \n MinIO Trademark Compliance\n \n
  • \n
\n
\n
\n )}\n \n \n \n \n
\n
\n \n \n Are you already a customer? Register Here →\n \n \n \n
\n
\n \n )}\n\n \n \n
\n
\n \n );\n};\n\nexport default connector(withStyles(styles)(License));\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 VerifiedIcon from \"../../../icons/VerifiedIcon\";\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n registeredStatus: {\n border: \"1px solid #E2E2E2\",\n padding: \"24px 24px 24px 24px\",\n borderRadius: 2,\n marginBottom: 25,\n backgroundColor: \"#FBFAFA\",\n \"& .min-icon\": {\n width: 20,\n height: 20,\n marginLeft: 48,\n marginRight: 13,\n verticalAlign: \"middle\",\n marginTop: -3,\n },\n \"& span\": {\n fontWeight: \"bold\",\n },\n },\n });\n\ninterface IRegisterStatus {\n classes: any;\n}\n\nfunction RegisterStatus({ classes }: IRegisterStatus) {\n return (\n \n \n Registration Status:\n \n Registered\n \n \n );\n}\n\nexport default withStyles(styles)(RegisterStatus);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckCircle');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9V6zm9 14H6V10h12v10zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z\"\n}), 'LockOutlined');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 5.9c1.16 0 2.1.94 2.1 2.1s-.94 2.1-2.1 2.1S9.9 9.16 9.9 8s.94-2.1 2.1-2.1m0 9c2.97 0 6.1 1.46 6.1 2.1v1.1H5.9V17c0-.64 3.13-2.1 6.1-2.1M12 4C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 9c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4z\"\n}), 'PersonOutlineOutlined');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLinkUtilityClass(slot) {\n return generateUtilityClass('MuiLink', slot);\n}\nconst linkClasses = generateUtilityClasses('MuiLink', ['root', 'underlineNone', 'underlineHover', 'underlineAlways', 'button', 'focusVisible']);\nexport default linkClasses;","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\"];\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 { alpha, getPath } from '@mui/system';\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 { jsx as _jsx } from \"react/jsx-runtime\";\nconst colorTransformations = {\n primary: 'primary.main',\n textPrimary: 'text.primary',\n secondary: 'secondary.main',\n textSecondary: 'text.secondary',\n error: 'error.main'\n};\n\nconst transformDeprecatedColors = color => {\n return colorTransformations[color] || color;\n};\n\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};\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 const color = getPath(theme, `palette.${transformDeprecatedColors(ownerState.color)}`) || ownerState.color;\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' && {\n textDecoration: 'underline',\n textDecorationColor: color !== 'inherit' ? alpha(color, 0.4) : undefined,\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\n const {\n className,\n color = 'primary',\n component = 'a',\n onBlur,\n onFocus,\n TypographyClasses,\n underline = 'always',\n variant = 'inherit'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\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\n const handleBlur = event => {\n handleBlurVisible(event);\n\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleFocus = event => {\n handleFocusVisible(event);\n\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const ownerState = _extends({}, props, {\n color,\n component,\n focusVisible,\n underline,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LinkRoot, _extends({\n className: clsx(classes.root, className),\n classes: TypographyClasses,\n color: color,\n component: component,\n onBlur: handleBlur,\n onFocus: handleFocus,\n ref: handlerRef,\n ownerState: ownerState,\n variant: variant\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the link.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .any,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * `classes` prop applied to the [`Typography`](/api/typography/) element.\n */\n TypographyClasses: PropTypes.object,\n\n /**\n * Controls when the link should have an underline.\n * @default 'always'\n */\n underline: PropTypes.oneOf(['always', 'hover', 'none']),\n\n /**\n * Applies the theme typography styles.\n * @default 'inherit'\n */\n variant: PropTypes\n /* @typescript-to-proptypes-ignore */\n .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;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\n\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input')({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n/**\n * @ignore - internal component.\n */\n\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n\n let disabled = disabledProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor && id,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n}); // NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\n\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /*\n * @ignore\n */\n name: PropTypes.string,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;"],"names":["inputStyles","makeStyles","theme","createStyles","inputFieldStyles","InputField","props","classes","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","label","onChange","value","id","name","type","autoComplete","disabled","multiline","tooltip","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","className","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","fullWidth","helperText","inputRebase","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","radioStyles","root","backgroundColor","radioIcons","RadioButton","color","checkedIcon","radioSelectedIcon","icon","radioUnselectedIcon","optionLabel","marginRight","fontSize","checkedOption","selectorOptions","currentSelection","disableOptions","displayInColumn","alignItems","item","xs","radioOptionsLayout","row","style","display","textAlign","map","selectorOption","control","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","marginTop","width","border","borderLeftWidth","borderRadius","zIndex","padding","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","cursor","errorTitle","errorLabel","marginLeft","messageIcon","height","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","useState","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","get","messageDetails","Fragment","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","toggleList","sidebarOpen","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","boxShadow","justifyContent","labelStyle","rightMenu","logo","fill","palette","primary","main","middleComponent","actions","direction","sm","md","sx","paddingTop","variant","component","pageTitle","marginBottom","pageSubTitle","containerForHeader","spacing","closeModal","ModalWrapper","Grid","Typography","subnetLicenseKey","target","href","rel","subnetLoginForm","licenseKeyField","registrationMode","button","textTransform","background","buttonSignup","formFieldStyles","clusterRegistrationForm","license","setLicense","subnetPassword","setSubnetPassword","subnetEmail","setSubnetEmail","subnetMFAToken","setSubnetMFAToken","subnetOTP","setSubnetOTP","subnetAccessToken","setSubnetAccessToken","selectedSubnetOrganisation","setSelectedSubnetOrganisation","subnetRegToken","setSubnetRegToken","subnetOrganizations","setSubnetOrganizations","onlineActivation","setOnlineActivation","loading","setLoading","clearForm","subnetLogin","request","username","password","apiKey","api","then","resp","registered","mfa_token","access_token","organizations","accountId","toString","catch","err","gutterBottom","formFieldRow","RadioGroupSelector","e","organisation","company","Button","token","account_id","subnetRegister","trim","InputBoxWrapper","LockOutlined","otp","subnetLoginWithMFA","PersonOutlineOutlined","preventDefault","window","Link","regToken","navigator","clipboard","writeText","LinearProgress","planDetails","price","capacityMax","capacityMin","planItems","field","plans","Community","detail","link","Standard","Enterprise","planButtons","text","text2","plan","planItemsPadding","borderTop","planItemsBorder","textDecoration","info","linkButton","fontFamily","margin","tableContainer","detailsContainerBorder","borderLeft","detailsTitle","currPlan","planHeader","detailsPrice","detailsCapacityMax","itemContainer","borderRight","itemContainerDetail","alignContent","itemFirst","checkIcon","buttonContainer","buttonContainerBlank","buttonContainerHighlighted","activateLink","clear","currentPlanBG","activateProductModal","closeModalAndFetchLicenseInfo","licenseInfo","setLicenseModal","currentPlanID","planDetailsFiltered","setActivateProductModal","filter","planButtonsFiltered","gridColWidth","details","currentPlan","toLowerCase","communityDetail","pd","CheckCircle","undefined","listStyleType","float","licDet","linkMore","chooseFlavorText","licenseContainer","flexWrap","flexDirection","openSourcePolicy","subnetRefreshLicenseLink","licenseInfoTitle","licenseInfoValue","subnetSubTitle","verifiedIcon","bottom","loadingLoginStrategy","mainContainer","licenseModal","setLicenseInfo","setCurrentPlanID","loadingLicenseInfo","setLoadingLicenseInfo","initialLicenseLoading","setInitialLicenseLoading","loadingRefreshLicense","setLoadingRefreshLicense","clusterRegistered","setClusterRegistered","getSubnetInfo","hasPermission","CONSOLE_UI_RESOURCE","IAM_PAGES_PERMISSIONS","IAM_PAGES","fetchLicenseInfo","res","PageHeader","RegisterStatus","lg","organization","niceBytes","storage_capacity","email","format","expires_at","split","slice","join","src","alt","CircularProgress","to","registeredStatus","verticalAlign","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getLinkUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","colorTransformations","textPrimary","secondary","textSecondary","LinkRoot","styled","overridesResolver","styles","ownerState","capitalize","underline","getPath","transformDeprecatedColors","_extends","textDecorationColor","alpha","WebkitTapHighlightColor","outline","userSelect","MozAppearance","WebkitAppearance","borderStyle","linkClasses","React","inProps","ref","useThemeProps","onBlur","onFocus","TypographyClasses","other","_objectWithoutPropertiesLoose","useIsFocusVisible","isFocusVisibleRef","handleBlurVisible","handleFocusVisible","focusVisibleRef","focusVisible","setFocusVisible","handlerRef","useForkRef","slots","composeClasses","useUtilityClasses","_jsx","current","getSwitchBaseUtilityClass","SwitchBaseRoot","ButtonBase","edge","SwitchBaseInput","checkedProp","checked","defaultChecked","disabledProp","inputRef","readOnly","tabIndex","useControlled","controlled","Boolean","setCheckedState","muiFormControl","useFormControl","hasLabelFor","input","_jsxs","centerRipple","focusRipple","role","nativeEvent","defaultPrevented","newChecked"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3589.dcdc922e.chunk.js b/portal-ui/build/static/js/3589.dcdc922e.chunk.js new file mode 100644 index 000000000..d9d3f2e7a --- /dev/null +++ b/portal-ui/build/static/js/3589.dcdc922e.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3589],{8235:function(e,n,i){i(50390);var t=i(86509),o=i(4285),r=i(25594),s=i(62559);n.Z=(0,o.Z)((function(e){return(0,t.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,i=e.iconComponent,t=e.title,o=e.help;return(0,s.jsx)("div",{className:n.root,children:(0,s.jsxs)(r.ZP,{container:!0,children:[(0,s.jsxs)(r.ZP,{item:!0,xs:12,className:n.leftItems,children:[i,t]}),(0,s.jsx)(r.ZP,{item:!0,xs:12,className:n.helpText,children:o})]})})}))},3873:function(e,n,i){i.d(n,{Z:function(){return x}});var t=i(35721),o=i(50390),r=i(25594),s=i(56805),a=i(8235),l=i(62559),c=function(e){var n=e.iconComponent,i=void 0===n?null:n,t=e.title,o=void 0===t?"":t,c=e.message,d=void 0===c?"":c;return(0,l.jsx)(r.ZP,{container:!0,alignItems:"center",children:(0,l.jsx)(r.ZP,{item:!0,xs:12,children:(0,l.jsx)(a.Z,{title:o,iconComponent:i,help:(0,l.jsx)(s.Z,{sx:{fontSize:"14px",display:"flex",border:"none",flexFlow:{xs:"column",md:"row"},"& a":{color:function(e){return e.colors.link},textDecoration:"underline"}},children:d})})})})},d=i(25534),x=function(e){var n=e.pageHeaderText,i=void 0===n?"":n,r=e.icon,s=void 0===r?null:r,a=e.title,x=void 0===a?"":a,p=e.message,u=void 0===p?null:p;return(0,l.jsxs)(o.Fragment,{children:[(0,l.jsx)(t.Z,{label:i}),(0,l.jsx)(d.Z,{children:(0,l.jsx)(c,{iconComponent:s,title:x,message:u})})]})}},92440:function(e,n,i){var t=i(36222),o=i(18489),r=i(50390),s=i(86509),a=i(4285),l=i(49056),c=i(36554),d=i(94187),x=i(35477),p=i(25594),u=i(72462),g=i(97538),h=i(44977),m=i(62559),f=(0,a.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(l.Z);n.Z=(0,a.Z)((function(e){return(0,s.Z)((0,o.Z)((0,o.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},u.OR),u.YI))}))((function(e){var n=e.label,i=void 0===n?"":n,o=e.onChange,s=e.value,a=e.id,l=e.name,u=e.checked,j=void 0!==u&&u,b=e.disabled,Z=void 0!==b&&b,v=e.switchOnly,y=void 0!==v&&v,C=e.tooltip,S=void 0===C?"":C,w=e.description,k=void 0===w?"":w,L=e.classes,T=e.indicatorLabels,F=(0,m.jsxs)(r.Fragment,{children:[!y&&(0,m.jsx)("span",{className:(0,h.Z)(L.indicatorLabel,(0,t.Z)({},L.indicatorLabelOn,!j)),children:T&&T.length>1?T[1]:"OFF"}),(0,m.jsx)(f,{checked:j,onChange:o,color:"primary",name:l,inputProps:{"aria-label":"primary checkbox"},disabled:Z,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:s}),!y&&(0,m.jsx)("span",{className:(0,h.Z)(L.indicatorLabel,(0,t.Z)({},L.indicatorLabelOn,j)),children:T?T[0]:"ON"})]});return y?F:(0,m.jsx)("div",{className:L.divContainer,children:(0,m.jsxs)(p.ZP,{container:!0,alignItems:"center",children:[(0,m.jsx)(p.ZP,{item:!0,xs:!0,children:(0,m.jsxs)(p.ZP,{container:!0,children:[(0,m.jsx)(p.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==i&&(0,m.jsxs)(c.Z,{htmlFor:a,className:L.inputLabel,children:[(0,m.jsx)("span",{children:i}),""!==S&&(0,m.jsx)("div",{className:L.tooltipContainer,children:(0,m.jsx)(d.Z,{title:S,placement:"top-start",children:(0,m.jsx)("div",{className:L.tooltip,children:(0,m.jsx)(g.Z,{})})})})]})}),(0,m.jsx)(p.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==k&&(0,m.jsx)(x.Z,{component:"p",className:L.fieldDescription,children:k})})]})}),(0,m.jsx)(p.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:L.switchContainer,children:F})]})})}))},66964:function(e,n,i){var t=i(18489),o=i(50390),r=i(12066),s=i(25594),a=i(36554),l=i(94187),c=i(95467),d=i(86509),x=i(62449),p=i(4285),u=i(72462),g=i(97538),h=i(44977),m=i(62559),f=(0,x.Z)((function(e){return(0,d.Z)((0,t.Z)({},u.gM))}));function j(e){var n=f();return(0,m.jsx)(r.Z,(0,t.Z)({InputProps:{classes:n}},e))}n.Z=(0,p.Z)((function(e){return(0,d.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},u.YI),u.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},u.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,i=e.onChange,r=e.value,d=e.id,x=e.name,p=e.type,u=void 0===p?"text":p,f=e.autoComplete,b=void 0===f?"off":f,Z=e.disabled,v=void 0!==Z&&Z,y=e.multiline,C=void 0!==y&&y,S=e.tooltip,w=void 0===S?"":S,k=e.index,L=void 0===k?0:k,T=e.error,F=void 0===T?"":T,A=e.required,N=void 0!==A&&A,I=e.placeholder,E=void 0===I?"":I,O=e.min,R=e.max,P=e.overlayIcon,B=void 0===P?null:P,_=e.overlayObject,z=void 0===_?null:_,W=e.extraInputProps,M=void 0===W?{}:W,H=e.overlayAction,D=e.noLabelMinWidth,U=void 0!==D&&D,$=e.pattern,G=void 0===$?"":$,Y=e.autoFocus,q=void 0!==Y&&Y,V=e.classes,K=e.className,Q=void 0===K?"":K,X=(0,t.Z)({"data-index":L},M);return"number"===u&&O&&(X.min=O),"number"===u&&R&&(X.max=R),""!==G&&(X.pattern=G),(0,m.jsx)(o.Fragment,{children:(0,m.jsxs)(s.ZP,{container:!0,className:(0,h.Z)(""!==Q?Q:"",""!==F?V.errorInField:V.inputBoxContainer),children:[""!==n&&(0,m.jsxs)(a.Z,{htmlFor:d,className:U?V.noMinWidthLabel:V.inputLabel,children:[(0,m.jsxs)("span",{children:[n,N?"*":""]}),""!==w&&(0,m.jsx)("div",{className:V.tooltipContainer,children:(0,m.jsx)(l.Z,{title:w,placement:"top-start",children:(0,m.jsx)("div",{className:V.tooltip,children:(0,m.jsx)(g.Z,{})})})})]}),(0,m.jsxs)("div",{className:V.textBoxContainer,children:[(0,m.jsx)(j,{id:d,name:x,fullWidth:!0,value:r,autoFocus:q,disabled:v,onChange:i,type:u,multiline:C,autoComplete:b,inputProps:X,error:""!==F,helperText:F,placeholder:E,className:V.inputRebase}),B&&(0,m.jsx)("div",{className:"".concat(V.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,m.jsx)(c.Z,{onClick:H?function(){H()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:B})}),z&&(0,m.jsx)("div",{className:"".concat(V.overlayAction," ").concat(""!==n?"withLabel":""),children:z})]})]})})}))},67754:function(e,n,i){var t=i(18489),o=i(50390),r=i(25594),s=i(46413),a=i(36554),l=i(94187),c=i(47554),d=i(43965),x=i(31680),p=i(86509),u=i(4285),g=i(72462),h=i(97538),m=i(62559),f=(0,u.Z)((function(e){return(0,p.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(s.ZP);n.Z=(0,u.Z)((function(e){return(0,p.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},g.YI),g.Hr),{},{inputLabel:(0,t.Z)((0,t.Z)({},g.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var n=e.classes,i=e.id,t=e.name,s=e.onChange,p=e.options,u=e.label,g=e.tooltip,j=void 0===g?"":g,b=e.value,Z=e.disabled,v=void 0!==Z&&Z;return(0,m.jsx)(o.Fragment,{children:(0,m.jsxs)(r.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==u&&(0,m.jsxs)(a.Z,{htmlFor:i,className:n.inputLabel,children:[(0,m.jsx)("span",{children:u}),""!==j&&(0,m.jsx)("div",{className:n.tooltipContainer,children:(0,m.jsx)(l.Z,{title:j,placement:"top-start",children:(0,m.jsx)("div",{className:n.tooltip,children:(0,m.jsx)(h.Z,{})})})})]}),(0,m.jsx)(c.Z,{fullWidth:!0,children:(0,m.jsx)(d.Z,{id:i,name:t,value:b,onChange:s,input:(0,m.jsx)(f,{}),disabled:v,children:p.map((function(e){return(0,m.jsx)(x.Z,{value:e.value,children:e.label},"select-".concat(t,"-").concat(e.label))}))})})]})})}))},25534:function(e,n,i){var t=i(18489),o=(i(50390),i(25594)),r=i(86509),s=i(4285),a=i(72462),l=i(62559);n.Z=(0,s.Z)((function(e){return(0,r.Z)((0,t.Z)({},a.Bw))}))((function(e){var n=e.classes,i=e.className,t=void 0===i?"":i,r=e.children;return(0,l.jsx)("div",{className:n.contentSpacer,children:(0,l.jsx)(o.ZP,{container:!0,children:(0,l.jsx)(o.ZP,{item:!0,xs:12,className:t,children:r})})})}))},35721:function(e,n,i){i(50390);var t=i(34424),o=i(25594),r=i(86509),s=i(4285),a=i(35477),l=i(95467),c=i(26805),d=i(44078),x=i(5265),p=i(98280),u=i(62559),g={toggleList:x.kQ},h=(0,t.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),g);n.Z=h((0,s.Z)((function(e){return(0,r.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,i=e.label,t=e.actions,r=e.sidebarOpen,s=e.operatorMode,x=e.managerObjects,g=e.toggleList,h=e.middleComponent;return(0,u.jsxs)(o.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,u.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:h?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!r&&(0,u.jsx)("div",{className:n.logo,children:s?(0,u.jsx)(c.Z,{}):(0,u.jsx)(d.Z,{})}),(0,u.jsx)(a.Z,{variant:"h4",className:n.labelStyle,children:i})]}),h&&(0,u.jsx)(o.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:h}),(0,u.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:h?3:6,className:n.rightMenu,children:[t&&t,x&&x.length>0&&(0,u.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){g()},size:"large",children:(0,u.jsx)(p.gx,{})})]})]})})))},7345:function(e,n,i){var t=i(25594),o=i(39056),r=(i(50390),i(86509)),s=i(4285),a=i(62559);n.Z=(0,s.Z)((function(e){return(0,r.Z)({registeredStatus:{border:"1px solid #E2E2E2",padding:"24px 24px 24px 24px",borderRadius:2,marginBottom:25,backgroundColor:"#FBFAFA","& .min-icon":{width:20,height:20,marginLeft:48,marginRight:13,verticalAlign:"middle",marginTop:-3},"& span":{fontWeight:"bold"}}})}))((function(e){var n=e.classes;return(0,a.jsx)(t.ZP,{container:!0,children:(0,a.jsxs)(t.ZP,{item:!0,xs:12,className:n.registeredStatus,children:["Registration Status:",(0,a.jsx)(o.Z,{}),(0,a.jsx)("span",{children:"Registered"})]})})}))},43589:function(e,n,i){i.r(n),i.d(n,{default:function(){return Y}});var t=i(50390),o=i(70971),r=i(24442),s=i(36176),a=i(18489),l=i(86509),c=i(4285),d=i(25594),x=i(72462),p=i(35721),u=i(6369),g=i(62559),h=(0,c.Z)((function(e){return(0,l.Z)({configurationLink:{border:"#E5E5E5 1px solid",borderRadius:2,padding:20,width:190,maxWidth:190,height:80,margin:14,display:"flex",alignItems:"center",color:"#072C4F",fontSize:14,fontWeight:700,textDecoration:"none",overflow:"hidden",textOverflow:"ellipsis",lineClamp:2,"& svg":{fontSize:35,marginRight:15},"&:hover":{backgroundColor:"#FBFAFA"},"&.disabled":{backgroundColor:"#F9F9F9",color:"#ababab",cursor:"not-allowed"}}})}))((function(e){var n=e.classes,i=e.configuration,t=e.prefix,o=void 0===t?"settings":t,r=e.disabled,s=void 0!==r&&r;return(0,g.jsxs)(u.rU,{to:s?"/".concat(o):"/".concat(o,"/").concat(i.configuration_id),className:"".concat(n.configurationLink," ").concat(s?"disabled":""),children:[i.icon,i.configuration_label]})})),m=i(25534),f=i(98280),j=i(49495),b=i(15607),Z=i(34424),v=(0,Z.$j)((function(e){return{features:e.console.session.features}}),null)((0,c.Z)((function(e){return(0,l.Z)((0,a.Z)((0,a.Z)((0,a.Z)({settingsOptionsContainer:{display:"flex",flexDirection:"row",justifyContent:"flex-start",flexWrap:"wrap",border:"#E5E5E5 1px solid",borderRadius:2,padding:5,backgroundColor:"#fff"}},x.qg),x.OR),(0,x.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,i=(e.features,[{icon:(0,g.jsx)(f.I$,{}),configuration_id:"logs",configuration_label:"Logs",disabled:!(0,b.F)(j.C3,j.LC[j.gA.TOOLS_LOGS])},{icon:(0,g.jsx)(f.W1,{}),configuration_id:"audit-logs",configuration_label:"Audit Logs",disabled:!(0,b.F)(j.C3,j.LC[j.gA.TOOLS_AUDITLOGS])},{icon:(0,g.jsx)(f.fO,{}),configuration_id:"watch",configuration_label:"Watch",disabled:!(0,b.F)(j.C3,j.LC[j.gA.TOOLS_WATCH])},{icon:(0,g.jsx)(f.C_,{}),configuration_id:"trace",configuration_label:"Trace",disabled:!(0,b.F)(j.C3,j.LC[j.gA.TOOLS_TRACE])},{icon:(0,g.jsx)(f.ln,{}),configuration_id:"heal",configuration_label:"Heal",disabled:!(0,b.F)(j.C3,j.LC[j.gA.TOOLS_HEAL])},{icon:(0,g.jsx)(f.MX,{}),configuration_id:"diagnostics",configuration_label:"Diagnostics",disabled:!(0,b.F)(j.C3,j.LC[j.gA.TOOLS_DIAGNOSTICS])},{icon:(0,g.jsx)(f.QB,{}),configuration_id:"speedtest",configuration_label:"Speedtest",disabled:!(0,b.F)(j.C3,j.LC[j.gA.TOOLS_SPEEDTEST])}]);return(0,g.jsxs)(t.Fragment,{children:[(0,g.jsx)(p.Z,{label:"Tools"}),(0,g.jsx)(m.Z,{children:(0,g.jsx)(d.ZP,{item:!0,xs:12,children:(0,g.jsx)(d.ZP,{item:!0,xs:12,children:(0,g.jsx)("div",{className:n.settingsOptionsContainer,children:i.map((function(e){return(0,g.jsx)(h,{prefix:"tools",configuration:e,disabled:e.disabled||!1},"configItem-".concat(e.configuration_label))}))})})})})]})}))),y=i(23430),C=i(56805),S=i(66946),w=i(10567),k=i(50213),L=i(694),T=i(8117),F=i(67038),A=i(66964),N=i(75288),I=i(68625),E=i(30324),O=i(70011),R=i(67754),P=i(44149),B=i(30723),_=i(7345),z=i(92440),W=function(e){var n=e.icon,i=void 0===n?null:n,t=e.title;return(0,g.jsxs)(C.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start"},children:[i,(0,g.jsx)("div",{className:"title-text",children:t})]})},M=function(){return(0,g.jsxs)(C.Z,{sx:{flex:1,border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"20px",marginLeft:{xs:"0px",sm:"0px",md:"30px"},marginTop:{xs:"0px",sm:"30px"}},children:[(0,g.jsxs)(C.Z,{sx:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",marginBottom:"16px","& .min-icon":{height:"21px",width:"21px",marginRight:"15px"}},children:[(0,g.jsx)(f.M9,{}),(0,g.jsx)("div",{children:"Why should I register?"})]}),(0,g.jsx)(C.Z,{sx:{fontSize:"14px",marginBottom:"15px"},children:"Registering this cluster with the MinIO Subscription Network (SUBNET) provides the following benefits in addition to the commercial license and SLA backed support."}),(0,g.jsxs)(C.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,g.jsx)(H,{icon:(0,g.jsx)(f._q,{}),description:"Call Home Monitoring"}),(0,g.jsx)(H,{icon:(0,g.jsx)(f.to,{}),description:"Health Diagnostics"}),(0,g.jsx)(H,{icon:(0,g.jsx)(f.Fs,{}),description:"Performance Analysis"})]})]})},H=function(e){var n=e.icon,i=e.description;return(0,g.jsxs)(C.Z,{sx:{display:"flex","& .min-icon":{marginRight:"10px",height:"23px",width:"23px",marginBottom:"10px"}},children:[n," ",(0,g.jsx)("div",{style:{fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:i})]})},D=(0,Z.$j)((function(e){return{operatorMode:e.system.operatorMode}}),{displayErrorMessage:P.Ih}),U=(0,c.Z)((function(e){return(0,l.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({loading:{paddingTop:8,paddingLeft:40},buttons:{justifyContent:"flex-start",gap:20},localMessage:{fontSize:24,color:"#07193E",fontWeight:"bold",textAlign:"center",marginBottom:10},headerStyle:{color:e.palette.primary.main,fontSize:16,fontWeight:"bold"},registerActivationIcon:{color:e.palette.primary.main,fontSize:16,fontWeight:"bold",marginBottom:20,"& .min-icon":{width:32.12,height:25,marginRight:10,verticalAlign:"middle"}},registerActivationMode:{textAlign:"right","& a":{cursor:"pointer"}},subnetDescription:{textAlign:"left",Font:"normal normal normal 14px/17px Lato",letterSpacing:0,color:"#000000","& span":{fontWeight:"bold"}},registeredStatus:{border:"1px solid #E2E2E2",padding:"24px 24px 24px 24px",borderRadius:2,marginBottom:25,backgroundColor:"#FBFAFA","& .min-icon":{width:20,height:20,marginLeft:48,marginRight:13,verticalAlign:"middle",marginTop:-3},"& span":{fontWeight:"bold"}},offlineRegisterButton:{textAlign:"right",paddingRight:20},copyInputBox:{"& button":{border:"1px solid #5E5E5E",borderRadius:2}},link:{color:"#2781B0",cursor:"pointer"},smallBoxy:{border:"#E5E5E5 1px solid",borderRadius:2,padding:20,backgroundColor:"#fff"},sizedLabel:{minWidth:"75px"}},x.OR),x.qg),x.bK),(0,x.Bz)(e.spacing(4))))}))(D((function(e){var n=e.classes,i=e.displayErrorMessage,o=e.operatorMode,r=(0,t.useState)(""),s=(0,y.Z)(r,2),a=s[0],l=s[1],c=(0,t.useState)(""),d=(0,y.Z)(c,2),x=d[0],u=d[1],h=(0,t.useState)(""),Z=(0,y.Z)(h,2),v=Z[0],P=Z[1],H=(0,t.useState)(""),D=(0,y.Z)(H,2),U=D[0],$=D[1],G=(0,t.useState)(""),Y=(0,y.Z)(G,2),q=Y[0],V=Y[1],K=(0,t.useState)(""),Q=(0,y.Z)(K,2),X=Q[0],J=Q[1],ee=(0,t.useState)(""),ne=(0,y.Z)(ee,2),ie=ne[0],te=ne[1],oe=(0,t.useState)(""),re=(0,y.Z)(oe,2),se=re[0],ae=re[1],le=(0,t.useState)([]),ce=(0,y.Z)(le,2),de=ce[0],xe=ce[1],pe=(0,t.useState)(!1),ue=(0,y.Z)(pe,2),ge=ue[0],he=ue[1],me=(0,t.useState)(!0),fe=(0,y.Z)(me,2),je=fe[0],be=fe[1],Ze=(0,t.useState)(!1),ve=(0,y.Z)(Ze,2),ye=ve[0],Ce=ve[1],Se=(0,t.useState)(!1),we=(0,y.Z)(Se,2),ke=we[0],Le=we[1],Te=(0,t.useState)(!1),Fe=(0,y.Z)(Te,2),Ae=Fe[0],Ne=Fe[1],Ie=(0,t.useState)(!0),Ee=(0,y.Z)(Ie,2),Oe=Ee[0],Re=Ee[1],Pe=(0,t.useState)(!1),Be=(0,y.Z)(Pe,2),_e=Be[0],ze=Be[1],We=function(){J(""),te(""),ae(""),he(!1),be(!0),xe([]),l(""),u(""),P(""),$(""),V("")},Me=(0,b.F)(j.C3,j.LC[j.gA.LICENSE],!0),He=(0,t.useCallback)((function(){ke||(Me?(Le(!0),E.Z.invoke("GET","/api/v1/subnet/info").then((function(e){Ne(!0),Le(!1)})).catch((function(e){"License not found"!==e.errorMessage&&i(e),Ne(!1),Le(!1)}))):Le(!1))}),[ke,Me,i]),De=function(e,n){var t={token:e,account_id:n};E.Z.invoke("POST","/api/v1/subnet/register",t).then((function(){Ce(!1),We(),He()})).catch((function(e){i(e),Ce(!1)}))},Ue=function(){if(!ye){Ce(!0);var e={username:v,password:x,apiKey:a};E.Z.invoke("POST","/api/v1/subnet/login",e).then((function(e){Ce(!1),e&&e.registered?(We(),He()):e&&e.mfa_token?$(e.mfa_token):e&&e.access_token&&e.organizations.length>0&&(J(e.access_token),xe(e.organizations),te(e.organizations[0].accountId.toString()))})).catch((function(e){i(e),Ce(!1),We()}))}};(0,t.useEffect)((function(){Oe&&(He(),Re(!1))}),[He,Oe,Re]);var $e,Ge=je?(0,g.jsx)(C.Z,{sx:{"& .title-text":{marginLeft:"27px",fontWeight:600}},children:(0,g.jsx)(W,{icon:(0,g.jsx)(T.Z,{}),title:"Register with MinIO Subscription Network"})}):(0,g.jsx)(C.Z,{sx:{"& .title-text":{marginLeft:"27px",fontWeight:600}},children:(0,g.jsx)(W,{icon:(0,g.jsx)(F.Z,{}),title:" Offline Activation of SUBNET License"})});$e=je?X&&de.length>0?(0,g.jsxs)(C.Z,{sx:{display:"flex"},children:[(0,g.jsxs)(C.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,g.jsx)(C.Z,{sx:{marginTop:"15px",marginBottom:"15px","& .title-text":{marginLeft:"0px"}},children:(0,g.jsx)(W,{title:"Register MinIO cluster"})}),(0,g.jsxs)(C.Z,{children:[(0,g.jsx)(R.Z,{id:"subnet-organization",name:"subnet-organization",onChange:function(e){return te(e.target.value)},label:"Select an organization",value:ie,options:de.map((function(e){return{label:e.company,value:e.accountId.toString()}}))}),(0,g.jsx)(C.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end",marginTop:"15px"},children:(0,g.jsx)(S.Z,{className:n.button,color:"primary",onClick:function(){ye||(Ce(!0),X&&ie&&De(X,ie))},disabled:ye||0===X.trim().length,variant:"contained",children:"Register"})})]})]}),(0,g.jsx)(M,{})]}):U?(0,g.jsxs)(C.Z,{sx:{display:"flex"},children:[(0,g.jsxs)(C.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,g.jsx)(C.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"30px",marginBottom:"30px"},children:"Two-Factor Authentication"}),(0,g.jsx)(C.Z,{children:"Please enter the 6-digit verification code that was sent to your email address. This code will be valid for 5 minutes."}),(0,g.jsx)(C.Z,{sx:{flex:"1",marginTop:"30px"},children:(0,g.jsx)(A.Z,{overlayIcon:(0,g.jsx)(O.Z,{}),id:"subnet-otp",name:"subnet-otp",onChange:function(e){return V(e.target.value)},placeholder:"",label:"",value:q})}),(0,g.jsx)(C.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:(0,g.jsx)(S.Z,{color:"primary",onClick:function(){return function(){if(!ye){Ce(!0);var e={username:v,otp:q,mfa_token:U};E.Z.invoke("POST","/api/v1/subnet/login/mfa",e).then((function(e){Ce(!1),e&&e.access_token&&e.organizations.length>0&&(1===e.organizations.length?De(e.access_token,e.organizations[0].accountId.toString()):(J(e.access_token),xe(e.organizations),te(e.organizations[0].accountId.toString())))})).catch((function(e){i(e),Ce(!1),V("")}))}}()},disabled:ye||0===q.trim().length||0===U.trim().length,variant:"contained",children:"Verify"})})]}),(0,g.jsx)(M,{})]}):(0,g.jsxs)(C.Z,{sx:{display:"flex",flexFlow:{xs:"column",md:"row"}},children:[(0,g.jsxs)(C.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,g.jsx)(C.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"30px",marginBottom:"30px"},children:"Use your MinIO Subscription Network login credentials to register this cluster."}),(0,g.jsxs)(C.Z,{sx:{flex:"1"},children:[(0,g.jsx)(A.Z,{className:n.spacerBottom,classes:{inputLabel:n.sizedLabel},id:"subnet-email",name:"subnet-email",onChange:function(e){return P(e.target.value)},label:"Email",value:v,overlayIcon:(0,g.jsx)(f.oy,{})}),(0,g.jsx)(A.Z,{className:n.spacerBottom,classes:{inputLabel:n.sizedLabel},id:"subnet-password",name:"subnet-password",onChange:function(e){return u(e.target.value)},label:"Password",type:ge?"text":"password",value:x,overlayIcon:ge?(0,g.jsx)(L.Z,{}):(0,g.jsx)(k.Z,{}),overlayAction:function(){return he(!ge)}}),(0,g.jsxs)(C.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:[(0,g.jsx)(S.Z,{type:"submit",className:n.spacerRight,variant:"outlined",onClick:function(e){e.preventDefault(),window.open("https://min.io/signup?ref=".concat(o?"op":"con"),"_blank")},children:"Sign up"}),(0,g.jsx)(S.Z,{type:"submit",variant:"contained",color:"primary",disabled:ye||0===v.trim().length||0===x.trim().length,onClick:function(){return Ue()},children:"Register"})]})]})]}),(0,g.jsx)(M,{})]}):(0,g.jsxs)(C.Z,{sx:{display:"flex"},children:[(0,g.jsxs)(C.Z,{sx:{display:"flex",flexFlow:"column",flex:"2",marginTop:"15px","& .step-number":{color:"#ffffff",height:"25px",width:"25px",background:"#081C42",marginRight:"10px",textAlign:"center",fontWeight:600,borderRadius:"50%"},"& .step-row":{fontSize:"16px",display:"flex",marginTop:"15px",marginBottom:"15px"}},children:[(0,g.jsxs)(C.Z,{children:[(0,g.jsxs)(C.Z,{className:"step-row",children:[(0,g.jsx)("div",{className:"step-number",children:"1"})," ",(0,g.jsx)("div",{className:"step-text",children:"Copy the following registration token"})]}),(0,g.jsx)(C.Z,{sx:{flex:"1",marginTop:"15px",marginLeft:"35px","& input":{color:"#737373"}},children:(0,g.jsx)(A.Z,{id:"registration-token",name:"registration-token",placeholder:"",label:"",type:"text",onChange:function(){},value:se,overlayIcon:(0,g.jsx)(f.TI,{}),extraInputProps:{readOnly:!0},overlayAction:function(){return navigator.clipboard.writeText(se)}})})]}),(0,g.jsxs)(C.Z,{children:[(0,g.jsxs)(C.Z,{className:"step-row",children:[(0,g.jsx)("div",{className:"step-number",children:"2"}),(0,g.jsx)("div",{className:"step-text",children:"Navigate to SUBNET and register your cluster"})]}),(0,g.jsx)(C.Z,{sx:{flex:"1",marginLeft:"35px"},children:(0,g.jsx)(w.Z,{className:n.link,color:"inherit",href:"https://subnet.min.io/cluster/register",target:"_blank",children:"https://subnet.min.io/cluster/register"})})]}),(0,g.jsxs)(C.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"15px",marginBottom:"15px"},children:[(0,g.jsxs)(C.Z,{className:"step-row",children:[(0,g.jsx)("div",{className:"step-number",children:"3"})," ",(0,g.jsx)("div",{className:"step-text",children:"Enter the API key generated by SUBNET"})]}),(0,g.jsx)(C.Z,{sx:{flex:"1",marginTop:"15px",marginLeft:"35px"},children:(0,g.jsx)(A.Z,{value:a,onChange:function(e){return l(e.target.value)},id:"api-key",name:"api-key",placeholder:"",label:"",type:"text"})})]}),(0,g.jsx)(C.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end",marginTop:"15px"},children:(0,g.jsx)(S.Z,{variant:"contained",color:"primary",onClick:function(){return Ue()},disabled:ye||0===a.trim().length,children:"Register"})})]}),(0,g.jsx)(M,{})]});var Ye="mc admin config set {alias} subnet proxy={proxy}";return(0,g.jsxs)(t.Fragment,{children:[(0,g.jsx)(p.Z,{label:"Register"}),(0,g.jsxs)(m.Z,{children:[(0,g.jsxs)(C.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"43px"},children:[Ae&&(0,g.jsx)(_.Z,{}),je?null:(0,g.jsxs)(C.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start",marginBottom:"30px","& .min-icon":{height:"25px",width:"25px",marginRight:"15px"}},children:[(0,g.jsx)(N.Z,{}),(0,g.jsx)(w.Z,{className:n.link,onClick:function(){return be(!je)},children:"Back to Online Activation"})]}),Ge,$e]}),je&&(0,g.jsxs)(t.Fragment,{children:[(0,g.jsxs)(C.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",padding:"23px",marginTop:"40px",alignItems:"center",justifyContent:"space-between"},children:[(0,g.jsxs)(C.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,g.jsxs)(C.Z,{sx:{display:"flex","& .min-icon":{height:"22px",width:"22px"}},children:[(0,g.jsx)(B.Z,{}),(0,g.jsx)("div",{style:{marginLeft:"10px",fontWeight:600},children:"Proxy Configuration"})]}),(0,g.jsxs)(C.Z,{sx:{marginTop:"10px",marginBottom:"10px",fontSize:"14px"},children:["For airgap/firewalled environments it is possible to"," ",(0,g.jsx)(w.Z,{className:n.link,href:"https://docs.min.io/docs/minio-server-configuration-guide.html?ref=con",target:"_blank",children:"configure a proxy"})," ","to connect to SUBNET ."]}),(0,g.jsx)(C.Z,{children:_e&&(0,g.jsx)(A.Z,{disabled:!0,id:"subnetProxy",name:"subnetProxy",placeholder:"",onChange:function(){},label:"",value:Ye,overlayIcon:(0,g.jsx)(f.TI,{}),extraInputProps:{readOnly:!0},overlayAction:function(){return navigator.clipboard.writeText(Ye)}})})]}),(0,g.jsx)(C.Z,{sx:{display:"flex"},children:(0,g.jsx)(z.Z,{value:"enableProxy",id:"enableProxy",name:"enableProxy",checked:_e,onChange:function(e){ze(e.target.checked)}})})]}),(0,g.jsxs)(C.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",padding:"23px",marginTop:"40px",alignItems:"center",justifyContent:"center"},children:[(0,g.jsxs)(C.Z,{sx:{display:"flex",alignItems:"center"},children:[(0,g.jsx)(I.Z,{})," Cluster does not have internet access? Use"," "]}),(0,g.jsx)(C.Z,{sx:{display:"flex",alignItems:"center",marginLeft:"8px"},children:(0,g.jsx)(w.Z,{className:n.link,onClick:function(){ye||se||(Ce(!0),E.Z.invoke("GET","/api/v1/subnet/registration-token").then((function(e){Ce(!1),e&&e.regToken&&ae(e.regToken)})).catch((function(e){console.log(e),i(e),Ce(!1)}))),be(!je)},children:"Offline Activation."})})]})]})]})]})}))),$=i(3873),G=i(50364),Y=function(){return(0,g.jsx)(o.F0,{history:r.Z,children:(0,g.jsxs)(o.rs,{children:[(0,g.jsx)(o.AW,{path:j.gA.TOOLS,exact:!0,component:v}),(0,g.jsx)(o.AW,{path:j.gA.REGISTER_SUPPORT,exact:!0,component:U}),(0,g.jsx)(o.AW,{path:j.gA.CALL_HOME,exact:!0,render:function(){return(0,g.jsx)($.Z,{icon:(0,g.jsx)(G.aw,{}),pageHeaderText:"Support",title:"Call Home",message:(0,g.jsx)("div",{children:"This feature is currently not available."})})}}),(0,g.jsx)(o.AW,{path:j.gA.TOOLS_WATCH,exact:!0,render:function(){return(0,g.jsx)($.Z,{icon:(0,g.jsx)(G.aw,{}),pageHeaderText:"Support",title:"Inspect",message:(0,g.jsx)("div",{children:"This feature is currently not available."})})}}),(0,g.jsx)(o.AW,{path:j.gA.PROFILE,exact:!0,render:function(){return(0,g.jsx)($.Z,{icon:(0,g.jsx)(G.aw,{}),pageHeaderText:"Support",title:"Profile",message:(0,g.jsx)("div",{children:"This feature is currently not available."})})}}),(0,g.jsx)(o.AW,{component:s.Z})]})})}},36176:function(e,n,i){i.d(n,{Z:function(){return c}});i(50390);var t=i(56805),o=i(35477),r=i(10567),s=i(62559);function a(){return(0,s.jsxs)(o.Z,{variant:"body2",color:"textSecondary",align:"center",children:["Copyright \xa9 ",(0,s.jsx)(r.Z,{color:"inherit",href:"https://min.io/?ref=con",children:"MinIO"})," ",(new Date).getFullYear(),"."]})}var l=i(25534),c=function(){return(0,s.jsx)(l.Z,{children:(0,s.jsxs)(t.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",textAlign:"center",margin:"auto",flexFlow:"column"},children:[(0,s.jsx)(t.Z,{sx:{fontSize:"110%",margin:"0 0 0.25rem",color:"#909090"},children:"404 Error"}),(0,s.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,s.jsx)(t.Z,{mt:5,children:(0,s.jsx)(a,{})})]})})}}}]); +//# sourceMappingURL=3589.dcdc922e.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3589.dcdc922e.chunk.js.map b/portal-ui/build/static/js/3589.dcdc922e.chunk.js.map new file mode 100644 index 000000000..e027915b7 --- /dev/null +++ b/portal-ui/build/static/js/3589.dcdc922e.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3589.dcdc922e.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/Components/FeatureNotAvailable.tsx","screens/Console/Common/Components/FeatureNotAvailablePage.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Support/RegisterStatus.tsx","screens/Console/Common/SettingsCard/SettingsCard.tsx","screens/Console/Tools/ToolsPanel/ToolsList.tsx","screens/Console/Support/Register.tsx","screens/Console/Tools/Tools.tsx","common/Copyright.tsx","screens/NotFoundPage.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;\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 IFeatureNotAvailable {\n iconComponent?: any;\n title?: string;\n helpCls?: any;\n message?: any;\n}\n\nconst FeatureNotAvailable = ({\n iconComponent = null,\n title = \"\",\n message = \"\",\n}: IFeatureNotAvailable) => {\n return (\n \n \n theme.colors.link,\n textDecoration: \"underline\",\n },\n }}\n >\n {message}\n \n }\n />\n \n \n );\n};\n\nexport default FeatureNotAvailable;\n","import PageHeader from \"../PageHeader/PageHeader\";\nimport React from \"react\";\nimport FeatureNotAvailable from \"./FeatureNotAvailable\";\nimport PageLayout from \"../Layout/PageLayout\";\n\nconst FeatureNotAvailablePage = ({\n pageHeaderText = \"\",\n icon = null,\n title = \"\",\n message = null,\n}: {\n pageHeaderText?: string;\n icon?: any;\n title?: string;\n message?: any;\n}) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default FeatureNotAvailablePage;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n
\n )}\n
\n
\n \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\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 VerifiedIcon from \"../../../icons/VerifiedIcon\";\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n registeredStatus: {\n border: \"1px solid #E2E2E2\",\n padding: \"24px 24px 24px 24px\",\n borderRadius: 2,\n marginBottom: 25,\n backgroundColor: \"#FBFAFA\",\n \"& .min-icon\": {\n width: 20,\n height: 20,\n marginLeft: 48,\n marginRight: 13,\n verticalAlign: \"middle\",\n marginTop: -3,\n },\n \"& span\": {\n fontWeight: \"bold\",\n },\n },\n });\n\ninterface IRegisterStatus {\n classes: any;\n}\n\nfunction RegisterStatus({ classes }: IRegisterStatus) {\n return (\n \n \n Registration Status:\n \n Registered\n \n \n );\n}\n\nexport default withStyles(styles)(RegisterStatus);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IElement } from \"../../Configurations/types\";\n\ninterface ISettingsCard {\n classes: any;\n configuration: IElement;\n prefix?: string;\n disabled?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n configurationLink: {\n border: \"#E5E5E5 1px solid\",\n borderRadius: 2,\n padding: 20,\n width: 190,\n maxWidth: 190,\n height: 80,\n margin: 14,\n display: \"flex\",\n alignItems: \"center\",\n color: \"#072C4F\",\n fontSize: 14,\n fontWeight: 700,\n textDecoration: \"none\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n lineClamp: 2,\n \"& svg\": {\n fontSize: 35,\n marginRight: 15,\n },\n \"&:hover\": {\n backgroundColor: \"#FBFAFA\",\n },\n \"&.disabled\": {\n backgroundColor: \"#F9F9F9\",\n color: \"#ababab\",\n cursor: \"not-allowed\",\n },\n },\n });\n\nconst SettingsCard = ({\n classes,\n configuration,\n prefix = \"settings\",\n disabled = false,\n}: ISettingsCard) => {\n return (\n \n {configuration.icon}\n {configuration.configuration_label}\n \n );\n};\n\nexport default withStyles(styles)(SettingsCard);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport SettingsCard from \"../../Common/SettingsCard/SettingsCard\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport { IElement } from \"../types\";\nimport {\n DiagnosticsIcon,\n HealIcon,\n LogsIcon,\n SearchIcon,\n TraceIcon,\n WatchIcon,\n SpeedtestIcon,\n} from \"../../../../icons\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_PAGES_PERMISSIONS,\n} from \"../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../common/SecureComponent/SecureComponent\";\nimport { AppState } from \"../../../../store\";\nimport { connect } from \"react-redux\";\n\ninterface IConfigurationOptions {\n classes: any;\n features: string[];\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 padding: 5,\n backgroundColor: \"#fff\",\n },\n ...searchField,\n ...actionsTray,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst ToolsList = ({ classes, features }: IConfigurationOptions) => {\n const configurationElements: IElement[] = [\n {\n icon: ,\n configuration_id: \"logs\",\n configuration_label: \"Logs\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_LOGS]\n ),\n },\n {\n icon: ,\n configuration_id: \"audit-logs\",\n configuration_label: \"Audit Logs\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_AUDITLOGS]\n ),\n },\n {\n icon: ,\n configuration_id: \"watch\",\n configuration_label: \"Watch\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_WATCH]\n ),\n },\n {\n icon: ,\n configuration_id: \"trace\",\n configuration_label: \"Trace\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_TRACE]\n ),\n },\n {\n icon: ,\n configuration_id: \"heal\",\n configuration_label: \"Heal\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_HEAL]\n ),\n },\n {\n icon: ,\n configuration_id: \"diagnostics\",\n configuration_label: \"Diagnostics\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_DIAGNOSTICS]\n ),\n },\n {\n icon: ,\n configuration_id: \"speedtest\",\n configuration_label: \"Speedtest\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_SPEEDTEST]\n ),\n },\n ];\n\n return (\n \n \n \n \n \n
\n {configurationElements.map((element) => (\n \n ))}\n
\n
\n
\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n features: state.console.session.features,\n});\n\nconst connector = connect(mapState, null);\n\nexport default connector(withStyles(styles)(ToolsList));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\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 {\n actionsTray,\n containerForHeader,\n searchField,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box, Button, Link } from \"@mui/material\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { CopyIcon, DiagnosticsFeatureIcon, UsersIcon } from \"../../../icons\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport OnlineRegistrationIcon from \"../../../icons/OnlineRegistrationIcon\";\nimport OfflineRegistrationIcon from \"../../../icons/OfflineRegistrationIcon\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport OnlineRegistrationBackIcon from \"../../../icons/OnlineRegistrationBackIcon\";\nimport OfflineRegistrationBackIcon from \"../../../icons/OfflineRegistrationBackIcon\";\nimport api from \"../../../common/api\";\n\nimport {\n SubnetInfo,\n SubnetLoginRequest,\n SubnetLoginResponse,\n SubnetLoginWithMFARequest,\n SubnetOrganization,\n SubnetRegisterRequest,\n SubnetRegTokenResponse,\n} from \"../License/types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport LockOutlinedIcon from \"@mui/icons-material/LockOutlined\";\nimport SelectWrapper from \"../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { hasPermission } from \"../../../common/SecureComponent/SecureComponent\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_PAGES_PERMISSIONS,\n} from \"../../../common/SecureComponent/permissions\";\nimport { connect } from \"react-redux\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport SettingsIcon from \"../../../icons/SettingsIcon\";\nimport RegisterStatus from \"./RegisterStatus\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport { AppState } from \"../../../store\";\nimport {\n HelpIconFilled,\n CallHomeFeatureIcon,\n PerformanceFeatureIcon,\n} from \"../../../icons\";\n\ninterface IRegister {\n classes: any;\n displayErrorMessage: typeof setErrorSnackMessage;\n operatorMode: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n loading: {\n paddingTop: 8,\n paddingLeft: 40,\n },\n buttons: {\n justifyContent: \"flex-start\",\n gap: 20,\n },\n localMessage: {\n fontSize: 24,\n color: \"#07193E\",\n fontWeight: \"bold\",\n textAlign: \"center\",\n marginBottom: 10,\n },\n headerStyle: {\n color: theme.palette.primary.main,\n fontSize: 16,\n fontWeight: \"bold\",\n },\n registerActivationIcon: {\n color: theme.palette.primary.main,\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 20,\n \"& .min-icon\": {\n width: 32.12,\n height: 25,\n marginRight: 10,\n verticalAlign: \"middle\",\n },\n },\n registerActivationMode: {\n textAlign: \"right\",\n \"& a\": {\n cursor: \"pointer\",\n },\n },\n subnetDescription: {\n textAlign: \"left\",\n Font: \"normal normal normal 14px/17px Lato\",\n letterSpacing: 0,\n color: \"#000000\",\n \"& span\": {\n fontWeight: \"bold\",\n },\n },\n registeredStatus: {\n border: \"1px solid #E2E2E2\",\n padding: \"24px 24px 24px 24px\",\n borderRadius: 2,\n marginBottom: 25,\n backgroundColor: \"#FBFAFA\",\n \"& .min-icon\": {\n width: 20,\n height: 20,\n marginLeft: 48,\n marginRight: 13,\n verticalAlign: \"middle\",\n marginTop: -3,\n },\n \"& span\": {\n fontWeight: \"bold\",\n },\n },\n offlineRegisterButton: {\n textAlign: \"right\",\n paddingRight: 20,\n },\n copyInputBox: {\n \"& button\": {\n border: \"1px solid #5E5E5E\",\n borderRadius: 2,\n },\n },\n link: {\n color: \"#2781B0\",\n cursor: \"pointer\",\n },\n smallBoxy: {\n border: \"#E5E5E5 1px solid\",\n borderRadius: 2,\n padding: 20,\n backgroundColor: \"#fff\",\n },\n sizedLabel: {\n minWidth: \"75px\",\n },\n ...actionsTray,\n ...searchField,\n ...spacingUtils,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst FormTitle = ({ icon = null, title }: { icon?: any; title: any }) => {\n return (\n \n {icon}\n
{title}
\n \n );\n};\n\nconst RegisterHelpBox = () => {\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 \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};\nconst Register = ({\n classes,\n displayErrorMessage,\n operatorMode,\n}: IRegister) => {\n const [license, setLicense] = useState(\"\");\n const [subnetPassword, setSubnetPassword] = useState(\"\");\n const [subnetEmail, setSubnetEmail] = useState(\"\");\n const [subnetMFAToken, setSubnetMFAToken] = useState(\"\");\n const [subnetOTP, setSubnetOTP] = useState(\"\");\n const [subnetAccessToken, setSubnetAccessToken] = useState(\"\");\n const [selectedSubnetOrganization, setSelectedSubnetOrganization] =\n useState(\"\");\n const [subnetRegToken, setSubnetRegToken] = useState(\"\");\n const [subnetOrganizations, setSubnetOrganizations] = useState<\n SubnetOrganization[]\n >([]);\n const [showPassword, setShowPassword] = useState(false);\n const [onlineActivation, setOnlineActivation] = useState(true);\n const [loading, setLoading] = useState(false);\n const [loadingLicenseInfo, setLoadingLicenseInfo] = useState(false);\n const [clusterRegistered, setClusterRegistered] = useState(false);\n const [initialLicenseLoading, setInitialLicenseLoading] =\n useState(true);\n const [displaySubnetProxy, setDisplaySubnetProxy] = useState(false);\n\n const clearForm = () => {\n setSubnetAccessToken(\"\");\n setSelectedSubnetOrganization(\"\");\n setSubnetRegToken(\"\");\n setShowPassword(false);\n setOnlineActivation(true);\n setSubnetOrganizations([]);\n setLicense(\"\");\n setSubnetPassword(\"\");\n setSubnetEmail(\"\");\n setSubnetMFAToken(\"\");\n setSubnetOTP(\"\");\n };\n\n const getSubnetInfo = hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.LICENSE],\n true\n );\n\n const fetchLicenseInfo = useCallback(() => {\n if (loadingLicenseInfo) {\n return;\n }\n if (getSubnetInfo) {\n setLoadingLicenseInfo(true);\n api\n .invoke(\"GET\", `/api/v1/subnet/info`)\n .then((res: SubnetInfo) => {\n setClusterRegistered(true);\n setLoadingLicenseInfo(false);\n })\n .catch((err: ErrorResponseHandler) => {\n if (err.errorMessage !== \"License not found\") {\n displayErrorMessage(err);\n }\n setClusterRegistered(false);\n setLoadingLicenseInfo(false);\n });\n } else {\n setLoadingLicenseInfo(false);\n }\n }, [loadingLicenseInfo, getSubnetInfo, displayErrorMessage]);\n\n const fetchSubnetRegToken = () => {\n if (loading || subnetRegToken) {\n return;\n }\n setLoading(true);\n api\n .invoke(\"GET\", \"/api/v1/subnet/registration-token\")\n .then((resp: SubnetRegTokenResponse) => {\n setLoading(false);\n if (resp && resp.regToken) {\n setSubnetRegToken(resp.regToken);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n console.log(err);\n displayErrorMessage(err);\n setLoading(false);\n });\n };\n\n const callRegister = (token: string, account_id: string) => {\n const request: SubnetRegisterRequest = {\n token: token,\n account_id: account_id,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/register\", request)\n .then(() => {\n setLoading(false);\n clearForm();\n fetchLicenseInfo();\n })\n .catch((err: ErrorResponseHandler) => {\n displayErrorMessage(err);\n setLoading(false);\n });\n };\n const subnetRegister = () => {\n if (loading) {\n return;\n }\n setLoading(true);\n if (subnetAccessToken && selectedSubnetOrganization) {\n callRegister(subnetAccessToken, selectedSubnetOrganization);\n }\n };\n\n const subnetLoginWithMFA = () => {\n if (loading) {\n return;\n }\n setLoading(true);\n const request: SubnetLoginWithMFARequest = {\n username: subnetEmail,\n otp: subnetOTP,\n mfa_token: subnetMFAToken,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/login/mfa\", request)\n .then((resp: SubnetLoginResponse) => {\n setLoading(false);\n if (resp && resp.access_token && resp.organizations.length > 0) {\n if (resp.organizations.length === 1) {\n callRegister(\n resp.access_token,\n resp.organizations[0].accountId.toString()\n );\n } else {\n setSubnetAccessToken(resp.access_token);\n setSubnetOrganizations(resp.organizations);\n setSelectedSubnetOrganization(\n resp.organizations[0].accountId.toString()\n );\n }\n }\n })\n .catch((err: ErrorResponseHandler) => {\n displayErrorMessage(err);\n setLoading(false);\n setSubnetOTP(\"\");\n });\n };\n\n const subnetLogin = () => {\n if (loading) {\n return;\n }\n setLoading(true);\n let request: SubnetLoginRequest = {\n username: subnetEmail,\n password: subnetPassword,\n apiKey: license,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/login\", request)\n .then((resp: SubnetLoginResponse) => {\n setLoading(false);\n if (resp && resp.registered) {\n clearForm();\n fetchLicenseInfo();\n } else if (resp && resp.mfa_token) {\n setSubnetMFAToken(resp.mfa_token);\n } else if (resp && resp.access_token && resp.organizations.length > 0) {\n setSubnetAccessToken(resp.access_token);\n setSubnetOrganizations(resp.organizations);\n setSelectedSubnetOrganization(\n resp.organizations[0].accountId.toString()\n );\n }\n })\n .catch((err: ErrorResponseHandler) => {\n displayErrorMessage(err);\n setLoading(false);\n clearForm();\n });\n };\n\n useEffect(() => {\n if (initialLicenseLoading) {\n fetchLicenseInfo();\n setInitialLicenseLoading(false);\n }\n }, [fetchLicenseInfo, initialLicenseLoading, setInitialLicenseLoading]);\n\n const formTitle = onlineActivation ? (\n \n }\n title={`Register with MinIO Subscription Network`}\n />\n \n ) : (\n \n }\n title={` Offline Activation of SUBNET License`}\n />\n \n );\n\n let clusterRegistrationForm: JSX.Element;\n\n if (onlineActivation) {\n if (subnetAccessToken && subnetOrganizations.length > 0) {\n clusterRegistrationForm = (\n \n \n \n \n \n \n \n setSelectedSubnetOrganization(e.target.value as string)\n }\n label=\"Select an organization\"\n value={selectedSubnetOrganization}\n options={subnetOrganizations.map((organization) => ({\n label: organization.company,\n value: organization.accountId.toString(),\n }))}\n />\n \n subnetRegister()}\n disabled={loading || subnetAccessToken.trim().length === 0}\n variant=\"contained\"\n >\n Register\n \n \n \n \n \n \n );\n } else if (subnetMFAToken) {\n clusterRegistrationForm = (\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 subnetLoginWithMFA()}\n disabled={\n loading ||\n subnetOTP.trim().length === 0 ||\n subnetMFAToken.trim().length === 0\n }\n variant=\"contained\"\n >\n Verify\n \n \n \n\n \n \n );\n } else {\n clusterRegistrationForm = (\n \n \n \n Use your MinIO Subscription Network login credentials to register\n this cluster.\n \n \n ) =>\n setSubnetEmail(event.target.value)\n }\n label=\"Email\"\n value={subnetEmail}\n overlayIcon={}\n />\n ) =>\n setSubnetPassword(event.target.value)\n }\n label=\"Password\"\n type={showPassword ? \"text\" : \"password\"}\n value={subnetPassword}\n overlayIcon={\n showPassword ? : \n }\n overlayAction={() => setShowPassword(!showPassword)}\n />\n\n \n {\n e.preventDefault();\n window.open(\n `https://min.io/signup?ref=${\n operatorMode ? \"op\" : \"con\"\n }`,\n \"_blank\"\n );\n }}\n >\n Sign up\n \n subnetLogin()}\n >\n Register\n \n \n \n \n \n \n );\n }\n } else {\n clusterRegistrationForm = (\n \n \n \n \n
1
{\" \"}\n
\n Copy the following registration token\n
\n
\n\n \n {}}\n value={subnetRegToken}\n overlayIcon={}\n extraInputProps={{\n readOnly: true,\n }}\n overlayAction={() =>\n navigator.clipboard.writeText(subnetRegToken)\n }\n />\n
\n \n\n \n \n
2
\n
\n Navigate to SUBNET and register your cluster\n
\n
\n\n \n \n https://subnet.min.io/cluster/register\n \n
\n \n\n \n \n
3
{\" \"}\n
\n Enter the API key generated by SUBNET\n
\n
\n\n \n ) =>\n setLicense(event.target.value)\n }\n id=\"api-key\"\n name=\"api-key\"\n placeholder=\"\"\n label=\"\"\n type=\"text\"\n />\n \n \n\n \n subnetLogin()}\n disabled={loading || license.trim().length === 0}\n >\n Register\n \n \n \n\n \n \n );\n }\n\n const proxyConfigurationCommand =\n \"mc admin config set {alias} subnet proxy={proxy}\";\n\n return (\n \n \n \n \n {clusterRegistered && }\n\n {!onlineActivation ? (\n \n \n setOnlineActivation(!onlineActivation)}\n >\n Back to Online Activation\n \n \n ) : null}\n\n {formTitle}\n\n {clusterRegistrationForm}\n \n\n {onlineActivation && (\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 Cluster does not have internet\n access? Use{\" \"}\n \n \n {\n fetchSubnetRegToken();\n setOnlineActivation(!onlineActivation);\n }}\n >\n Offline Activation.\n \n \n \n
\n )}\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n operatorMode: state.system.operatorMode,\n});\n\nconst connector = connect(mapState, {\n displayErrorMessage: setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(Register));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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, Router, Switch } from \"react-router-dom\";\nimport history from \"../../../history\";\nimport NotFoundPage from \"../../NotFoundPage\";\nimport ToolsList from \"./ToolsPanel/ToolsList\";\nimport Register from \"../Support/Register\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport FeatureNotAvailablePage from \"../Common/Components/FeatureNotAvailablePage\";\nimport { SupportMenuIcon } from \"../../../icons/SidebarMenus\";\n\nconst Tools = () => {\n return (\n \n \n \n \n {\n return (\n }\n pageHeaderText={\"Support\"}\n title={\"Call Home\"}\n message={
This feature is currently not available.
}\n />\n );\n }}\n />\n {\n return (\n }\n pageHeaderText={\"Support\"}\n title={\"Inspect\"}\n message={
This feature is currently not available.
}\n />\n );\n }}\n />\n {\n return (\n }\n pageHeaderText={\"Support\"}\n title={\"Profile\"}\n message={
This feature is currently not available.
}\n />\n );\n }}\n />\n \n
\n
\n );\n};\n\nexport default Tools;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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"],"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","message","Grid","HelpBox","Box","sx","flexFlow","md","color","colors","link","textDecoration","pageHeaderText","icon","PageHeader","label","PageLayout","StyledSwitch","padding","margin","switchBase","transform","palette","common","white","boxShadow","opacity","thumb","marginLeft","track","transition","transitions","create","checked","focusVisible","switchContainer","justifyContent","Switch","divContainer","indicatorLabelOn","indicatorLabel","fieldDescription","marginTop","tooltip","actionsTray","fieldBasic","onChange","value","id","name","disabled","switchOnly","description","indicatorLabels","switchComponent","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","sm","htmlFor","inputLabel","tooltipContainer","placement","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","onClick","size","SelectStyled","lineHeight","spacing","input","borderColor","InputBase","fieldContainer","options","map","option","pageContentStyles","children","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","labelStyle","rightMenu","logo","fill","primary","main","middleComponent","actions","direction","variant","registeredStatus","verticalAlign","configurationLink","overflow","textOverflow","lineClamp","cursor","configuration","prefix","to","configuration_id","configuration_label","features","console","session","settingsOptionsContainer","flexDirection","flexWrap","searchField","containerForHeader","configurationElements","hasPermission","CONSOLE_UI_RESOURCE","IAM_PAGES_PERMISSIONS","IAM_PAGES","Fragment","element","FormTitle","RegisterHelpBox","flex","FeatureItem","style","fontStyle","displayErrorMessage","setErrorSnackMessage","loading","buttons","gap","localMessage","headerStyle","registerActivationIcon","registerActivationMode","subnetDescription","Font","letterSpacing","offlineRegisterButton","copyInputBox","smallBoxy","sizedLabel","minWidth","spacingUtils","useState","license","setLicense","subnetPassword","setSubnetPassword","subnetEmail","setSubnetEmail","subnetMFAToken","setSubnetMFAToken","subnetOTP","setSubnetOTP","subnetAccessToken","setSubnetAccessToken","selectedSubnetOrganization","setSelectedSubnetOrganization","subnetRegToken","setSubnetRegToken","subnetOrganizations","setSubnetOrganizations","showPassword","setShowPassword","onlineActivation","setOnlineActivation","setLoading","loadingLicenseInfo","setLoadingLicenseInfo","clusterRegistered","setClusterRegistered","initialLicenseLoading","setInitialLicenseLoading","displaySubnetProxy","setDisplaySubnetProxy","clearForm","getSubnetInfo","fetchLicenseInfo","useCallback","api","then","res","catch","err","errorMessage","callRegister","token","account_id","request","subnetLogin","username","password","apiKey","resp","registered","mfa_token","access_token","organizations","accountId","toString","useEffect","clusterRegistrationForm","formTitle","OnlineRegistrationIcon","OfflineRegistrationIcon","SelectWrapper","e","target","organization","company","Button","button","trim","InputBoxWrapper","LockOutlined","event","otp","subnetLoginWithMFA","spacerBottom","VisibilityOff","RemoveRedEye","spacerRight","preventDefault","window","open","background","readOnly","navigator","clipboard","writeText","Link","href","proxyConfigurationCommand","RegisterStatus","OnlineRegistrationBackIcon","SettingsIcon","FormSwitchWrapper","OfflineRegistrationBackIcon","regToken","log","history","path","exact","ToolsList","Register","render","FeatureNotAvailablePage","NotFoundPage","Copyright","Typography","align","Date","getFullYear","mt"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3617.38600ea7.chunk.js b/portal-ui/build/static/js/3617.38600ea7.chunk.js deleted file mode 100644 index 830ad28f7..000000000 --- a/portal-ui/build/static/js/3617.38600ea7.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3617],{29316:function(e,t,n){n(50390);var o=n(6369),r=n(86509),a=n(4285),i=n(11387),l=n(62559);t.Z=(0,a.Z)((function(e){return(0,r.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var t=e.to,n=e.label,r=e.classes,a=e.className,s=e.executeOnClick;return(0,l.jsxs)(o.rU,{to:t,className:"".concat(r.link," ").concat(a||""),onClick:function(){s&&s()},children:[(0,l.jsx)("div",{className:r.icon,children:(0,l.jsx)(i.xN,{})}),(0,l.jsx)("div",{className:r.label,children:n})]})}))},37882:function(e,t,n){var o=n(18489),r=n(50390),a=n(62559);t.Z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function n(n){return(0,a.jsx)(r.Suspense,{fallback:t,children:(0,a.jsx)(e,(0,o.Z)({},n))})}return n}},25534:function(e,t,n){var o=n(18489),r=(n(50390),n(25594)),a=n(86509),i=n(4285),l=n(72462),s=n(62559);t.Z=(0,i.Z)((function(e){return(0,a.Z)((0,o.Z)({},l.Bw))}))((function(e){var t=e.classes,n=e.className,o=void 0===n?"":n,a=e.children;return(0,s.jsx)("div",{className:t.contentSpacer,children:(0,s.jsx)(r.ZP,{container:!0,children:(0,s.jsx)(r.ZP,{item:!0,xs:12,className:o,children:a})})})}))},35721:function(e,t,n){n(50390);var o=n(34424),r=n(25594),a=n(86509),i=n(4285),l=n(35477),s=n(95467),c=n(26805),d=n(44078),p=n(5265),m=n(11387),u=n(62559),g={toggleList:p.kQ},f=(0,o.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),g);t.Z=f((0,i.Z)((function(e){return(0,a.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,o=e.actions,a=e.sidebarOpen,i=e.operatorMode,p=e.managerObjects,g=e.toggleList,f=e.middleComponent;return(0,u.jsxs)(r.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,u.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!a&&(0,u.jsx)("div",{className:t.logo,children:i?(0,u.jsx)(c.Z,{}):(0,u.jsx)(d.Z,{})}),(0,u.jsx)(l.Z,{variant:"h4",className:t.labelStyle,children:n})]}),f&&(0,u.jsx)(r.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,u.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:t.rightMenu,children:[o&&o,p&&p.length>0&&(0,u.jsx)(s.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){g()},size:"large",children:(0,u.jsx)(m.gx,{})})]})]})})))},73617:function(e,t,n){n.r(t);var o=n(23430),r=n(18489),a=n(50390),i=n(34424),l=n(38342),s=n.n(l),c=n(25594),d=n(86509),p=n(4285),m=n(66946),u=n(30324),g=n(44149),f=n(65433),h=n(72462),y=n(35721),b=n(24442),S=n(37882),v=n(29316),T=n(25534),x=n(49495),k=n(62559),E=(0,S.Z)(a.lazy((function(){return Promise.all([n.e(14),n.e(2066),n.e(892),n.e(9769),n.e(9056),n.e(2805)]).then(n.bind(n,62805))}))),N=(0,S.Z)(a.lazy((function(){return Promise.all([n.e(14),n.e(2066),n.e(892),n.e(9056),n.e(6873),n.e(3143)]).then(n.bind(n,96873))}))),A=(0,S.Z)(a.lazy((function(){return Promise.all([n.e(14),n.e(2066),n.e(892),n.e(9769),n.e(9056),n.e(428)]).then(n.bind(n,70428))}))),j={serverNeedsRestart:g.o8,setErrorSnackMessage:g.Ih},_=(0,i.$j)(null,j);t.default=_((0,p.Z)((function(e){return(0,d.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},h.oO),h.Je),{},{lambdaNotif:{background:"linear-gradient(90deg, rgba(249,249,250,1) 0%, rgba(250,250,251,1) 68%, rgba(254,254,254,1) 100%)",border:"#E5E5E5 1px solid",borderRadius:5,height:80,display:"flex",alignItems:"center",justifyContent:"start",marginBottom:16,cursor:"pointer",padding:0,overflow:"hidden"},lambdaNotifIcon:{backgroundColor:"#FEFEFE",display:"flex",alignItems:"center",justifyContent:"center",width:80,height:80,"& img":{maxWidth:46,maxHeight:46}},lambdaNotifTitle:{color:"#07193E",fontSize:16,fontFamily:"Lato,sans-serif",paddingLeft:18},formBox:{border:"1px solid #EAEAEA",padding:15}}))}))((function(e){var t=e.match,n=e.saveAndRefresh,r=e.serverNeedsRestart,i=e.classes,l=e.setErrorSnackMessage,d=(0,a.useState)([]),p=(0,o.Z)(d,2),g=p[0],h=p[1],S=(0,a.useState)(!1),j=(0,o.Z)(S,2),_=j[0],L=j[1],C=t.params.service;(0,a.useEffect)((function(){if(_){var e={key_values:(0,f.DD)(g)};u.Z.invoke("PUT","/api/v1/configs/".concat(C),e).then((function(){L(!1),r(!0),b.Z.push(x.gA.NOTIFICATIONS_ENDPOINTS)})).catch((function(e){L(!1),l(e)}))}}),[_,r,C,g,n,l]);var Z,w=(0,a.useCallback)((function(e){h(e)}),[h]);switch(C){case f.ee:Z=(0,k.jsx)(A,{onChange:w});break;case f.dM:Z=(0,k.jsx)(E,{onChange:w});break;default:var q=s()(f.oj,C,[]);Z=(0,k.jsx)(N,{fields:q,onChange:w})}var P=f.BR.find((function(e){return e.actionTrigger===C}));return(0,k.jsxs)(a.Fragment,{children:[(0,k.jsx)(y.Z,{label:"Notifications"}),(0,k.jsx)(v.Z,{to:"/notification-endpoints/add",label:" Back To Supported Services"}),(0,k.jsx)(T.Z,{children:(0,k.jsx)("form",{noValidate:!0,onSubmit:function(e){e.preventDefault(),L(!0)},children:""!==C&&(0,k.jsxs)(a.Fragment,{children:[(0,k.jsx)(c.ZP,{item:!0,xs:12,children:P&&(0,k.jsxs)("div",{className:i.lambdaNotif,children:[(0,k.jsx)("div",{className:i.lambdaNotifIcon,children:(0,k.jsx)("img",{src:P.logo,className:i.logoButton,alt:P.targetTitle})}),(0,k.jsx)("div",{className:i.lambdaNotifTitle,children:(0,k.jsxs)("b",{children:[P?P.targetTitle:"","Notification Endpoint"]})})]},"icon-".concat(P.targetTitle))}),(0,k.jsxs)("div",{className:i.formBox,children:[(0,k.jsx)(c.ZP,{item:!0,xs:12,className:i.configForm,children:Z}),(0,k.jsx)(c.ZP,{item:!0,xs:12,className:i.settingsButtonContainer,children:(0,k.jsx)(m.Z,{type:"submit",variant:"contained",color:"primary",disabled:_,children:"Save Notification Target"})})]})]})})})]})})))},65433:function(e,t,n){n.d(t,{ee:function(){return a},dM:function(){return i},fk:function(){return f},BR:function(){return h},DD:function(){return b},oj:function(){return S}});var o,r=n(36222),a="notify_postgres",i="notify_mysql",l="notify_kafka",s="notify_amqp",c="notify_mqtt",d="notify_redis",p="notify_nats",m="notify_elasticsearch",u="notify_webhook",g="notify_nsq",f=function(e){return e.map((function(e){return{service_name:"".concat(e.service,":").concat(e.account_id),status:e.status}}))},h=[{actionTrigger:a,targetTitle:"Postgres SQL",logo:"/postgres-logo.svg"},{actionTrigger:l,targetTitle:"Kafka",logo:"/kafka-logo.svg"},{actionTrigger:s,targetTitle:"AMQP",logo:"/amqp-logo.svg"},{actionTrigger:c,targetTitle:"MQTT",logo:"/mqtt-logo.svg"},{actionTrigger:d,targetTitle:"Redis",logo:"/redis-logo.svg"},{actionTrigger:p,targetTitle:"NATS",logo:"/nats-logo.svg"},{actionTrigger:i,targetTitle:"Mysql",logo:"/mysql-logo.svg"},{actionTrigger:m,targetTitle:"Elastic Search",logo:"/elasticsearch-logo.svg"},{actionTrigger:u,targetTitle:"Webhook",logo:"/webhooks-logo.svg"},{actionTrigger:g,targetTitle:"NSQ",logo:"/nsq-logo.svg"}],y=[{name:"queue-dir",label:"Queue Directory",required:!0,tooltip:"staging dir for undelivered messages e.g. '/home/events'",type:"string",placeholder:"Enter Queue Directory"},{name:"queue-limit",label:"Queue Limit",required:!1,tooltip:"maximum limit for undelivered messages, defaults to '10000'",type:"number",placeholder:"Enter Queue Limit"},{name:"comment",label:"Comment",required:!1,type:"comment",placeholder:"Enter Comment"}],b=function(e){return e.filter((function(e){return""!==e.value}))},S=(o={},(0,r.Z)(o,l,[{name:"brokers",label:"Brokers",required:!0,tooltip:"Comma separated list of Kafka broker addresses",type:"string",placeholder:"Enter Brokers"},{name:"topic",label:"Topic",tooltip:"Kafka topic used for bucket notifications",type:"string",placeholder:"Enter Topic"},{name:"sasl_username",label:"SASL Username",tooltip:"Username for SASL/PLAIN or SASL/SCRAM authentication",type:"string",placeholder:"Enter SASL Username"},{name:"sasl_password",label:"SASL Password",tooltip:"Password for SASL/PLAIN or SASL/SCRAM authentication",type:"string",placeholder:"Enter SASL Password"},{name:"sasl_mechanism",label:"SASL Mechanism",tooltip:"SASL authentication mechanism, default 'PLAIN'",type:"string"},{name:"tls_client_auth",label:"TLS Client Auth",tooltip:"Client Auth determines the Kafka server's policy for TLS client auth",type:"string",placeholder:"Enter TLS Client Auth"},{name:"sasl",label:"SASL",tooltip:"Set to 'on' to enable SASL authentication",type:"on|off"},{name:"tls",label:"TLS",tooltip:"Set to 'on' to enable TLS",type:"on|off"},{name:"tls_skip_verify",label:"TLS skip verify",tooltip:'Trust server TLS without verification, defaults to "on" (verify)',type:"on|off"},{name:"client_tls_cert",label:"client TLS cert",tooltip:"Path to client certificate for mTLS auth",type:"path",placeholder:"Enter TLS Client Cert"},{name:"client_tls_key",label:"client TLS key",tooltip:"Path to client key for mTLS auth",type:"path",placeholder:"Enter TLS Client Key"},{name:"version",label:"Version",tooltip:"Specify the version of the Kafka cluster e.g '2.2.0'",type:"string",placeholder:"Enter Kafka Version"}].concat(y)),(0,r.Z)(o,s,[{name:"url",required:!0,label:"URL",tooltip:"AMQP server endpoint e.g. `amqp://myuser:mypassword@localhost:5672`",type:"url"},{name:"exchange",label:"Exchange",tooltip:"Name of the AMQP exchange",type:"string",placeholder:"Enter Exchange"},{name:"exchange_type",label:"Exchange Type",tooltip:"AMQP exchange type",type:"string",placeholder:"Enter Exchange Type"},{name:"routing_key",label:"Routing Key",tooltip:"Routing key for publishing",type:"string",placeholder:"Enter Routing Key"},{name:"mandatory",label:"Mandatory",tooltip:"Quietly ignore undelivered messages when set to 'off', default is 'on'",type:"on|off"},{name:"durable",label:"Durable",tooltip:"Persist queue across broker restarts when set to 'on', default is 'off'",type:"on|off"},{name:"no_wait",label:"No Wait",tooltip:"Non-blocking message delivery when set to 'on', default is 'off'",type:"on|off"},{name:"internal",label:"Internal",tooltip:"Set to 'on' for exchange to be not used directly by publishers, but only when bound to other exchanges",type:"on|off"},{name:"auto_deleted",label:"Auto Deleted",tooltip:"Auto delete queue when set to 'on', when there are no consumers",type:"on|off"},{name:"delivery_mode",label:"Delivery Mode",tooltip:"Set to '1' for non-persistent or '2' for persistent queue",type:"number",placeholder:"Enter Delivery Mode"}].concat(y)),(0,r.Z)(o,d,[{name:"address",required:!0,label:"Address",tooltip:"Redis server's address. For example: `localhost:6379`",type:"address",placeholder:"Enter Address"},{name:"key",required:!0,label:"Key",tooltip:"Redis key to store/update events, key is auto-created",type:"string",placeholder:"Enter Key"},{name:"password",label:"Password",tooltip:"Redis server password",type:"string",placeholder:"Enter Password"}].concat(y)),(0,r.Z)(o,c,[{name:"broker",required:!0,label:"Broker",tooltip:"MQTT server endpoint e.g. `tcp://localhost:1883`",type:"uri",placeholder:"Enter Brokers"},{name:"topic",required:!0,label:"Topic",tooltip:"name of the MQTT topic to publish",type:"string",placeholder:"Enter Topic"},{name:"username",label:"Username",tooltip:"MQTT username",type:"string",placeholder:"Enter Username"},{name:"password",label:"Password",tooltip:"MQTT password",type:"string",placeholder:"Enter Password"},{name:"qos",label:"QOS",tooltip:"Set the quality of service priority, defaults to '0'",type:"number",placeholder:"Enter QOS"},{name:"keep_alive_interval",label:"Keep Alive Interval",tooltip:"Keep-alive interval for MQTT connections in s,m,h,d",type:"duration",placeholder:"Enter Keep Alive Internal"},{name:"reconnect_interval",label:"Reconnect Interval",tooltip:"Reconnect interval for MQTT connections in s,m,h,d",type:"duration",placeholder:"Enter Reconnect Interval"}].concat(y)),(0,r.Z)(o,p,[{name:"address",required:!0,label:"Address",tooltip:"NATS server address e.g. '0.0.0.0:4222'",type:"address",placeholder:"Enter Address"},{name:"subject",required:!0,label:"Subject",tooltip:"NATS subscription subject",type:"string",placeholder:"Enter NATS Subject"},{name:"username",label:"Username",tooltip:"NATS username",type:"string",placeholder:"Enter NATS Username"},{name:"password",label:"Password",tooltip:"NATS password",type:"string",placeholder:"Enter NATS password"},{name:"token",label:"Token",tooltip:"NATS token",type:"string",placeholder:"Enter NATS token"},{name:"tls",label:"TLS",tooltip:"Set to 'on' to enable TLS",type:"on|off"},{name:"tls_skip_verify",label:"TLS Skip Verify",tooltip:'Trust server TLS without verification, defaults to "on" (verify)',type:"on|off"},{name:"ping_interval",label:"Ping Interval",tooltip:"Client ping commands interval in s,m,h,d. Disabled by default",type:"duration",placeholder:"Enter Ping Interval"},{name:"streaming",label:"Streaming",tooltip:"Set to 'on', to use streaming NATS server",type:"on|off"},{name:"streaming_async",label:"Streaming async",tooltip:"Set to 'on', to enable asynchronous publish",type:"on|off"},{name:"streaming_max_pub_acks_in_flight",label:"Streaming max publish ACKS in flight",tooltip:"Number of messages to publish without waiting for ACKs",type:"number",placeholder:"Enter Streaming in flight value"},{name:"streaming_cluster_id",label:"Streaming Cluster ID",tooltip:"Unique ID for NATS streaming cluster",type:"string",placeholder:"Enter Streaming Cluster ID"},{name:"cert_authority",label:"Cert Authority",tooltip:"Path to certificate chain of the target NATS server",type:"string",placeholder:"Enter Cert Authority"},{name:"client_cert",label:"Client Cert",tooltip:"Client cert for NATS mTLS auth",type:"string",placeholder:"Enter Client Cert"},{name:"client_key",label:"Client Key",tooltip:"Client cert key for NATS mTLS auth",type:"string",placeholder:"Enter Client Key"}].concat(y)),(0,r.Z)(o,m,[{name:"url",required:!0,label:"URL",tooltip:"Elasticsearch server's address, with optional authentication info",type:"url",placeholder:"Enter URL"},{name:"index",required:!0,label:"Index",tooltip:"Elasticsearch index to store/update events, index is auto-created",type:"string",placeholder:"Enter Index"},{name:"format",required:!0,label:"Format",tooltip:"'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'",type:"enum",placeholder:"Enter Format"}].concat(y)),(0,r.Z)(o,u,[{name:"endpoint",required:!0,label:"Endpoint",tooltip:"webhook server endpoint e.g. http://localhost:8080/minio/events",type:"url",placeholder:"Enter Endpoint"},{name:"auth_token",label:"Auth Token",tooltip:"opaque string or JWT authorization token",type:"string",placeholder:"Enter auth_token"}].concat(y)),(0,r.Z)(o,g,[{name:"nsqd_address",required:!0,label:"NSQD Address",tooltip:"NSQ server address e.g. '127.0.0.1:4150'",type:"address",placeholder:"Enter nsqd_address"},{name:"topic",required:!0,label:"Topic",tooltip:"NSQ topic",type:"string",placeholder:"Enter Topic"},{name:"tls",label:"TLS",tooltip:"set to 'on' to enable TLS",type:"on|off"},{name:"tls_skip_verify",label:"TLS Skip Verify",tooltip:'trust server TLS without verification, defaults to "on" (verify)',type:"on|off"}].concat(y)),o)}}]); -//# sourceMappingURL=3617.38600ea7.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3617.38600ea7.chunk.js.map b/portal-ui/build/static/js/3617.38600ea7.chunk.js.map deleted file mode 100644 index 720891155..000000000 --- a/portal-ui/build/static/js/3617.38600ea7.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/3617.38600ea7.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/NotificationEndpoints/AddNotificationEndpoint.tsx","screens/Console/NotificationEndpoints/utils.ts"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({ to, label, classes, className, executeOnClick }: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n

\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\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 { Button } from \"@mui/material\";\n\nimport api from \"../../../common/api\";\nimport { serverNeedsRestart, setErrorSnackMessage } from \"../../../actions\";\nimport {\n notificationEndpointsFields,\n notifyMysql,\n notifyPostgres,\n removeEmptyFields,\n} from \"./utils\";\nimport {\n modalBasic,\n settingsCommon,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { servicesList } from \"./utils\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\n\nimport { IElementValue } from \"../Configurations/types\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport history from \"../../../history\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport BackLink from \"../../../common/BackLink\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\n\nconst ConfMySql = withSuspense(\n React.lazy(() => import(\"./CustomForms/ConfMySql\"))\n);\n\nconst ConfTargetGeneric = withSuspense(\n React.lazy(() => import(\"./ConfTargetGeneric\"))\n);\n\nconst ConfPostgres = withSuspense(\n React.lazy(() => import(\"./CustomForms/ConfPostgres\"))\n);\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n ...settingsCommon,\n lambdaNotif: {\n background:\n \"linear-gradient(90deg, rgba(249,249,250,1) 0%, rgba(250,250,251,1) 68%, rgba(254,254,254,1) 100%)\",\n border: \"#E5E5E5 1px solid\",\n borderRadius: 5,\n height: 80,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"start\",\n marginBottom: 16,\n cursor: \"pointer\",\n padding: 0,\n overflow: \"hidden\",\n },\n lambdaNotifIcon: {\n backgroundColor: \"#FEFEFE\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: 80,\n height: 80,\n\n \"& img\": {\n maxWidth: 46,\n maxHeight: 46,\n },\n },\n lambdaNotifTitle: {\n color: \"#07193E\",\n fontSize: 16,\n fontFamily: \"Lato,sans-serif\",\n paddingLeft: 18,\n },\n formBox: {\n border: \"1px solid #EAEAEA\",\n padding: 15,\n },\n });\n\ninterface IAddNotificationEndpointProps {\n match: any;\n saveAndRefresh: any;\n serverNeedsRestart: typeof serverNeedsRestart;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n classes: any;\n}\n\nconst AddNotificationEndpoint = ({\n match,\n saveAndRefresh,\n serverNeedsRestart,\n classes,\n setErrorSnackMessage,\n}: IAddNotificationEndpointProps) => {\n //Local States\n const [valuesArr, setValueArr] = useState([]);\n const [saving, setSaving] = useState(false);\n const service = match.params[\"service\"];\n //Effects\n\n useEffect(() => {\n if (saving) {\n const payload = {\n key_values: removeEmptyFields(valuesArr),\n };\n api\n .invoke(\"PUT\", `/api/v1/configs/${service}`, payload)\n .then(() => {\n setSaving(false);\n serverNeedsRestart(true);\n history.push(IAM_PAGES.NOTIFICATIONS_ENDPOINTS);\n })\n .catch((err: ErrorResponseHandler) => {\n setSaving(false);\n setErrorSnackMessage(err);\n });\n }\n }, [\n saving,\n serverNeedsRestart,\n service,\n valuesArr,\n saveAndRefresh,\n setErrorSnackMessage,\n ]);\n\n //Fetch Actions\n const submitForm = (event: React.FormEvent) => {\n event.preventDefault();\n setSaving(true);\n };\n\n const onValueChange = useCallback(\n (newValue) => {\n setValueArr(newValue);\n },\n [setValueArr]\n );\n\n let srvComponent;\n switch (service) {\n case notifyPostgres: {\n srvComponent = ;\n break;\n }\n case notifyMysql: {\n srvComponent = ;\n break;\n }\n default: {\n const fields = get(notificationEndpointsFields, service, []);\n\n srvComponent = (\n \n );\n }\n }\n\n const targetElement = servicesList.find(\n (element) => element.actionTrigger === service\n );\n\n return (\n \n \n \n\n \n
\n {service !== \"\" && (\n \n \n {targetElement && (\n \n
\n \n
\n\n
\n \n {targetElement ? targetElement.targetTitle : \"\"}\n Notification Endpoint\n \n
\n \n )}\n
\n
\n \n {srvComponent}\n \n \n \n Save Notification Target\n \n \n
\n
\n )}\n
\n
\n
\n );\n};\n\nconst mapDispatchToProps = {\n serverNeedsRestart,\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(AddNotificationEndpoint));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { NotificationEndpointItem } from \"./types\";\n\nimport { IElementValue } from \"../Configurations/types\";\n\nexport const notifyPostgres = \"notify_postgres\";\nexport const notifyMysql = \"notify_mysql\";\nexport const notifyKafka = \"notify_kafka\";\nexport const notifyAmqp = \"notify_amqp\";\nexport const notifyMqtt = \"notify_mqtt\";\nexport const notifyRedis = \"notify_redis\";\nexport const notifyNats = \"notify_nats\";\nexport const notifyElasticsearch = \"notify_elasticsearch\";\nexport const notifyWebhooks = \"notify_webhook\";\nexport const notifyNsq = \"notify_nsq\";\n\nexport const notificationTransform = (\n notificationElements: NotificationEndpointItem[]\n) => {\n return notificationElements.map((element) => {\n return {\n service_name: `${element.service}:${element.account_id}`,\n status: element.status,\n };\n });\n};\n\nexport const servicesList = [\n {\n actionTrigger: notifyPostgres,\n targetTitle: \"Postgres SQL\",\n logo: \"/postgres-logo.svg\",\n },\n {\n actionTrigger: notifyKafka,\n targetTitle: \"Kafka\",\n logo: \"/kafka-logo.svg\",\n },\n {\n actionTrigger: notifyAmqp,\n targetTitle: \"AMQP\",\n logo: \"/amqp-logo.svg\",\n },\n {\n actionTrigger: notifyMqtt,\n targetTitle: \"MQTT\",\n logo: \"/mqtt-logo.svg\",\n },\n {\n actionTrigger: notifyRedis,\n targetTitle: \"Redis\",\n logo: \"/redis-logo.svg\",\n },\n {\n actionTrigger: notifyNats,\n targetTitle: \"NATS\",\n logo: \"/nats-logo.svg\",\n },\n {\n actionTrigger: notifyMysql,\n targetTitle: \"Mysql\",\n logo: \"/mysql-logo.svg\",\n },\n {\n actionTrigger: notifyElasticsearch,\n targetTitle: \"Elastic Search\",\n logo: \"/elasticsearch-logo.svg\",\n },\n {\n actionTrigger: notifyWebhooks,\n targetTitle: \"Webhook\",\n logo: \"/webhooks-logo.svg\",\n },\n {\n actionTrigger: notifyNsq,\n targetTitle: \"NSQ\",\n logo: \"/nsq-logo.svg\",\n },\n];\n\nconst commonFields = [\n {\n name: \"queue-dir\",\n label: \"Queue Directory\",\n required: true,\n\n tooltip: \"staging dir for undelivered messages e.g. '/home/events'\",\n type: \"string\",\n placeholder: \"Enter Queue Directory\",\n },\n {\n name: \"queue-limit\",\n label: \"Queue Limit\",\n required: false,\n\n tooltip: \"maximum limit for undelivered messages, defaults to '10000'\",\n type: \"number\",\n placeholder: \"Enter Queue Limit\",\n },\n {\n name: \"comment\",\n label: \"Comment\",\n required: false,\n type: \"comment\",\n placeholder: \"Enter Comment\",\n },\n];\n\nexport const removeEmptyFields = (formFields: IElementValue[]) => {\n const nonEmptyFields = formFields.filter((field) => field.value !== \"\");\n\n return nonEmptyFields;\n};\n\nexport const notificationEndpointsFields: any = {\n [notifyKafka]: [\n {\n name: \"brokers\",\n label: \"Brokers\",\n required: true,\n\n tooltip: \"Comma separated list of Kafka broker addresses\",\n type: \"string\",\n placeholder: \"Enter Brokers\",\n },\n {\n name: \"topic\",\n label: \"Topic\",\n tooltip: \"Kafka topic used for bucket notifications\",\n type: \"string\",\n placeholder: \"Enter Topic\",\n },\n {\n name: \"sasl_username\",\n label: \"SASL Username\",\n tooltip: \"Username for SASL/PLAIN or SASL/SCRAM authentication\",\n type: \"string\",\n placeholder: \"Enter SASL Username\",\n },\n {\n name: \"sasl_password\",\n label: \"SASL Password\",\n tooltip: \"Password for SASL/PLAIN or SASL/SCRAM authentication\",\n type: \"string\",\n placeholder: \"Enter SASL Password\",\n },\n {\n name: \"sasl_mechanism\",\n label: \"SASL Mechanism\",\n tooltip: \"SASL authentication mechanism, default 'PLAIN'\",\n type: \"string\",\n },\n {\n name: \"tls_client_auth\",\n label: \"TLS Client Auth\",\n tooltip:\n \"Client Auth determines the Kafka server's policy for TLS client auth\",\n type: \"string\",\n placeholder: \"Enter TLS Client Auth\",\n },\n {\n name: \"sasl\",\n label: \"SASL\",\n tooltip: \"Set to 'on' to enable SASL authentication\",\n type: \"on|off\",\n },\n {\n name: \"tls\",\n label: \"TLS\",\n tooltip: \"Set to 'on' to enable TLS\",\n type: \"on|off\",\n },\n {\n name: \"tls_skip_verify\",\n label: \"TLS skip verify\",\n tooltip:\n 'Trust server TLS without verification, defaults to \"on\" (verify)',\n type: \"on|off\",\n },\n {\n name: \"client_tls_cert\",\n label: \"client TLS cert\",\n tooltip: \"Path to client certificate for mTLS auth\",\n type: \"path\",\n placeholder: \"Enter TLS Client Cert\",\n },\n {\n name: \"client_tls_key\",\n label: \"client TLS key\",\n tooltip: \"Path to client key for mTLS auth\",\n type: \"path\",\n placeholder: \"Enter TLS Client Key\",\n },\n {\n name: \"version\",\n label: \"Version\",\n tooltip: \"Specify the version of the Kafka cluster e.g '2.2.0'\",\n type: \"string\",\n placeholder: \"Enter Kafka Version\",\n },\n ...commonFields,\n ],\n [notifyAmqp]: [\n {\n name: \"url\",\n required: true,\n label: \"URL\",\n tooltip:\n \"AMQP server endpoint e.g. `amqp://myuser:mypassword@localhost:5672`\",\n type: \"url\",\n },\n {\n name: \"exchange\",\n label: \"Exchange\",\n tooltip: \"Name of the AMQP exchange\",\n type: \"string\",\n placeholder: \"Enter Exchange\",\n },\n {\n name: \"exchange_type\",\n label: \"Exchange Type\",\n tooltip: \"AMQP exchange type\",\n type: \"string\",\n placeholder: \"Enter Exchange Type\",\n },\n {\n name: \"routing_key\",\n label: \"Routing Key\",\n tooltip: \"Routing key for publishing\",\n type: \"string\",\n placeholder: \"Enter Routing Key\",\n },\n {\n name: \"mandatory\",\n label: \"Mandatory\",\n tooltip:\n \"Quietly ignore undelivered messages when set to 'off', default is 'on'\",\n type: \"on|off\",\n },\n {\n name: \"durable\",\n label: \"Durable\",\n tooltip:\n \"Persist queue across broker restarts when set to 'on', default is 'off'\",\n type: \"on|off\",\n },\n {\n name: \"no_wait\",\n label: \"No Wait\",\n tooltip:\n \"Non-blocking message delivery when set to 'on', default is 'off'\",\n type: \"on|off\",\n },\n {\n name: \"internal\",\n label: \"Internal\",\n tooltip:\n \"Set to 'on' for exchange to be not used directly by publishers, but only when bound to other exchanges\",\n type: \"on|off\",\n },\n {\n name: \"auto_deleted\",\n label: \"Auto Deleted\",\n tooltip:\n \"Auto delete queue when set to 'on', when there are no consumers\",\n type: \"on|off\",\n },\n {\n name: \"delivery_mode\",\n label: \"Delivery Mode\",\n tooltip: \"Set to '1' for non-persistent or '2' for persistent queue\",\n type: \"number\",\n placeholder: \"Enter Delivery Mode\",\n },\n ...commonFields,\n ],\n [notifyRedis]: [\n {\n name: \"address\",\n required: true,\n label: \"Address\",\n tooltip: \"Redis server's address. For example: `localhost:6379`\",\n type: \"address\",\n placeholder: \"Enter Address\",\n },\n {\n name: \"key\",\n required: true,\n label: \"Key\",\n tooltip: \"Redis key to store/update events, key is auto-created\",\n type: \"string\",\n placeholder: \"Enter Key\",\n },\n {\n name: \"password\",\n label: \"Password\",\n tooltip: \"Redis server password\",\n type: \"string\",\n placeholder: \"Enter Password\",\n },\n ...commonFields,\n ],\n [notifyMqtt]: [\n {\n name: \"broker\",\n required: true,\n label: \"Broker\",\n tooltip: \"MQTT server endpoint e.g. `tcp://localhost:1883`\",\n type: \"uri\",\n placeholder: \"Enter Brokers\",\n },\n {\n name: \"topic\",\n required: true,\n label: \"Topic\",\n tooltip: \"name of the MQTT topic to publish\",\n type: \"string\",\n placeholder: \"Enter Topic\",\n },\n {\n name: \"username\",\n label: \"Username\",\n tooltip: \"MQTT username\",\n type: \"string\",\n placeholder: \"Enter Username\",\n },\n {\n name: \"password\",\n label: \"Password\",\n tooltip: \"MQTT password\",\n type: \"string\",\n placeholder: \"Enter Password\",\n },\n {\n name: \"qos\",\n label: \"QOS\",\n tooltip: \"Set the quality of service priority, defaults to '0'\",\n type: \"number\",\n placeholder: \"Enter QOS\",\n },\n {\n name: \"keep_alive_interval\",\n label: \"Keep Alive Interval\",\n tooltip: \"Keep-alive interval for MQTT connections in s,m,h,d\",\n type: \"duration\",\n placeholder: \"Enter Keep Alive Internal\",\n },\n {\n name: \"reconnect_interval\",\n label: \"Reconnect Interval\",\n tooltip: \"Reconnect interval for MQTT connections in s,m,h,d\",\n type: \"duration\",\n placeholder: \"Enter Reconnect Interval\",\n },\n ...commonFields,\n ],\n [notifyNats]: [\n {\n name: \"address\",\n required: true,\n label: \"Address\",\n tooltip: \"NATS server address e.g. '0.0.0.0:4222'\",\n type: \"address\",\n placeholder: \"Enter Address\",\n },\n {\n name: \"subject\",\n required: true,\n label: \"Subject\",\n tooltip: \"NATS subscription subject\",\n type: \"string\",\n placeholder: \"Enter NATS Subject\",\n },\n {\n name: \"username\",\n label: \"Username\",\n tooltip: \"NATS username\",\n type: \"string\",\n placeholder: \"Enter NATS Username\",\n },\n {\n name: \"password\",\n label: \"Password\",\n tooltip: \"NATS password\",\n type: \"string\",\n placeholder: \"Enter NATS password\",\n },\n {\n name: \"token\",\n label: \"Token\",\n tooltip: \"NATS token\",\n type: \"string\",\n placeholder: \"Enter NATS token\",\n },\n {\n name: \"tls\",\n label: \"TLS\",\n tooltip: \"Set to 'on' to enable TLS\",\n type: \"on|off\",\n },\n {\n name: \"tls_skip_verify\",\n label: \"TLS Skip Verify\",\n tooltip:\n 'Trust server TLS without verification, defaults to \"on\" (verify)',\n type: \"on|off\",\n },\n {\n name: \"ping_interval\",\n label: \"Ping Interval\",\n tooltip: \"Client ping commands interval in s,m,h,d. Disabled by default\",\n type: \"duration\",\n placeholder: \"Enter Ping Interval\",\n },\n {\n name: \"streaming\",\n label: \"Streaming\",\n tooltip: \"Set to 'on', to use streaming NATS server\",\n type: \"on|off\",\n },\n {\n name: \"streaming_async\",\n label: \"Streaming async\",\n tooltip: \"Set to 'on', to enable asynchronous publish\",\n type: \"on|off\",\n },\n {\n name: \"streaming_max_pub_acks_in_flight\",\n label: \"Streaming max publish ACKS in flight\",\n tooltip: \"Number of messages to publish without waiting for ACKs\",\n type: \"number\",\n placeholder: \"Enter Streaming in flight value\",\n },\n {\n name: \"streaming_cluster_id\",\n label: \"Streaming Cluster ID\",\n tooltip: \"Unique ID for NATS streaming cluster\",\n type: \"string\",\n placeholder: \"Enter Streaming Cluster ID\",\n },\n {\n name: \"cert_authority\",\n label: \"Cert Authority\",\n tooltip: \"Path to certificate chain of the target NATS server\",\n type: \"string\",\n placeholder: \"Enter Cert Authority\",\n },\n {\n name: \"client_cert\",\n label: \"Client Cert\",\n tooltip: \"Client cert for NATS mTLS auth\",\n type: \"string\",\n placeholder: \"Enter Client Cert\",\n },\n {\n name: \"client_key\",\n label: \"Client Key\",\n tooltip: \"Client cert key for NATS mTLS auth\",\n type: \"string\",\n placeholder: \"Enter Client Key\",\n },\n ...commonFields,\n ],\n [notifyElasticsearch]: [\n {\n name: \"url\",\n required: true,\n label: \"URL\",\n tooltip:\n \"Elasticsearch server's address, with optional authentication info\",\n type: \"url\",\n placeholder: \"Enter URL\",\n },\n {\n name: \"index\",\n required: true,\n label: \"Index\",\n tooltip:\n \"Elasticsearch index to store/update events, index is auto-created\",\n type: \"string\",\n placeholder: \"Enter Index\",\n },\n {\n name: \"format\",\n required: true,\n label: \"Format\",\n tooltip:\n \"'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'\",\n type: \"enum\",\n placeholder: \"Enter Format\",\n },\n ...commonFields,\n ],\n [notifyWebhooks]: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n tooltip:\n \"webhook server endpoint e.g. http://localhost:8080/minio/events\",\n type: \"url\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n label: \"Auth Token\",\n tooltip: \"opaque string or JWT authorization token\",\n type: \"string\",\n placeholder: \"Enter auth_token\",\n },\n ...commonFields,\n ],\n [notifyNsq]: [\n {\n name: \"nsqd_address\",\n required: true,\n label: \"NSQD Address\",\n tooltip: \"NSQ server address e.g. '127.0.0.1:4150'\",\n type: \"address\",\n placeholder: \"Enter nsqd_address\",\n },\n {\n name: \"topic\",\n required: true,\n label: \"Topic\",\n tooltip: \"NSQ topic\",\n type: \"string\",\n placeholder: \"Enter Topic\",\n },\n {\n name: \"tls\",\n label: \"TLS\",\n tooltip: \"set to 'on' to enable TLS\",\n type: \"on|off\",\n },\n {\n name: \"tls_skip_verify\",\n label: \"TLS Skip Verify\",\n tooltip:\n 'trust server TLS without verification, defaults to \"on\" (verify)',\n type: \"on|off\",\n },\n ...commonFields,\n ],\n};\n"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","pageContentStyles","children","contentSpacer","container","item","xs","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","backgroundColor","left","boxShadow","labelStyle","fontWeight","marginLeft","marginTop","rightMenu","textAlign","logo","fill","main","middleComponent","actions","direction","sm","md","sx","paddingTop","variant","length","component","size","ConfMySql","withSuspense","React","ConfTargetGeneric","ConfPostgres","serverNeedsRestart","setErrorSnackMessage","modalBasic","settingsCommon","lambdaNotif","background","border","borderRadius","height","marginBottom","cursor","overflow","lambdaNotifIcon","maxHeight","lambdaNotifTitle","fontFamily","paddingLeft","formBox","match","saveAndRefresh","useState","valuesArr","setValueArr","saving","setSaving","service","params","useEffect","payload","key_values","removeEmptyFields","api","then","history","IAM_PAGES","catch","err","srvComponent","onValueChange","useCallback","newValue","notifyPostgres","onChange","notifyMysql","fields","get","notificationEndpointsFields","targetElement","servicesList","element","actionTrigger","Fragment","noValidate","onSubmit","event","preventDefault","src","logoButton","alt","targetTitle","configForm","settingsButtonContainer","type","disabled","notifyKafka","notifyAmqp","notifyMqtt","notifyRedis","notifyNats","notifyElasticsearch","notifyWebhooks","notifyNsq","notificationTransform","notificationElements","map","service_name","account_id","status","commonFields","name","required","tooltip","placeholder","formFields","filter","field","value"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3617.76ae117c.chunk.js b/portal-ui/build/static/js/3617.76ae117c.chunk.js new file mode 100644 index 000000000..54e5f9c64 --- /dev/null +++ b/portal-ui/build/static/js/3617.76ae117c.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3617],{29316:function(e,t,n){n(50390);var o=n(6369),r=n(86509),a=n(4285),i=n(98280),l=n(62559);t.Z=(0,a.Z)((function(e){return(0,r.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var t=e.to,n=e.label,r=e.classes,a=e.className,s=e.executeOnClick;return(0,l.jsxs)(o.rU,{to:t,className:"".concat(r.link," ").concat(a||""),onClick:function(){s&&s()},children:[(0,l.jsx)("div",{className:r.icon,children:(0,l.jsx)(i.xN,{})}),(0,l.jsx)("div",{className:r.label,children:n})]})}))},37882:function(e,t,n){var o=n(18489),r=n(50390),a=n(62559);t.Z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function n(n){return(0,a.jsx)(r.Suspense,{fallback:t,children:(0,a.jsx)(e,(0,o.Z)({},n))})}return n}},25534:function(e,t,n){var o=n(18489),r=(n(50390),n(25594)),a=n(86509),i=n(4285),l=n(72462),s=n(62559);t.Z=(0,i.Z)((function(e){return(0,a.Z)((0,o.Z)({},l.Bw))}))((function(e){var t=e.classes,n=e.className,o=void 0===n?"":n,a=e.children;return(0,s.jsx)("div",{className:t.contentSpacer,children:(0,s.jsx)(r.ZP,{container:!0,children:(0,s.jsx)(r.ZP,{item:!0,xs:12,className:o,children:a})})})}))},35721:function(e,t,n){n(50390);var o=n(34424),r=n(25594),a=n(86509),i=n(4285),l=n(35477),s=n(95467),c=n(26805),d=n(44078),p=n(5265),m=n(98280),u=n(62559),g={toggleList:p.kQ},f=(0,o.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),g);t.Z=f((0,i.Z)((function(e){return(0,a.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,o=e.actions,a=e.sidebarOpen,i=e.operatorMode,p=e.managerObjects,g=e.toggleList,f=e.middleComponent;return(0,u.jsxs)(r.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,u.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!a&&(0,u.jsx)("div",{className:t.logo,children:i?(0,u.jsx)(c.Z,{}):(0,u.jsx)(d.Z,{})}),(0,u.jsx)(l.Z,{variant:"h4",className:t.labelStyle,children:n})]}),f&&(0,u.jsx)(r.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,u.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:t.rightMenu,children:[o&&o,p&&p.length>0&&(0,u.jsx)(s.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){g()},size:"large",children:(0,u.jsx)(m.gx,{})})]})]})})))},73617:function(e,t,n){n.r(t);var o=n(23430),r=n(18489),a=n(50390),i=n(34424),l=n(38342),s=n.n(l),c=n(25594),d=n(86509),p=n(4285),m=n(66946),u=n(30324),g=n(44149),f=n(65433),h=n(72462),y=n(35721),b=n(24442),S=n(37882),v=n(29316),T=n(25534),x=n(49495),k=n(62559),E=(0,S.Z)(a.lazy((function(){return Promise.all([n.e(14),n.e(2066),n.e(3152),n.e(9769),n.e(9056),n.e(2805)]).then(n.bind(n,62805))}))),N=(0,S.Z)(a.lazy((function(){return Promise.all([n.e(14),n.e(2066),n.e(3152),n.e(9056),n.e(6873),n.e(3143)]).then(n.bind(n,96873))}))),A=(0,S.Z)(a.lazy((function(){return Promise.all([n.e(14),n.e(2066),n.e(3152),n.e(9769),n.e(9056),n.e(428)]).then(n.bind(n,70428))}))),j={serverNeedsRestart:g.o8,setErrorSnackMessage:g.Ih},_=(0,i.$j)(null,j);t.default=_((0,p.Z)((function(e){return(0,d.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},h.oO),h.Je),{},{lambdaNotif:{background:"linear-gradient(90deg, rgba(249,249,250,1) 0%, rgba(250,250,251,1) 68%, rgba(254,254,254,1) 100%)",border:"#E5E5E5 1px solid",borderRadius:5,height:80,display:"flex",alignItems:"center",justifyContent:"start",marginBottom:16,cursor:"pointer",padding:0,overflow:"hidden"},lambdaNotifIcon:{backgroundColor:"#FEFEFE",display:"flex",alignItems:"center",justifyContent:"center",width:80,height:80,"& img":{maxWidth:46,maxHeight:46}},lambdaNotifTitle:{color:"#07193E",fontSize:16,fontFamily:"Lato,sans-serif",paddingLeft:18},formBox:{border:"1px solid #EAEAEA",padding:15}}))}))((function(e){var t=e.match,n=e.saveAndRefresh,r=e.serverNeedsRestart,i=e.classes,l=e.setErrorSnackMessage,d=(0,a.useState)([]),p=(0,o.Z)(d,2),g=p[0],h=p[1],S=(0,a.useState)(!1),j=(0,o.Z)(S,2),_=j[0],L=j[1],C=t.params.service;(0,a.useEffect)((function(){if(_){var e={key_values:(0,f.DD)(g)};u.Z.invoke("PUT","/api/v1/configs/".concat(C),e).then((function(){L(!1),r(!0),b.Z.push(x.gA.NOTIFICATIONS_ENDPOINTS)})).catch((function(e){L(!1),l(e)}))}}),[_,r,C,g,n,l]);var Z,w=(0,a.useCallback)((function(e){h(e)}),[h]);switch(C){case f.ee:Z=(0,k.jsx)(A,{onChange:w});break;case f.dM:Z=(0,k.jsx)(E,{onChange:w});break;default:var q=s()(f.oj,C,[]);Z=(0,k.jsx)(N,{fields:q,onChange:w})}var P=f.BR.find((function(e){return e.actionTrigger===C}));return(0,k.jsxs)(a.Fragment,{children:[(0,k.jsx)(y.Z,{label:"Notifications"}),(0,k.jsx)(v.Z,{to:"/notification-endpoints/add",label:" Back To Supported Services"}),(0,k.jsx)(T.Z,{children:(0,k.jsx)("form",{noValidate:!0,onSubmit:function(e){e.preventDefault(),L(!0)},children:""!==C&&(0,k.jsxs)(a.Fragment,{children:[(0,k.jsx)(c.ZP,{item:!0,xs:12,children:P&&(0,k.jsxs)("div",{className:i.lambdaNotif,children:[(0,k.jsx)("div",{className:i.lambdaNotifIcon,children:(0,k.jsx)("img",{src:P.logo,className:i.logoButton,alt:P.targetTitle})}),(0,k.jsx)("div",{className:i.lambdaNotifTitle,children:(0,k.jsxs)("b",{children:[P?P.targetTitle:"","Notification Endpoint"]})})]},"icon-".concat(P.targetTitle))}),(0,k.jsxs)("div",{className:i.formBox,children:[(0,k.jsx)(c.ZP,{item:!0,xs:12,className:i.configForm,children:Z}),(0,k.jsx)(c.ZP,{item:!0,xs:12,className:i.settingsButtonContainer,children:(0,k.jsx)(m.Z,{type:"submit",variant:"contained",color:"primary",disabled:_,children:"Save Notification Target"})})]})]})})})]})})))},65433:function(e,t,n){n.d(t,{ee:function(){return a},dM:function(){return i},fk:function(){return f},BR:function(){return h},DD:function(){return b},oj:function(){return S}});var o,r=n(36222),a="notify_postgres",i="notify_mysql",l="notify_kafka",s="notify_amqp",c="notify_mqtt",d="notify_redis",p="notify_nats",m="notify_elasticsearch",u="notify_webhook",g="notify_nsq",f=function(e){return e.map((function(e){return{service_name:"".concat(e.service,":").concat(e.account_id),status:e.status}}))},h=[{actionTrigger:a,targetTitle:"Postgres SQL",logo:"/postgres-logo.svg"},{actionTrigger:l,targetTitle:"Kafka",logo:"/kafka-logo.svg"},{actionTrigger:s,targetTitle:"AMQP",logo:"/amqp-logo.svg"},{actionTrigger:c,targetTitle:"MQTT",logo:"/mqtt-logo.svg"},{actionTrigger:d,targetTitle:"Redis",logo:"/redis-logo.svg"},{actionTrigger:p,targetTitle:"NATS",logo:"/nats-logo.svg"},{actionTrigger:i,targetTitle:"Mysql",logo:"/mysql-logo.svg"},{actionTrigger:m,targetTitle:"Elastic Search",logo:"/elasticsearch-logo.svg"},{actionTrigger:u,targetTitle:"Webhook",logo:"/webhooks-logo.svg"},{actionTrigger:g,targetTitle:"NSQ",logo:"/nsq-logo.svg"}],y=[{name:"queue-dir",label:"Queue Directory",required:!0,tooltip:"staging dir for undelivered messages e.g. '/home/events'",type:"string",placeholder:"Enter Queue Directory"},{name:"queue-limit",label:"Queue Limit",required:!1,tooltip:"maximum limit for undelivered messages, defaults to '10000'",type:"number",placeholder:"Enter Queue Limit"},{name:"comment",label:"Comment",required:!1,type:"comment",placeholder:"Enter Comment"}],b=function(e){return e.filter((function(e){return""!==e.value}))},S=(o={},(0,r.Z)(o,l,[{name:"brokers",label:"Brokers",required:!0,tooltip:"Comma separated list of Kafka broker addresses",type:"string",placeholder:"Enter Brokers"},{name:"topic",label:"Topic",tooltip:"Kafka topic used for bucket notifications",type:"string",placeholder:"Enter Topic"},{name:"sasl_username",label:"SASL Username",tooltip:"Username for SASL/PLAIN or SASL/SCRAM authentication",type:"string",placeholder:"Enter SASL Username"},{name:"sasl_password",label:"SASL Password",tooltip:"Password for SASL/PLAIN or SASL/SCRAM authentication",type:"string",placeholder:"Enter SASL Password"},{name:"sasl_mechanism",label:"SASL Mechanism",tooltip:"SASL authentication mechanism, default 'PLAIN'",type:"string"},{name:"tls_client_auth",label:"TLS Client Auth",tooltip:"Client Auth determines the Kafka server's policy for TLS client auth",type:"string",placeholder:"Enter TLS Client Auth"},{name:"sasl",label:"SASL",tooltip:"Set to 'on' to enable SASL authentication",type:"on|off"},{name:"tls",label:"TLS",tooltip:"Set to 'on' to enable TLS",type:"on|off"},{name:"tls_skip_verify",label:"TLS skip verify",tooltip:'Trust server TLS without verification, defaults to "on" (verify)',type:"on|off"},{name:"client_tls_cert",label:"client TLS cert",tooltip:"Path to client certificate for mTLS auth",type:"path",placeholder:"Enter TLS Client Cert"},{name:"client_tls_key",label:"client TLS key",tooltip:"Path to client key for mTLS auth",type:"path",placeholder:"Enter TLS Client Key"},{name:"version",label:"Version",tooltip:"Specify the version of the Kafka cluster e.g '2.2.0'",type:"string",placeholder:"Enter Kafka Version"}].concat(y)),(0,r.Z)(o,s,[{name:"url",required:!0,label:"URL",tooltip:"AMQP server endpoint e.g. `amqp://myuser:mypassword@localhost:5672`",type:"url"},{name:"exchange",label:"Exchange",tooltip:"Name of the AMQP exchange",type:"string",placeholder:"Enter Exchange"},{name:"exchange_type",label:"Exchange Type",tooltip:"AMQP exchange type",type:"string",placeholder:"Enter Exchange Type"},{name:"routing_key",label:"Routing Key",tooltip:"Routing key for publishing",type:"string",placeholder:"Enter Routing Key"},{name:"mandatory",label:"Mandatory",tooltip:"Quietly ignore undelivered messages when set to 'off', default is 'on'",type:"on|off"},{name:"durable",label:"Durable",tooltip:"Persist queue across broker restarts when set to 'on', default is 'off'",type:"on|off"},{name:"no_wait",label:"No Wait",tooltip:"Non-blocking message delivery when set to 'on', default is 'off'",type:"on|off"},{name:"internal",label:"Internal",tooltip:"Set to 'on' for exchange to be not used directly by publishers, but only when bound to other exchanges",type:"on|off"},{name:"auto_deleted",label:"Auto Deleted",tooltip:"Auto delete queue when set to 'on', when there are no consumers",type:"on|off"},{name:"delivery_mode",label:"Delivery Mode",tooltip:"Set to '1' for non-persistent or '2' for persistent queue",type:"number",placeholder:"Enter Delivery Mode"}].concat(y)),(0,r.Z)(o,d,[{name:"address",required:!0,label:"Address",tooltip:"Redis server's address. For example: `localhost:6379`",type:"address",placeholder:"Enter Address"},{name:"key",required:!0,label:"Key",tooltip:"Redis key to store/update events, key is auto-created",type:"string",placeholder:"Enter Key"},{name:"password",label:"Password",tooltip:"Redis server password",type:"string",placeholder:"Enter Password"}].concat(y)),(0,r.Z)(o,c,[{name:"broker",required:!0,label:"Broker",tooltip:"MQTT server endpoint e.g. `tcp://localhost:1883`",type:"uri",placeholder:"Enter Brokers"},{name:"topic",required:!0,label:"Topic",tooltip:"name of the MQTT topic to publish",type:"string",placeholder:"Enter Topic"},{name:"username",label:"Username",tooltip:"MQTT username",type:"string",placeholder:"Enter Username"},{name:"password",label:"Password",tooltip:"MQTT password",type:"string",placeholder:"Enter Password"},{name:"qos",label:"QOS",tooltip:"Set the quality of service priority, defaults to '0'",type:"number",placeholder:"Enter QOS"},{name:"keep_alive_interval",label:"Keep Alive Interval",tooltip:"Keep-alive interval for MQTT connections in s,m,h,d",type:"duration",placeholder:"Enter Keep Alive Internal"},{name:"reconnect_interval",label:"Reconnect Interval",tooltip:"Reconnect interval for MQTT connections in s,m,h,d",type:"duration",placeholder:"Enter Reconnect Interval"}].concat(y)),(0,r.Z)(o,p,[{name:"address",required:!0,label:"Address",tooltip:"NATS server address e.g. '0.0.0.0:4222'",type:"address",placeholder:"Enter Address"},{name:"subject",required:!0,label:"Subject",tooltip:"NATS subscription subject",type:"string",placeholder:"Enter NATS Subject"},{name:"username",label:"Username",tooltip:"NATS username",type:"string",placeholder:"Enter NATS Username"},{name:"password",label:"Password",tooltip:"NATS password",type:"string",placeholder:"Enter NATS password"},{name:"token",label:"Token",tooltip:"NATS token",type:"string",placeholder:"Enter NATS token"},{name:"tls",label:"TLS",tooltip:"Set to 'on' to enable TLS",type:"on|off"},{name:"tls_skip_verify",label:"TLS Skip Verify",tooltip:'Trust server TLS without verification, defaults to "on" (verify)',type:"on|off"},{name:"ping_interval",label:"Ping Interval",tooltip:"Client ping commands interval in s,m,h,d. Disabled by default",type:"duration",placeholder:"Enter Ping Interval"},{name:"streaming",label:"Streaming",tooltip:"Set to 'on', to use streaming NATS server",type:"on|off"},{name:"streaming_async",label:"Streaming async",tooltip:"Set to 'on', to enable asynchronous publish",type:"on|off"},{name:"streaming_max_pub_acks_in_flight",label:"Streaming max publish ACKS in flight",tooltip:"Number of messages to publish without waiting for ACKs",type:"number",placeholder:"Enter Streaming in flight value"},{name:"streaming_cluster_id",label:"Streaming Cluster ID",tooltip:"Unique ID for NATS streaming cluster",type:"string",placeholder:"Enter Streaming Cluster ID"},{name:"cert_authority",label:"Cert Authority",tooltip:"Path to certificate chain of the target NATS server",type:"string",placeholder:"Enter Cert Authority"},{name:"client_cert",label:"Client Cert",tooltip:"Client cert for NATS mTLS auth",type:"string",placeholder:"Enter Client Cert"},{name:"client_key",label:"Client Key",tooltip:"Client cert key for NATS mTLS auth",type:"string",placeholder:"Enter Client Key"}].concat(y)),(0,r.Z)(o,m,[{name:"url",required:!0,label:"URL",tooltip:"Elasticsearch server's address, with optional authentication info",type:"url",placeholder:"Enter URL"},{name:"index",required:!0,label:"Index",tooltip:"Elasticsearch index to store/update events, index is auto-created",type:"string",placeholder:"Enter Index"},{name:"format",required:!0,label:"Format",tooltip:"'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'",type:"enum",placeholder:"Enter Format"}].concat(y)),(0,r.Z)(o,u,[{name:"endpoint",required:!0,label:"Endpoint",tooltip:"webhook server endpoint e.g. http://localhost:8080/minio/events",type:"url",placeholder:"Enter Endpoint"},{name:"auth_token",label:"Auth Token",tooltip:"opaque string or JWT authorization token",type:"string",placeholder:"Enter auth_token"}].concat(y)),(0,r.Z)(o,g,[{name:"nsqd_address",required:!0,label:"NSQD Address",tooltip:"NSQ server address e.g. '127.0.0.1:4150'",type:"address",placeholder:"Enter nsqd_address"},{name:"topic",required:!0,label:"Topic",tooltip:"NSQ topic",type:"string",placeholder:"Enter Topic"},{name:"tls",label:"TLS",tooltip:"set to 'on' to enable TLS",type:"on|off"},{name:"tls_skip_verify",label:"TLS Skip Verify",tooltip:'trust server TLS without verification, defaults to "on" (verify)',type:"on|off"}].concat(y)),o)}}]); +//# sourceMappingURL=3617.76ae117c.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3617.76ae117c.chunk.js.map b/portal-ui/build/static/js/3617.76ae117c.chunk.js.map new file mode 100644 index 000000000..281a65589 --- /dev/null +++ b/portal-ui/build/static/js/3617.76ae117c.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3617.76ae117c.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/NotificationEndpoints/AddNotificationEndpoint.tsx","screens/Console/NotificationEndpoints/utils.ts"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n

\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\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 { Button } from \"@mui/material\";\n\nimport api from \"../../../common/api\";\nimport { serverNeedsRestart, setErrorSnackMessage } from \"../../../actions\";\nimport {\n notificationEndpointsFields,\n notifyMysql,\n notifyPostgres,\n removeEmptyFields,\n} from \"./utils\";\nimport {\n modalBasic,\n settingsCommon,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { servicesList } from \"./utils\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\n\nimport { IElementValue } from \"../Configurations/types\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport history from \"../../../history\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport BackLink from \"../../../common/BackLink\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\n\nconst ConfMySql = withSuspense(\n React.lazy(() => import(\"./CustomForms/ConfMySql\"))\n);\n\nconst ConfTargetGeneric = withSuspense(\n React.lazy(() => import(\"./ConfTargetGeneric\"))\n);\n\nconst ConfPostgres = withSuspense(\n React.lazy(() => import(\"./CustomForms/ConfPostgres\"))\n);\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n ...settingsCommon,\n lambdaNotif: {\n background:\n \"linear-gradient(90deg, rgba(249,249,250,1) 0%, rgba(250,250,251,1) 68%, rgba(254,254,254,1) 100%)\",\n border: \"#E5E5E5 1px solid\",\n borderRadius: 5,\n height: 80,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"start\",\n marginBottom: 16,\n cursor: \"pointer\",\n padding: 0,\n overflow: \"hidden\",\n },\n lambdaNotifIcon: {\n backgroundColor: \"#FEFEFE\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: 80,\n height: 80,\n\n \"& img\": {\n maxWidth: 46,\n maxHeight: 46,\n },\n },\n lambdaNotifTitle: {\n color: \"#07193E\",\n fontSize: 16,\n fontFamily: \"Lato,sans-serif\",\n paddingLeft: 18,\n },\n formBox: {\n border: \"1px solid #EAEAEA\",\n padding: 15,\n },\n });\n\ninterface IAddNotificationEndpointProps {\n match: any;\n saveAndRefresh: any;\n serverNeedsRestart: typeof serverNeedsRestart;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n classes: any;\n}\n\nconst AddNotificationEndpoint = ({\n match,\n saveAndRefresh,\n serverNeedsRestart,\n classes,\n setErrorSnackMessage,\n}: IAddNotificationEndpointProps) => {\n //Local States\n const [valuesArr, setValueArr] = useState([]);\n const [saving, setSaving] = useState(false);\n const service = match.params[\"service\"];\n //Effects\n\n useEffect(() => {\n if (saving) {\n const payload = {\n key_values: removeEmptyFields(valuesArr),\n };\n api\n .invoke(\"PUT\", `/api/v1/configs/${service}`, payload)\n .then(() => {\n setSaving(false);\n serverNeedsRestart(true);\n history.push(IAM_PAGES.NOTIFICATIONS_ENDPOINTS);\n })\n .catch((err: ErrorResponseHandler) => {\n setSaving(false);\n setErrorSnackMessage(err);\n });\n }\n }, [\n saving,\n serverNeedsRestart,\n service,\n valuesArr,\n saveAndRefresh,\n setErrorSnackMessage,\n ]);\n\n //Fetch Actions\n const submitForm = (event: React.FormEvent) => {\n event.preventDefault();\n setSaving(true);\n };\n\n const onValueChange = useCallback(\n (newValue) => {\n setValueArr(newValue);\n },\n [setValueArr]\n );\n\n let srvComponent;\n switch (service) {\n case notifyPostgres: {\n srvComponent = ;\n break;\n }\n case notifyMysql: {\n srvComponent = ;\n break;\n }\n default: {\n const fields = get(notificationEndpointsFields, service, []);\n\n srvComponent = (\n \n );\n }\n }\n\n const targetElement = servicesList.find(\n (element) => element.actionTrigger === service\n );\n\n return (\n \n \n \n\n \n
\n {service !== \"\" && (\n \n \n {targetElement && (\n \n
\n \n
\n\n
\n \n {targetElement ? targetElement.targetTitle : \"\"}\n Notification Endpoint\n \n
\n \n )}\n
\n
\n \n {srvComponent}\n \n \n \n Save Notification Target\n \n \n
\n
\n )}\n
\n
\n
\n );\n};\n\nconst mapDispatchToProps = {\n serverNeedsRestart,\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(AddNotificationEndpoint));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { NotificationEndpointItem } from \"./types\";\n\nimport { IElementValue } from \"../Configurations/types\";\n\nexport const notifyPostgres = \"notify_postgres\";\nexport const notifyMysql = \"notify_mysql\";\nexport const notifyKafka = \"notify_kafka\";\nexport const notifyAmqp = \"notify_amqp\";\nexport const notifyMqtt = \"notify_mqtt\";\nexport const notifyRedis = \"notify_redis\";\nexport const notifyNats = \"notify_nats\";\nexport const notifyElasticsearch = \"notify_elasticsearch\";\nexport const notifyWebhooks = \"notify_webhook\";\nexport const notifyNsq = \"notify_nsq\";\n\nexport const notificationTransform = (\n notificationElements: NotificationEndpointItem[]\n) => {\n return notificationElements.map((element) => {\n return {\n service_name: `${element.service}:${element.account_id}`,\n status: element.status,\n };\n });\n};\n\nexport const servicesList = [\n {\n actionTrigger: notifyPostgres,\n targetTitle: \"Postgres SQL\",\n logo: \"/postgres-logo.svg\",\n },\n {\n actionTrigger: notifyKafka,\n targetTitle: \"Kafka\",\n logo: \"/kafka-logo.svg\",\n },\n {\n actionTrigger: notifyAmqp,\n targetTitle: \"AMQP\",\n logo: \"/amqp-logo.svg\",\n },\n {\n actionTrigger: notifyMqtt,\n targetTitle: \"MQTT\",\n logo: \"/mqtt-logo.svg\",\n },\n {\n actionTrigger: notifyRedis,\n targetTitle: \"Redis\",\n logo: \"/redis-logo.svg\",\n },\n {\n actionTrigger: notifyNats,\n targetTitle: \"NATS\",\n logo: \"/nats-logo.svg\",\n },\n {\n actionTrigger: notifyMysql,\n targetTitle: \"Mysql\",\n logo: \"/mysql-logo.svg\",\n },\n {\n actionTrigger: notifyElasticsearch,\n targetTitle: \"Elastic Search\",\n logo: \"/elasticsearch-logo.svg\",\n },\n {\n actionTrigger: notifyWebhooks,\n targetTitle: \"Webhook\",\n logo: \"/webhooks-logo.svg\",\n },\n {\n actionTrigger: notifyNsq,\n targetTitle: \"NSQ\",\n logo: \"/nsq-logo.svg\",\n },\n];\n\nconst commonFields = [\n {\n name: \"queue-dir\",\n label: \"Queue Directory\",\n required: true,\n\n tooltip: \"staging dir for undelivered messages e.g. '/home/events'\",\n type: \"string\",\n placeholder: \"Enter Queue Directory\",\n },\n {\n name: \"queue-limit\",\n label: \"Queue Limit\",\n required: false,\n\n tooltip: \"maximum limit for undelivered messages, defaults to '10000'\",\n type: \"number\",\n placeholder: \"Enter Queue Limit\",\n },\n {\n name: \"comment\",\n label: \"Comment\",\n required: false,\n type: \"comment\",\n placeholder: \"Enter Comment\",\n },\n];\n\nexport const removeEmptyFields = (formFields: IElementValue[]) => {\n const nonEmptyFields = formFields.filter((field) => field.value !== \"\");\n\n return nonEmptyFields;\n};\n\nexport const notificationEndpointsFields: any = {\n [notifyKafka]: [\n {\n name: \"brokers\",\n label: \"Brokers\",\n required: true,\n\n tooltip: \"Comma separated list of Kafka broker addresses\",\n type: \"string\",\n placeholder: \"Enter Brokers\",\n },\n {\n name: \"topic\",\n label: \"Topic\",\n tooltip: \"Kafka topic used for bucket notifications\",\n type: \"string\",\n placeholder: \"Enter Topic\",\n },\n {\n name: \"sasl_username\",\n label: \"SASL Username\",\n tooltip: \"Username for SASL/PLAIN or SASL/SCRAM authentication\",\n type: \"string\",\n placeholder: \"Enter SASL Username\",\n },\n {\n name: \"sasl_password\",\n label: \"SASL Password\",\n tooltip: \"Password for SASL/PLAIN or SASL/SCRAM authentication\",\n type: \"string\",\n placeholder: \"Enter SASL Password\",\n },\n {\n name: \"sasl_mechanism\",\n label: \"SASL Mechanism\",\n tooltip: \"SASL authentication mechanism, default 'PLAIN'\",\n type: \"string\",\n },\n {\n name: \"tls_client_auth\",\n label: \"TLS Client Auth\",\n tooltip:\n \"Client Auth determines the Kafka server's policy for TLS client auth\",\n type: \"string\",\n placeholder: \"Enter TLS Client Auth\",\n },\n {\n name: \"sasl\",\n label: \"SASL\",\n tooltip: \"Set to 'on' to enable SASL authentication\",\n type: \"on|off\",\n },\n {\n name: \"tls\",\n label: \"TLS\",\n tooltip: \"Set to 'on' to enable TLS\",\n type: \"on|off\",\n },\n {\n name: \"tls_skip_verify\",\n label: \"TLS skip verify\",\n tooltip:\n 'Trust server TLS without verification, defaults to \"on\" (verify)',\n type: \"on|off\",\n },\n {\n name: \"client_tls_cert\",\n label: \"client TLS cert\",\n tooltip: \"Path to client certificate for mTLS auth\",\n type: \"path\",\n placeholder: \"Enter TLS Client Cert\",\n },\n {\n name: \"client_tls_key\",\n label: \"client TLS key\",\n tooltip: \"Path to client key for mTLS auth\",\n type: \"path\",\n placeholder: \"Enter TLS Client Key\",\n },\n {\n name: \"version\",\n label: \"Version\",\n tooltip: \"Specify the version of the Kafka cluster e.g '2.2.0'\",\n type: \"string\",\n placeholder: \"Enter Kafka Version\",\n },\n ...commonFields,\n ],\n [notifyAmqp]: [\n {\n name: \"url\",\n required: true,\n label: \"URL\",\n tooltip:\n \"AMQP server endpoint e.g. `amqp://myuser:mypassword@localhost:5672`\",\n type: \"url\",\n },\n {\n name: \"exchange\",\n label: \"Exchange\",\n tooltip: \"Name of the AMQP exchange\",\n type: \"string\",\n placeholder: \"Enter Exchange\",\n },\n {\n name: \"exchange_type\",\n label: \"Exchange Type\",\n tooltip: \"AMQP exchange type\",\n type: \"string\",\n placeholder: \"Enter Exchange Type\",\n },\n {\n name: \"routing_key\",\n label: \"Routing Key\",\n tooltip: \"Routing key for publishing\",\n type: \"string\",\n placeholder: \"Enter Routing Key\",\n },\n {\n name: \"mandatory\",\n label: \"Mandatory\",\n tooltip:\n \"Quietly ignore undelivered messages when set to 'off', default is 'on'\",\n type: \"on|off\",\n },\n {\n name: \"durable\",\n label: \"Durable\",\n tooltip:\n \"Persist queue across broker restarts when set to 'on', default is 'off'\",\n type: \"on|off\",\n },\n {\n name: \"no_wait\",\n label: \"No Wait\",\n tooltip:\n \"Non-blocking message delivery when set to 'on', default is 'off'\",\n type: \"on|off\",\n },\n {\n name: \"internal\",\n label: \"Internal\",\n tooltip:\n \"Set to 'on' for exchange to be not used directly by publishers, but only when bound to other exchanges\",\n type: \"on|off\",\n },\n {\n name: \"auto_deleted\",\n label: \"Auto Deleted\",\n tooltip:\n \"Auto delete queue when set to 'on', when there are no consumers\",\n type: \"on|off\",\n },\n {\n name: \"delivery_mode\",\n label: \"Delivery Mode\",\n tooltip: \"Set to '1' for non-persistent or '2' for persistent queue\",\n type: \"number\",\n placeholder: \"Enter Delivery Mode\",\n },\n ...commonFields,\n ],\n [notifyRedis]: [\n {\n name: \"address\",\n required: true,\n label: \"Address\",\n tooltip: \"Redis server's address. For example: `localhost:6379`\",\n type: \"address\",\n placeholder: \"Enter Address\",\n },\n {\n name: \"key\",\n required: true,\n label: \"Key\",\n tooltip: \"Redis key to store/update events, key is auto-created\",\n type: \"string\",\n placeholder: \"Enter Key\",\n },\n {\n name: \"password\",\n label: \"Password\",\n tooltip: \"Redis server password\",\n type: \"string\",\n placeholder: \"Enter Password\",\n },\n ...commonFields,\n ],\n [notifyMqtt]: [\n {\n name: \"broker\",\n required: true,\n label: \"Broker\",\n tooltip: \"MQTT server endpoint e.g. `tcp://localhost:1883`\",\n type: \"uri\",\n placeholder: \"Enter Brokers\",\n },\n {\n name: \"topic\",\n required: true,\n label: \"Topic\",\n tooltip: \"name of the MQTT topic to publish\",\n type: \"string\",\n placeholder: \"Enter Topic\",\n },\n {\n name: \"username\",\n label: \"Username\",\n tooltip: \"MQTT username\",\n type: \"string\",\n placeholder: \"Enter Username\",\n },\n {\n name: \"password\",\n label: \"Password\",\n tooltip: \"MQTT password\",\n type: \"string\",\n placeholder: \"Enter Password\",\n },\n {\n name: \"qos\",\n label: \"QOS\",\n tooltip: \"Set the quality of service priority, defaults to '0'\",\n type: \"number\",\n placeholder: \"Enter QOS\",\n },\n {\n name: \"keep_alive_interval\",\n label: \"Keep Alive Interval\",\n tooltip: \"Keep-alive interval for MQTT connections in s,m,h,d\",\n type: \"duration\",\n placeholder: \"Enter Keep Alive Internal\",\n },\n {\n name: \"reconnect_interval\",\n label: \"Reconnect Interval\",\n tooltip: \"Reconnect interval for MQTT connections in s,m,h,d\",\n type: \"duration\",\n placeholder: \"Enter Reconnect Interval\",\n },\n ...commonFields,\n ],\n [notifyNats]: [\n {\n name: \"address\",\n required: true,\n label: \"Address\",\n tooltip: \"NATS server address e.g. '0.0.0.0:4222'\",\n type: \"address\",\n placeholder: \"Enter Address\",\n },\n {\n name: \"subject\",\n required: true,\n label: \"Subject\",\n tooltip: \"NATS subscription subject\",\n type: \"string\",\n placeholder: \"Enter NATS Subject\",\n },\n {\n name: \"username\",\n label: \"Username\",\n tooltip: \"NATS username\",\n type: \"string\",\n placeholder: \"Enter NATS Username\",\n },\n {\n name: \"password\",\n label: \"Password\",\n tooltip: \"NATS password\",\n type: \"string\",\n placeholder: \"Enter NATS password\",\n },\n {\n name: \"token\",\n label: \"Token\",\n tooltip: \"NATS token\",\n type: \"string\",\n placeholder: \"Enter NATS token\",\n },\n {\n name: \"tls\",\n label: \"TLS\",\n tooltip: \"Set to 'on' to enable TLS\",\n type: \"on|off\",\n },\n {\n name: \"tls_skip_verify\",\n label: \"TLS Skip Verify\",\n tooltip:\n 'Trust server TLS without verification, defaults to \"on\" (verify)',\n type: \"on|off\",\n },\n {\n name: \"ping_interval\",\n label: \"Ping Interval\",\n tooltip: \"Client ping commands interval in s,m,h,d. Disabled by default\",\n type: \"duration\",\n placeholder: \"Enter Ping Interval\",\n },\n {\n name: \"streaming\",\n label: \"Streaming\",\n tooltip: \"Set to 'on', to use streaming NATS server\",\n type: \"on|off\",\n },\n {\n name: \"streaming_async\",\n label: \"Streaming async\",\n tooltip: \"Set to 'on', to enable asynchronous publish\",\n type: \"on|off\",\n },\n {\n name: \"streaming_max_pub_acks_in_flight\",\n label: \"Streaming max publish ACKS in flight\",\n tooltip: \"Number of messages to publish without waiting for ACKs\",\n type: \"number\",\n placeholder: \"Enter Streaming in flight value\",\n },\n {\n name: \"streaming_cluster_id\",\n label: \"Streaming Cluster ID\",\n tooltip: \"Unique ID for NATS streaming cluster\",\n type: \"string\",\n placeholder: \"Enter Streaming Cluster ID\",\n },\n {\n name: \"cert_authority\",\n label: \"Cert Authority\",\n tooltip: \"Path to certificate chain of the target NATS server\",\n type: \"string\",\n placeholder: \"Enter Cert Authority\",\n },\n {\n name: \"client_cert\",\n label: \"Client Cert\",\n tooltip: \"Client cert for NATS mTLS auth\",\n type: \"string\",\n placeholder: \"Enter Client Cert\",\n },\n {\n name: \"client_key\",\n label: \"Client Key\",\n tooltip: \"Client cert key for NATS mTLS auth\",\n type: \"string\",\n placeholder: \"Enter Client Key\",\n },\n ...commonFields,\n ],\n [notifyElasticsearch]: [\n {\n name: \"url\",\n required: true,\n label: \"URL\",\n tooltip:\n \"Elasticsearch server's address, with optional authentication info\",\n type: \"url\",\n placeholder: \"Enter URL\",\n },\n {\n name: \"index\",\n required: true,\n label: \"Index\",\n tooltip:\n \"Elasticsearch index to store/update events, index is auto-created\",\n type: \"string\",\n placeholder: \"Enter Index\",\n },\n {\n name: \"format\",\n required: true,\n label: \"Format\",\n tooltip:\n \"'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'\",\n type: \"enum\",\n placeholder: \"Enter Format\",\n },\n ...commonFields,\n ],\n [notifyWebhooks]: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n tooltip:\n \"webhook server endpoint e.g. http://localhost:8080/minio/events\",\n type: \"url\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n label: \"Auth Token\",\n tooltip: \"opaque string or JWT authorization token\",\n type: \"string\",\n placeholder: \"Enter auth_token\",\n },\n ...commonFields,\n ],\n [notifyNsq]: [\n {\n name: \"nsqd_address\",\n required: true,\n label: \"NSQD Address\",\n tooltip: \"NSQ server address e.g. '127.0.0.1:4150'\",\n type: \"address\",\n placeholder: \"Enter nsqd_address\",\n },\n {\n name: \"topic\",\n required: true,\n label: \"Topic\",\n tooltip: \"NSQ topic\",\n type: \"string\",\n placeholder: \"Enter Topic\",\n },\n {\n name: \"tls\",\n label: \"TLS\",\n tooltip: \"set to 'on' to enable TLS\",\n type: \"on|off\",\n },\n {\n name: \"tls_skip_verify\",\n label: \"TLS Skip Verify\",\n tooltip:\n 'trust server TLS without verification, defaults to \"on\" (verify)',\n type: \"on|off\",\n },\n ...commonFields,\n ],\n};\n"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","pageContentStyles","children","contentSpacer","container","item","xs","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","backgroundColor","left","boxShadow","labelStyle","fontWeight","marginLeft","marginTop","rightMenu","textAlign","logo","fill","main","middleComponent","actions","direction","sm","md","sx","paddingTop","variant","length","component","size","ConfMySql","withSuspense","React","ConfTargetGeneric","ConfPostgres","serverNeedsRestart","setErrorSnackMessage","modalBasic","settingsCommon","lambdaNotif","background","border","borderRadius","height","marginBottom","cursor","overflow","lambdaNotifIcon","maxHeight","lambdaNotifTitle","fontFamily","paddingLeft","formBox","match","saveAndRefresh","useState","valuesArr","setValueArr","saving","setSaving","service","params","useEffect","payload","key_values","removeEmptyFields","api","then","history","IAM_PAGES","catch","err","srvComponent","onValueChange","useCallback","newValue","notifyPostgres","onChange","notifyMysql","fields","get","notificationEndpointsFields","targetElement","servicesList","element","actionTrigger","Fragment","noValidate","onSubmit","event","preventDefault","src","logoButton","alt","targetTitle","configForm","settingsButtonContainer","type","disabled","notifyKafka","notifyAmqp","notifyMqtt","notifyRedis","notifyNats","notifyElasticsearch","notifyWebhooks","notifyNsq","notificationTransform","notificationElements","map","service_name","account_id","status","commonFields","name","required","tooltip","placeholder","formFields","filter","field","value"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3698.49eb7411.chunk.js b/portal-ui/build/static/js/3698.1144caf6.chunk.js similarity index 98% rename from portal-ui/build/static/js/3698.49eb7411.chunk.js rename to portal-ui/build/static/js/3698.1144caf6.chunk.js index 601d35af1..1b2e21705 100644 --- a/portal-ui/build/static/js/3698.49eb7411.chunk.js +++ b/portal-ui/build/static/js/3698.1144caf6.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3698],{92440:function(t,n,e){var o=e(36222),i=e(18489),a=e(50390),r=e(86509),c=e(4285),s=e(49056),l=e(14602),d=e(94187),u=e(35477),h=e(25594),m=e(72462),p=e(97538),g=e(44977),v=e(62559),Z=(0,c.Z)((function(t){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:t.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:t.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(s.Z);n.Z=(0,c.Z)((function(t){return(0,r.Z)((0,i.Z)((0,i.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},m.OR),m.YI))}))((function(t){var n=t.label,e=void 0===n?"":n,i=t.onChange,r=t.value,c=t.id,s=t.name,m=t.checked,x=void 0!==m&&m,f=t.disabled,b=void 0!==f&&f,j=t.switchOnly,w=void 0!==j&&j,C=t.tooltip,S=void 0===C?"":C,k=t.description,I=void 0===k?"":k,P=t.classes,y=t.indicatorLabels,L=(0,v.jsxs)(a.Fragment,{children:[!w&&(0,v.jsx)("span",{className:(0,g.Z)(P.indicatorLabel,(0,o.Z)({},P.indicatorLabelOn,!x)),children:y&&y.length>1?y[1]:"OFF"}),(0,v.jsx)(Z,{checked:x,onChange:i,color:"primary",name:s,inputProps:{"aria-label":"primary checkbox"},disabled:b,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:r}),!w&&(0,v.jsx)("span",{className:(0,g.Z)(P.indicatorLabel,(0,o.Z)({},P.indicatorLabelOn,x)),children:y?y[0]:"ON"})]});return w?L:(0,v.jsx)("div",{className:P.divContainer,children:(0,v.jsxs)(h.ZP,{container:!0,alignItems:"center",children:[(0,v.jsx)(h.ZP,{item:!0,xs:!0,children:(0,v.jsxs)(h.ZP,{container:!0,children:[(0,v.jsx)(h.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==e&&(0,v.jsxs)(l.Z,{htmlFor:c,className:P.inputLabel,children:[(0,v.jsx)("span",{children:e}),""!==S&&(0,v.jsx)("div",{className:P.tooltipContainer,children:(0,v.jsx)(d.Z,{title:S,placement:"top-start",children:(0,v.jsx)("div",{className:P.tooltip,children:(0,v.jsx)(p.Z,{})})})})]})}),(0,v.jsx)(h.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==I&&(0,v.jsx)(u.Z,{component:"p",className:P.fieldDescription,children:I})})]})}),(0,v.jsx)(h.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:P.switchContainer,children:L})]})})}))},66964:function(t,n,e){var o=e(18489),i=e(50390),a=e(12066),r=e(25594),c=e(14602),s=e(94187),l=e(95467),d=e(86509),u=e(62449),h=e(4285),m=e(72462),p=e(97538),g=e(44977),v=e(62559),Z=(0,u.Z)((function(t){return(0,d.Z)((0,o.Z)({},m.gM))}));function x(t){var n=Z();return(0,v.jsx)(a.Z,(0,o.Z)({InputProps:{classes:n}},t))}n.Z=(0,h.Z)((function(t){return(0,d.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,o.Z)((0,o.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(t){var n=t.label,e=t.onChange,a=t.value,d=t.id,u=t.name,h=t.type,m=void 0===h?"text":h,Z=t.autoComplete,f=void 0===Z?"off":Z,b=t.disabled,j=void 0!==b&&b,w=t.multiline,C=void 0!==w&&w,S=t.tooltip,k=void 0===S?"":S,I=t.index,P=void 0===I?0:I,y=t.error,L=void 0===y?"":y,N=t.required,F=void 0!==N&&N,R=t.placeholder,M=void 0===R?"":R,B=t.min,E=t.max,A=t.overlayIcon,z=void 0===A?null:A,T=t.overlayObject,O=void 0===T?null:T,D=t.extraInputProps,W=void 0===D?{}:D,Y=t.overlayAction,$=t.noLabelMinWidth,q=void 0!==$&&$,X=t.pattern,_=void 0===X?"":X,H=t.autoFocus,Q=void 0!==H&&H,V=t.classes,G=t.className,J=void 0===G?"":G,K=(0,o.Z)({"data-index":P},W);return"number"===m&&B&&(K.min=B),"number"===m&&E&&(K.max=E),""!==_&&(K.pattern=_),(0,v.jsx)(i.Fragment,{children:(0,v.jsxs)(r.ZP,{container:!0,className:(0,g.Z)(""!==J?J:"",""!==L?V.errorInField:V.inputBoxContainer),children:[""!==n&&(0,v.jsxs)(c.Z,{htmlFor:d,className:q?V.noMinWidthLabel:V.inputLabel,children:[(0,v.jsxs)("span",{children:[n,F?"*":""]}),""!==k&&(0,v.jsx)("div",{className:V.tooltipContainer,children:(0,v.jsx)(s.Z,{title:k,placement:"top-start",children:(0,v.jsx)("div",{className:V.tooltip,children:(0,v.jsx)(p.Z,{})})})})]}),(0,v.jsxs)("div",{className:V.textBoxContainer,children:[(0,v.jsx)(x,{id:d,name:u,fullWidth:!0,value:a,autoFocus:Q,disabled:j,onChange:e,type:m,multiline:C,autoComplete:f,inputProps:K,error:""!==L,helperText:L,placeholder:M,className:V.inputRebase}),z&&(0,v.jsx)("div",{className:"".concat(V.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,v.jsx)(l.Z,{onClick:Y?function(){Y()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:z})}),O&&(0,v.jsx)("div",{className:"".concat(V.overlayAction," ").concat(""!==n?"withLabel":""),children:O})]})]})})}))},50280:function(t,n,e){var o=e(18489),i=e(50390),a=e(25594),r=e(86509),c=e(4285),s=e(72462),l=e(62559);n.Z=(0,c.Z)((function(t){return(0,r.Z)((0,o.Z)({},s.xx))}))((function(t){var n=t.classes,e=t.label,o=void 0===e?"":e,r=t.content,c=t.multiLine,s=void 0!==c&&c;return(0,l.jsx)(i.Fragment,{children:(0,l.jsxs)(a.ZP,{className:n.prefinedContainer,children:[""!==o&&(0,l.jsx)(a.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:o}),(0,l.jsx)(a.ZP,{item:!0,xs:12,className:n.predefinedList,children:(0,l.jsx)(a.ZP,{item:!0,xs:12,className:s?n.innerContentMultiline:n.innerContent,children:r})})]})})}))},60656:function(t,n,e){var o=e(18489),i=e(50390),a=e(84402),r=e(78426),c=e(93085),s=e(7887),l=e(66946),d=e(14476),u=e(95467),h=e(21278),m=e(86509),p=e(4285),g=e(72462),v=e(62559);n.Z=(0,p.Z)((function(t){return(0,m.Z)((0,o.Z)({},g.Qw))}))((function(t){var n=t.isOpen,e=void 0!==n&&n,m=t.onClose,p=t.onCancel,g=t.onConfirm,Z=t.classes,x=void 0===Z?{}:Z,f=t.title,b=void 0===f?"":f,j=t.isLoading,w=t.confirmationContent,C=t.cancelText,S=void 0===C?"Cancel":C,k=t.confirmText,I=void 0===k?"Confirm":k,P=t.confirmButtonProps,y=void 0===P?{}:P,L=t.cancelButtonProps,N=void 0===L?{}:L,F=t.titleIcon,R=void 0===F?null:F;return(0,v.jsxs)(a.Z,{open:e,onClose:function(t,n){"backdropClick"!==n&&m()},className:x.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,v.jsxs)(r.Z,{className:x.title,children:[(0,v.jsxs)("div",{className:x.titleText,children:[R," ",b]}),(0,v.jsx)("div",{className:x.closeContainer,children:(0,v.jsx)(u.Z,{"aria-label":"close",className:x.closeButton,onClick:m,disableRipple:!0,size:"small",children:(0,v.jsx)(h.Z,{})})})]}),(0,v.jsx)(c.Z,{className:x.content,children:w}),(0,v.jsxs)(s.Z,{className:x.actions,children:[(0,v.jsx)(l.Z,(0,o.Z)((0,o.Z)({className:x.cancelButton,onClick:p||m,disabled:j,type:"button"},N),{},{variant:"outlined",color:"primary",children:S})),(0,v.jsx)(d.Z,(0,o.Z)((0,o.Z)({className:x.confirmButton,type:"button",onClick:g,loading:j,disabled:j,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,v.jsx)(i.Fragment,{}),autoFocus:!0},y),{},{children:I}))]})]})}))},93698:function(t,n,e){e.r(n);var o=e(23430),i=e(50390),a=e(34424),r=e(23473),c=e(25594),s=e(81378),l=e(44149),d=e(30324),u=e(66964),h=e(50280),m=e(92440),p=e(60656),g=e(11387),v=e(62559),Z={setErrorSnackMessage:l.Ih},x=(0,a.$j)(null,Z);n.default=x((function(t){var n=t.closeFormatModalAndRefresh,e=t.deleteOpen,a=t.allDrives,l=t.drivesToFormat,Z=t.setErrorSnackMessage,x=(0,i.useState)(!1),f=(0,o.Z)(x,2),b=f[0],j=f[1],w=(0,i.useState)(""),C=(0,o.Z)(w,2),S=C[0],k=C[1],I=(0,i.useState)(!1),P=(0,o.Z)(I,2),y=P[0],L=P[1];return(0,v.jsx)(p.Z,{title:"Format ".concat(a?"All ":""," Drives"),confirmText:"Format Drive".concat(l.length>1||a?"s":""),confirmButtonProps:{disabled:"YES, PROCEED"!==S},isOpen:e,isLoading:b,onConfirm:function(){b||(j(!0),d.Z.invoke("POST","/api/v1/direct-csi/drives/format",{drives:l,force:y}).then((function(t){j(!1),n(!0,t.formatIssuesList)})).catch((function(t){j(!1),Z(t)})))},onClose:function(){n(!1,[])},titleIcon:(0,v.jsx)(g.Q,{}),confirmationContent:(0,v.jsxs)(i.Fragment,{children:[(0,v.jsxs)(r.Z,{children:[!a&&(0,v.jsxs)(i.Fragment,{children:[(0,v.jsx)(h.Z,{label:"Selected Drive".concat(l.length>1?"s":""),content:l.join(", ")}),(0,v.jsx)("br",{})]}),(0,v.jsx)(c.ZP,{item:!0,xs:12,children:(0,v.jsx)(m.Z,{value:"force",id:"force",name:"force",checked:y,onChange:function(t){L(t.target.checked)},label:"Force Format",indicatorLabels:["Yes","No"]})}),"Are you sure you want to format"," ",a?(0,v.jsx)("strong",{children:"All"}):"the selected"," drive",l.length>1||a?"s":"","?.",(0,v.jsx)("br",{}),(0,v.jsx)("br",{}),(0,v.jsx)("strong",{children:"All information contained will be erased and cannot be recovered"}),(0,v.jsx)("br",{}),(0,v.jsx)("br",{}),"To continue please type ",(0,v.jsx)("b",{children:"YES, PROCEED"})," in the box.",(0,v.jsx)(c.ZP,{item:!0,xs:12,children:(0,v.jsx)(u.Z,{id:"format-confirm",name:"format-confirm",onChange:function(t){k(t.target.value)},label:"",value:S})})]}),b&&(0,v.jsx)(s.Z,{})]})})}))},14476:function(t,n,e){e.d(n,{Z:function(){return j}});var o=e(36222),i=e(46633),a=e(18207),r=e(50390),c=e(91442),s=e(4733),l=e(50076),d=e(8208),u=e(15573),h=e(66946),m=e(18201),p=e(10594);function g(t){return(0,p.Z)("MuiLoadingButton",t)}var v=(0,e(43349).Z)("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),Z=e(62559),x=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],f=(0,d.ZP)(h.Z,{shouldForwardProp:function(t){return function(t){return"ownerState"!==t&&"theme"!==t&&"sx"!==t&&"as"!==t&&"classes"!==t}(t)||"classes"===t},name:"MuiLoadingButton",slot:"Root",overridesResolver:function(t,n){return[n.root,n.startIconLoadingStart&&(0,o.Z)({},"& .".concat(v.startIconLoadingStart),n.startIconLoadingStart),n.endIconLoadingEnd&&(0,o.Z)({},"& .".concat(v.endIconLoadingEnd),n.endIconLoadingEnd)]}})((function(t){var n=t.ownerState,e=t.theme;return(0,a.Z)((0,o.Z)({},"& .".concat(v.startIconLoadingStart,", & .").concat(v.endIconLoadingEnd),{transition:e.transitions.create(["opacity"],{duration:e.transitions.duration.short}),opacity:0}),"center"===n.loadingPosition&&(0,o.Z)({transition:e.transitions.create(["background-color","box-shadow","border-color"],{duration:e.transitions.duration.short})},"&.".concat(v.loading),{color:"transparent"}),"start"===n.loadingPosition&&n.fullWidth&&(0,o.Z)({},"& .".concat(v.startIconLoadingStart,", & .").concat(v.endIconLoadingEnd),{transition:e.transitions.create(["opacity"],{duration:e.transitions.duration.short}),opacity:0,marginRight:-8}),"end"===n.loadingPosition&&n.fullWidth&&(0,o.Z)({},"& .".concat(v.startIconLoadingStart,", & .").concat(v.endIconLoadingEnd),{transition:e.transitions.create(["opacity"],{duration:e.transitions.duration.short}),opacity:0,marginLeft:-8}))})),b=(0,d.ZP)("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:function(t,n){var e=t.ownerState;return[n.loadingIndicator,n["loadingIndicator".concat((0,c.Z)(e.loadingPosition))]]}})((function(t){var n=t.theme,e=t.ownerState;return(0,a.Z)({position:"absolute",visibility:"visible",display:"flex"},"start"===e.loadingPosition&&("outlined"===e.variant||"contained"===e.variant)&&{left:14},"start"===e.loadingPosition&&"text"===e.variant&&{left:6},"center"===e.loadingPosition&&{left:"50%",transform:"translate(-50%)",color:n.palette.action.disabled},"end"===e.loadingPosition&&("outlined"===e.variant||"contained"===e.variant)&&{right:14},"end"===e.loadingPosition&&"text"===e.variant&&{right:6},"start"===e.loadingPosition&&e.fullWidth&&{position:"relative",left:-10},"end"===e.loadingPosition&&e.fullWidth&&{position:"relative",right:-10})})),j=r.forwardRef((function(t,n){var e=(0,u.Z)({props:t,name:"MuiLoadingButton"}),o=e.children,d=e.disabled,h=void 0!==d&&d,p=e.id,v=e.loading,j=void 0!==v&&v,w=e.loadingIndicator,C=e.loadingPosition,S=void 0===C?"center":C,k=e.variant,I=void 0===k?"text":k,P=(0,i.Z)(e,x),y=(0,s.Z)(p),L=null!=w?w:(0,Z.jsx)(m.Z,{"aria-labelledby":y,color:"inherit",size:16}),N=(0,a.Z)({},e,{disabled:h,loading:j,loadingIndicator:L,loadingPosition:S,variant:I}),F=function(t){var n=t.loading,e=t.loadingPosition,o=t.classes,i={root:["root",n&&"loading"],startIcon:[n&&"startIconLoading".concat((0,c.Z)(e))],endIcon:[n&&"endIconLoading".concat((0,c.Z)(e))],loadingIndicator:["loadingIndicator",n&&"loadingIndicator".concat((0,c.Z)(e))]},r=(0,l.Z)(i,g,o);return(0,a.Z)({},o,r)}(N);return(0,Z.jsx)(f,(0,a.Z)({disabled:h||j,id:y,ref:n},P,{variant:I,classes:F,ownerState:N,children:"end"===N.loadingPosition?(0,Z.jsxs)(r.Fragment,{children:[o,j&&(0,Z.jsx)(b,{className:F.loadingIndicator,ownerState:N,children:L})]}):(0,Z.jsxs)(r.Fragment,{children:[j&&(0,Z.jsx)(b,{className:F.loadingIndicator,ownerState:N,children:L}),o]})}))}))},7887:function(t,n,e){e.d(n,{Z:function(){return g}});var o=e(1048),i=e(32793),a=e(50390),r=e(44977),c=e(50076),s=e(8208),l=e(15573),d=e(10594);function u(t){return(0,d.Z)("MuiDialogActions",t)}(0,e(43349).Z)("MuiDialogActions",["root","spacing"]);var h=e(62559),m=["className","disableSpacing"],p=(0,s.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(t,n){var e=t.ownerState;return[n.root,!e.disableSpacing&&n.spacing]}})((function(t){var n=t.ownerState;return(0,i.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!n.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),g=a.forwardRef((function(t,n){var e=(0,l.Z)({props:t,name:"MuiDialogActions"}),a=e.className,s=e.disableSpacing,d=void 0!==s&&s,g=(0,o.Z)(e,m),v=(0,i.Z)({},e,{disableSpacing:d}),Z=function(t){var n=t.classes,e={root:["root",!t.disableSpacing&&"spacing"]};return(0,c.Z)(e,u,n)}(v);return(0,h.jsx)(p,(0,i.Z)({className:(0,r.Z)(Z.root,a),ownerState:v,ref:n},g))}))},23473:function(t,n,e){e.d(n,{Z:function(){return g}});var o=e(1048),i=e(32793),a=e(50390),r=e(50076),c=e(8208),s=e(15573),l=e(35477),d=e(10594);function u(t){return(0,d.Z)("MuiDialogContentText",t)}(0,e(43349).Z)("MuiDialogContentText",["root"]);var h=e(62559),m=["children"],p=(0,c.ZP)(l.Z,{shouldForwardProp:function(t){return(0,c.FO)(t)||"classes"===t},name:"MuiDialogContentText",slot:"Root",overridesResolver:function(t,n){return n.root}})({}),g=a.forwardRef((function(t,n){var e=(0,s.Z)({props:t,name:"MuiDialogContentText"}),a=(0,o.Z)(e,m),c=function(t){var n=t.classes,e=(0,r.Z)({root:["root"]},u,n);return(0,i.Z)({},n,e)}(a);return(0,h.jsx)(p,(0,i.Z)({component:"p",variant:"body1",color:"text.secondary",ref:n,ownerState:a},e,{classes:c}))}))},49056:function(t,n,e){e.d(n,{Z:function(){return C}});var o=e(36222),i=e(1048),a=e(32793),r=e(50390),c=e(44977),s=e(50076),l=e(36128),d=e(91442),u=e(16756),h=e(15573),m=e(8208),p=e(10594);function g(t){return(0,p.Z)("MuiSwitch",t)}var v=(0,e(43349).Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),Z=e(62559),x=["className","color","edge","size","sx"],f=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(t,n){var e=t.ownerState;return[n.root,e.edge&&n["edge".concat((0,d.Z)(e.edge))],n["size".concat((0,d.Z)(e.size))]]}})((function(t){var n,e=t.ownerState;return(0,a.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===e.edge&&{marginLeft:-8},"end"===e.edge&&{marginRight:-8},"small"===e.size&&(n={width:40,height:24,padding:7},(0,o.Z)(n,"& .".concat(v.thumb),{width:16,height:16}),(0,o.Z)(n,"& .".concat(v.switchBase),(0,o.Z)({padding:4},"&.".concat(v.checked),{transform:"translateX(16px)"})),n))})),b=(0,m.ZP)(u.Z,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(t,n){var e=t.ownerState;return[n.switchBase,(0,o.Z)({},"& .".concat(v.input),n.input),"default"!==e.color&&n["color".concat((0,d.Z)(e.color))]]}})((function(t){var n,e=t.theme;return n={position:"absolute",top:0,left:0,zIndex:1,color:"light"===e.palette.mode?e.palette.common.white:e.palette.grey[300],transition:e.transitions.create(["left","transform"],{duration:e.transitions.duration.shortest})},(0,o.Z)(n,"&.".concat(v.checked),{transform:"translateX(20px)"}),(0,o.Z)(n,"&.".concat(v.disabled),{color:"light"===e.palette.mode?e.palette.grey[100]:e.palette.grey[600]}),(0,o.Z)(n,"&.".concat(v.checked," + .").concat(v.track),{opacity:.5}),(0,o.Z)(n,"&.".concat(v.disabled," + .").concat(v.track),{opacity:"light"===e.palette.mode?.12:.2}),(0,o.Z)(n,"& .".concat(v.input),{left:"-100%",width:"300%"}),n}),(function(t){var n,e=t.theme,i=t.ownerState;return(0,a.Z)({"&:hover":{backgroundColor:(0,l.Fq)(e.palette.action.active,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==i.color&&(n={},(0,o.Z)(n,"&.".concat(v.checked),(0,o.Z)({color:e.palette[i.color].main,"&:hover":{backgroundColor:(0,l.Fq)(e.palette[i.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(v.disabled),{color:"light"===e.palette.mode?(0,l.$n)(e.palette[i.color].main,.62):(0,l._j)(e.palette[i.color].main,.55)})),(0,o.Z)(n,"&.".concat(v.checked," + .").concat(v.track),{backgroundColor:e.palette[i.color].main}),n))})),j=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(t,n){return n.track}})((function(t){var n=t.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:n.transitions.create(["opacity","background-color"],{duration:n.transitions.duration.shortest}),backgroundColor:"light"===n.palette.mode?n.palette.common.black:n.palette.common.white,opacity:"light"===n.palette.mode?.38:.3}})),w=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(t,n){return n.thumb}})((function(t){return{boxShadow:t.theme.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),C=r.forwardRef((function(t,n){var e=(0,h.Z)({props:t,name:"MuiSwitch"}),o=e.className,r=e.color,l=void 0===r?"primary":r,u=e.edge,m=void 0!==u&&u,p=e.size,v=void 0===p?"medium":p,C=e.sx,S=(0,i.Z)(e,x),k=(0,a.Z)({},e,{color:l,edge:m,size:v}),I=function(t){var n=t.classes,e=t.edge,o=t.size,i=t.color,r=t.checked,c=t.disabled,l={root:["root",e&&"edge".concat((0,d.Z)(e)),"size".concat((0,d.Z)(o))],switchBase:["switchBase","color".concat((0,d.Z)(i)),r&&"checked",c&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},u=(0,s.Z)(l,g,n);return(0,a.Z)({},n,u)}(k),P=(0,Z.jsx)(w,{className:I.thumb,ownerState:k});return(0,Z.jsxs)(f,{className:(0,c.Z)(I.root,o),sx:C,ownerState:k,children:[(0,Z.jsx)(b,(0,a.Z)({type:"checkbox",icon:P,checkedIcon:P,ref:n,ownerState:k},S,{classes:(0,a.Z)({},I,{root:I.switchBase})})),(0,Z.jsx)(j,{className:I.track,ownerState:k})]})}))}}]); -//# sourceMappingURL=3698.49eb7411.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3698],{92440:function(t,n,e){var o=e(36222),i=e(18489),a=e(50390),r=e(86509),c=e(4285),s=e(49056),l=e(36554),d=e(94187),u=e(35477),h=e(25594),m=e(72462),p=e(97538),g=e(44977),v=e(62559),Z=(0,c.Z)((function(t){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:t.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:t.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(s.Z);n.Z=(0,c.Z)((function(t){return(0,r.Z)((0,i.Z)((0,i.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},m.OR),m.YI))}))((function(t){var n=t.label,e=void 0===n?"":n,i=t.onChange,r=t.value,c=t.id,s=t.name,m=t.checked,x=void 0!==m&&m,f=t.disabled,b=void 0!==f&&f,j=t.switchOnly,w=void 0!==j&&j,C=t.tooltip,S=void 0===C?"":C,k=t.description,I=void 0===k?"":k,P=t.classes,y=t.indicatorLabels,L=(0,v.jsxs)(a.Fragment,{children:[!w&&(0,v.jsx)("span",{className:(0,g.Z)(P.indicatorLabel,(0,o.Z)({},P.indicatorLabelOn,!x)),children:y&&y.length>1?y[1]:"OFF"}),(0,v.jsx)(Z,{checked:x,onChange:i,color:"primary",name:s,inputProps:{"aria-label":"primary checkbox"},disabled:b,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:r}),!w&&(0,v.jsx)("span",{className:(0,g.Z)(P.indicatorLabel,(0,o.Z)({},P.indicatorLabelOn,x)),children:y?y[0]:"ON"})]});return w?L:(0,v.jsx)("div",{className:P.divContainer,children:(0,v.jsxs)(h.ZP,{container:!0,alignItems:"center",children:[(0,v.jsx)(h.ZP,{item:!0,xs:!0,children:(0,v.jsxs)(h.ZP,{container:!0,children:[(0,v.jsx)(h.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==e&&(0,v.jsxs)(l.Z,{htmlFor:c,className:P.inputLabel,children:[(0,v.jsx)("span",{children:e}),""!==S&&(0,v.jsx)("div",{className:P.tooltipContainer,children:(0,v.jsx)(d.Z,{title:S,placement:"top-start",children:(0,v.jsx)("div",{className:P.tooltip,children:(0,v.jsx)(p.Z,{})})})})]})}),(0,v.jsx)(h.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==I&&(0,v.jsx)(u.Z,{component:"p",className:P.fieldDescription,children:I})})]})}),(0,v.jsx)(h.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:P.switchContainer,children:L})]})})}))},66964:function(t,n,e){var o=e(18489),i=e(50390),a=e(12066),r=e(25594),c=e(36554),s=e(94187),l=e(95467),d=e(86509),u=e(62449),h=e(4285),m=e(72462),p=e(97538),g=e(44977),v=e(62559),Z=(0,u.Z)((function(t){return(0,d.Z)((0,o.Z)({},m.gM))}));function x(t){var n=Z();return(0,v.jsx)(a.Z,(0,o.Z)({InputProps:{classes:n}},t))}n.Z=(0,h.Z)((function(t){return(0,d.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,o.Z)((0,o.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(t){var n=t.label,e=t.onChange,a=t.value,d=t.id,u=t.name,h=t.type,m=void 0===h?"text":h,Z=t.autoComplete,f=void 0===Z?"off":Z,b=t.disabled,j=void 0!==b&&b,w=t.multiline,C=void 0!==w&&w,S=t.tooltip,k=void 0===S?"":S,I=t.index,P=void 0===I?0:I,y=t.error,L=void 0===y?"":y,N=t.required,F=void 0!==N&&N,R=t.placeholder,M=void 0===R?"":R,B=t.min,E=t.max,A=t.overlayIcon,z=void 0===A?null:A,T=t.overlayObject,O=void 0===T?null:T,D=t.extraInputProps,W=void 0===D?{}:D,Y=t.overlayAction,$=t.noLabelMinWidth,q=void 0!==$&&$,X=t.pattern,_=void 0===X?"":X,H=t.autoFocus,Q=void 0!==H&&H,V=t.classes,G=t.className,J=void 0===G?"":G,K=(0,o.Z)({"data-index":P},W);return"number"===m&&B&&(K.min=B),"number"===m&&E&&(K.max=E),""!==_&&(K.pattern=_),(0,v.jsx)(i.Fragment,{children:(0,v.jsxs)(r.ZP,{container:!0,className:(0,g.Z)(""!==J?J:"",""!==L?V.errorInField:V.inputBoxContainer),children:[""!==n&&(0,v.jsxs)(c.Z,{htmlFor:d,className:q?V.noMinWidthLabel:V.inputLabel,children:[(0,v.jsxs)("span",{children:[n,F?"*":""]}),""!==k&&(0,v.jsx)("div",{className:V.tooltipContainer,children:(0,v.jsx)(s.Z,{title:k,placement:"top-start",children:(0,v.jsx)("div",{className:V.tooltip,children:(0,v.jsx)(p.Z,{})})})})]}),(0,v.jsxs)("div",{className:V.textBoxContainer,children:[(0,v.jsx)(x,{id:d,name:u,fullWidth:!0,value:a,autoFocus:Q,disabled:j,onChange:e,type:m,multiline:C,autoComplete:f,inputProps:K,error:""!==L,helperText:L,placeholder:M,className:V.inputRebase}),z&&(0,v.jsx)("div",{className:"".concat(V.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,v.jsx)(l.Z,{onClick:Y?function(){Y()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:z})}),O&&(0,v.jsx)("div",{className:"".concat(V.overlayAction," ").concat(""!==n?"withLabel":""),children:O})]})]})})}))},50280:function(t,n,e){var o=e(18489),i=e(50390),a=e(25594),r=e(86509),c=e(4285),s=e(72462),l=e(62559);n.Z=(0,c.Z)((function(t){return(0,r.Z)((0,o.Z)({},s.xx))}))((function(t){var n=t.classes,e=t.label,o=void 0===e?"":e,r=t.content,c=t.multiLine,s=void 0!==c&&c;return(0,l.jsx)(i.Fragment,{children:(0,l.jsxs)(a.ZP,{className:n.prefinedContainer,children:[""!==o&&(0,l.jsx)(a.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:o}),(0,l.jsx)(a.ZP,{item:!0,xs:12,className:n.predefinedList,children:(0,l.jsx)(a.ZP,{item:!0,xs:12,className:s?n.innerContentMultiline:n.innerContent,children:r})})]})})}))},60656:function(t,n,e){var o=e(18489),i=e(50390),a=e(84402),r=e(78426),c=e(93085),s=e(7887),l=e(66946),d=e(14476),u=e(95467),h=e(21278),m=e(86509),p=e(4285),g=e(72462),v=e(62559);n.Z=(0,p.Z)((function(t){return(0,m.Z)((0,o.Z)({},g.Qw))}))((function(t){var n=t.isOpen,e=void 0!==n&&n,m=t.onClose,p=t.onCancel,g=t.onConfirm,Z=t.classes,x=void 0===Z?{}:Z,f=t.title,b=void 0===f?"":f,j=t.isLoading,w=t.confirmationContent,C=t.cancelText,S=void 0===C?"Cancel":C,k=t.confirmText,I=void 0===k?"Confirm":k,P=t.confirmButtonProps,y=void 0===P?{}:P,L=t.cancelButtonProps,N=void 0===L?{}:L,F=t.titleIcon,R=void 0===F?null:F;return(0,v.jsxs)(a.Z,{open:e,onClose:function(t,n){"backdropClick"!==n&&m()},className:x.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,v.jsxs)(r.Z,{className:x.title,children:[(0,v.jsxs)("div",{className:x.titleText,children:[R," ",b]}),(0,v.jsx)("div",{className:x.closeContainer,children:(0,v.jsx)(u.Z,{"aria-label":"close",className:x.closeButton,onClick:m,disableRipple:!0,size:"small",children:(0,v.jsx)(h.Z,{})})})]}),(0,v.jsx)(c.Z,{className:x.content,children:w}),(0,v.jsxs)(s.Z,{className:x.actions,children:[(0,v.jsx)(l.Z,(0,o.Z)((0,o.Z)({className:x.cancelButton,onClick:p||m,disabled:j,type:"button"},N),{},{variant:"outlined",color:"primary",children:S})),(0,v.jsx)(d.Z,(0,o.Z)((0,o.Z)({className:x.confirmButton,type:"button",onClick:g,loading:j,disabled:j,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,v.jsx)(i.Fragment,{}),autoFocus:!0},y),{},{children:I}))]})]})}))},93698:function(t,n,e){e.r(n);var o=e(23430),i=e(50390),a=e(34424),r=e(23473),c=e(25594),s=e(81378),l=e(44149),d=e(30324),u=e(66964),h=e(50280),m=e(92440),p=e(60656),g=e(98280),v=e(62559),Z={setErrorSnackMessage:l.Ih},x=(0,a.$j)(null,Z);n.default=x((function(t){var n=t.closeFormatModalAndRefresh,e=t.deleteOpen,a=t.allDrives,l=t.drivesToFormat,Z=t.setErrorSnackMessage,x=(0,i.useState)(!1),f=(0,o.Z)(x,2),b=f[0],j=f[1],w=(0,i.useState)(""),C=(0,o.Z)(w,2),S=C[0],k=C[1],I=(0,i.useState)(!1),P=(0,o.Z)(I,2),y=P[0],L=P[1];return(0,v.jsx)(p.Z,{title:"Format ".concat(a?"All ":""," Drives"),confirmText:"Format Drive".concat(l.length>1||a?"s":""),confirmButtonProps:{disabled:"YES, PROCEED"!==S},isOpen:e,isLoading:b,onConfirm:function(){b||(j(!0),d.Z.invoke("POST","/api/v1/direct-csi/drives/format",{drives:l,force:y}).then((function(t){j(!1),n(!0,t.formatIssuesList)})).catch((function(t){j(!1),Z(t)})))},onClose:function(){n(!1,[])},titleIcon:(0,v.jsx)(g.Q,{}),confirmationContent:(0,v.jsxs)(i.Fragment,{children:[(0,v.jsxs)(r.Z,{children:[!a&&(0,v.jsxs)(i.Fragment,{children:[(0,v.jsx)(h.Z,{label:"Selected Drive".concat(l.length>1?"s":""),content:l.join(", ")}),(0,v.jsx)("br",{})]}),(0,v.jsx)(c.ZP,{item:!0,xs:12,children:(0,v.jsx)(m.Z,{value:"force",id:"force",name:"force",checked:y,onChange:function(t){L(t.target.checked)},label:"Force Format",indicatorLabels:["Yes","No"]})}),"Are you sure you want to format"," ",a?(0,v.jsx)("strong",{children:"All"}):"the selected"," drive",l.length>1||a?"s":"","?.",(0,v.jsx)("br",{}),(0,v.jsx)("br",{}),(0,v.jsx)("strong",{children:"All information contained will be erased and cannot be recovered"}),(0,v.jsx)("br",{}),(0,v.jsx)("br",{}),"To continue please type ",(0,v.jsx)("b",{children:"YES, PROCEED"})," in the box.",(0,v.jsx)(c.ZP,{item:!0,xs:12,children:(0,v.jsx)(u.Z,{id:"format-confirm",name:"format-confirm",onChange:function(t){k(t.target.value)},label:"",value:S})})]}),b&&(0,v.jsx)(s.Z,{})]})})}))},14476:function(t,n,e){e.d(n,{Z:function(){return j}});var o=e(36222),i=e(46633),a=e(18207),r=e(50390),c=e(91442),s=e(4733),l=e(50076),d=e(8208),u=e(15573),h=e(66946),m=e(18201),p=e(10594);function g(t){return(0,p.Z)("MuiLoadingButton",t)}var v=(0,e(43349).Z)("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),Z=e(62559),x=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],f=(0,d.ZP)(h.Z,{shouldForwardProp:function(t){return function(t){return"ownerState"!==t&&"theme"!==t&&"sx"!==t&&"as"!==t&&"classes"!==t}(t)||"classes"===t},name:"MuiLoadingButton",slot:"Root",overridesResolver:function(t,n){return[n.root,n.startIconLoadingStart&&(0,o.Z)({},"& .".concat(v.startIconLoadingStart),n.startIconLoadingStart),n.endIconLoadingEnd&&(0,o.Z)({},"& .".concat(v.endIconLoadingEnd),n.endIconLoadingEnd)]}})((function(t){var n=t.ownerState,e=t.theme;return(0,a.Z)((0,o.Z)({},"& .".concat(v.startIconLoadingStart,", & .").concat(v.endIconLoadingEnd),{transition:e.transitions.create(["opacity"],{duration:e.transitions.duration.short}),opacity:0}),"center"===n.loadingPosition&&(0,o.Z)({transition:e.transitions.create(["background-color","box-shadow","border-color"],{duration:e.transitions.duration.short})},"&.".concat(v.loading),{color:"transparent"}),"start"===n.loadingPosition&&n.fullWidth&&(0,o.Z)({},"& .".concat(v.startIconLoadingStart,", & .").concat(v.endIconLoadingEnd),{transition:e.transitions.create(["opacity"],{duration:e.transitions.duration.short}),opacity:0,marginRight:-8}),"end"===n.loadingPosition&&n.fullWidth&&(0,o.Z)({},"& .".concat(v.startIconLoadingStart,", & .").concat(v.endIconLoadingEnd),{transition:e.transitions.create(["opacity"],{duration:e.transitions.duration.short}),opacity:0,marginLeft:-8}))})),b=(0,d.ZP)("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:function(t,n){var e=t.ownerState;return[n.loadingIndicator,n["loadingIndicator".concat((0,c.Z)(e.loadingPosition))]]}})((function(t){var n=t.theme,e=t.ownerState;return(0,a.Z)({position:"absolute",visibility:"visible",display:"flex"},"start"===e.loadingPosition&&("outlined"===e.variant||"contained"===e.variant)&&{left:14},"start"===e.loadingPosition&&"text"===e.variant&&{left:6},"center"===e.loadingPosition&&{left:"50%",transform:"translate(-50%)",color:n.palette.action.disabled},"end"===e.loadingPosition&&("outlined"===e.variant||"contained"===e.variant)&&{right:14},"end"===e.loadingPosition&&"text"===e.variant&&{right:6},"start"===e.loadingPosition&&e.fullWidth&&{position:"relative",left:-10},"end"===e.loadingPosition&&e.fullWidth&&{position:"relative",right:-10})})),j=r.forwardRef((function(t,n){var e=(0,u.Z)({props:t,name:"MuiLoadingButton"}),o=e.children,d=e.disabled,h=void 0!==d&&d,p=e.id,v=e.loading,j=void 0!==v&&v,w=e.loadingIndicator,C=e.loadingPosition,S=void 0===C?"center":C,k=e.variant,I=void 0===k?"text":k,P=(0,i.Z)(e,x),y=(0,s.Z)(p),L=null!=w?w:(0,Z.jsx)(m.Z,{"aria-labelledby":y,color:"inherit",size:16}),N=(0,a.Z)({},e,{disabled:h,loading:j,loadingIndicator:L,loadingPosition:S,variant:I}),F=function(t){var n=t.loading,e=t.loadingPosition,o=t.classes,i={root:["root",n&&"loading"],startIcon:[n&&"startIconLoading".concat((0,c.Z)(e))],endIcon:[n&&"endIconLoading".concat((0,c.Z)(e))],loadingIndicator:["loadingIndicator",n&&"loadingIndicator".concat((0,c.Z)(e))]},r=(0,l.Z)(i,g,o);return(0,a.Z)({},o,r)}(N);return(0,Z.jsx)(f,(0,a.Z)({disabled:h||j,id:y,ref:n},P,{variant:I,classes:F,ownerState:N,children:"end"===N.loadingPosition?(0,Z.jsxs)(r.Fragment,{children:[o,j&&(0,Z.jsx)(b,{className:F.loadingIndicator,ownerState:N,children:L})]}):(0,Z.jsxs)(r.Fragment,{children:[j&&(0,Z.jsx)(b,{className:F.loadingIndicator,ownerState:N,children:L}),o]})}))}))},7887:function(t,n,e){e.d(n,{Z:function(){return g}});var o=e(1048),i=e(32793),a=e(50390),r=e(44977),c=e(50076),s=e(8208),l=e(15573),d=e(10594);function u(t){return(0,d.Z)("MuiDialogActions",t)}(0,e(43349).Z)("MuiDialogActions",["root","spacing"]);var h=e(62559),m=["className","disableSpacing"],p=(0,s.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(t,n){var e=t.ownerState;return[n.root,!e.disableSpacing&&n.spacing]}})((function(t){var n=t.ownerState;return(0,i.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!n.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),g=a.forwardRef((function(t,n){var e=(0,l.Z)({props:t,name:"MuiDialogActions"}),a=e.className,s=e.disableSpacing,d=void 0!==s&&s,g=(0,o.Z)(e,m),v=(0,i.Z)({},e,{disableSpacing:d}),Z=function(t){var n=t.classes,e={root:["root",!t.disableSpacing&&"spacing"]};return(0,c.Z)(e,u,n)}(v);return(0,h.jsx)(p,(0,i.Z)({className:(0,r.Z)(Z.root,a),ownerState:v,ref:n},g))}))},23473:function(t,n,e){e.d(n,{Z:function(){return g}});var o=e(1048),i=e(32793),a=e(50390),r=e(50076),c=e(8208),s=e(15573),l=e(35477),d=e(10594);function u(t){return(0,d.Z)("MuiDialogContentText",t)}(0,e(43349).Z)("MuiDialogContentText",["root"]);var h=e(62559),m=["children"],p=(0,c.ZP)(l.Z,{shouldForwardProp:function(t){return(0,c.FO)(t)||"classes"===t},name:"MuiDialogContentText",slot:"Root",overridesResolver:function(t,n){return n.root}})({}),g=a.forwardRef((function(t,n){var e=(0,s.Z)({props:t,name:"MuiDialogContentText"}),a=(0,o.Z)(e,m),c=function(t){var n=t.classes,e=(0,r.Z)({root:["root"]},u,n);return(0,i.Z)({},n,e)}(a);return(0,h.jsx)(p,(0,i.Z)({component:"p",variant:"body1",color:"text.secondary",ref:n,ownerState:a},e,{classes:c}))}))},49056:function(t,n,e){e.d(n,{Z:function(){return C}});var o=e(36222),i=e(1048),a=e(32793),r=e(50390),c=e(44977),s=e(50076),l=e(36128),d=e(91442),u=e(16756),h=e(15573),m=e(8208),p=e(10594);function g(t){return(0,p.Z)("MuiSwitch",t)}var v=(0,e(43349).Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),Z=e(62559),x=["className","color","edge","size","sx"],f=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(t,n){var e=t.ownerState;return[n.root,e.edge&&n["edge".concat((0,d.Z)(e.edge))],n["size".concat((0,d.Z)(e.size))]]}})((function(t){var n,e=t.ownerState;return(0,a.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===e.edge&&{marginLeft:-8},"end"===e.edge&&{marginRight:-8},"small"===e.size&&(n={width:40,height:24,padding:7},(0,o.Z)(n,"& .".concat(v.thumb),{width:16,height:16}),(0,o.Z)(n,"& .".concat(v.switchBase),(0,o.Z)({padding:4},"&.".concat(v.checked),{transform:"translateX(16px)"})),n))})),b=(0,m.ZP)(u.Z,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(t,n){var e=t.ownerState;return[n.switchBase,(0,o.Z)({},"& .".concat(v.input),n.input),"default"!==e.color&&n["color".concat((0,d.Z)(e.color))]]}})((function(t){var n,e=t.theme;return n={position:"absolute",top:0,left:0,zIndex:1,color:"light"===e.palette.mode?e.palette.common.white:e.palette.grey[300],transition:e.transitions.create(["left","transform"],{duration:e.transitions.duration.shortest})},(0,o.Z)(n,"&.".concat(v.checked),{transform:"translateX(20px)"}),(0,o.Z)(n,"&.".concat(v.disabled),{color:"light"===e.palette.mode?e.palette.grey[100]:e.palette.grey[600]}),(0,o.Z)(n,"&.".concat(v.checked," + .").concat(v.track),{opacity:.5}),(0,o.Z)(n,"&.".concat(v.disabled," + .").concat(v.track),{opacity:"light"===e.palette.mode?.12:.2}),(0,o.Z)(n,"& .".concat(v.input),{left:"-100%",width:"300%"}),n}),(function(t){var n,e=t.theme,i=t.ownerState;return(0,a.Z)({"&:hover":{backgroundColor:(0,l.Fq)(e.palette.action.active,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==i.color&&(n={},(0,o.Z)(n,"&.".concat(v.checked),(0,o.Z)({color:e.palette[i.color].main,"&:hover":{backgroundColor:(0,l.Fq)(e.palette[i.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(v.disabled),{color:"light"===e.palette.mode?(0,l.$n)(e.palette[i.color].main,.62):(0,l._j)(e.palette[i.color].main,.55)})),(0,o.Z)(n,"&.".concat(v.checked," + .").concat(v.track),{backgroundColor:e.palette[i.color].main}),n))})),j=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(t,n){return n.track}})((function(t){var n=t.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:n.transitions.create(["opacity","background-color"],{duration:n.transitions.duration.shortest}),backgroundColor:"light"===n.palette.mode?n.palette.common.black:n.palette.common.white,opacity:"light"===n.palette.mode?.38:.3}})),w=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(t,n){return n.thumb}})((function(t){return{boxShadow:t.theme.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),C=r.forwardRef((function(t,n){var e=(0,h.Z)({props:t,name:"MuiSwitch"}),o=e.className,r=e.color,l=void 0===r?"primary":r,u=e.edge,m=void 0!==u&&u,p=e.size,v=void 0===p?"medium":p,C=e.sx,S=(0,i.Z)(e,x),k=(0,a.Z)({},e,{color:l,edge:m,size:v}),I=function(t){var n=t.classes,e=t.edge,o=t.size,i=t.color,r=t.checked,c=t.disabled,l={root:["root",e&&"edge".concat((0,d.Z)(e)),"size".concat((0,d.Z)(o))],switchBase:["switchBase","color".concat((0,d.Z)(i)),r&&"checked",c&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},u=(0,s.Z)(l,g,n);return(0,a.Z)({},n,u)}(k),P=(0,Z.jsx)(w,{className:I.thumb,ownerState:k});return(0,Z.jsxs)(f,{className:(0,c.Z)(I.root,o),sx:C,ownerState:k,children:[(0,Z.jsx)(b,(0,a.Z)({type:"checkbox",icon:P,checkedIcon:P,ref:n,ownerState:k},S,{classes:(0,a.Z)({},I,{root:I.switchBase})})),(0,Z.jsx)(j,{className:I.track,ownerState:k})]})}))}}]); +//# sourceMappingURL=3698.1144caf6.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3698.49eb7411.chunk.js.map b/portal-ui/build/static/js/3698.1144caf6.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/3698.49eb7411.chunk.js.map rename to portal-ui/build/static/js/3698.1144caf6.chunk.js.map index ce875c1af..7e48926c3 100644 --- a/portal-ui/build/static/js/3698.49eb7411.chunk.js.map +++ b/portal-ui/build/static/js/3698.1144caf6.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/3698.49eb7411.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/DirectCSI/FormatDrives.tsx","../node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","../node_modules/@mui/lab/LoadingButton/LoadingButton.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.js","../node_modules/@mui/material/Switch/switchClasses.js","../node_modules/@mui/material/Switch/Switch.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 { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n
\n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n
\n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import React, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { DialogContentText, Grid, LinearProgress } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { IDirectCSIFormatResItem, IDirectCSIFormatResult } 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\";\n\ninterface IFormatAllDrivesProps {\n closeFormatModalAndRefresh: (\n refresh: boolean,\n formatIssuesList: IDirectCSIFormatResItem[]\n ) => void;\n deleteOpen: boolean;\n allDrives: boolean;\n drivesToFormat: string[];\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst FormatDrives = ({\n closeFormatModalAndRefresh,\n deleteOpen,\n allDrives,\n drivesToFormat,\n setErrorSnackMessage,\n}: IFormatAllDrivesProps) => {\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/direct-csi/drives/format`, {\n drives: drivesToFormat,\n force,\n })\n .then((res: IDirectCSIFormatResult) => {\n setDeleteLoading(false);\n closeFormatModalAndRefresh(true, res.formatIssuesList);\n })\n .catch((err: ErrorResponseHandler) => {\n setDeleteLoading(false);\n 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\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(FormatDrives);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLoadingButtonUtilityClass(slot) {\n return generateUtilityClass('MuiLoadingButton', slot);\n}\nconst loadingButtonClasses = generateUtilityClasses('MuiLoadingButton', ['root', 'loading', 'loadingIndicator', 'loadingIndicatorCenter', 'loadingIndicatorStart', 'loadingIndicatorEnd', 'endIconLoadingEnd', 'startIconLoadingStart']);\nexport default loadingButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"disabled\", \"id\", \"loading\", \"loadingIndicator\", \"loadingPosition\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@mui/utils';\nimport { capitalize, unstable_useId as useId } from '@mui/material/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading'],\n startIcon: [loading && `startIconLoading${capitalize(loadingPosition)}`],\n endIcon: [loading && `endIconLoading${capitalize(loadingPosition)}`],\n loadingIndicator: ['loadingIndicator', loading && `loadingIndicator${capitalize(loadingPosition)}`]\n };\n const composedClasses = composeClasses(slots, getLoadingButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n}; // TODO use `import { rootShouldForwardProp } from '../styles/styled';` once move to core\n\n\nconst rootShouldForwardProp = prop => prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as' && prop !== 'classes';\n\nconst LoadingButtonRoot = styled(Button, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiLoadingButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root, styles.startIconLoadingStart && {\n [`& .${loadingButtonClasses.startIconLoadingStart}`]: styles.startIconLoadingStart\n }, styles.endIconLoadingEnd && {\n [`& .${loadingButtonClasses.endIconLoadingEnd}`]: styles.endIconLoadingEnd\n }];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n}, ownerState.loadingPosition === 'center' && {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${loadingButtonClasses.loading}`]: {\n color: 'transparent'\n }\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginRight: -8\n }\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginLeft: -8\n }\n}));\nconst LoadingButtonLoadingIndicator = styled('div', {\n name: 'MuiLoadingButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.loadingIndicator, styles[`loadingIndicator${capitalize(ownerState.loadingPosition)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'absolute',\n visibility: 'visible',\n display: 'flex'\n}, ownerState.loadingPosition === 'start' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n left: 14\n}, ownerState.loadingPosition === 'start' && ownerState.variant === 'text' && {\n left: 6\n}, ownerState.loadingPosition === 'center' && {\n left: '50%',\n transform: 'translate(-50%)',\n color: theme.palette.action.disabled\n}, ownerState.loadingPosition === 'end' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n right: 14\n}, ownerState.loadingPosition === 'end' && ownerState.variant === 'text' && {\n right: 6\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n position: 'relative',\n left: -10\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n position: 'relative',\n right: -10\n}));\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLoadingButton'\n });\n\n const {\n children,\n disabled = false,\n id: idProp,\n loading = false,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp != null ? loadingIndicatorProp : /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n\n const ownerState = _extends({}, props, {\n disabled,\n loading,\n loadingIndicator,\n loadingPosition,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LoadingButtonRoot, _extends({\n disabled: disabled || loading,\n id: id,\n ref: ref\n }, other, {\n variant: variant,\n classes: classes,\n ownerState: ownerState,\n children: ownerState.loadingPosition === 'end' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children, loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n }), children]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LoadingButton.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * @ignore\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the loading indicator is shown.\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default we render a `CircularProgress` that is labelled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: chainPropTypes(PropTypes.oneOf(['start', 'end', 'center']), props => {\n if (props.loadingPosition === 'start' && !props.startIcon) {\n return new Error(`MUI: The loadingPosition=\"start\" should be used in combination with startIcon.`);\n }\n\n if (props.loadingPosition === 'end' && !props.endIcon) {\n return new Error(`MUI: The loadingPosition=\"end\" should be used in combination with endIcon.`);\n }\n\n return null;\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes.oneOf(['contained', 'outlined', 'text'])\n} : void 0;\nexport default LoadingButton;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n\n const ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * 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 DialogContentText;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, darken, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n}, ownerState.edge === 'start' && {\n marginLeft: -8\n}, ownerState.edge === 'end' && {\n marginRight: -8\n}, ownerState.size === 'small' && {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n}));\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.palette.mode === 'light' ? 0.12 : 0.2\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({\n '&:hover': {\n backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${switchClasses.checked}`]: {\n color: theme.palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: theme.palette[ownerState.color].main\n }\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.mode === 'light' ? 0.38 : 0.3\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;"],"names":["StyledSwitch","withStyles","theme","root","width","height","padding","margin","switchBase","transform","color","palette","common","white","backgroundColor","boxShadow","opacity","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","display","alignItems","justifyContent","Switch","createStyles","divContainer","marginBottom","indicatorLabelOn","fontWeight","indicatorLabel","fontSize","fieldDescription","marginTop","tooltip","actionsTray","fieldBasic","label","onChange","value","id","name","disabled","switchOnly","description","classes","indicatorLabels","switchComponent","className","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","container","item","xs","sm","md","htmlFor","inputLabel","tooltipContainer","title","placement","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","onClick","size","predefinedList","content","multiLine","Fragment","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","isLoading","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","sx","titleText","closeContainer","closeButton","actions","cancelButton","variant","confirmButton","loading","loadingPosition","startIcon","mapDispatchToProps","setErrorSnackMessage","connector","connect","closeFormatModalAndRefresh","deleteOpen","allDrives","drivesToFormat","useState","deleteLoading","setDeleteLoading","formatAll","setFormatAll","force","setForce","api","drives","then","res","formatIssuesList","catch","err","join","target","getLoadingButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","LoadingButtonRoot","styled","Button","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","startIconLoadingStart","loadingButtonClasses","endIconLoadingEnd","ownerState","_extends","duration","short","marginRight","LoadingButtonLoadingIndicator","loadingIndicator","capitalize","visibility","left","action","React","inProps","ref","useThemeProps","children","idProp","loadingIndicatorProp","other","_objectWithoutPropertiesLoose","useId","_jsx","CircularProgress","slots","endIcon","composedClasses","composeClasses","useUtilityClasses","_jsxs","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","spacing","flex","getDialogContentTextUtilityClass","DialogContentTextRoot","Typography","getSwitchUtilityClass","SwitchRoot","edge","overflow","boxSizing","flexShrink","zIndex","verticalAlign","colorAdjust","switchClasses","SwitchSwitchBase","SwitchBase","input","mode","grey","shortest","alpha","active","hoverOpacity","main","lighten","darken","SwitchTrack","black","SwitchThumb","shadows","icon","checkedIcon"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/3698.1144caf6.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/DirectCSI/FormatDrives.tsx","../node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","../node_modules/@mui/lab/LoadingButton/LoadingButton.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.js","../node_modules/@mui/material/Switch/switchClasses.js","../node_modules/@mui/material/Switch/Switch.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 { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import React, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { DialogContentText, Grid, LinearProgress } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { IDirectCSIFormatResItem, IDirectCSIFormatResult } 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\";\n\ninterface IFormatAllDrivesProps {\n closeFormatModalAndRefresh: (\n refresh: boolean,\n formatIssuesList: IDirectCSIFormatResItem[]\n ) => void;\n deleteOpen: boolean;\n allDrives: boolean;\n drivesToFormat: string[];\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst FormatDrives = ({\n closeFormatModalAndRefresh,\n deleteOpen,\n allDrives,\n drivesToFormat,\n setErrorSnackMessage,\n}: IFormatAllDrivesProps) => {\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/direct-csi/drives/format`, {\n drives: drivesToFormat,\n force,\n })\n .then((res: IDirectCSIFormatResult) => {\n setDeleteLoading(false);\n closeFormatModalAndRefresh(true, res.formatIssuesList);\n })\n .catch((err: ErrorResponseHandler) => {\n setDeleteLoading(false);\n 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\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(FormatDrives);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLoadingButtonUtilityClass(slot) {\n return generateUtilityClass('MuiLoadingButton', slot);\n}\nconst loadingButtonClasses = generateUtilityClasses('MuiLoadingButton', ['root', 'loading', 'loadingIndicator', 'loadingIndicatorCenter', 'loadingIndicatorStart', 'loadingIndicatorEnd', 'endIconLoadingEnd', 'startIconLoadingStart']);\nexport default loadingButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"disabled\", \"id\", \"loading\", \"loadingIndicator\", \"loadingPosition\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@mui/utils';\nimport { capitalize, unstable_useId as useId } from '@mui/material/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading'],\n startIcon: [loading && `startIconLoading${capitalize(loadingPosition)}`],\n endIcon: [loading && `endIconLoading${capitalize(loadingPosition)}`],\n loadingIndicator: ['loadingIndicator', loading && `loadingIndicator${capitalize(loadingPosition)}`]\n };\n const composedClasses = composeClasses(slots, getLoadingButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n}; // TODO use `import { rootShouldForwardProp } from '../styles/styled';` once move to core\n\n\nconst rootShouldForwardProp = prop => prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as' && prop !== 'classes';\n\nconst LoadingButtonRoot = styled(Button, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiLoadingButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root, styles.startIconLoadingStart && {\n [`& .${loadingButtonClasses.startIconLoadingStart}`]: styles.startIconLoadingStart\n }, styles.endIconLoadingEnd && {\n [`& .${loadingButtonClasses.endIconLoadingEnd}`]: styles.endIconLoadingEnd\n }];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n}, ownerState.loadingPosition === 'center' && {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${loadingButtonClasses.loading}`]: {\n color: 'transparent'\n }\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginRight: -8\n }\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginLeft: -8\n }\n}));\nconst LoadingButtonLoadingIndicator = styled('div', {\n name: 'MuiLoadingButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.loadingIndicator, styles[`loadingIndicator${capitalize(ownerState.loadingPosition)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'absolute',\n visibility: 'visible',\n display: 'flex'\n}, ownerState.loadingPosition === 'start' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n left: 14\n}, ownerState.loadingPosition === 'start' && ownerState.variant === 'text' && {\n left: 6\n}, ownerState.loadingPosition === 'center' && {\n left: '50%',\n transform: 'translate(-50%)',\n color: theme.palette.action.disabled\n}, ownerState.loadingPosition === 'end' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n right: 14\n}, ownerState.loadingPosition === 'end' && ownerState.variant === 'text' && {\n right: 6\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n position: 'relative',\n left: -10\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n position: 'relative',\n right: -10\n}));\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLoadingButton'\n });\n\n const {\n children,\n disabled = false,\n id: idProp,\n loading = false,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp != null ? loadingIndicatorProp : /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n\n const ownerState = _extends({}, props, {\n disabled,\n loading,\n loadingIndicator,\n loadingPosition,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LoadingButtonRoot, _extends({\n disabled: disabled || loading,\n id: id,\n ref: ref\n }, other, {\n variant: variant,\n classes: classes,\n ownerState: ownerState,\n children: ownerState.loadingPosition === 'end' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children, loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n }), children]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LoadingButton.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * @ignore\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the loading indicator is shown.\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default we render a `CircularProgress` that is labelled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: chainPropTypes(PropTypes.oneOf(['start', 'end', 'center']), props => {\n if (props.loadingPosition === 'start' && !props.startIcon) {\n return new Error(`MUI: The loadingPosition=\"start\" should be used in combination with startIcon.`);\n }\n\n if (props.loadingPosition === 'end' && !props.endIcon) {\n return new Error(`MUI: The loadingPosition=\"end\" should be used in combination with endIcon.`);\n }\n\n return null;\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes.oneOf(['contained', 'outlined', 'text'])\n} : void 0;\nexport default LoadingButton;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n\n const ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * 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 DialogContentText;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, darken, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n}, ownerState.edge === 'start' && {\n marginLeft: -8\n}, ownerState.edge === 'end' && {\n marginRight: -8\n}, ownerState.size === 'small' && {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n}));\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.palette.mode === 'light' ? 0.12 : 0.2\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({\n '&:hover': {\n backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${switchClasses.checked}`]: {\n color: theme.palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: theme.palette[ownerState.color].main\n }\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.mode === 'light' ? 0.38 : 0.3\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;"],"names":["StyledSwitch","withStyles","theme","root","width","height","padding","margin","switchBase","transform","color","palette","common","white","backgroundColor","boxShadow","opacity","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","display","alignItems","justifyContent","Switch","createStyles","divContainer","marginBottom","indicatorLabelOn","fontWeight","indicatorLabel","fontSize","fieldDescription","marginTop","tooltip","actionsTray","fieldBasic","label","onChange","value","id","name","disabled","switchOnly","description","classes","indicatorLabels","switchComponent","className","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","container","item","xs","sm","md","htmlFor","inputLabel","tooltipContainer","title","placement","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","onClick","size","predefinedList","content","multiLine","Fragment","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","isLoading","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","sx","titleText","closeContainer","closeButton","actions","cancelButton","variant","confirmButton","loading","loadingPosition","startIcon","mapDispatchToProps","setErrorSnackMessage","connector","connect","closeFormatModalAndRefresh","deleteOpen","allDrives","drivesToFormat","useState","deleteLoading","setDeleteLoading","formatAll","setFormatAll","force","setForce","api","drives","then","res","formatIssuesList","catch","err","join","target","getLoadingButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","LoadingButtonRoot","styled","Button","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","startIconLoadingStart","loadingButtonClasses","endIconLoadingEnd","ownerState","_extends","duration","short","marginRight","LoadingButtonLoadingIndicator","loadingIndicator","capitalize","visibility","left","action","React","inProps","ref","useThemeProps","children","idProp","loadingIndicatorProp","other","_objectWithoutPropertiesLoose","useId","_jsx","CircularProgress","slots","endIcon","composedClasses","composeClasses","useUtilityClasses","_jsxs","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","spacing","flex","getDialogContentTextUtilityClass","DialogContentTextRoot","Typography","getSwitchUtilityClass","SwitchRoot","edge","overflow","boxSizing","flexShrink","zIndex","verticalAlign","colorAdjust","switchClasses","SwitchSwitchBase","SwitchBase","input","mode","grey","shortest","alpha","active","hoverOpacity","main","lighten","darken","SwitchTrack","black","SwitchThumb","shadows","icon","checkedIcon"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3795.ca99e16b.chunk.js b/portal-ui/build/static/js/3795.ca99e16b.chunk.js deleted file mode 100644 index 6f26ee3d5..000000000 --- a/portal-ui/build/static/js/3795.ca99e16b.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3795],{8235:function(e,n,t){t(50390);var a=t(86509),i=t(4285),o=t(25594),r=t(62559);n.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 n=e.classes,t=e.iconComponent,a=e.title,i=e.help;return(0,r.jsx)("div",{className:n.root,children:(0,r.jsxs)(o.ZP,{container:!0,children:[(0,r.jsxs)(o.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,a]}),(0,r.jsx)(o.ZP,{item:!0,xs:12,className:n.helpText,children:i})]})})}))},3873:function(e,n,t){t.d(n,{Z:function(){return x}});var a=t(35721),i=t(50390),o=t(25594),r=t(56805),s=t(8235),l=t(62559),c=function(e){var n=e.iconComponent,t=void 0===n?null:n,a=e.title,i=void 0===a?"":a,c=e.message,d=void 0===c?"":c;return(0,l.jsx)(o.ZP,{container:!0,alignItems:"center",children:(0,l.jsx)(o.ZP,{item:!0,xs:12,children:(0,l.jsx)(s.Z,{title:i,iconComponent:t,help:(0,l.jsx)(r.Z,{sx:{fontSize:"14px",display:"flex",border:"none",flexFlow:{xs:"column",md:"row"},"& a":{color:function(e){return e.colors.link},textDecoration:"underline"}},children:d})})})})},d=t(25534),x=function(e){var n=e.pageHeaderText,t=void 0===n?"":n,o=e.icon,r=void 0===o?null:o,s=e.title,x=void 0===s?"":s,p=e.message,h=void 0===p?null:p;return(0,l.jsxs)(i.Fragment,{children:[(0,l.jsx)(a.Z,{label:t}),(0,l.jsx)(d.Z,{children:(0,l.jsx)(c,{iconComponent:r,title:x,message:h})})]})}},92440:function(e,n,t){var a=t(36222),i=t(18489),o=t(50390),r=t(86509),s=t(4285),l=t(49056),c=t(14602),d=t(94187),x=t(35477),p=t(25594),h=t(72462),u=t(97538),m=t(44977),g=t(62559),f=(0,s.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(l.Z);n.Z=(0,s.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},h.OR),h.YI))}))((function(e){var n=e.label,t=void 0===n?"":n,i=e.onChange,r=e.value,s=e.id,l=e.name,h=e.checked,j=void 0!==h&&h,Z=e.disabled,b=void 0!==Z&&Z,v=e.switchOnly,y=void 0!==v&&v,C=e.tooltip,w=void 0===C?"":C,T=e.description,S=void 0===T?"":T,z=e.classes,L=e.indicatorLabels,k=(0,g.jsxs)(o.Fragment,{children:[!y&&(0,g.jsx)("span",{className:(0,m.Z)(z.indicatorLabel,(0,a.Z)({},z.indicatorLabelOn,!j)),children:L&&L.length>1?L[1]:"OFF"}),(0,g.jsx)(f,{checked:j,onChange:i,color:"primary",name:l,inputProps:{"aria-label":"primary checkbox"},disabled:b,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:r}),!y&&(0,g.jsx)("span",{className:(0,m.Z)(z.indicatorLabel,(0,a.Z)({},z.indicatorLabelOn,j)),children:L?L[0]:"ON"})]});return y?k:(0,g.jsx)("div",{className:z.divContainer,children:(0,g.jsxs)(p.ZP,{container:!0,alignItems:"center",children:[(0,g.jsx)(p.ZP,{item:!0,xs:!0,children:(0,g.jsxs)(p.ZP,{container:!0,children:[(0,g.jsx)(p.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==t&&(0,g.jsxs)(c.Z,{htmlFor:s,className:z.inputLabel,children:[(0,g.jsx)("span",{children:t}),""!==w&&(0,g.jsx)("div",{className:z.tooltipContainer,children:(0,g.jsx)(d.Z,{title:w,placement:"top-start",children:(0,g.jsx)("div",{className:z.tooltip,children:(0,g.jsx)(u.Z,{})})})})]})}),(0,g.jsx)(p.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==S&&(0,g.jsx)(x.Z,{component:"p",className:z.fieldDescription,children:S})})]})}),(0,g.jsx)(p.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:z.switchContainer,children:k})]})})}))},66964:function(e,n,t){var a=t(18489),i=t(50390),o=t(12066),r=t(25594),s=t(14602),l=t(94187),c=t(95467),d=t(86509),x=t(62449),p=t(4285),h=t(72462),u=t(97538),m=t(44977),g=t(62559),f=(0,x.Z)((function(e){return(0,d.Z)((0,a.Z)({},h.gM))}));function j(e){var n=f();return(0,g.jsx)(o.Z,(0,a.Z)({InputProps:{classes:n}},e))}n.Z=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},h.YI),h.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,a.Z)((0,a.Z)({},h.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,t=e.onChange,o=e.value,d=e.id,x=e.name,p=e.type,h=void 0===p?"text":p,f=e.autoComplete,Z=void 0===f?"off":f,b=e.disabled,v=void 0!==b&&b,y=e.multiline,C=void 0!==y&&y,w=e.tooltip,T=void 0===w?"":w,S=e.index,z=void 0===S?0:S,L=e.error,k=void 0===L?"":L,F=e.required,N=void 0!==F&&F,A=e.placeholder,_=void 0===A?"":A,E=e.min,M=e.max,I=e.overlayIcon,R=void 0===I?null:I,O=e.overlayObject,P=void 0===O?null:O,B=e.extraInputProps,W=void 0===B?{}:B,H=e.overlayAction,G=e.noLabelMinWidth,D=void 0!==G&&G,U=e.pattern,$=void 0===U?"":U,Y=e.autoFocus,q=void 0!==Y&&Y,V=e.classes,K=e.className,Q=void 0===K?"":K,X=(0,a.Z)({"data-index":z},W);return"number"===h&&E&&(X.min=E),"number"===h&&M&&(X.max=M),""!==$&&(X.pattern=$),(0,g.jsx)(i.Fragment,{children:(0,g.jsxs)(r.ZP,{container:!0,className:(0,m.Z)(""!==Q?Q:"",""!==k?V.errorInField:V.inputBoxContainer),children:[""!==n&&(0,g.jsxs)(s.Z,{htmlFor:d,className:D?V.noMinWidthLabel:V.inputLabel,children:[(0,g.jsxs)("span",{children:[n,N?"*":""]}),""!==T&&(0,g.jsx)("div",{className:V.tooltipContainer,children:(0,g.jsx)(l.Z,{title:T,placement:"top-start",children:(0,g.jsx)("div",{className:V.tooltip,children:(0,g.jsx)(u.Z,{})})})})]}),(0,g.jsxs)("div",{className:V.textBoxContainer,children:[(0,g.jsx)(j,{id:d,name:x,fullWidth:!0,value:o,autoFocus:q,disabled:v,onChange:t,type:h,multiline:C,autoComplete:Z,inputProps:X,error:""!==k,helperText:k,placeholder:_,className:V.inputRebase}),R&&(0,g.jsx)("div",{className:"".concat(V.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,g.jsx)(c.Z,{onClick:H?function(){H()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:R})}),P&&(0,g.jsx)("div",{className:"".concat(V.overlayAction," ").concat(""!==n?"withLabel":""),children:P})]})]})})}))},67754:function(e,n,t){var a=t(18489),i=t(50390),o=t(25594),r=t(46413),s=t(14602),l=t(94187),c=t(47554),d=t(43965),x=t(31680),p=t(86509),h=t(4285),u=t(72462),m=t(97538),g=t(62559),f=(0,h.Z)((function(e){return(0,p.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(r.ZP);n.Z=(0,h.Z)((function(e){return(0,p.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},u.YI),u.Hr),{},{inputLabel:(0,a.Z)((0,a.Z)({},u.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var n=e.classes,t=e.id,a=e.name,r=e.onChange,p=e.options,h=e.label,u=e.tooltip,j=void 0===u?"":u,Z=e.value,b=e.disabled,v=void 0!==b&&b;return(0,g.jsx)(i.Fragment,{children:(0,g.jsxs)(o.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==h&&(0,g.jsxs)(s.Z,{htmlFor:t,className:n.inputLabel,children:[(0,g.jsx)("span",{children:h}),""!==j&&(0,g.jsx)("div",{className:n.tooltipContainer,children:(0,g.jsx)(l.Z,{title:j,placement:"top-start",children:(0,g.jsx)("div",{className:n.tooltip,children:(0,g.jsx)(m.Z,{})})})})]}),(0,g.jsx)(c.Z,{fullWidth:!0,children:(0,g.jsx)(d.Z,{id:t,name:a,value:Z,onChange:r,input:(0,g.jsx)(f,{}),disabled:v,children:p.map((function(e){return(0,g.jsx)(x.Z,{value:e.value,children:e.label},"select-".concat(a,"-").concat(e.label))}))})})]})})}))},25534:function(e,n,t){var a=t(18489),i=(t(50390),t(25594)),o=t(86509),r=t(4285),s=t(72462),l=t(62559);n.Z=(0,r.Z)((function(e){return(0,o.Z)((0,a.Z)({},s.Bw))}))((function(e){var n=e.classes,t=e.className,a=void 0===t?"":t,o=e.children;return(0,l.jsx)("div",{className:n.contentSpacer,children:(0,l.jsx)(i.ZP,{container:!0,children:(0,l.jsx)(i.ZP,{item:!0,xs:12,className:a,children:o})})})}))},35721:function(e,n,t){t(50390);var a=t(34424),i=t(25594),o=t(86509),r=t(4285),s=t(35477),l=t(95467),c=t(26805),d=t(44078),x=t(5265),p=t(11387),h=t(62559),u={toggleList:x.kQ},m=(0,a.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),u);n.Z=m((0,r.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,a=e.actions,o=e.sidebarOpen,r=e.operatorMode,x=e.managerObjects,u=e.toggleList,m=e.middleComponent;return(0,h.jsxs)(i.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,h.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:m?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,h.jsx)("div",{className:n.logo,children:r?(0,h.jsx)(c.Z,{}):(0,h.jsx)(d.Z,{})}),(0,h.jsx)(s.Z,{variant:"h4",className:n.labelStyle,children:t})]}),m&&(0,h.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:m}),(0,h.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:m?3:6,className:n.rightMenu,children:[a&&a,x&&x.length>0&&(0,h.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){u()},size:"large",children:(0,h.jsx)(p.gx,{})})]})]})})))},15533:function(e,n,t){t.d(n,{Z:function(){return l}});var a=t(25594),i=t(18489),o=(t(50390),t(62559)),r=function(e){return(0,o.jsxs)("svg",(0,i.Z)((0,i.Z)({xmlns:"http://www.w3.org/2000/svg",width:20,height:20,className:"min-icon",fill:"currentcolor"},e),{},{children:[(0,o.jsx)("defs",{children:(0,o.jsx)("clipPath",{id:"registration-icon_svg__a",children:(0,o.jsx)("path",{"data-name":"Rect\\xE1ngulo 1593",fill:"#4ccb92",d:"M0 0h20v20H0z"})})}),(0,o.jsx)("g",{"data-name":"Grupo 2469",clipPath:"url(#registration-icon_svg__a)",children:(0,o.jsx)("path",{"data-name":"Trazado 7117",d:"M19.075 11.962a3.1 3.1 0 0 0 1.008-1.965 3.1 3.1 0 0 0-1.008-1.963 3.134 3.134 0 0 1-.633-.894 3.4 3.4 0 0 1 0-1.164 3.121 3.121 0 0 0-.286-2.154 2.856 2.856 0 0 0-1.892-.952 3.024 3.024 0 0 1-1.053-.353 3.232 3.232 0 0 1-.628-.917A2.982 2.982 0 0 0 13.118 0a2.77 2.77 0 0 0-2.029.383 3.079 3.079 0 0 1-1.085.368 3.079 3.079 0 0 1-1.085-.37A2.77 2.77 0 0 0 6.89-.002a2.99 2.99 0 0 0-1.465 1.599 3.236 3.236 0 0 1-.633.922 3.033 3.033 0 0 1-1.05.351 2.856 2.856 0 0 0-1.892.953 3.133 3.133 0 0 0-.284 2.142 3.448 3.448 0 0 1 0 1.164 3.216 3.216 0 0 1-.633.9A3.1 3.1 0 0 0-.075 9.996a3.1 3.1 0 0 0 1.008 1.965 3.246 3.246 0 0 1 .633.89 3.462 3.462 0 0 1 0 1.166 3.133 3.133 0 0 0 .284 2.154 2.856 2.856 0 0 0 1.892.952 3.033 3.033 0 0 1 1.05.351 3.234 3.234 0 0 1 .633.921 2.982 2.982 0 0 0 1.465 1.592 2.77 2.77 0 0 0 2.029-.383 3.076 3.076 0 0 1 1.085-.37 3.077 3.077 0 0 1 1.085.368 3.769 3.769 0 0 0 1.525.472 1.561 1.561 0 0 0 .5-.082 2.978 2.978 0 0 0 1.465-1.6 3.249 3.249 0 0 1 .633-.921 3.032 3.032 0 0 1 1.05-.351 2.856 2.856 0 0 0 1.892-.952 3.113 3.113 0 0 0 .284-2.157 3.445 3.445 0 0 1 0-1.164 3.16 3.16 0 0 1 .633-.889m-10.13 1.894-3.89-4.066 1.38-1.437 2.51 2.618 4.638-4.833 1.38 1.442Z",fill:"#4ccb92"})})]}))},s=t(86509);var l=(0,t(4285).Z)((function(e){return(0,s.Z)({registeredStatus:{border:"1px solid #E2E2E2",padding:"24px 24px 24px 24px",borderRadius:2,marginBottom:25,backgroundColor:"#FBFAFA","& .min-icon":{width:20,height:20,marginLeft:48,marginRight:13,verticalAlign:"middle",marginTop:-3},"& span":{fontWeight:"bold"}}})}))((function(e){var n=e.classes;return(0,o.jsx)(a.ZP,{container:!0,children:(0,o.jsxs)(a.ZP,{item:!0,xs:12,className:n.registeredStatus,children:["Registration Status:",(0,o.jsx)(r,{}),(0,o.jsx)("span",{children:"Registered"})]})})}))},33795:function(e,n,t){t.r(n),t.d(n,{default:function(){return Y}});var a=t(50390),i=t(70971),o=t(24442),r=t(36176),s=t(18489),l=t(86509),c=t(4285),d=t(25594),x=t(72462),p=t(35721),h=t(6369),u=t(62559),m=(0,c.Z)((function(e){return(0,l.Z)({configurationLink:{border:"#E5E5E5 1px solid",borderRadius:2,padding:20,width:190,maxWidth:190,height:80,margin:14,display:"flex",alignItems:"center",color:"#072C4F",fontSize:14,fontWeight:700,textDecoration:"none",overflow:"hidden",textOverflow:"ellipsis",lineClamp:2,"& svg":{fontSize:35,marginRight:15},"&:hover":{backgroundColor:"#FBFAFA"},"&.disabled":{backgroundColor:"#F9F9F9",color:"#ababab",cursor:"not-allowed"}}})}))((function(e){var n=e.classes,t=e.configuration,a=e.prefix,i=void 0===a?"settings":a,o=e.disabled,r=void 0!==o&&o;return(0,u.jsxs)(h.rU,{to:r?"/".concat(i):"/".concat(i,"/").concat(t.configuration_id),className:"".concat(n.configurationLink," ").concat(r?"disabled":""),children:[t.icon,t.configuration_label]})})),g=t(25534),f=t(11387),j=t(49495),Z=t(15607),b=t(34424),v=(0,b.$j)((function(e){return{features:e.console.session.features}}),null)((0,c.Z)((function(e){return(0,l.Z)((0,s.Z)((0,s.Z)((0,s.Z)({settingsOptionsContainer:{display:"flex",flexDirection:"row",justifyContent:"flex-start",flexWrap:"wrap",border:"#E5E5E5 1px solid",borderRadius:2,padding:5,backgroundColor:"#fff"}},x.qg),x.OR),(0,x.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=(e.features,[{icon:(0,u.jsx)(f.I$,{}),configuration_id:"logs",configuration_label:"Logs",disabled:!(0,Z.F)(j.C3,j.LC[j.gA.TOOLS_LOGS])},{icon:(0,u.jsx)(f.W1,{}),configuration_id:"audit-logs",configuration_label:"Audit Logs",disabled:!(0,Z.F)(j.C3,j.LC[j.gA.TOOLS_AUDITLOGS])},{icon:(0,u.jsx)(f.fO,{}),configuration_id:"watch",configuration_label:"Watch",disabled:!(0,Z.F)(j.C3,j.LC[j.gA.TOOLS_WATCH])},{icon:(0,u.jsx)(f.C_,{}),configuration_id:"trace",configuration_label:"Trace",disabled:!(0,Z.F)(j.C3,j.LC[j.gA.TOOLS_TRACE])},{icon:(0,u.jsx)(f.ln,{}),configuration_id:"heal",configuration_label:"Heal",disabled:!(0,Z.F)(j.C3,j.LC[j.gA.TOOLS_HEAL])},{icon:(0,u.jsx)(f.MX,{}),configuration_id:"diagnostics",configuration_label:"Diagnostics",disabled:!(0,Z.F)(j.C3,j.LC[j.gA.TOOLS_DIAGNOSTICS])},{icon:(0,u.jsx)(f.QB,{}),configuration_id:"speedtest",configuration_label:"Speedtest",disabled:!(0,Z.F)(j.C3,j.LC[j.gA.TOOLS_SPEEDTEST])}]);return(0,u.jsxs)(a.Fragment,{children:[(0,u.jsx)(p.Z,{label:"Tools"}),(0,u.jsx)(g.Z,{children:(0,u.jsx)(d.ZP,{item:!0,xs:12,children:(0,u.jsx)(d.ZP,{item:!0,xs:12,children:(0,u.jsx)("div",{className:n.settingsOptionsContainer,children:t.map((function(e){return(0,u.jsx)(m,{prefix:"tools",configuration:e,disabled:e.disabled||!1},"configItem-".concat(e.configuration_label))}))})})})})]})}))),y=t(23430),C=t(56805),w=t(66946),T=t(10567),S=t(50213),z=t(694),L=function(e){return(0,u.jsxs)("svg",(0,s.Z)((0,s.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256",width:"32.12",height:"25"},e),{},{children:[(0,u.jsx)("defs",{children:(0,u.jsx)("clipPath",{id:"online-registration-icn_svg__a",children:(0,u.jsx)("path",{"data-name":"Rect\\xE1ngulo 1601",fill:"none",d:"M0 0h256v189.799H0z"})})}),(0,u.jsx)("g",{"data-name":"Grupo 2523",children:(0,u.jsxs)("g",{"data-name":"Grupo 2522",transform:"translate(0 32.999)",clipPath:"url(#online-registration-icn_svg__a)",fill:"#00142f",children:[(0,u.jsx)("path",{"data-name":"Trazado 7258",d:"M105.956 117.2a75.071 75.071 0 0 0 .763 10.469h12.926v-20.938h-12.926a75.072 75.072 0 0 0-.763 10.469"}),(0,u.jsx)("path",{"data-name":"Trazado 7259",d:"M119.607 100.222V80.94a29.091 29.091 0 0 0-11.667 19.282Z"}),(0,u.jsx)("path",{"data-name":"Trazado 7260",d:"M119.614 153.467h.008v-19.282h-11.675a29.062 29.062 0 0 0 11.667 19.282"}),(0,u.jsx)("path",{"data-name":"Trazado 7261",d:"M155.805 100.221a37.276 37.276 0 0 0-18.1-16.993 50.754 50.754 0 0 1 6.807 16.993Z"}),(0,u.jsx)("path",{"data-name":"Trazado 7262",d:"M99.417 117.2h.034a81.388 81.388 0 0 1 .679-10.469H87.323a36.628 36.628 0 0 0 0 20.938h12.773a82.781 82.781 0 0 1-.679-10.469"}),(0,u.jsx)("path",{"data-name":"Trazado 7263",d:"M108.039 83.229a37.31 37.31 0 0 0-18.099 16.992h11.293a50.754 50.754 0 0 1 6.806-16.993"}),(0,u.jsx)("path",{"data-name":"Trazado 7264",d:"M89.947 134.178a37.31 37.31 0 0 0 18.1 16.993 50.754 50.754 0 0 1-6.806-16.993Z"}),(0,u.jsx)("path",{"data-name":"Trazado 7265",d:"M145.603 106.731a80.807 80.807 0 0 1 0 20.938h12.811a36.5 36.5 0 0 0 0-20.938Z"}),(0,u.jsx)("path",{"data-name":"Trazado 7266",d:"M137.706 151.171a37.31 37.31 0 0 0 18.1-16.993h-11.294a50.754 50.754 0 0 1-6.806 16.993"}),(0,u.jsx)("path",{"data-name":"Trazado 7267",d:"m230.957 100.848-.443.221-.473.16a13.816 13.816 0 0 1-4.494.748v-.023h-.671a22.917 22.917 0 0 1-9.309-2.884 4.907 4.907 0 0 0-.671-.313q-.275.114-.549.252a18.913 18.913 0 0 1-13.636 2.472l-.992-.2-.9-.443a19.76 19.76 0 0 1-9.619-10.306 5.449 5.449 0 0 0-.305-.542 5.087 5.087 0 0 0-.488-.107 19.2 19.2 0 0 1-12.5-6.4l-.61-.687-.427-.809a20.457 20.457 0 0 1-1.908-13.735 5.126 5.126 0 0 0 .046-.969 5.773 5.773 0 0 0-.443-.526 20.249 20.249 0 0 1-6.379-12.682l-.092-.832.092-.832a20.268 20.268 0 0 1 6.394-12.682 4.831 4.831 0 0 0 .427-.549 5.1 5.1 0 0 0-.069-.961 20.376 20.376 0 0 1 .992-11.552A62.2 62.2 0 0 0 60.692 61.216c0 1.351.053 2.732.168 4.2a62.2 62.2 0 0 0 1.678 124.381h120.683a62.1 62.1 0 0 0 53.886-93.717 19.522 19.522 0 0 1-6.15 4.769m-67.064 30.957a3.466 3.466 0 0 1-.2.534 43.494 43.494 0 0 1-81.645 0 2.641 2.641 0 0 1-.2-.534 42.738 42.738 0 0 1 0-29.285 2.641 2.641 0 0 1 .2-.534 43.494 43.494 0 0 1 81.645 0 2.642 2.642 0 0 1 .2.534 42.827 42.827 0 0 1 0 29.285"}),(0,u.jsx)("path",{"data-name":"Trazado 7268",d:"M126.131 134.178v19.282a29.062 29.062 0 0 0 11.67-19.282Z"}),(0,u.jsx)("path",{"data-name":"Trazado 7269",d:"M126.131 80.94v19.282h11.67a29.091 29.091 0 0 0-11.67-19.282"}),(0,u.jsx)("path",{"data-name":"Trazado 7270",d:"M139.79 117.194Z"}),(0,u.jsx)("path",{"data-name":"Trazado 7271",d:"M139.789 117.2a75.154 75.154 0 0 0-.763-10.469H126.1v20.93h12.926a74.96 74.96 0 0 0 .763-10.461"}),(0,u.jsx)("path",{"data-name":"Trazado 7272",d:"m251.907 61.322-.023-.008a12.677 12.677 0 0 0 4.113-8.02 12.677 12.677 0 0 0-4.113-8.02 12.75 12.75 0 0 1-2.564-3.632 13.77 13.77 0 0 1 0-4.746 12.755 12.755 0 0 0-1.167-8.783 11.643 11.643 0 0 0-7.714-3.884 12.384 12.384 0 0 1-4.3-1.442 13.206 13.206 0 0 1-2.564-3.739 12.157 12.157 0 0 0-5.99-6.532 11.279 11.279 0 0 0-8.279 1.526 12.67 12.67 0 0 1-4.419 1.528 12.67 12.67 0 0 1-4.426-1.526 11.279 11.279 0 0 0-8.279-1.526 12.2 12.2 0 0 0-5.975 6.524 13.175 13.175 0 0 1-2.587 3.762 12.346 12.346 0 0 1-4.281 1.435 11.643 11.643 0 0 0-7.714 3.884 12.757 12.757 0 0 0-1.152 8.737 14.158 14.158 0 0 1 0 4.746 13.16 13.16 0 0 1-2.587 3.67 12.632 12.632 0 0 0-4.105 8.027 12.6 12.6 0 0 0 4.113 8.012 13.135 13.135 0 0 1 2.587 3.632 14.2 14.2 0 0 1 0 4.754 12.8 12.8 0 0 0 1.16 8.783 11.643 11.643 0 0 0 7.714 3.884 12.346 12.346 0 0 1 4.281 1.435 13.246 13.246 0 0 1 2.587 3.754 12.165 12.165 0 0 0 5.975 6.493 11.285 11.285 0 0 0 8.279-1.526 12.67 12.67 0 0 1 4.43-1.527 12.67 12.67 0 0 1 4.426 1.526 15.413 15.413 0 0 0 6.219 1.923 6.5 6.5 0 0 0 2.053-.336 12.155 12.155 0 0 0 5.975-6.516 13.246 13.246 0 0 1 2.587-3.754 12.346 12.346 0 0 1 4.281-1.435 11.643 11.643 0 0 0 7.714-3.884 12.717 12.717 0 0 0 1.167-8.828 14.158 14.158 0 0 1 0-4.746 12.834 12.834 0 0 1 2.587-3.624m-41.363 7.706L194.689 52.44l5.631-5.883 10.233 10.683 18.931-19.679 5.631 5.883Z"})]})}),(0,u.jsx)("path",{"data-name":"Rect\\xE1ngulo 1602",fill:"none",d:"M0 0h256v256H0z"})]}))},k=function(e){return(0,u.jsxs)("svg",(0,s.Z)((0,s.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256",width:"26.9",height:"26.9"},e),{},{children:[(0,u.jsx)("defs",{children:(0,u.jsx)("clipPath",{id:"Offline-Registration_svg__a",children:(0,u.jsx)("path",{"data-name":"Rect\\xE1ngulo 1604",fill:"none",d:"M0 0h256v199.086H0z"})})}),(0,u.jsx)("path",{"data-name":"Rect\\xE1ngulo 1602",fill:"none",d:"M0 0h256v256H0z"}),(0,u.jsxs)("g",{"data-name":"Grupo 2526",children:[(0,u.jsx)("path",{"data-name":"Rect\\xE1ngulo 1603",fill:"#00142f",d:"m19.235 39.602 10.497-10.49L218.26 217.77l-10.497 10.49z"}),(0,u.jsx)("g",{"data-name":"Grupo 2525",children:(0,u.jsxs)("g",{"data-name":"Grupo 2524",clipPath:"url(#Offline-Registration_svg__a)",fill:"#00142f",transform:"translate(0 29.146)",children:[(0,u.jsx)("path",{"data-name":"Trazado 7273",d:"m17.968 79.492.007.015a55.559 55.559 0 0 0-17.96 42.3 57.238 57.238 0 0 0 18.783 42.92 65.482 65.482 0 0 0 44.3 16.431h105.817L51.268 63.545a68.63 68.63 0 0 0-33.3 15.947"}),(0,u.jsx)("path",{"data-name":"Trazado 7274",d:"m222.825 99.169-.074.015h-.333l-.326-.03a22.226 22.226 0 0 1-9.028-2.8 4.017 4.017 0 0 0-.651-.3 3.823 3.823 0 0 0-.533.244 18.331 18.331 0 0 1-9.665 2.745 18.542 18.542 0 0 1-3.559-.348l-.955-.185-.866-.429a19.149 19.149 0 0 1-9.332-10 5.281 5.281 0 0 0-.3-.525 4.064 4.064 0 0 0-.474-.1 18.625 18.625 0 0 1-12.12-6.21l-.585-.666-.422-.792a19.8 19.8 0 0 1-1.843-13.35 6.256 6.256 0 0 0 .067-.9 4.811 4.811 0 0 0-.437-.511 19.647 19.647 0 0 1-6.209-12.306l-.089-.807.089-.8a19.526 19.526 0 0 1 5.21-11.211c-.644-.688-1.251-1.413-1.924-2.079a71.234 71.234 0 0 0-49.687-19.901 68.071 68.071 0 0 0-38.525 11.6l140.41 140.462c.118-.1.266-.192.392-.289v-.007a45.043 45.043 0 0 0 16.428-36.742c0-14.652-5.876-25.849-14.66-33.774"}),(0,u.jsx)("path",{"data-name":"Trazado 7275",d:"M255.963 51.509a15.953 15.953 0 0 0-5.121-10.049 8.872 8.872 0 0 1-1.48-1.991 9.8 9.8 0 0 1 .059-2.753 16.071 16.071 0 0 0-1.487-10.967l-.207-.385-.3-.333a14.943 14.943 0 0 0-9.82-5 8.149 8.149 0 0 1-2.316-.7 8.935 8.935 0 0 1-1.359-2.096 15.448 15.448 0 0 0-7.563-8.192l-.437-.215-.481-.1a14.62 14.62 0 0 0-10.633 1.965 8.262 8.262 0 0 1-2.405.888 8.3 8.3 0 0 1-2.401-.888 14.639 14.639 0 0 0-10.638-1.961l-.474.1-.444.215a15.505 15.505 0 0 0-7.563 8.192 8.821 8.821 0 0 1-1.369 2.109 8.149 8.149 0 0 1-2.316.7 14.96 14.96 0 0 0-9.82 5l-.3.333-.207.392a16.144 16.144 0 0 0-1.48 10.9 9.96 9.96 0 0 1 .059 2.775 9.2 9.2 0 0 1-1.487 2.013 15.9 15.9 0 0 0-5.103 10.048l-.044.4.044.4a15.934 15.934 0 0 0 5.106 10.057 9.031 9.031 0 0 1 1.487 1.983 9.861 9.861 0 0 1-.059 2.76 16.112 16.112 0 0 0 1.48 10.952l.207.392.3.333a14.96 14.96 0 0 0 9.82 5 8.149 8.149 0 0 1 2.316.7 9.082 9.082 0 0 1 1.376 2.109 15.446 15.446 0 0 0 7.563 8.162l.437.215.474.089a14.639 14.639 0 0 0 10.635-1.96 8.262 8.262 0 0 1 2.405-.888 8.533 8.533 0 0 1 2.472.925 18.627 18.627 0 0 0 7.526 2.331l.155.015h.185a9.794 9.794 0 0 0 3.16-.525l.229-.074.215-.111a15.421 15.421 0 0 0 7.57-8.185 9.2 9.2 0 0 1 1.376-2.1 8.03 8.03 0 0 1 2.309-.7 14.943 14.943 0 0 0 9.82-5l.3-.326.2-.392a15.981 15.981 0 0 0 1.487-10.982 10.04 10.04 0 0 1-.059-2.745 8.957 8.957 0 0 1 1.48-1.976 15.953 15.953 0 0 0 5.121-10.049l.044-.407Zm-47.751 15.655-15.387-16.081 5.454-5.683 9.933 10.353 18.342-19.108 5.458 5.706Z"})]})})]})]}))},F=t(66964),N=function(e){return(0,u.jsxs)("svg",(0,s.Z)((0,s.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256",width:"16.52",height:"12.86"},e),{},{children:[(0,u.jsx)("defs",{children:(0,u.jsx)("clipPath",{id:"online-registration-back_svg__a",children:(0,u.jsx)("path",{"data-name":"Rect\\xE1ngulo 1600",fill:"#2781b0",d:"M0 0h256v199.269H0z"})})}),(0,u.jsx)("path",{"data-name":"Rect\\xE1ngulo 1602",fill:"none",d:"M0 0h256v256H0z"}),(0,u.jsx)("g",{"data-name":"Grupo 2521",children:(0,u.jsxs)("g",{"data-name":"Grupo 2520",clipPath:"url(#online-registration-back_svg__a)",fill:"#2781b0",transform:"translate(0 22.634)",children:[(0,u.jsx)("path",{"data-name":"Trazado 7245",d:"M110.325 123.433a78.259 78.259 0 0 0 .768 10.936h13.5v-21.871h-13.5a78.271 78.271 0 0 0-.768 10.936Z"}),(0,u.jsx)("path",{"data-name":"Trazado 7246",d:"M112.411 105.696h12.187V85.56c-4.871 2.382-9.583 9.676-12.187 20.141"}),(0,u.jsx)("path",{"data-name":"Trazado 7247",d:"M124.599 161.316v-20.141h-12.188c2.6 10.464 7.316 17.761 12.187 20.141"}),(0,u.jsx)("path",{"data-name":"Trazado 7248",d:"M162.4 105.7a38.951 38.951 0 0 0-18.91-17.748 52.941 52.941 0 0 1 7.113 17.748Z"}),(0,u.jsx)("path",{"data-name":"Trazado 7249",d:"M103.53 123.433a85.92 85.92 0 0 1 .711-10.937H90.854a38.2 38.2 0 0 0 0 21.873h13.384a86.293 86.293 0 0 1-.711-10.936"}),(0,u.jsx)("path",{"data-name":"Trazado 7250",d:"M112.5 87.95a38.954 38.954 0 0 0-18.909 17.748h11.8a53.038 53.038 0 0 1 7.113-17.748"}),(0,u.jsx)("path",{"data-name":"Trazado 7251",d:"M93.597 141.173a38.956 38.956 0 0 0 18.909 17.748 52.942 52.942 0 0 1-7.113-17.748Z"}),(0,u.jsx)("path",{"data-name":"Trazado 7252",d:"M151.757 112.499a84.331 84.331 0 0 1 0 21.873h13.385a38.182 38.182 0 0 0 0-21.873Z"}),(0,u.jsx)("path",{"data-name":"Trazado 7253",d:"M143.491 158.922a38.962 38.962 0 0 0 18.91-17.748h-11.8a52.968 52.968 0 0 1-7.113 17.748"}),(0,u.jsx)("path",{"data-name":"Trazado 7254",d:"M192.789 69.359c.12-1.539.177-2.98.177-4.393a64.966 64.966 0 0 0-129.932 0c0 1.413.058 2.854.177 4.393a64.967 64.967 0 0 0 1.754 129.91h126.069a64.967 64.967 0 0 0 1.754-129.91Zm-21.947 69.376a3.373 3.373 0 0 1-.2.561 45.463 45.463 0 0 1-85.276 0 3.126 3.126 0 0 1-.2-.561 44.686 44.686 0 0 1 0-30.59 3.233 3.233 0 0 1 .2-.561 45.463 45.463 0 0 1 85.277 0 3.128 3.128 0 0 1 .2.561 44.711 44.711 0 0 1 0 30.59"}),(0,u.jsx)("path",{"data-name":"Trazado 7255",d:"M131.398 141.173v20.141c4.871-2.38 9.583-9.677 12.187-20.141Z"}),(0,u.jsx)("path",{"data-name":"Trazado 7256",d:"M131.398 85.557v20.141h12.187c-2.6-10.464-7.316-17.758-12.187-20.141"}),(0,u.jsx)("path",{"data-name":"Trazado 7257",d:"M145.671 123.433a78.26 78.26 0 0 0-.769-10.937h-13.5v21.872h13.5a78.262 78.262 0 0 0 .769-10.936Z"})]})})]}))},A=function(e){return(0,u.jsxs)("svg",(0,s.Z)((0,s.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256",width:"16.1",height:"13.5"},e),{},{children:[(0,u.jsx)("path",{"data-name":"Rect\\xE1ngulo 1602",fill:"none",d:"M0 0h256v256H0z"}),(0,u.jsxs)("g",{fill:"#2781b0",children:[(0,u.jsx)("path",{"data-name":"Trazado 7242",d:"m20.695 32.211 11.313-11.318 203.3 203.4-11.313 11.318Z"}),(0,u.jsx)("path",{"data-name":"Trazado 7243",d:"M19.371 106.631C6.694 118.186 0 133.962 0 152.26a61.725 61.725 0 0 0 20.253 46.312c12.578 11.424 29.547 17.714 47.778 17.714h114.108L55.275 89.429c-14.007 2.7-26.556 8.672-35.911 17.2Z"}),(0,u.jsx)("path",{"data-name":"Trazado 7244",d:"M238.286 203.889C249.875 194.662 256 180.961 256 164.264c0-30.939-24.23-47.692-48.894-51.341-3.258-20.595-12.03-38.216-25.568-51.249a76.817 76.817 0 0 0-53.589-21.459 73.336 73.336 0 0 0-41.553 12.506l151.47 151.492c.128-.107.285-.206.42-.313Z"})]})]}))},_=t(30324),E=t(70011),M=t(67754),I=t(44149),R=t(30723),O=t(15533),P=t(92440),B=function(e){var n=e.icon,t=void 0===n?null:n,a=e.title;return(0,u.jsxs)(C.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start"},children:[t,(0,u.jsx)("div",{className:"title-text",children:a})]})},W=function(){return(0,u.jsxs)(C.Z,{sx:{flex:1,border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"20px",marginLeft:{xs:"0px",sm:"0px",md:"30px"},marginTop:{xs:"0px",sm:"30px"}},children:[(0,u.jsxs)(C.Z,{sx:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",marginBottom:"16px","& .min-icon":{height:"21px",width:"21px",marginRight:"15px"}},children:[(0,u.jsx)(f.M9,{}),(0,u.jsx)("div",{children:"Why should I register?"})]}),(0,u.jsx)(C.Z,{sx:{fontSize:"14px",marginBottom:"15px"},children:"Registering this cluster with the MinIO Subscription Network (SUBNET) provides the following benefits in addition to the commercial license and SLA backed support."}),(0,u.jsxs)(C.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,u.jsx)(H,{icon:(0,u.jsx)(f._q,{}),description:"Call Home Monitoring"}),(0,u.jsx)(H,{icon:(0,u.jsx)(f.to,{}),description:"Health Diagnostics"}),(0,u.jsx)(H,{icon:(0,u.jsx)(f.Fs,{}),description:"Performance Analysis"})]})]})},H=function(e){var n=e.icon,t=e.description;return(0,u.jsxs)(C.Z,{sx:{display:"flex","& .min-icon":{marginRight:"10px",height:"23px",width:"23px",marginBottom:"10px"}},children:[n," ",(0,u.jsx)("div",{style:{fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:t})]})},G=(0,b.$j)((function(e){return{operatorMode:e.system.operatorMode}}),{displayErrorMessage:I.Ih}),D=(0,c.Z)((function(e){return(0,l.Z)((0,s.Z)((0,s.Z)((0,s.Z)((0,s.Z)({loading:{paddingTop:8,paddingLeft:40},buttons:{justifyContent:"flex-start",gap:20},localMessage:{fontSize:24,color:"#07193E",fontWeight:"bold",textAlign:"center",marginBottom:10},headerStyle:{color:e.palette.primary.main,fontSize:16,fontWeight:"bold"},registerActivationIcon:{color:e.palette.primary.main,fontSize:16,fontWeight:"bold",marginBottom:20,"& .min-icon":{width:32.12,height:25,marginRight:10,verticalAlign:"middle"}},registerActivationMode:{textAlign:"right","& a":{cursor:"pointer"}},subnetDescription:{textAlign:"left",Font:"normal normal normal 14px/17px Lato",letterSpacing:0,color:"#000000","& span":{fontWeight:"bold"}},registeredStatus:{border:"1px solid #E2E2E2",padding:"24px 24px 24px 24px",borderRadius:2,marginBottom:25,backgroundColor:"#FBFAFA","& .min-icon":{width:20,height:20,marginLeft:48,marginRight:13,verticalAlign:"middle",marginTop:-3},"& span":{fontWeight:"bold"}},offlineRegisterButton:{textAlign:"right",paddingRight:20},copyInputBox:{"& button":{border:"1px solid #5E5E5E",borderRadius:2}},link:{color:"#2781B0",cursor:"pointer"},smallBoxy:{border:"#E5E5E5 1px solid",borderRadius:2,padding:20,backgroundColor:"#fff"},sizedLabel:{minWidth:"75px"}},x.OR),x.qg),x.bK),(0,x.Bz)(e.spacing(4))))}))(G((function(e){var n=e.classes,t=e.displayErrorMessage,i=e.operatorMode,o=(0,a.useState)(""),r=(0,y.Z)(o,2),s=r[0],l=r[1],c=(0,a.useState)(""),d=(0,y.Z)(c,2),x=d[0],h=d[1],m=(0,a.useState)(""),b=(0,y.Z)(m,2),v=b[0],I=b[1],H=(0,a.useState)(""),G=(0,y.Z)(H,2),D=G[0],U=G[1],$=(0,a.useState)(""),Y=(0,y.Z)($,2),q=Y[0],V=Y[1],K=(0,a.useState)(""),Q=(0,y.Z)(K,2),X=Q[0],J=Q[1],ee=(0,a.useState)(""),ne=(0,y.Z)(ee,2),te=ne[0],ae=ne[1],ie=(0,a.useState)(""),oe=(0,y.Z)(ie,2),re=oe[0],se=oe[1],le=(0,a.useState)([]),ce=(0,y.Z)(le,2),de=ce[0],xe=ce[1],pe=(0,a.useState)(!1),he=(0,y.Z)(pe,2),ue=he[0],me=he[1],ge=(0,a.useState)(!0),fe=(0,y.Z)(ge,2),je=fe[0],Ze=fe[1],be=(0,a.useState)(!1),ve=(0,y.Z)(be,2),ye=ve[0],Ce=ve[1],we=(0,a.useState)(!1),Te=(0,y.Z)(we,2),Se=Te[0],ze=Te[1],Le=(0,a.useState)(!1),ke=(0,y.Z)(Le,2),Fe=ke[0],Ne=ke[1],Ae=(0,a.useState)(!0),_e=(0,y.Z)(Ae,2),Ee=_e[0],Me=_e[1],Ie=(0,a.useState)(!1),Re=(0,y.Z)(Ie,2),Oe=Re[0],Pe=Re[1],Be=function(){J(""),ae(""),se(""),me(!1),Ze(!0),xe([]),l(""),h(""),I(""),U(""),V("")},We=(0,Z.F)(j.C3,j.LC[j.gA.LICENSE],!0),He=(0,a.useCallback)((function(){Se||(We?(ze(!0),_.Z.invoke("GET","/api/v1/subnet/info").then((function(e){Ne(!0),ze(!1)})).catch((function(e){"License not found"!==e.errorMessage&&t(e),Ne(!1),ze(!1)}))):ze(!1))}),[Se,We,t]),Ge=function(e,n){var a={token:e,account_id:n};_.Z.invoke("POST","/api/v1/subnet/register",a).then((function(){Ce(!1),Be(),He()})).catch((function(e){t(e),Ce(!1)}))},De=function(){if(!ye){Ce(!0);var e={username:v,password:x,apiKey:s};_.Z.invoke("POST","/api/v1/subnet/login",e).then((function(e){Ce(!1),e&&e.registered?(Be(),He()):e&&e.mfa_token?U(e.mfa_token):e&&e.access_token&&e.organizations.length>0&&(J(e.access_token),xe(e.organizations),ae(e.organizations[0].accountId.toString()))})).catch((function(e){t(e),Ce(!1),Be()}))}};(0,a.useEffect)((function(){Ee&&(He(),Me(!1))}),[He,Ee,Me]);var Ue,$e=je?(0,u.jsx)(C.Z,{sx:{"& .title-text":{marginLeft:"27px",fontWeight:600}},children:(0,u.jsx)(B,{icon:(0,u.jsx)(L,{}),title:"Register with MinIO Subscription Network"})}):(0,u.jsx)(C.Z,{sx:{"& .title-text":{marginLeft:"27px",fontWeight:600}},children:(0,u.jsx)(B,{icon:(0,u.jsx)(k,{}),title:" Offline Activation of SUBNET License"})});Ue=je?X&&de.length>0?(0,u.jsxs)(C.Z,{sx:{display:"flex"},children:[(0,u.jsxs)(C.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,u.jsx)(C.Z,{sx:{marginTop:"15px",marginBottom:"15px","& .title-text":{marginLeft:"0px"}},children:(0,u.jsx)(B,{title:"Register MinIO cluster"})}),(0,u.jsxs)(C.Z,{children:[(0,u.jsx)(M.Z,{id:"subnet-organization",name:"subnet-organization",onChange:function(e){return ae(e.target.value)},label:"Select an organization",value:te,options:de.map((function(e){return{label:e.company,value:e.accountId.toString()}}))}),(0,u.jsx)(C.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end",marginTop:"15px"},children:(0,u.jsx)(w.Z,{className:n.button,color:"primary",onClick:function(){ye||(Ce(!0),X&&te&&Ge(X,te))},disabled:ye||0===X.trim().length,variant:"contained",children:"Register"})})]})]}),(0,u.jsx)(W,{})]}):D?(0,u.jsxs)(C.Z,{sx:{display:"flex"},children:[(0,u.jsxs)(C.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,u.jsx)(C.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"30px",marginBottom:"30px"},children:"Two-Factor Authentication"}),(0,u.jsx)(C.Z,{children:"Please enter the 6-digit verification code that was sent to your email address. This code will be valid for 5 minutes."}),(0,u.jsx)(C.Z,{sx:{flex:"1",marginTop:"30px"},children:(0,u.jsx)(F.Z,{overlayIcon:(0,u.jsx)(E.Z,{}),id:"subnet-otp",name:"subnet-otp",onChange:function(e){return V(e.target.value)},placeholder:"",label:"",value:q})}),(0,u.jsx)(C.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:(0,u.jsx)(w.Z,{color:"primary",onClick:function(){return function(){if(!ye){Ce(!0);var e={username:v,otp:q,mfa_token:D};_.Z.invoke("POST","/api/v1/subnet/login/mfa",e).then((function(e){Ce(!1),e&&e.access_token&&e.organizations.length>0&&(1===e.organizations.length?Ge(e.access_token,e.organizations[0].accountId.toString()):(J(e.access_token),xe(e.organizations),ae(e.organizations[0].accountId.toString())))})).catch((function(e){t(e),Ce(!1),V("")}))}}()},disabled:ye||0===q.trim().length||0===D.trim().length,variant:"contained",children:"Verify"})})]}),(0,u.jsx)(W,{})]}):(0,u.jsxs)(C.Z,{sx:{display:"flex",flexFlow:{xs:"column",md:"row"}},children:[(0,u.jsxs)(C.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,u.jsx)(C.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"30px",marginBottom:"30px"},children:"Use your MinIO Subscription Network login credentials to register this cluster."}),(0,u.jsxs)(C.Z,{sx:{flex:"1"},children:[(0,u.jsx)(F.Z,{className:n.spacerBottom,classes:{inputLabel:n.sizedLabel},id:"subnet-email",name:"subnet-email",onChange:function(e){return I(e.target.value)},label:"Email",value:v,overlayIcon:(0,u.jsx)(f.oy,{})}),(0,u.jsx)(F.Z,{className:n.spacerBottom,classes:{inputLabel:n.sizedLabel},id:"subnet-password",name:"subnet-password",onChange:function(e){return h(e.target.value)},label:"Password",type:ue?"text":"password",value:x,overlayIcon:ue?(0,u.jsx)(z.Z,{}):(0,u.jsx)(S.Z,{}),overlayAction:function(){return me(!ue)}}),(0,u.jsxs)(C.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:[(0,u.jsx)(w.Z,{type:"submit",className:n.spacerRight,variant:"outlined",onClick:function(e){e.preventDefault(),window.open("https://min.io/signup?ref=".concat(i?"op":"con"),"_blank")},children:"Sign up"}),(0,u.jsx)(w.Z,{type:"submit",variant:"contained",color:"primary",disabled:ye||0===v.trim().length||0===x.trim().length,onClick:function(){return De()},children:"Register"})]})]})]}),(0,u.jsx)(W,{})]}):(0,u.jsxs)(C.Z,{sx:{display:"flex"},children:[(0,u.jsxs)(C.Z,{sx:{display:"flex",flexFlow:"column",flex:"2",marginTop:"15px","& .step-number":{color:"#ffffff",height:"25px",width:"25px",background:"#081C42",marginRight:"10px",textAlign:"center",fontWeight:600,borderRadius:"50%"},"& .step-row":{fontSize:"16px",display:"flex",marginTop:"15px",marginBottom:"15px"}},children:[(0,u.jsxs)(C.Z,{children:[(0,u.jsxs)(C.Z,{className:"step-row",children:[(0,u.jsx)("div",{className:"step-number",children:"1"})," ",(0,u.jsx)("div",{className:"step-text",children:"Copy the following registration token"})]}),(0,u.jsx)(C.Z,{sx:{flex:"1",marginTop:"15px",marginLeft:"35px","& input":{color:"#737373"}},children:(0,u.jsx)(F.Z,{id:"registration-token",name:"registration-token",placeholder:"",label:"",type:"text",onChange:function(){},value:re,overlayIcon:(0,u.jsx)(f.TI,{}),extraInputProps:{readOnly:!0},overlayAction:function(){return navigator.clipboard.writeText(re)}})})]}),(0,u.jsxs)(C.Z,{children:[(0,u.jsxs)(C.Z,{className:"step-row",children:[(0,u.jsx)("div",{className:"step-number",children:"2"}),(0,u.jsx)("div",{className:"step-text",children:"Navigate to SUBNET and register your cluster"})]}),(0,u.jsx)(C.Z,{sx:{flex:"1",marginLeft:"35px"},children:(0,u.jsx)(T.Z,{className:n.link,color:"inherit",href:"https://subnet.min.io/cluster/register",target:"_blank",children:"https://subnet.min.io/cluster/register"})})]}),(0,u.jsxs)(C.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"15px",marginBottom:"15px"},children:[(0,u.jsxs)(C.Z,{className:"step-row",children:[(0,u.jsx)("div",{className:"step-number",children:"3"})," ",(0,u.jsx)("div",{className:"step-text",children:"Enter the API key generated by SUBNET"})]}),(0,u.jsx)(C.Z,{sx:{flex:"1",marginTop:"15px",marginLeft:"35px"},children:(0,u.jsx)(F.Z,{value:s,onChange:function(e){return l(e.target.value)},id:"api-key",name:"api-key",placeholder:"",label:"",type:"text"})})]}),(0,u.jsx)(C.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end",marginTop:"15px"},children:(0,u.jsx)(w.Z,{variant:"contained",color:"primary",onClick:function(){return De()},disabled:ye||0===s.trim().length,children:"Register"})})]}),(0,u.jsx)(W,{})]});var Ye="mc admin config set {alias} subnet proxy={proxy}";return(0,u.jsxs)(a.Fragment,{children:[(0,u.jsx)(p.Z,{label:"Register"}),(0,u.jsxs)(g.Z,{children:[(0,u.jsxs)(C.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"43px"},children:[Fe&&(0,u.jsx)(O.Z,{}),je?null:(0,u.jsxs)(C.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start",marginBottom:"30px","& .min-icon":{height:"25px",width:"25px",marginRight:"15px"}},children:[(0,u.jsx)(N,{}),(0,u.jsx)(T.Z,{className:n.link,onClick:function(){return Ze(!je)},children:"Back to Online Activation"})]}),$e,Ue]}),je&&(0,u.jsxs)(a.Fragment,{children:[(0,u.jsxs)(C.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",padding:"23px",marginTop:"40px",alignItems:"center",justifyContent:"space-between"},children:[(0,u.jsxs)(C.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,u.jsxs)(C.Z,{sx:{display:"flex","& .min-icon":{height:"22px",width:"22px"}},children:[(0,u.jsx)(R.Z,{}),(0,u.jsx)("div",{style:{marginLeft:"10px",fontWeight:600},children:"Proxy Configuration"})]}),(0,u.jsxs)(C.Z,{sx:{marginTop:"10px",marginBottom:"10px",fontSize:"14px"},children:["For airgap/firewalled environments it is possible to"," ",(0,u.jsx)(T.Z,{className:n.link,href:"https://docs.min.io/docs/minio-server-configuration-guide.html?ref=con",target:"_blank",children:"configure a proxy"})," ","to connect to SUBNET ."]}),(0,u.jsx)(C.Z,{children:Oe&&(0,u.jsx)(F.Z,{disabled:!0,id:"subnetProxy",name:"subnetProxy",placeholder:"",onChange:function(){},label:"",value:Ye,overlayIcon:(0,u.jsx)(f.TI,{}),extraInputProps:{readOnly:!0},overlayAction:function(){return navigator.clipboard.writeText(Ye)}})})]}),(0,u.jsx)(C.Z,{sx:{display:"flex"},children:(0,u.jsx)(P.Z,{value:"enableProxy",id:"enableProxy",name:"enableProxy",checked:Oe,onChange:function(e){Pe(e.target.checked)}})})]}),(0,u.jsxs)(C.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",padding:"23px",marginTop:"40px",alignItems:"center",justifyContent:"center"},children:[(0,u.jsxs)(C.Z,{sx:{display:"flex",alignItems:"center"},children:[(0,u.jsx)(A,{})," Cluster does not have internet access? Use"," "]}),(0,u.jsx)(C.Z,{sx:{display:"flex",alignItems:"center",marginLeft:"8px"},children:(0,u.jsx)(T.Z,{className:n.link,onClick:function(){ye||re||(Ce(!0),_.Z.invoke("GET","/api/v1/subnet/registration-token").then((function(e){Ce(!1),e&&e.regToken&&se(e.regToken)})).catch((function(e){console.log(e),t(e),Ce(!1)}))),Ze(!je)},children:"Offline Activation."})})]})]})]})]})}))),U=t(3873),$=t(89639),Y=function(){return(0,u.jsx)(i.F0,{history:o.Z,children:(0,u.jsxs)(i.rs,{children:[(0,u.jsx)(i.AW,{path:j.gA.TOOLS,exact:!0,component:v}),(0,u.jsx)(i.AW,{path:j.gA.REGISTER_SUPPORT,exact:!0,component:D}),(0,u.jsx)(i.AW,{path:j.gA.CALL_HOME,exact:!0,render:function(){return(0,u.jsx)(U.Z,{icon:(0,u.jsx)($.aw,{}),pageHeaderText:"Support",title:"Call Home",message:(0,u.jsx)("div",{children:"This feature is currently not available."})})}}),(0,u.jsx)(i.AW,{path:j.gA.TOOLS_WATCH,exact:!0,render:function(){return(0,u.jsx)(U.Z,{icon:(0,u.jsx)($.aw,{}),pageHeaderText:"Support",title:"Inspect",message:(0,u.jsx)("div",{children:"This feature is currently not available."})})}}),(0,u.jsx)(i.AW,{path:j.gA.PROFILE,exact:!0,render:function(){return(0,u.jsx)(U.Z,{icon:(0,u.jsx)($.aw,{}),pageHeaderText:"Support",title:"Profile",message:(0,u.jsx)("div",{children:"This feature is currently not available."})})}}),(0,u.jsx)(i.AW,{component:r.Z})]})})}},36176:function(e,n,t){t.d(n,{Z:function(){return c}});t(50390);var a=t(56805),i=t(35477),o=t(10567),r=t(62559);function s(){return(0,r.jsxs)(i.Z,{variant:"body2",color:"textSecondary",align:"center",children:["Copyright \xa9 ",(0,r.jsx)(o.Z,{color:"inherit",href:"https://min.io/?ref=con",children:"MinIO"})," ",(new Date).getFullYear(),"."]})}var l=t(25534),c=function(){return(0,r.jsx)(l.Z,{children:(0,r.jsxs)(a.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",textAlign:"center",margin:"auto",flexFlow:"column"},children:[(0,r.jsx)(a.Z,{sx:{fontSize:"110%",margin:"0 0 0.25rem",color:"#909090"},children:"404 Error"}),(0,r.jsx)(a.Z,{sx:{fontStyle:"normal",fontSize:"clamp(2rem,calc(2rem + 1.2vw),3rem)",fontWeight:700},children:"Sorry, the page could not be found."}),(0,r.jsx)(a.Z,{mt:5,children:(0,r.jsx)(s,{})})]})})}}}]); -//# sourceMappingURL=3795.ca99e16b.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3795.ca99e16b.chunk.js.map b/portal-ui/build/static/js/3795.ca99e16b.chunk.js.map deleted file mode 100644 index b40efeafd..000000000 --- a/portal-ui/build/static/js/3795.ca99e16b.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/3795.ca99e16b.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/Components/FeatureNotAvailable.tsx","screens/Console/Common/Components/FeatureNotAvailablePage.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","icons/VerifiedIcon.tsx","screens/Console/Support/RegisterStatus.tsx","screens/Console/Common/SettingsCard/SettingsCard.tsx","screens/Console/Tools/ToolsPanel/ToolsList.tsx","icons/OnlineRegistrationIcon.tsx","icons/OfflineRegistrationIcon.tsx","icons/OnlineRegistrationBackIcon.tsx","icons/OfflineRegistrationBackIcon.tsx","screens/Console/Support/Register.tsx","screens/Console/Tools/Tools.tsx","common/Copyright.tsx","screens/NotFoundPage.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;\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 IFeatureNotAvailable {\n iconComponent?: any;\n title?: string;\n helpCls?: any;\n message?: any;\n}\n\nconst FeatureNotAvailable = ({\n iconComponent = null,\n title = \"\",\n message = \"\",\n}: IFeatureNotAvailable) => {\n return (\n \n \n theme.colors.link,\n textDecoration: \"underline\",\n },\n }}\n >\n {message}\n \n }\n />\n \n \n );\n};\n\nexport default FeatureNotAvailable;\n","import PageHeader from \"../PageHeader/PageHeader\";\nimport React from \"react\";\nimport FeatureNotAvailable from \"./FeatureNotAvailable\";\nimport PageLayout from \"../Layout/PageLayout\";\n\nconst FeatureNotAvailablePage = ({\n pageHeaderText = \"\",\n icon = null,\n title = \"\",\n message = null,\n}: {\n pageHeaderText?: string;\n icon?: any;\n title?: string;\n message?: any;\n}) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default FeatureNotAvailablePage;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\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 VerifiedIcon = (props: SVGProps) => (\n \n \n \n \n \n \n \n \n \n \n);\n\nexport default VerifiedIcon;\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 VerifiedIcon from \"../../../icons/VerifiedIcon\";\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n registeredStatus: {\n border: \"1px solid #E2E2E2\",\n padding: \"24px 24px 24px 24px\",\n borderRadius: 2,\n marginBottom: 25,\n backgroundColor: \"#FBFAFA\",\n \"& .min-icon\": {\n width: 20,\n height: 20,\n marginLeft: 48,\n marginRight: 13,\n verticalAlign: \"middle\",\n marginTop: -3,\n },\n \"& span\": {\n fontWeight: \"bold\",\n },\n },\n });\n\ninterface IRegisterStatus {\n classes: any;\n}\n\nfunction RegisterStatus({ classes }: IRegisterStatus) {\n return (\n \n \n Registration Status:\n \n Registered\n \n \n );\n}\n\nexport default withStyles(styles)(RegisterStatus);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IElement } from \"../../Configurations/types\";\n\ninterface ISettingsCard {\n classes: any;\n configuration: IElement;\n prefix?: string;\n disabled?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n configurationLink: {\n border: \"#E5E5E5 1px solid\",\n borderRadius: 2,\n padding: 20,\n width: 190,\n maxWidth: 190,\n height: 80,\n margin: 14,\n display: \"flex\",\n alignItems: \"center\",\n color: \"#072C4F\",\n fontSize: 14,\n fontWeight: 700,\n textDecoration: \"none\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n lineClamp: 2,\n \"& svg\": {\n fontSize: 35,\n marginRight: 15,\n },\n \"&:hover\": {\n backgroundColor: \"#FBFAFA\",\n },\n \"&.disabled\": {\n backgroundColor: \"#F9F9F9\",\n color: \"#ababab\",\n cursor: \"not-allowed\",\n },\n },\n });\n\nconst SettingsCard = ({\n classes,\n configuration,\n prefix = \"settings\",\n disabled = false,\n}: ISettingsCard) => {\n return (\n \n {configuration.icon}\n {configuration.configuration_label}\n \n );\n};\n\nexport default withStyles(styles)(SettingsCard);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport SettingsCard from \"../../Common/SettingsCard/SettingsCard\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport { IElement } from \"../types\";\nimport {\n DiagnosticsIcon,\n HealIcon,\n LogsIcon,\n SearchIcon,\n TraceIcon,\n WatchIcon,\n SpeedtestIcon,\n} from \"../../../../icons\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_PAGES_PERMISSIONS,\n} from \"../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../common/SecureComponent/SecureComponent\";\nimport { AppState } from \"../../../../store\";\nimport { connect } from \"react-redux\";\n\ninterface IConfigurationOptions {\n classes: any;\n features: string[];\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 padding: 5,\n backgroundColor: \"#fff\",\n },\n ...searchField,\n ...actionsTray,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst ToolsList = ({ classes, features }: IConfigurationOptions) => {\n const configurationElements: IElement[] = [\n {\n icon: ,\n configuration_id: \"logs\",\n configuration_label: \"Logs\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_LOGS]\n ),\n },\n {\n icon: ,\n configuration_id: \"audit-logs\",\n configuration_label: \"Audit Logs\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_AUDITLOGS]\n ),\n },\n {\n icon: ,\n configuration_id: \"watch\",\n configuration_label: \"Watch\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_WATCH]\n ),\n },\n {\n icon: ,\n configuration_id: \"trace\",\n configuration_label: \"Trace\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_TRACE]\n ),\n },\n {\n icon: ,\n configuration_id: \"heal\",\n configuration_label: \"Heal\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_HEAL]\n ),\n },\n {\n icon: ,\n configuration_id: \"diagnostics\",\n configuration_label: \"Diagnostics\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_DIAGNOSTICS]\n ),\n },\n {\n icon: ,\n configuration_id: \"speedtest\",\n configuration_label: \"Speedtest\",\n disabled: !hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.TOOLS_SPEEDTEST]\n ),\n },\n ];\n\n return (\n \n \n \n \n \n
\n {configurationElements.map((element) => (\n \n ))}\n
\n
\n
\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n features: state.console.session.features,\n});\n\nconst connector = connect(mapState, null);\n\nexport default connector(withStyles(styles)(ToolsList));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\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 OnlineRegistrationIcon = (props: SVGProps) => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default OnlineRegistrationIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\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 OfflineRegistrationIcon = (props: SVGProps) => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default OfflineRegistrationIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst OnlineRegistrationBackIcon = (props: SVGProps) => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default OnlineRegistrationBackIcon;\n","import * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst OfflineRegistrationBackIcon = (props: SVGProps) => (\n \n \n \n \n \n \n \n \n);\n\nexport default OfflineRegistrationBackIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\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 {\n actionsTray,\n containerForHeader,\n searchField,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box, Button, Link } from \"@mui/material\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { CopyIcon, DiagnosticsFeatureIcon, UsersIcon } from \"../../../icons\";\nimport RemoveRedEyeIcon from \"@mui/icons-material/RemoveRedEye\";\nimport VisibilityOffIcon from \"@mui/icons-material/VisibilityOff\";\nimport OnlineRegistrationIcon from \"../../../icons/OnlineRegistrationIcon\";\nimport OfflineRegistrationIcon from \"../../../icons/OfflineRegistrationIcon\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport OnlineRegistrationBackIcon from \"../../../icons/OnlineRegistrationBackIcon\";\nimport OfflineRegistrationBackIcon from \"../../../icons/OfflineRegistrationBackIcon\";\nimport api from \"../../../common/api\";\n\nimport {\n SubnetInfo,\n SubnetLoginRequest,\n SubnetLoginResponse,\n SubnetLoginWithMFARequest,\n SubnetOrganization,\n SubnetRegisterRequest,\n SubnetRegTokenResponse,\n} from \"../License/types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport LockOutlinedIcon from \"@mui/icons-material/LockOutlined\";\nimport SelectWrapper from \"../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { hasPermission } from \"../../../common/SecureComponent/SecureComponent\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_PAGES_PERMISSIONS,\n} from \"../../../common/SecureComponent/permissions\";\nimport { connect } from \"react-redux\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport SettingsIcon from \"../../../icons/SettingsIcon\";\nimport RegisterStatus from \"./RegisterStatus\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport { AppState } from \"../../../store\";\nimport {\n HelpIconFilled,\n CallHomeFeatureIcon,\n PerformanceFeatureIcon,\n} from \"../../../icons\";\n\ninterface IRegister {\n classes: any;\n displayErrorMessage: typeof setErrorSnackMessage;\n operatorMode: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n loading: {\n paddingTop: 8,\n paddingLeft: 40,\n },\n buttons: {\n justifyContent: \"flex-start\",\n gap: 20,\n },\n localMessage: {\n fontSize: 24,\n color: \"#07193E\",\n fontWeight: \"bold\",\n textAlign: \"center\",\n marginBottom: 10,\n },\n headerStyle: {\n color: theme.palette.primary.main,\n fontSize: 16,\n fontWeight: \"bold\",\n },\n registerActivationIcon: {\n color: theme.palette.primary.main,\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 20,\n \"& .min-icon\": {\n width: 32.12,\n height: 25,\n marginRight: 10,\n verticalAlign: \"middle\",\n },\n },\n registerActivationMode: {\n textAlign: \"right\",\n \"& a\": {\n cursor: \"pointer\",\n },\n },\n subnetDescription: {\n textAlign: \"left\",\n Font: \"normal normal normal 14px/17px Lato\",\n letterSpacing: 0,\n color: \"#000000\",\n \"& span\": {\n fontWeight: \"bold\",\n },\n },\n registeredStatus: {\n border: \"1px solid #E2E2E2\",\n padding: \"24px 24px 24px 24px\",\n borderRadius: 2,\n marginBottom: 25,\n backgroundColor: \"#FBFAFA\",\n \"& .min-icon\": {\n width: 20,\n height: 20,\n marginLeft: 48,\n marginRight: 13,\n verticalAlign: \"middle\",\n marginTop: -3,\n },\n \"& span\": {\n fontWeight: \"bold\",\n },\n },\n offlineRegisterButton: {\n textAlign: \"right\",\n paddingRight: 20,\n },\n copyInputBox: {\n \"& button\": {\n border: \"1px solid #5E5E5E\",\n borderRadius: 2,\n },\n },\n link: {\n color: \"#2781B0\",\n cursor: \"pointer\",\n },\n smallBoxy: {\n border: \"#E5E5E5 1px solid\",\n borderRadius: 2,\n padding: 20,\n backgroundColor: \"#fff\",\n },\n sizedLabel: {\n minWidth: \"75px\",\n },\n ...actionsTray,\n ...searchField,\n ...spacingUtils,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst FormTitle = ({ icon = null, title }: { icon?: any; title: any }) => {\n return (\n \n {icon}\n
{title}
\n \n );\n};\n\nconst RegisterHelpBox = () => {\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 \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};\nconst Register = ({\n classes,\n displayErrorMessage,\n operatorMode,\n}: IRegister) => {\n const [license, setLicense] = useState(\"\");\n const [subnetPassword, setSubnetPassword] = useState(\"\");\n const [subnetEmail, setSubnetEmail] = useState(\"\");\n const [subnetMFAToken, setSubnetMFAToken] = useState(\"\");\n const [subnetOTP, setSubnetOTP] = useState(\"\");\n const [subnetAccessToken, setSubnetAccessToken] = useState(\"\");\n const [selectedSubnetOrganization, setSelectedSubnetOrganization] =\n useState(\"\");\n const [subnetRegToken, setSubnetRegToken] = useState(\"\");\n const [subnetOrganizations, setSubnetOrganizations] = useState<\n SubnetOrganization[]\n >([]);\n const [showPassword, setShowPassword] = useState(false);\n const [onlineActivation, setOnlineActivation] = useState(true);\n const [loading, setLoading] = useState(false);\n const [loadingLicenseInfo, setLoadingLicenseInfo] = useState(false);\n const [clusterRegistered, setClusterRegistered] = useState(false);\n const [initialLicenseLoading, setInitialLicenseLoading] =\n useState(true);\n const [displaySubnetProxy, setDisplaySubnetProxy] = useState(false);\n\n const clearForm = () => {\n setSubnetAccessToken(\"\");\n setSelectedSubnetOrganization(\"\");\n setSubnetRegToken(\"\");\n setShowPassword(false);\n setOnlineActivation(true);\n setSubnetOrganizations([]);\n setLicense(\"\");\n setSubnetPassword(\"\");\n setSubnetEmail(\"\");\n setSubnetMFAToken(\"\");\n setSubnetOTP(\"\");\n };\n\n const getSubnetInfo = hasPermission(\n CONSOLE_UI_RESOURCE,\n IAM_PAGES_PERMISSIONS[IAM_PAGES.LICENSE],\n true\n );\n\n const fetchLicenseInfo = useCallback(() => {\n if (loadingLicenseInfo) {\n return;\n }\n if (getSubnetInfo) {\n setLoadingLicenseInfo(true);\n api\n .invoke(\"GET\", `/api/v1/subnet/info`)\n .then((res: SubnetInfo) => {\n setClusterRegistered(true);\n setLoadingLicenseInfo(false);\n })\n .catch((err: ErrorResponseHandler) => {\n if (err.errorMessage !== \"License not found\") {\n displayErrorMessage(err);\n }\n setClusterRegistered(false);\n setLoadingLicenseInfo(false);\n });\n } else {\n setLoadingLicenseInfo(false);\n }\n }, [loadingLicenseInfo, getSubnetInfo, displayErrorMessage]);\n\n const fetchSubnetRegToken = () => {\n if (loading || subnetRegToken) {\n return;\n }\n setLoading(true);\n api\n .invoke(\"GET\", \"/api/v1/subnet/registration-token\")\n .then((resp: SubnetRegTokenResponse) => {\n setLoading(false);\n if (resp && resp.regToken) {\n setSubnetRegToken(resp.regToken);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n console.log(err);\n displayErrorMessage(err);\n setLoading(false);\n });\n };\n\n const callRegister = (token: string, account_id: string) => {\n const request: SubnetRegisterRequest = {\n token: token,\n account_id: account_id,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/register\", request)\n .then(() => {\n setLoading(false);\n clearForm();\n fetchLicenseInfo();\n })\n .catch((err: ErrorResponseHandler) => {\n displayErrorMessage(err);\n setLoading(false);\n });\n };\n const subnetRegister = () => {\n if (loading) {\n return;\n }\n setLoading(true);\n if (subnetAccessToken && selectedSubnetOrganization) {\n callRegister(subnetAccessToken, selectedSubnetOrganization);\n }\n };\n\n const subnetLoginWithMFA = () => {\n if (loading) {\n return;\n }\n setLoading(true);\n const request: SubnetLoginWithMFARequest = {\n username: subnetEmail,\n otp: subnetOTP,\n mfa_token: subnetMFAToken,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/login/mfa\", request)\n .then((resp: SubnetLoginResponse) => {\n setLoading(false);\n if (resp && resp.access_token && resp.organizations.length > 0) {\n if (resp.organizations.length === 1) {\n callRegister(\n resp.access_token,\n resp.organizations[0].accountId.toString()\n );\n } else {\n setSubnetAccessToken(resp.access_token);\n setSubnetOrganizations(resp.organizations);\n setSelectedSubnetOrganization(\n resp.organizations[0].accountId.toString()\n );\n }\n }\n })\n .catch((err: ErrorResponseHandler) => {\n displayErrorMessage(err);\n setLoading(false);\n setSubnetOTP(\"\");\n });\n };\n\n const subnetLogin = () => {\n if (loading) {\n return;\n }\n setLoading(true);\n let request: SubnetLoginRequest = {\n username: subnetEmail,\n password: subnetPassword,\n apiKey: license,\n };\n api\n .invoke(\"POST\", \"/api/v1/subnet/login\", request)\n .then((resp: SubnetLoginResponse) => {\n setLoading(false);\n if (resp && resp.registered) {\n clearForm();\n fetchLicenseInfo();\n } else if (resp && resp.mfa_token) {\n setSubnetMFAToken(resp.mfa_token);\n } else if (resp && resp.access_token && resp.organizations.length > 0) {\n setSubnetAccessToken(resp.access_token);\n setSubnetOrganizations(resp.organizations);\n setSelectedSubnetOrganization(\n resp.organizations[0].accountId.toString()\n );\n }\n })\n .catch((err: ErrorResponseHandler) => {\n displayErrorMessage(err);\n setLoading(false);\n clearForm();\n });\n };\n\n useEffect(() => {\n if (initialLicenseLoading) {\n fetchLicenseInfo();\n setInitialLicenseLoading(false);\n }\n }, [fetchLicenseInfo, initialLicenseLoading, setInitialLicenseLoading]);\n\n const formTitle = onlineActivation ? (\n \n }\n title={`Register with MinIO Subscription Network`}\n />\n \n ) : (\n \n }\n title={` Offline Activation of SUBNET License`}\n />\n \n );\n\n let clusterRegistrationForm: JSX.Element;\n\n if (onlineActivation) {\n if (subnetAccessToken && subnetOrganizations.length > 0) {\n clusterRegistrationForm = (\n \n \n \n \n \n \n \n setSelectedSubnetOrganization(e.target.value as string)\n }\n label=\"Select an organization\"\n value={selectedSubnetOrganization}\n options={subnetOrganizations.map((organization) => ({\n label: organization.company,\n value: organization.accountId.toString(),\n }))}\n />\n \n subnetRegister()}\n disabled={loading || subnetAccessToken.trim().length === 0}\n variant=\"contained\"\n >\n Register\n \n \n \n \n \n \n );\n } else if (subnetMFAToken) {\n clusterRegistrationForm = (\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 subnetLoginWithMFA()}\n disabled={\n loading ||\n subnetOTP.trim().length === 0 ||\n subnetMFAToken.trim().length === 0\n }\n variant=\"contained\"\n >\n Verify\n \n \n \n\n \n \n );\n } else {\n clusterRegistrationForm = (\n \n \n \n Use your MinIO Subscription Network login credentials to register\n this cluster.\n \n \n ) =>\n setSubnetEmail(event.target.value)\n }\n label=\"Email\"\n value={subnetEmail}\n overlayIcon={}\n />\n ) =>\n setSubnetPassword(event.target.value)\n }\n label=\"Password\"\n type={showPassword ? \"text\" : \"password\"}\n value={subnetPassword}\n overlayIcon={\n showPassword ? : \n }\n overlayAction={() => setShowPassword(!showPassword)}\n />\n\n \n {\n e.preventDefault();\n window.open(\n `https://min.io/signup?ref=${\n operatorMode ? \"op\" : \"con\"\n }`,\n \"_blank\"\n );\n }}\n >\n Sign up\n \n subnetLogin()}\n >\n Register\n \n \n \n \n \n \n );\n }\n } else {\n clusterRegistrationForm = (\n \n \n \n \n
1
{\" \"}\n
\n Copy the following registration token\n
\n
\n\n \n {}}\n value={subnetRegToken}\n overlayIcon={}\n extraInputProps={{\n readOnly: true,\n }}\n overlayAction={() =>\n navigator.clipboard.writeText(subnetRegToken)\n }\n />\n
\n \n\n \n \n
2
\n
\n Navigate to SUBNET and register your cluster\n
\n
\n\n \n \n https://subnet.min.io/cluster/register\n \n
\n \n\n \n \n
3
{\" \"}\n
\n Enter the API key generated by SUBNET\n
\n
\n\n \n ) =>\n setLicense(event.target.value)\n }\n id=\"api-key\"\n name=\"api-key\"\n placeholder=\"\"\n label=\"\"\n type=\"text\"\n />\n \n \n\n \n subnetLogin()}\n disabled={loading || license.trim().length === 0}\n >\n Register\n \n \n \n\n \n \n );\n }\n\n const proxyConfigurationCommand =\n \"mc admin config set {alias} subnet proxy={proxy}\";\n\n return (\n \n \n \n \n {clusterRegistered && }\n\n {!onlineActivation ? (\n \n \n setOnlineActivation(!onlineActivation)}\n >\n Back to Online Activation\n \n \n ) : null}\n\n {formTitle}\n\n {clusterRegistrationForm}\n \n\n {onlineActivation && (\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 Cluster does not have internet\n access? Use{\" \"}\n \n \n {\n fetchSubnetRegToken();\n setOnlineActivation(!onlineActivation);\n }}\n >\n Offline Activation.\n \n \n \n
\n )}\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n operatorMode: state.system.operatorMode,\n});\n\nconst connector = connect(mapState, {\n displayErrorMessage: setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(Register));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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, Router, Switch } from \"react-router-dom\";\nimport history from \"../../../history\";\nimport NotFoundPage from \"../../NotFoundPage\";\nimport ToolsList from \"./ToolsPanel/ToolsList\";\nimport Register from \"../Support/Register\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\nimport FeatureNotAvailablePage from \"../Common/Components/FeatureNotAvailablePage\";\nimport { SupportMenuIcon } from \"../../../icons/SidebarMenus/MenuIcons\";\n\nconst Tools = () => {\n return (\n \n \n \n \n {\n return (\n }\n pageHeaderText={\"Support\"}\n title={\"Call Home\"}\n message={
This feature is currently not available.
}\n />\n );\n }}\n />\n {\n return (\n }\n pageHeaderText={\"Support\"}\n title={\"Inspect\"}\n message={
This feature is currently not available.
}\n />\n );\n }}\n />\n {\n return (\n }\n pageHeaderText={\"Support\"}\n title={\"Profile\"}\n message={
This feature is currently not available.
}\n />\n );\n }}\n />\n \n
\n
\n );\n};\n\nexport default Tools;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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"],"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","message","Grid","HelpBox","Box","sx","flexFlow","md","color","colors","link","textDecoration","pageHeaderText","icon","PageHeader","label","PageLayout","StyledSwitch","padding","margin","switchBase","transform","palette","common","white","boxShadow","opacity","thumb","marginLeft","track","transition","transitions","create","checked","focusVisible","switchContainer","justifyContent","Switch","divContainer","indicatorLabelOn","indicatorLabel","fieldDescription","marginTop","tooltip","actionsTray","fieldBasic","onChange","value","id","name","disabled","switchOnly","description","indicatorLabels","switchComponent","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","sm","htmlFor","inputLabel","tooltipContainer","placement","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","onClick","size","SelectStyled","lineHeight","spacing","input","borderColor","InputBase","fieldContainer","options","map","option","pageContentStyles","children","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","labelStyle","rightMenu","logo","fill","primary","main","middleComponent","actions","direction","variant","xmlns","d","clipPath","registeredStatus","verticalAlign","configurationLink","overflow","textOverflow","lineClamp","cursor","configuration","prefix","to","configuration_id","configuration_label","features","console","session","settingsOptionsContainer","flexDirection","flexWrap","searchField","containerForHeader","configurationElements","hasPermission","CONSOLE_UI_RESOURCE","IAM_PAGES_PERMISSIONS","IAM_PAGES","Fragment","element","viewBox","FormTitle","RegisterHelpBox","flex","FeatureItem","style","fontStyle","displayErrorMessage","setErrorSnackMessage","loading","buttons","gap","localMessage","headerStyle","registerActivationIcon","registerActivationMode","subnetDescription","Font","letterSpacing","offlineRegisterButton","copyInputBox","smallBoxy","sizedLabel","minWidth","spacingUtils","useState","license","setLicense","subnetPassword","setSubnetPassword","subnetEmail","setSubnetEmail","subnetMFAToken","setSubnetMFAToken","subnetOTP","setSubnetOTP","subnetAccessToken","setSubnetAccessToken","selectedSubnetOrganization","setSelectedSubnetOrganization","subnetRegToken","setSubnetRegToken","subnetOrganizations","setSubnetOrganizations","showPassword","setShowPassword","onlineActivation","setOnlineActivation","setLoading","loadingLicenseInfo","setLoadingLicenseInfo","clusterRegistered","setClusterRegistered","initialLicenseLoading","setInitialLicenseLoading","displaySubnetProxy","setDisplaySubnetProxy","clearForm","getSubnetInfo","fetchLicenseInfo","useCallback","api","then","res","catch","err","errorMessage","callRegister","token","account_id","request","subnetLogin","username","password","apiKey","resp","registered","mfa_token","access_token","organizations","accountId","toString","useEffect","clusterRegistrationForm","formTitle","SelectWrapper","e","target","organization","company","Button","button","trim","InputBoxWrapper","LockOutlined","event","otp","subnetLoginWithMFA","spacerBottom","VisibilityOff","RemoveRedEye","spacerRight","preventDefault","window","open","background","readOnly","navigator","clipboard","writeText","Link","href","proxyConfigurationCommand","RegisterStatus","SettingsIcon","FormSwitchWrapper","regToken","log","history","path","exact","ToolsList","Register","render","FeatureNotAvailablePage","NotFoundPage","Copyright","Typography","align","Date","getFullYear","mt"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3806.e2daceb3.chunk.js b/portal-ui/build/static/js/3806.5d7e13c7.chunk.js similarity index 98% rename from portal-ui/build/static/js/3806.e2daceb3.chunk.js rename to portal-ui/build/static/js/3806.5d7e13c7.chunk.js index b45fb14e8..cd4a8c478 100644 --- a/portal-ui/build/static/js/3806.e2daceb3.chunk.js +++ b/portal-ui/build/static/js/3806.5d7e13c7.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3806],{8235:function(e,n,t){t(50390);var r=t(86509),i=t(4285),o=t(25594),a=t(62559);n.Z=(0,i.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,i=e.help;return(0,a.jsx)("div",{className:n.root,children:(0,a.jsxs)(o.ZP,{container:!0,children:[(0,a.jsxs)(o.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,r]}),(0,a.jsx)(o.ZP,{item:!0,xs:12,className:n.helpText,children:i})]})})}))},53224:function(e,n,t){var r=t(18489),i=t(83738),o=(t(50390),t(70758)),a=t(62449),s=t(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,a.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,r=n.color,i=e.palette.primary.main;return"primary"===r&&"contained"===t?i=e.palette.primary.contrastText:"primary"===r&&"outlined"===t?i=e.palette.primary.main:"secondary"===r&&(i=e.palette.secondary.main),i}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,a=e.text,d=void 0===a?"":a,u=e.disabled,p=void 0!==u&&u,m=e.tooltip,h=e.icon,f=void 0===h?null:h,x=(0,i.Z)(e,l);return(0,s.jsxs)(o.Z,(0,r.Z)((0,r.Z)({classes:n,tooltip:m||d,variant:"outlined",onClick:t,disabled:p,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},x),{},{children:[(0,s.jsx)("span",{children:d})," ",f]}))}},11835:function(e,n,t){var r=t(18489),i=t(83738),o=(t(50390),t(86509)),a=t(4285),s=t(62559),l=["classes","children"];n.Z=(0,a.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,i.Z)(e,l);return(0,s.jsx)("button",(0,r.Z)((0,r.Z)({},o),{},{className:n.root,children:t}))}))},70758:function(e,n,t){var r=t(18489),i=t(36222),o=t(83738),a=(t(50390),t(86509)),s=t(4285),l=t(95467),c=t(94187),d=t(44977),u=t(62559),p=["classes","children","variant","tooltip"];n.Z=(0,s.Z)((function(e){return(0,a.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,a=e.variant,s=void 0===a?"outlined":a,m=e.tooltip,h=(0,o.Z)(e,p),f=(0,u.jsx)(l.Z,(0,r.Z)((0,r.Z)({},h),{},{className:(0,d.Z)(n.root,(0,i.Z)({},n.contained,"contained"===s)),children:t}));return m&&""!==m?(0,u.jsx)(c.Z,{title:m,children:(0,u.jsx)("span",{children:f})}):f}))},37882:function(e,n,t){var r=t(18489),i=t(50390),o=t(62559);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function t(t){return(0,o.jsx)(i.Suspense,{fallback:n,children:(0,o.jsx)(e,(0,r.Z)({},t))})}return t}},25534:function(e,n,t){var r=t(18489),i=(t(50390),t(25594)),o=t(86509),a=t(4285),s=t(72462),l=t(62559);n.Z=(0,a.Z)((function(e){return(0,o.Z)((0,r.Z)({},s.Bw))}))((function(e){var n=e.classes,t=e.className,r=void 0===t?"":t,o=e.children;return(0,l.jsx)("div",{className:n.contentSpacer,children:(0,l.jsx)(i.ZP,{container:!0,children:(0,l.jsx)(i.ZP,{item:!0,xs:12,className:r,children:o})})})}))},35721:function(e,n,t){t(50390);var r=t(34424),i=t(25594),o=t(86509),a=t(4285),s=t(35477),l=t(95467),c=t(26805),d=t(44078),u=t(5265),p=t(11387),m=t(62559),h={toggleList:u.kQ},f=(0,r.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),h);n.Z=f((0,a.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,r=e.actions,o=e.sidebarOpen,a=e.operatorMode,u=e.managerObjects,h=e.toggleList,f=e.middleComponent;return(0,m.jsxs)(i.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,m.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,m.jsx)("div",{className:n.logo,children:a?(0,m.jsx)(c.Z,{}):(0,m.jsx)(d.Z,{})}),(0,m.jsx)(s.Z,{variant:"h4",className:n.labelStyle,children:t})]}),f&&(0,m.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,m.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.rightMenu,children:[r&&r,u&&u.length>0&&(0,m.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){h()},size:"large",children:(0,m.jsx)(p.gx,{})})]})]})})))},23165:function(e,n,t){var r=t(36222),i=t(18489),o=(t(50390),t(65771)),a=t(13336),s=t(12066),l=t(4285),c=t(86509),d=t(72462),u=t(62559);n.Z=(0,l.Z)((function(e){return(0,c.Z)({searchField:(0,i.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,i=e.classes,l=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,p=e.overrideClass,m=e.value,h=(0,r.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(o.Z,{position:d,className:i.adornment,children:(0,u.jsx)(a.Z,{})}));return(0,u.jsx)(s.Z,{placeholder:t,className:p||i.searchField,id:"search-resource",label:"",InputProps:h,onChange:function(e){l(e.target.value)},variant:"standard",value:m})}))},83806:function(e,n,t){t.r(n);var r=t(23430),i=t(18489),o=t(50390),a=t(34424),s=t(86509),l=t(4285),c=t(25594),d=t(81378),u=t(11387),p=t(44149),m=t(25233),h=t(72462),f=t(30324),x=t(17777),Z=t(35721),g=t(8235),v=t(24442),b=t(11835),j=t(25534),y=t(23165),C=t(49495),S=t(15607),P=t(37882),E=t(53224),F=t(62559),I=(0,P.Z)(o.lazy((function(){return Promise.all([t.e(5444),t.e(5284)]).then(t.bind(t,65284))}))),M=(0,P.Z)(o.lazy((function(){return Promise.all([t.e(5444),t.e(3453),t.e(4818)]).then(t.bind(t,39251))}))),N=(0,P.Z)(o.lazy((function(){return Promise.all([t.e(5444),t.e(2401)]).then(t.bind(t,16549))}))),R={setErrorSnackMessage:p.Ih},k=(0,a.$j)(null,R);n.default=(0,l.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)({tableBlock:(0,i.Z)((0,i.Z)({},h.VX.tableBlock),{},{marginTop:15})},h.OR),{},{searchField:(0,i.Z)((0,i.Z)({},h.qg.searchField),{},{maxWidth:380})},(0,h.Bz)(e.spacing(4))))}))(k((function(e){var n=e.classes,t=e.setErrorSnackMessage,i=(0,o.useState)(!1),a=(0,r.Z)(i,2),s=a[0],l=a[1],p=(0,o.useState)(null),h=(0,r.Z)(p,2),P=h[0],R=h[1],k=(0,o.useState)(!1),w=(0,r.Z)(k,2),A=w[0],O=w[1],T=(0,o.useState)(!1),_=(0,r.Z)(T,2),L=_[0],G=_[1],B=(0,o.useState)([]),z=(0,r.Z)(B,2),D=z[0],U=z[1],K=(0,o.useState)(""),V=(0,r.Z)(K,2),W=V[0],q=V[1],H=(0,o.useState)(!1),Q=(0,r.Z)(H,2),$=Q[0],X=Q[1];(0,o.useEffect)((function(){G(!0)}),[]),(0,o.useEffect)((function(){G(!0)}),[]);var Y=(0,S.F)(C.C3,[C.Ft.ADMIN_LIST_GROUPS]),J=(0,S.F)(C.C3,[C.Ft.ADMIN_REMOVE_USER_FROM_GROUP]),ee=(0,S.F)(C.C3,[C.Ft.ADMIN_GET_GROUP]);(0,o.useEffect)((function(){if(L)if(Y){f.Z.invoke("GET","/api/v1/groups").then((function(e){var n=[];null!==e.groups&&(n=e.groups.sort(m.V2)),U(n),G(!1)})).catch((function(e){t(e),G(!1)}))}else G(!1)}),[L,t,Y]);var ne=D.filter((function(e){return e.includes(W)})),te=[{type:"view",onClick:function(e){v.Z.push("".concat(C.gA.GROUPS,"/").concat(e))},disableButtonFunction:function(){return!ee}},{type:"delete",onClick:function(e){O(!0),R(e)},disableButtonFunction:function(){return!J}}];return(0,F.jsxs)(o.Fragment,{children:[s&&(0,F.jsx)(M,{open:s,selectedGroup:P,closeModalAndRefresh:function(){l(!1),G(!0)}}),A&&(0,F.jsx)(I,{deleteOpen:A,selectedGroup:P,closeDeleteModalAndRefresh:function(e){O(!1),e&&G(!0)}}),X&&(0,F.jsx)(N,{open:$,selectedGroup:P,selectedUser:null,closeModalAndRefresh:function(){X(!1)}}),(0,F.jsx)(Z.Z,{label:"Groups"}),(0,F.jsxs)(j.Z,{children:[(0,F.jsxs)(c.ZP,{item:!0,xs:12,className:n.actionsTray,children:[(0,F.jsx)(S.Z,{resource:C.C3,scopes:[C.Ft.ADMIN_LIST_GROUPS],errorProps:{disabled:!0},children:(0,F.jsx)(y.Z,{placeholder:"Search Groups",onChange:q,overrideClass:n.searchField,value:W})}),(0,F.jsx)(S.Z,{resource:C.C3,scopes:[C.Ft.ADMIN_ADD_USER_TO_GROUP,C.Ft.ADMIN_LIST_USERS],matchAll:!0,errorProps:{disabled:!0},children:(0,F.jsx)(E.Z,{tooltip:"Create Group",text:"Create Group",variant:"contained",color:"primary",icon:(0,F.jsx)(u.dt,{}),onClick:function(){R(null),l(!0)}})})]}),L&&(0,F.jsx)(d.Z,{}),!L&&(0,F.jsxs)(o.Fragment,{children:[D.length>0&&(0,F.jsxs)(o.Fragment,{children:[(0,F.jsx)(c.ZP,{item:!0,xs:12,className:n.tableBlock,children:(0,F.jsx)(S.Z,{resource:C.C3,scopes:[C.Ft.ADMIN_LIST_GROUPS],errorProps:{disabled:!0},children:(0,F.jsx)(x.Z,{itemActions:te,columns:[{label:"Name",elementKey:""}],isLoading:L,records:ne,entityName:"Groups",idField:""})})}),(0,F.jsx)(c.ZP,{item:!0,xs:12,children:(0,F.jsx)(g.Z,{title:"Groups",iconComponent:(0,F.jsx)(u.ww,{}),help:(0,F.jsxs)(o.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,F.jsx)("br",{}),(0,F.jsx)("br",{}),"You can learn more at our"," ",(0,F.jsx)("a",{href:"https://docs.min.io/minio/k8s/tutorials/group-management.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]}),0===D.length&&(0,F.jsx)(c.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,F.jsx)(c.ZP,{item:!0,xs:8,children:(0,F.jsx)(g.Z,{title:"Groups",iconComponent:(0,F.jsx)(u.oy,{}),help:(0,F.jsxs)(o.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,F.jsxs)(S.Z,{resource:C.C3,scopes:[C.Ft.ADMIN_ADD_USER_TO_GROUP,C.Ft.ADMIN_LIST_USERS],matchAll:!0,children:[(0,F.jsx)("br",{}),(0,F.jsx)("br",{}),"To get started,"," ",(0,F.jsx)(b.Z,{onClick:function(){R(null),l(!0)},children:"Create a Group"}),"."]})]})})})})]})]})]})})))},25233:function(e,n,t){t.d(n,{LQ:function(){return r},g4:function(){return i},V2:function(){return o}});var r=function(e,n){return e.accessKey>n.accessKey?1:e.accessKeyn.name?1:e.namen?1:e=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}t.d(n,{Z:function(){return r}})}}]); -//# sourceMappingURL=3806.e2daceb3.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3806],{8235:function(e,n,t){t(50390);var r=t(86509),i=t(4285),o=t(25594),a=t(62559);n.Z=(0,i.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,i=e.help;return(0,a.jsx)("div",{className:n.root,children:(0,a.jsxs)(o.ZP,{container:!0,children:[(0,a.jsxs)(o.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,r]}),(0,a.jsx)(o.ZP,{item:!0,xs:12,className:n.helpText,children:i})]})})}))},53224:function(e,n,t){var r=t(18489),i=t(83738),o=(t(50390),t(70758)),a=t(62449),s=t(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,a.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,r=n.color,i=e.palette.primary.main;return"primary"===r&&"contained"===t?i=e.palette.primary.contrastText:"primary"===r&&"outlined"===t?i=e.palette.primary.main:"secondary"===r&&(i=e.palette.secondary.main),i}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,a=e.text,d=void 0===a?"":a,u=e.disabled,p=void 0!==u&&u,m=e.tooltip,h=e.icon,f=void 0===h?null:h,x=(0,i.Z)(e,l);return(0,s.jsxs)(o.Z,(0,r.Z)((0,r.Z)({classes:n,tooltip:m||d,variant:"outlined",onClick:t,disabled:p,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},x),{},{children:[(0,s.jsx)("span",{children:d})," ",f]}))}},11835:function(e,n,t){var r=t(18489),i=t(83738),o=(t(50390),t(86509)),a=t(4285),s=t(62559),l=["classes","children"];n.Z=(0,a.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,i.Z)(e,l);return(0,s.jsx)("button",(0,r.Z)((0,r.Z)({},o),{},{className:n.root,children:t}))}))},70758:function(e,n,t){var r=t(18489),i=t(36222),o=t(83738),a=(t(50390),t(86509)),s=t(4285),l=t(95467),c=t(94187),d=t(44977),u=t(62559),p=["classes","children","variant","tooltip"];n.Z=(0,s.Z)((function(e){return(0,a.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,a=e.variant,s=void 0===a?"outlined":a,m=e.tooltip,h=(0,o.Z)(e,p),f=(0,u.jsx)(l.Z,(0,r.Z)((0,r.Z)({},h),{},{className:(0,d.Z)(n.root,(0,i.Z)({},n.contained,"contained"===s)),children:t}));return m&&""!==m?(0,u.jsx)(c.Z,{title:m,children:(0,u.jsx)("span",{children:f})}):f}))},37882:function(e,n,t){var r=t(18489),i=t(50390),o=t(62559);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function t(t){return(0,o.jsx)(i.Suspense,{fallback:n,children:(0,o.jsx)(e,(0,r.Z)({},t))})}return t}},25534:function(e,n,t){var r=t(18489),i=(t(50390),t(25594)),o=t(86509),a=t(4285),s=t(72462),l=t(62559);n.Z=(0,a.Z)((function(e){return(0,o.Z)((0,r.Z)({},s.Bw))}))((function(e){var n=e.classes,t=e.className,r=void 0===t?"":t,o=e.children;return(0,l.jsx)("div",{className:n.contentSpacer,children:(0,l.jsx)(i.ZP,{container:!0,children:(0,l.jsx)(i.ZP,{item:!0,xs:12,className:r,children:o})})})}))},35721:function(e,n,t){t(50390);var r=t(34424),i=t(25594),o=t(86509),a=t(4285),s=t(35477),l=t(95467),c=t(26805),d=t(44078),u=t(5265),p=t(98280),m=t(62559),h={toggleList:u.kQ},f=(0,r.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),h);n.Z=f((0,a.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,r=e.actions,o=e.sidebarOpen,a=e.operatorMode,u=e.managerObjects,h=e.toggleList,f=e.middleComponent;return(0,m.jsxs)(i.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,m.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,m.jsx)("div",{className:n.logo,children:a?(0,m.jsx)(c.Z,{}):(0,m.jsx)(d.Z,{})}),(0,m.jsx)(s.Z,{variant:"h4",className:n.labelStyle,children:t})]}),f&&(0,m.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,m.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.rightMenu,children:[r&&r,u&&u.length>0&&(0,m.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){h()},size:"large",children:(0,m.jsx)(p.gx,{})})]})]})})))},23165:function(e,n,t){var r=t(36222),i=t(18489),o=(t(50390),t(65771)),a=t(13336),s=t(12066),l=t(4285),c=t(86509),d=t(72462),u=t(62559);n.Z=(0,l.Z)((function(e){return(0,c.Z)({searchField:(0,i.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,i=e.classes,l=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,p=e.overrideClass,m=e.value,h=(0,r.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(o.Z,{position:d,className:i.adornment,children:(0,u.jsx)(a.Z,{})}));return(0,u.jsx)(s.Z,{placeholder:t,className:p||i.searchField,id:"search-resource",label:"",InputProps:h,onChange:function(e){l(e.target.value)},variant:"standard",value:m})}))},83806:function(e,n,t){t.r(n);var r=t(23430),i=t(18489),o=t(50390),a=t(34424),s=t(86509),l=t(4285),c=t(25594),d=t(81378),u=t(98280),p=t(44149),m=t(25233),h=t(72462),f=t(30324),x=t(17777),Z=t(35721),g=t(8235),v=t(24442),b=t(11835),j=t(25534),y=t(23165),C=t(49495),S=t(15607),P=t(37882),E=t(53224),F=t(62559),I=(0,P.Z)(o.lazy((function(){return Promise.all([t.e(5444),t.e(5284)]).then(t.bind(t,65284))}))),M=(0,P.Z)(o.lazy((function(){return Promise.all([t.e(5444),t.e(3453),t.e(4818)]).then(t.bind(t,39251))}))),N=(0,P.Z)(o.lazy((function(){return Promise.all([t.e(5444),t.e(2401)]).then(t.bind(t,16549))}))),R={setErrorSnackMessage:p.Ih},k=(0,a.$j)(null,R);n.default=(0,l.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)({tableBlock:(0,i.Z)((0,i.Z)({},h.VX.tableBlock),{},{marginTop:15})},h.OR),{},{searchField:(0,i.Z)((0,i.Z)({},h.qg.searchField),{},{maxWidth:380})},(0,h.Bz)(e.spacing(4))))}))(k((function(e){var n=e.classes,t=e.setErrorSnackMessage,i=(0,o.useState)(!1),a=(0,r.Z)(i,2),s=a[0],l=a[1],p=(0,o.useState)(null),h=(0,r.Z)(p,2),P=h[0],R=h[1],k=(0,o.useState)(!1),w=(0,r.Z)(k,2),A=w[0],O=w[1],T=(0,o.useState)(!1),_=(0,r.Z)(T,2),L=_[0],G=_[1],B=(0,o.useState)([]),z=(0,r.Z)(B,2),D=z[0],U=z[1],K=(0,o.useState)(""),V=(0,r.Z)(K,2),W=V[0],q=V[1],H=(0,o.useState)(!1),Q=(0,r.Z)(H,2),$=Q[0],X=Q[1];(0,o.useEffect)((function(){G(!0)}),[]),(0,o.useEffect)((function(){G(!0)}),[]);var Y=(0,S.F)(C.C3,[C.Ft.ADMIN_LIST_GROUPS]),J=(0,S.F)(C.C3,[C.Ft.ADMIN_REMOVE_USER_FROM_GROUP]),ee=(0,S.F)(C.C3,[C.Ft.ADMIN_GET_GROUP]);(0,o.useEffect)((function(){if(L)if(Y){f.Z.invoke("GET","/api/v1/groups").then((function(e){var n=[];null!==e.groups&&(n=e.groups.sort(m.V2)),U(n),G(!1)})).catch((function(e){t(e),G(!1)}))}else G(!1)}),[L,t,Y]);var ne=D.filter((function(e){return e.includes(W)})),te=[{type:"view",onClick:function(e){v.Z.push("".concat(C.gA.GROUPS,"/").concat(e))},disableButtonFunction:function(){return!ee}},{type:"delete",onClick:function(e){O(!0),R(e)},disableButtonFunction:function(){return!J}}];return(0,F.jsxs)(o.Fragment,{children:[s&&(0,F.jsx)(M,{open:s,selectedGroup:P,closeModalAndRefresh:function(){l(!1),G(!0)}}),A&&(0,F.jsx)(I,{deleteOpen:A,selectedGroup:P,closeDeleteModalAndRefresh:function(e){O(!1),e&&G(!0)}}),X&&(0,F.jsx)(N,{open:$,selectedGroup:P,selectedUser:null,closeModalAndRefresh:function(){X(!1)}}),(0,F.jsx)(Z.Z,{label:"Groups"}),(0,F.jsxs)(j.Z,{children:[(0,F.jsxs)(c.ZP,{item:!0,xs:12,className:n.actionsTray,children:[(0,F.jsx)(S.Z,{resource:C.C3,scopes:[C.Ft.ADMIN_LIST_GROUPS],errorProps:{disabled:!0},children:(0,F.jsx)(y.Z,{placeholder:"Search Groups",onChange:q,overrideClass:n.searchField,value:W})}),(0,F.jsx)(S.Z,{resource:C.C3,scopes:[C.Ft.ADMIN_ADD_USER_TO_GROUP,C.Ft.ADMIN_LIST_USERS],matchAll:!0,errorProps:{disabled:!0},children:(0,F.jsx)(E.Z,{tooltip:"Create Group",text:"Create Group",variant:"contained",color:"primary",icon:(0,F.jsx)(u.dt,{}),onClick:function(){R(null),l(!0)}})})]}),L&&(0,F.jsx)(d.Z,{}),!L&&(0,F.jsxs)(o.Fragment,{children:[D.length>0&&(0,F.jsxs)(o.Fragment,{children:[(0,F.jsx)(c.ZP,{item:!0,xs:12,className:n.tableBlock,children:(0,F.jsx)(S.Z,{resource:C.C3,scopes:[C.Ft.ADMIN_LIST_GROUPS],errorProps:{disabled:!0},children:(0,F.jsx)(x.Z,{itemActions:te,columns:[{label:"Name",elementKey:""}],isLoading:L,records:ne,entityName:"Groups",idField:""})})}),(0,F.jsx)(c.ZP,{item:!0,xs:12,children:(0,F.jsx)(g.Z,{title:"Groups",iconComponent:(0,F.jsx)(u.ww,{}),help:(0,F.jsxs)(o.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,F.jsx)("br",{}),(0,F.jsx)("br",{}),"You can learn more at our"," ",(0,F.jsx)("a",{href:"https://docs.min.io/minio/k8s/tutorials/group-management.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]}),0===D.length&&(0,F.jsx)(c.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,F.jsx)(c.ZP,{item:!0,xs:8,children:(0,F.jsx)(g.Z,{title:"Groups",iconComponent:(0,F.jsx)(u.oy,{}),help:(0,F.jsxs)(o.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,F.jsxs)(S.Z,{resource:C.C3,scopes:[C.Ft.ADMIN_ADD_USER_TO_GROUP,C.Ft.ADMIN_LIST_USERS],matchAll:!0,children:[(0,F.jsx)("br",{}),(0,F.jsx)("br",{}),"To get started,"," ",(0,F.jsx)(b.Z,{onClick:function(){R(null),l(!0)},children:"Create a Group"}),"."]})]})})})})]})]})]})})))},25233:function(e,n,t){t.d(n,{LQ:function(){return r},g4:function(){return i},V2:function(){return o}});var r=function(e,n){return e.accessKey>n.accessKey?1:e.accessKeyn.name?1:e.namen?1:e=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}t.d(n,{Z:function(){return r}})}}]); +//# sourceMappingURL=3806.5d7e13c7.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3806.e2daceb3.chunk.js.map b/portal-ui/build/static/js/3806.5d7e13c7.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/3806.e2daceb3.chunk.js.map rename to portal-ui/build/static/js/3806.5d7e13c7.chunk.js.map index 2b6f213e7..88b1d44d6 100644 --- a/portal-ui/build/static/js/3806.e2daceb3.chunk.js.map +++ b/portal-ui/build/static/js/3806.5d7e13c7.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/3806.e2daceb3.chunk.js","mappings":"oKA0EA,KAAeA,EAAAA,EAAAA,IApDA,SAACC,GAAD,OACbC,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,OA2BnB,EAhBgB,SAAC,GAAuD,IAArDc,EAAoD,EAApDA,QAASC,EAA2C,EAA3CA,cAAeC,EAA4B,EAA5BA,MAAOC,EAAqB,EAArBA,KAChD,OACE,gBAAKC,UAAWJ,EAAQlB,KAAxB,UACE,UAAC,KAAD,CAAMuB,WAAS,EAAf,WACE,UAAC,KAAD,CAAMC,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQV,UAAtC,UACGW,EACAC,MAEH,SAAC,KAAD,CAAMI,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQD,SAAtC,SACGI,a,6IChCLK,GAAYC,EAAAA,EAAAA,IAAW,SAAC7B,GAiB5B,MAAO,CACLE,KAAM,CACJ4B,QAAS,MACTC,MAAO,SAACC,GAAD,OAnBY,SAACA,GACtB,IAAQC,EAAmBD,EAAnBC,QAASF,EAAUC,EAAVD,MAEbG,EAAWlC,EAAMmC,QAAQC,QAAQC,KAUrC,MARc,YAAVN,GAAmC,cAAZE,EACzBC,EAAWlC,EAAMmC,QAAQC,QAAQE,aACd,YAAVP,GAAmC,aAAZE,EAChCC,EAAWlC,EAAMmC,QAAQC,QAAQC,KACd,cAAVN,IACTG,EAAWlC,EAAMmC,QAAQI,UAAUF,MAG9BH,EAM0BM,CAAeR,IAC9CS,YAAa,SAACT,GAAD,MACK,cAAhBA,EAAMD,MACF/B,EAAMmC,QAAQI,UAAUF,KACxBrC,EAAMmC,QAAQC,QAAQC,MAC5B,iBAAkB,CAChBnB,MAAO,GACPwB,WAAY,SAACV,GAAD,OAAyBA,EAAMW,KAAO,MAAQ,OAC1D,4BAA6B,CAC3BzB,MAAO,GACPwB,WAAY,wBA2CtB,IApCqB,SAACV,GACpB,IAAMZ,EAAUQ,EAAUI,GAGxBY,EAMEZ,EANFY,QADF,EAOIZ,EALFW,KAAAA,OAFF,MAES,GAFT,IAOIX,EAJFa,SAAAA,OAHF,SAIEC,EAGEd,EAHFc,QAJF,EAOId,EAFFe,KAAAA,OALF,MAKS,KALT,EAMKC,GANL,OAOIhB,EAPJ,GASA,OACE,UAAC,KAAD,gBACEZ,QAASA,EACT0B,QAASA,GAAWH,EACpBV,QAAQ,WACRW,QAASA,EACTC,SAAUA,EACVd,MAAM,YACNkB,KAAK,SACLC,GAAI,CACF/C,OAAQ,oBACR,SAAU,CACRQ,SAAU,GACV,4BAA6B,CAC3BG,QAAS,WAIXkC,GAjBN,eAmBE,0BAAOL,IAnBT,IAmBuBI,Q,oHCtD3B,KAAehD,EAAAA,EAAAA,IA5BA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXC,KAAM,CACJ4B,QAAS,EACTqB,OAAQ,EACRhD,OAAQ,EACRE,gBAAiB,cACjB+C,eAAgB,YAChBC,OAAQ,UACR1C,SAAU,UACVoB,MAAO/B,EAAMmC,QAAQmB,KAAKjB,KAC1BkB,WAAY,wBAiBlB,EARgB,SAAC,GAA8C,IAA5CnC,EAA2C,EAA3CA,QAASoC,EAAkC,EAAlCA,SAAaC,GAAqB,YAC5D,OACE,qCAAYA,GAAZ,IAAkBjC,UAAWJ,EAAQlB,KAArC,SACGsD,S,oLCsDP,KAAezD,EAAAA,EAAAA,IA5EA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXC,KAAM,CACJ4B,QAAS,EACTY,WAAY,EACZgB,YAAa,EACbjB,YAAa,UACbV,MAAO,UACP4B,YAAa,QACbvD,aAAc,EACd,cAAe,CAEbc,MAAO,IAET,8BAA+B,CAC7Bb,gBAAiBL,EAAMmC,QAAQC,QAAQC,KACvCjC,aAAc,EACdwD,QAAS,IAEX,aAAc,CACZ7B,MAAO,UACPU,YAAa,YAGjBoB,UAAW,CACTpB,YAAazC,EAAMmC,QAAQC,QAAQC,KACnCyB,WAAY9D,EAAMmC,QAAQC,QAAQC,KAClCN,MAAO,QACP,8BAA+B,CAC7B1B,gBAAiBL,EAAMmC,QAAQC,QAAQ2B,KACvC3D,aAAc,EACdwD,QAAS,IAEX,UAAW,CACTvD,gBAAiBL,EAAMmC,QAAQC,QAAQ4B,MACvCjC,MAAO,aAyCf,EA7BsB,SAAC,GAMA,IALrBX,EAKoB,EALpBA,QACAoC,EAIoB,EAJpBA,SAIoB,IAHpBvB,QAAAA,OAGoB,MAHV,WAGU,EAFpBa,EAEoB,EAFpBA,QACGW,GACiB,YACdQ,GACJ,SAAC,KAAD,kBACMR,GADN,IAEEjC,WAAW0C,EAAAA,EAAAA,GAAK9C,EAAQlB,MAAT,UACZkB,EAAQyC,UAAwB,cAAZ5B,IAHzB,SAMGuB,KAIL,OAAIV,GAAuB,KAAZA,GAEX,SAAC,IAAD,CAASxB,MAAOwB,EAAhB,UACE,0BAAOmB,MAKNA,M,2DC/DT,IAfA,SACEE,GAEC,IADDC,EACA,uDADsC,KAEtC,SAASC,EAAsBrC,GAC7B,OACE,SAAC,EAAAsC,SAAD,CAAUF,SAAUA,EAApB,UACE,SAACD,GAAD,UAAsBnC,MAK5B,OAAOqC,I,sGCAT,KAAetE,EAAAA,EAAAA,IAvBA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,UACRsE,EAAAA,OAqBP,EAZmB,SAAC,GAA4D,IAA1DnD,EAAyD,EAAzDA,QAAyD,IAAhDI,UAAAA,OAAgD,MAApC,GAAoC,EAAhCgC,EAAgC,EAAhCA,SAC7C,OACE,gBAAKhC,UAAWJ,EAAQoD,cAAxB,UACE,SAAC,KAAD,CAAM/C,WAAS,EAAf,UACE,SAAC,KAAD,CAAMC,MAAI,EAACC,GAAI,GAAIH,UAAWA,EAA9B,SACGgC,Y,0JC0ILiB,EAAqB,CACzBC,WAAAA,EAAAA,IAGIC,GAAYC,EAAAA,EAAAA,KAVD,SAACC,GAAD,MAAsB,CACrCC,YAAaD,EAAME,OAAOD,YAC1BE,aAAcH,EAAME,OAAOC,aAC3BC,eAAgBJ,EAAMK,cAAcC,cAAcC,mBAOhBX,GAEpC,IAAeE,GAAU5E,EAAAA,EAAAA,IA7HV,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXoF,gBAAiB,CACfnE,MAAO,OACPoE,UAAW,GACXxE,QAAS,OACTT,gBAAiB,OACjBkF,KAAM,EACNC,UAAW,8BAEbC,MAAO,CACL3E,QAAS,OACT4E,eAAgB,aAChB3E,WAAY,UAEd4E,WAAY,CACV5D,MAAO,OACPpB,SAAU,GACVC,WAAY,IACZ8B,WAAY,GACZkD,UAAW,GAEbC,UAAW,CACTC,UAAW,SAEbC,KAAM,CACJrD,WAAY,GACZsD,KAAMhG,EAAMmC,QAAQC,QAAQC,KAC5B,cAAe,CACbnB,MAAO,MAGX+E,gBAAiB,CACfnF,QAAS,OACT4E,eAAgB,SAChB3E,WAAY,cA0FOhB,EAtFN,SAAC,GASA,IARlBqB,EAQiB,EARjBA,QACAqE,EAOiB,EAPjBA,MACAS,EAMiB,EANjBA,QACApB,EAKiB,EALjBA,YACAE,EAIiB,EAJjBA,aACAC,EAGiB,EAHjBA,eACAP,EAEiB,EAFjBA,WACAuB,EACiB,EADjBA,gBAEA,OACE,UAAC,KAAD,CACExE,WAAS,EACTD,UAAS,UAAKJ,EAAQiE,gBAAb,gBACTc,UAAU,MACVpF,WAAW,SAJb,WAME,UAAC,KAAD,CACEW,MAAI,EACJC,GAAI,GACJyE,GAAI,GACJC,GAAIJ,EAAkB,EAAI,EAC1BzE,UAAWJ,EAAQqE,MACnBvC,GAAI,CACF3C,WAAY,CAAC,OAAQ,OAAQ,IAAK,MAPtC,WAUIuE,IACA,gBAAKtD,UAAWJ,EAAQ2E,KAAxB,SACGf,GAAe,SAAC,IAAD,KAAmB,SAAC,IAAD,OAGvC,SAAC,IAAD,CAAY/C,QAAQ,KAAKT,UAAWJ,EAAQuE,WAA5C,SACGF,OAGJQ,IACC,SAAC,KAAD,CACEvE,MAAI,EACJC,GAAI,GACJyE,GAAI,GACJC,GAAI,EACJ7E,UAAWJ,EAAQ6E,gBACnB/C,GAAI,CAAE0C,UAAW,CAAC,OAAQ,OAAQ,IAAK,MANzC,SAQGK,KAGL,UAAC,KAAD,CACEvE,MAAI,EACJC,GAAI,GACJyE,GAAI,GACJC,GAAIJ,EAAkB,EAAI,EAC1BzE,UAAWJ,EAAQyE,UALrB,UAOGK,GAAWA,EACXjB,GAAkBA,EAAeqB,OAAS,IACzC,SAAC,IAAD,CACEvE,MAAM,UACN,aAAW,eACXwE,UAAU,OACV3D,QAAS,WACP8B,KAEFzB,KAAK,QAPP,UASE,SAAC,KAAD,iB,uICtEZ,KAAelD,EAAAA,EAAAA,IApDA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXuG,aAAY,UACPA,EAAAA,GAAAA,aAELC,UAAW,OA+Cf,EAnCkB,SAAC,GAOI,IAAD,IANpBC,YAAAA,OAMoB,MANN,GAMM,EALpBtF,EAKoB,EALpBA,QACAuF,EAIoB,EAJpBA,SAIoB,IAHpBC,kBAAAA,OAGoB,MAHA,MAGA,EAFpBC,EAEoB,EAFpBA,cACAC,EACoB,EADpBA,MAEMC,GAAU,QACdC,kBAAkB,GADJ,UAEVJ,EAFU,cAGZ,SAAC,IAAD,CACEK,SAAUL,EACVpF,UAAWJ,EAAQqF,UAFrB,UAIE,SAAC,IAAD,OAIN,OACE,SAAC,IAAD,CACEC,YAAaA,EACblF,UAAWqF,GAAgCzF,EAAQoF,YACnDU,GAAG,kBACHzB,MAAM,GACN0B,WAAYJ,EACZJ,SAAU,SAACS,GACTT,EAASS,EAAEC,OAAOP,QAEpB7E,QAAQ,WACR6E,MAAOA,Q,kTClBPQ,GAAcC,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,kBAAM,6DAC5CC,GAAWF,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,kBAAM,uEACzCE,GAAYH,EAAAA,EAAAA,GAChBC,EAAAA,MAAW,kBAAM,6DAyRb/C,EAAqB,CACzBkD,qBAAAA,EAAAA,IAGIhD,GAAYC,EAAAA,EAAAA,IAAQ,KAAMH,GAEhC,WAAe1E,EAAAA,EAAAA,IAtRA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,gBACX2H,YAAW,kBACNC,EAAAA,GAAAA,YADK,IAERjC,UAAW,MAEVkC,EAAAA,IALO,IAMVtB,aAAY,kBACPA,EAAAA,GAAAA,aADM,IAETuB,SAAU,QAETC,EAAAA,EAAAA,IAAmBhI,EAAMiI,QAAQ,QA2QxC,CAAkCtD,GAxQnB,SAAC,GAAqD,IAAnDvD,EAAkD,EAAlDA,QAASuG,EAAyC,EAAzCA,qBACzB,GAAqCO,EAAAA,EAAAA,WAAkB,GAAvD,eAAOC,EAAP,KAAqBC,EAArB,KACA,GAA0CF,EAAAA,EAAAA,UAAc,MAAxD,eAAOG,EAAP,KAAsBC,EAAtB,KACA,GAAoCJ,EAAAA,EAAAA,WAAkB,GAAtD,eAAOK,EAAP,KAAmBC,EAAnB,KACA,GAA6BN,EAAAA,EAAAA,WAAkB,GAA/C,eAAOO,EAAP,KAAgBC,EAAhB,KACA,GAA8BR,EAAAA,EAAAA,UAAgB,IAA9C,eAAOS,EAAP,KAAgBC,EAAhB,KACA,GAA4BV,EAAAA,EAAAA,UAAiB,IAA7C,eAAOW,EAAP,KAAeC,EAAf,KACA,GAAoCZ,EAAAA,EAAAA,WAAkB,GAAtD,eAAOa,EAAP,KAAmBC,EAAnB,MAEAC,EAAAA,EAAAA,YAAU,WACRP,GAAU,KACT,KAEHO,EAAAA,EAAAA,YAAU,WACRP,GAAU,KACT,IAEH,IAAMQ,GAAgBC,EAAAA,EAAAA,GAAcC,EAAAA,GAAqB,CACvDC,EAAAA,GAAAA,oBAGIC,GAAcH,EAAAA,EAAAA,GAAcC,EAAAA,GAAqB,CACrDC,EAAAA,GAAAA,+BAGIE,IAAWJ,EAAAA,EAAAA,GAAcC,EAAAA,GAAqB,CAClDC,EAAAA,GAAAA,mBAGFJ,EAAAA,EAAAA,YAAU,WACR,GAAIR,EACF,GAAIS,EAAe,CAEfM,EAAAA,EAAAA,OACU,MADV,kBAEGC,MAAK,SAACC,GACL,IAAIC,EAAsB,GACP,OAAfD,EAAIE,SACND,EAAYD,EAAIE,OAAOC,KAAKC,EAAAA,KAE9BlB,EAAWe,GACXjB,GAAU,MAEXqB,OAAM,SAACC,GACNrC,EAAqBqC,GACrBtB,GAAU,WAKhBA,GAAU,KAGb,CAACD,EAASd,EAAsBuB,IAEnC,IAaMe,GAAkBtB,EAAQE,QAAO,SAACqB,GAAD,OACrCA,EAAYC,SAAStB,MAYjBuB,GAAe,CACnB,CACEC,KAAM,OACNzH,QAZe,SAAC0H,GAClBC,EAAAA,EAAAA,KAAA,UAAgBC,EAAAA,GAAAA,OAAhB,YAAoCF,KAYlCG,sBAAuB,kBAAOlB,KAEhC,CACEc,KAAM,SACNzH,QAbiB,SAAC0H,GACpB9B,GAAc,GACdF,EAAiBgC,IAYfG,sBAAuB,kBAAOnB,KAIlC,OACE,UAAC,WAAD,WACGnB,IACC,SAACV,EAAD,CACEiD,KAAMvC,EACNE,cAAeA,EACfsC,qBA7CwB,WAC9BvC,GAAa,GACbM,GAAU,MA8CPH,IACC,SAACjB,EAAD,CACEiB,WAAYA,EACZF,cAAeA,EACfuC,2BA/C2B,SAACC,GAClCrC,GAAc,GAEVqC,GACFnC,GAAU,MA8CTM,IACC,SAACtB,EAAD,CACEgD,KAAM3B,EACNV,cAAeA,EACfyC,aAAc,KACdH,qBAAsB,WACpB3B,GAAc,OAIpB,SAAC,IAAD,CAAYvD,MAAO,YAEnB,UAAC,IAAD,YACE,UAAC,KAAD,CAAM/D,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ0G,YAAtC,WACE,SAAC,IAAD,CACEiD,SAAU3B,EAAAA,GACV4B,OAAQ,CAAC3B,EAAAA,GAAAA,mBACT4B,WAAY,CAAEpI,UAAU,GAH1B,UAKE,SAAC,IAAD,CACE6D,YAAa,gBACbC,SAAUmC,EACVjC,cAAezF,EAAQoF,YACvBM,MAAO+B,OAIX,SAAC,IAAD,CACEkC,SAAU3B,EAAAA,GACV4B,OAAQ,CACN3B,EAAAA,GAAAA,wBACAA,EAAAA,GAAAA,kBAEF6B,UAAQ,EACRD,WAAY,CAAEpI,UAAU,GAP1B,UASE,SAAC,IAAD,CACEC,QAAS,eACTH,KAAM,eACNV,QAAQ,YACRF,MAAM,UACNgB,MAAM,SAAC,KAAD,IACNH,QAAS,WACP0F,EAAiB,MACjBF,GAAa,WAKpBK,IAAW,SAAC,IAAD,KACVA,IACA,UAAC,EAAA0C,SAAD,WACGxC,EAAQrC,OAAS,IAChB,UAAC,EAAA6E,SAAD,YACE,SAAC,KAAD,CAAMzJ,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQwG,WAAtC,UACE,SAAC,IAAD,CACEmD,SAAU3B,EAAAA,GACV4B,OAAQ,CAAC3B,EAAAA,GAAAA,mBACT4B,WAAY,CAAEpI,UAAU,GAH1B,UAKE,SAAC,IAAD,CACEuI,YAAahB,GACbiB,QAAS,CAAC,CAAE5F,MAAO,OAAQ6F,WAAY,KACvC5C,UAAWD,EACXE,QAASsB,GACTsB,WAAW,SACXC,QAAQ,UAId,SAAC,KAAD,CAAM9J,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,CACEL,MAAO,SACPD,eAAe,SAAC,KAAD,IACfE,MACE,UAAC,EAAA4J,SAAD,8MAKE,mBACA,kBANF,4BAO4B,KAC1B,cACEM,KAAK,wEACLpE,OAAO,SACPqE,IAAI,aAHN,2BARF,cAsBU,IAAnB/C,EAAQrC,SACP,SAAC,KAAD,CACE7E,WAAS,EACTiE,eAAgB,SAChBiG,aAAc,SACd5K,WAAY,SAJd,UAME,SAAC,KAAD,CAAMW,MAAI,EAACC,GAAI,EAAf,UACE,SAAC,IAAD,CACEL,MAAO,SACPD,eAAe,SAAC,KAAD,IACfE,MACE,UAAC,EAAA4J,SAAD,8MAKE,UAAC,IAAD,CACEJ,SAAU3B,EAAAA,GACV4B,OAAQ,CACN3B,EAAAA,GAAAA,wBACAA,EAAAA,GAAAA,kBAEF6B,UAAQ,EANV,WAQE,mBACA,kBATF,kBAUkB,KAChB,SAAC,IAAD,CACEtI,QAAS,WACP0F,EAAiB,MACjBF,GAAa,IAHjB,4BAXF,8B,uGCxRjB,IAAMwD,EAAY,SAACC,EAAkBC,GAC1C,OAAID,EAAEE,UAAYD,EAAEC,UACX,EAELF,EAAEE,UAAYD,EAAEC,WACV,EAGH,GAGIC,EAAa,SAACH,EAAoBC,GAC7C,OAAID,EAAEI,KAAOH,EAAEG,KACN,EAELJ,EAAEI,KAAOH,EAAEG,MACL,EAGH,GAGInC,EAAa,SAAC+B,EAAWC,GACpC,OAAID,EAAIC,EACC,EAELD,EAAIC,GACE,EAGH,I,4LCrDF,SAASI,EAA8BC,GAC5C,OAAOC,EAAAA,EAAAA,GAAqB,oBAAqBD,GAEnD,ICDIE,EDEJ,GAD8BC,E,SAAAA,GAAuB,oBAAqB,CAAC,OAAQ,SAAU,WAAY,WAAY,gBAAiB,cAAe,uBAAwB,cAAe,c,sBCCtLC,EAAY,CAAC,WAAY,YAAa,YAAa,uBAAwB,oBAAqB,WAAY,WAqC5GC,GAAqBC,EAAAA,EAAAA,IAAO,MAAO,CACvCR,KAAM,oBACNE,KAAM,OACNO,kBAzBwB,SAAC1K,EAAO2K,GAChC,IACEC,EACE5K,EADF4K,WAEF,MAAO,CAACD,EAAOzM,KAAMyM,EAAO,WAAD,QAAYE,EAAAA,EAAAA,GAAWD,EAAW3F,aAAkD,IAApC2F,EAAWE,sBAAiCH,EAAOG,qBAAsBH,EAAOC,EAAW3K,YAkB7IwK,EAIxB,gBACDzM,EADC,EACDA,MACA4M,EAFC,EAEDA,WAFC,OAGGG,EAAAA,EAAAA,GAAS,CACbjM,QAAS,OACTG,OAAQ,SAER+L,UAAW,MACXjM,WAAY,SACZkM,WAAY,SACZlL,MAAO/B,EAAMmC,QAAQ+K,OAAOC,QACJ,WAAvBP,EAAW3K,UAAX,sBAEKmL,EAAAA,cAFL,kBAEkDA,EAAAA,YAFlD,KAEyF,CACxFxH,UAAW,KAEY,UAAxBgH,EAAW3F,UAAwB,CAEpCjG,YAAa,GACY,QAAxB4L,EAAW3F,UAAsB,CAElCvE,WAAY,IACyB,IAApCkK,EAAWE,sBAAiC,CAE7CO,cAAe,YA4HjB,EA1HoC7F,EAAAA,YAAiB,SAAwB8F,EAASC,GACpF,IAAMvL,GAAQwL,EAAAA,EAAAA,GAAc,CAC1BxL,MAAOsL,EACPrB,KAAM,sBAINzI,EAOExB,EAPFwB,SACAhC,EAMEQ,EANFR,UAFF,EAQIQ,EALFuE,UAAAA,OAHF,MAGc,MAHd,IAQIvE,EAJF8K,qBAAAA,OAJF,WAQI9K,EAHFyL,kBAAAA,OALF,SAMExG,EAEEjF,EAFFiF,SACSyG,EACP1L,EADFC,QAEI0L,GAAQC,EAAAA,EAAAA,GAA8B5L,EAAOuK,GAE7CsB,GAAiBC,EAAAA,EAAAA,MAAoB,GACvC7L,EAAUyL,EAEVA,GAAeG,EAAe5L,QAQ9B4L,IAAmB5L,IACrBA,EAAU4L,EAAe5L,SAG3B,IAAM2K,GAAaG,EAAAA,EAAAA,GAAS,GAAI/K,EAAO,CACrC+L,YAAaF,EAAeE,YAC5B9K,KAAM4K,EAAe5K,KACrB6J,qBAAAA,EACA7F,SAAAA,EACAhF,QAAAA,IAGIb,EArFkB,SAAAwL,GACxB,IACExL,EAMEwL,EANFxL,QACA0L,EAKEF,EALFE,qBACAiB,EAIEnB,EAJFmB,YACA9G,EAGE2F,EAHF3F,SACAhE,EAEE2J,EAFF3J,KACAhB,EACE2K,EADF3K,QAEI+L,EAAQ,CACZ9N,KAAM,CAAC,OAAQ4M,GAAwB,uBAAwB7F,GAAY,WAAJ,QAAe4F,EAAAA,EAAAA,GAAW5F,IAAahF,EAAS8L,GAAe,cAAe9K,GAAQ,OAAJ,QAAW4J,EAAAA,EAAAA,GAAW5J,MAEjL,OAAOgL,EAAAA,EAAAA,GAAeD,EAAO9B,EAA+B9K,GAyE5C8M,CAAkBtB,GAClC,OAAoBuB,EAAAA,EAAAA,KAAKC,EAAAA,EAAAA,SAA6B,CACpDtH,MAAO,KACPtD,UAAuB2K,EAAAA,EAAAA,KAAK3B,GAAoBO,EAAAA,EAAAA,GAAS,CACvDsB,GAAI9H,EACJqG,WAAYA,EACZpL,WAAW0C,EAAAA,EAAAA,GAAK9C,EAAQlB,KAAMsB,GAC9B+L,IAAKA,GACJI,EAAO,CACRnK,SAA8B,kBAAbA,GAA0BiK,GAGzBa,EAAAA,EAAAA,MAAM9G,EAAAA,SAAgB,CACtChE,SAAU,CAAc,UAAbyD,EAEXoF,IAAUA,GAAqB8B,EAAAA,EAAAA,KAAK,OAAQ,CAC1C3M,UAAW,cACXgC,SAAU,YACN,KAAMA,MAT8D2K,EAAAA,EAAAA,KAAKI,EAAAA,EAAY,CAC3FxM,MAAO,iBACPyB,SAAUA,a,sBC1HH,SAASgL,EAAyBC,EAAQC,GACvD,GAAc,MAAVD,EAAgB,MAAO,GAC3B,IACIE,EAAKC,EADLvH,ECHS,SAAuCoH,EAAQC,GAC5D,GAAc,MAAVD,EAAgB,MAAO,GAC3B,IAEIE,EAAKC,EAFLvH,EAAS,GACTwH,EAAaC,OAAOC,KAAKN,GAG7B,IAAKG,EAAI,EAAGA,EAAIC,EAAWvI,OAAQsI,IACjCD,EAAME,EAAWD,GACbF,EAASM,QAAQL,IAAQ,IAC7BtH,EAAOsH,GAAOF,EAAOE,IAGvB,OAAOtH,EDTM,CAA6BoH,EAAQC,GAGlD,GAAII,OAAOG,sBAAuB,CAChC,IAAIC,EAAmBJ,OAAOG,sBAAsBR,GAEpD,IAAKG,EAAI,EAAGA,EAAIM,EAAiB5I,OAAQsI,IACvCD,EAAMO,EAAiBN,GACnBF,EAASM,QAAQL,IAAQ,GACxBG,OAAOK,UAAUC,qBAAqBC,KAAKZ,EAAQE,KACxDtH,EAAOsH,GAAOF,EAAOE,IAIzB,OAAOtH,E","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Groups/Groups.tsx","utils/sortFunctions.ts","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n

\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\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 { connect } from \"react-redux\";\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 { LinearProgress } from \"@mui/material\";\nimport { AddIcon, GroupsIcon, UsersIcon } from \"../../../icons\";\nimport { setErrorSnackMessage } from \"../../../actions\";\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 history from \"../../../history\";\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 IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport SecureComponent, {\n hasPermission,\n} from \"../../../common/SecureComponent/SecureComponent\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\nconst DeleteGroup = withSuspense(React.lazy(() => import(\"./DeleteGroup\")));\nconst AddGroup = withSuspense(React.lazy(() => import(\"../Groups/AddGroup\")));\nconst SetPolicy = withSuspense(\n React.lazy(() => import(\"../Policies/SetPolicy\"))\n);\n\ninterface IGroupsProps {\n classes: any;\n openGroupModal: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\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, setErrorSnackMessage }: IGroupsProps) => {\n const [addGroupOpen, setGroupOpen] = useState(false);\n const [selectedGroup, setSelectedGroup] = useState(null);\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\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n isLoading(true);\n }, []);\n\n const displayGroups = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_LIST_GROUPS,\n ]);\n\n const deleteGroup = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_REMOVE_USER_FROM_GROUP,\n ]);\n\n const getGroup = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_GROUP,\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 setErrorSnackMessage(err);\n isLoading(false);\n });\n };\n fetchRecords();\n } else {\n isLoading(false);\n }\n }\n }, [loading, setErrorSnackMessage, displayGroups]);\n\n const closeAddModalAndRefresh = () => {\n setGroupOpen(false);\n isLoading(true);\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n\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 history.push(`${IAM_PAGES.GROUPS}/${group}`);\n };\n\n const deleteAction = (group: any) => {\n setDeleteOpen(true);\n setSelectedGroup(group);\n };\n\n const tableActions = [\n {\n type: \"view\",\n onClick: viewAction,\n disableButtonFunction: () => !getGroup,\n },\n {\n type: \"delete\",\n onClick: deleteAction,\n disableButtonFunction: () => !deleteGroup,\n },\n ];\n\n return (\n \n {addGroupOpen && (\n \n )}\n {deleteOpen && (\n \n )}\n {setPolicyOpen && (\n {\n setPolicyOpen(false);\n }}\n />\n )}\n \n\n \n \n \n \n \n\n \n }\n onClick={() => {\n setSelectedGroup(null);\n setGroupOpen(true);\n }}\n />\n \n \n {loading && }\n {!loading && (\n \n {records.length > 0 && (\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 setSelectedGroup(null);\n setGroupOpen(true);\n }}\n >\n Create a Group\n \n .\n \n
\n }\n />\n
\n \n )}\n
\n )}\n
\n
\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(Groups));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\ninterface userInterface {\n accessKey: string;\n}\n\ninterface policyInterface {\n name: string;\n}\n\nexport const usersSort = (a: userInterface, b: userInterface) => {\n if (a.accessKey > b.accessKey) {\n return 1;\n }\n if (a.accessKey < b.accessKey) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const policySort = (a: policyInterface, b: policyInterface) => {\n if (a.name > b.name) {\n return 1;\n }\n if (a.name < b.name) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const stringSort = (a: string, b: string) => {\n if (a > b) {\n return 1;\n }\n if (a < b) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\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","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","margin","textDecoration","cursor","info","fontFamily","children","rest","borderWidth","borderStyle","opacity","contained","background","dark","light","button","clsx","WrappedComponent","fallback","ComponentWithSuspense","Suspense","pageContentStyles","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","label","justifyContent","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","actions","direction","sm","md","length","component","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","id","InputProps","e","target","DeleteGroup","withSuspense","React","AddGroup","SetPolicy","setErrorSnackMessage","tableBlock","tableStyles","actionsTray","maxWidth","containerForHeader","spacing","useState","addGroupOpen","setGroupOpen","selectedGroup","setSelectedGroup","deleteOpen","setDeleteOpen","loading","isLoading","records","setRecords","filter","setFilter","policyOpen","setPolicyOpen","useEffect","displayGroups","hasPermission","CONSOLE_UI_RESOURCE","IAM_SCOPES","deleteGroup","getGroup","api","then","res","resGroups","groups","sort","stringSort","catch","err","filteredRecords","elementItem","includes","tableActions","type","group","history","IAM_PAGES","disableButtonFunction","open","closeModalAndRefresh","closeDeleteModalAndRefresh","refresh","selectedUser","resource","scopes","errorProps","matchAll","Fragment","itemActions","columns","elementKey","entityName","idField","href","rel","alignContent","usersSort","a","b","accessKey","policySort","name","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","maxHeight","whiteSpace","action","active","inputAdornmentClasses","pointerEvents","inProps","ref","useThemeProps","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography","_objectWithoutProperties","source","excluded","key","i","sourceKeys","Object","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/3806.5d7e13c7.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Groups/Groups.tsx","utils/sortFunctions.ts","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n

\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\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 { connect } from \"react-redux\";\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 { LinearProgress } from \"@mui/material\";\nimport { AddIcon, GroupsIcon, UsersIcon } from \"../../../icons\";\nimport { setErrorSnackMessage } from \"../../../actions\";\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 history from \"../../../history\";\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 IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport SecureComponent, {\n hasPermission,\n} from \"../../../common/SecureComponent/SecureComponent\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\nconst DeleteGroup = withSuspense(React.lazy(() => import(\"./DeleteGroup\")));\nconst AddGroup = withSuspense(React.lazy(() => import(\"../Groups/AddGroup\")));\nconst SetPolicy = withSuspense(\n React.lazy(() => import(\"../Policies/SetPolicy\"))\n);\n\ninterface IGroupsProps {\n classes: any;\n openGroupModal: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\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, setErrorSnackMessage }: IGroupsProps) => {\n const [addGroupOpen, setGroupOpen] = useState(false);\n const [selectedGroup, setSelectedGroup] = useState(null);\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\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n isLoading(true);\n }, []);\n\n const displayGroups = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_LIST_GROUPS,\n ]);\n\n const deleteGroup = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_REMOVE_USER_FROM_GROUP,\n ]);\n\n const getGroup = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_GROUP,\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 setErrorSnackMessage(err);\n isLoading(false);\n });\n };\n fetchRecords();\n } else {\n isLoading(false);\n }\n }\n }, [loading, setErrorSnackMessage, displayGroups]);\n\n const closeAddModalAndRefresh = () => {\n setGroupOpen(false);\n isLoading(true);\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n\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 history.push(`${IAM_PAGES.GROUPS}/${group}`);\n };\n\n const deleteAction = (group: any) => {\n setDeleteOpen(true);\n setSelectedGroup(group);\n };\n\n const tableActions = [\n {\n type: \"view\",\n onClick: viewAction,\n disableButtonFunction: () => !getGroup,\n },\n {\n type: \"delete\",\n onClick: deleteAction,\n disableButtonFunction: () => !deleteGroup,\n },\n ];\n\n return (\n \n {addGroupOpen && (\n \n )}\n {deleteOpen && (\n \n )}\n {setPolicyOpen && (\n {\n setPolicyOpen(false);\n }}\n />\n )}\n \n\n \n \n \n \n \n\n \n }\n onClick={() => {\n setSelectedGroup(null);\n setGroupOpen(true);\n }}\n />\n \n \n {loading && }\n {!loading && (\n \n {records.length > 0 && (\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 setSelectedGroup(null);\n setGroupOpen(true);\n }}\n >\n Create a Group\n \n .\n \n
\n }\n />\n
\n \n )}\n
\n )}\n
\n
\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(Groups));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\ninterface userInterface {\n accessKey: string;\n}\n\ninterface policyInterface {\n name: string;\n}\n\nexport const usersSort = (a: userInterface, b: userInterface) => {\n if (a.accessKey > b.accessKey) {\n return 1;\n }\n if (a.accessKey < b.accessKey) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const policySort = (a: policyInterface, b: policyInterface) => {\n if (a.name > b.name) {\n return 1;\n }\n if (a.name < b.name) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const stringSort = (a: string, b: string) => {\n if (a > b) {\n return 1;\n }\n if (a < b) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\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","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","margin","textDecoration","cursor","info","fontFamily","children","rest","borderWidth","borderStyle","opacity","contained","background","dark","light","button","clsx","WrappedComponent","fallback","ComponentWithSuspense","Suspense","pageContentStyles","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","label","justifyContent","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","actions","direction","sm","md","length","component","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","id","InputProps","e","target","DeleteGroup","withSuspense","React","AddGroup","SetPolicy","setErrorSnackMessage","tableBlock","tableStyles","actionsTray","maxWidth","containerForHeader","spacing","useState","addGroupOpen","setGroupOpen","selectedGroup","setSelectedGroup","deleteOpen","setDeleteOpen","loading","isLoading","records","setRecords","filter","setFilter","policyOpen","setPolicyOpen","useEffect","displayGroups","hasPermission","CONSOLE_UI_RESOURCE","IAM_SCOPES","deleteGroup","getGroup","api","then","res","resGroups","groups","sort","stringSort","catch","err","filteredRecords","elementItem","includes","tableActions","type","group","history","IAM_PAGES","disableButtonFunction","open","closeModalAndRefresh","closeDeleteModalAndRefresh","refresh","selectedUser","resource","scopes","errorProps","matchAll","Fragment","itemActions","columns","elementKey","entityName","idField","href","rel","alignContent","usersSort","a","b","accessKey","policySort","name","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","maxHeight","whiteSpace","action","active","inputAdornmentClasses","pointerEvents","inProps","ref","useThemeProps","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography","_objectWithoutProperties","source","excluded","key","i","sourceKeys","Object","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3816.7dc2c7d2.chunk.js b/portal-ui/build/static/js/3816.7dc2c7d2.chunk.js new file mode 100644 index 000000000..4b11820d7 --- /dev/null +++ b/portal-ui/build/static/js/3816.7dc2c7d2.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3816],{95239:function(e,t,o){o.r(t);var n=o(23430),a=o(18489),r=o(50390),i=o(34424),s=o(66946),l=o(86509),c=o(4285),d=o(25594),u=o(72462),m=o(44149),p=o(30324),f=o(76352),g=o(67754),x=o(98280),h=o(70014),b=o(62559);(0,l.Z)((0,a.Z)((0,a.Z)({},u.ID),u.bK));var Z=(0,i.$j)(null,{setModalErrorSnackMessage:m.zb});t.default=(0,c.Z)((function(e){return(0,l.Z)((0,a.Z)((0,a.Z)((0,a.Z)({codeMirrorContainer:{marginBottom:20,"& label":{marginBottom:".5rem"},"& label + div":{display:"none"}}},u.DF),u.ID),u.bK))}))(Z((function(e){var t=e.classes,o=e.open,a=e.bucketName,i=e.actualPolicy,l=e.actualDefinition,c=e.closeModalAndRefresh,u=e.setModalErrorSnackMessage,m=(0,r.useState)(!1),Z=(0,n.Z)(m,2),v=Z[0],C=Z[1],j=(0,r.useState)(""),k=(0,n.Z)(j,2),y=k[0],S=k[1],M=(0,r.useState)(""),B=(0,n.Z)(M,2),N=B[0],w=B[1];return(0,r.useEffect)((function(){S(i),w(l?JSON.stringify(JSON.parse(l),null,4):"")}),[S,i,w,l]),(0,b.jsx)(f.Z,{title:"Change Access Policy",modalOpen:o,onClose:function(){c()},titleIcon:(0,b.jsx)(x.QX,{}),children:(0,b.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),v||(C(!0),p.Z.invoke("PUT","/api/v1/buckets/".concat(a,"/set-policy"),{access:y,definition:N}).then((function(e){C(!1),c()})).catch((function(e){C(!1),u(e)})))},children:(0,b.jsxs)(d.ZP,{container:!0,children:[(0,b.jsxs)(d.ZP,{item:!0,xs:12,className:t.modalFormScrollable,children:[(0,b.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,b.jsx)(g.Z,{value:y,label:"Access Policy",id:"select-access-policy",name:"select-access-policy",onChange:function(e){S(e.target.value)},options:[{value:"PRIVATE",label:"Private"},{value:"PUBLIC",label:"Public"},{value:"CUSTOM",label:"Custom"}]})}),"CUSTOM"===y&&(0,b.jsx)(d.ZP,{item:!0,xs:12,className:t.codeMirrorContainer,children:(0,b.jsx)(h.Z,{label:"Write Policy",value:N,onBeforeChange:function(e,t,o){w(o)},editorHeight:"350px"})})]}),(0,b.jsxs)(d.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,b.jsx)(s.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){c()},disabled:v,children:"Cancel"}),(0,b.jsx)(s.Z,{type:"submit",variant:"contained",color:"primary",disabled:v||"CUSTOM"===y&&!N,children:"Set"})]})]})})})})))},70014:function(e,t,o){var n=o(35531),a=o(23430),r=o(18489),i=o(50390),s=o(25594),l=(o(2574),o(20704)),c=o(54880),d=o(21563),u=o(36297),m=o(36554),p=o(94187),f=o(56805),g=o(86509),x=o(4285),h=o(97538),b=o(72462),Z=o(98280),v=o(53224),C=o(33034),j=o.n(C),k=o(53357),y=o(62559),S={json:d.AV,yaml:function(){return c.i.define(u.r)}},M=k.tk.theme({"&":{backgroundColor:"#FBFAFA"},".cm-content":{caretColor:"#05122B"},"&.cm-focused .cm-cursor":{borderLeftColor:"#05122B"},".cm-gutters":{backgroundColor:"#FBFAFA",color:"#000000",border:"none"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px",color:"#2781B0","& .\u037cc":{color:"#C83B51"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#dde1f1"},".cm-matchingBracket":{backgroundColor:"#05122B",color:"#ffffff"},".cm-selectionMatch":{backgroundColor:"#ebe7f1"},".cm-selectionLayer":{fontWeight:500}," .cm-selectionBackground":{backgroundColor:"#a180c7",color:"#ffffff"}},{dark:!1}),B=k.tk.theme({"&":{backgroundColor:"#282a36",color:"#ffb86c"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px","& .\u037cd, & .\u037cc":{color:"#8e6cef"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#44475a"},".cm-matchingBracket":{backgroundColor:"#842de5",color:"#ff79c6"},".cm-selectionLayer .cm-selectionBackground":{backgroundColor:"green"}},{dark:!0});t.Z=(0,x.Z)((function(e){return(0,g.Z)((0,r.Z)((0,r.Z)({},b.YI),{},{inputLabel:(0,r.Z)((0,r.Z)({},b.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.value,o=e.label,r=void 0===o?"":o,c=e.tooltip,d=void 0===c?"":c,u=e.mode,g=void 0===u?"json":u,x=e.classes,b=e.onBeforeChange,C=e.readOnly,k=void 0!==C&&C,N=e.editorHeight,w=void 0===N?"250px":N,I=(0,i.useState)(!1),P=(0,a.Z)(I,2),L=P[0],E=P[1],F=[];return S[g]&&(F=[].concat((0,n.Z)(F),[S[g]()])),(0,y.jsxs)(i.Fragment,{children:[(0,y.jsxs)(m.Z,{className:x.inputLabel,children:[(0,y.jsx)("span",{children:r}),""!==d&&(0,y.jsx)("div",{className:x.tooltipContainer,children:(0,y.jsx)(p.Z,{title:d,placement:"top-start",children:(0,y.jsx)("div",{className:x.tooltip,children:(0,y.jsx)(h.Z,{})})})})]}),(0,y.jsx)(s.ZP,{item:!0,xs:12,children:(0,y.jsx)("br",{})}),(0,y.jsxs)(s.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea"},children:[(0,y.jsx)(s.ZP,{item:!0,xs:12,children:(0,y.jsx)(l.ZP,{value:t,theme:L?B:M,extensions:F,editable:!k,basicSetup:!0,height:w,onChange:function(e,t){b(null,null,e)}})}),(0,y.jsx)(s.ZP,{item:!0,xs:12,sx:{borderTop:"1px solid #eaeaea",background:L?"#282c34":"#f7f7f7"},children:(0,y.jsxs)(f.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:"Change theme",onClick:function(){E(!L)},text:"",icon:(0,y.jsx)(Z.EO,{}),color:"primary",variant:"outlined"}),(0,y.jsx)(j(),{text:t,children:(0,y.jsx)(v.Z,{tooltip:"Copy to Clipboard",onClick:function(){},text:"",icon:(0,y.jsx)(Z.TI,{}),color:"primary",variant:"outlined"})})]})})]})]})}))},67754:function(e,t,o){var n=o(18489),a=o(50390),r=o(25594),i=o(46413),s=o(36554),l=o(94187),c=o(47554),d=o(43965),u=o(31680),m=o(86509),p=o(4285),f=o(72462),g=o(97538),x=o(62559),h=(0,p.Z)((function(e){return(0,m.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(i.ZP);t.Z=(0,p.Z)((function(e){return(0,m.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},f.YI),f.Hr),{},{inputLabel:(0,n.Z)((0,n.Z)({},f.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var t=e.classes,o=e.id,n=e.name,i=e.onChange,m=e.options,p=e.label,f=e.tooltip,b=void 0===f?"":f,Z=e.value,v=e.disabled,C=void 0!==v&&v;return(0,x.jsx)(a.Fragment,{children:(0,x.jsxs)(r.ZP,{item:!0,xs:12,className:t.fieldContainer,children:[""!==p&&(0,x.jsxs)(s.Z,{htmlFor:o,className:t.inputLabel,children:[(0,x.jsx)("span",{children:p}),""!==b&&(0,x.jsx)("div",{className:t.tooltipContainer,children:(0,x.jsx)(l.Z,{title:b,placement:"top-start",children:(0,x.jsx)("div",{className:t.tooltip,children:(0,x.jsx)(g.Z,{})})})})]}),(0,x.jsx)(c.Z,{fullWidth:!0,children:(0,x.jsx)(d.Z,{id:o,name:n,value:Z,onChange:i,input:(0,x.jsx)(h,{}),disabled:C,children:m.map((function(e){return(0,x.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(n,"-").concat(e.label))}))})})]})})}))},76352:function(e,t,o){o.d(t,{Z:function(){return B}});var n,a=o(23430),r=o(18489),i=o(50390),s=o(34424),l=o(95467),c=o(97771),d=o(84402),u=o(78426),m=o(93085),p=o(86509),f=o(4285),g=o(72462),x=o(44149),h=o(38342),b=o.n(h),Z=o(92125),v=o(19538),C=o(21278),j=o(62559),k=function(){clearInterval(n)},y={displayErrorMessage:x.zb},S=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),y)((0,f.Z)((function(e){return(0,p.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var t=e.classes,o=e.modalSnackMessage,r=e.displayErrorMessage,s=e.customStyle,l=(0,i.useState)(!1),c=(0,a.Z)(l,2),d=c[0],u=c[1],m=(0,i.useState)(!1),p=(0,a.Z)(m,2),f=p[0],g=p[1],x=(0,i.useCallback)((function(){g(!1)}),[]);(0,i.useEffect)((function(){f||(r({detailedError:"",errorMessage:""}),u(!1))}),[r,f]),(0,i.useEffect)((function(){""!==o.message&&"error"===o.type&&g(!0)}),[x,o.message,o.type]);var h=b()(o,"message",""),y=b()(o,"detailedErrorMsg","");return"error"!==o.type||""===h?null:(0,j.jsx)(i.Fragment,{children:(0,j.jsxs)("div",{className:"".concat(t.modalErrorContainer," ").concat(f?t.modalErrorShow:""),style:s,onMouseOver:k,onMouseLeave:function(){n=setInterval(x,1e4)},children:[(0,j.jsx)("button",{className:t.closeButton,onClick:x,children:(0,j.jsx)(C.Z,{})}),(0,j.jsxs)("div",{className:t.errorTitle,children:[(0,j.jsx)("span",{className:t.messageIcon,children:(0,j.jsx)(v.Z,{})}),(0,j.jsx)("span",{className:t.errorLabel,children:h})]}),""!==y&&(0,j.jsxs)(i.Fragment,{children:[(0,j.jsx)("div",{className:t.detailsContainerLink,children:(0,j.jsxs)("button",{className:t.detailsButton,onClick:function(){u(!d)},children:["Details",(0,j.jsx)(Z.Z,{className:"".concat(t.arrowElement," ").concat(d?t.arrowOpen:"")})]})}),(0,j.jsx)("div",{className:"".concat(t.extraDetailsContainer," ").concat(d?t.extraDetailsOpen:""),children:y})]})]})})}))),M=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:x.MK}),B=(0,f.Z)((function(e){return(0,p.Z)((0,r.Z)((0,r.Z)({},g.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},g.sN))}))(M((function(e){var t=e.onClose,o=e.modalOpen,n=e.title,s=e.children,p=e.classes,f=e.wideLimit,g=void 0===f||f,x=e.modalSnackMessage,h=e.noContentPadding,b=e.setModalSnackMessage,Z=e.titleIcon,v=void 0===Z?null:Z,k=(0,i.useState)(!1),y=(0,a.Z)(k,2),M=y[0],B=y[1];(0,i.useEffect)((function(){b("")}),[b]),(0,i.useEffect)((function(){if(x){if(""===x.message)return void B(!1);"error"!==x.type&&B(!0)}}),[x]);var N=g?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return x&&(w=x.detailedErrorMsg,(""===x.detailedErrorMsg||x.detailedErrorMsg.length<5)&&(w=x.message)),(0,j.jsxs)(d.Z,(0,r.Z)((0,r.Z)({open:o,classes:p},N),{},{scroll:"paper",onClose:function(e,o){"backdropClick"!==o&&t()},className:p.root,children:[(0,j.jsxs)(u.Z,{className:p.title,children:[(0,j.jsxs)("div",{className:p.titleText,children:[v," ",n]}),(0,j.jsx)("div",{className:p.closeContainer,children:(0,j.jsx)(l.Z,{"aria-label":"close",className:p.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,j.jsx)(C.Z,{})})})]}),(0,j.jsx)(S,{}),(0,j.jsx)(c.Z,{open:M,className:p.snackBarModal,onClose:function(){B(!1),b("")},message:w,ContentProps:{className:"".concat(p.snackBar," ").concat(x&&"error"===x.type?p.errorSnackBar:"")},autoHideDuration:x&&"error"===x.type?1e4:5e3}),(0,j.jsx)(m.Z,{className:h?"":p.content,children:s})]}))})))},4247:function(e,t,o){o.d(t,{V:function(){return a}});var n=o(10594);function a(e){return(0,n.Z)("MuiDivider",e)}var r=(0,o(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=r},31680:function(e,t,o){o.d(t,{Z:function(){return S}});var n=o(36222),a=o(1048),r=o(32793),i=o(50390),s=o(44977),l=o(50076),c=o(36128),d=o(8208),u=o(15573),m=o(57308),p=o(86875),f=o(40839),g=o(3299),x=o(4247),h=o(2198),b=o(23586),Z=o(10594);function v(e){return(0,Z.Z)("MuiMenuItem",e)}var C=(0,o(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),j=o(62559),k=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],y=(0,d.ZP)(p.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var o=e.ownerState;return[t.root,o.dense&&t.dense,o.divider&&t.divider,!o.disableGutters&&t.gutters]}})((function(e){var t,o=e.theme,a=e.ownerState;return(0,r.Z)({},o.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!a.disableGutters&&{paddingLeft:16,paddingRight:16},a.divider&&{borderBottom:"1px solid ".concat(o.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:o.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,n.Z)(t,"&.".concat(C.selected),(0,n.Z)({backgroundColor:(0,c.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity)},"&.".concat(C.focusVisible),{backgroundColor:(0,c.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity+o.palette.action.focusOpacity)})),(0,n.Z)(t,"&.".concat(C.selected,":hover"),{backgroundColor:(0,c.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity+o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,c.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity)}}),(0,n.Z)(t,"&.".concat(C.focusVisible),{backgroundColor:o.palette.action.focus}),(0,n.Z)(t,"&.".concat(C.disabled),{opacity:o.palette.action.disabledOpacity}),(0,n.Z)(t,"& + .".concat(x.Z.root),{marginTop:o.spacing(1),marginBottom:o.spacing(1)}),(0,n.Z)(t,"& + .".concat(x.Z.inset),{marginLeft:52}),(0,n.Z)(t,"& .".concat(b.Z.root),{marginTop:0,marginBottom:0}),(0,n.Z)(t,"& .".concat(b.Z.inset),{paddingLeft:36}),(0,n.Z)(t,"& .".concat(h.Z.root),{minWidth:36}),t),!a.dense&&(0,n.Z)({},o.breakpoints.up("sm"),{minHeight:"auto"}),a.dense&&(0,r.Z)({minHeight:32,paddingTop:4,paddingBottom:4},o.typography.body2,(0,n.Z)({},"& .".concat(h.Z.root," svg"),{fontSize:"1.25rem"})))})),S=i.forwardRef((function(e,t){var o=(0,u.Z)({props:e,name:"MuiMenuItem"}),n=o.autoFocus,c=void 0!==n&&n,d=o.component,p=void 0===d?"li":d,x=o.dense,h=void 0!==x&&x,b=o.divider,Z=void 0!==b&&b,C=o.disableGutters,S=void 0!==C&&C,M=o.focusVisibleClassName,B=o.role,N=void 0===B?"menuitem":B,w=o.tabIndex,I=(0,a.Z)(o,k),P=i.useContext(m.Z),L={dense:h||P.dense||!1,disableGutters:S},E=i.useRef(null);(0,f.Z)((function(){c&&E.current&&E.current.focus()}),[c]);var F,O=(0,r.Z)({},o,{dense:L.dense,divider:Z,disableGutters:S}),D=function(e){var t=e.disabled,o=e.dense,n=e.divider,a=e.disableGutters,i=e.selected,s=e.classes,c={root:["root",o&&"dense",t&&"disabled",!a&&"gutters",n&&"divider",i&&"selected"]},d=(0,l.Z)(c,v,s);return(0,r.Z)({},s,d)}(o),z=(0,g.Z)(E,t);return o.disabled||(F=void 0!==w?w:-1),(0,j.jsx)(m.Z.Provider,{value:L,children:(0,j.jsx)(y,(0,r.Z)({ref:z,role:N,tabIndex:F,component:p,focusVisibleClassName:(0,s.Z)(D.focusVisible,M)},I,{ownerState:O,classes:D}))})}))}}]); +//# sourceMappingURL=3816.7dc2c7d2.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3816.7dc2c7d2.chunk.js.map b/portal-ui/build/static/js/3816.7dc2c7d2.chunk.js.map new file mode 100644 index 000000000..6f9bd980e --- /dev/null +++ b/portal-ui/build/static/js/3816.7dc2c7d2.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3816.7dc2c7d2.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SetAccessPolicy.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.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, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Button, SelectChangeEvent } 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 formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { ChangeAccessPolicyIcon } from \"../../../../icons\";\nimport CodeMirrorWrapper from \"../../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n codeMirrorContainer: {\n marginBottom: 20,\n \"& label\": {\n marginBottom: \".5rem\",\n },\n \"& label + div\": {\n display: \"none\",\n },\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\ncreateStyles({\n ...modalStyleUtils,\n ...spacingUtils,\n});\n\ninterface ISetAccessPolicyProps {\n classes: any;\n open: boolean;\n bucketName: string;\n actualPolicy: string;\n actualDefinition: string;\n closeModalAndRefresh: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst SetAccessPolicy = ({\n classes,\n open,\n bucketName,\n actualPolicy,\n actualDefinition,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: ISetAccessPolicyProps) => {\n const [addLoading, setAddLoading] = useState(false);\n const [accessPolicy, setAccessPolicy] = useState(\"\");\n const [policyDefinition, setPolicyDefinition] = useState(\"\");\n const addRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n api\n .invoke(\"PUT\", `/api/v1/buckets/${bucketName}/set-policy`, {\n access: accessPolicy,\n definition: policyDefinition,\n })\n .then((res) => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n useEffect(() => {\n setAccessPolicy(actualPolicy);\n setPolicyDefinition(\n actualDefinition\n ? JSON.stringify(JSON.parse(actualDefinition), null, 4)\n : \"\"\n );\n }, [setAccessPolicy, actualPolicy, setPolicyDefinition, actualDefinition]);\n\n return (\n {\n closeModalAndRefresh();\n }}\n titleIcon={}\n >\n ) => {\n addRecord(e);\n }}\n >\n \n \n \n ) => {\n setAccessPolicy(e.target.value as string);\n }}\n options={[\n { value: \"PRIVATE\", label: \"Private\" },\n { value: \"PUBLIC\", label: \"Public\" },\n { value: \"CUSTOM\", label: \"Custom\" },\n ]}\n />\n \n {accessPolicy === \"CUSTOM\" && (\n \n {\n setPolicyDefinition(value);\n }}\n editorHeight={\"350px\"}\n />\n \n )}\n \n \n {\n closeModalAndRefresh();\n }}\n disabled={addLoading}\n >\n Cancel\n \n \n Set\n \n \n \n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(SetAccessPolicy));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\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, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\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 inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\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 const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n \n
\n
\n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\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 from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;"],"names":["createStyles","modalStyleUtils","spacingUtils","connector","connect","setModalErrorSnackMessage","withStyles","theme","codeMirrorContainer","marginBottom","display","formFieldStyles","classes","open","bucketName","actualPolicy","actualDefinition","closeModalAndRefresh","useState","addLoading","setAddLoading","accessPolicy","setAccessPolicy","policyDefinition","setPolicyDefinition","useEffect","JSON","stringify","parse","title","modalOpen","onClose","titleIcon","noValidate","autoComplete","onSubmit","e","preventDefault","api","access","definition","then","res","catch","err","container","item","xs","className","modalFormScrollable","formFieldRow","value","label","id","name","onChange","target","options","onBeforeChange","editor","data","editorHeight","modalButtonBar","type","variant","color","onClick","disabled","langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","backgroundColor","caretColor","borderLeftColor","border","borderRight","fontSize","fontWeight","dark","darkTheme","fieldBasic","inputLabel","tooltip","mode","readOnly","isDarkTheme","setIsDarkTheme","extensionList","tooltipContainer","placement","sx","extensions","editable","basicSetup","height","v","vu","borderTop","background","alignItems","padding","paddingRight","justifyContent","width","marginLeft","text","icon","SelectStyled","root","lineHeight","marginTop","spacing","input","position","borderRadius","borderColor","InputBase","tooltipHelper","fieldContainer","flexFlow","htmlFor","fullWidth","map","option","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","borderLeftWidth","zIndex","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","right","cursor","errorTitle","errorLabel","marginRight","messageIcon","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","detailedError","errorMessage","message","get","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","disableRipple","size","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","styled","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","props","styles","ownerState","dense","divider","disableGutters","gutters","_extends","typography","body1","textDecoration","minHeight","paddingTop","boxSizing","whiteSpace","borderBottom","palette","backgroundClip","action","hover","menuItemClasses","alpha","primary","main","selectedOpacity","focusOpacity","hoverOpacity","focus","disabledOpacity","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","React","inProps","ref","useThemeProps","autoFocus","component","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","undefined","_jsx","clsx","focusVisible"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3967.94160f6f.chunk.js b/portal-ui/build/static/js/3967.94160f6f.chunk.js new file mode 100644 index 000000000..f8f77e305 --- /dev/null +++ b/portal-ui/build/static/js/3967.94160f6f.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3967],{8235:function(e,n,t){t(50390);var i=t(86509),o=t(4285),r=t(25594),a=t(62559);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,a.jsx)("div",{className:n.root,children:(0,a.jsxs)(r.ZP,{container:!0,children:[(0,a.jsxs)(r.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,i]}),(0,a.jsx)(r.ZP,{item:!0,xs:12,className:n.helpText,children:o})]})})}))},53224:function(e,n,t){var i=t(18489),o=t(83738),r=(t(50390),t(70758)),a=t(62449),s=t(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,a.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,i=n.color,o=e.palette.primary.main;return"primary"===i&&"contained"===t?o=e.palette.primary.contrastText:"primary"===i&&"outlined"===t?o=e.palette.primary.main:"secondary"===i&&(o=e.palette.secondary.main),o}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,a=e.text,d=void 0===a?"":a,u=e.disabled,p=void 0!==u&&u,m=e.tooltip,h=e.icon,f=void 0===h?null:h,x=(0,o.Z)(e,l);return(0,s.jsxs)(r.Z,(0,i.Z)((0,i.Z)({classes:n,tooltip:m||d,variant:"outlined",onClick:t,disabled:p,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},x),{},{children:[(0,s.jsx)("span",{children:d})," ",f]}))}},70758:function(e,n,t){var i=t(18489),o=t(36222),r=t(83738),a=(t(50390),t(86509)),s=t(4285),l=t(95467),c=t(94187),d=t(44977),u=t(62559),p=["classes","children","variant","tooltip"];n.Z=(0,s.Z)((function(e){return(0,a.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,a=e.variant,s=void 0===a?"outlined":a,m=e.tooltip,h=(0,r.Z)(e,p),f=(0,u.jsx)(l.Z,(0,i.Z)((0,i.Z)({},h),{},{className:(0,d.Z)(n.root,(0,o.Z)({},n.contained,"contained"===s)),children:t}));return m&&""!==m?(0,u.jsx)(c.Z,{title:m,children:(0,u.jsx)("span",{children:f})}):f}))},35721:function(e,n,t){t(50390);var i=t(34424),o=t(25594),r=t(86509),a=t(4285),s=t(35477),l=t(95467),c=t(26805),d=t(44078),u=t(5265),p=t(98280),m=t(62559),h={toggleList:u.kQ},f=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),h);n.Z=f((0,a.Z)((function(e){return(0,r.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,i=e.actions,r=e.sidebarOpen,a=e.operatorMode,u=e.managerObjects,h=e.toggleList,f=e.middleComponent;return(0,m.jsxs)(o.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,m.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!r&&(0,m.jsx)("div",{className:n.logo,children:a?(0,m.jsx)(c.Z,{}):(0,m.jsx)(d.Z,{})}),(0,m.jsx)(s.Z,{variant:"h4",className:n.labelStyle,children:t})]}),f&&(0,m.jsx)(o.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,m.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.rightMenu,children:[i&&i,u&&u.length>0&&(0,m.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){h()},size:"large",children:(0,m.jsx)(p.gx,{})})]})]})})))},23165:function(e,n,t){var i=t(36222),o=t(18489),r=(t(50390),t(65771)),a=t(13336),s=t(12066),l=t(4285),c=t(86509),d=t(72462),u=t(62559);n.Z=(0,l.Z)((function(e){return(0,c.Z)({searchField:(0,o.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,o=e.classes,l=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,p=e.overrideClass,m=e.value,h=(0,i.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(r.Z,{position:d,className:o.adornment,children:(0,u.jsx)(a.Z,{})}));return(0,u.jsx)(s.Z,{placeholder:t,className:p||o.searchField,id:"search-resource",label:"",InputProps:h,onChange:function(e){l(e.target.value)},variant:"standard",value:m})}))},63967:function(e,n,t){t.r(n);var i=t(23430),o=t(18489),r=t(50390),a=t(34424),s=t(38342),l=t.n(s),c=t(86509),d=t(4285),u=t(25594),p=t(98280),m=t(44149),h=t(72462),f=t(17777),x=t(35721),b=t(30324),Z=t(24442),g=t(8235),v=t(25534),y=t(49495),j=t(15607),C=t(23165),P=t(37882),I=t(53224),E=t(62559),S=(0,P.Z)(r.lazy((function(){return Promise.all([t.e(5444),t.e(8954),t.e(9645)]).then(t.bind(t,88881))}))),M=(0,P.Z)(r.lazy((function(){return Promise.all([t.e(5444),t.e(4121)]).then(t.bind(t,24121))}))),A={setErrorSnackMessage:m.Ih},L=(0,a.$j)(null,A);n.default=(0,d.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},h.OR),h.qg),{},{searchField:(0,o.Z)((0,o.Z)({},h.qg.searchField),{},{maxWidth:380}),tableBlock:(0,o.Z)((0,o.Z)({},h.VX.tableBlock),{},{marginTop:15})},(0,h.Bz)(e.spacing(4))))}))(L((function(e){var n=e.classes,t=e.setErrorSnackMessage,o=(0,r.useState)([]),a=(0,i.Z)(o,2),s=a[0],c=a[1],d=(0,r.useState)(!1),m=(0,i.Z)(d,2),h=m[0],P=m[1],A=(0,r.useState)(!1),L=(0,i.Z)(A,2),k=L[0],F=L[1],N=(0,r.useState)(!1),O=(0,i.Z)(N,2),w=O[0],T=O[1],B=(0,r.useState)(""),R=(0,i.Z)(B,2),z=R[0],_=R[1],D=(0,r.useState)(""),W=(0,i.Z)(D,2),Y=W[0],q=W[1],U=(0,r.useState)(null),G=(0,i.Z)(U,2),H=G[0],$=G[1],K=(0,j.F)(y.C3,[y.Ft.ADMIN_GET_POLICY]),Q=(0,j.F)(y.C3,[y.Ft.ADMIN_DELETE_POLICY]),V=(0,j.F)(y.C3,[y.Ft.ADMIN_LIST_USER_POLICIES]);(0,r.useEffect)((function(){X()}),[]),(0,r.useEffect)((function(){h&&(V?b.Z.invoke("GET","/api/v1/policies").then((function(e){var n=l()(e,"policies",[]);n.sort((function(e,n){return e.name>n.name?1:e.name=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}t.d(n,{Z:function(){return i}})}}]); +//# sourceMappingURL=3967.94160f6f.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3967.ef703755.chunk.js.map b/portal-ui/build/static/js/3967.94160f6f.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/3967.ef703755.chunk.js.map rename to portal-ui/build/static/js/3967.94160f6f.chunk.js.map index 0f8f6fad1..39650f87d 100644 --- a/portal-ui/build/static/js/3967.ef703755.chunk.js.map +++ b/portal-ui/build/static/js/3967.94160f6f.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/3967.ef703755.chunk.js","mappings":"oKA0EA,KAAeA,EAAAA,EAAAA,IApDA,SAACC,GAAD,OACbC,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,OA2BnB,EAhBgB,SAAC,GAAuD,IAArDc,EAAoD,EAApDA,QAASC,EAA2C,EAA3CA,cAAeC,EAA4B,EAA5BA,MAAOC,EAAqB,EAArBA,KAChD,OACE,gBAAKC,UAAWJ,EAAQlB,KAAxB,UACE,UAAC,KAAD,CAAMuB,WAAS,EAAf,WACE,UAAC,KAAD,CAAMC,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQV,UAAtC,UACGW,EACAC,MAEH,SAAC,KAAD,CAAMI,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQD,SAAtC,SACGI,a,6IChCLK,GAAYC,EAAAA,EAAAA,IAAW,SAAC7B,GAiB5B,MAAO,CACLE,KAAM,CACJ4B,QAAS,MACTC,MAAO,SAACC,GAAD,OAnBY,SAACA,GACtB,IAAQC,EAAmBD,EAAnBC,QAASF,EAAUC,EAAVD,MAEbG,EAAWlC,EAAMmC,QAAQC,QAAQC,KAUrC,MARc,YAAVN,GAAmC,cAAZE,EACzBC,EAAWlC,EAAMmC,QAAQC,QAAQE,aACd,YAAVP,GAAmC,aAAZE,EAChCC,EAAWlC,EAAMmC,QAAQC,QAAQC,KACd,cAAVN,IACTG,EAAWlC,EAAMmC,QAAQI,UAAUF,MAG9BH,EAM0BM,CAAeR,IAC9CS,YAAa,SAACT,GAAD,MACK,cAAhBA,EAAMD,MACF/B,EAAMmC,QAAQI,UAAUF,KACxBrC,EAAMmC,QAAQC,QAAQC,MAC5B,iBAAkB,CAChBnB,MAAO,GACPwB,WAAY,SAACV,GAAD,OAAyBA,EAAMW,KAAO,MAAQ,OAC1D,4BAA6B,CAC3BzB,MAAO,GACPwB,WAAY,wBA2CtB,IApCqB,SAACV,GACpB,IAAMZ,EAAUQ,EAAUI,GAGxBY,EAMEZ,EANFY,QADF,EAOIZ,EALFW,KAAAA,OAFF,MAES,GAFT,IAOIX,EAJFa,SAAAA,OAHF,SAIEC,EAGEd,EAHFc,QAJF,EAOId,EAFFe,KAAAA,OALF,MAKS,KALT,EAMKC,GANL,OAOIhB,EAPJ,GASA,OACE,UAAC,KAAD,gBACEZ,QAASA,EACT0B,QAASA,GAAWH,EACpBV,QAAQ,WACRW,QAASA,EACTC,SAAUA,EACVd,MAAM,YACNkB,KAAK,SACLC,GAAI,CACF/C,OAAQ,oBACR,SAAU,CACRQ,SAAU,GACV,4BAA6B,CAC3BG,QAAS,WAIXkC,GAjBN,eAmBE,0BAAOL,IAnBT,IAmBuBI,Q,oLCL3B,KAAehD,EAAAA,EAAAA,IA5EA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXC,KAAM,CACJ4B,QAAS,EACTY,WAAY,EACZS,YAAa,EACbV,YAAa,UACbV,MAAO,UACPqB,YAAa,QACbhD,aAAc,EACd,cAAe,CAEbc,MAAO,IAET,8BAA+B,CAC7Bb,gBAAiBL,EAAMmC,QAAQC,QAAQC,KACvCjC,aAAc,EACdiD,QAAS,IAEX,aAAc,CACZtB,MAAO,UACPU,YAAa,YAGjBa,UAAW,CACTb,YAAazC,EAAMmC,QAAQC,QAAQC,KACnCkB,WAAYvD,EAAMmC,QAAQC,QAAQC,KAClCN,MAAO,QACP,8BAA+B,CAC7B1B,gBAAiBL,EAAMmC,QAAQC,QAAQoB,KACvCpD,aAAc,EACdiD,QAAS,IAEX,UAAW,CACThD,gBAAiBL,EAAMmC,QAAQC,QAAQqB,MACvC1B,MAAO,aAyCf,EA7BsB,SAAC,GAMA,IALrBX,EAKoB,EALpBA,QACAsC,EAIoB,EAJpBA,SAIoB,IAHpBzB,QAAAA,OAGoB,MAHV,WAGU,EAFpBa,EAEoB,EAFpBA,QACGa,GACiB,YACdC,GACJ,SAAC,KAAD,kBACMD,GADN,IAEEnC,WAAWqC,EAAAA,EAAAA,GAAKzC,EAAQlB,MAAT,UACZkB,EAAQkC,UAAwB,cAAZrB,IAHzB,SAMGyB,KAIL,OAAIZ,GAAuB,KAAZA,GAEX,SAAC,IAAD,CAASxB,MAAOwB,EAAhB,UACE,0BAAOc,MAKNA,M,0JCiEHE,EAAqB,CACzBC,WAAAA,EAAAA,IAGIC,GAAYC,EAAAA,EAAAA,KAVD,SAACC,GAAD,MAAsB,CACrCC,YAAaD,EAAME,OAAOD,YAC1BE,aAAcH,EAAME,OAAOC,aAC3BC,eAAgBJ,EAAMK,cAAcC,cAAcC,mBAOhBX,GAEpC,IAAeE,GAAUjE,EAAAA,EAAAA,IA7HV,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXyE,gBAAiB,CACfxD,MAAO,OACPyD,UAAW,GACX7D,QAAS,OACTT,gBAAiB,OACjBuE,KAAM,EACNC,UAAW,8BAEbC,MAAO,CACLhE,QAAS,OACTiE,eAAgB,aAChBhE,WAAY,UAEdiE,WAAY,CACVjD,MAAO,OACPpB,SAAU,GACVC,WAAY,IACZ8B,WAAY,GACZuC,UAAW,GAEbC,UAAW,CACTC,UAAW,SAEbC,KAAM,CACJ1C,WAAY,GACZ2C,KAAMrF,EAAMmC,QAAQC,QAAQC,KAC5B,cAAe,CACbnB,MAAO,MAGXoE,gBAAiB,CACfxE,QAAS,OACTiE,eAAgB,SAChBhE,WAAY,cA0FOhB,EAtFN,SAAC,GASA,IARlBqB,EAQiB,EARjBA,QACA0D,EAOiB,EAPjBA,MACAS,EAMiB,EANjBA,QACApB,EAKiB,EALjBA,YACAE,EAIiB,EAJjBA,aACAC,EAGiB,EAHjBA,eACAP,EAEiB,EAFjBA,WACAuB,EACiB,EADjBA,gBAEA,OACE,UAAC,KAAD,CACE7D,WAAS,EACTD,UAAS,UAAKJ,EAAQsD,gBAAb,gBACTc,UAAU,MACVzE,WAAW,SAJb,WAME,UAAC,KAAD,CACEW,MAAI,EACJC,GAAI,GACJ8D,GAAI,GACJC,GAAIJ,EAAkB,EAAI,EAC1B9D,UAAWJ,EAAQ0D,MACnB5B,GAAI,CACF3C,WAAY,CAAC,OAAQ,OAAQ,IAAK,MAPtC,WAUI4D,IACA,gBAAK3C,UAAWJ,EAAQgE,KAAxB,SACGf,GAAe,SAAC,IAAD,KAAmB,SAAC,IAAD,OAGvC,SAAC,IAAD,CAAYpC,QAAQ,KAAKT,UAAWJ,EAAQ4D,WAA5C,SACGF,OAGJQ,IACC,SAAC,KAAD,CACE5D,MAAI,EACJC,GAAI,GACJ8D,GAAI,GACJC,GAAI,EACJlE,UAAWJ,EAAQkE,gBACnBpC,GAAI,CAAE+B,UAAW,CAAC,OAAQ,OAAQ,IAAK,MANzC,SAQGK,KAGL,UAAC,KAAD,CACE5D,MAAI,EACJC,GAAI,GACJ8D,GAAI,GACJC,GAAIJ,EAAkB,EAAI,EAC1B9D,UAAWJ,EAAQ8D,UALrB,UAOGK,GAAWA,EACXjB,GAAkBA,EAAeqB,OAAS,IACzC,SAAC,IAAD,CACE5D,MAAM,UACN,aAAW,eACX6D,UAAU,OACVhD,QAAS,WACPmB,KAEFd,KAAK,QAPP,UASE,SAAC,KAAD,iB,uICtEZ,KAAelD,EAAAA,EAAAA,IApDA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACX4F,aAAY,UACPA,EAAAA,GAAAA,aAELC,UAAW,OA+Cf,EAnCkB,SAAC,GAOI,IAAD,IANpBC,YAAAA,OAMoB,MANN,GAMM,EALpB3E,EAKoB,EALpBA,QACA4E,EAIoB,EAJpBA,SAIoB,IAHpBC,kBAAAA,OAGoB,MAHA,MAGA,EAFpBC,EAEoB,EAFpBA,cACAC,EACoB,EADpBA,MAEMC,GAAU,QACdC,kBAAkB,GADJ,UAEVJ,EAFU,cAGZ,SAAC,IAAD,CACEK,SAAUL,EACVzE,UAAWJ,EAAQ0E,UAFrB,UAIE,SAAC,IAAD,OAIN,OACE,SAAC,IAAD,CACEC,YAAaA,EACbvE,UAAW0E,GAAgC9E,EAAQyE,YACnDU,GAAG,kBACHzB,MAAM,GACN0B,WAAYJ,EACZJ,SAAU,SAACS,GACTT,EAASS,EAAEC,OAAOP,QAEpBlE,QAAQ,WACRkE,MAAOA,Q,qSCnBPQ,GAAYC,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,kBAAM,sEAC1CC,GAAeF,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,kBAAM,6DAoO7C/C,EAAqB,CACzBiD,qBAAAA,EAAAA,IAGI/C,GAAYC,EAAAA,EAAAA,IAAQ,KAAMH,GAEhC,WAAe/D,EAAAA,EAAAA,IAxOA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACR+G,EAAAA,IACAnB,EAAAA,IAFO,IAGVA,aAAY,kBACPA,EAAAA,GAAAA,aADM,IAEToB,SAAU,MAEZC,YAAW,kBACNC,EAAAA,GAAAA,YADK,IAERlC,UAAW,OAEVmC,EAAAA,EAAAA,IAAmBpH,EAAMqH,QAAQ,QA4NxC,CAAkCrD,GApNb,SAAC,GAAuD,IAArD5C,EAAoD,EAApDA,QAAS2F,EAA2C,EAA3CA,qBAC/B,GAA8BO,EAAAA,EAAAA,UAAmB,IAAjD,eAAOC,EAAP,KAAgBC,EAAhB,KACA,GAA8BF,EAAAA,EAAAA,WAAkB,GAAhD,eAAOG,EAAP,KAAgBC,EAAhB,KACA,GAA0CJ,EAAAA,EAAAA,WAAkB,GAA5D,eAAOK,EAAP,KAAsBC,EAAtB,KACA,GAAoCN,EAAAA,EAAAA,WAAkB,GAAtD,eAAOO,EAAP,KAAmBC,EAAnB,KACA,GAA4CR,EAAAA,EAAAA,UAAiB,IAA7D,eAAOS,EAAP,KAAuBC,EAAvB,KACA,GAA4CV,EAAAA,EAAAA,UAAiB,IAA7D,eAAOW,EAAP,KAAuBC,EAAvB,KACA,GAAoCZ,EAAAA,EAAAA,UAAc,MAAlD,eAAOa,EAAP,KAAmBC,EAAnB,KAEMC,GAAaC,EAAAA,EAAAA,GAAcC,EAAAA,GAAqB,CACpDC,EAAAA,GAAAA,mBAGIC,GAAeH,EAAAA,EAAAA,GAAcC,EAAAA,GAAqB,CACtDC,EAAAA,GAAAA,sBAGIE,GAAkBJ,EAAAA,EAAAA,GAAcC,EAAAA,GAAqB,CACzDC,EAAAA,GAAAA,4BAGFG,EAAAA,EAAAA,YAAU,WACRC,MACC,KAEHD,EAAAA,EAAAA,YAAU,WACJlB,IACEiB,EACFG,EAAAA,EAAAA,OACU,MADV,oBAEGC,MAAK,SAACC,GACL,IAAMC,EAAWC,GAAAA,CAAIF,EAAK,WAAY,IAEtCC,EAASE,MAAK,SAACC,EAAIC,GACjB,OAAID,EAAGE,KAAOD,EAAGC,KACR,EAGLF,EAAGE,KAAOD,EAAGC,MACP,EAGH,KAGT3B,GAAW,GACXF,EAAWwB,MAEZM,OAAM,SAACC,GACN7B,GAAW,GACXX,EAAqBwC,MAGzB7B,GAAW,MAGd,CAACD,EAASC,EAAYF,EAAYT,EAAsB2B,IAE3D,IAAME,EAAe,WACnBlB,GAAW,IA4BP8B,EAAe,CACnB,CACEC,KAAM,OACN7G,QAPe,SAAC8G,GAClBC,EAAAA,EAAAA,KAAA,UAAgBC,EAAAA,GAAAA,SAAhB,YAAsCF,EAAOL,QAO3CQ,sBAAuB,kBAAOxB,IAEhC,CACEoB,KAAM,SACN7G,QAjBwB,SAAC8G,GAC3B5B,GAAc,GACdE,EAAkB0B,IAgBhBI,YAAY,EACZD,sBAAuB,kBAAOpB,KAI5BsB,GAAkBxC,EAAQyC,QAAO,SAACC,GAAD,OACrCA,EAAYZ,KAAKa,SAASjC,MAG5B,OACE,UAAC,WAAD,WACGN,IACC,SAAChB,EAAD,CACEwD,KAAMxC,EACNyC,qBAhDwB,SAACC,GAC/BzC,GAAiB,GAEbyC,GACFzB,KA6CIT,WAAYA,IAGfN,IACC,SAACf,EAAD,CACEe,WAAYA,EACZE,eAAgBA,EAChBuC,2BAhD2B,SAACD,GAClCvC,GAAc,GAEVuC,GACFzB,QA+CA,SAAC,IAAD,CAAY9D,MAAM,kBAClB,UAAC,IAAD,CAAYtD,UAAWJ,EAAQmJ,cAA/B,WACE,UAAC,KAAD,CAAM7I,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ4F,YAAtC,WACE,SAAC,IAAD,CACEhB,SAAUkC,EACVnC,YAAY,kBACZG,cAAe9E,EAAQyE,YACvBM,MAAO8B,KAGT,SAAC,IAAD,CACEuC,OAAQ,CAAChC,EAAAA,GAAAA,qBACTiC,SAAUlC,EAAAA,GACVmC,WAAY,CAAE7H,UAAU,GAH1B,UAKE,SAAC,IAAD,CACEC,QAAS,gBACTH,KAAM,gBACNV,QAAQ,YACRF,MAAM,UACNgB,MAAM,SAAC,KAAD,IACNH,QAAS,WACPgF,GAAiB,GACjBQ,EAAc,eAKtB,SAAC,KAAD,CAAM1G,MAAI,EAACC,GAAI,GAAf,UACE,qBAEF,SAAC,KAAD,CAAMD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQ8F,WAAtC,UACE,SAAC,IAAD,CACEsD,OAAQ,CAAChC,EAAAA,GAAAA,0BACTiC,SAAUlC,EAAAA,GACVmC,WAAY,CAAE7H,UAAU,GAH1B,UAKE,SAAC,IAAD,CACE8H,YAAanB,EACboB,QAAS,CAAC,CAAE9F,MAAO,OAAQ+F,WAAY,SACvCC,UAAWrD,EACXF,QAASwC,GACTgB,WAAW,WACXC,QAAQ,cAId,SAAC,KAAD,CAAMtJ,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,CACEL,MAAO,gCACPD,eAAe,SAAC,KAAD,IACfE,MACE,UAAC,EAAA0J,SAAD,yQAME,mBACA,kBAPF,oSAaE,mBACA,kBAdF,4BAe4B,KAC1B,cACEC,KAAK,kHACLxE,OAAO,SACPyE,IAAI,aAHN,2BAhBF,sB,4LCxPP,SAASC,EAA8BC,GAC5C,OAAOC,EAAAA,EAAAA,GAAqB,oBAAqBD,GAEnD,ICDIE,EDEJ,GAD8BC,E,SAAAA,GAAuB,oBAAqB,CAAC,OAAQ,SAAU,WAAY,WAAY,gBAAiB,cAAe,uBAAwB,cAAe,c,sBCCtLC,EAAY,CAAC,WAAY,YAAa,YAAa,uBAAwB,oBAAqB,WAAY,WAqC5GC,GAAqBC,EAAAA,EAAAA,IAAO,MAAO,CACvCtC,KAAM,oBACNgC,KAAM,OACNO,kBAzBwB,SAAC5J,EAAO6J,GAChC,IACEC,EACE9J,EADF8J,WAEF,MAAO,CAACD,EAAO3L,KAAM2L,EAAO,WAAD,QAAYE,EAAAA,EAAAA,GAAWD,EAAWxF,aAAkD,IAApCwF,EAAWE,sBAAiCH,EAAOG,qBAAsBH,EAAOC,EAAW7J,YAkB7I0J,EAIxB,gBACD3L,EADC,EACDA,MACA8L,EAFC,EAEDA,WAFC,OAGGG,EAAAA,EAAAA,GAAS,CACbnL,QAAS,OACTG,OAAQ,SAERiL,UAAW,MACXnL,WAAY,SACZoL,WAAY,SACZpK,MAAO/B,EAAMmC,QAAQiK,OAAOC,QACJ,WAAvBP,EAAW7J,UAAX,sBAEKqK,EAAAA,cAFL,kBAEkDA,EAAAA,YAFlD,KAEyF,CACxFrH,UAAW,KAEY,UAAxB6G,EAAWxF,UAAwB,CAEpCtF,YAAa,GACY,QAAxB8K,EAAWxF,UAAsB,CAElC5D,WAAY,IACyB,IAApCoJ,EAAWE,sBAAiC,CAE7CO,cAAe,YA4HjB,EA1HoC1F,EAAAA,YAAiB,SAAwB2F,EAASC,GACpF,IAAMzK,GAAQ0K,EAAAA,EAAAA,GAAc,CAC1B1K,MAAOwK,EACPnD,KAAM,sBAIN3F,EAOE1B,EAPF0B,SACAlC,EAMEQ,EANFR,UAFF,EAQIQ,EALF4D,UAAAA,OAHF,MAGc,MAHd,IAQI5D,EAJFgK,qBAAAA,OAJF,WAQIhK,EAHF2K,kBAAAA,OALF,SAMErG,EAEEtE,EAFFsE,SACSsG,EACP5K,EADFC,QAEI4K,GAAQC,EAAAA,EAAAA,GAA8B9K,EAAOyJ,GAE7CsB,GAAiBC,EAAAA,EAAAA,MAAoB,GACvC/K,EAAU2K,EAEVA,GAAeG,EAAe9K,QAQ9B8K,IAAmB9K,IACrBA,EAAU8K,EAAe9K,SAG3B,IAAM6J,GAAaG,EAAAA,EAAAA,GAAS,GAAIjK,EAAO,CACrCiL,YAAaF,EAAeE,YAC5BhK,KAAM8J,EAAe9J,KACrB+I,qBAAAA,EACA1F,SAAAA,EACArE,QAAAA,IAGIb,EArFkB,SAAA0K,GACxB,IACE1K,EAME0K,EANF1K,QACA4K,EAKEF,EALFE,qBACAiB,EAIEnB,EAJFmB,YACA3G,EAGEwF,EAHFxF,SACArD,EAEE6I,EAFF7I,KACAhB,EACE6J,EADF7J,QAEIiL,EAAQ,CACZhN,KAAM,CAAC,OAAQ8L,GAAwB,uBAAwB1F,GAAY,WAAJ,QAAeyF,EAAAA,EAAAA,GAAWzF,IAAarE,EAASgL,GAAe,cAAehK,GAAQ,OAAJ,QAAW8I,EAAAA,EAAAA,GAAW9I,MAEjL,OAAOkK,EAAAA,EAAAA,GAAeD,EAAO9B,EAA+BhK,GAyE5CgM,CAAkBtB,GAClC,OAAoBuB,EAAAA,EAAAA,KAAKC,EAAAA,EAAAA,SAA6B,CACpDnH,MAAO,KACPzC,UAAuB2J,EAAAA,EAAAA,KAAK3B,GAAoBO,EAAAA,EAAAA,GAAS,CACvDsB,GAAI3H,EACJkG,WAAYA,EACZtK,WAAWqC,EAAAA,EAAAA,GAAKzC,EAAQlB,KAAMsB,GAC9BiL,IAAKA,GACJI,EAAO,CACRnJ,SAA8B,kBAAbA,GAA0BiJ,GAGzBa,EAAAA,EAAAA,MAAM3G,EAAAA,SAAgB,CACtCnD,SAAU,CAAc,UAAb4C,EAEXiF,IAAUA,GAAqB8B,EAAAA,EAAAA,KAAK,OAAQ,CAC1C7L,UAAW,cACXkC,SAAU,YACN,KAAMA,MAT8D2J,EAAAA,EAAAA,KAAKI,EAAAA,EAAY,CAC3F1L,MAAO,iBACP2B,SAAUA,a,sBC1HH,SAASgK,EAAyBC,EAAQC,GACvD,GAAc,MAAVD,EAAgB,MAAO,GAC3B,IACIE,EAAKC,EADLpH,ECHS,SAAuCiH,EAAQC,GAC5D,GAAc,MAAVD,EAAgB,MAAO,GAC3B,IAEIE,EAAKC,EAFLpH,EAAS,GACTqH,EAAaC,OAAOC,KAAKN,GAG7B,IAAKG,EAAI,EAAGA,EAAIC,EAAWpI,OAAQmI,IACjCD,EAAME,EAAWD,GACbF,EAASM,QAAQL,IAAQ,IAC7BnH,EAAOmH,GAAOF,EAAOE,IAGvB,OAAOnH,EDTM,CAA6BiH,EAAQC,GAGlD,GAAII,OAAOG,sBAAuB,CAChC,IAAIC,EAAmBJ,OAAOG,sBAAsBR,GAEpD,IAAKG,EAAI,EAAGA,EAAIM,EAAiBzI,OAAQmI,IACvCD,EAAMO,EAAiBN,GACnBF,EAASM,QAAQL,IAAQ,GACxBG,OAAOK,UAAUC,qBAAqBC,KAAKZ,EAAQE,KACxDnH,EAAOmH,GAAOF,EAAOE,IAIzB,OAAOnH,E","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Policies/ListPolicies.tsx","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\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 { connect } 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 Grid from \"@mui/material/Grid\";\nimport { Policy, PolicyList } from \"./types\";\nimport { AddIcon, IAMPoliciesIcon } from \"../../../icons\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\n\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport api from \"../../../common/api\";\nimport history from \"../../../history\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport SecureComponent, {\n hasPermission,\n} from \"../../../common/SecureComponent/SecureComponent\";\nimport SearchBox from \"../Common/SearchBox\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\nconst AddPolicy = withSuspense(React.lazy(() => import(\"./AddPolicy\")));\nconst DeletePolicy = withSuspense(React.lazy(() => import(\"./DeletePolicy\")));\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...searchField,\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n tableBlock: {\n ...tableStyles.tableBlock,\n marginTop: 15,\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IPoliciesProps {\n classes: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst ListPolicies = ({ classes, setErrorSnackMessage }: IPoliciesProps) => {\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(false);\n const [addScreenOpen, setAddScreenOpen] = useState(false);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedPolicy, setSelectedPolicy] = useState(\"\");\n const [filterPolicies, setFilterPolicies] = useState(\"\");\n const [policyEdit, setPolicyEdit] = useState(null);\n\n const viewPolicy = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_POLICY,\n ]);\n\n const deletePolicy = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_DELETE_POLICY,\n ]);\n\n const displayPolicies = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_LIST_USER_POLICIES,\n ]);\n\n useEffect(() => {\n fetchRecords();\n }, []);\n\n useEffect(() => {\n if (loading) {\n if (displayPolicies) {\n api\n .invoke(\"GET\", `/api/v1/policies`)\n .then((res: PolicyList) => {\n const policies = get(res, \"policies\", []);\n\n policies.sort((pa, pb) => {\n if (pa.name > pb.name) {\n return 1;\n }\n\n if (pa.name < pb.name) {\n return -1;\n }\n\n return 0;\n });\n\n setLoading(false);\n setRecords(policies);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setErrorSnackMessage(err);\n });\n } else {\n setLoading(false);\n }\n }\n }, [loading, setLoading, setRecords, setErrorSnackMessage, displayPolicies]);\n\n const fetchRecords = () => {\n setLoading(true);\n };\n\n const closeAddModalAndRefresh = (refresh: boolean) => {\n setAddScreenOpen(false);\n\n if (refresh) {\n fetchRecords();\n }\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n\n if (refresh) {\n fetchRecords();\n }\n };\n\n const confirmDeletePolicy = (policy: string) => {\n setDeleteOpen(true);\n setSelectedPolicy(policy);\n };\n\n const viewAction = (policy: any) => {\n history.push(`${IAM_PAGES.POLICIES}/${policy.name}`);\n };\n\n const tableActions = [\n {\n type: \"view\",\n onClick: viewAction,\n disableButtonFunction: () => !viewPolicy,\n },\n {\n type: \"delete\",\n onClick: confirmDeletePolicy,\n sendOnlyId: true,\n disableButtonFunction: () => !deletePolicy,\n },\n ];\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.name.includes(filterPolicies)\n );\n\n return (\n \n {addScreenOpen && (\n \n )}\n {deleteOpen && (\n \n )}\n \n \n \n \n\n \n }\n onClick={() => {\n setAddScreenOpen(true);\n setPolicyEdit(null);\n }}\n />\n \n \n \n
\n
\n \n \n \n \n \n \n }\n help={\n \n MinIO uses Policy-Based Access Control (PBAC) to define the\n authorized actions and resources to which an authenticated user\n has access. Each policy describes one or more actions and\n conditions that outline the permissions of a user or group of\n users.\n
\n
\n MinIO PBAC is built for compatibility with AWS IAM policy\n syntax, structure, and behavior. The MinIO documentation makes a\n best-effort to cover IAM-specific behavior and functionality.\n Consider deferring to the IAM documentation for more complete\n documentation on AWS IAM-specific topics.\n
\n
\n You can learn more at our{\" \"}\n \n documentation\n \n .\n
\n }\n />\n
\n
\n
\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(ListPolicies));\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\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","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","borderWidth","borderStyle","opacity","contained","background","dark","light","children","rest","button","clsx","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","label","justifyContent","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","actions","direction","sm","md","length","component","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","id","InputProps","e","target","AddPolicy","withSuspense","React","DeletePolicy","setErrorSnackMessage","actionsTray","maxWidth","tableBlock","tableStyles","containerForHeader","spacing","useState","records","setRecords","loading","setLoading","addScreenOpen","setAddScreenOpen","deleteOpen","setDeleteOpen","selectedPolicy","setSelectedPolicy","filterPolicies","setFilterPolicies","policyEdit","setPolicyEdit","viewPolicy","hasPermission","CONSOLE_UI_RESOURCE","IAM_SCOPES","deletePolicy","displayPolicies","useEffect","fetchRecords","api","then","res","policies","get","sort","pa","pb","name","catch","err","tableActions","type","policy","history","IAM_PAGES","disableButtonFunction","sendOnlyId","filteredRecords","filter","elementItem","includes","open","closeModalAndRefresh","refresh","closeDeleteModalAndRefresh","pageContainer","scopes","resource","errorProps","itemActions","columns","elementKey","isLoading","entityName","idField","Fragment","href","rel","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","maxHeight","whiteSpace","action","active","inputAdornmentClasses","pointerEvents","inProps","ref","useThemeProps","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography","_objectWithoutProperties","source","excluded","key","i","sourceKeys","Object","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/3967.94160f6f.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Policies/ListPolicies.tsx","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\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 { connect } 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 Grid from \"@mui/material/Grid\";\nimport { Policy, PolicyList } from \"./types\";\nimport { AddIcon, IAMPoliciesIcon } from \"../../../icons\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\n\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport api from \"../../../common/api\";\nimport history from \"../../../history\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport SecureComponent, {\n hasPermission,\n} from \"../../../common/SecureComponent/SecureComponent\";\nimport SearchBox from \"../Common/SearchBox\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\nconst AddPolicy = withSuspense(React.lazy(() => import(\"./AddPolicy\")));\nconst DeletePolicy = withSuspense(React.lazy(() => import(\"./DeletePolicy\")));\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...searchField,\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n tableBlock: {\n ...tableStyles.tableBlock,\n marginTop: 15,\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IPoliciesProps {\n classes: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst ListPolicies = ({ classes, setErrorSnackMessage }: IPoliciesProps) => {\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(false);\n const [addScreenOpen, setAddScreenOpen] = useState(false);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedPolicy, setSelectedPolicy] = useState(\"\");\n const [filterPolicies, setFilterPolicies] = useState(\"\");\n const [policyEdit, setPolicyEdit] = useState(null);\n\n const viewPolicy = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_POLICY,\n ]);\n\n const deletePolicy = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_DELETE_POLICY,\n ]);\n\n const displayPolicies = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_LIST_USER_POLICIES,\n ]);\n\n useEffect(() => {\n fetchRecords();\n }, []);\n\n useEffect(() => {\n if (loading) {\n if (displayPolicies) {\n api\n .invoke(\"GET\", `/api/v1/policies`)\n .then((res: PolicyList) => {\n const policies = get(res, \"policies\", []);\n\n policies.sort((pa, pb) => {\n if (pa.name > pb.name) {\n return 1;\n }\n\n if (pa.name < pb.name) {\n return -1;\n }\n\n return 0;\n });\n\n setLoading(false);\n setRecords(policies);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setErrorSnackMessage(err);\n });\n } else {\n setLoading(false);\n }\n }\n }, [loading, setLoading, setRecords, setErrorSnackMessage, displayPolicies]);\n\n const fetchRecords = () => {\n setLoading(true);\n };\n\n const closeAddModalAndRefresh = (refresh: boolean) => {\n setAddScreenOpen(false);\n\n if (refresh) {\n fetchRecords();\n }\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n\n if (refresh) {\n fetchRecords();\n }\n };\n\n const confirmDeletePolicy = (policy: string) => {\n setDeleteOpen(true);\n setSelectedPolicy(policy);\n };\n\n const viewAction = (policy: any) => {\n history.push(`${IAM_PAGES.POLICIES}/${policy.name}`);\n };\n\n const tableActions = [\n {\n type: \"view\",\n onClick: viewAction,\n disableButtonFunction: () => !viewPolicy,\n },\n {\n type: \"delete\",\n onClick: confirmDeletePolicy,\n sendOnlyId: true,\n disableButtonFunction: () => !deletePolicy,\n },\n ];\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.name.includes(filterPolicies)\n );\n\n return (\n \n {addScreenOpen && (\n \n )}\n {deleteOpen && (\n \n )}\n \n \n \n \n\n \n }\n onClick={() => {\n setAddScreenOpen(true);\n setPolicyEdit(null);\n }}\n />\n \n \n \n
\n
\n \n \n \n \n \n \n }\n help={\n \n MinIO uses Policy-Based Access Control (PBAC) to define the\n authorized actions and resources to which an authenticated user\n has access. Each policy describes one or more actions and\n conditions that outline the permissions of a user or group of\n users.\n
\n
\n MinIO PBAC is built for compatibility with AWS IAM policy\n syntax, structure, and behavior. The MinIO documentation makes a\n best-effort to cover IAM-specific behavior and functionality.\n Consider deferring to the IAM documentation for more complete\n documentation on AWS IAM-specific topics.\n
\n
\n You can learn more at our{\" \"}\n \n documentation\n \n .\n
\n }\n />\n
\n
\n
\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(ListPolicies));\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\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","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","borderWidth","borderStyle","opacity","contained","background","dark","light","children","rest","button","clsx","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","label","justifyContent","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","actions","direction","sm","md","length","component","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","id","InputProps","e","target","AddPolicy","withSuspense","React","DeletePolicy","setErrorSnackMessage","actionsTray","maxWidth","tableBlock","tableStyles","containerForHeader","spacing","useState","records","setRecords","loading","setLoading","addScreenOpen","setAddScreenOpen","deleteOpen","setDeleteOpen","selectedPolicy","setSelectedPolicy","filterPolicies","setFilterPolicies","policyEdit","setPolicyEdit","viewPolicy","hasPermission","CONSOLE_UI_RESOURCE","IAM_SCOPES","deletePolicy","displayPolicies","useEffect","fetchRecords","api","then","res","policies","get","sort","pa","pb","name","catch","err","tableActions","type","policy","history","IAM_PAGES","disableButtonFunction","sendOnlyId","filteredRecords","filter","elementItem","includes","open","closeModalAndRefresh","refresh","closeDeleteModalAndRefresh","pageContainer","scopes","resource","errorProps","itemActions","columns","elementKey","isLoading","entityName","idField","Fragment","href","rel","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","maxHeight","whiteSpace","action","active","inputAdornmentClasses","pointerEvents","inProps","ref","useThemeProps","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography","_objectWithoutProperties","source","excluded","key","i","sourceKeys","Object","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3967.ef703755.chunk.js b/portal-ui/build/static/js/3967.ef703755.chunk.js deleted file mode 100644 index 31dda59c7..000000000 --- a/portal-ui/build/static/js/3967.ef703755.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3967],{8235:function(e,n,t){t(50390);var i=t(86509),o=t(4285),r=t(25594),a=t(62559);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,a.jsx)("div",{className:n.root,children:(0,a.jsxs)(r.ZP,{container:!0,children:[(0,a.jsxs)(r.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,i]}),(0,a.jsx)(r.ZP,{item:!0,xs:12,className:n.helpText,children:o})]})})}))},53224:function(e,n,t){var i=t(18489),o=t(83738),r=(t(50390),t(70758)),a=t(62449),s=t(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,a.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,i=n.color,o=e.palette.primary.main;return"primary"===i&&"contained"===t?o=e.palette.primary.contrastText:"primary"===i&&"outlined"===t?o=e.palette.primary.main:"secondary"===i&&(o=e.palette.secondary.main),o}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,a=e.text,d=void 0===a?"":a,u=e.disabled,p=void 0!==u&&u,m=e.tooltip,h=e.icon,f=void 0===h?null:h,x=(0,o.Z)(e,l);return(0,s.jsxs)(r.Z,(0,i.Z)((0,i.Z)({classes:n,tooltip:m||d,variant:"outlined",onClick:t,disabled:p,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},x),{},{children:[(0,s.jsx)("span",{children:d})," ",f]}))}},70758:function(e,n,t){var i=t(18489),o=t(36222),r=t(83738),a=(t(50390),t(86509)),s=t(4285),l=t(95467),c=t(94187),d=t(44977),u=t(62559),p=["classes","children","variant","tooltip"];n.Z=(0,s.Z)((function(e){return(0,a.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,a=e.variant,s=void 0===a?"outlined":a,m=e.tooltip,h=(0,r.Z)(e,p),f=(0,u.jsx)(l.Z,(0,i.Z)((0,i.Z)({},h),{},{className:(0,d.Z)(n.root,(0,o.Z)({},n.contained,"contained"===s)),children:t}));return m&&""!==m?(0,u.jsx)(c.Z,{title:m,children:(0,u.jsx)("span",{children:f})}):f}))},35721:function(e,n,t){t(50390);var i=t(34424),o=t(25594),r=t(86509),a=t(4285),s=t(35477),l=t(95467),c=t(26805),d=t(44078),u=t(5265),p=t(11387),m=t(62559),h={toggleList:u.kQ},f=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),h);n.Z=f((0,a.Z)((function(e){return(0,r.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,i=e.actions,r=e.sidebarOpen,a=e.operatorMode,u=e.managerObjects,h=e.toggleList,f=e.middleComponent;return(0,m.jsxs)(o.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,m.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!r&&(0,m.jsx)("div",{className:n.logo,children:a?(0,m.jsx)(c.Z,{}):(0,m.jsx)(d.Z,{})}),(0,m.jsx)(s.Z,{variant:"h4",className:n.labelStyle,children:t})]}),f&&(0,m.jsx)(o.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,m.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.rightMenu,children:[i&&i,u&&u.length>0&&(0,m.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){h()},size:"large",children:(0,m.jsx)(p.gx,{})})]})]})})))},23165:function(e,n,t){var i=t(36222),o=t(18489),r=(t(50390),t(65771)),a=t(13336),s=t(12066),l=t(4285),c=t(86509),d=t(72462),u=t(62559);n.Z=(0,l.Z)((function(e){return(0,c.Z)({searchField:(0,o.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,o=e.classes,l=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,p=e.overrideClass,m=e.value,h=(0,i.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(r.Z,{position:d,className:o.adornment,children:(0,u.jsx)(a.Z,{})}));return(0,u.jsx)(s.Z,{placeholder:t,className:p||o.searchField,id:"search-resource",label:"",InputProps:h,onChange:function(e){l(e.target.value)},variant:"standard",value:m})}))},63967:function(e,n,t){t.r(n);var i=t(23430),o=t(18489),r=t(50390),a=t(34424),s=t(38342),l=t.n(s),c=t(86509),d=t(4285),u=t(25594),p=t(11387),m=t(44149),h=t(72462),f=t(17777),x=t(35721),b=t(30324),Z=t(24442),g=t(8235),v=t(25534),y=t(49495),j=t(15607),C=t(23165),P=t(37882),I=t(53224),E=t(62559),S=(0,P.Z)(r.lazy((function(){return Promise.all([t.e(5444),t.e(8954),t.e(165)]).then(t.bind(t,88881))}))),M=(0,P.Z)(r.lazy((function(){return Promise.all([t.e(5444),t.e(4121)]).then(t.bind(t,24121))}))),A={setErrorSnackMessage:m.Ih},L=(0,a.$j)(null,A);n.default=(0,d.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},h.OR),h.qg),{},{searchField:(0,o.Z)((0,o.Z)({},h.qg.searchField),{},{maxWidth:380}),tableBlock:(0,o.Z)((0,o.Z)({},h.VX.tableBlock),{},{marginTop:15})},(0,h.Bz)(e.spacing(4))))}))(L((function(e){var n=e.classes,t=e.setErrorSnackMessage,o=(0,r.useState)([]),a=(0,i.Z)(o,2),s=a[0],c=a[1],d=(0,r.useState)(!1),m=(0,i.Z)(d,2),h=m[0],P=m[1],A=(0,r.useState)(!1),L=(0,i.Z)(A,2),k=L[0],F=L[1],N=(0,r.useState)(!1),O=(0,i.Z)(N,2),w=O[0],T=O[1],B=(0,r.useState)(""),R=(0,i.Z)(B,2),z=R[0],_=R[1],D=(0,r.useState)(""),W=(0,i.Z)(D,2),Y=W[0],q=W[1],U=(0,r.useState)(null),G=(0,i.Z)(U,2),H=G[0],$=G[1],K=(0,j.F)(y.C3,[y.Ft.ADMIN_GET_POLICY]),Q=(0,j.F)(y.C3,[y.Ft.ADMIN_DELETE_POLICY]),V=(0,j.F)(y.C3,[y.Ft.ADMIN_LIST_USER_POLICIES]);(0,r.useEffect)((function(){X()}),[]),(0,r.useEffect)((function(){h&&(V?b.Z.invoke("GET","/api/v1/policies").then((function(e){var n=l()(e,"policies",[]);n.sort((function(e,n){return e.name>n.name?1:e.name=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}t.d(n,{Z:function(){return i}})}}]); -//# sourceMappingURL=3967.ef703755.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/5677.654039a6.chunk.js b/portal-ui/build/static/js/4084.3deda75b.chunk.js similarity index 65% rename from portal-ui/build/static/js/5677.654039a6.chunk.js rename to portal-ui/build/static/js/4084.3deda75b.chunk.js index 148bc44b9..d7fd1ddcc 100644 --- a/portal-ui/build/static/js/5677.654039a6.chunk.js +++ b/portal-ui/build/static/js/4084.3deda75b.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5677],{29316:function(e,n,t){t(50390);var i=t(6369),r=t(86509),o=t(4285),a=t(11387),l=t(62559);n.Z=(0,o.Z)((function(e){return(0,r.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var n=e.to,t=e.label,r=e.classes,o=e.className,s=e.executeOnClick;return(0,l.jsxs)(i.rU,{to:n,className:"".concat(r.link," ").concat(o||""),onClick:function(){s&&s()},children:[(0,l.jsx)("div",{className:r.icon,children:(0,l.jsx)(a.xN,{})}),(0,l.jsx)("div",{className:r.label,children:t})]})}))},53224:function(e,n,t){var i=t(18489),r=t(83738),o=(t(50390),t(70758)),a=t(62449),l=t(62559),s=["onClick","text","disabled","tooltip","icon"],c=(0,a.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,i=n.color,r=e.palette.primary.main;return"primary"===i&&"contained"===t?r=e.palette.primary.contrastText:"primary"===i&&"outlined"===t?r=e.palette.primary.main:"secondary"===i&&(r=e.palette.secondary.main),r}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,a=e.text,d=void 0===a?"":a,u=e.disabled,m=void 0!==u&&u,p=e.tooltip,x=e.icon,h=void 0===x?null:x,f=(0,r.Z)(e,s);return(0,l.jsxs)(o.Z,(0,i.Z)((0,i.Z)({classes:n,tooltip:p||d,variant:"outlined",onClick:t,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},f),{},{children:[(0,l.jsx)("span",{children:d})," ",h]}))}},70758:function(e,n,t){var i=t(18489),r=t(36222),o=t(83738),a=(t(50390),t(86509)),l=t(4285),s=t(95467),c=t(94187),d=t(44977),u=t(62559),m=["classes","children","variant","tooltip"];n.Z=(0,l.Z)((function(e){return(0,a.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,a=e.variant,l=void 0===a?"outlined":a,p=e.tooltip,x=(0,o.Z)(e,m),h=(0,u.jsx)(s.Z,(0,i.Z)((0,i.Z)({},x),{},{className:(0,d.Z)(n.root,(0,r.Z)({},n.contained,"contained"===l)),children:t}));return p&&""!==p?(0,u.jsx)(c.Z,{title:p,children:(0,u.jsx)("span",{children:h})}):h}))},70014:function(e,n,t){var i=t(35531),r=t(23430),o=t(18489),a=t(50390),l=t(25594),s=(t(2574),t(20704)),c=t(54880),d=t(21563),u=t(36297),m=t(14602),p=t(94187),x=t(56805),h=t(86509),f=t(4285),b=t(97538),Z=t(72462),g=t(11387),v=t(53224),j=t(33034),y=t.n(j),C=t(53357),P=t(62559),N={json:d.AV,yaml:function(){return c.i.define(u.r)}},S=C.tk.theme({"&":{backgroundColor:"#FBFAFA"},".cm-content":{caretColor:"#05122B"},"&.cm-focused .cm-cursor":{borderLeftColor:"#05122B"},".cm-gutters":{backgroundColor:"#FBFAFA",color:"#000000",border:"none"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px",color:"#2781B0","& .\u037cc":{color:"#C83B51"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#dde1f1"},".cm-matchingBracket":{backgroundColor:"#05122B",color:"#ffffff"},".cm-selectionMatch":{backgroundColor:"#ebe7f1"},".cm-selectionLayer":{fontWeight:500}," .cm-selectionBackground":{backgroundColor:"#a180c7",color:"#ffffff"}},{dark:!1}),E=C.tk.theme({"&":{backgroundColor:"#282a36",color:"#ffb86c"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px","& .\u037cd, & .\u037cc":{color:"#8e6cef"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#44475a"},".cm-matchingBracket":{backgroundColor:"#842de5",color:"#ff79c6"},".cm-selectionLayer .cm-selectionBackground":{backgroundColor:"green"}},{dark:!0});n.Z=(0,f.Z)((function(e){return(0,h.Z)((0,o.Z)((0,o.Z)({},Z.YI),{},{inputLabel:(0,o.Z)((0,o.Z)({},Z.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.value,t=e.label,o=void 0===t?"":t,c=e.tooltip,d=void 0===c?"":c,u=e.mode,h=void 0===u?"json":u,f=e.classes,Z=e.onBeforeChange,j=e.readOnly,C=void 0!==j&&j,k=e.editorHeight,I=void 0===k?"250px":k,T=(0,a.useState)(!1),w=(0,r.Z)(T,2),A=w[0],F=w[1],R=[];return N[h]&&(R=[].concat((0,i.Z)(R),[N[h]()])),(0,P.jsxs)(a.Fragment,{children:[(0,P.jsxs)(m.Z,{className:f.inputLabel,children:[(0,P.jsx)("span",{children:o}),""!==d&&(0,P.jsx)("div",{className:f.tooltipContainer,children:(0,P.jsx)(p.Z,{title:d,placement:"top-start",children:(0,P.jsx)("div",{className:f.tooltip,children:(0,P.jsx)(b.Z,{})})})})]}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)("br",{})}),(0,P.jsxs)(l.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea"},children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(s.ZP,{value:n,theme:A?E:S,extensions:R,editable:!C,basicSetup:!0,height:I,onChange:function(e,n){Z(null,null,e)}})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,sx:{borderTop:"1px solid #eaeaea",background:A?"#282c34":"#f7f7f7"},children:(0,P.jsxs)(x.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,P.jsx)(v.Z,{tooltip:"Change theme",onClick:function(){F(!A)},text:"",icon:(0,P.jsx)(g.EO,{}),color:"primary",variant:"outlined"}),(0,P.jsx)(y(),{text:n,children:(0,P.jsx)(v.Z,{tooltip:"Copy to Clipboard",onClick:function(){},text:"",icon:(0,P.jsx)(g.TI,{}),color:"primary",variant:"outlined"})})]})})]})]})}))},35721:function(e,n,t){t(50390);var i=t(34424),r=t(25594),o=t(86509),a=t(4285),l=t(35477),s=t(95467),c=t(26805),d=t(44078),u=t(5265),m=t(11387),p=t(62559),x={toggleList:u.kQ},h=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),x);n.Z=h((0,a.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,i=e.actions,o=e.sidebarOpen,a=e.operatorMode,u=e.managerObjects,x=e.toggleList,h=e.middleComponent;return(0,p.jsxs)(r.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:h?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,p.jsx)("div",{className:n.logo,children:a?(0,p.jsx)(c.Z,{}):(0,p.jsx)(d.Z,{})}),(0,p.jsx)(l.Z,{variant:"h4",className:n.labelStyle,children:t})]}),h&&(0,p.jsx)(r.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:h}),(0,p.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:h?3:6,className:n.rightMenu,children:[i&&i,u&&u.length>0&&(0,p.jsx)(s.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){x()},size:"large",children:(0,p.jsx)(m.gx,{})})]})]})})))},62702:function(e,n,t){t(50390);var i=t(25594),r=t(86509),o=t(4285),a=t(62559);n.Z=(0,o.Z)((function(e){return(0,r.Z)({headerBarIcon:{marginRight:".7rem",color:e.palette.primary.main,"& .min-icon":{width:44,height:44}},headerBarSubheader:{color:"grey","@media (max-width: 900px)":{maxWidth:200}},screenTitle:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"1rem",borderBottom:"1px solid #EAEAEA","@media (max-width: 600px)":{flexFlow:"column"}},titleColumn:{height:"auto",justifyContent:"center",display:"flex",flexFlow:"column",alignItems:"flex-start","& h1":{fontSize:19}},leftItems:{display:"flex",alignItems:"center","@media (max-width: 600px)":{flexFlow:"column"}},rightItems:{display:"flex",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.icon,r=e.title,o=e.subTitle,l=e.actions,s=e.className;return(0,a.jsx)(i.ZP,{container:!0,children:(0,a.jsxs)(i.ZP,{item:!0,xs:12,className:"".concat(n.screenTitle," ").concat(s||""),children:[(0,a.jsxs)("div",{className:n.leftItems,children:[t?(0,a.jsx)("div",{className:n.headerBarIcon,children:t}):null,(0,a.jsxs)("div",{className:n.titleColumn,children:[(0,a.jsx)("h1",{style:{margin:0},children:r}),(0,a.jsx)("span",{className:n.headerBarSubheader,children:o})]})]}),(0,a.jsx)("div",{className:n.rightItems,children:l})]})})}))},57647:function(e,n,t){var i=t(18489),r=t(23430),o=t(50390),a=t(56805),l=t(49044),s=t(97227),c=t(74564),d=t(669),u=t(4285),m=t(88669),p=t(86509),x=t(13512),h=t(62559),f={minHeight:60};n.Z=(0,u.Z)((function(e){return(0,p.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,p=void 0===u?"0":u,b=e.routes,Z=e.isRouteTabs,g=o.useState(p),v=(0,r.Z)(g,2),j=v[0],y=v[1],C=(0,m.Z)(),P=(0,x.Z)(C.breakpoints.down("md")),N=[],S=[];return n?(n.forEach((function(e){N.push(e.tabConfig),S.push(e.content)})),(0,h.jsx)(s.ZP,{value:"".concat(j),children:(0,h.jsxs)(a.Z,{className:t.tabsContainer,children:[(0,h.jsx)(a.Z,{className:t.tabsHeaderContainer,children:(0,h.jsx)(c.Z,{onChange:function(e,n){y(n)},orientation:P?"horizontal":"vertical",variant:P?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:N.map((function(e,n){return e?(0,h.jsx)(l.Z,(0,i.Z)((0,i.Z)({className:t.tabHeader,value:"".concat(n),style:f},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,h.jsxs)(a.Z,{className:t.tabContentContainer,children:[Z?null:S.map((function(e,n){return(0,h.jsx)(d.Z,{classes:(0,i.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),Z?(0,h.jsx)("div",{className:t.tabPanel,children:b}):null]})]})})):null}))},5604:function(e,n,t){t.r(n);var i=t(23430),r=t(18489),o=t(50390),a=t(34424),l=t(86509),s=t(4285),c=t(72462),d=t(46981),u=t(25594),m=t(66946),p=t(81378),x=t(17777),h=t(30324),f=t(35721),b=t(6369),Z=t(44149),g=t(70014),v=t(24442),j=t(65771),y=t(12066),C=t(62702),P=t(73738),N=t(18221),S=t(13336),E=t(61846),k=t(25534),I=t(57647),T=t(29316),w=t(49495),A=t(15607),F=t(37882),R=t(53224),M=t(62559),B=(0,F.Z)(o.lazy((function(){return Promise.all([t.e(5444),t.e(609)]).then(t.bind(t,24121))}))),L=(0,a.$j)((function(e){return{features:e.console.session.features}}),{setErrorSnackMessage:Z.Ih,setSnackBarMessage:Z.y1});n.default=(0,s.Z)((function(e){return(0,l.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({buttonContainer:{textAlign:"right"},pageContainer:{border:"1px solid #EAEAEA",height:"100%"},paperContainer:{padding:"15px 15px 15px 50px",minHeight:"450px"},breadcrumLink:{textDecoration:"none",color:"black"},statement:{border:"1px solid #DADADA",padding:8,marginBottom:8,borderRadius:4},labelCol:{fontWeight:"bold"}},c.OR),c.qg),c.oO),(0,c.Bz)(e.spacing(4))))}))(L((function(e){var n=e.classes,t=e.match,r=e.setErrorSnackMessage,a=e.setSnackBarMessage,l=e.features,s=(0,o.useState)(null),c=(0,i.Z)(s,2),Z=c[0],F=c[1],L=(0,o.useState)([]),O=(0,i.Z)(L,2),_=O[0],D=O[1],U=(0,o.useState)([]),z=(0,i.Z)(U,2),G=z[0],H=z[1],W=(0,o.useState)([]),Y=(0,i.Z)(W,2),Q=Y[0],V=Y[1],J=(0,o.useState)(!1),K=(0,i.Z)(J,2),$=K[0],q=K[1],X=(0,o.useState)(t.params[0]),ee=(0,i.Z)(X,2),ne=ee[0],te=ee[1],ie=(0,o.useState)(""),re=(0,i.Z)(ie,2),oe=re[0],ae=re[1],le=(0,o.useState)(!0),se=(0,i.Z)(le,2),ce=se[0],de=se[1],ue=(0,o.useState)(""),me=(0,i.Z)(ue,2),pe=me[0],xe=me[1],he=(0,o.useState)(!0),fe=(0,i.Z)(he,2),be=fe[0],Ze=fe[1],ge=(0,o.useState)(""),ve=(0,i.Z)(ge,2),je=ve[0],ye=ve[1],Ce=(0,o.useState)(!0),Pe=(0,i.Z)(Ce,2),Ne=Pe[0],Se=Pe[1],Ee=(0,o.useState)(!1),ke=(0,i.Z)(Ee,2),Ie=ke[0],Te=ke[1],we=l&&l.includes("ldap-idp")||!1,Ae=(0,A.F)(w.C3,[w.Ft.ADMIN_LIST_GROUPS,w.Ft.ADMIN_GET_GROUP],!0),Fe=(0,A.F)(w.C3,[w.Ft.ADMIN_GET_GROUP]),Re=(0,A.F)(w.C3,[w.Ft.ADMIN_LIST_GROUPS]),Me=(0,A.F)(w.C3,[w.Ft.ADMIN_GET_USER]),Be=(0,A.F)(w.C3,[w.Ft.ADMIN_GET_POLICY]),Le=(0,A.F)(w.C3,[w.Ft.ADMIN_CREATE_POLICY]),Oe=function(e){e.preventDefault(),$||(q(!0),Le?h.Z.invoke("POST","/api/v1/policies",{name:ne,policy:oe}).then((function(e){q(!1),a("Policy successfully updated")})).catch((function(e){q(!1),r(e)})):q(!1))};(0,o.useEffect)((function(){ce&&(ce&&(Be?h.Z.invoke("GET","/api/v1/policy?name=".concat(encodeURIComponent(ne))).then((function(e){if(e){F(e),ae(e?JSON.stringify(JSON.parse(e.policy),null,4):"");var n=JSON.parse(e.policy);D(n.Statement)}de(!1)})).catch((function(e){r(e),de(!1)})):de(!1)),be&&(Re&&!we?h.Z.invoke("GET","/api/v1/policies/".concat(encodeURIComponent(ne),"/users")).then((function(e){H(e),Ze(!1)})).catch((function(e){r(e),Ze(!1)})):Ze(!1)),Ne&&(Ae&&!we?h.Z.invoke("GET","/api/v1/policies/".concat(encodeURIComponent(ne),"/groups")).then((function(e){V(e),Se(!1)})).catch((function(e){r(e),Se(!1)})):Se(!1)))}),[ne,ce,be,Ne,r,H,V,ae,F,Ze,Se,Re,Ae,Be,we]);var _e=""!==ne.trim(),De=[{type:"view",onClick:function(e){v.Z.push("".concat(w.gA.USERS,"/").concat(e))},disableButtonFunction:function(){return!Me}}],Ue=G.filter((function(e){return e.includes(pe)})),ze=[{type:"view",onClick:function(e){v.Z.push("".concat(w.gA.GROUPS,"/").concat(e))},disableButtonFunction:function(){return!Fe}}],Ge=Q.filter((function(e){return e.includes(je)}));return(0,M.jsxs)(o.Fragment,{children:[Ie&&(0,M.jsx)(B,{deleteOpen:Ie,selectedPolicy:ne,closeDeleteModalAndRefresh:function(e){Te(!1),v.Z.push(w.gA.POLICIES)}}),(0,M.jsx)(f.Z,{label:(0,M.jsx)(o.Fragment,{children:(0,M.jsx)(b.rU,{to:w.gA.POLICIES,className:n.breadcrumLink,children:"Policy"})})}),(0,M.jsx)(T.Z,{to:w.gA.POLICIES,label:"Return to Policies"}),(0,M.jsxs)(k.Z,{className:n.pageContainer,children:[(0,M.jsx)(u.ZP,{item:!0,xs:12,children:(0,M.jsx)(C.Z,{icon:(0,M.jsx)(o.Fragment,{children:(0,M.jsx)(P.Z,{width:40})}),title:ne,subTitle:(0,M.jsx)(o.Fragment,{children:"IAM Policy"}),actions:(0,M.jsxs)(o.Fragment,{children:[(0,M.jsx)(A.Z,{scopes:[w.Ft.ADMIN_DELETE_POLICY],resource:w.C3,errorProps:{disabled:!0},children:(0,M.jsx)(R.Z,{tooltip:"Delete Policy",text:"Delete Policy",variant:"outlined",color:"secondary",icon:(0,M.jsx)(E.Z,{}),onClick:function(){Te(!0)}})}),(0,M.jsx)(R.Z,{tooltip:"Refresh",text:"Refresh",variant:"outlined",color:"primary",icon:(0,M.jsx)(N.default,{}),onClick:function(){Ze(!0),Se(!0),de(!0)}})]})})}),(0,M.jsxs)(I.Z,{children:[{tabConfig:{label:"Summary",disabled:!Be},content:(0,M.jsxs)(o.Fragment,{children:[(0,M.jsx)("div",{className:n.sectionTitle,children:"Policy Summary"}),(0,M.jsx)(d.Z,{className:n.paperContainer,children:(0,M.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){Oe(e)},children:(0,M.jsxs)(u.ZP,{container:!0,children:[(0,M.jsx)(u.ZP,{item:!0,xs:8,children:(0,M.jsx)("h4",{children:"Statements"})}),(0,M.jsx)(u.ZP,{item:!0,xs:4}),(0,M.jsx)(o.Fragment,{children:_.map((function(e,t){return(0,M.jsx)(u.ZP,{item:!0,xs:12,className:n.statement,children:(0,M.jsxs)(u.ZP,{container:!0,children:[(0,M.jsx)(u.ZP,{item:!0,xs:2,className:n.labelCol,children:"Effect"}),(0,M.jsx)(u.ZP,{item:!0,xs:4,children:(0,M.jsx)(o.Fragment,{children:e.Effect})}),(0,M.jsx)(u.ZP,{item:!0,xs:2,className:n.labelCol}),(0,M.jsx)(u.ZP,{item:!0,xs:4}),(0,M.jsx)(u.ZP,{item:!0,xs:2,className:n.labelCol,children:"Actions"}),(0,M.jsx)(u.ZP,{item:!0,xs:4,children:(0,M.jsx)("ul",{children:e.Action&&e.Action.map((function(e,n){return(0,M.jsx)("li",{children:e},"".concat(t,"-r-").concat(n))}))})}),(0,M.jsx)(u.ZP,{item:!0,xs:2,className:n.labelCol,children:"Resources"}),(0,M.jsx)(u.ZP,{item:!0,xs:4,children:(0,M.jsx)("ul",{children:e.Resource&&e.Resource.map((function(e,n){return(0,M.jsx)("li",{children:e},"".concat(t,"-r-").concat(n))}))})})]})},"s-".concat(t))}))})]})})})]})},{tabConfig:{label:"Users",disabled:!Re||we},content:(0,M.jsxs)(o.Fragment,{children:[(0,M.jsx)("div",{className:n.sectionTitle,children:"Users"}),(0,M.jsxs)(u.ZP,{container:!0,children:[(0,M.jsx)(u.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,M.jsx)(y.Z,{placeholder:"Search Users",className:n.searchField,id:"search-resource",label:"",onChange:function(e){xe(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,M.jsx)(j.Z,{position:"start",children:(0,M.jsx)(S.Z,{})})},variant:"standard"})}),(0,M.jsx)(u.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,M.jsx)("br",{})}),(0,M.jsx)(x.Z,{itemActions:De,columns:[{label:"Name",elementKey:"name"}],isLoading:be,records:Ue,entityName:"Users",idField:"name"})]})]})},{tabConfig:{label:"Groups",disabled:!Ae||we},content:(0,M.jsxs)(o.Fragment,{children:[(0,M.jsx)("div",{className:n.sectionTitle,children:"Groups"}),(0,M.jsxs)(u.ZP,{container:!0,children:[(0,M.jsx)(u.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,M.jsx)(y.Z,{placeholder:"Search Groups",className:n.searchField,id:"search-resource",label:"",onChange:function(e){ye(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,M.jsx)(j.Z,{position:"start",children:(0,M.jsx)(S.Z,{})})},variant:"standard"})}),(0,M.jsx)(u.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,M.jsx)("br",{})}),(0,M.jsx)(x.Z,{itemActions:ze,columns:[{label:"Name",elementKey:"name"}],isLoading:Ne,records:Ge,entityName:"Groups",idField:"name"})]})]})},{tabConfig:{label:"Raw Policy",disabled:!Be},content:(0,M.jsxs)(o.Fragment,{children:[(0,M.jsx)("div",{className:n.sectionTitle,children:"Raw Policy"}),(0,M.jsx)(d.Z,{className:n.paperContainer,children:(0,M.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){Oe(e)},children:(0,M.jsxs)(u.ZP,{container:!0,children:[(0,M.jsx)(u.ZP,{item:!0,xs:12,className:n.formScrollable,children:(0,M.jsx)(g.Z,{readOnly:!Le,value:oe,onBeforeChange:function(e,n,t){ae(t)},editorHeight:"350px"})}),(0,M.jsxs)(u.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[!Z&&(0,M.jsx)("button",{type:"button",color:"primary",className:n.clearButton,onClick:function(){te(""),ae("")},children:"Clear"}),(0,M.jsx)(A.Z,{scopes:[w.Ft.ADMIN_CREATE_POLICY],resource:w.C3,errorProps:{disabled:!0},children:(0,M.jsx)(m.Z,{type:"submit",variant:"contained",color:"primary",disabled:$||!_e,children:"Save"})})]}),$&&(0,M.jsx)(u.ZP,{item:!0,xs:12,children:(0,M.jsx)(p.Z,{})})]})})})]})}]})]})]})})))},97227:function(e,n,t){t.d(n,{ZP:function(){return l},_i:function(){return s},uU:function(){return c},pQ:function(){return d}});var i=t(23430),r=t(50390),o=t(62559),a=r.createContext(null);function l(e){var n=e.children,t=e.value,l=function(){var e=r.useState(null),n=(0,i.Z)(e,2),t=n[0],o=n[1];return r.useEffect((function(){o("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),t}(),s=r.useMemo((function(){return{idPrefix:l,value:t}}),[l,t]);return(0,o.jsx)(a.Provider,{value:s,children:n})}function s(){return r.useContext(a)}function c(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)}},74564:function(e,n,t){var i=t(18207),r=t(46633),o=t(50390),a=t(98247),l=t(97227),s=t(62559),c=["children"],d=o.forwardRef((function(e,n){var t=e.children,d=(0,r.Z)(e,c),u=(0,l._i)();if(null===u)throw new TypeError("No TabContext provided");var m=o.Children.map(t,(function(e){return o.isValidElement(e)?o.cloneElement(e,{"aria-controls":(0,l.uU)(u,e.props.value),id:(0,l.pQ)(u,e.props.value)}):null}));return(0,s.jsx)(a.Z,(0,i.Z)({},d,{ref:n,value:u.value,children:m}))}));n.Z=d},669:function(e,n,t){t.d(n,{Z:function(){return f}});var i=t(18207),r=t(46633),o=t(50390),a=t(44977),l=t(8208),s=t(15573),c=t(50076),d=t(10594);function u(e){return(0,d.Z)("MuiTabPanel",e)}(0,t(43349).Z)("MuiTabPanel",["root"]);var m=t(97227),p=t(62559),x=["children","className","value"],h=(0,l.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,n){return n.root}})((function(e){return{padding:e.theme.spacing(3)}})),f=o.forwardRef((function(e,n){var t=(0,s.Z)({props:e,name:"MuiTabPanel"}),o=t.children,l=t.className,d=t.value,f=(0,r.Z)(t,x),b=(0,i.Z)({},t),Z=function(e){var n=e.classes;return(0,c.Z)({root:["root"]},u,n)}(b),g=(0,m._i)();if(null===g)throw new TypeError("No TabContext provided");var v=(0,m.uU)(g,d),j=(0,m.pQ)(g,d);return(0,p.jsx)(h,(0,i.Z)({"aria-labelledby":j,className:(0,a.Z)(Z.root,l),hidden:d!==g.value,id:v,ref:n,role:"tabpanel",ownerState:b},f,{children:d===g.value&&o}))}))},65771:function(e,n,t){t.d(n,{Z:function(){return y}});var i=t(36222),r=t(1048),o=t(32793),a=t(50390),l=t(44977),s=t(50076),c=t(91442),d=t(35477),u=t(14478),m=t(23060),p=t(8208),x=t(10594);function h(e){return(0,x.Z)("MuiInputAdornment",e)}var f,b=(0,t(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),Z=t(15573),g=t(62559),v=["children","className","component","disablePointerEvents","disableTypography","position","variant"],j=(0,p.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,n["position".concat((0,c.Z)(t.position))],!0===t.disablePointerEvents&&n.disablePointerEvents,n[t.variant]]}})((function(e){var n=e.theme,t=e.ownerState;return(0,o.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:n.palette.action.active},"filled"===t.variant&&(0,i.Z)({},"&.".concat(b.positionStart,"&:not(.").concat(b.hiddenLabel,")"),{marginTop:16}),"start"===t.position&&{marginRight:8},"end"===t.position&&{marginLeft:8},!0===t.disablePointerEvents&&{pointerEvents:"none"})})),y=a.forwardRef((function(e,n){var t=(0,Z.Z)({props:e,name:"MuiInputAdornment"}),i=t.children,p=t.className,x=t.component,b=void 0===x?"div":x,y=t.disablePointerEvents,C=void 0!==y&&y,P=t.disableTypography,N=void 0!==P&&P,S=t.position,E=t.variant,k=(0,r.Z)(t,v),I=(0,m.Z)()||{},T=E;E&&I.variant,I&&!T&&(T=I.variant);var w=(0,o.Z)({},t,{hiddenLabel:I.hiddenLabel,size:I.size,disablePointerEvents:C,position:S,variant:T}),A=function(e){var n=e.classes,t=e.disablePointerEvents,i=e.hiddenLabel,r=e.position,o=e.size,a=e.variant,l={root:["root",t&&"disablePointerEvents",r&&"position".concat((0,c.Z)(r)),a,i&&"hiddenLabel",o&&"size".concat((0,c.Z)(o))]};return(0,s.Z)(l,h,n)}(w);return(0,g.jsx)(u.Z.Provider,{value:null,children:(0,g.jsx)(j,(0,o.Z)({as:b,ownerState:w,className:(0,l.Z)(A.root,p),ref:n},k,{children:"string"!==typeof i||N?(0,g.jsxs)(a.Fragment,{children:["start"===S?f||(f=(0,g.jsx)("span",{className:"notranslate",children:"\u200b"})):null,i]}):(0,g.jsx)(d.Z,{color:"text.secondary",children:i})}))})}))},89472:function(e,n,t){t.d(n,{Z:function(){return r}});var i=t(72327);function r(e,n){var t="undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=(0,i.Z)(e))||n&&e&&"number"===typeof e.length){t&&(e=t);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,l=!0,s=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return l=e.done,e},e:function(e){s=!0,a=e},f:function(){try{l||null==t.return||t.return()}finally{if(s)throw a}}}}},83738:function(e,n,t){function i(e,n){if(null==e)return{};var t,i,r=function(e,n){if(null==e)return{};var t,i,r={},o=Object.keys(e);for(i=0;i=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}t.d(n,{Z:function(){return i}})}}]); -//# sourceMappingURL=5677.654039a6.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4084],{29316:function(e,n,t){t(50390);var i=t(6369),r=t(86509),o=t(4285),a=t(98280),s=t(62559);n.Z=(0,o.Z)((function(e){return(0,r.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var n=e.to,t=e.label,r=e.classes,o=e.className,l=e.executeOnClick;return(0,s.jsxs)(i.rU,{to:n,className:"".concat(r.link," ").concat(o||""),onClick:function(){l&&l()},children:[(0,s.jsx)("div",{className:r.icon,children:(0,s.jsx)(a.xN,{})}),(0,s.jsx)("div",{className:r.label,children:t})]})}))},53224:function(e,n,t){var i=t(18489),r=t(83738),o=(t(50390),t(70758)),a=t(62449),s=t(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,a.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,i=n.color,r=e.palette.primary.main;return"primary"===i&&"contained"===t?r=e.palette.primary.contrastText:"primary"===i&&"outlined"===t?r=e.palette.primary.main:"secondary"===i&&(r=e.palette.secondary.main),r}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,a=e.text,d=void 0===a?"":a,u=e.disabled,m=void 0!==u&&u,p=e.tooltip,x=e.icon,h=void 0===x?null:x,f=(0,r.Z)(e,l);return(0,s.jsxs)(o.Z,(0,i.Z)((0,i.Z)({classes:n,tooltip:p||d,variant:"outlined",onClick:t,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},f),{},{children:[(0,s.jsx)("span",{children:d})," ",h]}))}},70758:function(e,n,t){var i=t(18489),r=t(36222),o=t(83738),a=(t(50390),t(86509)),s=t(4285),l=t(95467),c=t(94187),d=t(44977),u=t(62559),m=["classes","children","variant","tooltip"];n.Z=(0,s.Z)((function(e){return(0,a.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,a=e.variant,s=void 0===a?"outlined":a,p=e.tooltip,x=(0,o.Z)(e,m),h=(0,u.jsx)(l.Z,(0,i.Z)((0,i.Z)({},x),{},{className:(0,d.Z)(n.root,(0,r.Z)({},n.contained,"contained"===s)),children:t}));return p&&""!==p?(0,u.jsx)(c.Z,{title:p,children:(0,u.jsx)("span",{children:h})}):h}))},70014:function(e,n,t){var i=t(35531),r=t(23430),o=t(18489),a=t(50390),s=t(25594),l=(t(2574),t(20704)),c=t(54880),d=t(21563),u=t(36297),m=t(36554),p=t(94187),x=t(56805),h=t(86509),f=t(4285),b=t(97538),Z=t(72462),g=t(98280),j=t(53224),v=t(33034),C=t.n(v),y=t(53357),P=t(62559),N={json:d.AV,yaml:function(){return c.i.define(u.r)}},S=y.tk.theme({"&":{backgroundColor:"#FBFAFA"},".cm-content":{caretColor:"#05122B"},"&.cm-focused .cm-cursor":{borderLeftColor:"#05122B"},".cm-gutters":{backgroundColor:"#FBFAFA",color:"#000000",border:"none"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px",color:"#2781B0","& .\u037cc":{color:"#C83B51"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#dde1f1"},".cm-matchingBracket":{backgroundColor:"#05122B",color:"#ffffff"},".cm-selectionMatch":{backgroundColor:"#ebe7f1"},".cm-selectionLayer":{fontWeight:500}," .cm-selectionBackground":{backgroundColor:"#a180c7",color:"#ffffff"}},{dark:!1}),E=y.tk.theme({"&":{backgroundColor:"#282a36",color:"#ffb86c"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px","& .\u037cd, & .\u037cc":{color:"#8e6cef"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#44475a"},".cm-matchingBracket":{backgroundColor:"#842de5",color:"#ff79c6"},".cm-selectionLayer .cm-selectionBackground":{backgroundColor:"green"}},{dark:!0});n.Z=(0,f.Z)((function(e){return(0,h.Z)((0,o.Z)((0,o.Z)({},Z.YI),{},{inputLabel:(0,o.Z)((0,o.Z)({},Z.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.value,t=e.label,o=void 0===t?"":t,c=e.tooltip,d=void 0===c?"":c,u=e.mode,h=void 0===u?"json":u,f=e.classes,Z=e.onBeforeChange,v=e.readOnly,y=void 0!==v&&v,k=e.editorHeight,T=void 0===k?"250px":k,I=(0,a.useState)(!1),A=(0,r.Z)(I,2),w=A[0],F=A[1],R=[];return N[h]&&(R=[].concat((0,i.Z)(R),[N[h]()])),(0,P.jsxs)(a.Fragment,{children:[(0,P.jsxs)(m.Z,{className:f.inputLabel,children:[(0,P.jsx)("span",{children:o}),""!==d&&(0,P.jsx)("div",{className:f.tooltipContainer,children:(0,P.jsx)(p.Z,{title:d,placement:"top-start",children:(0,P.jsx)("div",{className:f.tooltip,children:(0,P.jsx)(b.Z,{})})})})]}),(0,P.jsx)(s.ZP,{item:!0,xs:12,children:(0,P.jsx)("br",{})}),(0,P.jsxs)(s.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea"},children:[(0,P.jsx)(s.ZP,{item:!0,xs:12,children:(0,P.jsx)(l.ZP,{value:n,theme:w?E:S,extensions:R,editable:!y,basicSetup:!0,height:T,onChange:function(e,n){Z(null,null,e)}})}),(0,P.jsx)(s.ZP,{item:!0,xs:12,sx:{borderTop:"1px solid #eaeaea",background:w?"#282c34":"#f7f7f7"},children:(0,P.jsxs)(x.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,P.jsx)(j.Z,{tooltip:"Change theme",onClick:function(){F(!w)},text:"",icon:(0,P.jsx)(g.EO,{}),color:"primary",variant:"outlined"}),(0,P.jsx)(C(),{text:n,children:(0,P.jsx)(j.Z,{tooltip:"Copy to Clipboard",onClick:function(){},text:"",icon:(0,P.jsx)(g.TI,{}),color:"primary",variant:"outlined"})})]})})]})]})}))},35721:function(e,n,t){t(50390);var i=t(34424),r=t(25594),o=t(86509),a=t(4285),s=t(35477),l=t(95467),c=t(26805),d=t(44078),u=t(5265),m=t(98280),p=t(62559),x={toggleList:u.kQ},h=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),x);n.Z=h((0,a.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,i=e.actions,o=e.sidebarOpen,a=e.operatorMode,u=e.managerObjects,x=e.toggleList,h=e.middleComponent;return(0,p.jsxs)(r.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:h?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,p.jsx)("div",{className:n.logo,children:a?(0,p.jsx)(c.Z,{}):(0,p.jsx)(d.Z,{})}),(0,p.jsx)(s.Z,{variant:"h4",className:n.labelStyle,children:t})]}),h&&(0,p.jsx)(r.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:h}),(0,p.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:h?3:6,className:n.rightMenu,children:[i&&i,u&&u.length>0&&(0,p.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){x()},size:"large",children:(0,p.jsx)(m.gx,{})})]})]})})))},62702:function(e,n,t){t(50390);var i=t(25594),r=t(86509),o=t(4285),a=t(62559);n.Z=(0,o.Z)((function(e){return(0,r.Z)({headerBarIcon:{marginRight:".7rem",color:e.palette.primary.main,"& .min-icon":{width:44,height:44}},headerBarSubheader:{color:"grey","@media (max-width: 900px)":{maxWidth:200}},screenTitle:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"1rem",borderBottom:"1px solid #EAEAEA","@media (max-width: 600px)":{flexFlow:"column"}},titleColumn:{height:"auto",justifyContent:"center",display:"flex",flexFlow:"column",alignItems:"flex-start","& h1":{fontSize:19}},leftItems:{display:"flex",alignItems:"center","@media (max-width: 600px)":{flexFlow:"column"}},rightItems:{display:"flex",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.icon,r=e.title,o=e.subTitle,s=e.actions,l=e.className;return(0,a.jsx)(i.ZP,{container:!0,children:(0,a.jsxs)(i.ZP,{item:!0,xs:12,className:"".concat(n.screenTitle," ").concat(l||""),children:[(0,a.jsxs)("div",{className:n.leftItems,children:[t?(0,a.jsx)("div",{className:n.headerBarIcon,children:t}):null,(0,a.jsxs)("div",{className:n.titleColumn,children:[(0,a.jsx)("h1",{style:{margin:0},children:r}),(0,a.jsx)("span",{className:n.headerBarSubheader,children:o})]})]}),(0,a.jsx)("div",{className:n.rightItems,children:s})]})})}))},57647:function(e,n,t){var i=t(18489),r=t(23430),o=t(50390),a=t(56805),s=t(49044),l=t(97227),c=t(74564),d=t(669),u=t(4285),m=t(88669),p=t(86509),x=t(13512),h=t(62559),f={minHeight:60};n.Z=(0,u.Z)((function(e){return(0,p.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,p=void 0===u?"0":u,b=e.routes,Z=e.isRouteTabs,g=o.useState(p),j=(0,r.Z)(g,2),v=j[0],C=j[1],y=(0,m.Z)(),P=(0,x.Z)(y.breakpoints.down("md")),N=[],S=[];return n?(n.forEach((function(e){N.push(e.tabConfig),S.push(e.content)})),(0,h.jsx)(l.ZP,{value:"".concat(v),children:(0,h.jsxs)(a.Z,{className:t.tabsContainer,children:[(0,h.jsx)(a.Z,{className:t.tabsHeaderContainer,children:(0,h.jsx)(c.Z,{onChange:function(e,n){C(n)},orientation:P?"horizontal":"vertical",variant:P?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:N.map((function(e,n){return e?(0,h.jsx)(s.Z,(0,i.Z)((0,i.Z)({className:t.tabHeader,value:"".concat(n),style:f},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,h.jsxs)(a.Z,{className:t.tabContentContainer,children:[Z?null:S.map((function(e,n){return(0,h.jsx)(d.Z,{classes:(0,i.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),Z?(0,h.jsx)("div",{className:t.tabPanel,children:b}):null]})]})})):null}))},5604:function(e,n,t){t.r(n);var i=t(23430),r=t(18489),o=t(50390),a=t(34424),s=t(86509),l=t(4285),c=t(72462),d=t(46981),u=t(25594),m=t(66946),p=t(81378),x=t(17777),h=t(30324),f=t(35721),b=t(6369),Z=t(44149),g=t(70014),j=t(24442),v=t(65771),C=t(12066),y=t(62702),P=t(73738),N=t(18221),S=t(13336),E=t(61846),k=t(25534),T=t(57647),I=t(29316),A=t(49495),w=t(15607),F=t(37882),R=t(53224),M=t(62559),B=(0,F.Z)(o.lazy((function(){return Promise.all([t.e(5444),t.e(609)]).then(t.bind(t,24121))}))),L=(0,a.$j)((function(e){return{features:e.console.session.features}}),{setErrorSnackMessage:Z.Ih,setSnackBarMessage:Z.y1});n.default=(0,l.Z)((function(e){return(0,s.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({buttonContainer:{textAlign:"right"},pageContainer:{border:"1px solid #EAEAEA",height:"100%"},paperContainer:{padding:"15px 15px 15px 50px",minHeight:"450px"},breadcrumLink:{textDecoration:"none",color:"black"},statement:{border:"1px solid #DADADA",padding:8,marginBottom:8,borderRadius:4},labelCol:{fontWeight:"bold"}},c.OR),c.qg),c.oO),(0,c.Bz)(e.spacing(4))))}))(L((function(e){var n=e.classes,t=e.match,r=e.setErrorSnackMessage,a=e.setSnackBarMessage,s=e.features,l=(0,o.useState)(null),c=(0,i.Z)(l,2),Z=c[0],F=c[1],L=(0,o.useState)([]),O=(0,i.Z)(L,2),_=O[0],D=O[1],U=(0,o.useState)([]),z=(0,i.Z)(U,2),G=z[0],H=z[1],W=(0,o.useState)([]),Y=(0,i.Z)(W,2),Q=Y[0],V=Y[1],J=(0,o.useState)(!1),K=(0,i.Z)(J,2),$=K[0],q=K[1],X=(0,o.useState)(t.params[0]),ee=(0,i.Z)(X,2),ne=ee[0],te=ee[1],ie=(0,o.useState)(""),re=(0,i.Z)(ie,2),oe=re[0],ae=re[1],se=(0,o.useState)(!0),le=(0,i.Z)(se,2),ce=le[0],de=le[1],ue=(0,o.useState)(""),me=(0,i.Z)(ue,2),pe=me[0],xe=me[1],he=(0,o.useState)(!0),fe=(0,i.Z)(he,2),be=fe[0],Ze=fe[1],ge=(0,o.useState)(""),je=(0,i.Z)(ge,2),ve=je[0],Ce=je[1],ye=(0,o.useState)(!0),Pe=(0,i.Z)(ye,2),Ne=Pe[0],Se=Pe[1],Ee=(0,o.useState)(!1),ke=(0,i.Z)(Ee,2),Te=ke[0],Ie=ke[1],Ae=s&&s.includes("ldap-idp")||!1,we=(0,w.F)(A.C3,[A.Ft.ADMIN_LIST_GROUPS,A.Ft.ADMIN_GET_GROUP],!0),Fe=(0,w.F)(A.C3,[A.Ft.ADMIN_GET_GROUP]),Re=(0,w.F)(A.C3,[A.Ft.ADMIN_LIST_GROUPS]),Me=(0,w.F)(A.C3,[A.Ft.ADMIN_GET_USER]),Be=(0,w.F)(A.C3,[A.Ft.ADMIN_GET_POLICY]),Le=(0,w.F)(A.C3,[A.Ft.ADMIN_CREATE_POLICY]),Oe=function(e){e.preventDefault(),$||(q(!0),Le?h.Z.invoke("POST","/api/v1/policies",{name:ne,policy:oe}).then((function(e){q(!1),a("Policy successfully updated")})).catch((function(e){q(!1),r(e)})):q(!1))};(0,o.useEffect)((function(){ce&&(ce&&(Be?h.Z.invoke("GET","/api/v1/policy?name=".concat(encodeURIComponent(ne))).then((function(e){if(e){F(e),ae(e?JSON.stringify(JSON.parse(e.policy),null,4):"");var n=JSON.parse(e.policy);D(n.Statement)}de(!1)})).catch((function(e){r(e),de(!1)})):de(!1)),be&&(Re&&!Ae?h.Z.invoke("GET","/api/v1/policies/".concat(encodeURIComponent(ne),"/users")).then((function(e){H(e),Ze(!1)})).catch((function(e){r(e),Ze(!1)})):Ze(!1)),Ne&&(we&&!Ae?h.Z.invoke("GET","/api/v1/policies/".concat(encodeURIComponent(ne),"/groups")).then((function(e){V(e),Se(!1)})).catch((function(e){r(e),Se(!1)})):Se(!1)))}),[ne,ce,be,Ne,r,H,V,ae,F,Ze,Se,Re,we,Be,Ae]);var _e=""!==ne.trim(),De=[{type:"view",onClick:function(e){j.Z.push("".concat(A.gA.USERS,"/").concat(e))},disableButtonFunction:function(){return!Me}}],Ue=G.filter((function(e){return e.includes(pe)})),ze=[{type:"view",onClick:function(e){j.Z.push("".concat(A.gA.GROUPS,"/").concat(e))},disableButtonFunction:function(){return!Fe}}],Ge=Q.filter((function(e){return e.includes(ve)}));return(0,M.jsxs)(o.Fragment,{children:[Te&&(0,M.jsx)(B,{deleteOpen:Te,selectedPolicy:ne,closeDeleteModalAndRefresh:function(e){Ie(!1),j.Z.push(A.gA.POLICIES)}}),(0,M.jsx)(f.Z,{label:(0,M.jsx)(o.Fragment,{children:(0,M.jsx)(b.rU,{to:A.gA.POLICIES,className:n.breadcrumLink,children:"Policy"})})}),(0,M.jsx)(I.Z,{to:A.gA.POLICIES,label:"Return to Policies"}),(0,M.jsxs)(k.Z,{className:n.pageContainer,children:[(0,M.jsx)(u.ZP,{item:!0,xs:12,children:(0,M.jsx)(y.Z,{icon:(0,M.jsx)(o.Fragment,{children:(0,M.jsx)(P.Z,{width:40})}),title:ne,subTitle:(0,M.jsx)(o.Fragment,{children:"IAM Policy"}),actions:(0,M.jsxs)(o.Fragment,{children:[(0,M.jsx)(w.Z,{scopes:[A.Ft.ADMIN_DELETE_POLICY],resource:A.C3,errorProps:{disabled:!0},children:(0,M.jsx)(R.Z,{tooltip:"Delete Policy",text:"Delete Policy",variant:"outlined",color:"secondary",icon:(0,M.jsx)(E.Z,{}),onClick:function(){Ie(!0)}})}),(0,M.jsx)(R.Z,{tooltip:"Refresh",text:"Refresh",variant:"outlined",color:"primary",icon:(0,M.jsx)(N.default,{}),onClick:function(){Ze(!0),Se(!0),de(!0)}})]})})}),(0,M.jsxs)(T.Z,{children:[{tabConfig:{label:"Summary",disabled:!Be},content:(0,M.jsxs)(o.Fragment,{children:[(0,M.jsx)("div",{className:n.sectionTitle,children:"Policy Summary"}),(0,M.jsx)(d.Z,{className:n.paperContainer,children:(0,M.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){Oe(e)},children:(0,M.jsxs)(u.ZP,{container:!0,children:[(0,M.jsx)(u.ZP,{item:!0,xs:8,children:(0,M.jsx)("h4",{children:"Statements"})}),(0,M.jsx)(u.ZP,{item:!0,xs:4}),(0,M.jsx)(o.Fragment,{children:_.map((function(e,t){return(0,M.jsx)(u.ZP,{item:!0,xs:12,className:n.statement,children:(0,M.jsxs)(u.ZP,{container:!0,children:[(0,M.jsx)(u.ZP,{item:!0,xs:2,className:n.labelCol,children:"Effect"}),(0,M.jsx)(u.ZP,{item:!0,xs:4,children:(0,M.jsx)(o.Fragment,{children:e.Effect})}),(0,M.jsx)(u.ZP,{item:!0,xs:2,className:n.labelCol}),(0,M.jsx)(u.ZP,{item:!0,xs:4}),(0,M.jsx)(u.ZP,{item:!0,xs:2,className:n.labelCol,children:"Actions"}),(0,M.jsx)(u.ZP,{item:!0,xs:4,children:(0,M.jsx)("ul",{children:e.Action&&e.Action.map((function(e,n){return(0,M.jsx)("li",{children:e},"".concat(t,"-r-").concat(n))}))})}),(0,M.jsx)(u.ZP,{item:!0,xs:2,className:n.labelCol,children:"Resources"}),(0,M.jsx)(u.ZP,{item:!0,xs:4,children:(0,M.jsx)("ul",{children:e.Resource&&e.Resource.map((function(e,n){return(0,M.jsx)("li",{children:e},"".concat(t,"-r-").concat(n))}))})})]})},"s-".concat(t))}))})]})})})]})},{tabConfig:{label:"Users",disabled:!Re||Ae},content:(0,M.jsxs)(o.Fragment,{children:[(0,M.jsx)("div",{className:n.sectionTitle,children:"Users"}),(0,M.jsxs)(u.ZP,{container:!0,children:[(0,M.jsx)(u.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,M.jsx)(C.Z,{placeholder:"Search Users",className:n.searchField,id:"search-resource",label:"",onChange:function(e){xe(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,M.jsx)(v.Z,{position:"start",children:(0,M.jsx)(S.Z,{})})},variant:"standard"})}),(0,M.jsx)(u.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,M.jsx)("br",{})}),(0,M.jsx)(x.Z,{itemActions:De,columns:[{label:"Name",elementKey:"name"}],isLoading:be,records:Ue,entityName:"Users",idField:"name"})]})]})},{tabConfig:{label:"Groups",disabled:!we||Ae},content:(0,M.jsxs)(o.Fragment,{children:[(0,M.jsx)("div",{className:n.sectionTitle,children:"Groups"}),(0,M.jsxs)(u.ZP,{container:!0,children:[(0,M.jsx)(u.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,M.jsx)(C.Z,{placeholder:"Search Groups",className:n.searchField,id:"search-resource",label:"",onChange:function(e){Ce(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,M.jsx)(v.Z,{position:"start",children:(0,M.jsx)(S.Z,{})})},variant:"standard"})}),(0,M.jsx)(u.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,M.jsx)("br",{})}),(0,M.jsx)(x.Z,{itemActions:ze,columns:[{label:"Name",elementKey:"name"}],isLoading:Ne,records:Ge,entityName:"Groups",idField:"name"})]})]})},{tabConfig:{label:"Raw Policy",disabled:!Be},content:(0,M.jsxs)(o.Fragment,{children:[(0,M.jsx)("div",{className:n.sectionTitle,children:"Raw Policy"}),(0,M.jsx)(d.Z,{className:n.paperContainer,children:(0,M.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){Oe(e)},children:(0,M.jsxs)(u.ZP,{container:!0,children:[(0,M.jsx)(u.ZP,{item:!0,xs:12,className:n.formScrollable,children:(0,M.jsx)(g.Z,{readOnly:!Le,value:oe,onBeforeChange:function(e,n,t){ae(t)},editorHeight:"350px"})}),(0,M.jsxs)(u.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[!Z&&(0,M.jsx)("button",{type:"button",color:"primary",className:n.clearButton,onClick:function(){te(""),ae("")},children:"Clear"}),(0,M.jsx)(w.Z,{scopes:[A.Ft.ADMIN_CREATE_POLICY],resource:A.C3,errorProps:{disabled:!0},children:(0,M.jsx)(m.Z,{type:"submit",variant:"contained",color:"primary",disabled:$||!_e,children:"Save"})})]}),$&&(0,M.jsx)(u.ZP,{item:!0,xs:12,children:(0,M.jsx)(p.Z,{})})]})})})]})}]})]})]})})))},97227:function(e,n,t){t.d(n,{ZP:function(){return s},_i:function(){return l},uU:function(){return c},pQ:function(){return d}});var i=t(23430),r=t(50390),o=t(62559),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}(),l=r.useMemo((function(){return{idPrefix:s,value:t}}),[s,t]);return(0,o.jsx)(a.Provider,{value:l,children:n})}function l(){return r.useContext(a)}function c(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)}},74564:function(e,n,t){var i=t(18207),r=t(46633),o=t(50390),a=t(98247),s=t(97227),l=t(62559),c=["children"],d=o.forwardRef((function(e,n){var t=e.children,d=(0,r.Z)(e,c),u=(0,s._i)();if(null===u)throw new TypeError("No TabContext provided");var m=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,l.jsx)(a.Z,(0,i.Z)({},d,{ref:n,value:u.value,children:m}))}));n.Z=d},669:function(e,n,t){t.d(n,{Z:function(){return f}});var i=t(18207),r=t(46633),o=t(50390),a=t(44977),s=t(8208),l=t(15573),c=t(50076),d=t(10594);function u(e){return(0,d.Z)("MuiTabPanel",e)}(0,t(43349).Z)("MuiTabPanel",["root"]);var m=t(97227),p=t(62559),x=["children","className","value"],h=(0,s.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,n){return n.root}})((function(e){return{padding:e.theme.spacing(3)}})),f=o.forwardRef((function(e,n){var t=(0,l.Z)({props:e,name:"MuiTabPanel"}),o=t.children,s=t.className,d=t.value,f=(0,r.Z)(t,x),b=(0,i.Z)({},t),Z=function(e){var n=e.classes;return(0,c.Z)({root:["root"]},u,n)}(b),g=(0,m._i)();if(null===g)throw new TypeError("No TabContext provided");var j=(0,m.uU)(g,d),v=(0,m.pQ)(g,d);return(0,p.jsx)(h,(0,i.Z)({"aria-labelledby":v,className:(0,a.Z)(Z.root,s),hidden:d!==g.value,id:j,ref:n,role:"tabpanel",ownerState:b},f,{children:d===g.value&&o}))}))},65771:function(e,n,t){t.d(n,{Z:function(){return C}});var i=t(36222),r=t(1048),o=t(32793),a=t(50390),s=t(44977),l=t(50076),c=t(91442),d=t(35477),u=t(14478),m=t(23060),p=t(8208),x=t(10594);function h(e){return(0,x.Z)("MuiInputAdornment",e)}var f,b=(0,t(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),Z=t(15573),g=t(62559),j=["children","className","component","disablePointerEvents","disableTypography","position","variant"],v=(0,p.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,n["position".concat((0,c.Z)(t.position))],!0===t.disablePointerEvents&&n.disablePointerEvents,n[t.variant]]}})((function(e){var n=e.theme,t=e.ownerState;return(0,o.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:n.palette.action.active},"filled"===t.variant&&(0,i.Z)({},"&.".concat(b.positionStart,"&:not(.").concat(b.hiddenLabel,")"),{marginTop:16}),"start"===t.position&&{marginRight:8},"end"===t.position&&{marginLeft:8},!0===t.disablePointerEvents&&{pointerEvents:"none"})})),C=a.forwardRef((function(e,n){var t=(0,Z.Z)({props:e,name:"MuiInputAdornment"}),i=t.children,p=t.className,x=t.component,b=void 0===x?"div":x,C=t.disablePointerEvents,y=void 0!==C&&C,P=t.disableTypography,N=void 0!==P&&P,S=t.position,E=t.variant,k=(0,r.Z)(t,j),T=(0,m.Z)()||{},I=E;E&&T.variant,T&&!I&&(I=T.variant);var A=(0,o.Z)({},t,{hiddenLabel:T.hiddenLabel,size:T.size,disablePointerEvents:y,position:S,variant:I}),w=function(e){var n=e.classes,t=e.disablePointerEvents,i=e.hiddenLabel,r=e.position,o=e.size,a=e.variant,s={root:["root",t&&"disablePointerEvents",r&&"position".concat((0,c.Z)(r)),a,i&&"hiddenLabel",o&&"size".concat((0,c.Z)(o))]};return(0,l.Z)(s,h,n)}(A);return(0,g.jsx)(u.Z.Provider,{value:null,children:(0,g.jsx)(v,(0,o.Z)({as:b,ownerState:A,className:(0,s.Z)(w.root,p),ref:n},k,{children:"string"!==typeof i||N?(0,g.jsxs)(a.Fragment,{children:["start"===S?f||(f=(0,g.jsx)("span",{className:"notranslate",children:"\u200b"})):null,i]}):(0,g.jsx)(d.Z,{color:"text.secondary",children:i})}))})}))},83738:function(e,n,t){function i(e,n){if(null==e)return{};var t,i,r=function(e,n){if(null==e)return{};var t,i,r={},o=Object.keys(e);for(i=0;i=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}t.d(n,{Z:function(){return i}})}}]); +//# sourceMappingURL=4084.3deda75b.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4084.3deda75b.chunk.js.map b/portal-ui/build/static/js/4084.3deda75b.chunk.js.map new file mode 100644 index 000000000..d53c19eda --- /dev/null +++ b/portal-ui/build/static/js/4084.3deda75b.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4084.3deda75b.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/ScreenTitle/ScreenTitle.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Policies/PolicyDetails.tsx","../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/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\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, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\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 inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\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 const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n \n
\n
\n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\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 { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
\n {icon ?
{icon}
: null}\n
\n

{title}

\n {subTitle}\n
\n
\n\n
{actions}
\n
\n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\n","import React 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\";\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 [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\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","// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\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 { Button, LinearProgress } from \"@mui/material\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport api from \"../../../common/api\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport { Link } from \"react-router-dom\";\nimport { setErrorSnackMessage, setSnackBarMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport history from \"../../../history\";\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 IAM_PAGES,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport SecureComponent, {\n hasPermission,\n} from \"../../../common/SecureComponent/SecureComponent\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport { AppState } from \"../../../store\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\nconst DeletePolicy = withSuspense(React.lazy(() => import(\"./DeletePolicy\")));\n\ninterface IPolicyDetailsProps {\n classes: any;\n match: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n setSnackBarMessage: typeof setSnackBarMessage;\n features: string[] | null;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\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 breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\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\nconst PolicyDetails = ({\n classes,\n match,\n setErrorSnackMessage,\n setSnackBarMessage,\n features,\n}: IPolicyDetailsProps) => {\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 const [policyName, setPolicyName] = useState(match.params[0]);\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 [IAM_SCOPES.ADMIN_LIST_GROUPS, IAM_SCOPES.ADMIN_GET_GROUP],\n true\n );\n\n const viewGroup = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_GROUP,\n ]);\n\n const displayUsers = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_LIST_GROUPS,\n ]);\n\n const viewUser = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_USER,\n ]);\n\n const displayPolicy = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_POLICY,\n ]);\n\n const editPolicy = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_CREATE_POLICY,\n ]);\n\n const saveRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n if (editPolicy) {\n api\n .invoke(\"POST\", \"/api/v1/policies\", {\n name: policyName,\n policy: policyDefinition,\n })\n .then((_) => {\n setAddLoading(false);\n setSnackBarMessage(\"Policy successfully updated\");\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n 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/${encodeURIComponent(policyName)}/users`\n )\n .then((result: any) => {\n setUserList(result);\n setLoadingUsers(false);\n })\n .catch((err: ErrorResponseHandler) => {\n 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/${encodeURIComponent(policyName)}/groups`\n )\n .then((result: any) => {\n setGroupList(result);\n setLoadingGroups(false);\n })\n .catch((err: ErrorResponseHandler) => {\n 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(\n \"GET\",\n `/api/v1/policy?name=${encodeURIComponent(policyName)}`\n )\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 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 setErrorSnackMessage,\n setUserList,\n setGroupList,\n setPolicyDefinition,\n setPolicy,\n setLoadingUsers,\n setLoadingGroups,\n displayUsers,\n displayGroups,\n displayPolicy,\n ldapIsEnabled,\n ]);\n\n const resetForm = () => {\n setPolicyName(\"\");\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 history.push(IAM_PAGES.POLICIES);\n };\n\n const userViewAction = (user: any) => {\n history.push(`${IAM_PAGES.USERS}/${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 history.push(`${IAM_PAGES.GROUPS}/${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 return (\n \n {deleteOpen && (\n \n )}\n \n \n Policy\n \n \n }\n />\n \n \n \n \n \n \n }\n title={policyName}\n subTitle={IAM Policy}\n actions={\n \n \n }\n onClick={deletePolicy}\n />\n \n\n }\n onClick={() => {\n setLoadingUsers(true);\n setLoadingGroups(true);\n setLoadingPolicy(true);\n }}\n />\n \n }\n />\n \n\n \n {{\n tabConfig: { label: \"Summary\", disabled: !displayPolicy },\n content: (\n \n
Policy Summary
\n \n ) => {\n saveRecord(e);\n }}\n >\n \n \n

Statements

\n
\n \n\n \n {policyStatements.map((stmt, i) => {\n return (\n \n \n \n Effect\n \n \n {stmt.Effect}\n \n \n \n \n Actions\n \n \n
    \n {stmt.Action &&\n stmt.Action.map((act, actIndex) => (\n
  • \n {act}\n
  • \n ))}\n
\n
\n \n Resources\n \n \n
    \n {stmt.Resource &&\n stmt.Resource.map((res, resIndex) => (\n
  • \n {res}\n
  • \n ))}\n
\n
\n
\n
\n );\n })}\n
\n
\n \n
\n
\n ),\n }}\n {{\n tabConfig: {\n label: \"Users\",\n disabled: !displayUsers || ldapIsEnabled,\n },\n content: (\n \n
Users
\n \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 }}\n {{\n tabConfig: {\n label: \"Groups\",\n disabled: !displayGroups || ldapIsEnabled,\n },\n content: (\n \n
Groups
\n \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 }}\n {{\n tabConfig: { label: \"Raw Policy\", disabled: !displayPolicy },\n content: (\n \n
Raw Policy
\n \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 Save\n \n \n \n {addLoading && (\n \n \n \n )}\n \n \n \n
\n ),\n }}\n
\n
\n \n );\n};\n\nconst mapState = (state: AppState) => ({\n features: state.console.session.features,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n setSnackBarMessage,\n});\n\nexport default withStyles(styles)(connector(PolicyDetails));\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","useStyles","makeStyles","root","props","variant","tgtColor","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","disabled","tooltip","restProps","size","sx","border","borderWidth","borderStyle","borderRadius","backgroundColor","opacity","contained","background","dark","children","rest","button","clsx","title","langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","caretColor","borderLeftColor","borderRight","fontWeight","darkTheme","fieldBasic","inputLabel","value","mode","onBeforeChange","readOnly","editorHeight","useState","isDarkTheme","setIsDarkTheme","extensionList","tooltipContainer","placement","item","xs","extensions","editable","basicSetup","height","onChange","v","vu","borderTop","paddingRight","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","actions","container","direction","sm","md","paddingTop","length","component","headerBarIcon","headerBarSubheader","screenTitle","borderBottom","flexFlow","titleColumn","leftItems","rightItems","subTitle","style","margin","tabStripStyle","tabsContainer","tabsHeaderContainer","marginBottom","tabContentContainer","tabPanel","flexDirection","selectedTab","routes","isRouteTabs","React","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","forEach","child","push","tabConfig","content","event","newValue","orientation","scrollButtons","tabList","map","index","tabHeader","disableRipple","disableTouchRipple","focusRipple","DeletePolicy","withSuspense","features","console","session","setErrorSnackMessage","setSnackBarMessage","buttonContainer","pageContainer","paperContainer","breadcrumLink","statement","labelCol","actionsTray","searchField","modalBasic","containerForHeader","spacing","match","policy","setPolicy","policyStatements","setPolicyStatements","userList","setUserList","groupList","setGroupList","addLoading","setAddLoading","params","policyName","setPolicyName","policyDefinition","setPolicyDefinition","loadingPolicy","setLoadingPolicy","filterUsers","setFilterUsers","loadingUsers","setLoadingUsers","filterGroups","setFilterGroups","loadingGroups","setLoadingGroups","deleteOpen","setDeleteOpen","ldapIsEnabled","includes","displayGroups","hasPermission","CONSOLE_UI_RESOURCE","IAM_SCOPES","viewGroup","displayUsers","viewUser","displayPolicy","editPolicy","saveRecord","preventDefault","api","name","then","_","catch","err","useEffect","encodeURIComponent","result","JSON","stringify","parse","pol","Statement","validSave","trim","userTableActions","type","user","history","IAM_PAGES","disableButtonFunction","filteredUsers","filter","elementItem","groupTableActions","group","filteredGroups","Fragment","selectedPolicy","closeDeleteModalAndRefresh","refresh","scopes","resource","errorProps","sectionTitle","noValidate","autoComplete","onSubmit","e","stmt","i","Effect","Action","act","actIndex","Resource","res","resIndex","placeholder","id","val","target","InputProps","disableUnderline","startAdornment","position","itemActions","columns","elementKey","isLoading","records","entityName","idField","formScrollable","editor","data","clearButton","Context","TabContext","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","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","hidden","role","getInputAdornmentUtilityClass","_span","InputAdornmentRoot","capitalize","disablePointerEvents","maxHeight","whiteSpace","action","active","inputAdornmentClasses","pointerEvents","disableTypography","variantProp","muiFormControl","useFormControl","hiddenLabel","slots","FormControlContext","as","_jsxs","Typography","_objectWithoutProperties","source","excluded","key","sourceKeys","Object","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4105.4a4541e7.chunk.js b/portal-ui/build/static/js/4105.4a4541e7.chunk.js new file mode 100644 index 000000000..3bf449ebb --- /dev/null +++ b/portal-ui/build/static/js/4105.4a4541e7.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4105,9056],{4247:function(e,t,o){o.d(t,{V:function(){return n}});var a=o(10594);function n(e){return(0,a.Z)("MuiDivider",e)}var i=(0,o(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=i},31680:function(e,t,o){o.d(t,{Z:function(){return C}});var a=o(36222),n=o(1048),i=o(32793),r=o(50390),c=o(44977),d=o(50076),s=o(36128),l=o(8208),u=o(15573),p=o(57308),h=o(86875),m=o(40839),g=o(3299),f=o(4247),b=o(2198),Z=o(23586),v=o(10594);function k(e){return(0,v.Z)("MuiMenuItem",e)}var w=(0,o(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),x=o(62559),y=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],S=(0,l.ZP)(h.Z,{shouldForwardProp:function(e){return(0,l.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var o=e.ownerState;return[t.root,o.dense&&t.dense,o.divider&&t.divider,!o.disableGutters&&t.gutters]}})((function(e){var t,o=e.theme,n=e.ownerState;return(0,i.Z)({},o.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!n.disableGutters&&{paddingLeft:16,paddingRight:16},n.divider&&{borderBottom:"1px solid ".concat(o.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:o.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,a.Z)(t,"&.".concat(w.selected),(0,a.Z)({backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity)},"&.".concat(w.focusVisible),{backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity+o.palette.action.focusOpacity)})),(0,a.Z)(t,"&.".concat(w.selected,":hover"),{backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity+o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity)}}),(0,a.Z)(t,"&.".concat(w.focusVisible),{backgroundColor:o.palette.action.focus}),(0,a.Z)(t,"&.".concat(w.disabled),{opacity:o.palette.action.disabledOpacity}),(0,a.Z)(t,"& + .".concat(f.Z.root),{marginTop:o.spacing(1),marginBottom:o.spacing(1)}),(0,a.Z)(t,"& + .".concat(f.Z.inset),{marginLeft:52}),(0,a.Z)(t,"& .".concat(Z.Z.root),{marginTop:0,marginBottom:0}),(0,a.Z)(t,"& .".concat(Z.Z.inset),{paddingLeft:36}),(0,a.Z)(t,"& .".concat(b.Z.root),{minWidth:36}),t),!n.dense&&(0,a.Z)({},o.breakpoints.up("sm"),{minHeight:"auto"}),n.dense&&(0,i.Z)({minHeight:32,paddingTop:4,paddingBottom:4},o.typography.body2,(0,a.Z)({},"& .".concat(b.Z.root," svg"),{fontSize:"1.25rem"})))})),C=r.forwardRef((function(e,t){var o=(0,u.Z)({props:e,name:"MuiMenuItem"}),a=o.autoFocus,s=void 0!==a&&a,l=o.component,h=void 0===l?"li":l,f=o.dense,b=void 0!==f&&f,Z=o.divider,v=void 0!==Z&&Z,w=o.disableGutters,C=void 0!==w&&w,R=o.focusVisibleClassName,B=o.role,F=void 0===B?"menuitem":B,I=o.tabIndex,z=(0,n.Z)(o,y),M=r.useContext(p.Z),P={dense:b||M.dense||!1,disableGutters:C},O=r.useRef(null);(0,m.Z)((function(){s&&O.current&&O.current.focus()}),[s]);var N,j=(0,i.Z)({},o,{dense:P.dense,divider:v,disableGutters:C}),V=function(e){var t=e.disabled,o=e.dense,a=e.divider,n=e.disableGutters,r=e.selected,c=e.classes,s={root:["root",o&&"dense",t&&"disabled",!n&&"gutters",a&&"divider",r&&"selected"]},l=(0,d.Z)(s,k,c);return(0,i.Z)({},c,l)}(o),q=(0,g.Z)(O,t);return o.disabled||(N=void 0!==I?I:-1),(0,x.jsx)(p.Z.Provider,{value:P,children:(0,x.jsx)(S,(0,i.Z)({ref:q,role:F,tabIndex:N,component:h,focusVisibleClassName:(0,c.Z)(V.focusVisible,R)},z,{ownerState:j,classes:V}))})}))},49056:function(e,t,o){o.d(t,{Z:function(){return y}});var a=o(36222),n=o(1048),i=o(32793),r=o(50390),c=o(44977),d=o(50076),s=o(36128),l=o(91442),u=o(16756),p=o(15573),h=o(8208),m=o(10594);function g(e){return(0,m.Z)("MuiSwitch",e)}var f=(0,o(43349).Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),b=o(62559),Z=["className","color","edge","size","sx"],v=(0,h.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(e,t){var o=e.ownerState;return[t.root,o.edge&&t["edge".concat((0,l.Z)(o.edge))],t["size".concat((0,l.Z)(o.size))]]}})((function(e){var t,o=e.ownerState;return(0,i.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===o.edge&&{marginLeft:-8},"end"===o.edge&&{marginRight:-8},"small"===o.size&&(t={width:40,height:24,padding:7},(0,a.Z)(t,"& .".concat(f.thumb),{width:16,height:16}),(0,a.Z)(t,"& .".concat(f.switchBase),(0,a.Z)({padding:4},"&.".concat(f.checked),{transform:"translateX(16px)"})),t))})),k=(0,h.ZP)(u.Z,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(e,t){var o=e.ownerState;return[t.switchBase,(0,a.Z)({},"& .".concat(f.input),t.input),"default"!==o.color&&t["color".concat((0,l.Z)(o.color))]]}})((function(e){var t,o=e.theme;return t={position:"absolute",top:0,left:0,zIndex:1,color:"light"===o.palette.mode?o.palette.common.white:o.palette.grey[300],transition:o.transitions.create(["left","transform"],{duration:o.transitions.duration.shortest})},(0,a.Z)(t,"&.".concat(f.checked),{transform:"translateX(20px)"}),(0,a.Z)(t,"&.".concat(f.disabled),{color:"light"===o.palette.mode?o.palette.grey[100]:o.palette.grey[600]}),(0,a.Z)(t,"&.".concat(f.checked," + .").concat(f.track),{opacity:.5}),(0,a.Z)(t,"&.".concat(f.disabled," + .").concat(f.track),{opacity:"light"===o.palette.mode?.12:.2}),(0,a.Z)(t,"& .".concat(f.input),{left:"-100%",width:"300%"}),t}),(function(e){var t,o=e.theme,n=e.ownerState;return(0,i.Z)({"&:hover":{backgroundColor:(0,s.Fq)(o.palette.action.active,o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==n.color&&(t={},(0,a.Z)(t,"&.".concat(f.checked),(0,a.Z)({color:o.palette[n.color].main,"&:hover":{backgroundColor:(0,s.Fq)(o.palette[n.color].main,o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(f.disabled),{color:"light"===o.palette.mode?(0,s.$n)(o.palette[n.color].main,.62):(0,s._j)(o.palette[n.color].main,.55)})),(0,a.Z)(t,"&.".concat(f.checked," + .").concat(f.track),{backgroundColor:o.palette[n.color].main}),t))})),w=(0,h.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(e,t){return t.track}})((function(e){var t=e.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:"light"===t.palette.mode?t.palette.common.black:t.palette.common.white,opacity:"light"===t.palette.mode?.38:.3}})),x=(0,h.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(e,t){return t.thumb}})((function(e){return{boxShadow:e.theme.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),y=r.forwardRef((function(e,t){var o=(0,p.Z)({props:e,name:"MuiSwitch"}),a=o.className,r=o.color,s=void 0===r?"primary":r,u=o.edge,h=void 0!==u&&u,m=o.size,f=void 0===m?"medium":m,y=o.sx,S=(0,n.Z)(o,Z),C=(0,i.Z)({},o,{color:s,edge:h,size:f}),R=function(e){var t=e.classes,o=e.edge,a=e.size,n=e.color,r=e.checked,c=e.disabled,s={root:["root",o&&"edge".concat((0,l.Z)(o)),"size".concat((0,l.Z)(a))],switchBase:["switchBase","color".concat((0,l.Z)(n)),r&&"checked",c&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},u=(0,d.Z)(s,g,t);return(0,i.Z)({},t,u)}(C),B=(0,b.jsx)(x,{className:R.thumb,ownerState:C});return(0,b.jsxs)(v,{className:(0,c.Z)(R.root,a),sx:y,ownerState:C,children:[(0,b.jsx)(k,(0,i.Z)({type:"checkbox",icon:B,checkedIcon:B,ref:t,ownerState:C},S,{classes:(0,i.Z)({},R,{root:R.switchBase})})),(0,b.jsx)(w,{className:R.track,ownerState:C})]})}))},16756:function(e,t,o){o.d(t,{Z:function(){return k}});var a=o(23430),n=o(1048),i=o(32793),r=o(50390),c=o(44977),d=o(50076),s=o(91442),l=o(8208),u=o(55386),p=o(23060),h=o(86875),m=o(10594);function g(e){return(0,m.Z)("PrivateSwitchBase",e)}(0,o(43349).Z)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var f=o(62559),b=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],Z=(0,l.ZP)(h.Z)((function(e){var t=e.ownerState;return(0,i.Z)({padding:9,borderRadius:"50%"},"start"===t.edge&&{marginLeft:"small"===t.size?-3:-12},"end"===t.edge&&{marginRight:"small"===t.size?-3:-12})})),v=(0,l.ZP)("input")({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),k=r.forwardRef((function(e,t){var o=e.autoFocus,r=e.checked,l=e.checkedIcon,h=e.className,m=e.defaultChecked,k=e.disabled,w=e.disableFocusRipple,x=void 0!==w&&w,y=e.edge,S=void 0!==y&&y,C=e.icon,R=e.id,B=e.inputProps,F=e.inputRef,I=e.name,z=e.onBlur,M=e.onChange,P=e.onFocus,O=e.readOnly,N=e.required,j=e.tabIndex,V=e.type,q=e.value,G=(0,n.Z)(e,b),L=(0,u.Z)({controlled:r,default:Boolean(m),name:"SwitchBase",state:"checked"}),T=(0,a.Z)(L,2),A=T[0],D=T[1],E=(0,p.Z)(),H=k;E&&"undefined"===typeof H&&(H=E.disabled);var _="checkbox"===V||"radio"===V,W=(0,i.Z)({},e,{checked:A,disabled:H,disableFocusRipple:x,edge:S}),X=function(e){var t=e.classes,o=e.checked,a=e.disabled,n=e.edge,i={root:["root",o&&"checked",a&&"disabled",n&&"edge".concat((0,s.Z)(n))],input:["input"]};return(0,d.Z)(i,g,t)}(W);return(0,f.jsxs)(Z,(0,i.Z)({component:"span",className:(0,c.Z)(X.root,h),centerRipple:!0,focusRipple:!x,disabled:H,tabIndex:null,role:void 0,onFocus:function(e){P&&P(e),E&&E.onFocus&&E.onFocus(e)},onBlur:function(e){z&&z(e),E&&E.onBlur&&E.onBlur(e)},ownerState:W,ref:t},G,{children:[(0,f.jsx)(v,(0,i.Z)({autoFocus:o,checked:r,defaultChecked:m,className:X.input,disabled:H,id:_&&R,name:I,onChange:function(e){if(!e.nativeEvent.defaultPrevented){var t=e.target.checked;D(t),M&&M(e,t)}},readOnly:O,ref:F,required:N,ownerState:W,tabIndex:j,type:V},"checkbox"===V&&void 0===q?{}:{value:q},B)),A?l:C]}))}))}}]); +//# sourceMappingURL=4105.4a4541e7.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4105.a498ca05.chunk.js.map b/portal-ui/build/static/js/4105.4a4541e7.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/4105.a498ca05.chunk.js.map rename to portal-ui/build/static/js/4105.4a4541e7.chunk.js.map index fc77c7b93..539a4dda0 100644 --- a/portal-ui/build/static/js/4105.a498ca05.chunk.js.map +++ b/portal-ui/build/static/js/4105.4a4541e7.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/4105.a498ca05.chunk.js","mappings":"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","sources":["../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js","../node_modules/@mui/material/Switch/switchClasses.js","../node_modules/@mui/material/Switch/Switch.js","../node_modules/@mui/material/internal/switchBaseClasses.js","../node_modules/@mui/material/internal/SwitchBase.js"],"sourcesContent":["import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, darken, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n}, ownerState.edge === 'start' && {\n marginLeft: -8\n}, ownerState.edge === 'end' && {\n marginRight: -8\n}, ownerState.size === 'small' && {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n}));\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.palette.mode === 'light' ? 0.12 : 0.2\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({\n '&:hover': {\n backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${switchClasses.checked}`]: {\n color: theme.palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: theme.palette[ownerState.color].main\n }\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.mode === 'light' ? 0.38 : 0.3\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\n\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input')({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n/**\n * @ignore - internal component.\n */\n\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n\n let disabled = disabledProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor && id,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n}); // NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\n\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /*\n * @ignore\n */\n name: PropTypes.string,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;"],"names":["getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","styled","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","ownerState","root","dense","divider","disableGutters","gutters","theme","_extends","typography","body1","display","justifyContent","alignItems","position","textDecoration","minHeight","paddingTop","paddingBottom","boxSizing","whiteSpace","paddingLeft","paddingRight","borderBottom","palette","backgroundClip","backgroundColor","action","hover","menuItemClasses","alpha","primary","main","selectedOpacity","focusOpacity","hoverOpacity","focus","opacity","disabledOpacity","marginTop","spacing","marginBottom","marginLeft","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","fontSize","React","inProps","ref","useThemeProps","autoFocus","component","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","classes","disabled","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","undefined","_jsx","value","children","clsx","focusVisible","getSwitchUtilityClass","SwitchRoot","edge","capitalize","size","width","height","overflow","padding","flexShrink","zIndex","verticalAlign","colorAdjust","marginRight","switchClasses","transform","SwitchSwitchBase","SwitchBase","switchBase","input","color","top","left","mode","common","white","grey","transition","transitions","create","duration","shortest","active","lighten","darken","SwitchTrack","track","borderRadius","black","SwitchThumb","thumb","boxShadow","shadows","className","sx","checked","icon","_jsxs","type","checkedIcon","getSwitchBaseUtilityClass","SwitchBaseRoot","SwitchBaseInput","cursor","margin","checkedProp","defaultChecked","disabledProp","disableFocusRipple","id","inputProps","inputRef","onBlur","onChange","onFocus","readOnly","required","useControlled","controlled","default","Boolean","state","setCheckedState","muiFormControl","useFormControl","hasLabelFor","centerRipple","focusRipple","event","nativeEvent","defaultPrevented","newChecked","target"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/4105.4a4541e7.chunk.js","mappings":"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","sources":["../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js","../node_modules/@mui/material/Switch/switchClasses.js","../node_modules/@mui/material/Switch/Switch.js","../node_modules/@mui/material/internal/switchBaseClasses.js","../node_modules/@mui/material/internal/SwitchBase.js"],"sourcesContent":["import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, darken, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n}, ownerState.edge === 'start' && {\n marginLeft: -8\n}, ownerState.edge === 'end' && {\n marginRight: -8\n}, ownerState.size === 'small' && {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n}));\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.palette.mode === 'light' ? 0.12 : 0.2\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({\n '&:hover': {\n backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${switchClasses.checked}`]: {\n color: theme.palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: theme.palette[ownerState.color].main\n }\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.mode === 'light' ? 0.38 : 0.3\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\n\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input')({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n/**\n * @ignore - internal component.\n */\n\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n\n let disabled = disabledProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor && id,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n}); // NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\n\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /*\n * @ignore\n */\n name: PropTypes.string,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;"],"names":["getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","styled","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","ownerState","root","dense","divider","disableGutters","gutters","theme","_extends","typography","body1","display","justifyContent","alignItems","position","textDecoration","minHeight","paddingTop","paddingBottom","boxSizing","whiteSpace","paddingLeft","paddingRight","borderBottom","palette","backgroundClip","backgroundColor","action","hover","menuItemClasses","alpha","primary","main","selectedOpacity","focusOpacity","hoverOpacity","focus","opacity","disabledOpacity","marginTop","spacing","marginBottom","marginLeft","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","fontSize","React","inProps","ref","useThemeProps","autoFocus","component","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","classes","disabled","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","undefined","_jsx","value","children","clsx","focusVisible","getSwitchUtilityClass","SwitchRoot","edge","capitalize","size","width","height","overflow","padding","flexShrink","zIndex","verticalAlign","colorAdjust","marginRight","switchClasses","transform","SwitchSwitchBase","SwitchBase","switchBase","input","color","top","left","mode","common","white","grey","transition","transitions","create","duration","shortest","active","lighten","darken","SwitchTrack","track","borderRadius","black","SwitchThumb","thumb","boxShadow","shadows","className","sx","checked","icon","_jsxs","type","checkedIcon","getSwitchBaseUtilityClass","SwitchBaseRoot","SwitchBaseInput","cursor","margin","checkedProp","defaultChecked","disabledProp","disableFocusRipple","id","inputProps","inputRef","onBlur","onChange","onFocus","readOnly","required","useControlled","controlled","default","Boolean","state","setCheckedState","muiFormControl","useFormControl","hasLabelFor","centerRipple","focusRipple","event","nativeEvent","defaultPrevented","newChecked","target"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4105.a498ca05.chunk.js b/portal-ui/build/static/js/4105.a498ca05.chunk.js deleted file mode 100644 index 5f347a041..000000000 --- a/portal-ui/build/static/js/4105.a498ca05.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4105,9056,6851],{4247:function(e,t,o){o.d(t,{V:function(){return n}});var a=o(10594);function n(e){return(0,a.Z)("MuiDivider",e)}var i=(0,o(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=i},31680:function(e,t,o){o.d(t,{Z:function(){return C}});var a=o(36222),n=o(1048),i=o(32793),r=o(50390),c=o(44977),d=o(50076),s=o(36128),l=o(8208),u=o(15573),p=o(57308),h=o(86875),m=o(40839),g=o(3299),f=o(4247),b=o(2198),Z=o(23586),v=o(10594);function k(e){return(0,v.Z)("MuiMenuItem",e)}var w=(0,o(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),x=o(62559),y=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],S=(0,l.ZP)(h.Z,{shouldForwardProp:function(e){return(0,l.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var o=e.ownerState;return[t.root,o.dense&&t.dense,o.divider&&t.divider,!o.disableGutters&&t.gutters]}})((function(e){var t,o=e.theme,n=e.ownerState;return(0,i.Z)({},o.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!n.disableGutters&&{paddingLeft:16,paddingRight:16},n.divider&&{borderBottom:"1px solid ".concat(o.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:o.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,a.Z)(t,"&.".concat(w.selected),(0,a.Z)({backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity)},"&.".concat(w.focusVisible),{backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity+o.palette.action.focusOpacity)})),(0,a.Z)(t,"&.".concat(w.selected,":hover"),{backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity+o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity)}}),(0,a.Z)(t,"&.".concat(w.focusVisible),{backgroundColor:o.palette.action.focus}),(0,a.Z)(t,"&.".concat(w.disabled),{opacity:o.palette.action.disabledOpacity}),(0,a.Z)(t,"& + .".concat(f.Z.root),{marginTop:o.spacing(1),marginBottom:o.spacing(1)}),(0,a.Z)(t,"& + .".concat(f.Z.inset),{marginLeft:52}),(0,a.Z)(t,"& .".concat(Z.Z.root),{marginTop:0,marginBottom:0}),(0,a.Z)(t,"& .".concat(Z.Z.inset),{paddingLeft:36}),(0,a.Z)(t,"& .".concat(b.Z.root),{minWidth:36}),t),!n.dense&&(0,a.Z)({},o.breakpoints.up("sm"),{minHeight:"auto"}),n.dense&&(0,i.Z)({minHeight:32,paddingTop:4,paddingBottom:4},o.typography.body2,(0,a.Z)({},"& .".concat(b.Z.root," svg"),{fontSize:"1.25rem"})))})),C=r.forwardRef((function(e,t){var o=(0,u.Z)({props:e,name:"MuiMenuItem"}),a=o.autoFocus,s=void 0!==a&&a,l=o.component,h=void 0===l?"li":l,f=o.dense,b=void 0!==f&&f,Z=o.divider,v=void 0!==Z&&Z,w=o.disableGutters,C=void 0!==w&&w,R=o.focusVisibleClassName,B=o.role,F=void 0===B?"menuitem":B,I=o.tabIndex,z=(0,n.Z)(o,y),M=r.useContext(p.Z),P={dense:b||M.dense||!1,disableGutters:C},O=r.useRef(null);(0,m.Z)((function(){s&&O.current&&O.current.focus()}),[s]);var N,j=(0,i.Z)({},o,{dense:P.dense,divider:v,disableGutters:C}),V=function(e){var t=e.disabled,o=e.dense,a=e.divider,n=e.disableGutters,r=e.selected,c=e.classes,s={root:["root",o&&"dense",t&&"disabled",!n&&"gutters",a&&"divider",r&&"selected"]},l=(0,d.Z)(s,k,c);return(0,i.Z)({},c,l)}(o),q=(0,g.Z)(O,t);return o.disabled||(N=void 0!==I?I:-1),(0,x.jsx)(p.Z.Provider,{value:P,children:(0,x.jsx)(S,(0,i.Z)({ref:q,role:F,tabIndex:N,component:h,focusVisibleClassName:(0,c.Z)(V.focusVisible,R)},z,{ownerState:j,classes:V}))})}))},49056:function(e,t,o){o.d(t,{Z:function(){return y}});var a=o(36222),n=o(1048),i=o(32793),r=o(50390),c=o(44977),d=o(50076),s=o(36128),l=o(91442),u=o(16756),p=o(15573),h=o(8208),m=o(10594);function g(e){return(0,m.Z)("MuiSwitch",e)}var f=(0,o(43349).Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),b=o(62559),Z=["className","color","edge","size","sx"],v=(0,h.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(e,t){var o=e.ownerState;return[t.root,o.edge&&t["edge".concat((0,l.Z)(o.edge))],t["size".concat((0,l.Z)(o.size))]]}})((function(e){var t,o=e.ownerState;return(0,i.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===o.edge&&{marginLeft:-8},"end"===o.edge&&{marginRight:-8},"small"===o.size&&(t={width:40,height:24,padding:7},(0,a.Z)(t,"& .".concat(f.thumb),{width:16,height:16}),(0,a.Z)(t,"& .".concat(f.switchBase),(0,a.Z)({padding:4},"&.".concat(f.checked),{transform:"translateX(16px)"})),t))})),k=(0,h.ZP)(u.Z,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(e,t){var o=e.ownerState;return[t.switchBase,(0,a.Z)({},"& .".concat(f.input),t.input),"default"!==o.color&&t["color".concat((0,l.Z)(o.color))]]}})((function(e){var t,o=e.theme;return t={position:"absolute",top:0,left:0,zIndex:1,color:"light"===o.palette.mode?o.palette.common.white:o.palette.grey[300],transition:o.transitions.create(["left","transform"],{duration:o.transitions.duration.shortest})},(0,a.Z)(t,"&.".concat(f.checked),{transform:"translateX(20px)"}),(0,a.Z)(t,"&.".concat(f.disabled),{color:"light"===o.palette.mode?o.palette.grey[100]:o.palette.grey[600]}),(0,a.Z)(t,"&.".concat(f.checked," + .").concat(f.track),{opacity:.5}),(0,a.Z)(t,"&.".concat(f.disabled," + .").concat(f.track),{opacity:"light"===o.palette.mode?.12:.2}),(0,a.Z)(t,"& .".concat(f.input),{left:"-100%",width:"300%"}),t}),(function(e){var t,o=e.theme,n=e.ownerState;return(0,i.Z)({"&:hover":{backgroundColor:(0,s.Fq)(o.palette.action.active,o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==n.color&&(t={},(0,a.Z)(t,"&.".concat(f.checked),(0,a.Z)({color:o.palette[n.color].main,"&:hover":{backgroundColor:(0,s.Fq)(o.palette[n.color].main,o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(f.disabled),{color:"light"===o.palette.mode?(0,s.$n)(o.palette[n.color].main,.62):(0,s._j)(o.palette[n.color].main,.55)})),(0,a.Z)(t,"&.".concat(f.checked," + .").concat(f.track),{backgroundColor:o.palette[n.color].main}),t))})),w=(0,h.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(e,t){return t.track}})((function(e){var t=e.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:"light"===t.palette.mode?t.palette.common.black:t.palette.common.white,opacity:"light"===t.palette.mode?.38:.3}})),x=(0,h.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(e,t){return t.thumb}})((function(e){return{boxShadow:e.theme.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),y=r.forwardRef((function(e,t){var o=(0,p.Z)({props:e,name:"MuiSwitch"}),a=o.className,r=o.color,s=void 0===r?"primary":r,u=o.edge,h=void 0!==u&&u,m=o.size,f=void 0===m?"medium":m,y=o.sx,S=(0,n.Z)(o,Z),C=(0,i.Z)({},o,{color:s,edge:h,size:f}),R=function(e){var t=e.classes,o=e.edge,a=e.size,n=e.color,r=e.checked,c=e.disabled,s={root:["root",o&&"edge".concat((0,l.Z)(o)),"size".concat((0,l.Z)(a))],switchBase:["switchBase","color".concat((0,l.Z)(n)),r&&"checked",c&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},u=(0,d.Z)(s,g,t);return(0,i.Z)({},t,u)}(C),B=(0,b.jsx)(x,{className:R.thumb,ownerState:C});return(0,b.jsxs)(v,{className:(0,c.Z)(R.root,a),sx:y,ownerState:C,children:[(0,b.jsx)(k,(0,i.Z)({type:"checkbox",icon:B,checkedIcon:B,ref:t,ownerState:C},S,{classes:(0,i.Z)({},R,{root:R.switchBase})})),(0,b.jsx)(w,{className:R.track,ownerState:C})]})}))},16756:function(e,t,o){o.d(t,{Z:function(){return k}});var a=o(23430),n=o(1048),i=o(32793),r=o(50390),c=o(44977),d=o(50076),s=o(91442),l=o(8208),u=o(55386),p=o(23060),h=o(86875),m=o(10594);function g(e){return(0,m.Z)("PrivateSwitchBase",e)}(0,o(43349).Z)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var f=o(62559),b=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],Z=(0,l.ZP)(h.Z)((function(e){var t=e.ownerState;return(0,i.Z)({padding:9,borderRadius:"50%"},"start"===t.edge&&{marginLeft:"small"===t.size?-3:-12},"end"===t.edge&&{marginRight:"small"===t.size?-3:-12})})),v=(0,l.ZP)("input")({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),k=r.forwardRef((function(e,t){var o=e.autoFocus,r=e.checked,l=e.checkedIcon,h=e.className,m=e.defaultChecked,k=e.disabled,w=e.disableFocusRipple,x=void 0!==w&&w,y=e.edge,S=void 0!==y&&y,C=e.icon,R=e.id,B=e.inputProps,F=e.inputRef,I=e.name,z=e.onBlur,M=e.onChange,P=e.onFocus,O=e.readOnly,N=e.required,j=e.tabIndex,V=e.type,q=e.value,G=(0,n.Z)(e,b),L=(0,u.Z)({controlled:r,default:Boolean(m),name:"SwitchBase",state:"checked"}),T=(0,a.Z)(L,2),A=T[0],D=T[1],E=(0,p.Z)(),H=k;E&&"undefined"===typeof H&&(H=E.disabled);var _="checkbox"===V||"radio"===V,W=(0,i.Z)({},e,{checked:A,disabled:H,disableFocusRipple:x,edge:S}),X=function(e){var t=e.classes,o=e.checked,a=e.disabled,n=e.edge,i={root:["root",o&&"checked",a&&"disabled",n&&"edge".concat((0,s.Z)(n))],input:["input"]};return(0,d.Z)(i,g,t)}(W);return(0,f.jsxs)(Z,(0,i.Z)({component:"span",className:(0,c.Z)(X.root,h),centerRipple:!0,focusRipple:!x,disabled:H,tabIndex:null,role:void 0,onFocus:function(e){P&&P(e),E&&E.onFocus&&E.onFocus(e)},onBlur:function(e){z&&z(e),E&&E.onBlur&&E.onBlur(e)},ownerState:W,ref:t},G,{children:[(0,f.jsx)(v,(0,i.Z)({autoFocus:o,checked:r,defaultChecked:m,className:X.input,disabled:H,id:_&&R,name:I,onChange:function(e){if(!e.nativeEvent.defaultPrevented){var t=e.target.checked;D(t),M&&M(e,t)}},readOnly:O,ref:F,required:N,ownerState:W,tabIndex:j,type:V},"checkbox"===V&&void 0===q?{}:{value:q},B)),A?l:C]}))}))}}]); -//# sourceMappingURL=4105.a498ca05.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4109.04a89c2d.chunk.js b/portal-ui/build/static/js/4109.379ba85e.chunk.js similarity index 89% rename from portal-ui/build/static/js/4109.04a89c2d.chunk.js rename to portal-ui/build/static/js/4109.379ba85e.chunk.js index 647c6a0ba..b31935339 100644 --- a/portal-ui/build/static/js/4109.04a89c2d.chunk.js +++ b/portal-ui/build/static/js/4109.379ba85e.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4109],{47664:function(e,n,t){t.r(n);var r=t(23430),c=(t(50390),t(34424)),o=t(86509),s=t(4285),a=t(23473),i=t(44149),u=t(21639),l=t(60656),f=t(11387),p=t(62559),d={setErrorSnackMessage:i.Ih},h=(0,c.$j)(null,d);n.default=(0,s.Z)((function(e){return(0,o.Z)({wrapText:{maxWidth:"200px",whiteSpace:"normal",wordWrap:"break-word"}})}))(h((function(e){var n=e.classes,t=e.closeDeleteModalAndRefresh,c=e.deleteOpen,o=e.selectedServiceAccount,s=e.setErrorSnackMessage,i=(0,u.Z)((function(){return t(!0)}),(function(e){return s(e)})),d=(0,r.Z)(i,2),h=d[0],x=d[1];if(!o)return null;return(0,p.jsx)(l.Z,{title:"Delete Service Account",confirmText:"Delete",isOpen:c,titleIcon:(0,p.jsx)(f.Nv,{}),isLoading:h,onConfirm:function(){x("DELETE","/api/v1/service-accounts/".concat(o))},onClose:function(){return t(!1)},confirmationContent:(0,p.jsxs)(a.Z,{children:["Are you sure you want to delete service account"," ",(0,p.jsx)("b",{className:n.wrapText,children:o}),"?"]})})})))}}]); -//# sourceMappingURL=4109.04a89c2d.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4109],{47664:function(e,n,t){t.r(n);var r=t(23430),c=(t(50390),t(34424)),o=t(86509),s=t(4285),a=t(23473),i=t(44149),u=t(21639),l=t(60656),f=t(98280),p=t(62559),d={setErrorSnackMessage:i.Ih},h=(0,c.$j)(null,d);n.default=(0,s.Z)((function(e){return(0,o.Z)({wrapText:{maxWidth:"200px",whiteSpace:"normal",wordWrap:"break-word"}})}))(h((function(e){var n=e.classes,t=e.closeDeleteModalAndRefresh,c=e.deleteOpen,o=e.selectedServiceAccount,s=e.setErrorSnackMessage,i=(0,u.Z)((function(){return t(!0)}),(function(e){return s(e)})),d=(0,r.Z)(i,2),h=d[0],x=d[1];if(!o)return null;return(0,p.jsx)(l.Z,{title:"Delete Service Account",confirmText:"Delete",isOpen:c,titleIcon:(0,p.jsx)(f.Nv,{}),isLoading:h,onConfirm:function(){x("DELETE","/api/v1/service-accounts/".concat(o))},onClose:function(){return t(!1)},confirmationContent:(0,p.jsxs)(a.Z,{children:["Are you sure you want to delete service account"," ",(0,p.jsx)("b",{className:n.wrapText,children:o}),"?"]})})})))}}]); +//# sourceMappingURL=4109.379ba85e.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4109.04a89c2d.chunk.js.map b/portal-ui/build/static/js/4109.379ba85e.chunk.js.map similarity index 98% rename from portal-ui/build/static/js/4109.04a89c2d.chunk.js.map rename to portal-ui/build/static/js/4109.379ba85e.chunk.js.map index d09cd7a8a..b37fd3649 100644 --- a/portal-ui/build/static/js/4109.04a89c2d.chunk.js.map +++ b/portal-ui/build/static/js/4109.379ba85e.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/4109.04a89c2d.chunk.js","mappings":"gPAwFMA,EAAqB,CACzBC,qBAAAA,EAAAA,IAGIC,GAAYC,EAAAA,EAAAA,IAAQ,KAAMH,GAEhC,WAAeI,EAAAA,EAAAA,IAlEA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXC,SAAU,CACRC,SAAU,QACVC,WAAY,SACZC,SAAU,kBA6DhB,CAAkCR,GAjDL,SAAC,GAMK,IALjCS,EAKgC,EALhCA,QACAC,EAIgC,EAJhCA,2BACAC,EAGgC,EAHhCA,WACAC,EAEgC,EAFhCA,uBACAb,EACgC,EADhCA,qBAMA,GAAyCc,EAAAA,EAAAA,IAJpB,kBAAMH,GAA2B,MACnC,SAACI,GAAD,OAA+Bf,EAAqBe,MAGvE,eAAOC,EAAP,KAAsBC,EAAtB,KAEA,IAAKJ,EACH,OAAO,KAUT,OACE,SAAC,IAAD,CACEK,MAAK,yBACLC,YAAa,SACbC,OAAQR,EACRS,WAAW,SAAC,KAAD,IACXC,UAAWN,EACXO,UAdoB,WACtBN,EACE,SADa,mCAEeJ,KAY5BW,QAvBY,kBAAMb,GAA2B,IAwB7Cc,qBACE,UAAC,IAAD,6DACkD,KAChD,cAAGC,UAAWhB,EAAQJ,SAAtB,SAAiCO,IAFnC","sources":["screens/Console/Account/DeleteServiceAccount.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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wrapText: {\n maxWidth: \"200px\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n },\n });\n\ninterface IDeleteServiceAccountProps {\n classes: any;\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedServiceAccount: string | null;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeleteServiceAccount = ({\n classes,\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedServiceAccount,\n setErrorSnackMessage,\n}: IDeleteServiceAccountProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedServiceAccount) {\n return null;\n }\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/service-accounts/${selectedServiceAccount}`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete service account{\" \"}\n {selectedServiceAccount}?\n \n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(DeleteServiceAccount));\n"],"names":["mapDispatchToProps","setErrorSnackMessage","connector","connect","withStyles","theme","createStyles","wrapText","maxWidth","whiteSpace","wordWrap","classes","closeDeleteModalAndRefresh","deleteOpen","selectedServiceAccount","useApi","err","deleteLoading","invokeDeleteApi","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","onClose","confirmationContent","className"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/4109.379ba85e.chunk.js","mappings":"gPAwFMA,EAAqB,CACzBC,qBAAAA,EAAAA,IAGIC,GAAYC,EAAAA,EAAAA,IAAQ,KAAMH,GAEhC,WAAeI,EAAAA,EAAAA,IAlEA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXC,SAAU,CACRC,SAAU,QACVC,WAAY,SACZC,SAAU,kBA6DhB,CAAkCR,GAjDL,SAAC,GAMK,IALjCS,EAKgC,EALhCA,QACAC,EAIgC,EAJhCA,2BACAC,EAGgC,EAHhCA,WACAC,EAEgC,EAFhCA,uBACAb,EACgC,EADhCA,qBAMA,GAAyCc,EAAAA,EAAAA,IAJpB,kBAAMH,GAA2B,MACnC,SAACI,GAAD,OAA+Bf,EAAqBe,MAGvE,eAAOC,EAAP,KAAsBC,EAAtB,KAEA,IAAKJ,EACH,OAAO,KAUT,OACE,SAAC,IAAD,CACEK,MAAK,yBACLC,YAAa,SACbC,OAAQR,EACRS,WAAW,SAAC,KAAD,IACXC,UAAWN,EACXO,UAdoB,WACtBN,EACE,SADa,mCAEeJ,KAY5BW,QAvBY,kBAAMb,GAA2B,IAwB7Cc,qBACE,UAAC,IAAD,6DACkD,KAChD,cAAGC,UAAWhB,EAAQJ,SAAtB,SAAiCO,IAFnC","sources":["screens/Console/Account/DeleteServiceAccount.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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wrapText: {\n maxWidth: \"200px\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n },\n });\n\ninterface IDeleteServiceAccountProps {\n classes: any;\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedServiceAccount: string | null;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeleteServiceAccount = ({\n classes,\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedServiceAccount,\n setErrorSnackMessage,\n}: IDeleteServiceAccountProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedServiceAccount) {\n return null;\n }\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/service-accounts/${selectedServiceAccount}`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete service account{\" \"}\n {selectedServiceAccount}?\n \n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(DeleteServiceAccount));\n"],"names":["mapDispatchToProps","setErrorSnackMessage","connector","connect","withStyles","theme","createStyles","wrapText","maxWidth","whiteSpace","wordWrap","classes","closeDeleteModalAndRefresh","deleteOpen","selectedServiceAccount","useApi","err","deleteLoading","invokeDeleteApi","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","onClose","confirmationContent","className"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4121.17b5e70f.chunk.js b/portal-ui/build/static/js/4121.0a36aad4.chunk.js similarity index 98% rename from portal-ui/build/static/js/4121.17b5e70f.chunk.js rename to portal-ui/build/static/js/4121.0a36aad4.chunk.js index 17ef9e941..f54f48000 100644 --- a/portal-ui/build/static/js/4121.17b5e70f.chunk.js +++ b/portal-ui/build/static/js/4121.0a36aad4.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4121,609],{21639:function(n,t,o){var i=o(23430),a=o(50390),r=o(30324);t.Z=function(n,t){var o=(0,a.useState)(!1),e=(0,i.Z)(o,2),s=e[0],c=e[1];return[s,function(o,i,a){c(!0),r.Z.invoke(o,i,a).then((function(t){c(!1),n(t)})).catch((function(n){c(!1),t(n)}))}]}},60656:function(n,t,o){var i=o(18489),a=o(50390),r=o(84402),e=o(78426),s=o(93085),c=o(7887),d=o(66946),l=o(14476),u=o(95467),g=o(21278),f=o(86509),v=o(4285),Z=o(72462),p=o(62559);t.Z=(0,v.Z)((function(n){return(0,f.Z)((0,i.Z)({},Z.Qw))}))((function(n){var t=n.isOpen,o=void 0!==t&&t,f=n.onClose,v=n.onCancel,Z=n.onConfirm,h=n.classes,m=void 0===h?{}:h,x=n.title,I=void 0===x?"":x,b=n.isLoading,j=n.confirmationContent,P=n.cancelText,y=void 0===P?"Cancel":P,S=n.confirmText,L=void 0===S?"Confirm":S,C=n.confirmButtonProps,w=void 0===C?{}:C,M=n.cancelButtonProps,N=void 0===M?{}:M,k=n.titleIcon,E=void 0===k?null:k;return(0,p.jsxs)(r.Z,{open:o,onClose:function(n,t){"backdropClick"!==t&&f()},className:m.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,p.jsxs)(e.Z,{className:m.title,children:[(0,p.jsxs)("div",{className:m.titleText,children:[E," ",I]}),(0,p.jsx)("div",{className:m.closeContainer,children:(0,p.jsx)(u.Z,{"aria-label":"close",className:m.closeButton,onClick:f,disableRipple:!0,size:"small",children:(0,p.jsx)(g.Z,{})})})]}),(0,p.jsx)(s.Z,{className:m.content,children:j}),(0,p.jsxs)(c.Z,{className:m.actions,children:[(0,p.jsx)(d.Z,(0,i.Z)((0,i.Z)({className:m.cancelButton,onClick:v||f,disabled:b,type:"button"},N),{},{variant:"outlined",color:"primary",children:y})),(0,p.jsx)(l.Z,(0,i.Z)((0,i.Z)({className:m.confirmButton,type:"button",onClick:Z,loading:b,disabled:b,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,p.jsx)(a.Fragment,{}),autoFocus:!0},w),{},{children:L}))]})]})}))},24121:function(n,t,o){o.r(t);var i=o(23430),a=(o(50390),o(34424)),r=o(23473),e=o(44149),s=o(21639),c=o(60656),d=o(11387),l=o(62559),u={setErrorSnackMessage:e.Ih},g=(0,a.$j)(null,u);t.default=g((function(n){var t=n.closeDeleteModalAndRefresh,o=n.deleteOpen,a=n.selectedPolicy,e=n.setErrorSnackMessage,u=(0,s.Z)((function(){return t(!0)}),(function(n){return e(n)})),g=(0,i.Z)(u,2),f=g[0],v=g[1];if(!a)return null;return(0,l.jsx)(c.Z,{title:"Delete Policy",confirmText:"Delete",isOpen:o,titleIcon:(0,l.jsx)(d.Nv,{}),isLoading:f,onConfirm:function(){v("DELETE","/api/v1/policy?name=".concat(a))},onClose:function(){return t(!1)},confirmationContent:(0,l.jsxs)(r.Z,{children:["Are you sure you want to delete policy ",(0,l.jsx)("br",{}),(0,l.jsx)("b",{children:a}),"?"]})})}))},14476:function(n,t,o){o.d(t,{Z:function(){return b}});var i=o(36222),a=o(46633),r=o(18207),e=o(50390),s=o(91442),c=o(4733),d=o(50076),l=o(8208),u=o(15573),g=o(66946),f=o(18201),v=o(10594);function Z(n){return(0,v.Z)("MuiLoadingButton",n)}var p=(0,o(43349).Z)("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),h=o(62559),m=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],x=(0,l.ZP)(g.Z,{shouldForwardProp:function(n){return function(n){return"ownerState"!==n&&"theme"!==n&&"sx"!==n&&"as"!==n&&"classes"!==n}(n)||"classes"===n},name:"MuiLoadingButton",slot:"Root",overridesResolver:function(n,t){return[t.root,t.startIconLoadingStart&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart),t.startIconLoadingStart),t.endIconLoadingEnd&&(0,i.Z)({},"& .".concat(p.endIconLoadingEnd),t.endIconLoadingEnd)]}})((function(n){var t=n.ownerState,o=n.theme;return(0,r.Z)((0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0}),"center"===t.loadingPosition&&(0,i.Z)({transition:o.transitions.create(["background-color","box-shadow","border-color"],{duration:o.transitions.duration.short})},"&.".concat(p.loading),{color:"transparent"}),"start"===t.loadingPosition&&t.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0,marginRight:-8}),"end"===t.loadingPosition&&t.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0,marginLeft:-8}))})),I=(0,l.ZP)("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:function(n,t){var o=n.ownerState;return[t.loadingIndicator,t["loadingIndicator".concat((0,s.Z)(o.loadingPosition))]]}})((function(n){var t=n.theme,o=n.ownerState;return(0,r.Z)({position:"absolute",visibility:"visible",display:"flex"},"start"===o.loadingPosition&&("outlined"===o.variant||"contained"===o.variant)&&{left:14},"start"===o.loadingPosition&&"text"===o.variant&&{left:6},"center"===o.loadingPosition&&{left:"50%",transform:"translate(-50%)",color:t.palette.action.disabled},"end"===o.loadingPosition&&("outlined"===o.variant||"contained"===o.variant)&&{right:14},"end"===o.loadingPosition&&"text"===o.variant&&{right:6},"start"===o.loadingPosition&&o.fullWidth&&{position:"relative",left:-10},"end"===o.loadingPosition&&o.fullWidth&&{position:"relative",right:-10})})),b=e.forwardRef((function(n,t){var o=(0,u.Z)({props:n,name:"MuiLoadingButton"}),i=o.children,l=o.disabled,g=void 0!==l&&l,v=o.id,p=o.loading,b=void 0!==p&&p,j=o.loadingIndicator,P=o.loadingPosition,y=void 0===P?"center":P,S=o.variant,L=void 0===S?"text":S,C=(0,a.Z)(o,m),w=(0,c.Z)(v),M=null!=j?j:(0,h.jsx)(f.Z,{"aria-labelledby":w,color:"inherit",size:16}),N=(0,r.Z)({},o,{disabled:g,loading:b,loadingIndicator:M,loadingPosition:y,variant:L}),k=function(n){var t=n.loading,o=n.loadingPosition,i=n.classes,a={root:["root",t&&"loading"],startIcon:[t&&"startIconLoading".concat((0,s.Z)(o))],endIcon:[t&&"endIconLoading".concat((0,s.Z)(o))],loadingIndicator:["loadingIndicator",t&&"loadingIndicator".concat((0,s.Z)(o))]},e=(0,d.Z)(a,Z,i);return(0,r.Z)({},i,e)}(N);return(0,h.jsx)(x,(0,r.Z)({disabled:g||b,id:w,ref:t},C,{variant:L,classes:k,ownerState:N,children:"end"===N.loadingPosition?(0,h.jsxs)(e.Fragment,{children:[i,b&&(0,h.jsx)(I,{className:k.loadingIndicator,ownerState:N,children:M})]}):(0,h.jsxs)(e.Fragment,{children:[b&&(0,h.jsx)(I,{className:k.loadingIndicator,ownerState:N,children:M}),i]})}))}))},7887:function(n,t,o){o.d(t,{Z:function(){return Z}});var i=o(1048),a=o(32793),r=o(50390),e=o(44977),s=o(50076),c=o(8208),d=o(15573),l=o(10594);function u(n){return(0,l.Z)("MuiDialogActions",n)}(0,o(43349).Z)("MuiDialogActions",["root","spacing"]);var g=o(62559),f=["className","disableSpacing"],v=(0,c.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(n,t){var o=n.ownerState;return[t.root,!o.disableSpacing&&t.spacing]}})((function(n){var t=n.ownerState;return(0,a.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!t.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),Z=r.forwardRef((function(n,t){var o=(0,d.Z)({props:n,name:"MuiDialogActions"}),r=o.className,c=o.disableSpacing,l=void 0!==c&&c,Z=(0,i.Z)(o,f),p=(0,a.Z)({},o,{disableSpacing:l}),h=function(n){var t=n.classes,o={root:["root",!n.disableSpacing&&"spacing"]};return(0,s.Z)(o,u,t)}(p);return(0,g.jsx)(v,(0,a.Z)({className:(0,e.Z)(h.root,r),ownerState:p,ref:t},Z))}))},23473:function(n,t,o){o.d(t,{Z:function(){return Z}});var i=o(1048),a=o(32793),r=o(50390),e=o(50076),s=o(8208),c=o(15573),d=o(35477),l=o(10594);function u(n){return(0,l.Z)("MuiDialogContentText",n)}(0,o(43349).Z)("MuiDialogContentText",["root"]);var g=o(62559),f=["children"],v=(0,s.ZP)(d.Z,{shouldForwardProp:function(n){return(0,s.FO)(n)||"classes"===n},name:"MuiDialogContentText",slot:"Root",overridesResolver:function(n,t){return t.root}})({}),Z=r.forwardRef((function(n,t){var o=(0,c.Z)({props:n,name:"MuiDialogContentText"}),r=(0,i.Z)(o,f),s=function(n){var t=n.classes,o=(0,e.Z)({root:["root"]},u,t);return(0,a.Z)({},t,o)}(r);return(0,g.jsx)(v,(0,a.Z)({component:"p",variant:"body1",color:"text.secondary",ref:t,ownerState:r},o,{classes:s}))}))},18207:function(n,t,o){function i(){return i=Object.assign||function(n){for(var t=1;t=0||(a[o]=n[o]);return a}o.d(t,{Z:function(){return i}})}}]); -//# sourceMappingURL=4121.17b5e70f.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4121,609],{21639:function(n,t,o){var i=o(23430),a=o(50390),r=o(30324);t.Z=function(n,t){var o=(0,a.useState)(!1),e=(0,i.Z)(o,2),s=e[0],c=e[1];return[s,function(o,i,a){c(!0),r.Z.invoke(o,i,a).then((function(t){c(!1),n(t)})).catch((function(n){c(!1),t(n)}))}]}},60656:function(n,t,o){var i=o(18489),a=o(50390),r=o(84402),e=o(78426),s=o(93085),c=o(7887),d=o(66946),l=o(14476),u=o(95467),g=o(21278),f=o(86509),v=o(4285),Z=o(72462),p=o(62559);t.Z=(0,v.Z)((function(n){return(0,f.Z)((0,i.Z)({},Z.Qw))}))((function(n){var t=n.isOpen,o=void 0!==t&&t,f=n.onClose,v=n.onCancel,Z=n.onConfirm,h=n.classes,m=void 0===h?{}:h,x=n.title,I=void 0===x?"":x,b=n.isLoading,j=n.confirmationContent,P=n.cancelText,y=void 0===P?"Cancel":P,S=n.confirmText,L=void 0===S?"Confirm":S,C=n.confirmButtonProps,w=void 0===C?{}:C,M=n.cancelButtonProps,N=void 0===M?{}:M,k=n.titleIcon,E=void 0===k?null:k;return(0,p.jsxs)(r.Z,{open:o,onClose:function(n,t){"backdropClick"!==t&&f()},className:m.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,p.jsxs)(e.Z,{className:m.title,children:[(0,p.jsxs)("div",{className:m.titleText,children:[E," ",I]}),(0,p.jsx)("div",{className:m.closeContainer,children:(0,p.jsx)(u.Z,{"aria-label":"close",className:m.closeButton,onClick:f,disableRipple:!0,size:"small",children:(0,p.jsx)(g.Z,{})})})]}),(0,p.jsx)(s.Z,{className:m.content,children:j}),(0,p.jsxs)(c.Z,{className:m.actions,children:[(0,p.jsx)(d.Z,(0,i.Z)((0,i.Z)({className:m.cancelButton,onClick:v||f,disabled:b,type:"button"},N),{},{variant:"outlined",color:"primary",children:y})),(0,p.jsx)(l.Z,(0,i.Z)((0,i.Z)({className:m.confirmButton,type:"button",onClick:Z,loading:b,disabled:b,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,p.jsx)(a.Fragment,{}),autoFocus:!0},w),{},{children:L}))]})]})}))},24121:function(n,t,o){o.r(t);var i=o(23430),a=(o(50390),o(34424)),r=o(23473),e=o(44149),s=o(21639),c=o(60656),d=o(98280),l=o(62559),u={setErrorSnackMessage:e.Ih},g=(0,a.$j)(null,u);t.default=g((function(n){var t=n.closeDeleteModalAndRefresh,o=n.deleteOpen,a=n.selectedPolicy,e=n.setErrorSnackMessage,u=(0,s.Z)((function(){return t(!0)}),(function(n){return e(n)})),g=(0,i.Z)(u,2),f=g[0],v=g[1];if(!a)return null;return(0,l.jsx)(c.Z,{title:"Delete Policy",confirmText:"Delete",isOpen:o,titleIcon:(0,l.jsx)(d.Nv,{}),isLoading:f,onConfirm:function(){v("DELETE","/api/v1/policy?name=".concat(a))},onClose:function(){return t(!1)},confirmationContent:(0,l.jsxs)(r.Z,{children:["Are you sure you want to delete policy ",(0,l.jsx)("br",{}),(0,l.jsx)("b",{children:a}),"?"]})})}))},14476:function(n,t,o){o.d(t,{Z:function(){return b}});var i=o(36222),a=o(46633),r=o(18207),e=o(50390),s=o(91442),c=o(4733),d=o(50076),l=o(8208),u=o(15573),g=o(66946),f=o(18201),v=o(10594);function Z(n){return(0,v.Z)("MuiLoadingButton",n)}var p=(0,o(43349).Z)("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),h=o(62559),m=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],x=(0,l.ZP)(g.Z,{shouldForwardProp:function(n){return function(n){return"ownerState"!==n&&"theme"!==n&&"sx"!==n&&"as"!==n&&"classes"!==n}(n)||"classes"===n},name:"MuiLoadingButton",slot:"Root",overridesResolver:function(n,t){return[t.root,t.startIconLoadingStart&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart),t.startIconLoadingStart),t.endIconLoadingEnd&&(0,i.Z)({},"& .".concat(p.endIconLoadingEnd),t.endIconLoadingEnd)]}})((function(n){var t=n.ownerState,o=n.theme;return(0,r.Z)((0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0}),"center"===t.loadingPosition&&(0,i.Z)({transition:o.transitions.create(["background-color","box-shadow","border-color"],{duration:o.transitions.duration.short})},"&.".concat(p.loading),{color:"transparent"}),"start"===t.loadingPosition&&t.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0,marginRight:-8}),"end"===t.loadingPosition&&t.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0,marginLeft:-8}))})),I=(0,l.ZP)("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:function(n,t){var o=n.ownerState;return[t.loadingIndicator,t["loadingIndicator".concat((0,s.Z)(o.loadingPosition))]]}})((function(n){var t=n.theme,o=n.ownerState;return(0,r.Z)({position:"absolute",visibility:"visible",display:"flex"},"start"===o.loadingPosition&&("outlined"===o.variant||"contained"===o.variant)&&{left:14},"start"===o.loadingPosition&&"text"===o.variant&&{left:6},"center"===o.loadingPosition&&{left:"50%",transform:"translate(-50%)",color:t.palette.action.disabled},"end"===o.loadingPosition&&("outlined"===o.variant||"contained"===o.variant)&&{right:14},"end"===o.loadingPosition&&"text"===o.variant&&{right:6},"start"===o.loadingPosition&&o.fullWidth&&{position:"relative",left:-10},"end"===o.loadingPosition&&o.fullWidth&&{position:"relative",right:-10})})),b=e.forwardRef((function(n,t){var o=(0,u.Z)({props:n,name:"MuiLoadingButton"}),i=o.children,l=o.disabled,g=void 0!==l&&l,v=o.id,p=o.loading,b=void 0!==p&&p,j=o.loadingIndicator,P=o.loadingPosition,y=void 0===P?"center":P,S=o.variant,L=void 0===S?"text":S,C=(0,a.Z)(o,m),w=(0,c.Z)(v),M=null!=j?j:(0,h.jsx)(f.Z,{"aria-labelledby":w,color:"inherit",size:16}),N=(0,r.Z)({},o,{disabled:g,loading:b,loadingIndicator:M,loadingPosition:y,variant:L}),k=function(n){var t=n.loading,o=n.loadingPosition,i=n.classes,a={root:["root",t&&"loading"],startIcon:[t&&"startIconLoading".concat((0,s.Z)(o))],endIcon:[t&&"endIconLoading".concat((0,s.Z)(o))],loadingIndicator:["loadingIndicator",t&&"loadingIndicator".concat((0,s.Z)(o))]},e=(0,d.Z)(a,Z,i);return(0,r.Z)({},i,e)}(N);return(0,h.jsx)(x,(0,r.Z)({disabled:g||b,id:w,ref:t},C,{variant:L,classes:k,ownerState:N,children:"end"===N.loadingPosition?(0,h.jsxs)(e.Fragment,{children:[i,b&&(0,h.jsx)(I,{className:k.loadingIndicator,ownerState:N,children:M})]}):(0,h.jsxs)(e.Fragment,{children:[b&&(0,h.jsx)(I,{className:k.loadingIndicator,ownerState:N,children:M}),i]})}))}))},7887:function(n,t,o){o.d(t,{Z:function(){return Z}});var i=o(1048),a=o(32793),r=o(50390),e=o(44977),s=o(50076),c=o(8208),d=o(15573),l=o(10594);function u(n){return(0,l.Z)("MuiDialogActions",n)}(0,o(43349).Z)("MuiDialogActions",["root","spacing"]);var g=o(62559),f=["className","disableSpacing"],v=(0,c.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(n,t){var o=n.ownerState;return[t.root,!o.disableSpacing&&t.spacing]}})((function(n){var t=n.ownerState;return(0,a.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!t.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),Z=r.forwardRef((function(n,t){var o=(0,d.Z)({props:n,name:"MuiDialogActions"}),r=o.className,c=o.disableSpacing,l=void 0!==c&&c,Z=(0,i.Z)(o,f),p=(0,a.Z)({},o,{disableSpacing:l}),h=function(n){var t=n.classes,o={root:["root",!n.disableSpacing&&"spacing"]};return(0,s.Z)(o,u,t)}(p);return(0,g.jsx)(v,(0,a.Z)({className:(0,e.Z)(h.root,r),ownerState:p,ref:t},Z))}))},23473:function(n,t,o){o.d(t,{Z:function(){return Z}});var i=o(1048),a=o(32793),r=o(50390),e=o(50076),s=o(8208),c=o(15573),d=o(35477),l=o(10594);function u(n){return(0,l.Z)("MuiDialogContentText",n)}(0,o(43349).Z)("MuiDialogContentText",["root"]);var g=o(62559),f=["children"],v=(0,s.ZP)(d.Z,{shouldForwardProp:function(n){return(0,s.FO)(n)||"classes"===n},name:"MuiDialogContentText",slot:"Root",overridesResolver:function(n,t){return t.root}})({}),Z=r.forwardRef((function(n,t){var o=(0,c.Z)({props:n,name:"MuiDialogContentText"}),r=(0,i.Z)(o,f),s=function(n){var t=n.classes,o=(0,e.Z)({root:["root"]},u,t);return(0,a.Z)({},t,o)}(r);return(0,g.jsx)(v,(0,a.Z)({component:"p",variant:"body1",color:"text.secondary",ref:t,ownerState:r},o,{classes:s}))}))},18207:function(n,t,o){function i(){return i=Object.assign||function(n){for(var t=1;t=0||(a[o]=n[o]);return a}o.d(t,{Z:function(){return i}})}}]); +//# sourceMappingURL=4121.0a36aad4.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4121.17b5e70f.chunk.js.map b/portal-ui/build/static/js/4121.0a36aad4.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/4121.17b5e70f.chunk.js.map rename to portal-ui/build/static/js/4121.0a36aad4.chunk.js.map index d50bfcf8e..c620fee92 100644 --- a/portal-ui/build/static/js/4121.17b5e70f.chunk.js.map +++ b/portal-ui/build/static/js/4121.0a36aad4.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/4121.17b5e70f.chunk.js","mappings":"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","sources":["screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Policies/DeletePolicy.tsx","../node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","../node_modules/@mui/lab/LoadingButton/LoadingButton.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/extends.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\n\ninterface IDeletePolicyProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedPolicy: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeletePolicy = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedPolicy,\n setErrorSnackMessage,\n}: IDeletePolicyProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => 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(\"DELETE\", `/api/v1/policy?name=${selectedPolicy}`);\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\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\nexport default connector(DeletePolicy);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLoadingButtonUtilityClass(slot) {\n return generateUtilityClass('MuiLoadingButton', slot);\n}\nconst loadingButtonClasses = generateUtilityClasses('MuiLoadingButton', ['root', 'loading', 'loadingIndicator', 'loadingIndicatorCenter', 'loadingIndicatorStart', 'loadingIndicatorEnd', 'endIconLoadingEnd', 'startIconLoadingStart']);\nexport default loadingButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"disabled\", \"id\", \"loading\", \"loadingIndicator\", \"loadingPosition\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@mui/utils';\nimport { capitalize, unstable_useId as useId } from '@mui/material/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading'],\n startIcon: [loading && `startIconLoading${capitalize(loadingPosition)}`],\n endIcon: [loading && `endIconLoading${capitalize(loadingPosition)}`],\n loadingIndicator: ['loadingIndicator', loading && `loadingIndicator${capitalize(loadingPosition)}`]\n };\n const composedClasses = composeClasses(slots, getLoadingButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n}; // TODO use `import { rootShouldForwardProp } from '../styles/styled';` once move to core\n\n\nconst rootShouldForwardProp = prop => prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as' && prop !== 'classes';\n\nconst LoadingButtonRoot = styled(Button, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiLoadingButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root, styles.startIconLoadingStart && {\n [`& .${loadingButtonClasses.startIconLoadingStart}`]: styles.startIconLoadingStart\n }, styles.endIconLoadingEnd && {\n [`& .${loadingButtonClasses.endIconLoadingEnd}`]: styles.endIconLoadingEnd\n }];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n}, ownerState.loadingPosition === 'center' && {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${loadingButtonClasses.loading}`]: {\n color: 'transparent'\n }\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginRight: -8\n }\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginLeft: -8\n }\n}));\nconst LoadingButtonLoadingIndicator = styled('div', {\n name: 'MuiLoadingButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.loadingIndicator, styles[`loadingIndicator${capitalize(ownerState.loadingPosition)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'absolute',\n visibility: 'visible',\n display: 'flex'\n}, ownerState.loadingPosition === 'start' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n left: 14\n}, ownerState.loadingPosition === 'start' && ownerState.variant === 'text' && {\n left: 6\n}, ownerState.loadingPosition === 'center' && {\n left: '50%',\n transform: 'translate(-50%)',\n color: theme.palette.action.disabled\n}, ownerState.loadingPosition === 'end' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n right: 14\n}, ownerState.loadingPosition === 'end' && ownerState.variant === 'text' && {\n right: 6\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n position: 'relative',\n left: -10\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n position: 'relative',\n right: -10\n}));\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLoadingButton'\n });\n\n const {\n children,\n disabled = false,\n id: idProp,\n loading = false,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp != null ? loadingIndicatorProp : /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n\n const ownerState = _extends({}, props, {\n disabled,\n loading,\n loadingIndicator,\n loadingPosition,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LoadingButtonRoot, _extends({\n disabled: disabled || loading,\n id: id,\n ref: ref\n }, other, {\n variant: variant,\n classes: classes,\n ownerState: ownerState,\n children: ownerState.loadingPosition === 'end' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children, loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n }), children]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LoadingButton.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * @ignore\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the loading indicator is shown.\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default we render a `CircularProgress` that is labelled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: chainPropTypes(PropTypes.oneOf(['start', 'end', 'center']), props => {\n if (props.loadingPosition === 'start' && !props.startIcon) {\n return new Error(`MUI: The loadingPosition=\"start\" should be used in combination with startIcon.`);\n }\n\n if (props.loadingPosition === 'end' && !props.endIcon) {\n return new Error(`MUI: The loadingPosition=\"end\" should be used in combination with endIcon.`);\n }\n\n return null;\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes.oneOf(['contained', 'outlined', 'text'])\n} : void 0;\nexport default LoadingButton;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n\n const ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * 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 DialogContentText;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","withStyles","theme","createStyles","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","classes","title","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","className","root","sx","padding","titleText","closeContainer","closeButton","onClick","disableRipple","size","content","actions","cancelButton","disabled","type","variant","color","confirmButton","loading","loadingPosition","startIcon","autoFocus","mapDispatchToProps","setErrorSnackMessage","connector","connect","closeDeleteModalAndRefresh","deleteOpen","selectedPolicy","useApi","deleteLoading","invokeDeleteApi","getLoadingButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","LoadingButtonRoot","styled","Button","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","startIconLoadingStart","loadingButtonClasses","endIconLoadingEnd","ownerState","_extends","transition","transitions","create","duration","short","opacity","fullWidth","marginRight","marginLeft","LoadingButtonLoadingIndicator","loadingIndicator","capitalize","position","visibility","display","left","transform","palette","action","right","React","inProps","ref","useThemeProps","children","idProp","id","loadingIndicatorProp","other","_objectWithoutPropertiesLoose","useId","_jsx","CircularProgress","slots","endIcon","composedClasses","composeClasses","useUtilityClasses","_jsxs","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","spacing","alignItems","justifyContent","flex","clsx","getDialogContentTextUtilityClass","DialogContentTextRoot","Typography","component","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","excluded","sourceKeys","keys","indexOf"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/4121.0a36aad4.chunk.js","mappings":"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","sources":["screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Policies/DeletePolicy.tsx","../node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","../node_modules/@mui/lab/LoadingButton/LoadingButton.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/extends.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\n\ninterface IDeletePolicyProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedPolicy: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeletePolicy = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedPolicy,\n setErrorSnackMessage,\n}: IDeletePolicyProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => 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(\"DELETE\", `/api/v1/policy?name=${selectedPolicy}`);\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\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\nexport default connector(DeletePolicy);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLoadingButtonUtilityClass(slot) {\n return generateUtilityClass('MuiLoadingButton', slot);\n}\nconst loadingButtonClasses = generateUtilityClasses('MuiLoadingButton', ['root', 'loading', 'loadingIndicator', 'loadingIndicatorCenter', 'loadingIndicatorStart', 'loadingIndicatorEnd', 'endIconLoadingEnd', 'startIconLoadingStart']);\nexport default loadingButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"disabled\", \"id\", \"loading\", \"loadingIndicator\", \"loadingPosition\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@mui/utils';\nimport { capitalize, unstable_useId as useId } from '@mui/material/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading'],\n startIcon: [loading && `startIconLoading${capitalize(loadingPosition)}`],\n endIcon: [loading && `endIconLoading${capitalize(loadingPosition)}`],\n loadingIndicator: ['loadingIndicator', loading && `loadingIndicator${capitalize(loadingPosition)}`]\n };\n const composedClasses = composeClasses(slots, getLoadingButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n}; // TODO use `import { rootShouldForwardProp } from '../styles/styled';` once move to core\n\n\nconst rootShouldForwardProp = prop => prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as' && prop !== 'classes';\n\nconst LoadingButtonRoot = styled(Button, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiLoadingButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root, styles.startIconLoadingStart && {\n [`& .${loadingButtonClasses.startIconLoadingStart}`]: styles.startIconLoadingStart\n }, styles.endIconLoadingEnd && {\n [`& .${loadingButtonClasses.endIconLoadingEnd}`]: styles.endIconLoadingEnd\n }];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n}, ownerState.loadingPosition === 'center' && {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${loadingButtonClasses.loading}`]: {\n color: 'transparent'\n }\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginRight: -8\n }\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginLeft: -8\n }\n}));\nconst LoadingButtonLoadingIndicator = styled('div', {\n name: 'MuiLoadingButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.loadingIndicator, styles[`loadingIndicator${capitalize(ownerState.loadingPosition)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'absolute',\n visibility: 'visible',\n display: 'flex'\n}, ownerState.loadingPosition === 'start' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n left: 14\n}, ownerState.loadingPosition === 'start' && ownerState.variant === 'text' && {\n left: 6\n}, ownerState.loadingPosition === 'center' && {\n left: '50%',\n transform: 'translate(-50%)',\n color: theme.palette.action.disabled\n}, ownerState.loadingPosition === 'end' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n right: 14\n}, ownerState.loadingPosition === 'end' && ownerState.variant === 'text' && {\n right: 6\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n position: 'relative',\n left: -10\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n position: 'relative',\n right: -10\n}));\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLoadingButton'\n });\n\n const {\n children,\n disabled = false,\n id: idProp,\n loading = false,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp != null ? loadingIndicatorProp : /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n\n const ownerState = _extends({}, props, {\n disabled,\n loading,\n loadingIndicator,\n loadingPosition,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LoadingButtonRoot, _extends({\n disabled: disabled || loading,\n id: id,\n ref: ref\n }, other, {\n variant: variant,\n classes: classes,\n ownerState: ownerState,\n children: ownerState.loadingPosition === 'end' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children, loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n }), children]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LoadingButton.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * @ignore\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the loading indicator is shown.\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default we render a `CircularProgress` that is labelled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: chainPropTypes(PropTypes.oneOf(['start', 'end', 'center']), props => {\n if (props.loadingPosition === 'start' && !props.startIcon) {\n return new Error(`MUI: The loadingPosition=\"start\" should be used in combination with startIcon.`);\n }\n\n if (props.loadingPosition === 'end' && !props.endIcon) {\n return new Error(`MUI: The loadingPosition=\"end\" should be used in combination with endIcon.`);\n }\n\n return null;\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes.oneOf(['contained', 'outlined', 'text'])\n} : void 0;\nexport default LoadingButton;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n\n const ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * 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 DialogContentText;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","withStyles","theme","createStyles","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","classes","title","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","className","root","sx","padding","titleText","closeContainer","closeButton","onClick","disableRipple","size","content","actions","cancelButton","disabled","type","variant","color","confirmButton","loading","loadingPosition","startIcon","autoFocus","mapDispatchToProps","setErrorSnackMessage","connector","connect","closeDeleteModalAndRefresh","deleteOpen","selectedPolicy","useApi","deleteLoading","invokeDeleteApi","getLoadingButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","LoadingButtonRoot","styled","Button","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","startIconLoadingStart","loadingButtonClasses","endIconLoadingEnd","ownerState","_extends","transition","transitions","create","duration","short","opacity","fullWidth","marginRight","marginLeft","LoadingButtonLoadingIndicator","loadingIndicator","capitalize","position","visibility","display","left","transform","palette","action","right","React","inProps","ref","useThemeProps","children","idProp","id","loadingIndicatorProp","other","_objectWithoutPropertiesLoose","useId","_jsx","CircularProgress","slots","endIcon","composedClasses","composeClasses","useUtilityClasses","_jsxs","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","spacing","alignItems","justifyContent","flex","clsx","getDialogContentTextUtilityClass","DialogContentTextRoot","Typography","component","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","excluded","sourceKeys","keys","indexOf"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4177.bfe448c8.chunk.js b/portal-ui/build/static/js/4177.ff48eff7.chunk.js similarity index 98% rename from portal-ui/build/static/js/4177.bfe448c8.chunk.js rename to portal-ui/build/static/js/4177.ff48eff7.chunk.js index 0aad7b10a..c180fc3a7 100644 --- a/portal-ui/build/static/js/4177.bfe448c8.chunk.js +++ b/portal-ui/build/static/js/4177.ff48eff7.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4177],{44177:function(e,t,n){n.r(t);var a=n(23430),o=n(18489),i=n(50390),r=n(34424),s=n(25594),l=n(66946),c=n(81378),d=n(86509),u=n(4285),p=n(44149),m=n(72462),f=n(30324),h=n(76352),x=n(66964),v=n(67754),g=n(11387),Z=n(62559),b=(0,r.$j)(null,{setModalErrorSnackMessage:p.zb});t.default=(0,u.Z)((function(e){return(0,d.Z)((0,o.Z)((0,o.Z)({},m.ID),m.DF))}))(b((function(e){var t=e.classes,n=e.open,o=e.encryptionCfg,r=e.selectedBucket,d=e.closeModalAndRefresh,u=e.setModalErrorSnackMessage,p=(0,i.useState)(!1),m=(0,a.Z)(p,2),b=m[0],j=m[1],C=(0,i.useState)(""),y=(0,a.Z)(C,2),k=y[0],S=y[1],M=(0,i.useState)("disabled"),N=(0,a.Z)(M,2),w=N[0],I=N[1];(0,i.useEffect)((function(){o&&("AES256"===o.algorithm?I("sse-s3"):(I("sse-kms"),S(o.kmsMasterKeyID)))}),[o]);return(0,Z.jsx)(h.Z,{modalOpen:n,onClose:function(){d()},title:"Enable Bucket Encryption",titleIcon:(0,Z.jsx)(g.Xn,{}),children:(0,Z.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),b||("disabled"===w?f.Z.invoke("POST","/api/v1/buckets/".concat(r,"/encryption/disable")).then((function(){j(!1),d()})).catch((function(e){j(!1),u(e)})):f.Z.invoke("POST","/api/v1/buckets/".concat(r,"/encryption/enable"),{encType:w,kmsKeyID:k}).then((function(){j(!1),d()})).catch((function(e){j(!1),u(e)})))},children:(0,Z.jsxs)(s.ZP,{container:!0,children:[(0,Z.jsxs)(s.ZP,{item:!0,xs:12,className:t.modalFormScrollable,children:[(0,Z.jsx)(s.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,Z.jsx)(v.Z,{onChange:function(e){I(e.target.value)},id:"select-encryption-type",name:"select-encryption-type",label:"Encryption Type",value:w,options:[{label:"Disabled",value:"disabled"},{label:"SSE-S3",value:"sse-s3"},{label:"SSE-KMS",value:"sse-kms"}]})}),"sse-kms"===w&&(0,Z.jsx)(s.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,Z.jsx)(x.Z,{id:"kms-key-id",name:"kms-key-id",label:"KMS Key ID",value:k,onChange:function(e){S(e.target.value)}})})]}),(0,Z.jsxs)(s.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,Z.jsx)(l.Z,{type:"submit",variant:"outlined",color:"primary",onClick:function(){d()},disabled:b,children:"Cancel"}),(0,Z.jsx)(l.Z,{type:"submit",variant:"contained",color:"primary",disabled:b,children:"Save"})]}),b&&(0,Z.jsx)(s.ZP,{item:!0,xs:12,children:(0,Z.jsx)(c.Z,{})})]})})})})))},66964:function(e,t,n){var a=n(18489),o=n(50390),i=n(12066),r=n(25594),s=n(14602),l=n(94187),c=n(95467),d=n(86509),u=n(62449),p=n(4285),m=n(72462),f=n(97538),h=n(44977),x=n(62559),v=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)({},m.gM))}));function g(e){var t=v();return(0,x.jsx)(i.Z,(0,a.Z)({InputProps:{classes:t}},e))}t.Z=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,a.Z)((0,a.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,i=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,v=e.autoComplete,Z=void 0===v?"off":v,b=e.disabled,j=void 0!==b&&b,C=e.multiline,y=void 0!==C&&C,k=e.tooltip,S=void 0===k?"":k,M=e.index,N=void 0===M?0:M,w=e.error,I=void 0===w?"":w,E=e.required,L=void 0!==E&&E,B=e.placeholder,F=void 0===B?"":B,D=e.min,P=e.max,O=e.overlayIcon,R=void 0===O?null:O,T=e.overlayObject,W=void 0===T?null:T,z=e.extraInputProps,V=void 0===z?{}:z,H=e.overlayAction,A=e.noLabelMinWidth,G=void 0!==A&&A,K=e.pattern,q=void 0===K?"":K,Y=e.autoFocus,$=void 0!==Y&&Y,X=e.classes,_=e.className,Q=void 0===_?"":_,J=(0,a.Z)({"data-index":N},V);return"number"===m&&D&&(J.min=D),"number"===m&&P&&(J.max=P),""!==q&&(J.pattern=q),(0,x.jsx)(o.Fragment,{children:(0,x.jsxs)(r.ZP,{container:!0,className:(0,h.Z)(""!==Q?Q:"",""!==I?X.errorInField:X.inputBoxContainer),children:[""!==t&&(0,x.jsxs)(s.Z,{htmlFor:d,className:G?X.noMinWidthLabel:X.inputLabel,children:[(0,x.jsxs)("span",{children:[t,L?"*":""]}),""!==S&&(0,x.jsx)("div",{className:X.tooltipContainer,children:(0,x.jsx)(l.Z,{title:S,placement:"top-start",children:(0,x.jsx)("div",{className:X.tooltip,children:(0,x.jsx)(f.Z,{})})})})]}),(0,x.jsxs)("div",{className:X.textBoxContainer,children:[(0,x.jsx)(g,{id:d,name:u,fullWidth:!0,value:i,autoFocus:$,disabled:j,onChange:n,type:m,multiline:y,autoComplete:Z,inputProps:J,error:""!==I,helperText:I,placeholder:F,className:X.inputRebase}),R&&(0,x.jsx)("div",{className:"".concat(X.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,x.jsx)(c.Z,{onClick:H?function(){H()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:R})}),W&&(0,x.jsx)("div",{className:"".concat(X.overlayAction," ").concat(""!==t?"withLabel":""),children:W})]})]})})}))},67754:function(e,t,n){var a=n(18489),o=n(50390),i=n(25594),r=n(46413),s=n(14602),l=n(94187),c=n(47554),d=n(43965),u=n(31680),p=n(86509),m=n(4285),f=n(72462),h=n(97538),x=n(62559),v=(0,m.Z)((function(e){return(0,p.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(r.ZP);t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},f.YI),f.Hr),{},{inputLabel:(0,a.Z)((0,a.Z)({},f.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var t=e.classes,n=e.id,a=e.name,r=e.onChange,p=e.options,m=e.label,f=e.tooltip,g=void 0===f?"":f,Z=e.value,b=e.disabled,j=void 0!==b&&b;return(0,x.jsx)(o.Fragment,{children:(0,x.jsxs)(i.ZP,{item:!0,xs:12,className:t.fieldContainer,children:[""!==m&&(0,x.jsxs)(s.Z,{htmlFor:n,className:t.inputLabel,children:[(0,x.jsx)("span",{children:m}),""!==g&&(0,x.jsx)("div",{className:t.tooltipContainer,children:(0,x.jsx)(l.Z,{title:g,placement:"top-start",children:(0,x.jsx)("div",{className:t.tooltip,children:(0,x.jsx)(h.Z,{})})})})]}),(0,x.jsx)(c.Z,{fullWidth:!0,children:(0,x.jsx)(d.Z,{id:n,name:a,value:Z,onChange:r,input:(0,x.jsx)(v,{}),disabled:j,children:p.map((function(e){return(0,x.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(a,"-").concat(e.label))}))})})]})})}))},76352:function(e,t,n){n.d(t,{Z:function(){return N}});var a,o=n(23430),i=n(18489),r=n(50390),s=n(34424),l=n(95467),c=n(97771),d=n(84402),u=n(78426),p=n(93085),m=n(86509),f=n(4285),h=n(72462),x=n(44149),v=n(38342),g=n.n(v),Z=n(92125),b=n(19538),j=n(21278),C=n(62559),y=function(){clearInterval(a)},k={displayErrorMessage:x.zb},S=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),k)((0,f.Z)((function(e){return(0,m.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var t=e.classes,n=e.modalSnackMessage,i=e.displayErrorMessage,s=e.customStyle,l=(0,r.useState)(!1),c=(0,o.Z)(l,2),d=c[0],u=c[1],p=(0,r.useState)(!1),m=(0,o.Z)(p,2),f=m[0],h=m[1],x=(0,r.useCallback)((function(){h(!1)}),[]);(0,r.useEffect)((function(){f||(i({detailedError:"",errorMessage:""}),u(!1))}),[i,f]),(0,r.useEffect)((function(){""!==n.message&&"error"===n.type&&h(!0)}),[x,n.message,n.type]);var v=g()(n,"message",""),k=g()(n,"detailedErrorMsg","");return"error"!==n.type||""===v?null:(0,C.jsx)(r.Fragment,{children:(0,C.jsxs)("div",{className:"".concat(t.modalErrorContainer," ").concat(f?t.modalErrorShow:""),style:s,onMouseOver:y,onMouseLeave:function(){a=setInterval(x,1e4)},children:[(0,C.jsx)("button",{className:t.closeButton,onClick:x,children:(0,C.jsx)(j.Z,{})}),(0,C.jsxs)("div",{className:t.errorTitle,children:[(0,C.jsx)("span",{className:t.messageIcon,children:(0,C.jsx)(b.Z,{})}),(0,C.jsx)("span",{className:t.errorLabel,children:v})]}),""!==k&&(0,C.jsxs)(r.Fragment,{children:[(0,C.jsx)("div",{className:t.detailsContainerLink,children:(0,C.jsxs)("button",{className:t.detailsButton,onClick:function(){u(!d)},children:["Details",(0,C.jsx)(Z.Z,{className:"".concat(t.arrowElement," ").concat(d?t.arrowOpen:"")})]})}),(0,C.jsx)("div",{className:"".concat(t.extraDetailsContainer," ").concat(d?t.extraDetailsOpen:""),children:k})]})]})})}))),M=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:x.MK}),N=(0,f.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)({},h.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))(M((function(e){var t=e.onClose,n=e.modalOpen,a=e.title,s=e.children,m=e.classes,f=e.wideLimit,h=void 0===f||f,x=e.modalSnackMessage,v=e.noContentPadding,g=e.setModalSnackMessage,Z=e.titleIcon,b=void 0===Z?null:Z,y=(0,r.useState)(!1),k=(0,o.Z)(y,2),M=k[0],N=k[1];(0,r.useEffect)((function(){g("")}),[g]),(0,r.useEffect)((function(){if(x){if(""===x.message)return void N(!1);"error"!==x.type&&N(!0)}}),[x]);var w=h?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},I="";return x&&(I=x.detailedErrorMsg,(""===x.detailedErrorMsg||x.detailedErrorMsg.length<5)&&(I=x.message)),(0,C.jsxs)(d.Z,(0,i.Z)((0,i.Z)({open:n,classes:m},w),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:m.root,children:[(0,C.jsxs)(u.Z,{className:m.title,children:[(0,C.jsxs)("div",{className:m.titleText,children:[b," ",a]}),(0,C.jsx)("div",{className:m.closeContainer,children:(0,C.jsx)(l.Z,{"aria-label":"close",className:m.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,C.jsx)(j.Z,{})})})]}),(0,C.jsx)(S,{}),(0,C.jsx)(c.Z,{open:M,className:m.snackBarModal,onClose:function(){N(!1),g("")},message:I,ContentProps:{className:"".concat(m.snackBar," ").concat(x&&"error"===x.type?m.errorSnackBar:"")},autoHideDuration:x&&"error"===x.type?1e4:5e3}),(0,C.jsx)(p.Z,{className:v?"":m.content,children:s})]}))})))},4247:function(e,t,n){n.d(t,{V:function(){return o}});var a=n(10594);function o(e){return(0,a.Z)("MuiDivider",e)}var i=(0,n(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=i},31680:function(e,t,n){n.d(t,{Z:function(){return S}});var a=n(36222),o=n(1048),i=n(32793),r=n(50390),s=n(44977),l=n(50076),c=n(36128),d=n(8208),u=n(15573),p=n(57308),m=n(86875),f=n(40839),h=n(3299),x=n(4247),v=n(2198),g=n(23586),Z=n(10594);function b(e){return(0,Z.Z)("MuiMenuItem",e)}var j=(0,n(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),C=n(62559),y=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],k=(0,d.ZP)(m.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,o=e.ownerState;return(0,i.Z)({},n.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!o.disableGutters&&{paddingLeft:16,paddingRight:16},o.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,a.Z)(t,"&.".concat(j.selected),(0,a.Z)({backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(j.focusVisible),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,a.Z)(t,"&.".concat(j.selected,":hover"),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,a.Z)(t,"&.".concat(j.focusVisible),{backgroundColor:n.palette.action.focus}),(0,a.Z)(t,"&.".concat(j.disabled),{opacity:n.palette.action.disabledOpacity}),(0,a.Z)(t,"& + .".concat(x.Z.root),{marginTop:n.spacing(1),marginBottom:n.spacing(1)}),(0,a.Z)(t,"& + .".concat(x.Z.inset),{marginLeft:52}),(0,a.Z)(t,"& .".concat(g.Z.root),{marginTop:0,marginBottom:0}),(0,a.Z)(t,"& .".concat(g.Z.inset),{paddingLeft:36}),(0,a.Z)(t,"& .".concat(v.Z.root),{minWidth:36}),t),!o.dense&&(0,a.Z)({},n.breakpoints.up("sm"),{minHeight:"auto"}),o.dense&&(0,i.Z)({minHeight:32,paddingTop:4,paddingBottom:4},n.typography.body2,(0,a.Z)({},"& .".concat(v.Z.root," svg"),{fontSize:"1.25rem"})))})),S=r.forwardRef((function(e,t){var n=(0,u.Z)({props:e,name:"MuiMenuItem"}),a=n.autoFocus,c=void 0!==a&&a,d=n.component,m=void 0===d?"li":d,x=n.dense,v=void 0!==x&&x,g=n.divider,Z=void 0!==g&&g,j=n.disableGutters,S=void 0!==j&&j,M=n.focusVisibleClassName,N=n.role,w=void 0===N?"menuitem":N,I=n.tabIndex,E=(0,o.Z)(n,y),L=r.useContext(p.Z),B={dense:v||L.dense||!1,disableGutters:S},F=r.useRef(null);(0,f.Z)((function(){c&&F.current&&F.current.focus()}),[c]);var D,P=(0,i.Z)({},n,{dense:B.dense,divider:Z,disableGutters:S}),O=function(e){var t=e.disabled,n=e.dense,a=e.divider,o=e.disableGutters,r=e.selected,s=e.classes,c={root:["root",n&&"dense",t&&"disabled",!o&&"gutters",a&&"divider",r&&"selected"]},d=(0,l.Z)(c,b,s);return(0,i.Z)({},s,d)}(n),R=(0,h.Z)(F,t);return n.disabled||(D=void 0!==I?I:-1),(0,C.jsx)(p.Z.Provider,{value:B,children:(0,C.jsx)(k,(0,i.Z)({ref:R,role:w,tabIndex:D,component:m,focusVisibleClassName:(0,s.Z)(O.focusVisible,M)},E,{ownerState:P,classes:O}))})}))}}]); -//# sourceMappingURL=4177.bfe448c8.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4177],{44177:function(e,t,n){n.r(t);var a=n(23430),o=n(18489),i=n(50390),r=n(34424),s=n(25594),l=n(66946),c=n(81378),d=n(86509),u=n(4285),p=n(44149),m=n(72462),f=n(30324),h=n(76352),x=n(66964),v=n(67754),g=n(98280),Z=n(62559),b=(0,r.$j)(null,{setModalErrorSnackMessage:p.zb});t.default=(0,u.Z)((function(e){return(0,d.Z)((0,o.Z)((0,o.Z)({},m.ID),m.DF))}))(b((function(e){var t=e.classes,n=e.open,o=e.encryptionCfg,r=e.selectedBucket,d=e.closeModalAndRefresh,u=e.setModalErrorSnackMessage,p=(0,i.useState)(!1),m=(0,a.Z)(p,2),b=m[0],j=m[1],C=(0,i.useState)(""),y=(0,a.Z)(C,2),k=y[0],S=y[1],M=(0,i.useState)("disabled"),N=(0,a.Z)(M,2),w=N[0],I=N[1];(0,i.useEffect)((function(){o&&("AES256"===o.algorithm?I("sse-s3"):(I("sse-kms"),S(o.kmsMasterKeyID)))}),[o]);return(0,Z.jsx)(h.Z,{modalOpen:n,onClose:function(){d()},title:"Enable Bucket Encryption",titleIcon:(0,Z.jsx)(g.Xn,{}),children:(0,Z.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),b||("disabled"===w?f.Z.invoke("POST","/api/v1/buckets/".concat(r,"/encryption/disable")).then((function(){j(!1),d()})).catch((function(e){j(!1),u(e)})):f.Z.invoke("POST","/api/v1/buckets/".concat(r,"/encryption/enable"),{encType:w,kmsKeyID:k}).then((function(){j(!1),d()})).catch((function(e){j(!1),u(e)})))},children:(0,Z.jsxs)(s.ZP,{container:!0,children:[(0,Z.jsxs)(s.ZP,{item:!0,xs:12,className:t.modalFormScrollable,children:[(0,Z.jsx)(s.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,Z.jsx)(v.Z,{onChange:function(e){I(e.target.value)},id:"select-encryption-type",name:"select-encryption-type",label:"Encryption Type",value:w,options:[{label:"Disabled",value:"disabled"},{label:"SSE-S3",value:"sse-s3"},{label:"SSE-KMS",value:"sse-kms"}]})}),"sse-kms"===w&&(0,Z.jsx)(s.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,Z.jsx)(x.Z,{id:"kms-key-id",name:"kms-key-id",label:"KMS Key ID",value:k,onChange:function(e){S(e.target.value)}})})]}),(0,Z.jsxs)(s.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,Z.jsx)(l.Z,{type:"submit",variant:"outlined",color:"primary",onClick:function(){d()},disabled:b,children:"Cancel"}),(0,Z.jsx)(l.Z,{type:"submit",variant:"contained",color:"primary",disabled:b,children:"Save"})]}),b&&(0,Z.jsx)(s.ZP,{item:!0,xs:12,children:(0,Z.jsx)(c.Z,{})})]})})})})))},66964:function(e,t,n){var a=n(18489),o=n(50390),i=n(12066),r=n(25594),s=n(36554),l=n(94187),c=n(95467),d=n(86509),u=n(62449),p=n(4285),m=n(72462),f=n(97538),h=n(44977),x=n(62559),v=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)({},m.gM))}));function g(e){var t=v();return(0,x.jsx)(i.Z,(0,a.Z)({InputProps:{classes:t}},e))}t.Z=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,a.Z)((0,a.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,i=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,v=e.autoComplete,Z=void 0===v?"off":v,b=e.disabled,j=void 0!==b&&b,C=e.multiline,y=void 0!==C&&C,k=e.tooltip,S=void 0===k?"":k,M=e.index,N=void 0===M?0:M,w=e.error,I=void 0===w?"":w,E=e.required,L=void 0!==E&&E,B=e.placeholder,F=void 0===B?"":B,D=e.min,P=e.max,O=e.overlayIcon,R=void 0===O?null:O,T=e.overlayObject,W=void 0===T?null:T,z=e.extraInputProps,V=void 0===z?{}:z,H=e.overlayAction,A=e.noLabelMinWidth,G=void 0!==A&&A,K=e.pattern,q=void 0===K?"":K,Y=e.autoFocus,$=void 0!==Y&&Y,X=e.classes,_=e.className,Q=void 0===_?"":_,J=(0,a.Z)({"data-index":N},V);return"number"===m&&D&&(J.min=D),"number"===m&&P&&(J.max=P),""!==q&&(J.pattern=q),(0,x.jsx)(o.Fragment,{children:(0,x.jsxs)(r.ZP,{container:!0,className:(0,h.Z)(""!==Q?Q:"",""!==I?X.errorInField:X.inputBoxContainer),children:[""!==t&&(0,x.jsxs)(s.Z,{htmlFor:d,className:G?X.noMinWidthLabel:X.inputLabel,children:[(0,x.jsxs)("span",{children:[t,L?"*":""]}),""!==S&&(0,x.jsx)("div",{className:X.tooltipContainer,children:(0,x.jsx)(l.Z,{title:S,placement:"top-start",children:(0,x.jsx)("div",{className:X.tooltip,children:(0,x.jsx)(f.Z,{})})})})]}),(0,x.jsxs)("div",{className:X.textBoxContainer,children:[(0,x.jsx)(g,{id:d,name:u,fullWidth:!0,value:i,autoFocus:$,disabled:j,onChange:n,type:m,multiline:y,autoComplete:Z,inputProps:J,error:""!==I,helperText:I,placeholder:F,className:X.inputRebase}),R&&(0,x.jsx)("div",{className:"".concat(X.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,x.jsx)(c.Z,{onClick:H?function(){H()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:R})}),W&&(0,x.jsx)("div",{className:"".concat(X.overlayAction," ").concat(""!==t?"withLabel":""),children:W})]})]})})}))},67754:function(e,t,n){var a=n(18489),o=n(50390),i=n(25594),r=n(46413),s=n(36554),l=n(94187),c=n(47554),d=n(43965),u=n(31680),p=n(86509),m=n(4285),f=n(72462),h=n(97538),x=n(62559),v=(0,m.Z)((function(e){return(0,p.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(r.ZP);t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},f.YI),f.Hr),{},{inputLabel:(0,a.Z)((0,a.Z)({},f.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var t=e.classes,n=e.id,a=e.name,r=e.onChange,p=e.options,m=e.label,f=e.tooltip,g=void 0===f?"":f,Z=e.value,b=e.disabled,j=void 0!==b&&b;return(0,x.jsx)(o.Fragment,{children:(0,x.jsxs)(i.ZP,{item:!0,xs:12,className:t.fieldContainer,children:[""!==m&&(0,x.jsxs)(s.Z,{htmlFor:n,className:t.inputLabel,children:[(0,x.jsx)("span",{children:m}),""!==g&&(0,x.jsx)("div",{className:t.tooltipContainer,children:(0,x.jsx)(l.Z,{title:g,placement:"top-start",children:(0,x.jsx)("div",{className:t.tooltip,children:(0,x.jsx)(h.Z,{})})})})]}),(0,x.jsx)(c.Z,{fullWidth:!0,children:(0,x.jsx)(d.Z,{id:n,name:a,value:Z,onChange:r,input:(0,x.jsx)(v,{}),disabled:j,children:p.map((function(e){return(0,x.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(a,"-").concat(e.label))}))})})]})})}))},76352:function(e,t,n){n.d(t,{Z:function(){return N}});var a,o=n(23430),i=n(18489),r=n(50390),s=n(34424),l=n(95467),c=n(97771),d=n(84402),u=n(78426),p=n(93085),m=n(86509),f=n(4285),h=n(72462),x=n(44149),v=n(38342),g=n.n(v),Z=n(92125),b=n(19538),j=n(21278),C=n(62559),y=function(){clearInterval(a)},k={displayErrorMessage:x.zb},S=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),k)((0,f.Z)((function(e){return(0,m.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var t=e.classes,n=e.modalSnackMessage,i=e.displayErrorMessage,s=e.customStyle,l=(0,r.useState)(!1),c=(0,o.Z)(l,2),d=c[0],u=c[1],p=(0,r.useState)(!1),m=(0,o.Z)(p,2),f=m[0],h=m[1],x=(0,r.useCallback)((function(){h(!1)}),[]);(0,r.useEffect)((function(){f||(i({detailedError:"",errorMessage:""}),u(!1))}),[i,f]),(0,r.useEffect)((function(){""!==n.message&&"error"===n.type&&h(!0)}),[x,n.message,n.type]);var v=g()(n,"message",""),k=g()(n,"detailedErrorMsg","");return"error"!==n.type||""===v?null:(0,C.jsx)(r.Fragment,{children:(0,C.jsxs)("div",{className:"".concat(t.modalErrorContainer," ").concat(f?t.modalErrorShow:""),style:s,onMouseOver:y,onMouseLeave:function(){a=setInterval(x,1e4)},children:[(0,C.jsx)("button",{className:t.closeButton,onClick:x,children:(0,C.jsx)(j.Z,{})}),(0,C.jsxs)("div",{className:t.errorTitle,children:[(0,C.jsx)("span",{className:t.messageIcon,children:(0,C.jsx)(b.Z,{})}),(0,C.jsx)("span",{className:t.errorLabel,children:v})]}),""!==k&&(0,C.jsxs)(r.Fragment,{children:[(0,C.jsx)("div",{className:t.detailsContainerLink,children:(0,C.jsxs)("button",{className:t.detailsButton,onClick:function(){u(!d)},children:["Details",(0,C.jsx)(Z.Z,{className:"".concat(t.arrowElement," ").concat(d?t.arrowOpen:"")})]})}),(0,C.jsx)("div",{className:"".concat(t.extraDetailsContainer," ").concat(d?t.extraDetailsOpen:""),children:k})]})]})})}))),M=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:x.MK}),N=(0,f.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)({},h.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))(M((function(e){var t=e.onClose,n=e.modalOpen,a=e.title,s=e.children,m=e.classes,f=e.wideLimit,h=void 0===f||f,x=e.modalSnackMessage,v=e.noContentPadding,g=e.setModalSnackMessage,Z=e.titleIcon,b=void 0===Z?null:Z,y=(0,r.useState)(!1),k=(0,o.Z)(y,2),M=k[0],N=k[1];(0,r.useEffect)((function(){g("")}),[g]),(0,r.useEffect)((function(){if(x){if(""===x.message)return void N(!1);"error"!==x.type&&N(!0)}}),[x]);var w=h?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},I="";return x&&(I=x.detailedErrorMsg,(""===x.detailedErrorMsg||x.detailedErrorMsg.length<5)&&(I=x.message)),(0,C.jsxs)(d.Z,(0,i.Z)((0,i.Z)({open:n,classes:m},w),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:m.root,children:[(0,C.jsxs)(u.Z,{className:m.title,children:[(0,C.jsxs)("div",{className:m.titleText,children:[b," ",a]}),(0,C.jsx)("div",{className:m.closeContainer,children:(0,C.jsx)(l.Z,{"aria-label":"close",className:m.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,C.jsx)(j.Z,{})})})]}),(0,C.jsx)(S,{}),(0,C.jsx)(c.Z,{open:M,className:m.snackBarModal,onClose:function(){N(!1),g("")},message:I,ContentProps:{className:"".concat(m.snackBar," ").concat(x&&"error"===x.type?m.errorSnackBar:"")},autoHideDuration:x&&"error"===x.type?1e4:5e3}),(0,C.jsx)(p.Z,{className:v?"":m.content,children:s})]}))})))},4247:function(e,t,n){n.d(t,{V:function(){return o}});var a=n(10594);function o(e){return(0,a.Z)("MuiDivider",e)}var i=(0,n(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=i},31680:function(e,t,n){n.d(t,{Z:function(){return S}});var a=n(36222),o=n(1048),i=n(32793),r=n(50390),s=n(44977),l=n(50076),c=n(36128),d=n(8208),u=n(15573),p=n(57308),m=n(86875),f=n(40839),h=n(3299),x=n(4247),v=n(2198),g=n(23586),Z=n(10594);function b(e){return(0,Z.Z)("MuiMenuItem",e)}var j=(0,n(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),C=n(62559),y=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],k=(0,d.ZP)(m.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,o=e.ownerState;return(0,i.Z)({},n.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!o.disableGutters&&{paddingLeft:16,paddingRight:16},o.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,a.Z)(t,"&.".concat(j.selected),(0,a.Z)({backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(j.focusVisible),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,a.Z)(t,"&.".concat(j.selected,":hover"),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,a.Z)(t,"&.".concat(j.focusVisible),{backgroundColor:n.palette.action.focus}),(0,a.Z)(t,"&.".concat(j.disabled),{opacity:n.palette.action.disabledOpacity}),(0,a.Z)(t,"& + .".concat(x.Z.root),{marginTop:n.spacing(1),marginBottom:n.spacing(1)}),(0,a.Z)(t,"& + .".concat(x.Z.inset),{marginLeft:52}),(0,a.Z)(t,"& .".concat(g.Z.root),{marginTop:0,marginBottom:0}),(0,a.Z)(t,"& .".concat(g.Z.inset),{paddingLeft:36}),(0,a.Z)(t,"& .".concat(v.Z.root),{minWidth:36}),t),!o.dense&&(0,a.Z)({},n.breakpoints.up("sm"),{minHeight:"auto"}),o.dense&&(0,i.Z)({minHeight:32,paddingTop:4,paddingBottom:4},n.typography.body2,(0,a.Z)({},"& .".concat(v.Z.root," svg"),{fontSize:"1.25rem"})))})),S=r.forwardRef((function(e,t){var n=(0,u.Z)({props:e,name:"MuiMenuItem"}),a=n.autoFocus,c=void 0!==a&&a,d=n.component,m=void 0===d?"li":d,x=n.dense,v=void 0!==x&&x,g=n.divider,Z=void 0!==g&&g,j=n.disableGutters,S=void 0!==j&&j,M=n.focusVisibleClassName,N=n.role,w=void 0===N?"menuitem":N,I=n.tabIndex,E=(0,o.Z)(n,y),L=r.useContext(p.Z),B={dense:v||L.dense||!1,disableGutters:S},F=r.useRef(null);(0,f.Z)((function(){c&&F.current&&F.current.focus()}),[c]);var D,P=(0,i.Z)({},n,{dense:B.dense,divider:Z,disableGutters:S}),O=function(e){var t=e.disabled,n=e.dense,a=e.divider,o=e.disableGutters,r=e.selected,s=e.classes,c={root:["root",n&&"dense",t&&"disabled",!o&&"gutters",a&&"divider",r&&"selected"]},d=(0,l.Z)(c,b,s);return(0,i.Z)({},s,d)}(n),R=(0,h.Z)(F,t);return n.disabled||(D=void 0!==I?I:-1),(0,C.jsx)(p.Z.Provider,{value:B,children:(0,C.jsx)(k,(0,i.Z)({ref:R,role:w,tabIndex:D,component:m,focusVisibleClassName:(0,s.Z)(O.focusVisible,M)},E,{ownerState:P,classes:O}))})}))}}]); +//# sourceMappingURL=4177.ff48eff7.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4177.bfe448c8.chunk.js.map b/portal-ui/build/static/js/4177.ff48eff7.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/4177.bfe448c8.chunk.js.map rename to portal-ui/build/static/js/4177.ff48eff7.chunk.js.map index 8193656c5..fd00f8960 100644 --- a/portal-ui/build/static/js/4177.bfe448c8.chunk.js.map +++ b/portal-ui/build/static/js/4177.ff48eff7.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/4177.bfe448c8.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/EnableBucketEncryption.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.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, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button, LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { BucketEncryptionInfo } from \"../types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { BucketEncryptionIcon } from \"../../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\ninterface IEnableBucketEncryptionProps {\n classes: any;\n open: boolean;\n encryptionEnabled: boolean;\n encryptionCfg: BucketEncryptionInfo | null;\n selectedBucket: string;\n closeModalAndRefresh: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst EnableBucketEncryption = ({\n classes,\n open,\n encryptionCfg,\n selectedBucket,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: IEnableBucketEncryptionProps) => {\n const [loading, setLoading] = useState(false);\n const [kmsKeyID, setKmsKeyID] = useState(\"\");\n const [encryptionType, setEncryptionType] = useState(\"disabled\");\n\n useEffect(() => {\n if (encryptionCfg) {\n if (encryptionCfg.algorithm === \"AES256\") {\n setEncryptionType(\"sse-s3\");\n } else {\n setEncryptionType(\"sse-kms\");\n setKmsKeyID(encryptionCfg.kmsMasterKeyID);\n }\n }\n }, [encryptionCfg]);\n\n const enableBucketEncryption = (event: React.FormEvent) => {\n event.preventDefault();\n if (loading) {\n return;\n }\n if (encryptionType === \"disabled\") {\n api\n .invoke(\"POST\", `/api/v1/buckets/${selectedBucket}/encryption/disable`)\n .then(() => {\n setLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n api\n .invoke(\"POST\", `/api/v1/buckets/${selectedBucket}/encryption/enable`, {\n encType: encryptionType,\n kmsKeyID: kmsKeyID,\n })\n .then(() => {\n setLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n }\n };\n\n return (\n {\n closeModalAndRefresh();\n }}\n title=\"Enable Bucket Encryption\"\n titleIcon={}\n >\n ) => {\n enableBucketEncryption(e);\n }}\n >\n \n \n \n ) => {\n setEncryptionType(e.target.value as string);\n }}\n id=\"select-encryption-type\"\n name=\"select-encryption-type\"\n label={\"Encryption Type\"}\n value={encryptionType}\n options={[\n {\n label: \"Disabled\",\n value: \"disabled\",\n },\n {\n label: \"SSE-S3\",\n value: \"sse-s3\",\n },\n {\n label: \"SSE-KMS\",\n value: \"sse-kms\",\n },\n ]}\n />\n \n\n {encryptionType === \"sse-kms\" && (\n \n ) => {\n setKmsKeyID(e.target.value);\n }}\n />\n \n )}\n \n \n {\n closeModalAndRefresh();\n }}\n disabled={loading}\n >\n Cancel\n \n \n Save\n \n \n {loading && (\n \n \n \n )}\n \n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(EnableBucketEncryption));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;"],"names":["connector","connect","setModalErrorSnackMessage","withStyles","theme","createStyles","modalStyleUtils","formFieldStyles","classes","open","encryptionCfg","selectedBucket","closeModalAndRefresh","useState","loading","setLoading","kmsKeyID","setKmsKeyID","encryptionType","setEncryptionType","useEffect","algorithm","kmsMasterKeyID","modalOpen","onClose","title","titleIcon","noValidate","autoComplete","onSubmit","e","preventDefault","api","then","catch","err","encType","container","item","xs","className","modalFormScrollable","formFieldRow","onChange","target","value","id","name","label","options","modalButtonBar","type","variant","color","onClick","disabled","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","multiline","tooltip","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputProps","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","placement","fullWidth","helperText","inputRebase","size","disableFocusRipple","disableRipple","disableTouchRipple","SelectStyled","root","height","lineHeight","marginTop","spacing","input","fontSize","padding","border","borderRadius","display","alignItems","borderColor","backgroundColor","InputBase","fieldContainer","flexFlow","map","option","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","width","borderLeftWidth","zIndex","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","cursor","errorTitle","errorLabel","marginLeft","marginRight","messageIcon","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","detailedError","errorMessage","message","get","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","styled","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","ownerState","dense","divider","disableGutters","gutters","_extends","typography","body1","justifyContent","textDecoration","minHeight","paddingTop","boxSizing","whiteSpace","paddingRight","borderBottom","palette","backgroundClip","action","hover","menuItemClasses","alpha","primary","main","selectedOpacity","focusOpacity","hoverOpacity","focus","disabledOpacity","marginBottom","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","React","inProps","ref","useThemeProps","component","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","undefined","_jsx","focusVisible"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/4177.ff48eff7.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/EnableBucketEncryption.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.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, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button, LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { BucketEncryptionInfo } from \"../types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { BucketEncryptionIcon } from \"../../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\ninterface IEnableBucketEncryptionProps {\n classes: any;\n open: boolean;\n encryptionEnabled: boolean;\n encryptionCfg: BucketEncryptionInfo | null;\n selectedBucket: string;\n closeModalAndRefresh: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst EnableBucketEncryption = ({\n classes,\n open,\n encryptionCfg,\n selectedBucket,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: IEnableBucketEncryptionProps) => {\n const [loading, setLoading] = useState(false);\n const [kmsKeyID, setKmsKeyID] = useState(\"\");\n const [encryptionType, setEncryptionType] = useState(\"disabled\");\n\n useEffect(() => {\n if (encryptionCfg) {\n if (encryptionCfg.algorithm === \"AES256\") {\n setEncryptionType(\"sse-s3\");\n } else {\n setEncryptionType(\"sse-kms\");\n setKmsKeyID(encryptionCfg.kmsMasterKeyID);\n }\n }\n }, [encryptionCfg]);\n\n const enableBucketEncryption = (event: React.FormEvent) => {\n event.preventDefault();\n if (loading) {\n return;\n }\n if (encryptionType === \"disabled\") {\n api\n .invoke(\"POST\", `/api/v1/buckets/${selectedBucket}/encryption/disable`)\n .then(() => {\n setLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n api\n .invoke(\"POST\", `/api/v1/buckets/${selectedBucket}/encryption/enable`, {\n encType: encryptionType,\n kmsKeyID: kmsKeyID,\n })\n .then(() => {\n setLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n }\n };\n\n return (\n {\n closeModalAndRefresh();\n }}\n title=\"Enable Bucket Encryption\"\n titleIcon={}\n >\n ) => {\n enableBucketEncryption(e);\n }}\n >\n \n \n \n ) => {\n setEncryptionType(e.target.value as string);\n }}\n id=\"select-encryption-type\"\n name=\"select-encryption-type\"\n label={\"Encryption Type\"}\n value={encryptionType}\n options={[\n {\n label: \"Disabled\",\n value: \"disabled\",\n },\n {\n label: \"SSE-S3\",\n value: \"sse-s3\",\n },\n {\n label: \"SSE-KMS\",\n value: \"sse-kms\",\n },\n ]}\n />\n \n\n {encryptionType === \"sse-kms\" && (\n \n ) => {\n setKmsKeyID(e.target.value);\n }}\n />\n \n )}\n \n \n {\n closeModalAndRefresh();\n }}\n disabled={loading}\n >\n Cancel\n \n \n Save\n \n \n {loading && (\n \n \n \n )}\n \n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(EnableBucketEncryption));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;"],"names":["connector","connect","setModalErrorSnackMessage","withStyles","theme","createStyles","modalStyleUtils","formFieldStyles","classes","open","encryptionCfg","selectedBucket","closeModalAndRefresh","useState","loading","setLoading","kmsKeyID","setKmsKeyID","encryptionType","setEncryptionType","useEffect","algorithm","kmsMasterKeyID","modalOpen","onClose","title","titleIcon","noValidate","autoComplete","onSubmit","e","preventDefault","api","then","catch","err","encType","container","item","xs","className","modalFormScrollable","formFieldRow","onChange","target","value","id","name","label","options","modalButtonBar","type","variant","color","onClick","disabled","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","multiline","tooltip","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputProps","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","placement","fullWidth","helperText","inputRebase","size","disableFocusRipple","disableRipple","disableTouchRipple","SelectStyled","root","height","lineHeight","marginTop","spacing","input","fontSize","padding","border","borderRadius","display","alignItems","borderColor","backgroundColor","InputBase","fieldContainer","flexFlow","map","option","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","width","borderLeftWidth","zIndex","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","cursor","errorTitle","errorLabel","marginLeft","marginRight","messageIcon","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","detailedError","errorMessage","message","get","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","styled","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","ownerState","dense","divider","disableGutters","gutters","_extends","typography","body1","justifyContent","textDecoration","minHeight","paddingTop","boxSizing","whiteSpace","paddingRight","borderBottom","palette","backgroundClip","action","hover","menuItemClasses","alpha","primary","main","selectedOpacity","focusOpacity","hoverOpacity","focus","disabledOpacity","marginBottom","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","React","inProps","ref","useThemeProps","component","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","undefined","_jsx","focusVisible"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4220.308c5fb3.chunk.js b/portal-ui/build/static/js/4220.4e3b3b58.chunk.js similarity index 98% rename from portal-ui/build/static/js/4220.308c5fb3.chunk.js rename to portal-ui/build/static/js/4220.4e3b3b58.chunk.js index 431f2788e..cb5e71a64 100644 --- a/portal-ui/build/static/js/4220.308c5fb3.chunk.js +++ b/portal-ui/build/static/js/4220.4e3b3b58.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4220],{53224:function(e,t,n){var a=n(18489),o=n(83738),i=(n(50390),n(70758)),r=n(62449),s=n(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,r.Z)((function(e){return{root:{padding:"7px",color:function(t){return function(t){var n=t.variant,a=t.color,o=e.palette.primary.main;return"primary"===a&&"contained"===n?o=e.palette.primary.contrastText:"primary"===a&&"outlined"===n?o=e.palette.primary.main:"secondary"===a&&(o=e.palette.secondary.main),o}(t)},borderColor:function(t){return"secondary"===t.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));t.Z=function(e){var t=c(e),n=e.onClick,r=e.text,d=void 0===r?"":r,u=e.disabled,p=void 0!==u&&u,m=e.tooltip,f=e.icon,v=void 0===f?null:f,x=(0,o.Z)(e,l);return(0,s.jsxs)(i.Z,(0,a.Z)((0,a.Z)({classes:t,tooltip:m||d,variant:"outlined",onClick:n,disabled:p,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},x),{},{children:[(0,s.jsx)("span",{children:d})," ",v]}))}},66964:function(e,t,n){var a=n(18489),o=n(50390),i=n(12066),r=n(25594),s=n(14602),l=n(94187),c=n(95467),d=n(86509),u=n(62449),p=n(4285),m=n(72462),f=n(97538),v=n(44977),x=n(62559),h=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)({},m.gM))}));function g(e){var t=h();return(0,x.jsx)(i.Z,(0,a.Z)({InputProps:{classes:t}},e))}t.Z=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,a.Z)((0,a.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,i=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,h=e.autoComplete,Z=void 0===h?"off":h,b=e.disabled,j=void 0!==b&&b,y=e.multiline,C=void 0!==y&&y,S=e.tooltip,N=void 0===S?"":S,w=e.index,k=void 0===w?0:w,I=e.error,E=void 0===I?"":I,P=e.required,L=void 0!==P&&P,M=e.placeholder,z=void 0===M?"":M,D=e.min,F=e.max,T=e.overlayIcon,A=void 0===T?null:T,R=e.overlayObject,B=void 0===R?null:R,_=e.extraInputProps,O=void 0===_?{}:_,W=e.overlayAction,V=e.noLabelMinWidth,q=void 0!==V&&V,G=e.pattern,H=void 0===G?"":G,K=e.autoFocus,Y=void 0!==K&&K,X=e.classes,$=e.className,Q=void 0===$?"":$,U=(0,a.Z)({"data-index":k},O);return"number"===m&&D&&(U.min=D),"number"===m&&F&&(U.max=F),""!==H&&(U.pattern=H),(0,x.jsx)(o.Fragment,{children:(0,x.jsxs)(r.ZP,{container:!0,className:(0,v.Z)(""!==Q?Q:"",""!==E?X.errorInField:X.inputBoxContainer),children:[""!==t&&(0,x.jsxs)(s.Z,{htmlFor:d,className:q?X.noMinWidthLabel:X.inputLabel,children:[(0,x.jsxs)("span",{children:[t,L?"*":""]}),""!==N&&(0,x.jsx)("div",{className:X.tooltipContainer,children:(0,x.jsx)(l.Z,{title:N,placement:"top-start",children:(0,x.jsx)("div",{className:X.tooltip,children:(0,x.jsx)(f.Z,{})})})})]}),(0,x.jsxs)("div",{className:X.textBoxContainer,children:[(0,x.jsx)(g,{id:d,name:u,fullWidth:!0,value:i,autoFocus:Y,disabled:j,onChange:n,type:m,multiline:C,autoComplete:Z,inputProps:U,error:""!==E,helperText:E,placeholder:z,className:X.inputRebase}),A&&(0,x.jsx)("div",{className:"".concat(X.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,x.jsx)(c.Z,{onClick:W?function(){W()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:A})}),B&&(0,x.jsx)("div",{className:"".concat(X.overlayAction," ").concat(""!==t?"withLabel":""),children:B})]})]})})}))},67754:function(e,t,n){var a=n(18489),o=n(50390),i=n(25594),r=n(46413),s=n(14602),l=n(94187),c=n(47554),d=n(43965),u=n(31680),p=n(86509),m=n(4285),f=n(72462),v=n(97538),x=n(62559),h=(0,m.Z)((function(e){return(0,p.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(r.ZP);t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},f.YI),f.Hr),{},{inputLabel:(0,a.Z)((0,a.Z)({},f.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var t=e.classes,n=e.id,a=e.name,r=e.onChange,p=e.options,m=e.label,f=e.tooltip,g=void 0===f?"":f,Z=e.value,b=e.disabled,j=void 0!==b&&b;return(0,x.jsx)(o.Fragment,{children:(0,x.jsxs)(i.ZP,{item:!0,xs:12,className:t.fieldContainer,children:[""!==m&&(0,x.jsxs)(s.Z,{htmlFor:n,className:t.inputLabel,children:[(0,x.jsx)("span",{children:m}),""!==g&&(0,x.jsx)("div",{className:t.tooltipContainer,children:(0,x.jsx)(l.Z,{title:g,placement:"top-start",children:(0,x.jsx)("div",{className:t.tooltip,children:(0,x.jsx)(v.Z,{})})})})]}),(0,x.jsx)(c.Z,{fullWidth:!0,children:(0,x.jsx)(d.Z,{id:n,name:a,value:Z,onChange:r,input:(0,x.jsx)(h,{}),disabled:j,children:p.map((function(e){return(0,x.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(a,"-").concat(e.label))}))})})]})})}))},76352:function(e,t,n){n.d(t,{Z:function(){return k}});var a,o=n(23430),i=n(18489),r=n(50390),s=n(34424),l=n(95467),c=n(97771),d=n(84402),u=n(78426),p=n(93085),m=n(86509),f=n(4285),v=n(72462),x=n(44149),h=n(38342),g=n.n(h),Z=n(92125),b=n(19538),j=n(21278),y=n(62559),C=function(){clearInterval(a)},S={displayErrorMessage:x.zb},N=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),S)((0,f.Z)((function(e){return(0,m.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var t=e.classes,n=e.modalSnackMessage,i=e.displayErrorMessage,s=e.customStyle,l=(0,r.useState)(!1),c=(0,o.Z)(l,2),d=c[0],u=c[1],p=(0,r.useState)(!1),m=(0,o.Z)(p,2),f=m[0],v=m[1],x=(0,r.useCallback)((function(){v(!1)}),[]);(0,r.useEffect)((function(){f||(i({detailedError:"",errorMessage:""}),u(!1))}),[i,f]),(0,r.useEffect)((function(){""!==n.message&&"error"===n.type&&v(!0)}),[x,n.message,n.type]);var h=g()(n,"message",""),S=g()(n,"detailedErrorMsg","");return"error"!==n.type||""===h?null:(0,y.jsx)(r.Fragment,{children:(0,y.jsxs)("div",{className:"".concat(t.modalErrorContainer," ").concat(f?t.modalErrorShow:""),style:s,onMouseOver:C,onMouseLeave:function(){a=setInterval(x,1e4)},children:[(0,y.jsx)("button",{className:t.closeButton,onClick:x,children:(0,y.jsx)(j.Z,{})}),(0,y.jsxs)("div",{className:t.errorTitle,children:[(0,y.jsx)("span",{className:t.messageIcon,children:(0,y.jsx)(b.Z,{})}),(0,y.jsx)("span",{className:t.errorLabel,children:h})]}),""!==S&&(0,y.jsxs)(r.Fragment,{children:[(0,y.jsx)("div",{className:t.detailsContainerLink,children:(0,y.jsxs)("button",{className:t.detailsButton,onClick:function(){u(!d)},children:["Details",(0,y.jsx)(Z.Z,{className:"".concat(t.arrowElement," ").concat(d?t.arrowOpen:"")})]})}),(0,y.jsx)("div",{className:"".concat(t.extraDetailsContainer," ").concat(d?t.extraDetailsOpen:""),children:S})]})]})})}))),w=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:x.MK}),k=(0,f.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)({},v.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},v.sN))}))(w((function(e){var t=e.onClose,n=e.modalOpen,a=e.title,s=e.children,m=e.classes,f=e.wideLimit,v=void 0===f||f,x=e.modalSnackMessage,h=e.noContentPadding,g=e.setModalSnackMessage,Z=e.titleIcon,b=void 0===Z?null:Z,C=(0,r.useState)(!1),S=(0,o.Z)(C,2),w=S[0],k=S[1];(0,r.useEffect)((function(){g("")}),[g]),(0,r.useEffect)((function(){if(x){if(""===x.message)return void k(!1);"error"!==x.type&&k(!0)}}),[x]);var I=v?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},E="";return x&&(E=x.detailedErrorMsg,(""===x.detailedErrorMsg||x.detailedErrorMsg.length<5)&&(E=x.message)),(0,y.jsxs)(d.Z,(0,i.Z)((0,i.Z)({open:n,classes:m},I),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:m.root,children:[(0,y.jsxs)(u.Z,{className:m.title,children:[(0,y.jsxs)("div",{className:m.titleText,children:[b," ",a]}),(0,y.jsx)("div",{className:m.closeContainer,children:(0,y.jsx)(l.Z,{"aria-label":"close",className:m.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,y.jsx)(j.Z,{})})})]}),(0,y.jsx)(N,{}),(0,y.jsx)(c.Z,{open:w,className:m.snackBarModal,onClose:function(){k(!1),g("")},message:E,ContentProps:{className:"".concat(m.snackBar," ").concat(x&&"error"===x.type?m.errorSnackBar:"")},autoHideDuration:x&&"error"===x.type?1e4:5e3}),(0,y.jsx)(p.Z,{className:h?"":m.content,children:s})]}))})))},84220:function(e,t,n){n.r(t),n.d(t,{default:function(){return M}});var a=n(23430),o=n(18489),i=n(50390),r=n(34424),s=n(86509),l=n(4285),c=n(72462),d=n(12066),u=n(25594),p=n(11387),m=n(44149),f=n(17777),v=n(38342),x=n.n(v),h=n(76352),g=n(66964),Z=n(28948),b=n(66946),j=n(81378),y=n(30324),C=n(93127),S=n(67754),N=n(62559),w=(0,l.Z)((function(e){return(0,s.Z)((0,o.Z)((0,o.Z)({buttonContainer:{textAlign:"right"},bottomContainer:{display:"flex",flexGrow:1,alignItems:"center",margin:"auto",justifyContent:"center","& div":{width:150,"@media (max-width: 900px)":{flexFlow:"column"}}},factorElements:{display:"flex",justifyContent:"flex-start",marginLeft:30},sizeNumber:{fontSize:35,fontWeight:700,textAlign:"center"},sizeDescription:{fontSize:14,color:"#777",textAlign:"center"}},c.DF),c.ID))}))((function(e){var t=e.tenant,n=e.classes,o=e.open,r=e.onClosePoolAndReload,s=(0,i.useState)(!1),l=(0,a.Z)(s,2),c=l[0],d=l[1],m=(0,i.useState)(0),f=(0,a.Z)(m,2),v=f[0],w=f[1],k=(0,i.useState)(0),I=(0,a.Z)(k,2),E=I[0],P=I[1],L=(0,i.useState)(0),M=(0,a.Z)(L,2),z=M[0],D=M[1],F=(0,i.useState)(""),T=(0,a.Z)(F,2),A=T[0],R=T[1],B=(0,i.useState)([]),_=(0,a.Z)(B,2),O=_[0],W=_[1],V=1073741824*E*z,q=V*v;return(0,i.useEffect)((function(){R(""),W([]),y.Z.invoke("GET","/api/v1/namespaces/".concat(t.namespace,"/resourcequotas/").concat(t.namespace,"-storagequota")).then((function(e){var t=x()(e,"elements",[]).map((function(e){var t=x()(e,"name","").split(".storageclass.storage.k8s.io/requests.storage")[0];return{label:t,value:t}}));W(t),t.length>0&&R(t[0].value)})).catch((function(e){console.error(e)}))}),[t]),(0,N.jsx)(h.Z,{onClose:function(){return r(!1)},modalOpen:o,title:"Add Pool",titleIcon:(0,N.jsx)(p.X2,{}),children:(0,N.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),d(!0);var n=(0,Z.en)(t.pools),a=(0,C.P)(t.name,n),o={name:n,servers:v,volumes_per_server:z,volume_configuration:{size:1073741824*E,storage_class_name:A,labels:null},affinity:a};y.Z.invoke("POST","/api/v1/namespaces/".concat(t.namespace,"/tenants/").concat(t.name,"/pools"),o).then((function(){d(!1),r(!0)})).catch((function(e){d(!1)}))},children:[(0,N.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,N.jsx)(g.Z,{id:"number_of_nodes",name:"number_of_nodes",type:"number",onChange:function(e){w(parseInt(e.target.value))},label:"Number of Nodes",value:v.toString(10)})}),(0,N.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,N.jsx)(g.Z,{id:"pool_size",name:"pool_size",type:"number",onChange:function(e){P(parseInt(e.target.value))},label:"Volume Size (Gi)",value:E.toString(10)})}),(0,N.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,N.jsx)(g.Z,{id:"volumes_per_sever",name:"volumes_per_sever",type:"number",onChange:function(e){D(parseInt(e.target.value))},label:"Volumes per Server",value:z.toString(10)})}),(0,N.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,N.jsx)(S.Z,{id:"storage_class",name:"storage_class",onChange:function(e){R(e.target.value)},label:"Storage Class",value:A,options:O,disabled:O.length<1})}),(0,N.jsx)(u.ZP,{item:!0,xs:12,className:n.bottomContainer,children:(0,N.jsxs)("div",{className:n.factorElements,children:[(0,N.jsxs)("div",{children:[(0,N.jsx)("div",{className:n.sizeNumber,children:(0,Z.ae)(V.toString(10))}),(0,N.jsx)("div",{className:n.sizeDescription,children:"Instance Capacity"})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("div",{className:n.sizeNumber,children:(0,Z.ae)(q.toString(10))}),(0,N.jsx)("div",{className:n.sizeDescription,children:"Total Capacity"})]})]})}),(0,N.jsxs)(u.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,N.jsx)(b.Z,{type:"button",variant:"outlined",color:"primary",disabled:c,onClick:function(){return r(!1)},children:"Cancel"}),(0,N.jsx)(b.Z,{type:"submit",variant:"contained",color:"primary",disabled:c,children:"Save"})]}),c&&(0,N.jsx)(u.ZP,{item:!0,xs:12,children:(0,N.jsx)(j.Z,{})})]})})})),k=n(65771),I=n(46864),E=n(13336),P=n(53224),L=(0,r.$j)((function(e){return{loadingTenant:e.tenants.tenantDetails.loadingTenant,selectedTenant:e.tenants.tenantDetails.currentTenant,tenant:e.tenants.tenantDetails.tenantInfo}}),{setErrorSnackMessage:m.Ih,setTenantDetailsLoad:I.V2}),M=(0,l.Z)((function(e){return(0,s.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},c.oZ),c.OR),c.VX),(0,c.Bz)(e.spacing(4))))}))(L((function(e){var t=e.classes,n=e.tenant,o=e.loadingTenant,r=e.setTenantDetailsLoad,s=(0,i.useState)([]),l=(0,a.Z)(s,2),c=l[0],m=l[1],v=(0,i.useState)(!1),x=(0,a.Z)(v,2),h=x[0],g=x[1],Z=(0,i.useState)(""),b=(0,a.Z)(Z,2),j=b[0],y=b[1];(0,i.useEffect)((function(){if(n){var e=n.pools?n.pools:[];m(e)}}),[n]);var C=c.filter((function(e){return!!e.name.toLowerCase().includes(j.toLowerCase())}));return(0,N.jsxs)(i.Fragment,{children:[h&&null!==n&&(0,N.jsx)(w,{open:h,onClosePoolAndReload:function(e){g(!1),e&&r(!0)},tenant:n}),(0,N.jsx)("h1",{className:t.sectionTitle,children:"Pools"}),(0,N.jsxs)(u.ZP,{container:!0,children:[(0,N.jsxs)(u.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,N.jsx)(d.Z,{placeholder:"Filter",className:t.searchField,id:"search-resource",label:"",onChange:function(e){y(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,N.jsx)(k.Z,{position:"start",children:(0,N.jsx)(E.Z,{})})},variant:"standard"}),(0,N.jsx)(P.Z,{tooltip:"Expand Tenant",text:"Expand Tenant",onClick:function(){g(!0)},icon:(0,N.jsx)(p.dt,{}),color:"primary",variant:"contained"})]}),(0,N.jsx)(u.ZP,{item:!0,xs:12,children:(0,N.jsx)("br",{})}),(0,N.jsx)(u.ZP,{item:!0,xs:12,className:t.tableBlock,children:(0,N.jsx)(f.Z,{itemActions:[],columns:[{label:"Name",elementKey:"name"},{label:"Capacity",elementKey:"capacity"},{label:"# of Instances",elementKey:"servers"},{label:"# of Drives",elementKey:"volumes"}],isLoading:o,records:C,entityName:"Servers",idField:"name",customEmptyMessage:"No Pools found"})})]})]})})))},93127:function(e,t,n){n.d(t,{P:function(){return a},q:function(){return o}});var a=function(e,t){return{podAntiAffinity:{requiredDuringSchedulingIgnoredDuringExecution:[{labelSelector:{matchExpressions:[{key:"v1.min.io/tenant",operator:"In",values:[e]},{key:"v1.min.io/pool",operator:"In",values:[t]}]},topologyKey:"kubernetes.io/hostname"}]}}},o=function(e,t,n,o){var i=e.split("&"),r=[];i.forEach((function(e){var t=e.split("=");2===t.length&&r.push({key:t[0],operator:"In",values:[t[1]]})}));var s={nodeAffinity:{requiredDuringSchedulingIgnoredDuringExecution:{nodeSelectorTerms:[{matchExpressions:r}]}}};if(t){var l=a(n,o);s.podAntiAffinity=l.podAntiAffinity}return console.log(s),s}},4247:function(e,t,n){n.d(t,{V:function(){return o}});var a=n(10594);function o(e){return(0,a.Z)("MuiDivider",e)}var i=(0,n(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=i},65771:function(e,t,n){n.d(t,{Z:function(){return y}});var a=n(36222),o=n(1048),i=n(32793),r=n(50390),s=n(44977),l=n(50076),c=n(91442),d=n(35477),u=n(14478),p=n(23060),m=n(8208),f=n(10594);function v(e){return(0,f.Z)("MuiInputAdornment",e)}var x,h=(0,n(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),g=n(15573),Z=n(62559),b=["children","className","component","disablePointerEvents","disableTypography","position","variant"],j=(0,m.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["position".concat((0,c.Z)(n.position))],!0===n.disablePointerEvents&&t.disablePointerEvents,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,i.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:t.palette.action.active},"filled"===n.variant&&(0,a.Z)({},"&.".concat(h.positionStart,"&:not(.").concat(h.hiddenLabel,")"),{marginTop:16}),"start"===n.position&&{marginRight:8},"end"===n.position&&{marginLeft:8},!0===n.disablePointerEvents&&{pointerEvents:"none"})})),y=r.forwardRef((function(e,t){var n=(0,g.Z)({props:e,name:"MuiInputAdornment"}),a=n.children,m=n.className,f=n.component,h=void 0===f?"div":f,y=n.disablePointerEvents,C=void 0!==y&&y,S=n.disableTypography,N=void 0!==S&&S,w=n.position,k=n.variant,I=(0,o.Z)(n,b),E=(0,p.Z)()||{},P=k;k&&E.variant,E&&!P&&(P=E.variant);var L=(0,i.Z)({},n,{hiddenLabel:E.hiddenLabel,size:E.size,disablePointerEvents:C,position:w,variant:P}),M=function(e){var t=e.classes,n=e.disablePointerEvents,a=e.hiddenLabel,o=e.position,i=e.size,r=e.variant,s={root:["root",n&&"disablePointerEvents",o&&"position".concat((0,c.Z)(o)),r,a&&"hiddenLabel",i&&"size".concat((0,c.Z)(i))]};return(0,l.Z)(s,v,t)}(L);return(0,Z.jsx)(u.Z.Provider,{value:null,children:(0,Z.jsx)(j,(0,i.Z)({as:h,ownerState:L,className:(0,s.Z)(M.root,m),ref:t},I,{children:"string"!==typeof a||N?(0,Z.jsxs)(r.Fragment,{children:["start"===w?x||(x=(0,Z.jsx)("span",{className:"notranslate",children:"\u200b"})):null,a]}):(0,Z.jsx)(d.Z,{color:"text.secondary",children:a})}))})}))},31680:function(e,t,n){n.d(t,{Z:function(){return N}});var a=n(36222),o=n(1048),i=n(32793),r=n(50390),s=n(44977),l=n(50076),c=n(36128),d=n(8208),u=n(15573),p=n(57308),m=n(86875),f=n(40839),v=n(3299),x=n(4247),h=n(2198),g=n(23586),Z=n(10594);function b(e){return(0,Z.Z)("MuiMenuItem",e)}var j=(0,n(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),y=n(62559),C=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],S=(0,d.ZP)(m.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,o=e.ownerState;return(0,i.Z)({},n.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!o.disableGutters&&{paddingLeft:16,paddingRight:16},o.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,a.Z)(t,"&.".concat(j.selected),(0,a.Z)({backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(j.focusVisible),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,a.Z)(t,"&.".concat(j.selected,":hover"),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,a.Z)(t,"&.".concat(j.focusVisible),{backgroundColor:n.palette.action.focus}),(0,a.Z)(t,"&.".concat(j.disabled),{opacity:n.palette.action.disabledOpacity}),(0,a.Z)(t,"& + .".concat(x.Z.root),{marginTop:n.spacing(1),marginBottom:n.spacing(1)}),(0,a.Z)(t,"& + .".concat(x.Z.inset),{marginLeft:52}),(0,a.Z)(t,"& .".concat(g.Z.root),{marginTop:0,marginBottom:0}),(0,a.Z)(t,"& .".concat(g.Z.inset),{paddingLeft:36}),(0,a.Z)(t,"& .".concat(h.Z.root),{minWidth:36}),t),!o.dense&&(0,a.Z)({},n.breakpoints.up("sm"),{minHeight:"auto"}),o.dense&&(0,i.Z)({minHeight:32,paddingTop:4,paddingBottom:4},n.typography.body2,(0,a.Z)({},"& .".concat(h.Z.root," svg"),{fontSize:"1.25rem"})))})),N=r.forwardRef((function(e,t){var n=(0,u.Z)({props:e,name:"MuiMenuItem"}),a=n.autoFocus,c=void 0!==a&&a,d=n.component,m=void 0===d?"li":d,x=n.dense,h=void 0!==x&&x,g=n.divider,Z=void 0!==g&&g,j=n.disableGutters,N=void 0!==j&&j,w=n.focusVisibleClassName,k=n.role,I=void 0===k?"menuitem":k,E=n.tabIndex,P=(0,o.Z)(n,C),L=r.useContext(p.Z),M={dense:h||L.dense||!1,disableGutters:N},z=r.useRef(null);(0,f.Z)((function(){c&&z.current&&z.current.focus()}),[c]);var D,F=(0,i.Z)({},n,{dense:M.dense,divider:Z,disableGutters:N}),T=function(e){var t=e.disabled,n=e.dense,a=e.divider,o=e.disableGutters,r=e.selected,s=e.classes,c={root:["root",n&&"dense",t&&"disabled",!o&&"gutters",a&&"divider",r&&"selected"]},d=(0,l.Z)(c,b,s);return(0,i.Z)({},s,d)}(n),A=(0,v.Z)(z,t);return n.disabled||(D=void 0!==E?E:-1),(0,y.jsx)(p.Z.Provider,{value:M,children:(0,y.jsx)(S,(0,i.Z)({ref:A,role:I,tabIndex:D,component:m,focusVisibleClassName:(0,s.Z)(T.focusVisible,w)},P,{ownerState:F,classes:T}))})}))}}]); -//# sourceMappingURL=4220.308c5fb3.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4220],{53224:function(e,t,n){var a=n(18489),o=n(83738),i=(n(50390),n(70758)),r=n(62449),s=n(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,r.Z)((function(e){return{root:{padding:"7px",color:function(t){return function(t){var n=t.variant,a=t.color,o=e.palette.primary.main;return"primary"===a&&"contained"===n?o=e.palette.primary.contrastText:"primary"===a&&"outlined"===n?o=e.palette.primary.main:"secondary"===a&&(o=e.palette.secondary.main),o}(t)},borderColor:function(t){return"secondary"===t.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));t.Z=function(e){var t=c(e),n=e.onClick,r=e.text,d=void 0===r?"":r,u=e.disabled,p=void 0!==u&&u,m=e.tooltip,f=e.icon,v=void 0===f?null:f,x=(0,o.Z)(e,l);return(0,s.jsxs)(i.Z,(0,a.Z)((0,a.Z)({classes:t,tooltip:m||d,variant:"outlined",onClick:n,disabled:p,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},x),{},{children:[(0,s.jsx)("span",{children:d})," ",v]}))}},66964:function(e,t,n){var a=n(18489),o=n(50390),i=n(12066),r=n(25594),s=n(36554),l=n(94187),c=n(95467),d=n(86509),u=n(62449),p=n(4285),m=n(72462),f=n(97538),v=n(44977),x=n(62559),h=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)({},m.gM))}));function g(e){var t=h();return(0,x.jsx)(i.Z,(0,a.Z)({InputProps:{classes:t}},e))}t.Z=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,a.Z)((0,a.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,i=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,h=e.autoComplete,Z=void 0===h?"off":h,b=e.disabled,j=void 0!==b&&b,y=e.multiline,C=void 0!==y&&y,S=e.tooltip,N=void 0===S?"":S,w=e.index,k=void 0===w?0:w,I=e.error,E=void 0===I?"":I,P=e.required,L=void 0!==P&&P,M=e.placeholder,z=void 0===M?"":M,D=e.min,F=e.max,T=e.overlayIcon,A=void 0===T?null:T,R=e.overlayObject,B=void 0===R?null:R,_=e.extraInputProps,O=void 0===_?{}:_,W=e.overlayAction,V=e.noLabelMinWidth,q=void 0!==V&&V,G=e.pattern,H=void 0===G?"":G,K=e.autoFocus,Y=void 0!==K&&K,X=e.classes,$=e.className,Q=void 0===$?"":$,U=(0,a.Z)({"data-index":k},O);return"number"===m&&D&&(U.min=D),"number"===m&&F&&(U.max=F),""!==H&&(U.pattern=H),(0,x.jsx)(o.Fragment,{children:(0,x.jsxs)(r.ZP,{container:!0,className:(0,v.Z)(""!==Q?Q:"",""!==E?X.errorInField:X.inputBoxContainer),children:[""!==t&&(0,x.jsxs)(s.Z,{htmlFor:d,className:q?X.noMinWidthLabel:X.inputLabel,children:[(0,x.jsxs)("span",{children:[t,L?"*":""]}),""!==N&&(0,x.jsx)("div",{className:X.tooltipContainer,children:(0,x.jsx)(l.Z,{title:N,placement:"top-start",children:(0,x.jsx)("div",{className:X.tooltip,children:(0,x.jsx)(f.Z,{})})})})]}),(0,x.jsxs)("div",{className:X.textBoxContainer,children:[(0,x.jsx)(g,{id:d,name:u,fullWidth:!0,value:i,autoFocus:Y,disabled:j,onChange:n,type:m,multiline:C,autoComplete:Z,inputProps:U,error:""!==E,helperText:E,placeholder:z,className:X.inputRebase}),A&&(0,x.jsx)("div",{className:"".concat(X.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,x.jsx)(c.Z,{onClick:W?function(){W()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:A})}),B&&(0,x.jsx)("div",{className:"".concat(X.overlayAction," ").concat(""!==t?"withLabel":""),children:B})]})]})})}))},67754:function(e,t,n){var a=n(18489),o=n(50390),i=n(25594),r=n(46413),s=n(36554),l=n(94187),c=n(47554),d=n(43965),u=n(31680),p=n(86509),m=n(4285),f=n(72462),v=n(97538),x=n(62559),h=(0,m.Z)((function(e){return(0,p.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(r.ZP);t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},f.YI),f.Hr),{},{inputLabel:(0,a.Z)((0,a.Z)({},f.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var t=e.classes,n=e.id,a=e.name,r=e.onChange,p=e.options,m=e.label,f=e.tooltip,g=void 0===f?"":f,Z=e.value,b=e.disabled,j=void 0!==b&&b;return(0,x.jsx)(o.Fragment,{children:(0,x.jsxs)(i.ZP,{item:!0,xs:12,className:t.fieldContainer,children:[""!==m&&(0,x.jsxs)(s.Z,{htmlFor:n,className:t.inputLabel,children:[(0,x.jsx)("span",{children:m}),""!==g&&(0,x.jsx)("div",{className:t.tooltipContainer,children:(0,x.jsx)(l.Z,{title:g,placement:"top-start",children:(0,x.jsx)("div",{className:t.tooltip,children:(0,x.jsx)(v.Z,{})})})})]}),(0,x.jsx)(c.Z,{fullWidth:!0,children:(0,x.jsx)(d.Z,{id:n,name:a,value:Z,onChange:r,input:(0,x.jsx)(h,{}),disabled:j,children:p.map((function(e){return(0,x.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(a,"-").concat(e.label))}))})})]})})}))},76352:function(e,t,n){n.d(t,{Z:function(){return k}});var a,o=n(23430),i=n(18489),r=n(50390),s=n(34424),l=n(95467),c=n(97771),d=n(84402),u=n(78426),p=n(93085),m=n(86509),f=n(4285),v=n(72462),x=n(44149),h=n(38342),g=n.n(h),Z=n(92125),b=n(19538),j=n(21278),y=n(62559),C=function(){clearInterval(a)},S={displayErrorMessage:x.zb},N=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),S)((0,f.Z)((function(e){return(0,m.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var t=e.classes,n=e.modalSnackMessage,i=e.displayErrorMessage,s=e.customStyle,l=(0,r.useState)(!1),c=(0,o.Z)(l,2),d=c[0],u=c[1],p=(0,r.useState)(!1),m=(0,o.Z)(p,2),f=m[0],v=m[1],x=(0,r.useCallback)((function(){v(!1)}),[]);(0,r.useEffect)((function(){f||(i({detailedError:"",errorMessage:""}),u(!1))}),[i,f]),(0,r.useEffect)((function(){""!==n.message&&"error"===n.type&&v(!0)}),[x,n.message,n.type]);var h=g()(n,"message",""),S=g()(n,"detailedErrorMsg","");return"error"!==n.type||""===h?null:(0,y.jsx)(r.Fragment,{children:(0,y.jsxs)("div",{className:"".concat(t.modalErrorContainer," ").concat(f?t.modalErrorShow:""),style:s,onMouseOver:C,onMouseLeave:function(){a=setInterval(x,1e4)},children:[(0,y.jsx)("button",{className:t.closeButton,onClick:x,children:(0,y.jsx)(j.Z,{})}),(0,y.jsxs)("div",{className:t.errorTitle,children:[(0,y.jsx)("span",{className:t.messageIcon,children:(0,y.jsx)(b.Z,{})}),(0,y.jsx)("span",{className:t.errorLabel,children:h})]}),""!==S&&(0,y.jsxs)(r.Fragment,{children:[(0,y.jsx)("div",{className:t.detailsContainerLink,children:(0,y.jsxs)("button",{className:t.detailsButton,onClick:function(){u(!d)},children:["Details",(0,y.jsx)(Z.Z,{className:"".concat(t.arrowElement," ").concat(d?t.arrowOpen:"")})]})}),(0,y.jsx)("div",{className:"".concat(t.extraDetailsContainer," ").concat(d?t.extraDetailsOpen:""),children:S})]})]})})}))),w=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:x.MK}),k=(0,f.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)({},v.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},v.sN))}))(w((function(e){var t=e.onClose,n=e.modalOpen,a=e.title,s=e.children,m=e.classes,f=e.wideLimit,v=void 0===f||f,x=e.modalSnackMessage,h=e.noContentPadding,g=e.setModalSnackMessage,Z=e.titleIcon,b=void 0===Z?null:Z,C=(0,r.useState)(!1),S=(0,o.Z)(C,2),w=S[0],k=S[1];(0,r.useEffect)((function(){g("")}),[g]),(0,r.useEffect)((function(){if(x){if(""===x.message)return void k(!1);"error"!==x.type&&k(!0)}}),[x]);var I=v?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},E="";return x&&(E=x.detailedErrorMsg,(""===x.detailedErrorMsg||x.detailedErrorMsg.length<5)&&(E=x.message)),(0,y.jsxs)(d.Z,(0,i.Z)((0,i.Z)({open:n,classes:m},I),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:m.root,children:[(0,y.jsxs)(u.Z,{className:m.title,children:[(0,y.jsxs)("div",{className:m.titleText,children:[b," ",a]}),(0,y.jsx)("div",{className:m.closeContainer,children:(0,y.jsx)(l.Z,{"aria-label":"close",className:m.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,y.jsx)(j.Z,{})})})]}),(0,y.jsx)(N,{}),(0,y.jsx)(c.Z,{open:w,className:m.snackBarModal,onClose:function(){k(!1),g("")},message:E,ContentProps:{className:"".concat(m.snackBar," ").concat(x&&"error"===x.type?m.errorSnackBar:"")},autoHideDuration:x&&"error"===x.type?1e4:5e3}),(0,y.jsx)(p.Z,{className:h?"":m.content,children:s})]}))})))},84220:function(e,t,n){n.r(t),n.d(t,{default:function(){return M}});var a=n(23430),o=n(18489),i=n(50390),r=n(34424),s=n(86509),l=n(4285),c=n(72462),d=n(12066),u=n(25594),p=n(98280),m=n(44149),f=n(17777),v=n(38342),x=n.n(v),h=n(76352),g=n(66964),Z=n(28948),b=n(66946),j=n(81378),y=n(30324),C=n(93127),S=n(67754),N=n(62559),w=(0,l.Z)((function(e){return(0,s.Z)((0,o.Z)((0,o.Z)({buttonContainer:{textAlign:"right"},bottomContainer:{display:"flex",flexGrow:1,alignItems:"center",margin:"auto",justifyContent:"center","& div":{width:150,"@media (max-width: 900px)":{flexFlow:"column"}}},factorElements:{display:"flex",justifyContent:"flex-start",marginLeft:30},sizeNumber:{fontSize:35,fontWeight:700,textAlign:"center"},sizeDescription:{fontSize:14,color:"#777",textAlign:"center"}},c.DF),c.ID))}))((function(e){var t=e.tenant,n=e.classes,o=e.open,r=e.onClosePoolAndReload,s=(0,i.useState)(!1),l=(0,a.Z)(s,2),c=l[0],d=l[1],m=(0,i.useState)(0),f=(0,a.Z)(m,2),v=f[0],w=f[1],k=(0,i.useState)(0),I=(0,a.Z)(k,2),E=I[0],P=I[1],L=(0,i.useState)(0),M=(0,a.Z)(L,2),z=M[0],D=M[1],F=(0,i.useState)(""),T=(0,a.Z)(F,2),A=T[0],R=T[1],B=(0,i.useState)([]),_=(0,a.Z)(B,2),O=_[0],W=_[1],V=1073741824*E*z,q=V*v;return(0,i.useEffect)((function(){R(""),W([]),y.Z.invoke("GET","/api/v1/namespaces/".concat(t.namespace,"/resourcequotas/").concat(t.namespace,"-storagequota")).then((function(e){var t=x()(e,"elements",[]).map((function(e){var t=x()(e,"name","").split(".storageclass.storage.k8s.io/requests.storage")[0];return{label:t,value:t}}));W(t),t.length>0&&R(t[0].value)})).catch((function(e){console.error(e)}))}),[t]),(0,N.jsx)(h.Z,{onClose:function(){return r(!1)},modalOpen:o,title:"Add Pool",titleIcon:(0,N.jsx)(p.X2,{}),children:(0,N.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),d(!0);var n=(0,Z.en)(t.pools),a=(0,C.P)(t.name,n),o={name:n,servers:v,volumes_per_server:z,volume_configuration:{size:1073741824*E,storage_class_name:A,labels:null},affinity:a};y.Z.invoke("POST","/api/v1/namespaces/".concat(t.namespace,"/tenants/").concat(t.name,"/pools"),o).then((function(){d(!1),r(!0)})).catch((function(e){d(!1)}))},children:[(0,N.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,N.jsx)(g.Z,{id:"number_of_nodes",name:"number_of_nodes",type:"number",onChange:function(e){w(parseInt(e.target.value))},label:"Number of Nodes",value:v.toString(10)})}),(0,N.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,N.jsx)(g.Z,{id:"pool_size",name:"pool_size",type:"number",onChange:function(e){P(parseInt(e.target.value))},label:"Volume Size (Gi)",value:E.toString(10)})}),(0,N.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,N.jsx)(g.Z,{id:"volumes_per_sever",name:"volumes_per_sever",type:"number",onChange:function(e){D(parseInt(e.target.value))},label:"Volumes per Server",value:z.toString(10)})}),(0,N.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,N.jsx)(S.Z,{id:"storage_class",name:"storage_class",onChange:function(e){R(e.target.value)},label:"Storage Class",value:A,options:O,disabled:O.length<1})}),(0,N.jsx)(u.ZP,{item:!0,xs:12,className:n.bottomContainer,children:(0,N.jsxs)("div",{className:n.factorElements,children:[(0,N.jsxs)("div",{children:[(0,N.jsx)("div",{className:n.sizeNumber,children:(0,Z.ae)(V.toString(10))}),(0,N.jsx)("div",{className:n.sizeDescription,children:"Instance Capacity"})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("div",{className:n.sizeNumber,children:(0,Z.ae)(q.toString(10))}),(0,N.jsx)("div",{className:n.sizeDescription,children:"Total Capacity"})]})]})}),(0,N.jsxs)(u.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,N.jsx)(b.Z,{type:"button",variant:"outlined",color:"primary",disabled:c,onClick:function(){return r(!1)},children:"Cancel"}),(0,N.jsx)(b.Z,{type:"submit",variant:"contained",color:"primary",disabled:c,children:"Save"})]}),c&&(0,N.jsx)(u.ZP,{item:!0,xs:12,children:(0,N.jsx)(j.Z,{})})]})})})),k=n(65771),I=n(46864),E=n(13336),P=n(53224),L=(0,r.$j)((function(e){return{loadingTenant:e.tenants.tenantDetails.loadingTenant,selectedTenant:e.tenants.tenantDetails.currentTenant,tenant:e.tenants.tenantDetails.tenantInfo}}),{setErrorSnackMessage:m.Ih,setTenantDetailsLoad:I.V2}),M=(0,l.Z)((function(e){return(0,s.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},c.oZ),c.OR),c.VX),(0,c.Bz)(e.spacing(4))))}))(L((function(e){var t=e.classes,n=e.tenant,o=e.loadingTenant,r=e.setTenantDetailsLoad,s=(0,i.useState)([]),l=(0,a.Z)(s,2),c=l[0],m=l[1],v=(0,i.useState)(!1),x=(0,a.Z)(v,2),h=x[0],g=x[1],Z=(0,i.useState)(""),b=(0,a.Z)(Z,2),j=b[0],y=b[1];(0,i.useEffect)((function(){if(n){var e=n.pools?n.pools:[];m(e)}}),[n]);var C=c.filter((function(e){return!!e.name.toLowerCase().includes(j.toLowerCase())}));return(0,N.jsxs)(i.Fragment,{children:[h&&null!==n&&(0,N.jsx)(w,{open:h,onClosePoolAndReload:function(e){g(!1),e&&r(!0)},tenant:n}),(0,N.jsx)("h1",{className:t.sectionTitle,children:"Pools"}),(0,N.jsxs)(u.ZP,{container:!0,children:[(0,N.jsxs)(u.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,N.jsx)(d.Z,{placeholder:"Filter",className:t.searchField,id:"search-resource",label:"",onChange:function(e){y(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,N.jsx)(k.Z,{position:"start",children:(0,N.jsx)(E.Z,{})})},variant:"standard"}),(0,N.jsx)(P.Z,{tooltip:"Expand Tenant",text:"Expand Tenant",onClick:function(){g(!0)},icon:(0,N.jsx)(p.dt,{}),color:"primary",variant:"contained"})]}),(0,N.jsx)(u.ZP,{item:!0,xs:12,children:(0,N.jsx)("br",{})}),(0,N.jsx)(u.ZP,{item:!0,xs:12,className:t.tableBlock,children:(0,N.jsx)(f.Z,{itemActions:[],columns:[{label:"Name",elementKey:"name"},{label:"Capacity",elementKey:"capacity"},{label:"# of Instances",elementKey:"servers"},{label:"# of Drives",elementKey:"volumes"}],isLoading:o,records:C,entityName:"Servers",idField:"name",customEmptyMessage:"No Pools found"})})]})]})})))},93127:function(e,t,n){n.d(t,{P:function(){return a},q:function(){return o}});var a=function(e,t){return{podAntiAffinity:{requiredDuringSchedulingIgnoredDuringExecution:[{labelSelector:{matchExpressions:[{key:"v1.min.io/tenant",operator:"In",values:[e]},{key:"v1.min.io/pool",operator:"In",values:[t]}]},topologyKey:"kubernetes.io/hostname"}]}}},o=function(e,t,n,o){var i=e.split("&"),r=[];i.forEach((function(e){var t=e.split("=");2===t.length&&r.push({key:t[0],operator:"In",values:[t[1]]})}));var s={nodeAffinity:{requiredDuringSchedulingIgnoredDuringExecution:{nodeSelectorTerms:[{matchExpressions:r}]}}};if(t){var l=a(n,o);s.podAntiAffinity=l.podAntiAffinity}return console.log(s),s}},4247:function(e,t,n){n.d(t,{V:function(){return o}});var a=n(10594);function o(e){return(0,a.Z)("MuiDivider",e)}var i=(0,n(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=i},65771:function(e,t,n){n.d(t,{Z:function(){return y}});var a=n(36222),o=n(1048),i=n(32793),r=n(50390),s=n(44977),l=n(50076),c=n(91442),d=n(35477),u=n(14478),p=n(23060),m=n(8208),f=n(10594);function v(e){return(0,f.Z)("MuiInputAdornment",e)}var x,h=(0,n(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),g=n(15573),Z=n(62559),b=["children","className","component","disablePointerEvents","disableTypography","position","variant"],j=(0,m.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["position".concat((0,c.Z)(n.position))],!0===n.disablePointerEvents&&t.disablePointerEvents,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,i.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:t.palette.action.active},"filled"===n.variant&&(0,a.Z)({},"&.".concat(h.positionStart,"&:not(.").concat(h.hiddenLabel,")"),{marginTop:16}),"start"===n.position&&{marginRight:8},"end"===n.position&&{marginLeft:8},!0===n.disablePointerEvents&&{pointerEvents:"none"})})),y=r.forwardRef((function(e,t){var n=(0,g.Z)({props:e,name:"MuiInputAdornment"}),a=n.children,m=n.className,f=n.component,h=void 0===f?"div":f,y=n.disablePointerEvents,C=void 0!==y&&y,S=n.disableTypography,N=void 0!==S&&S,w=n.position,k=n.variant,I=(0,o.Z)(n,b),E=(0,p.Z)()||{},P=k;k&&E.variant,E&&!P&&(P=E.variant);var L=(0,i.Z)({},n,{hiddenLabel:E.hiddenLabel,size:E.size,disablePointerEvents:C,position:w,variant:P}),M=function(e){var t=e.classes,n=e.disablePointerEvents,a=e.hiddenLabel,o=e.position,i=e.size,r=e.variant,s={root:["root",n&&"disablePointerEvents",o&&"position".concat((0,c.Z)(o)),r,a&&"hiddenLabel",i&&"size".concat((0,c.Z)(i))]};return(0,l.Z)(s,v,t)}(L);return(0,Z.jsx)(u.Z.Provider,{value:null,children:(0,Z.jsx)(j,(0,i.Z)({as:h,ownerState:L,className:(0,s.Z)(M.root,m),ref:t},I,{children:"string"!==typeof a||N?(0,Z.jsxs)(r.Fragment,{children:["start"===w?x||(x=(0,Z.jsx)("span",{className:"notranslate",children:"\u200b"})):null,a]}):(0,Z.jsx)(d.Z,{color:"text.secondary",children:a})}))})}))},31680:function(e,t,n){n.d(t,{Z:function(){return N}});var a=n(36222),o=n(1048),i=n(32793),r=n(50390),s=n(44977),l=n(50076),c=n(36128),d=n(8208),u=n(15573),p=n(57308),m=n(86875),f=n(40839),v=n(3299),x=n(4247),h=n(2198),g=n(23586),Z=n(10594);function b(e){return(0,Z.Z)("MuiMenuItem",e)}var j=(0,n(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),y=n(62559),C=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],S=(0,d.ZP)(m.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,o=e.ownerState;return(0,i.Z)({},n.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!o.disableGutters&&{paddingLeft:16,paddingRight:16},o.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,a.Z)(t,"&.".concat(j.selected),(0,a.Z)({backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(j.focusVisible),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,a.Z)(t,"&.".concat(j.selected,":hover"),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,a.Z)(t,"&.".concat(j.focusVisible),{backgroundColor:n.palette.action.focus}),(0,a.Z)(t,"&.".concat(j.disabled),{opacity:n.palette.action.disabledOpacity}),(0,a.Z)(t,"& + .".concat(x.Z.root),{marginTop:n.spacing(1),marginBottom:n.spacing(1)}),(0,a.Z)(t,"& + .".concat(x.Z.inset),{marginLeft:52}),(0,a.Z)(t,"& .".concat(g.Z.root),{marginTop:0,marginBottom:0}),(0,a.Z)(t,"& .".concat(g.Z.inset),{paddingLeft:36}),(0,a.Z)(t,"& .".concat(h.Z.root),{minWidth:36}),t),!o.dense&&(0,a.Z)({},n.breakpoints.up("sm"),{minHeight:"auto"}),o.dense&&(0,i.Z)({minHeight:32,paddingTop:4,paddingBottom:4},n.typography.body2,(0,a.Z)({},"& .".concat(h.Z.root," svg"),{fontSize:"1.25rem"})))})),N=r.forwardRef((function(e,t){var n=(0,u.Z)({props:e,name:"MuiMenuItem"}),a=n.autoFocus,c=void 0!==a&&a,d=n.component,m=void 0===d?"li":d,x=n.dense,h=void 0!==x&&x,g=n.divider,Z=void 0!==g&&g,j=n.disableGutters,N=void 0!==j&&j,w=n.focusVisibleClassName,k=n.role,I=void 0===k?"menuitem":k,E=n.tabIndex,P=(0,o.Z)(n,C),L=r.useContext(p.Z),M={dense:h||L.dense||!1,disableGutters:N},z=r.useRef(null);(0,f.Z)((function(){c&&z.current&&z.current.focus()}),[c]);var D,F=(0,i.Z)({},n,{dense:M.dense,divider:Z,disableGutters:N}),T=function(e){var t=e.disabled,n=e.dense,a=e.divider,o=e.disableGutters,r=e.selected,s=e.classes,c={root:["root",n&&"dense",t&&"disabled",!o&&"gutters",a&&"divider",r&&"selected"]},d=(0,l.Z)(c,b,s);return(0,i.Z)({},s,d)}(n),A=(0,v.Z)(z,t);return n.disabled||(D=void 0!==E?E:-1),(0,y.jsx)(p.Z.Provider,{value:M,children:(0,y.jsx)(S,(0,i.Z)({ref:A,role:I,tabIndex:D,component:m,focusVisibleClassName:(0,s.Z)(T.focusVisible,w)},P,{ownerState:F,classes:T}))})}))}}]); +//# sourceMappingURL=4220.4e3b3b58.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4220.308c5fb3.chunk.js.map b/portal-ui/build/static/js/4220.4e3b3b58.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/4220.308c5fb3.chunk.js.map rename to portal-ui/build/static/js/4220.4e3b3b58.chunk.js.map index bb1b798c3..8b8a4dab3 100644 --- a/portal-ui/build/static/js/4220.308c5fb3.chunk.js.map +++ b/portal-ui/build/static/js/4220.4e3b3b58.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/4220.308c5fb3.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Tenants/TenantDetails/AddPoolModal.tsx","screens/Console/Tenants/TenantDetails/PoolsSummary.tsx","screens/Console/Tenants/TenantDetails/utils.ts","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","import React, { useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport { generatePoolName, niceBytes } from \"../../../../common/utils\";\nimport { Button, LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport api from \"../../../../common/api\";\nimport { IAddPoolRequest, ITenant } from \"../ListTenants/types\";\nimport { ErrorResponseHandler, IAffinityModel } from \"../../../../common/types\";\nimport { getDefaultAffinity } from \"./utils\";\n\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { IQuotaElement, IQuotas, Opts } from \"../ListTenants/utils\";\nimport { NewPoolIcon } from \"../../../../icons\";\n\ninterface IAddPoolProps {\n tenant: ITenant;\n classes: any;\n open: boolean;\n onClosePoolAndReload: (shouldReload: boolean) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\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 factorElements: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n marginLeft: 30,\n },\n sizeNumber: {\n fontSize: 35,\n fontWeight: 700,\n textAlign: \"center\",\n },\n sizeDescription: {\n fontSize: 14,\n color: \"#777\",\n textAlign: \"center\",\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst AddPoolModal = ({\n tenant,\n classes,\n open,\n onClosePoolAndReload,\n}: IAddPoolProps) => {\n const [addSending, setAddSending] = useState(false);\n const [numberOfNodes, setNumberOfNodes] = useState(0);\n const [volumeSize, setVolumeSize] = useState(0);\n const [volumesPerServer, setVolumesPerSever] = useState(0);\n const [selectedStorageClass, setSelectedStorageClass] = useState(\"\");\n const [storageClasses, setStorageClasses] = useState([]);\n\n const instanceCapacity: number = volumeSize * 1073741824 * volumesPerServer;\n const totalCapacity: number = instanceCapacity * numberOfNodes;\n\n useEffect(() => {\n setSelectedStorageClass(\"\");\n\n setStorageClasses([]);\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenant.namespace}/resourcequotas/${tenant.namespace}-storagequota`\n )\n .then((res: IQuotas) => {\n const elements: IQuotaElement[] = get(res, \"elements\", []);\n\n const newStorage = elements.map((storageClass: any) => {\n const name = get(storageClass, \"name\", \"\").split(\n \".storageclass.storage.k8s.io/requests.storage\"\n )[0];\n\n return { label: name, value: name };\n });\n\n setStorageClasses(newStorage);\n if (newStorage.length > 0) {\n setSelectedStorageClass(newStorage[0].value);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n console.error(err);\n });\n }, [tenant]);\n\n return (\n onClosePoolAndReload(false)}\n modalOpen={open}\n title=\"Add Pool\"\n titleIcon={}\n >\n ) => {\n e.preventDefault();\n setAddSending(true);\n\n const poolName = generatePoolName(tenant.pools);\n\n const defaultAffinity: IAffinityModel = getDefaultAffinity(\n tenant.name,\n poolName\n );\n\n const data: IAddPoolRequest = {\n name: poolName,\n servers: numberOfNodes,\n volumes_per_server: volumesPerServer,\n volume_configuration: {\n size: volumeSize * 1073741824,\n storage_class_name: selectedStorageClass,\n labels: null,\n },\n affinity: defaultAffinity,\n };\n\n api\n .invoke(\n \"POST\",\n `/api/v1/namespaces/${tenant.namespace}/tenants/${tenant.name}/pools`,\n data\n )\n .then(() => {\n setAddSending(false);\n onClosePoolAndReload(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n // setDeleteError(err);\n });\n }}\n >\n \n ) => {\n setNumberOfNodes(parseInt(e.target.value));\n }}\n label=\"Number of Nodes\"\n value={numberOfNodes.toString(10)}\n />\n \n \n ) => {\n setVolumeSize(parseInt(e.target.value));\n }}\n label=\"Volume Size (Gi)\"\n value={volumeSize.toString(10)}\n />\n \n \n ) => {\n setVolumesPerSever(parseInt(e.target.value));\n }}\n label=\"Volumes per Server\"\n value={volumesPerServer.toString(10)}\n />\n \n \n ) => {\n setSelectedStorageClass(e.target.value as string);\n }}\n label=\"Storage Class\"\n value={selectedStorageClass}\n options={storageClasses}\n disabled={storageClasses.length < 1}\n />\n \n\n \n
\n
\n
\n {niceBytes(instanceCapacity.toString(10))}\n
\n
Instance Capacity
\n
\n
\n
\n {niceBytes(totalCapacity.toString(10))}\n
\n
Total Capacity
\n
\n
\n
\n \n onClosePoolAndReload(false)}\n >\n Cancel\n \n \n Save\n \n \n {addSending && (\n \n \n \n )}\n \n \n );\n};\n\nexport default withStyles(styles)(AddPoolModal);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n actionsTray,\n containerForHeader,\n tableStyles,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { TextField } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { AddIcon } from \"../../../../icons\";\nimport { IPool, ITenant } from \"../ListTenants/types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport AddPoolModal from \"./AddPoolModal\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport { AppState } from \"../../../../store\";\nimport { setTenantDetailsLoad } from \"../actions\";\nimport SearchIcon from \"../../../../icons/SearchIcon\";\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\ninterface IPoolsSummary {\n classes: any;\n tenant: ITenant | null;\n loadingTenant: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n setTenantDetailsLoad: typeof setTenantDetailsLoad;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n ...actionsTray,\n ...tableStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst PoolsSummary = ({\n classes,\n tenant,\n loadingTenant,\n setTenantDetailsLoad,\n}: IPoolsSummary) => {\n const [pools, setPools] = useState([]);\n const [addPoolOpen, setAddPool] = useState(false);\n const [filter, setFilter] = useState(\"\");\n\n useEffect(() => {\n if (tenant) {\n const resPools = !tenant.pools ? [] : tenant.pools;\n setPools(resPools);\n }\n }, [tenant]);\n\n const onClosePoolAndRefresh = (reload: boolean) => {\n setAddPool(false);\n\n if (reload) {\n setTenantDetailsLoad(true);\n }\n };\n\n const filteredPools = pools.filter((pool) => {\n if (pool.name.toLowerCase().includes(filter.toLowerCase())) {\n return true;\n }\n\n return false;\n });\n\n return (\n \n {addPoolOpen && tenant !== null && (\n \n )}\n\n

Pools

\n \n \n {\n setFilter(event.target.value);\n }}\n InputProps={{\n disableUnderline: true,\n startAdornment: (\n \n \n \n ),\n }}\n variant=\"standard\"\n />\n\n {\n setAddPool(true);\n }}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n \n \n
\n
\n\n \n \n \n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n selectedTenant: state.tenants.tenantDetails.currentTenant,\n tenant: state.tenants.tenantDetails.tenantInfo,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n setTenantDetailsLoad,\n});\n\nexport default withStyles(styles)(connector(PoolsSummary));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { IAffinityModel } from \"../../../../common/types\";\n\nexport const getDefaultAffinity = (tenantName: string, poolName: string) => {\n const defaultAffinity: IAffinityModel = {\n podAntiAffinity: {\n requiredDuringSchedulingIgnoredDuringExecution: [\n {\n labelSelector: {\n matchExpressions: [\n {\n key: \"v1.min.io/tenant\",\n operator: \"In\",\n values: [tenantName],\n },\n {\n key: \"v1.min.io/pool\",\n operator: \"In\",\n values: [poolName],\n },\n ],\n },\n topologyKey: \"kubernetes.io/hostname\",\n },\n ],\n },\n };\n return defaultAffinity;\n};\n\nexport const getNodeSelector = (\n labels: string,\n withPodAntiAffinity: boolean,\n tenantName: string,\n poolName: string\n) => {\n // Labels in the form of key1=value1&key2=value2&key3=value3...\n const splittedLabels = labels.split(\"&\");\n let matchExpressions: any = [];\n\n splittedLabels.forEach((label: string) => {\n const splitKeyValue = label.split(\"=\");\n if (splitKeyValue.length === 2) {\n matchExpressions.push({\n key: splitKeyValue[0],\n operator: \"In\",\n values: [splitKeyValue[1]],\n });\n }\n });\n\n const nodeSelector: IAffinityModel = {\n nodeAffinity: {\n requiredDuringSchedulingIgnoredDuringExecution: {\n nodeSelectorTerms: [\n {\n matchExpressions: matchExpressions,\n },\n ],\n },\n },\n };\n if (withPodAntiAffinity) {\n const def = getDefaultAffinity(tenantName, poolName);\n nodeSelector.podAntiAffinity = def.podAntiAffinity;\n }\n console.log(nodeSelector);\n return nodeSelector;\n};\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;"],"names":["useStyles","makeStyles","theme","root","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","width","marginLeft","text","classes","onClick","disabled","tooltip","icon","restProps","size","sx","border","fontSize","display","inputStyles","createStyles","inputFieldStyles","InputField","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","label","onChange","value","id","name","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","className","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","fullWidth","helperText","inputRebase","disableFocusRipple","disableRipple","disableTouchRipple","SelectStyled","height","lineHeight","marginTop","spacing","input","borderRadius","alignItems","backgroundColor","InputBase","fieldContainer","flexFlow","options","item","xs","map","option","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","borderLeftWidth","zIndex","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","cursor","errorTitle","errorLabel","marginRight","messageIcon","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","useState","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","get","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","buttonContainer","textAlign","bottomContainer","margin","justifyContent","factorElements","sizeNumber","sizeDescription","formFieldStyles","modalStyleUtils","tenant","onClosePoolAndReload","addSending","setAddSending","numberOfNodes","setNumberOfNodes","volumeSize","setVolumeSize","volumesPerServer","setVolumesPerSever","selectedStorageClass","setSelectedStorageClass","storageClasses","setStorageClasses","instanceCapacity","totalCapacity","api","namespace","then","res","newStorage","storageClass","split","catch","err","console","ModalWrapper","noValidate","onSubmit","e","preventDefault","poolName","generatePoolName","pools","defaultAffinity","getDefaultAffinity","data","servers","volumes_per_server","volume_configuration","storage_class_name","labels","affinity","Grid","formFieldRow","InputBoxWrapper","parseInt","target","toString","SelectWrapper","niceBytes","modalButtonBar","Button","LinearProgress","loadingTenant","tenants","tenantDetails","selectedTenant","currentTenant","tenantInfo","setErrorSnackMessage","setTenantDetailsLoad","tenantDetailsStyles","actionsTray","tableStyles","containerForHeader","setPools","addPoolOpen","setAddPool","filter","setFilter","resPools","filteredPools","pool","toLowerCase","includes","reload","sectionTitle","TextField","searchField","disableUnderline","startAdornment","InputAdornment","SearchIcon","RBIconButton","tableBlock","TableWrapper","itemActions","columns","elementKey","isLoading","records","entityName","idField","customEmptyMessage","tenantName","podAntiAffinity","requiredDuringSchedulingIgnoredDuringExecution","labelSelector","matchExpressions","key","operator","values","topologyKey","getNodeSelector","withPodAntiAffinity","splittedLabels","forEach","splitKeyValue","push","nodeSelector","nodeAffinity","nodeSelectorTerms","def","log","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getInputAdornmentUtilityClass","_span","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","whiteSpace","action","active","inputAdornmentClasses","pointerEvents","React","inProps","ref","useThemeProps","component","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography","getMenuItemUtilityClass","MenuItemRoot","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","dense","divider","disableGutters","gutters","typography","body1","textDecoration","minHeight","paddingTop","boxSizing","paddingRight","borderBottom","backgroundClip","hover","menuItemClasses","alpha","selectedOpacity","focusOpacity","hoverOpacity","focus","disabledOpacity","marginBottom","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","focusVisibleClassName","role","tabIndexProp","tabIndex","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","composedClasses","handleRef","useForkRef","undefined","focusVisible"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/4220.4e3b3b58.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Tenants/TenantDetails/AddPoolModal.tsx","screens/Console/Tenants/TenantDetails/PoolsSummary.tsx","screens/Console/Tenants/TenantDetails/utils.ts","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","import React, { useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport { generatePoolName, niceBytes } from \"../../../../common/utils\";\nimport { Button, LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport api from \"../../../../common/api\";\nimport { IAddPoolRequest, ITenant } from \"../ListTenants/types\";\nimport { ErrorResponseHandler, IAffinityModel } from \"../../../../common/types\";\nimport { getDefaultAffinity } from \"./utils\";\n\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { IQuotaElement, IQuotas, Opts } from \"../ListTenants/utils\";\nimport { NewPoolIcon } from \"../../../../icons\";\n\ninterface IAddPoolProps {\n tenant: ITenant;\n classes: any;\n open: boolean;\n onClosePoolAndReload: (shouldReload: boolean) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\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 factorElements: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n marginLeft: 30,\n },\n sizeNumber: {\n fontSize: 35,\n fontWeight: 700,\n textAlign: \"center\",\n },\n sizeDescription: {\n fontSize: 14,\n color: \"#777\",\n textAlign: \"center\",\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst AddPoolModal = ({\n tenant,\n classes,\n open,\n onClosePoolAndReload,\n}: IAddPoolProps) => {\n const [addSending, setAddSending] = useState(false);\n const [numberOfNodes, setNumberOfNodes] = useState(0);\n const [volumeSize, setVolumeSize] = useState(0);\n const [volumesPerServer, setVolumesPerSever] = useState(0);\n const [selectedStorageClass, setSelectedStorageClass] = useState(\"\");\n const [storageClasses, setStorageClasses] = useState([]);\n\n const instanceCapacity: number = volumeSize * 1073741824 * volumesPerServer;\n const totalCapacity: number = instanceCapacity * numberOfNodes;\n\n useEffect(() => {\n setSelectedStorageClass(\"\");\n\n setStorageClasses([]);\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenant.namespace}/resourcequotas/${tenant.namespace}-storagequota`\n )\n .then((res: IQuotas) => {\n const elements: IQuotaElement[] = get(res, \"elements\", []);\n\n const newStorage = elements.map((storageClass: any) => {\n const name = get(storageClass, \"name\", \"\").split(\n \".storageclass.storage.k8s.io/requests.storage\"\n )[0];\n\n return { label: name, value: name };\n });\n\n setStorageClasses(newStorage);\n if (newStorage.length > 0) {\n setSelectedStorageClass(newStorage[0].value);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n console.error(err);\n });\n }, [tenant]);\n\n return (\n onClosePoolAndReload(false)}\n modalOpen={open}\n title=\"Add Pool\"\n titleIcon={}\n >\n ) => {\n e.preventDefault();\n setAddSending(true);\n\n const poolName = generatePoolName(tenant.pools);\n\n const defaultAffinity: IAffinityModel = getDefaultAffinity(\n tenant.name,\n poolName\n );\n\n const data: IAddPoolRequest = {\n name: poolName,\n servers: numberOfNodes,\n volumes_per_server: volumesPerServer,\n volume_configuration: {\n size: volumeSize * 1073741824,\n storage_class_name: selectedStorageClass,\n labels: null,\n },\n affinity: defaultAffinity,\n };\n\n api\n .invoke(\n \"POST\",\n `/api/v1/namespaces/${tenant.namespace}/tenants/${tenant.name}/pools`,\n data\n )\n .then(() => {\n setAddSending(false);\n onClosePoolAndReload(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n // setDeleteError(err);\n });\n }}\n >\n \n ) => {\n setNumberOfNodes(parseInt(e.target.value));\n }}\n label=\"Number of Nodes\"\n value={numberOfNodes.toString(10)}\n />\n \n \n ) => {\n setVolumeSize(parseInt(e.target.value));\n }}\n label=\"Volume Size (Gi)\"\n value={volumeSize.toString(10)}\n />\n \n \n ) => {\n setVolumesPerSever(parseInt(e.target.value));\n }}\n label=\"Volumes per Server\"\n value={volumesPerServer.toString(10)}\n />\n \n \n ) => {\n setSelectedStorageClass(e.target.value as string);\n }}\n label=\"Storage Class\"\n value={selectedStorageClass}\n options={storageClasses}\n disabled={storageClasses.length < 1}\n />\n \n\n \n
\n
\n
\n {niceBytes(instanceCapacity.toString(10))}\n
\n
Instance Capacity
\n
\n
\n
\n {niceBytes(totalCapacity.toString(10))}\n
\n
Total Capacity
\n
\n
\n
\n \n onClosePoolAndReload(false)}\n >\n Cancel\n \n \n Save\n \n \n {addSending && (\n \n \n \n )}\n \n \n );\n};\n\nexport default withStyles(styles)(AddPoolModal);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n actionsTray,\n containerForHeader,\n tableStyles,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { TextField } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { AddIcon } from \"../../../../icons\";\nimport { IPool, ITenant } from \"../ListTenants/types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport AddPoolModal from \"./AddPoolModal\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport { AppState } from \"../../../../store\";\nimport { setTenantDetailsLoad } from \"../actions\";\nimport SearchIcon from \"../../../../icons/SearchIcon\";\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\ninterface IPoolsSummary {\n classes: any;\n tenant: ITenant | null;\n loadingTenant: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n setTenantDetailsLoad: typeof setTenantDetailsLoad;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n ...actionsTray,\n ...tableStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst PoolsSummary = ({\n classes,\n tenant,\n loadingTenant,\n setTenantDetailsLoad,\n}: IPoolsSummary) => {\n const [pools, setPools] = useState([]);\n const [addPoolOpen, setAddPool] = useState(false);\n const [filter, setFilter] = useState(\"\");\n\n useEffect(() => {\n if (tenant) {\n const resPools = !tenant.pools ? [] : tenant.pools;\n setPools(resPools);\n }\n }, [tenant]);\n\n const onClosePoolAndRefresh = (reload: boolean) => {\n setAddPool(false);\n\n if (reload) {\n setTenantDetailsLoad(true);\n }\n };\n\n const filteredPools = pools.filter((pool) => {\n if (pool.name.toLowerCase().includes(filter.toLowerCase())) {\n return true;\n }\n\n return false;\n });\n\n return (\n \n {addPoolOpen && tenant !== null && (\n \n )}\n\n

Pools

\n \n \n {\n setFilter(event.target.value);\n }}\n InputProps={{\n disableUnderline: true,\n startAdornment: (\n \n \n \n ),\n }}\n variant=\"standard\"\n />\n\n {\n setAddPool(true);\n }}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n \n \n
\n
\n\n \n \n \n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n selectedTenant: state.tenants.tenantDetails.currentTenant,\n tenant: state.tenants.tenantDetails.tenantInfo,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n setTenantDetailsLoad,\n});\n\nexport default withStyles(styles)(connector(PoolsSummary));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { IAffinityModel } from \"../../../../common/types\";\n\nexport const getDefaultAffinity = (tenantName: string, poolName: string) => {\n const defaultAffinity: IAffinityModel = {\n podAntiAffinity: {\n requiredDuringSchedulingIgnoredDuringExecution: [\n {\n labelSelector: {\n matchExpressions: [\n {\n key: \"v1.min.io/tenant\",\n operator: \"In\",\n values: [tenantName],\n },\n {\n key: \"v1.min.io/pool\",\n operator: \"In\",\n values: [poolName],\n },\n ],\n },\n topologyKey: \"kubernetes.io/hostname\",\n },\n ],\n },\n };\n return defaultAffinity;\n};\n\nexport const getNodeSelector = (\n labels: string,\n withPodAntiAffinity: boolean,\n tenantName: string,\n poolName: string\n) => {\n // Labels in the form of key1=value1&key2=value2&key3=value3...\n const splittedLabels = labels.split(\"&\");\n let matchExpressions: any = [];\n\n splittedLabels.forEach((label: string) => {\n const splitKeyValue = label.split(\"=\");\n if (splitKeyValue.length === 2) {\n matchExpressions.push({\n key: splitKeyValue[0],\n operator: \"In\",\n values: [splitKeyValue[1]],\n });\n }\n });\n\n const nodeSelector: IAffinityModel = {\n nodeAffinity: {\n requiredDuringSchedulingIgnoredDuringExecution: {\n nodeSelectorTerms: [\n {\n matchExpressions: matchExpressions,\n },\n ],\n },\n },\n };\n if (withPodAntiAffinity) {\n const def = getDefaultAffinity(tenantName, poolName);\n nodeSelector.podAntiAffinity = def.podAntiAffinity;\n }\n console.log(nodeSelector);\n return nodeSelector;\n};\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;"],"names":["useStyles","makeStyles","theme","root","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","width","marginLeft","text","classes","onClick","disabled","tooltip","icon","restProps","size","sx","border","fontSize","display","inputStyles","createStyles","inputFieldStyles","InputField","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","label","onChange","value","id","name","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","className","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","fullWidth","helperText","inputRebase","disableFocusRipple","disableRipple","disableTouchRipple","SelectStyled","height","lineHeight","marginTop","spacing","input","borderRadius","alignItems","backgroundColor","InputBase","fieldContainer","flexFlow","options","item","xs","map","option","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","borderLeftWidth","zIndex","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","cursor","errorTitle","errorLabel","marginRight","messageIcon","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","useState","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","get","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","buttonContainer","textAlign","bottomContainer","margin","justifyContent","factorElements","sizeNumber","sizeDescription","formFieldStyles","modalStyleUtils","tenant","onClosePoolAndReload","addSending","setAddSending","numberOfNodes","setNumberOfNodes","volumeSize","setVolumeSize","volumesPerServer","setVolumesPerSever","selectedStorageClass","setSelectedStorageClass","storageClasses","setStorageClasses","instanceCapacity","totalCapacity","api","namespace","then","res","newStorage","storageClass","split","catch","err","console","ModalWrapper","noValidate","onSubmit","e","preventDefault","poolName","generatePoolName","pools","defaultAffinity","getDefaultAffinity","data","servers","volumes_per_server","volume_configuration","storage_class_name","labels","affinity","Grid","formFieldRow","InputBoxWrapper","parseInt","target","toString","SelectWrapper","niceBytes","modalButtonBar","Button","LinearProgress","loadingTenant","tenants","tenantDetails","selectedTenant","currentTenant","tenantInfo","setErrorSnackMessage","setTenantDetailsLoad","tenantDetailsStyles","actionsTray","tableStyles","containerForHeader","setPools","addPoolOpen","setAddPool","filter","setFilter","resPools","filteredPools","pool","toLowerCase","includes","reload","sectionTitle","TextField","searchField","disableUnderline","startAdornment","InputAdornment","SearchIcon","RBIconButton","tableBlock","TableWrapper","itemActions","columns","elementKey","isLoading","records","entityName","idField","customEmptyMessage","tenantName","podAntiAffinity","requiredDuringSchedulingIgnoredDuringExecution","labelSelector","matchExpressions","key","operator","values","topologyKey","getNodeSelector","withPodAntiAffinity","splittedLabels","forEach","splitKeyValue","push","nodeSelector","nodeAffinity","nodeSelectorTerms","def","log","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getInputAdornmentUtilityClass","_span","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","whiteSpace","action","active","inputAdornmentClasses","pointerEvents","React","inProps","ref","useThemeProps","component","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography","getMenuItemUtilityClass","MenuItemRoot","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","dense","divider","disableGutters","gutters","typography","body1","textDecoration","minHeight","paddingTop","boxSizing","paddingRight","borderBottom","backgroundClip","hover","menuItemClasses","alpha","selectedOpacity","focusOpacity","hoverOpacity","focus","disabledOpacity","marginBottom","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","focusVisibleClassName","role","tabIndexProp","tabIndex","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","composedClasses","handleRef","useForkRef","undefined","focusVisible"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4247.636fee85.chunk.js b/portal-ui/build/static/js/4247.cc0f88b2.chunk.js similarity index 99% rename from portal-ui/build/static/js/4247.636fee85.chunk.js rename to portal-ui/build/static/js/4247.cc0f88b2.chunk.js index d35aee582..7af964ef5 100644 --- a/portal-ui/build/static/js/4247.636fee85.chunk.js +++ b/portal-ui/build/static/js/4247.cc0f88b2.chunk.js @@ -1,2 +1,2 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4247],{25534:function(e,t,n){"use strict";var i=n(18489),o=(n(50390),n(25594)),a=n(86509),r=n(4285),s=n(72462),c=n(62559);t.Z=(0,r.Z)((function(e){return(0,a.Z)((0,i.Z)({},s.Bw))}))((function(e){var t=e.classes,n=e.className,i=void 0===n?"":n,a=e.children;return(0,c.jsx)("div",{className:t.contentSpacer,children:(0,c.jsx)(o.ZP,{container:!0,children:(0,c.jsx)(o.ZP,{item:!0,xs:12,className:i,children:a})})})}))},35721:function(e,t,n){"use strict";n(50390);var i=n(34424),o=n(25594),a=n(86509),r=n(4285),s=n(35477),c=n(95467),l=n(26805),d=n(44078),u=n(5265),f=n(11387),p=n(62559),m={toggleList:u.kQ},b=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),m);t.Z=b((0,r.Z)((function(e){return(0,a.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,i=e.actions,a=e.sidebarOpen,r=e.operatorMode,u=e.managerObjects,m=e.toggleList,b=e.middleComponent;return(0,p.jsxs)(o.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:b?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!a&&(0,p.jsx)("div",{className:t.logo,children:r?(0,p.jsx)(l.Z,{}):(0,p.jsx)(d.Z,{})}),(0,p.jsx)(s.Z,{variant:"h4",className:t.labelStyle,children:n})]}),b&&(0,p.jsx)(o.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:b}),(0,p.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:b?3:6,className:t.rightMenu,children:[i&&i,u&&u.length>0&&(0,p.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){m()},size:"large",children:(0,p.jsx)(f.gx,{})})]})]})})))},79661:function(e,t,n){"use strict";n.r(t);var i=n(23430),o=n(18489),a=n(50390),r=n(46413),s=n(25594),c=n(47554),l=n(43965),d=n(31680),u=n(12066),f=n(66946),p=n(69686),m=n(34424),b=n(86509),g=n(4285),h=n(49255),v=n(28948),x=n(51774),Z=n(72462),y=n(17777),w=n(35721),j=n(30324),k=n(25534),C=n(62559),S=(0,g.Z)((function(e){return(0,b.Z)({root:{lineHeight:"50px","label + &":{marginTop:e.spacing(3)},"& .MuiSelect-select:focus":{backgroundColor:"transparent"}},input:{height:50,fontSize:13,lineHeight:"50px"}})}))(r.ZP),O=(0,m.$j)((function(e){return{messages:e.watch.messages}}),{watchMessageReceived:h.pG,watchResetMessages:h.uE});t.default=O((0,g.Z)((function(e){return(0,b.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)({searchPrefix:{flexGrow:1,marginLeft:15},watchTableHeight:{height:"calc(100vh - 270px)"},bucketField:{flexGrow:2,minWidth:200}},Z.VX),Z.OR),Z.qg),(0,Z.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=e.watchMessageReceived,o=e.watchResetMessages,r=e.messages,m=(0,a.useState)(!1),b=(0,i.Z)(m,2),g=b[0],h=b[1],Z=(0,a.useState)("Select Bucket"),O=(0,i.Z)(Z,2),N=O[0],P=O[1],M=(0,a.useState)(""),T=(0,i.Z)(M,2),I=T[0],F=T[1],_=(0,a.useState)(""),L=(0,i.Z)(_,2),E=L[0],G=L[1],R=(0,a.useState)([]),V=(0,i.Z)(R,2),B=V[0],z=V[1];(0,a.useEffect)((function(){j.Z.invoke("GET","/api/v1/buckets").then((function(e){var t=[];null!==e.buckets&&(t=e.buckets),z(t)})).catch((function(e){console.log(e)}))}),[]),(0,a.useEffect)((function(){if(o(),g&&B.some((function(e){return e.name===N}))){var e=new URL(window.location.toString()),t=e.port,i=(0,x.x2)(e.protocol),a=new p.w3cwebsocket("".concat(i,"://").concat(e.hostname,":").concat(t,"/ws/watch/").concat(N,"?prefix=").concat(I,"&suffix=").concat(E)),r=null;if(null!==a)return a.onopen=function(){console.log("WebSocket Client Connected"),a.send("ok"),r=setInterval((function(){a.send("ok")}),1e4)},a.onmessage=function(e){var t=JSON.parse(e.data.toString());t.Time=new Date(t.Time.toString()),t.key=Math.random(),n(t)},a.onclose=function(){clearInterval(r),console.log("connection closed by server"),h(!1)},function(){a.close(1e3),clearInterval(r),console.log("closing websockets")}}else h(!1)}),[n,g,B,N,I,E,o]);var H=B.map((function(e){return{label:e.name,value:e.name}}));return(0,C.jsxs)(a.Fragment,{children:[(0,C.jsx)(w.Z,{label:"Watch"}),(0,C.jsx)(k.Z,{children:(0,C.jsxs)(s.ZP,{item:!0,xs:12,children:[(0,C.jsxs)(s.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,C.jsx)(c.Z,{variant:"outlined",className:t.bucketField,children:(0,C.jsxs)(l.Z,{id:"bucket-name",name:"bucket-name",value:N,onChange:function(e){P(e.target.value)},className:t.searchField,disabled:g,input:(0,C.jsx)(S,{}),children:[(0,C.jsx)(d.Z,{value:N,disabled:!0,children:"Select Bucket"},"select-bucket-name-default"),H.map((function(e){return(0,C.jsx)(d.Z,{value:e.value,children:e.label},"select-bucket-name-".concat(e.label))}))]})}),(0,C.jsx)(u.Z,{className:"".concat(t.searchField," ").concat(t.searchPrefix),id:"prefix-resource",label:"Prefix",disabled:g,InputProps:{disableUnderline:!0},onChange:function(e){F(e.target.value)},variant:"standard"}),(0,C.jsx)(u.Z,{className:"".concat(t.searchField," ").concat(t.searchPrefix),id:"suffix-resource",label:"Suffix",disabled:g,InputProps:{disableUnderline:!0},onChange:function(e){G(e.target.value)},variant:"standard"}),(0,C.jsx)(f.Z,{type:"submit",variant:"contained",color:"primary",disabled:g,onClick:function(){return h(!0)},children:"Start"})]}),(0,C.jsx)("div",{className:t.tableBlock,children:(0,C.jsx)(y.Z,{columns:[{label:"Time",elementKey:"Time",renderFunction:v.zk},{label:"Size",elementKey:"Size",renderFunction:v.ae},{label:"Type",elementKey:"Type"},{label:"Path",elementKey:"Path"}],records:r,entityName:"Watch",customEmptyMessage:"No Changes at this time",idField:"watch_table",isLoading:!1,customPaperHeight:t.watchTableHeight})})]})})]})})))},51774:function(e,t,n){"use strict";n.d(t,{V9:function(){return i},ci:function(){return o},HE:function(){return a},x2:function(){return r}});var i=1006,o=1008,a=1011,r=function(e){var t="ws";return"https:"===e&&(t="wss"),t}},4247:function(e,t,n){"use strict";n.d(t,{V:function(){return o}});var i=n(10594);function o(e){return(0,i.Z)("MuiDivider",e)}var a=(0,n(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=a},31680:function(e,t,n){"use strict";n.d(t,{Z:function(){return C}});var i=n(36222),o=n(1048),a=n(32793),r=n(50390),s=n(44977),c=n(50076),l=n(36128),d=n(8208),u=n(15573),f=n(57308),p=n(86875),m=n(40839),b=n(3299),g=n(4247),h=n(2198),v=n(23586),x=n(10594);function Z(e){return(0,x.Z)("MuiMenuItem",e)}var y=(0,n(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),w=n(62559),j=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],k=(0,d.ZP)(p.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,o=e.ownerState;return(0,a.Z)({},n.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!o.disableGutters&&{paddingLeft:16,paddingRight:16},o.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,i.Z)(t,"&.".concat(y.selected),(0,i.Z)({backgroundColor:(0,l.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(y.focusVisible),{backgroundColor:(0,l.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,i.Z)(t,"&.".concat(y.selected,":hover"),{backgroundColor:(0,l.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,l.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,i.Z)(t,"&.".concat(y.focusVisible),{backgroundColor:n.palette.action.focus}),(0,i.Z)(t,"&.".concat(y.disabled),{opacity:n.palette.action.disabledOpacity}),(0,i.Z)(t,"& + .".concat(g.Z.root),{marginTop:n.spacing(1),marginBottom:n.spacing(1)}),(0,i.Z)(t,"& + .".concat(g.Z.inset),{marginLeft:52}),(0,i.Z)(t,"& .".concat(v.Z.root),{marginTop:0,marginBottom:0}),(0,i.Z)(t,"& .".concat(v.Z.inset),{paddingLeft:36}),(0,i.Z)(t,"& .".concat(h.Z.root),{minWidth:36}),t),!o.dense&&(0,i.Z)({},n.breakpoints.up("sm"),{minHeight:"auto"}),o.dense&&(0,a.Z)({minHeight:32,paddingTop:4,paddingBottom:4},n.typography.body2,(0,i.Z)({},"& .".concat(h.Z.root," svg"),{fontSize:"1.25rem"})))})),C=r.forwardRef((function(e,t){var n=(0,u.Z)({props:e,name:"MuiMenuItem"}),i=n.autoFocus,l=void 0!==i&&i,d=n.component,p=void 0===d?"li":d,g=n.dense,h=void 0!==g&&g,v=n.divider,x=void 0!==v&&v,y=n.disableGutters,C=void 0!==y&&y,S=n.focusVisibleClassName,O=n.role,N=void 0===O?"menuitem":O,P=n.tabIndex,M=(0,o.Z)(n,j),T=r.useContext(f.Z),I={dense:h||T.dense||!1,disableGutters:C},F=r.useRef(null);(0,m.Z)((function(){l&&F.current&&F.current.focus()}),[l]);var _,L=(0,a.Z)({},n,{dense:I.dense,divider:x,disableGutters:C}),E=function(e){var t=e.disabled,n=e.dense,i=e.divider,o=e.disableGutters,r=e.selected,s=e.classes,l={root:["root",n&&"dense",t&&"disabled",!o&&"gutters",i&&"divider",r&&"selected"]},d=(0,c.Z)(l,Z,s);return(0,a.Z)({},s,d)}(n),G=(0,b.Z)(F,t);return n.disabled||(_=void 0!==P?P:-1),(0,w.jsx)(f.Z.Provider,{value:I,children:(0,w.jsx)(k,(0,a.Z)({ref:G,role:N,tabIndex:_,component:p,focusVisibleClassName:(0,s.Z)(E.focusVisible,S)},M,{ownerState:L,classes:E}))})}))},3930:function(e){var t=function(){if("object"===typeof self&&self)return self;if("object"===typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};e.exports=function(){if(this)return this;if("object"===typeof globalThis&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return t()}try{return __global__||t()}finally{delete Object.prototype.__global__}}()},69686:function(e,t,n){var i;if("object"===typeof globalThis)i=globalThis;else try{i=n(3930)}catch(s){}finally{if(i||"undefined"===typeof window||(i=window),!i)throw new Error("Could not determine global this")}var o=i.WebSocket||i.MozWebSocket,a=n(84994);function r(e,t){return t?new o(e,t):new o(e)}o&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(r,e,{get:function(){return o[e]}})})),e.exports={w3cwebsocket:o?r:null,version:a}},84994:function(e,t,n){e.exports=n(19794).version},83738:function(e,t,n){"use strict";function i(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}n.d(t,{Z:function(){return i}})},19794:function(e){"use strict";e.exports={version:"1.0.34"}}}]); -//# sourceMappingURL=4247.636fee85.chunk.js.map \ No newline at end of file +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4247],{25534:function(e,t,n){"use strict";var i=n(18489),o=(n(50390),n(25594)),a=n(86509),r=n(4285),s=n(72462),c=n(62559);t.Z=(0,r.Z)((function(e){return(0,a.Z)((0,i.Z)({},s.Bw))}))((function(e){var t=e.classes,n=e.className,i=void 0===n?"":n,a=e.children;return(0,c.jsx)("div",{className:t.contentSpacer,children:(0,c.jsx)(o.ZP,{container:!0,children:(0,c.jsx)(o.ZP,{item:!0,xs:12,className:i,children:a})})})}))},35721:function(e,t,n){"use strict";n(50390);var i=n(34424),o=n(25594),a=n(86509),r=n(4285),s=n(35477),c=n(95467),l=n(26805),d=n(44078),u=n(5265),f=n(98280),p=n(62559),m={toggleList:u.kQ},b=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),m);t.Z=b((0,r.Z)((function(e){return(0,a.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,i=e.actions,a=e.sidebarOpen,r=e.operatorMode,u=e.managerObjects,m=e.toggleList,b=e.middleComponent;return(0,p.jsxs)(o.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:b?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!a&&(0,p.jsx)("div",{className:t.logo,children:r?(0,p.jsx)(l.Z,{}):(0,p.jsx)(d.Z,{})}),(0,p.jsx)(s.Z,{variant:"h4",className:t.labelStyle,children:n})]}),b&&(0,p.jsx)(o.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:b}),(0,p.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:b?3:6,className:t.rightMenu,children:[i&&i,u&&u.length>0&&(0,p.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){m()},size:"large",children:(0,p.jsx)(f.gx,{})})]})]})})))},79661:function(e,t,n){"use strict";n.r(t);var i=n(23430),o=n(18489),a=n(50390),r=n(46413),s=n(25594),c=n(47554),l=n(43965),d=n(31680),u=n(12066),f=n(66946),p=n(69686),m=n(34424),b=n(86509),g=n(4285),h=n(49255),v=n(28948),x=n(51774),Z=n(72462),y=n(17777),w=n(35721),j=n(30324),k=n(25534),C=n(62559),S=(0,g.Z)((function(e){return(0,b.Z)({root:{lineHeight:"50px","label + &":{marginTop:e.spacing(3)},"& .MuiSelect-select:focus":{backgroundColor:"transparent"}},input:{height:50,fontSize:13,lineHeight:"50px"}})}))(r.ZP),O=(0,m.$j)((function(e){return{messages:e.watch.messages}}),{watchMessageReceived:h.pG,watchResetMessages:h.uE});t.default=O((0,g.Z)((function(e){return(0,b.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)({searchPrefix:{flexGrow:1,marginLeft:15},watchTableHeight:{height:"calc(100vh - 270px)"},bucketField:{flexGrow:2,minWidth:200}},Z.VX),Z.OR),Z.qg),(0,Z.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=e.watchMessageReceived,o=e.watchResetMessages,r=e.messages,m=(0,a.useState)(!1),b=(0,i.Z)(m,2),g=b[0],h=b[1],Z=(0,a.useState)("Select Bucket"),O=(0,i.Z)(Z,2),N=O[0],P=O[1],M=(0,a.useState)(""),T=(0,i.Z)(M,2),I=T[0],F=T[1],_=(0,a.useState)(""),L=(0,i.Z)(_,2),E=L[0],G=L[1],R=(0,a.useState)([]),V=(0,i.Z)(R,2),B=V[0],z=V[1];(0,a.useEffect)((function(){j.Z.invoke("GET","/api/v1/buckets").then((function(e){var t=[];null!==e.buckets&&(t=e.buckets),z(t)})).catch((function(e){console.log(e)}))}),[]),(0,a.useEffect)((function(){if(o(),g&&B.some((function(e){return e.name===N}))){var e=new URL(window.location.toString()),t=e.port,i=(0,x.x2)(e.protocol),a=new p.w3cwebsocket("".concat(i,"://").concat(e.hostname,":").concat(t,"/ws/watch/").concat(N,"?prefix=").concat(I,"&suffix=").concat(E)),r=null;if(null!==a)return a.onopen=function(){console.log("WebSocket Client Connected"),a.send("ok"),r=setInterval((function(){a.send("ok")}),1e4)},a.onmessage=function(e){var t=JSON.parse(e.data.toString());t.Time=new Date(t.Time.toString()),t.key=Math.random(),n(t)},a.onclose=function(){clearInterval(r),console.log("connection closed by server"),h(!1)},function(){a.close(1e3),clearInterval(r),console.log("closing websockets")}}else h(!1)}),[n,g,B,N,I,E,o]);var H=B.map((function(e){return{label:e.name,value:e.name}}));return(0,C.jsxs)(a.Fragment,{children:[(0,C.jsx)(w.Z,{label:"Watch"}),(0,C.jsx)(k.Z,{children:(0,C.jsxs)(s.ZP,{item:!0,xs:12,children:[(0,C.jsxs)(s.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,C.jsx)(c.Z,{variant:"outlined",className:t.bucketField,children:(0,C.jsxs)(l.Z,{id:"bucket-name",name:"bucket-name",value:N,onChange:function(e){P(e.target.value)},className:t.searchField,disabled:g,input:(0,C.jsx)(S,{}),children:[(0,C.jsx)(d.Z,{value:N,disabled:!0,children:"Select Bucket"},"select-bucket-name-default"),H.map((function(e){return(0,C.jsx)(d.Z,{value:e.value,children:e.label},"select-bucket-name-".concat(e.label))}))]})}),(0,C.jsx)(u.Z,{className:"".concat(t.searchField," ").concat(t.searchPrefix),id:"prefix-resource",label:"Prefix",disabled:g,InputProps:{disableUnderline:!0},onChange:function(e){F(e.target.value)},variant:"standard"}),(0,C.jsx)(u.Z,{className:"".concat(t.searchField," ").concat(t.searchPrefix),id:"suffix-resource",label:"Suffix",disabled:g,InputProps:{disableUnderline:!0},onChange:function(e){G(e.target.value)},variant:"standard"}),(0,C.jsx)(f.Z,{type:"submit",variant:"contained",color:"primary",disabled:g,onClick:function(){return h(!0)},children:"Start"})]}),(0,C.jsx)("div",{className:t.tableBlock,children:(0,C.jsx)(y.Z,{columns:[{label:"Time",elementKey:"Time",renderFunction:v.zk},{label:"Size",elementKey:"Size",renderFunction:v.ae},{label:"Type",elementKey:"Type"},{label:"Path",elementKey:"Path"}],records:r,entityName:"Watch",customEmptyMessage:"No Changes at this time",idField:"watch_table",isLoading:!1,customPaperHeight:t.watchTableHeight})})]})})]})})))},51774:function(e,t,n){"use strict";n.d(t,{V9:function(){return i},ci:function(){return o},HE:function(){return a},x2:function(){return r}});var i=1006,o=1008,a=1011,r=function(e){var t="ws";return"https:"===e&&(t="wss"),t}},4247:function(e,t,n){"use strict";n.d(t,{V:function(){return o}});var i=n(10594);function o(e){return(0,i.Z)("MuiDivider",e)}var a=(0,n(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=a},31680:function(e,t,n){"use strict";n.d(t,{Z:function(){return C}});var i=n(36222),o=n(1048),a=n(32793),r=n(50390),s=n(44977),c=n(50076),l=n(36128),d=n(8208),u=n(15573),f=n(57308),p=n(86875),m=n(40839),b=n(3299),g=n(4247),h=n(2198),v=n(23586),x=n(10594);function Z(e){return(0,x.Z)("MuiMenuItem",e)}var y=(0,n(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),w=n(62559),j=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],k=(0,d.ZP)(p.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,o=e.ownerState;return(0,a.Z)({},n.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!o.disableGutters&&{paddingLeft:16,paddingRight:16},o.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,i.Z)(t,"&.".concat(y.selected),(0,i.Z)({backgroundColor:(0,l.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(y.focusVisible),{backgroundColor:(0,l.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,i.Z)(t,"&.".concat(y.selected,":hover"),{backgroundColor:(0,l.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,l.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,i.Z)(t,"&.".concat(y.focusVisible),{backgroundColor:n.palette.action.focus}),(0,i.Z)(t,"&.".concat(y.disabled),{opacity:n.palette.action.disabledOpacity}),(0,i.Z)(t,"& + .".concat(g.Z.root),{marginTop:n.spacing(1),marginBottom:n.spacing(1)}),(0,i.Z)(t,"& + .".concat(g.Z.inset),{marginLeft:52}),(0,i.Z)(t,"& .".concat(v.Z.root),{marginTop:0,marginBottom:0}),(0,i.Z)(t,"& .".concat(v.Z.inset),{paddingLeft:36}),(0,i.Z)(t,"& .".concat(h.Z.root),{minWidth:36}),t),!o.dense&&(0,i.Z)({},n.breakpoints.up("sm"),{minHeight:"auto"}),o.dense&&(0,a.Z)({minHeight:32,paddingTop:4,paddingBottom:4},n.typography.body2,(0,i.Z)({},"& .".concat(h.Z.root," svg"),{fontSize:"1.25rem"})))})),C=r.forwardRef((function(e,t){var n=(0,u.Z)({props:e,name:"MuiMenuItem"}),i=n.autoFocus,l=void 0!==i&&i,d=n.component,p=void 0===d?"li":d,g=n.dense,h=void 0!==g&&g,v=n.divider,x=void 0!==v&&v,y=n.disableGutters,C=void 0!==y&&y,S=n.focusVisibleClassName,O=n.role,N=void 0===O?"menuitem":O,P=n.tabIndex,M=(0,o.Z)(n,j),T=r.useContext(f.Z),I={dense:h||T.dense||!1,disableGutters:C},F=r.useRef(null);(0,m.Z)((function(){l&&F.current&&F.current.focus()}),[l]);var _,L=(0,a.Z)({},n,{dense:I.dense,divider:x,disableGutters:C}),E=function(e){var t=e.disabled,n=e.dense,i=e.divider,o=e.disableGutters,r=e.selected,s=e.classes,l={root:["root",n&&"dense",t&&"disabled",!o&&"gutters",i&&"divider",r&&"selected"]},d=(0,c.Z)(l,Z,s);return(0,a.Z)({},s,d)}(n),G=(0,b.Z)(F,t);return n.disabled||(_=void 0!==P?P:-1),(0,w.jsx)(f.Z.Provider,{value:I,children:(0,w.jsx)(k,(0,a.Z)({ref:G,role:N,tabIndex:_,component:p,focusVisibleClassName:(0,s.Z)(E.focusVisible,S)},M,{ownerState:L,classes:E}))})}))},3930:function(e){var t=function(){if("object"===typeof self&&self)return self;if("object"===typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};e.exports=function(){if(this)return this;if("object"===typeof globalThis&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return t()}try{return __global__||t()}finally{delete Object.prototype.__global__}}()},69686:function(e,t,n){var i;if("object"===typeof globalThis)i=globalThis;else try{i=n(3930)}catch(s){}finally{if(i||"undefined"===typeof window||(i=window),!i)throw new Error("Could not determine global this")}var o=i.WebSocket||i.MozWebSocket,a=n(84994);function r(e,t){return t?new o(e,t):new o(e)}o&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(r,e,{get:function(){return o[e]}})})),e.exports={w3cwebsocket:o?r:null,version:a}},84994:function(e,t,n){e.exports=n(19794).version},83738:function(e,t,n){"use strict";function i(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},a=Object.keys(e);for(i=0;i=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}n.d(t,{Z:function(){return i}})},19794:function(e){"use strict";e.exports={version:"1.0.34"}}}]); +//# sourceMappingURL=4247.cc0f88b2.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4247.636fee85.chunk.js.map b/portal-ui/build/static/js/4247.cc0f88b2.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/4247.636fee85.chunk.js.map rename to portal-ui/build/static/js/4247.cc0f88b2.chunk.js.map index f91b7c341..5ec2bfdec 100644 --- a/portal-ui/build/static/js/4247.636fee85.chunk.js.map +++ b/portal-ui/build/static/js/4247.cc0f88b2.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/4247.636fee85.chunk.js","mappings":"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","sources":["screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Watch/Watch.tsx","utils/wsUtils.ts","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js","../node_modules/es5-ext/global.js","../node_modules/websocket/lib/browser.js","../node_modules/websocket/lib/version.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 {\n Button,\n FormControl,\n Grid,\n InputBase,\n MenuItem,\n Select,\n TextField,\n} from \"@mui/material\";\nimport { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport { connect } 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 { watchMessageReceived, watchResetMessages } from \"./actions\";\nimport { Bucket, BucketList, EventInfo } from \"./types\";\nimport { niceBytes, timeFromDate } from \"../../../common/utils\";\nimport { wsProtocol } from \"../../../utils/wsUtils\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport api from \"../../../common/api\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchPrefix: {\n flexGrow: 1,\n marginLeft: 15,\n },\n watchTableHeight: {\n height: \"calc(100vh - 270px)\",\n },\n bucketField: {\n flexGrow: 2,\n minWidth: 200,\n },\n ...tableStyles,\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\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 input: {\n height: 50,\n fontSize: 13,\n lineHeight: \"50px\",\n },\n })\n)(InputBase);\n\ninterface IWatch {\n classes: any;\n watchMessageReceived: typeof watchMessageReceived;\n watchResetMessages: typeof watchResetMessages;\n messages: EventInfo[];\n}\n\nconst Watch = ({\n classes,\n watchMessageReceived,\n watchResetMessages,\n messages,\n}: IWatch) => {\n const [start, setStart] = useState(false);\n const [bucketName, setBucketName] = useState(\"Select Bucket\");\n const [prefix, setPrefix] = useState(\"\");\n const [suffix, setSuffix] = useState(\"\");\n const [bucketList, setBucketList] = useState([]);\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.log(err);\n });\n };\n useEffect(() => {\n fetchBucketList();\n }, []);\n\n useEffect(() => {\n watchResetMessages();\n // begin watch if bucketName in bucketList and start pressed\n if (start && bucketList.some((bucket) => bucket.name === bucketName)) {\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 const c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}/ws/watch/${bucketName}?prefix=${prefix}&suffix=${suffix}`\n );\n\n let interval: any | null = null;\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n c.send(\"ok\");\n interval = setInterval(() => {\n c.send(\"ok\");\n }, 10 * 1000);\n };\n c.onmessage = (message: IMessageEvent) => {\n let m: EventInfo = JSON.parse(message.data.toString());\n m.Time = new Date(m.Time.toString());\n m.key = Math.random();\n watchMessageReceived(m);\n };\n c.onclose = () => {\n clearInterval(interval);\n console.log(\"connection closed by server\");\n // reset start status\n setStart(false);\n };\n return () => {\n // close websocket on useEffect cleanup\n c.close(1000);\n clearInterval(interval);\n console.log(\"closing websockets\");\n };\n }\n } else {\n // reset start status\n setStart(false);\n }\n }, [\n watchMessageReceived,\n start,\n bucketList,\n bucketName,\n prefix,\n suffix,\n watchResetMessages,\n ]);\n\n const bucketNames = bucketList.map((bucketName) => ({\n label: bucketName.name,\n value: bucketName.name,\n }));\n\n return (\n \n \n \n \n \n \n {\n setBucketName(e.target.value as string);\n }}\n className={classes.searchField}\n disabled={start}\n input={}\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 setSuffix(e.target.value);\n }}\n variant=\"standard\"\n />\n setStart(true)}\n >\n Start\n \n \n\n
\n \n
\n
\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n messages: state.watch.messages,\n});\n\nconst connector = connect(mapState, {\n watchMessageReceived: watchMessageReceived,\n watchResetMessages: watchResetMessages,\n});\n\nexport default connector(withStyles(styles)(Watch));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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 { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;","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","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","pageContentStyles","classes","className","children","contentSpacer","container","item","xs","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","width","minHeight","display","backgroundColor","left","boxShadow","label","justifyContent","alignItems","labelStyle","color","fontSize","fontWeight","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","actions","direction","sm","md","sx","paddingTop","variant","length","component","onClick","size","SelectStyled","root","lineHeight","spacing","input","height","InputBase","messages","watch","watchMessageReceived","watchResetMessages","searchPrefix","flexGrow","watchTableHeight","bucketField","minWidth","tableStyles","actionsTray","searchField","containerForHeader","useState","start","setStart","bucketName","setBucketName","prefix","setPrefix","suffix","setSuffix","bucketList","setBucketList","useEffect","api","then","res","buckets","catch","err","console","log","some","bucket","name","url","URL","window","location","toString","port","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","interval","onopen","send","setInterval","onmessage","message","m","JSON","parse","data","Time","Date","key","Math","random","onclose","clearInterval","close","bucketNames","map","value","id","onChange","e","target","disabled","option","InputProps","disableUnderline","type","tableBlock","columns","elementKey","renderFunction","timeFromDate","niceBytes","records","entityName","customEmptyMessage","idField","isLoading","customPaperHeight","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","styled","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","props","styles","ownerState","dense","divider","disableGutters","gutters","_extends","typography","body1","position","textDecoration","paddingBottom","boxSizing","whiteSpace","paddingLeft","paddingRight","borderBottom","backgroundClip","action","hover","menuItemClasses","alpha","selectedOpacity","focusOpacity","hoverOpacity","focus","opacity","disabledOpacity","marginBottom","listItemTextClasses","listItemIconClasses","breakpoints","up","body2","React","inProps","ref","useThemeProps","autoFocus","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","undefined","_jsx","clsx","focusVisible","naiveFallback","self","Error","module","exports","this","globalThis","Object","defineProperty","prototype","get","configurable","error","__global__","_globalThis","require","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","uri","protocols","forEach","_objectWithoutProperties","source","excluded","i","sourceKeys","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/4247.cc0f88b2.chunk.js","mappings":"6LA8BA,KAAeA,EAAAA,EAAAA,IAvBA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,UACRC,EAAAA,OAqBP,EAZmB,SAAC,GAA4D,IAA1DC,EAAyD,EAAzDA,QAAyD,IAAhDC,UAAAA,OAAgD,MAApC,GAAoC,EAAhCC,EAAgC,EAAhCA,SAC7C,OACE,gBAAKD,UAAWD,EAAQG,cAAxB,UACE,SAAC,KAAD,CAAMC,WAAS,EAAf,UACE,SAAC,KAAD,CAAMC,MAAI,EAACC,GAAI,GAAIL,UAAWA,EAA9B,SACGC,Y,uKC0ILK,EAAqB,CACzBC,WAAAA,EAAAA,IAGIC,GAAYC,EAAAA,EAAAA,KAVD,SAACC,GAAD,MAAsB,CACrCC,YAAaD,EAAME,OAAOD,YAC1BE,aAAcH,EAAME,OAAOC,aAC3BC,eAAgBJ,EAAMK,cAAcC,cAAcC,mBAOhBX,GAEpC,IAAeE,GAAUb,EAAAA,EAAAA,IA7HV,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXqB,gBAAiB,CACfC,MAAO,OACPC,UAAW,GACXC,QAAS,OACTC,gBAAiB,OACjBC,KAAM,EACNC,UAAW,8BAEbC,MAAO,CACLJ,QAAS,OACTK,eAAgB,aAChBC,WAAY,UAEdC,WAAY,CACVC,MAAO,OACPC,SAAU,GACVC,WAAY,IACZC,WAAY,GACZC,UAAW,GAEbC,UAAW,CACTC,UAAW,SAEbC,KAAM,CACJJ,WAAY,GACZK,KAAMzC,EAAM0C,QAAQC,QAAQC,KAC5B,cAAe,CACbrB,MAAO,MAGXsB,gBAAiB,CACfpB,QAAS,OACTK,eAAgB,SAChBC,WAAY,cA0FOhC,EAtFN,SAAC,GASA,IARlBI,EAQiB,EARjBA,QACA0B,EAOiB,EAPjBA,MACAiB,EAMiB,EANjBA,QACA/B,EAKiB,EALjBA,YACAE,EAIiB,EAJjBA,aACAC,EAGiB,EAHjBA,eACAP,EAEiB,EAFjBA,WACAkC,EACiB,EADjBA,gBAEA,OACE,UAAC,KAAD,CACEtC,WAAS,EACTH,UAAS,UAAKD,EAAQmB,gBAAb,gBACTyB,UAAU,MACVhB,WAAW,SAJb,WAME,UAAC,KAAD,CACEvB,MAAI,EACJC,GAAI,GACJuC,GAAI,GACJC,GAAIJ,EAAkB,EAAI,EAC1BzC,UAAWD,EAAQ0B,MACnBqB,GAAI,CACFC,WAAY,CAAC,OAAQ,OAAQ,IAAK,MAPtC,WAUIpC,IACA,gBAAKX,UAAWD,EAAQqC,KAAxB,SACGvB,GAAe,SAAC,IAAD,KAAmB,SAAC,IAAD,OAGvC,SAAC,IAAD,CAAYmC,QAAQ,KAAKhD,UAAWD,EAAQ6B,WAA5C,SACGH,OAGJgB,IACC,SAAC,KAAD,CACErC,MAAI,EACJC,GAAI,GACJuC,GAAI,GACJC,GAAI,EACJ7C,UAAWD,EAAQ0C,gBACnBK,GAAI,CAAEb,UAAW,CAAC,OAAQ,OAAQ,IAAK,MANzC,SAQGQ,KAGL,UAAC,KAAD,CACErC,MAAI,EACJC,GAAI,GACJuC,GAAI,GACJC,GAAIJ,EAAkB,EAAI,EAC1BzC,UAAWD,EAAQmC,UALrB,UAOGQ,GAAWA,EACX5B,GAAkBA,EAAemC,OAAS,IACzC,SAAC,IAAD,CACEpB,MAAM,UACN,aAAW,eACXqB,UAAU,OACVC,QAAS,WACP5C,KAEF6C,KAAK,QAPP,UASE,SAAC,KAAD,iB,0SCjFNC,GAAe1D,EAAAA,EAAAA,IAAW,SAACC,GAAD,OAC9BC,EAAAA,EAAAA,GAAa,CACXyD,KAAM,CACJC,WAAY,OACZ,YAAa,CACXtB,UAAWrC,EAAM4D,QAAQ,IAE3B,4BAA6B,CAC3BlC,gBAAiB,gBAGrBmC,MAAO,CACLC,OAAQ,GACR5B,SAAU,GACVyB,WAAY,YAdG5D,CAiBnBgE,EAAAA,IA6MInD,GAAYC,EAAAA,EAAAA,KAJD,SAACC,GAAD,MAAsB,CACrCkD,SAAUlD,EAAMmD,MAAMD,YAGY,CAClCE,qBAAsBA,EAAAA,GACtBC,mBAAoBA,EAAAA,KAGtB,UAAevD,GAAUb,EAAAA,EAAAA,IAtPV,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,gCACXmE,aAAc,CACZC,SAAU,EACVjC,WAAY,IAEdkC,iBAAkB,CAChBR,OAAQ,uBAEVS,YAAa,CACXF,SAAU,EACVG,SAAU,MAETC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,KACAC,EAAAA,EAAAA,IAAmB5E,EAAM4D,QAAQ,QAsOf7D,EAzMX,SAAC,GAKA,IAJbI,EAIY,EAJZA,QACA+D,EAGY,EAHZA,qBACAC,EAEY,EAFZA,mBACAH,EACY,EADZA,SAEA,GAA0Ba,EAAAA,EAAAA,WAAS,GAAnC,eAAOC,EAAP,KAAcC,EAAd,KACA,GAAoCF,EAAAA,EAAAA,UAAS,iBAA7C,eAAOG,EAAP,KAAmBC,EAAnB,KACA,GAA4BJ,EAAAA,EAAAA,UAAS,IAArC,eAAOK,EAAP,KAAeC,EAAf,KACA,GAA4BN,EAAAA,EAAAA,UAAS,IAArC,eAAOO,EAAP,KAAeC,EAAf,KACA,GAAoCR,EAAAA,EAAAA,UAAmB,IAAvD,eAAOS,EAAP,KAAmBC,EAAnB,MAgBAC,EAAAA,EAAAA,YAAU,WAbRC,EAAAA,EAAAA,OACU,MADV,mBAEGC,MAAK,SAACC,GACL,IAAIC,EAAoB,GACJ,OAAhBD,EAAIC,UACNA,EAAUD,EAAIC,SAEhBL,EAAcK,MAEfC,OAAM,SAACC,GACNC,QAAQC,IAAIF,QAKf,KAEHN,EAAAA,EAAAA,YAAU,WAGR,GAFArB,IAEIW,GAASQ,EAAWW,MAAK,SAACC,GAAD,OAAYA,EAAOC,OAASnB,KAAa,CACpE,IAAMoB,EAAM,IAAIC,IAAIC,OAAOC,SAASC,YAE9BC,EAAwBL,EAAIK,KAE5BC,GAASC,EAAAA,EAAAA,IAAWP,EAAIQ,UACxBC,EAAI,IAAIC,EAAAA,aAAJ,UACLJ,EADK,cACON,EAAIW,SADX,YACuBN,EADvB,qBACwCzB,EADxC,mBAC6DE,EAD7D,mBAC8EE,IAGpF4B,EAAuB,KAC3B,GAAU,OAANH,EAoBF,OAnBAA,EAAEI,OAAS,WACTlB,QAAQC,IAAI,8BACZa,EAAEK,KAAK,MACPF,EAAWG,aAAY,WACrBN,EAAEK,KAAK,QACN,MAELL,EAAEO,UAAY,SAACC,GACb,IAAIC,EAAeC,KAAKC,MAAMH,EAAQI,KAAKjB,YAC3Cc,EAAEI,KAAO,IAAIC,KAAKL,EAAEI,KAAKlB,YACzBc,EAAEM,IAAMC,KAAKC,SACb5D,EAAqBoD,IAEvBT,EAAEkB,QAAU,WACVC,cAAchB,GACdjB,QAAQC,IAAI,+BAEZjB,GAAS,IAEJ,WAEL8B,EAAEoB,MAAM,KACRD,cAAchB,GACdjB,QAAQC,IAAI,4BAKhBjB,GAAS,KAEV,CACDb,EACAY,EACAQ,EACAN,EACAE,EACAE,EACAjB,IAGF,IAAM+D,EAAc5C,EAAW6C,KAAI,SAACnD,GAAD,MAAiB,CAClDnD,MAAOmD,EAAWmB,KAClBiC,MAAOpD,EAAWmB,SAGpB,OACE,UAAC,WAAD,YACE,SAAC,IAAD,CAAYtE,MAAM,WAClB,SAAC,IAAD,WACE,UAAC,KAAD,CAAMrB,MAAI,EAACC,GAAI,GAAf,WACE,UAAC,KAAD,CAAMD,MAAI,EAACC,GAAI,GAAIL,UAAWD,EAAQuE,YAAtC,WACE,SAAC,IAAD,CAAatB,QAAQ,WAAWhD,UAAWD,EAAQoE,YAAnD,UACE,UAAC,IAAD,CACE8D,GAAG,cACHlC,KAAK,cACLiC,MAAOpD,EACPsD,SAAU,SAACC,GACTtD,EAAcsD,EAAEC,OAAOJ,QAEzBhI,UAAWD,EAAQwE,YACnB8D,SAAU3D,EACVjB,OAAO,SAACJ,EAAD,IATT,WAWE,SAAC,IAAD,CACE2E,MAAOpD,EAEPyD,UAAU,EAHZ,wDAOCP,EAAYC,KAAI,SAACO,GAAD,OACf,SAAC,IAAD,CACEN,MAAOM,EAAON,MADhB,SAIGM,EAAO7G,OAJV,6BAE6B6G,EAAO7G,iBAO1C,SAAC,IAAD,CACEzB,UAAS,UAAKD,EAAQwE,YAAb,YAA4BxE,EAAQiE,cAC7CiE,GAAG,kBACHxG,MAAM,SACN4G,SAAU3D,EACV6D,WAAY,CACVC,kBAAkB,GAEpBN,SAAU,SAACC,GACTpD,EAAUoD,EAAEC,OAAOJ,QAErBhF,QAAQ,cAEV,SAAC,IAAD,CACEhD,UAAS,UAAKD,EAAQwE,YAAb,YAA4BxE,EAAQiE,cAC7CiE,GAAG,kBACHxG,MAAM,SACN4G,SAAU3D,EACV6D,WAAY,CACVC,kBAAkB,GAEpBN,SAAU,SAACC,GACTlD,EAAUkD,EAAEC,OAAOJ,QAErBhF,QAAQ,cAEV,SAAC,IAAD,CACEyF,KAAK,SACLzF,QAAQ,YACRnB,MAAM,UACNwG,SAAU3D,EACVvB,QAAS,kBAAMwB,GAAS,IAL1B,uBAWF,gBAAK3E,UAAWD,EAAQ2I,WAAxB,UACE,SAAC,IAAD,CACEC,QAAS,CACP,CACElH,MAAO,OACPmH,WAAY,OACZC,eAAgBC,EAAAA,IAElB,CACErH,MAAO,OACPmH,WAAY,OACZC,eAAgBE,EAAAA,IAElB,CAAEtH,MAAO,OAAQmH,WAAY,QAC7B,CAAEnH,MAAO,OAAQmH,WAAY,SAE/BI,QAASpF,EACTqF,WAAY,QACZC,mBAAoB,0BACpBC,QAAS,cACTC,WAAW,EACXC,kBAAmBtJ,EAAQmE,kC,4IClQlC,IAEMoF,EAAyB,KACzBC,EAAyB,KACzBC,EAA2B,KAE3BjD,EAAa,SAACC,GACzB,IAAID,EAAa,KAIjB,MAHiB,WAAbC,IACFD,EAAa,OAERA,I,iFC3BF,SAASkD,EAAuBC,GACrC,OAAOC,EAAAA,EAAAA,GAAqB,aAAcD,GAE5C,IAAME,GAAiBC,E,SAAAA,GAAuB,aAAc,CAAC,OAAQ,WAAY,YAAa,QAAS,SAAU,WAAY,QAAS,WAAY,eAAgB,uBAAwB,iBAAkB,gBAAiB,UAAW,oBACxO,O,6PCJO,SAASC,EAAwBJ,GACtC,OAAOC,EAAAA,EAAAA,GAAqB,cAAeD,GAE7C,IACA,GADwBG,E,SAAAA,GAAuB,cAAe,CAAC,OAAQ,eAAgB,QAAS,WAAY,UAAW,UAAW,a,WCF5HE,EAAY,CAAC,YAAa,YAAa,QAAS,UAAW,iBAAkB,wBAAyB,OAAQ,YAwC9GC,GAAeC,EAAAA,EAAAA,IAAOC,EAAAA,EAAY,CACtCC,kBAAmB,SAAAC,GAAI,OAAIC,EAAAA,EAAAA,IAAsBD,IAAkB,YAATA,GAC1DrE,KAAM,cACN2D,KAAM,OACNY,kBA3B+B,SAACC,EAAOC,GACvC,IACEC,EACEF,EADFE,WAEF,MAAO,CAACD,EAAOlH,KAAMmH,EAAWC,OAASF,EAAOE,MAAOD,EAAWE,SAAWH,EAAOG,SAAUF,EAAWG,gBAAkBJ,EAAOK,WAmB/GZ,EAKlB,kBACDrK,EADC,EACDA,MACA6K,EAFC,EAEDA,WAFC,OAGGK,EAAAA,EAAAA,GAAS,GAAIlL,EAAMmL,WAAWC,MAAO,CACzC3J,QAAS,OACTK,eAAgB,aAChBC,WAAY,SACZsJ,SAAU,WACVC,eAAgB,OAChB9J,UAAW,GACX2B,WAAY,EACZoI,cAAe,EACfC,UAAW,aACXC,WAAY,WACVZ,EAAWG,gBAAkB,CAC/BU,YAAa,GACbC,aAAc,IACbd,EAAWE,SAAW,CACvBa,aAAc,aAAF,OAAe5L,EAAM0C,QAAQqI,SACzCc,eAAgB,gBAhBJ,GAkBZ,UAAW,CACTP,eAAgB,OAChB5J,gBAAiB1B,EAAM0C,QAAQoJ,OAAOC,MAEtC,uBAAwB,CACtBrK,gBAAiB,kBAvBT,qBA0BNsK,EAAAA,WA1BM,QA2BVtK,iBAAiBuK,EAAAA,EAAAA,IAAMjM,EAAM0C,QAAQC,QAAQC,KAAM5C,EAAM0C,QAAQoJ,OAAOI,kBA3B9D,YA4BJF,EAAAA,cAAiC,CACrCtK,iBAAiBuK,EAAAA,EAAAA,IAAMjM,EAAM0C,QAAQC,QAAQC,KAAM5C,EAAM0C,QAAQoJ,OAAOI,gBAAkBlM,EAAM0C,QAAQoJ,OAAOK,kBA7BvG,qBAgCNH,EAAAA,SAhCM,UAgC6B,CACvCtK,iBAAiBuK,EAAAA,EAAAA,IAAMjM,EAAM0C,QAAQC,QAAQC,KAAM5C,EAAM0C,QAAQoJ,OAAOI,gBAAkBlM,EAAM0C,QAAQoJ,OAAOM,cAE/G,uBAAwB,CACtB1K,iBAAiBuK,EAAAA,EAAAA,IAAMjM,EAAM0C,QAAQC,QAAQC,KAAM5C,EAAM0C,QAAQoJ,OAAOI,qBApChE,qBAuCNF,EAAAA,cAAiC,CACrCtK,gBAAiB1B,EAAM0C,QAAQoJ,OAAOO,SAxC5B,qBA0CNL,EAAAA,UAA6B,CACjCM,QAAStM,EAAM0C,QAAQoJ,OAAOS,mBA3CpB,wBA6CHvC,EAAAA,EAAAA,MAAwB,CAC/B3H,UAAWrC,EAAM4D,QAAQ,GACzB4I,aAAcxM,EAAM4D,QAAQ,MA/ClB,wBAiDHoG,EAAAA,EAAAA,OAAyB,CAChC5H,WAAY,MAlDF,sBAoDLqK,EAAAA,EAAAA,MAA6B,CAClCpK,UAAW,EACXmK,aAAc,KAtDJ,sBAwDLC,EAAAA,EAAAA,OAA8B,CACnCf,YAAa,MAzDH,sBA2DLgB,EAAAA,EAAAA,MAA6B,CAClClI,SAAU,KA5DA,IA8DVqG,EAAWC,QAAZ,UACA9K,EAAM2M,YAAYC,GAAG,MAAQ,CAC5BpL,UAAW,SAEZqJ,EAAWC,QAASI,EAAAA,EAAAA,GAAS,CAC9B1J,UAAW,GAEX2B,WAAY,EACZoI,cAAe,GACdvL,EAAMmL,WAAW0B,OALW,uBAMtBH,EAAAA,EAAAA,KANsB,QAMW,CACtCxK,SAAU,iBAwJd,EArJ8B4K,EAAAA,YAAiB,SAAkBC,EAASC,GACxE,IAAMrC,GAAQsC,EAAAA,EAAAA,GAAc,CAC1BtC,MAAOoC,EACP5G,KAAM,gBAGR,EASIwE,EARFuC,UAAAA,OADF,WASIvC,EAPFrH,UAAAA,OAFF,MAEc,KAFd,IASIqH,EANFG,MAAAA,OAHF,WASIH,EALFI,QAAAA,OAJF,WASIJ,EAJFK,eAAAA,OALF,SAMEmC,EAGExC,EAHFwC,sBANF,EASIxC,EAFFyC,KAAAA,OAPF,MAOS,WAPT,EAQYC,EACR1C,EADF2C,SAEIC,GAAQC,EAAAA,EAAAA,GAA8B7C,EAAOR,GAE7CsD,EAAUX,EAAAA,WAAiBY,EAAAA,GAC3BC,EAAe,CACnB7C,MAAOA,GAAS2C,EAAQ3C,QAAS,EACjCE,eAAAA,GAEI4C,EAAcd,EAAAA,OAAa,OACjCe,EAAAA,EAAAA,IAAkB,WACZX,GACEU,EAAYE,SACdF,EAAYE,QAAQzB,UAKvB,CAACa,IAEJ,IAQII,EAREzC,GAAaK,EAAAA,EAAAA,GAAS,GAAIP,EAAO,CACrCG,MAAO6C,EAAa7C,MACpBC,QAAAA,EACAC,eAAAA,IAGI7K,EA5IkB,SAAA0K,GACxB,IACEpC,EAMEoC,EANFpC,SACAqC,EAKED,EALFC,MACAC,EAIEF,EAJFE,QACAC,EAGEH,EAHFG,eACA+C,EAEElD,EAFFkD,SACA5N,EACE0K,EADF1K,QAEI6N,EAAQ,CACZtK,KAAM,CAAC,OAAQoH,GAAS,QAASrC,GAAY,YAAauC,GAAkB,UAAWD,GAAW,UAAWgD,GAAY,aAErHE,GAAkBC,EAAAA,EAAAA,GAAeF,EAAO9D,EAAyB/J,GACvE,OAAO+K,EAAAA,EAAAA,GAAS,GAAI/K,EAAS8N,GA+HbE,CAAkBxD,GAC5ByD,GAAYC,EAAAA,EAAAA,GAAWT,EAAaZ,GAO1C,OAJKrC,EAAMlC,WACT6E,OAA4BgB,IAAjBjB,EAA6BA,GAAgB,IAGtCkB,EAAAA,EAAAA,KAAKb,EAAAA,EAAAA,SAAsB,CAC7CtF,MAAOuF,EACPtN,UAAuBkO,EAAAA,EAAAA,KAAKnE,GAAcc,EAAAA,EAAAA,GAAS,CACjD8B,IAAKoB,EACLhB,KAAMA,EACNE,SAAUA,EACVhK,UAAWA,EACX6J,uBAAuBqB,EAAAA,EAAAA,GAAKrO,EAAQsO,aAActB,IACjDI,EAAO,CACR1C,WAAYA,EACZ1K,QAASA,W,iBCxLf,IAAIuO,EAAgB,WACnB,GAAoB,kBAATC,MAAqBA,KAAM,OAAOA,KAC7C,GAAsB,kBAAXrI,QAAuBA,OAAQ,OAAOA,OACjD,MAAM,IAAIsI,MAAM,oCAGjBC,EAAOC,QAAW,WACjB,GAAIC,KAAM,OAAOA,KAKjB,GAA0B,kBAAfC,YAA2BA,WAAY,OAAOA,WAKzD,IACCC,OAAOC,eAAeD,OAAOE,UAAW,aAAc,CACrDC,IAAK,WAAc,OAAOL,MAC1BM,cAAc,IAEd,MAAOC,GAGR,OAAOZ,IAER,IAEC,OAAKa,YAAmBb,IAFzB,eAKQO,OAAOE,UAAUI,YA1BR,I,sBCNlB,IAAIC,EACJ,GAA0B,kBAAfR,WACVQ,EAAcR,gBAEd,IACCQ,EAAcC,EAAQ,MACrB,MAAOH,IAFT,QAKC,GADKE,GAAiC,qBAAXlJ,SAA0BkJ,EAAclJ,SAC9DkJ,EAAe,MAAM,IAAIZ,MAAM,mCAItC,IAAIc,EAAkBF,EAAYG,WAAaH,EAAYI,aACvDC,EAAoBJ,EAAQ,OAMhC,SAAS3I,EAAagJ,EAAKC,GAiB1B,OAdIA,EACe,IAAIL,EAAgBI,EAAKC,GAGzB,IAAIL,EAAgBI,GAYpCJ,GACH,CAAC,aAAc,OAAQ,UAAW,UAAUM,SAAQ,SAASxF,GAC5DyE,OAAOC,eAAepI,EAAc0D,EAAM,CACzC4E,IAAK,WAAa,OAAOM,EAAgBlF,SAQ5CqE,EAAOC,QAAU,CACb,aAAiBY,EAAkB5I,EAAe,KAClD,QAAiB+I,I,sBCpDrBhB,EAAOC,QAAU,EAAjBD,OAAAA,S,mCCCe,SAASoB,EAAyBC,EAAQC,GACvD,GAAc,MAAVD,EAAgB,MAAO,GAC3B,IACItI,EAAKwI,EADL5H,ECHS,SAAuC0H,EAAQC,GAC5D,GAAc,MAAVD,EAAgB,MAAO,GAC3B,IAEItI,EAAKwI,EAFL5H,EAAS,GACT6H,EAAapB,OAAOqB,KAAKJ,GAG7B,IAAKE,EAAI,EAAGA,EAAIC,EAAWhN,OAAQ+M,IACjCxI,EAAMyI,EAAWD,GACbD,EAASI,QAAQ3I,IAAQ,IAC7BY,EAAOZ,GAAOsI,EAAOtI,IAGvB,OAAOY,EDTM,CAA6B0H,EAAQC,GAGlD,GAAIlB,OAAOuB,sBAAuB,CAChC,IAAIC,EAAmBxB,OAAOuB,sBAAsBN,GAEpD,IAAKE,EAAI,EAAGA,EAAIK,EAAiBpN,OAAQ+M,IACvCxI,EAAM6I,EAAiBL,GACnBD,EAASI,QAAQ3I,IAAQ,GACxBqH,OAAOE,UAAUuB,qBAAqBC,KAAKT,EAAQtI,KACxDY,EAAOZ,GAAOsI,EAAOtI,IAIzB,OAAOY,E","sources":["screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Watch/Watch.tsx","utils/wsUtils.ts","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js","../node_modules/es5-ext/global.js","../node_modules/websocket/lib/browser.js","../node_modules/websocket/lib/version.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 {\n Button,\n FormControl,\n Grid,\n InputBase,\n MenuItem,\n Select,\n TextField,\n} from \"@mui/material\";\nimport { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport { connect } 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 { watchMessageReceived, watchResetMessages } from \"./actions\";\nimport { Bucket, BucketList, EventInfo } from \"./types\";\nimport { niceBytes, timeFromDate } from \"../../../common/utils\";\nimport { wsProtocol } from \"../../../utils/wsUtils\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport api from \"../../../common/api\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchPrefix: {\n flexGrow: 1,\n marginLeft: 15,\n },\n watchTableHeight: {\n height: \"calc(100vh - 270px)\",\n },\n bucketField: {\n flexGrow: 2,\n minWidth: 200,\n },\n ...tableStyles,\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\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 input: {\n height: 50,\n fontSize: 13,\n lineHeight: \"50px\",\n },\n })\n)(InputBase);\n\ninterface IWatch {\n classes: any;\n watchMessageReceived: typeof watchMessageReceived;\n watchResetMessages: typeof watchResetMessages;\n messages: EventInfo[];\n}\n\nconst Watch = ({\n classes,\n watchMessageReceived,\n watchResetMessages,\n messages,\n}: IWatch) => {\n const [start, setStart] = useState(false);\n const [bucketName, setBucketName] = useState(\"Select Bucket\");\n const [prefix, setPrefix] = useState(\"\");\n const [suffix, setSuffix] = useState(\"\");\n const [bucketList, setBucketList] = useState([]);\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.log(err);\n });\n };\n useEffect(() => {\n fetchBucketList();\n }, []);\n\n useEffect(() => {\n watchResetMessages();\n // begin watch if bucketName in bucketList and start pressed\n if (start && bucketList.some((bucket) => bucket.name === bucketName)) {\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 const c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}/ws/watch/${bucketName}?prefix=${prefix}&suffix=${suffix}`\n );\n\n let interval: any | null = null;\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n c.send(\"ok\");\n interval = setInterval(() => {\n c.send(\"ok\");\n }, 10 * 1000);\n };\n c.onmessage = (message: IMessageEvent) => {\n let m: EventInfo = JSON.parse(message.data.toString());\n m.Time = new Date(m.Time.toString());\n m.key = Math.random();\n watchMessageReceived(m);\n };\n c.onclose = () => {\n clearInterval(interval);\n console.log(\"connection closed by server\");\n // reset start status\n setStart(false);\n };\n return () => {\n // close websocket on useEffect cleanup\n c.close(1000);\n clearInterval(interval);\n console.log(\"closing websockets\");\n };\n }\n } else {\n // reset start status\n setStart(false);\n }\n }, [\n watchMessageReceived,\n start,\n bucketList,\n bucketName,\n prefix,\n suffix,\n watchResetMessages,\n ]);\n\n const bucketNames = bucketList.map((bucketName) => ({\n label: bucketName.name,\n value: bucketName.name,\n }));\n\n return (\n \n \n \n \n \n \n {\n setBucketName(e.target.value as string);\n }}\n className={classes.searchField}\n disabled={start}\n input={}\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 setSuffix(e.target.value);\n }}\n variant=\"standard\"\n />\n setStart(true)}\n >\n Start\n \n \n\n
\n \n
\n
\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n messages: state.watch.messages,\n});\n\nconst connector = connect(mapState, {\n watchMessageReceived: watchMessageReceived,\n watchResetMessages: watchResetMessages,\n});\n\nexport default connector(withStyles(styles)(Watch));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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 { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;","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","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","pageContentStyles","classes","className","children","contentSpacer","container","item","xs","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","width","minHeight","display","backgroundColor","left","boxShadow","label","justifyContent","alignItems","labelStyle","color","fontSize","fontWeight","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","actions","direction","sm","md","sx","paddingTop","variant","length","component","onClick","size","SelectStyled","root","lineHeight","spacing","input","height","InputBase","messages","watch","watchMessageReceived","watchResetMessages","searchPrefix","flexGrow","watchTableHeight","bucketField","minWidth","tableStyles","actionsTray","searchField","containerForHeader","useState","start","setStart","bucketName","setBucketName","prefix","setPrefix","suffix","setSuffix","bucketList","setBucketList","useEffect","api","then","res","buckets","catch","err","console","log","some","bucket","name","url","URL","window","location","toString","port","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","interval","onopen","send","setInterval","onmessage","message","m","JSON","parse","data","Time","Date","key","Math","random","onclose","clearInterval","close","bucketNames","map","value","id","onChange","e","target","disabled","option","InputProps","disableUnderline","type","tableBlock","columns","elementKey","renderFunction","timeFromDate","niceBytes","records","entityName","customEmptyMessage","idField","isLoading","customPaperHeight","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","styled","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","props","styles","ownerState","dense","divider","disableGutters","gutters","_extends","typography","body1","position","textDecoration","paddingBottom","boxSizing","whiteSpace","paddingLeft","paddingRight","borderBottom","backgroundClip","action","hover","menuItemClasses","alpha","selectedOpacity","focusOpacity","hoverOpacity","focus","opacity","disabledOpacity","marginBottom","listItemTextClasses","listItemIconClasses","breakpoints","up","body2","React","inProps","ref","useThemeProps","autoFocus","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","undefined","_jsx","clsx","focusVisible","naiveFallback","self","Error","module","exports","this","globalThis","Object","defineProperty","prototype","get","configurable","error","__global__","_globalThis","require","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","uri","protocols","forEach","_objectWithoutProperties","source","excluded","i","sourceKeys","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/428.4625197b.chunk.js b/portal-ui/build/static/js/428.4625197b.chunk.js new file mode 100644 index 000000000..847b4b0a8 --- /dev/null +++ b/portal-ui/build/static/js/428.4625197b.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[428],{70887:function(e,t,n){var i=n(18489),a=n(50390),o=n(25594),l=n(36554),r=n(94187),s=n(12066),c=n(86509),d=n(4285),u=n(72462),m=n(97538),p=n(62559);t.Z=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.YI),u.Hr),{},{inputLabel:(0,i.Z)((0,i.Z)({},u.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)({},u.YI.inputLabel),{},{fontSize:13,minHeight:150}),"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"#07193E",borderWidth:1},"& textarea":{color:"#07193E",fontSize:13,fontWeight:600,"&:placeholder":{color:"#858585",opacity:1,fontWeight:400}}}}))}))((function(e){var t=e.label,n=e.onChange,i=e.value,c=e.id,d=e.name,u=e.disabled,h=void 0!==u&&u,x=e.tooltip,v=void 0===x?"":x,Z=e.index,f=void 0===Z?0:Z,b=e.error,g=void 0===b?"":b,j=e.required,C=void 0!==j&&j,y=e.placeholder,F=void 0===y?"":y,N=e.classes,w={"data-index":f};return(0,p.jsx)(a.Fragment,{children:(0,p.jsxs)(o.ZP,{item:!0,xs:12,className:"".concat(N.fieldContainer," ").concat(""!==g?N.errorInField:""),children:[""!==t&&(0,p.jsxs)(l.Z,{htmlFor:c,className:N.inputLabel,children:[(0,p.jsxs)("span",{children:[t,C?"*":""]}),""!==v&&(0,p.jsx)("div",{className:N.tooltipContainer,children:(0,p.jsx)(r.Z,{title:v,placement:"top-start",children:(0,p.jsx)("div",{className:N.tooltip,children:(0,p.jsx)(m.Z,{})})})})]}),(0,p.jsx)("div",{className:N.textBoxContainer,children:(0,p.jsx)(s.Z,{id:c,name:d,fullWidth:!0,value:i,disabled:h,onChange:n,multiline:!0,rows:5,inputProps:w,error:""!==g,helperText:g,placeholder:F,InputLabelProps:{shrink:!0},InputProps:{classes:{notchedOutline:N.cssOutlinedInput,root:N.rootContainer}},variant:"outlined"})})]})})}))},92440:function(e,t,n){var i=n(36222),a=n(18489),o=n(50390),l=n(86509),r=n(4285),s=n(49056),c=n(36554),d=n(94187),u=n(35477),m=n(25594),p=n(72462),h=n(97538),x=n(44977),v=n(62559),Z=(0,r.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(s.Z);t.Z=(0,r.Z)((function(e){return(0,l.Z)((0,a.Z)((0,a.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},p.OR),p.YI))}))((function(e){var t=e.label,n=void 0===t?"":t,a=e.onChange,l=e.value,r=e.id,s=e.name,p=e.checked,f=void 0!==p&&p,b=e.disabled,g=void 0!==b&&b,j=e.switchOnly,C=void 0!==j&&j,y=e.tooltip,F=void 0===y?"":y,N=e.description,w=void 0===N?"":N,P=e.classes,k=e.indicatorLabels,L=(0,v.jsxs)(o.Fragment,{children:[!C&&(0,v.jsx)("span",{className:(0,x.Z)(P.indicatorLabel,(0,i.Z)({},P.indicatorLabelOn,!f)),children:k&&k.length>1?k[1]:"OFF"}),(0,v.jsx)(Z,{checked:f,onChange:a,color:"primary",name:s,inputProps:{"aria-label":"primary checkbox"},disabled:g,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:l}),!C&&(0,v.jsx)("span",{className:(0,x.Z)(P.indicatorLabel,(0,i.Z)({},P.indicatorLabelOn,f)),children:k?k[0]:"ON"})]});return C?L:(0,v.jsx)("div",{className:P.divContainer,children:(0,v.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[(0,v.jsx)(m.ZP,{item:!0,xs:!0,children:(0,v.jsxs)(m.ZP,{container:!0,children:[(0,v.jsx)(m.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==n&&(0,v.jsxs)(c.Z,{htmlFor:r,className:P.inputLabel,children:[(0,v.jsx)("span",{children:n}),""!==F&&(0,v.jsx)("div",{className:P.tooltipContainer,children:(0,v.jsx)(d.Z,{title:F,placement:"top-start",children:(0,v.jsx)("div",{className:P.tooltip,children:(0,v.jsx)(h.Z,{})})})})]})}),(0,v.jsx)(m.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==w&&(0,v.jsx)(u.Z,{component:"p",className:P.fieldDescription,children:w})})]})}),(0,v.jsx)(m.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:P.switchContainer,children:L})]})})}))},66964:function(e,t,n){var i=n(18489),a=n(50390),o=n(12066),l=n(25594),r=n(36554),s=n(94187),c=n(95467),d=n(86509),u=n(62449),m=n(4285),p=n(72462),h=n(97538),x=n(44977),v=n(62559),Z=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({},p.gM))}));function f(e){var t=Z();return(0,v.jsx)(o.Z,(0,i.Z)({InputProps:{classes:t}},e))}t.Z=(0,m.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,o=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,Z=e.autoComplete,b=void 0===Z?"off":Z,g=e.disabled,j=void 0!==g&&g,C=e.multiline,y=void 0!==C&&C,F=e.tooltip,N=void 0===F?"":F,w=e.index,P=void 0===w?0:w,k=e.error,L=void 0===k?"":k,S=e.required,I=void 0!==S&&S,O=e.placeholder,R=void 0===O?"":O,E=e.min,M=e.max,A=e.overlayIcon,W=void 0===A?null:A,B=e.overlayObject,q=void 0===B?null:B,T=e.extraInputProps,V=void 0===T?{}:T,D=e.overlayAction,z=e.noLabelMinWidth,H=void 0!==z&&z,G=e.pattern,Y=void 0===G?"":G,_=e.autoFocus,Q=void 0!==_&&_,$=e.classes,U=e.className,X=void 0===U?"":U,J=(0,i.Z)({"data-index":P},V);return"number"===p&&E&&(J.min=E),"number"===p&&M&&(J.max=M),""!==Y&&(J.pattern=Y),(0,v.jsx)(a.Fragment,{children:(0,v.jsxs)(l.ZP,{container:!0,className:(0,x.Z)(""!==X?X:"",""!==L?$.errorInField:$.inputBoxContainer),children:[""!==t&&(0,v.jsxs)(r.Z,{htmlFor:d,className:H?$.noMinWidthLabel:$.inputLabel,children:[(0,v.jsxs)("span",{children:[t,I?"*":""]}),""!==N&&(0,v.jsx)("div",{className:$.tooltipContainer,children:(0,v.jsx)(s.Z,{title:N,placement:"top-start",children:(0,v.jsx)("div",{className:$.tooltip,children:(0,v.jsx)(h.Z,{})})})})]}),(0,v.jsxs)("div",{className:$.textBoxContainer,children:[(0,v.jsx)(f,{id:d,name:u,fullWidth:!0,value:o,autoFocus:Q,disabled:j,onChange:n,type:p,multiline:y,autoComplete:b,inputProps:J,error:""!==L,helperText:L,placeholder:R,className:$.inputRebase}),W&&(0,v.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,v.jsx)(c.Z,{onClick:D?function(){D()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:W})}),q&&(0,v.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==t?"withLabel":""),children:q})]})]})})}))},50280:function(e,t,n){var i=n(18489),a=n(50390),o=n(25594),l=n(86509),r=n(4285),s=n(72462),c=n(62559);t.Z=(0,r.Z)((function(e){return(0,l.Z)((0,i.Z)({},s.xx))}))((function(e){var t=e.classes,n=e.label,i=void 0===n?"":n,l=e.content,r=e.multiLine,s=void 0!==r&&r;return(0,c.jsx)(a.Fragment,{children:(0,c.jsxs)(o.ZP,{className:t.prefinedContainer,children:[""!==i&&(0,c.jsx)(o.ZP,{item:!0,xs:12,className:t.predefinedTitle,children:i}),(0,c.jsx)(o.ZP,{item:!0,xs:12,className:t.predefinedList,children:(0,c.jsx)(o.ZP,{item:!0,xs:12,className:s?t.innerContentMultiline:t.innerContent,children:l})})]})})}))},27207:function(e,t,n){var i=n(36222),a=n(18489),o=(n(50390),n(44977)),l=n(25594),r=n(82420),s=n(66695),c=n(98893),d=n(36554),u=n(94187),m=n(86509),p=n(4285),h=n(62449),x=n(72462),v=n(97538),Z=n(62559),f=(0,h.Z)((0,a.Z)({root:{"&:hover":{backgroundColor:"transparent"}}},x.FU)),b=function(e){var t=f();return(0,Z.jsx)(c.Z,(0,a.Z)({className:t.root,disableRipple:!0,color:"default",checkedIcon:(0,Z.jsx)("span",{className:t.radioSelectedIcon}),icon:(0,Z.jsx)("span",{className:t.radioUnselectedIcon})},e))};t.Z=(0,p.Z)((function(e){return(0,m.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},x.YI),x.Hr),{},{optionLabel:{"&.Mui-disabled":{"& .MuiFormControlLabel-label":{color:"#9c9c9c"}},"&:last-child":{marginRight:0},"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E"}},checkedOption:{"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E",fontWeight:700}}}))}))((function(e){var t=e.selectorOptions,n=void 0===t?[]:t,a=e.currentSelection,c=e.label,m=e.id,p=e.name,h=e.onChange,x=e.tooltip,f=void 0===x?"":x,g=e.disableOptions,j=void 0!==g&&g,C=e.classes,y=e.displayInColumn,F=void 0!==y&&y;return(0,Z.jsxs)(l.ZP,{container:!0,alignItems:"center",children:[(0,Z.jsx)(l.ZP,{item:!0,xs:!0,children:(0,Z.jsxs)(d.Z,{htmlFor:m,className:C.inputLabel,children:[(0,Z.jsx)("span",{children:c}),""!==f&&(0,Z.jsx)("div",{className:C.tooltipContainer,children:(0,Z.jsx)(u.Z,{title:f,placement:"top-start",children:(0,Z.jsx)("div",{children:(0,Z.jsx)(v.Z,{})})})})]})}),(0,Z.jsx)(l.ZP,{item:!0,xs:!0,className:C.radioOptionsLayout,children:(0,Z.jsx)(r.Z,{"aria-label":m,id:m,name:p,value:a,onChange:h,row:!F,style:{display:"block",textAlign:"right"},children:n.map((function(e){return(0,Z.jsx)(s.Z,{value:e.value,control:(0,Z.jsx)(b,{}),label:e.label,disabled:j,className:(0,o.Z)(C.optionLabel,(0,i.Z)({},C.checkedOption,e.value===a))},"rd-".concat(p,"-").concat(e.value))}))})})]})}))},67754:function(e,t,n){var i=n(18489),a=n(50390),o=n(25594),l=n(46413),r=n(36554),s=n(94187),c=n(47554),d=n(43965),u=n(31680),m=n(86509),p=n(4285),h=n(72462),x=n(97538),v=n(62559),Z=(0,p.Z)((function(e){return(0,m.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(l.ZP);t.Z=(0,p.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.YI),h.Hr),{},{inputLabel:(0,i.Z)((0,i.Z)({},h.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var t=e.classes,n=e.id,i=e.name,l=e.onChange,m=e.options,p=e.label,h=e.tooltip,f=void 0===h?"":h,b=e.value,g=e.disabled,j=void 0!==g&&g;return(0,v.jsx)(a.Fragment,{children:(0,v.jsxs)(o.ZP,{item:!0,xs:12,className:t.fieldContainer,children:[""!==p&&(0,v.jsxs)(r.Z,{htmlFor:n,className:t.inputLabel,children:[(0,v.jsx)("span",{children:p}),""!==f&&(0,v.jsx)("div",{className:t.tooltipContainer,children:(0,v.jsx)(s.Z,{title:f,placement:"top-start",children:(0,v.jsx)("div",{className:t.tooltip,children:(0,v.jsx)(x.Z,{})})})})]}),(0,v.jsx)(c.Z,{fullWidth:!0,children:(0,v.jsx)(d.Z,{id:n,name:i,value:b,onChange:l,input:(0,v.jsx)(Z,{}),disabled:j,children:m.map((function(e){return(0,v.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(i,"-").concat(e.label))}))})})]})})}))},70428:function(e,t,n){n.r(t);var i=n(89472),a=n(23430),o=n(18489),l=n(50390),r=n(86509),s=n(4285),c=n(25594),d=n(66964),u=n(27207),m=n(67754),p=n(72462),h=n(70887),x=n(92440),v=n(50280),Z=n(62559);t.default=(0,s.Z)((function(e){return(0,r.Z)((0,o.Z)((0,o.Z)({},p.oO),p.DF))}))((function(e){var t=e.onChange,n=e.classes,o=(0,l.useState)(!1),r=(0,a.Z)(o,2),s=r[0],p=r[1],f=(0,l.useState)(""),b=(0,a.Z)(f,2),g=b[0],j=b[1],C=(0,l.useState)(""),y=(0,a.Z)(C,2),F=y[0],N=y[1],w=(0,l.useState)(""),P=(0,a.Z)(w,2),k=P[0],L=P[1],S=(0,l.useState)(""),I=(0,a.Z)(S,2),O=I[0],R=I[1],E=(0,l.useState)(""),M=(0,a.Z)(E,2),A=M[0],W=M[1],B=(0,l.useState)(""),q=(0,a.Z)(B,2),T=q[0],V=q[1],D=(0,l.useState)(" "),z=(0,a.Z)(D,2),H=z[0],G=z[1],Y=(0,l.useState)(""),_=(0,a.Z)(Y,2),Q=_[0],$=_[1],U=(0,l.useState)("namespace"),X=(0,a.Z)(U,2),J=X[0],K=X[1],ee=(0,l.useState)(""),te=(0,a.Z)(ee,2),ne=te[0],ie=te[1],ae=(0,l.useState)(""),oe=(0,a.Z)(ae,2),le=oe[0],re=oe[1],se=(0,l.useState)(""),ce=(0,a.Z)(se,2),de=ce[0],ue=ce[1],me=(0,l.useCallback)((function(){var e="";return""!==F&&(e="".concat(e," host=").concat(F)),""!==k&&(e="".concat(e," dbname=").concat(k)),""!==A&&(e="".concat(e," user=").concat(A)),""!==T&&(e="".concat(e," password=").concat(T)),""!==O&&(e="".concat(e," port=").concat(O))," "!==H&&(e="".concat(e," sslmode=").concat(H)),(e="".concat(e," ")).trim()}),[F,k,A,T,O,H]);return(0,l.useEffect)((function(){""!==g&&t([{key:"connection_string",value:g},{key:"table",value:Q},{key:"format",value:J},{key:"queue_dir",value:ne},{key:"queue_limit",value:le},{key:"comment",value:de}])}),[g,Q,J,ne,le,de,t]),(0,l.useEffect)((function(){var e=me();j(e)}),[A,k,T,O,H,F,j,me]),(0,l.useEffect)((function(){if(s){var e=me();j(e)}else{var t=function(e,t){var n,a=[],o=(0,i.Z)(t);try{for(o.s();!(n=o.n()).done;){var l=n.value,r=e.indexOf(l+"=");-1!==r&&a.push(r)}}catch(Z){o.e(Z)}finally{o.f()}a.sort((function(e,t){return e-t}));for(var s=new Map,c=new Array(a.length),d=0;d.\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","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import React, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { IElementValue } from \"../../Configurations/types\";\nimport {\n formFieldStyles,\n modalBasic,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport CommentBoxWrapper from \"../../Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport PredefinedList from \"../../Common/FormComponents/PredefinedList/PredefinedList\";\n\ninterface IConfPostgresProps {\n onChange: (newValue: IElementValue[]) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n ...formFieldStyles,\n });\n\nconst ConfPostgres = ({ onChange, classes }: IConfPostgresProps) => {\n //Local States\n const [useConnectionString, setUseConnectionString] =\n useState(false);\n const [connectionString, setConnectionString] = useState(\"\");\n const [host, setHostname] = useState(\"\");\n const [dbName, setDbName] = useState(\"\");\n const [port, setPort] = useState(\"\");\n const [user, setUser] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n const [sslMode, setSslMode] = useState(\" \");\n\n const [table, setTable] = useState(\"\");\n const [format, setFormat] = useState(\"namespace\");\n const [queueDir, setQueueDir] = useState(\"\");\n const [queueLimit, setQueueLimit] = useState(\"\");\n const [comment, setComment] = useState(\"\");\n\n // connection_string* (string) Postgres server connection-string e.g. \"host=localhost port=5432 dbname=minio_events user=postgres password=password sslmode=disable\"\n\n // \"host=localhost\n // port=5432\n //dbname=minio_events\n //user=postgres\n //password=password\n //sslmode=disable\"\n\n // table* (string) DB table name to store/update events, table is auto-created\n // format* (namespace*|access) 'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'\n // queue_dir (path) staging dir for undelivered messages e.g. '/home/events'\n // queue_limit (number) maximum limit for undelivered messages, defaults to '10000'\n // comment (sentence) optionally add a comment to this setting\n\n const KvSeparator = \"=\";\n const parseConnectionString = (\n input: string,\n keys: string[]\n ): Map => {\n let valueIndexes: number[] = [];\n\n for (const key of keys) {\n const i = input.indexOf(key + KvSeparator);\n if (i === -1) {\n continue;\n }\n valueIndexes.push(i);\n }\n valueIndexes.sort((n1, n2) => n1 - n2);\n\n let kvFields = new Map();\n let fields: string[] = new Array(valueIndexes.length);\n for (let i = 0; i < valueIndexes.length; i++) {\n const j = i + 1;\n if (j < valueIndexes.length) {\n fields[i] = input.substr(\n valueIndexes[i],\n valueIndexes[j] - valueIndexes[i]\n );\n } else {\n fields[i] = input.substr(valueIndexes[i]);\n }\n }\n\n for (let field of fields) {\n if (field === undefined) {\n continue;\n }\n const key = field.substr(0, field.indexOf(\"=\"));\n const value = field.substr(field.indexOf(\"=\") + 1).trim();\n kvFields.set(key, value);\n }\n return kvFields;\n };\n\n const configToString = useCallback((): string => {\n let strValue = \"\";\n if (host !== \"\") {\n strValue = `${strValue} host=${host}`;\n }\n if (dbName !== \"\") {\n strValue = `${strValue} dbname=${dbName}`;\n }\n if (user !== \"\") {\n strValue = `${strValue} user=${user}`;\n }\n if (password !== \"\") {\n strValue = `${strValue} password=${password}`;\n }\n if (port !== \"\") {\n strValue = `${strValue} port=${port}`;\n }\n if (sslMode !== \" \") {\n strValue = `${strValue} sslmode=${sslMode}`;\n }\n\n strValue = `${strValue} `;\n\n return strValue.trim();\n }, [host, dbName, user, password, port, sslMode]);\n\n useEffect(() => {\n if (connectionString !== \"\") {\n const formValues = [\n { key: \"connection_string\", value: connectionString },\n { key: \"table\", value: table },\n { key: \"format\", value: format },\n { key: \"queue_dir\", value: queueDir },\n { key: \"queue_limit\", value: queueLimit },\n { key: \"comment\", value: comment },\n ];\n\n onChange(formValues);\n }\n }, [\n connectionString,\n table,\n format,\n queueDir,\n queueLimit,\n comment,\n onChange,\n ]);\n\n useEffect(() => {\n const cs = configToString();\n setConnectionString(cs);\n }, [\n user,\n dbName,\n password,\n port,\n sslMode,\n host,\n setConnectionString,\n configToString,\n ]);\n\n useEffect(() => {\n if (useConnectionString) {\n // build connection_string\n const cs = configToString();\n setConnectionString(cs);\n\n return;\n }\n // parse connection_string\n const kv = parseConnectionString(connectionString, [\n \"host\",\n \"port\",\n \"dbname\",\n \"user\",\n \"password\",\n \"sslmode\",\n ]);\n setHostname(kv.get(\"host\") ? kv.get(\"host\") + \"\" : \"\");\n setPort(kv.get(\"port\") ? kv.get(\"port\") + \"\" : \"\");\n setDbName(kv.get(\"dbname\") ? kv.get(\"dbname\") + \"\" : \"\");\n setUser(kv.get(\"user\") ? kv.get(\"user\") + \"\" : \"\");\n setPassword(kv.get(\"password\") ? kv.get(\"password\") + \"\" : \"\");\n setSslMode(kv.get(\"sslmode\") ? kv.get(\"sslmode\") + \"\" : \" \");\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [useConnectionString]);\n\n return (\n \n \n {\n setUseConnectionString(e.target.checked);\n }}\n value={\"manualString\"}\n />\n \n {useConnectionString ? (\n \n \n ) => {\n setConnectionString(e.target.value);\n }}\n />\n \n \n ) : (\n \n \n \n \n ) => {\n setHostname(e.target.value);\n }}\n />\n \n \n ) => {\n setDbName(e.target.value);\n }}\n />\n \n \n ) => {\n setPort(e.target.value);\n }}\n />\n \n \n {\n if (e.target.value !== undefined) {\n setSslMode(e.target.value + \"\");\n }\n }}\n options={[\n { label: \"Enter SSL Mode\", value: \" \" },\n { label: \"Require\", value: \"require\" },\n { label: \"Disable\", value: \"disable\" },\n { label: \"Verify CA\", value: \"verify-ca\" },\n { label: \"Verify Full\", value: \"verify-full\" },\n ]}\n />\n \n \n ) => {\n setUser(e.target.value);\n }}\n />\n \n \n ) => {\n setPassword(e.target.value);\n }}\n />\n \n \n \n \n \n
\n
\n
\n )}\n \n ) => {\n setTable(e.target.value);\n }}\n />\n \n \n {\n setFormat(e.target.value);\n }}\n tooltip=\"'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'\"\n selectorOptions={[\n { label: \"Namespace\", value: \"namespace\" },\n { label: \"Access\", value: \"access\" },\n ]}\n />\n \n \n ) => {\n setQueueDir(e.target.value);\n }}\n />\n \n \n ) => {\n setQueueLimit(e.target.value);\n }}\n />\n \n \n ) => {\n setComment(e.target.value);\n }}\n />\n \n
\n );\n};\n\nexport default withStyles(styles)(ConfPostgres);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;"],"names":["withStyles","theme","createStyles","fieldBasic","tooltipHelper","inputLabel","fontSize","margin","alignItems","paddingTop","flexWrap","display","textBoxContainer","flexGrow","position","cssOutlinedInput","borderColor","padding","rootContainer","minHeight","borderWidth","color","fontWeight","opacity","label","onChange","value","id","name","disabled","tooltip","index","error","required","placeholder","classes","inputProps","item","xs","className","fieldContainer","errorInField","htmlFor","tooltipContainer","title","placement","fullWidth","multiline","rows","helperText","InputLabelProps","shrink","InputProps","notchedOutline","root","variant","StyledSwitch","width","height","switchBase","transform","palette","common","white","backgroundColor","boxShadow","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","justifyContent","Switch","divContainer","marginBottom","indicatorLabelOn","indicatorLabel","fieldDescription","marginTop","actionsTray","switchOnly","description","indicatorLabels","switchComponent","clsx","length","disableRipple","disableFocusRipple","disableTouchRipple","container","sm","md","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","overlayAction","right","top","maxWidth","maxHeight","type","autoComplete","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputBoxContainer","noMinWidthLabel","inputRebase","onClick","size","predefinedList","content","multiLine","Fragment","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","radioStyles","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","icon","radioUnselectedIcon","optionLabel","marginRight","checkedOption","selectorOptions","currentSelection","disableOptions","displayInColumn","radioOptionsLayout","row","style","map","selectorOption","control","SelectStyled","lineHeight","spacing","input","InputBase","flexFlow","options","option","modalBasic","formFieldStyles","useState","useConnectionString","setUseConnectionString","connectionString","setConnectionString","host","setHostname","dbName","setDbName","port","setPort","user","setUser","password","setPassword","sslMode","setSslMode","table","setTable","format","setFormat","queueDir","setQueueDir","queueLimit","setQueueLimit","comment","setComment","configToString","useCallback","strValue","trim","useEffect","key","cs","kv","keys","valueIndexes","i","indexOf","push","sort","n1","n2","kvFields","Map","fields","Array","j","substr","field","undefined","set","parseConnectionString","get","e","target","formFieldRow","configureString","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","styled","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","ownerState","dense","divider","disableGutters","gutters","_extends","typography","body1","textDecoration","paddingBottom","boxSizing","whiteSpace","paddingLeft","paddingRight","borderBottom","backgroundClip","action","hover","menuItemClasses","alpha","primary","main","selectedOpacity","focusOpacity","hoverOpacity","focus","disabledOpacity","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","React","inProps","ref","useThemeProps","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","_jsx","children"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/428.b5539f2b.chunk.js b/portal-ui/build/static/js/428.b5539f2b.chunk.js deleted file mode 100644 index 376ec4d17..000000000 --- a/portal-ui/build/static/js/428.b5539f2b.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[428],{70887:function(e,t,n){var i=n(18489),a=n(50390),o=n(25594),r=n(14602),l=n(94187),s=n(12066),c=n(86509),d=n(4285),u=n(72462),m=n(97538),p=n(62559);t.Z=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.YI),u.Hr),{},{inputLabel:(0,i.Z)((0,i.Z)({},u.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)({},u.YI.inputLabel),{},{fontSize:13,minHeight:150}),"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"#07193E",borderWidth:1},"& textarea":{color:"#07193E",fontSize:13,fontWeight:600,"&:placeholder":{color:"#858585",opacity:1,fontWeight:400}}}}))}))((function(e){var t=e.label,n=e.onChange,i=e.value,c=e.id,d=e.name,u=e.disabled,h=void 0!==u&&u,x=e.tooltip,f=void 0===x?"":x,v=e.index,b=void 0===v?0:v,Z=e.error,g=void 0===Z?"":Z,j=e.required,C=void 0!==j&&j,y=e.placeholder,w=void 0===y?"":y,F=e.classes,N={"data-index":b};return(0,p.jsx)(a.Fragment,{children:(0,p.jsxs)(o.ZP,{item:!0,xs:12,className:"".concat(F.fieldContainer," ").concat(""!==g?F.errorInField:""),children:[""!==t&&(0,p.jsxs)(r.Z,{htmlFor:c,className:F.inputLabel,children:[(0,p.jsxs)("span",{children:[t,C?"*":""]}),""!==f&&(0,p.jsx)("div",{className:F.tooltipContainer,children:(0,p.jsx)(l.Z,{title:f,placement:"top-start",children:(0,p.jsx)("div",{className:F.tooltip,children:(0,p.jsx)(m.Z,{})})})})]}),(0,p.jsx)("div",{className:F.textBoxContainer,children:(0,p.jsx)(s.Z,{id:c,name:d,fullWidth:!0,value:i,disabled:h,onChange:n,multiline:!0,rows:5,inputProps:N,error:""!==g,helperText:g,placeholder:w,InputLabelProps:{shrink:!0},InputProps:{classes:{notchedOutline:F.cssOutlinedInput,root:F.rootContainer}},variant:"outlined"})})]})})}))},92440:function(e,t,n){var i=n(36222),a=n(18489),o=n(50390),r=n(86509),l=n(4285),s=n(49056),c=n(14602),d=n(94187),u=n(35477),m=n(25594),p=n(72462),h=n(97538),x=n(44977),f=n(62559),v=(0,l.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(s.Z);t.Z=(0,l.Z)((function(e){return(0,r.Z)((0,a.Z)((0,a.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},p.OR),p.YI))}))((function(e){var t=e.label,n=void 0===t?"":t,a=e.onChange,r=e.value,l=e.id,s=e.name,p=e.checked,b=void 0!==p&&p,Z=e.disabled,g=void 0!==Z&&Z,j=e.switchOnly,C=void 0!==j&&j,y=e.tooltip,w=void 0===y?"":y,F=e.description,N=void 0===F?"":F,P=e.classes,S=e.indicatorLabels,k=(0,f.jsxs)(o.Fragment,{children:[!C&&(0,f.jsx)("span",{className:(0,x.Z)(P.indicatorLabel,(0,i.Z)({},P.indicatorLabelOn,!b)),children:S&&S.length>1?S[1]:"OFF"}),(0,f.jsx)(v,{checked:b,onChange:a,color:"primary",name:s,inputProps:{"aria-label":"primary checkbox"},disabled:g,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:r}),!C&&(0,f.jsx)("span",{className:(0,x.Z)(P.indicatorLabel,(0,i.Z)({},P.indicatorLabelOn,b)),children:S?S[0]:"ON"})]});return C?k:(0,f.jsx)("div",{className:P.divContainer,children:(0,f.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[(0,f.jsx)(m.ZP,{item:!0,xs:!0,children:(0,f.jsxs)(m.ZP,{container:!0,children:[(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==n&&(0,f.jsxs)(c.Z,{htmlFor:l,className:P.inputLabel,children:[(0,f.jsx)("span",{children:n}),""!==w&&(0,f.jsx)("div",{className:P.tooltipContainer,children:(0,f.jsx)(d.Z,{title:w,placement:"top-start",children:(0,f.jsx)("div",{className:P.tooltip,children:(0,f.jsx)(h.Z,{})})})})]})}),(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==N&&(0,f.jsx)(u.Z,{component:"p",className:P.fieldDescription,children:N})})]})}),(0,f.jsx)(m.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:P.switchContainer,children:k})]})})}))},66964:function(e,t,n){var i=n(18489),a=n(50390),o=n(12066),r=n(25594),l=n(14602),s=n(94187),c=n(95467),d=n(86509),u=n(62449),m=n(4285),p=n(72462),h=n(97538),x=n(44977),f=n(62559),v=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({},p.gM))}));function b(e){var t=v();return(0,f.jsx)(o.Z,(0,i.Z)({InputProps:{classes:t}},e))}t.Z=(0,m.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,o=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,v=e.autoComplete,Z=void 0===v?"off":v,g=e.disabled,j=void 0!==g&&g,C=e.multiline,y=void 0!==C&&C,w=e.tooltip,F=void 0===w?"":w,N=e.index,P=void 0===N?0:N,S=e.error,k=void 0===S?"":S,L=e.required,I=void 0!==L&&L,O=e.placeholder,R=void 0===O?"":O,E=e.min,M=e.max,A=e.overlayIcon,W=void 0===A?null:A,B=e.overlayObject,T=void 0===B?null:B,q=e.extraInputProps,V=void 0===q?{}:q,D=e.overlayAction,z=e.noLabelMinWidth,H=void 0!==z&&z,G=e.pattern,Y=void 0===G?"":G,_=e.autoFocus,Q=void 0!==_&&_,$=e.classes,U=e.className,X=void 0===U?"":U,J=(0,i.Z)({"data-index":P},V);return"number"===p&&E&&(J.min=E),"number"===p&&M&&(J.max=M),""!==Y&&(J.pattern=Y),(0,f.jsx)(a.Fragment,{children:(0,f.jsxs)(r.ZP,{container:!0,className:(0,x.Z)(""!==X?X:"",""!==k?$.errorInField:$.inputBoxContainer),children:[""!==t&&(0,f.jsxs)(l.Z,{htmlFor:d,className:H?$.noMinWidthLabel:$.inputLabel,children:[(0,f.jsxs)("span",{children:[t,I?"*":""]}),""!==F&&(0,f.jsx)("div",{className:$.tooltipContainer,children:(0,f.jsx)(s.Z,{title:F,placement:"top-start",children:(0,f.jsx)("div",{className:$.tooltip,children:(0,f.jsx)(h.Z,{})})})})]}),(0,f.jsxs)("div",{className:$.textBoxContainer,children:[(0,f.jsx)(b,{id:d,name:u,fullWidth:!0,value:o,autoFocus:Q,disabled:j,onChange:n,type:p,multiline:y,autoComplete:Z,inputProps:J,error:""!==k,helperText:k,placeholder:R,className:$.inputRebase}),W&&(0,f.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,f.jsx)(c.Z,{onClick:D?function(){D()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:W})}),T&&(0,f.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==t?"withLabel":""),children:T})]})]})})}))},50280:function(e,t,n){var i=n(18489),a=n(50390),o=n(25594),r=n(86509),l=n(4285),s=n(72462),c=n(62559);t.Z=(0,l.Z)((function(e){return(0,r.Z)((0,i.Z)({},s.xx))}))((function(e){var t=e.classes,n=e.label,i=void 0===n?"":n,r=e.content,l=e.multiLine,s=void 0!==l&&l;return(0,c.jsx)(a.Fragment,{children:(0,c.jsxs)(o.ZP,{className:t.prefinedContainer,children:[""!==i&&(0,c.jsx)(o.ZP,{item:!0,xs:12,className:t.predefinedTitle,children:i}),(0,c.jsx)(o.ZP,{item:!0,xs:12,className:t.predefinedList,children:(0,c.jsx)(o.ZP,{item:!0,xs:12,className:s?t.innerContentMultiline:t.innerContent,children:r})})]})})}))},27207:function(e,t,n){var i=n(36222),a=n(18489),o=(n(50390),n(44977)),r=n(25594),l=n(82420),s=n(66695),c=n(98893),d=n(14602),u=n(94187),m=n(86509),p=n(4285),h=n(62449),x=n(72462),f=n(97538),v=n(62559),b=(0,h.Z)((0,a.Z)({root:{"&:hover":{backgroundColor:"transparent"}}},x.FU)),Z=function(e){var t=b();return(0,v.jsx)(c.Z,(0,a.Z)({className:t.root,disableRipple:!0,color:"default",checkedIcon:(0,v.jsx)("span",{className:t.radioSelectedIcon}),icon:(0,v.jsx)("span",{className:t.radioUnselectedIcon})},e))};t.Z=(0,p.Z)((function(e){return(0,m.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},x.YI),x.Hr),{},{optionLabel:{"&.Mui-disabled":{"& .MuiFormControlLabel-label":{color:"#9c9c9c"}},"&:last-child":{marginRight:0},"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E"}},checkedOption:{"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E",fontWeight:700}}}))}))((function(e){var t=e.selectorOptions,n=void 0===t?[]:t,a=e.currentSelection,c=e.label,m=e.id,p=e.name,h=e.onChange,x=e.tooltip,b=void 0===x?"":x,g=e.disableOptions,j=void 0!==g&&g,C=e.classes,y=e.displayInColumn,w=void 0!==y&&y;return(0,v.jsxs)(r.ZP,{container:!0,alignItems:"center",children:[(0,v.jsx)(r.ZP,{item:!0,xs:!0,children:(0,v.jsxs)(d.Z,{htmlFor:m,className:C.inputLabel,children:[(0,v.jsx)("span",{children:c}),""!==b&&(0,v.jsx)("div",{className:C.tooltipContainer,children:(0,v.jsx)(u.Z,{title:b,placement:"top-start",children:(0,v.jsx)("div",{children:(0,v.jsx)(f.Z,{})})})})]})}),(0,v.jsx)(r.ZP,{item:!0,xs:!0,className:C.radioOptionsLayout,children:(0,v.jsx)(l.Z,{"aria-label":m,id:m,name:p,value:a,onChange:h,row:!w,style:{display:"block",textAlign:"right"},children:n.map((function(e){return(0,v.jsx)(s.Z,{value:e.value,control:(0,v.jsx)(Z,{}),label:e.label,disabled:j,className:(0,o.Z)(C.optionLabel,(0,i.Z)({},C.checkedOption,e.value===a))},"rd-".concat(p,"-").concat(e.value))}))})})]})}))},67754:function(e,t,n){var i=n(18489),a=n(50390),o=n(25594),r=n(46413),l=n(14602),s=n(94187),c=n(47554),d=n(43965),u=n(31680),m=n(86509),p=n(4285),h=n(72462),x=n(97538),f=n(62559),v=(0,p.Z)((function(e){return(0,m.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(r.ZP);t.Z=(0,p.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.YI),h.Hr),{},{inputLabel:(0,i.Z)((0,i.Z)({},h.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var t=e.classes,n=e.id,i=e.name,r=e.onChange,m=e.options,p=e.label,h=e.tooltip,b=void 0===h?"":h,Z=e.value,g=e.disabled,j=void 0!==g&&g;return(0,f.jsx)(a.Fragment,{children:(0,f.jsxs)(o.ZP,{item:!0,xs:12,className:t.fieldContainer,children:[""!==p&&(0,f.jsxs)(l.Z,{htmlFor:n,className:t.inputLabel,children:[(0,f.jsx)("span",{children:p}),""!==b&&(0,f.jsx)("div",{className:t.tooltipContainer,children:(0,f.jsx)(s.Z,{title:b,placement:"top-start",children:(0,f.jsx)("div",{className:t.tooltip,children:(0,f.jsx)(x.Z,{})})})})]}),(0,f.jsx)(c.Z,{fullWidth:!0,children:(0,f.jsx)(d.Z,{id:n,name:i,value:Z,onChange:r,input:(0,f.jsx)(v,{}),disabled:j,children:m.map((function(e){return(0,f.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(i,"-").concat(e.label))}))})})]})})}))},70428:function(e,t,n){n.r(t);var i=n(89472),a=n(23430),o=n(18489),r=n(50390),l=n(86509),s=n(4285),c=n(25594),d=n(66964),u=n(27207),m=n(67754),p=n(72462),h=n(70887),x=n(92440),f=n(50280),v=n(62559);t.default=(0,s.Z)((function(e){return(0,l.Z)((0,o.Z)((0,o.Z)({},p.oO),p.DF))}))((function(e){var t=e.onChange,n=e.classes,o=(0,r.useState)(!1),l=(0,a.Z)(o,2),s=l[0],p=l[1],b=(0,r.useState)(""),Z=(0,a.Z)(b,2),g=Z[0],j=Z[1],C=(0,r.useState)(""),y=(0,a.Z)(C,2),w=y[0],F=y[1],N=(0,r.useState)(""),P=(0,a.Z)(N,2),S=P[0],k=P[1],L=(0,r.useState)(""),I=(0,a.Z)(L,2),O=I[0],R=I[1],E=(0,r.useState)(""),M=(0,a.Z)(E,2),A=M[0],W=M[1],B=(0,r.useState)(""),T=(0,a.Z)(B,2),q=T[0],V=T[1],D=(0,r.useState)(" "),z=(0,a.Z)(D,2),H=z[0],G=z[1],Y=(0,r.useState)(""),_=(0,a.Z)(Y,2),Q=_[0],$=_[1],U=(0,r.useState)("namespace"),X=(0,a.Z)(U,2),J=X[0],K=X[1],ee=(0,r.useState)(""),te=(0,a.Z)(ee,2),ne=te[0],ie=te[1],ae=(0,r.useState)(""),oe=(0,a.Z)(ae,2),re=oe[0],le=oe[1],se=(0,r.useState)(""),ce=(0,a.Z)(se,2),de=ce[0],ue=ce[1],me=(0,r.useCallback)((function(){var e="";return""!==w&&(e="".concat(e," host=").concat(w)),""!==S&&(e="".concat(e," dbname=").concat(S)),""!==A&&(e="".concat(e," user=").concat(A)),""!==q&&(e="".concat(e," password=").concat(q)),""!==O&&(e="".concat(e," port=").concat(O))," "!==H&&(e="".concat(e," sslmode=").concat(H)),(e="".concat(e," ")).trim()}),[w,S,A,q,O,H]);return(0,r.useEffect)((function(){""!==g&&t([{key:"connection_string",value:g},{key:"table",value:Q},{key:"format",value:J},{key:"queue_dir",value:ne},{key:"queue_limit",value:re},{key:"comment",value:de}])}),[g,Q,J,ne,re,de,t]),(0,r.useEffect)((function(){var e=me();j(e)}),[A,S,q,O,H,w,j,me]),(0,r.useEffect)((function(){if(s){var e=me();j(e)}else{var t=function(e,t){var n,a=[],o=(0,i.Z)(t);try{for(o.s();!(n=o.n()).done;){var r=n.value,l=e.indexOf(r+"=");-1!==l&&a.push(l)}}catch(v){o.e(v)}finally{o.f()}a.sort((function(e,t){return e-t}));for(var s=new Map,c=new Array(a.length),d=0;d=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,l=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){s=!0,r=e},f:function(){try{l||null==n.return||n.return()}finally{if(s)throw r}}}}}}]); -//# sourceMappingURL=428.b5539f2b.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/428.b5539f2b.chunk.js.map b/portal-ui/build/static/js/428.b5539f2b.chunk.js.map deleted file mode 100644 index 18166bae8..000000000 --- a/portal-ui/build/static/js/428.b5539f2b.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/428.b5539f2b.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/NotificationEndpoints/CustomForms/ConfPostgres.tsx","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.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, 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","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n
\n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import React, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { IElementValue } from \"../../Configurations/types\";\nimport {\n formFieldStyles,\n modalBasic,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport CommentBoxWrapper from \"../../Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport PredefinedList from \"../../Common/FormComponents/PredefinedList/PredefinedList\";\n\ninterface IConfPostgresProps {\n onChange: (newValue: IElementValue[]) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n ...formFieldStyles,\n });\n\nconst ConfPostgres = ({ onChange, classes }: IConfPostgresProps) => {\n //Local States\n const [useConnectionString, setUseConnectionString] =\n useState(false);\n const [connectionString, setConnectionString] = useState(\"\");\n const [host, setHostname] = useState(\"\");\n const [dbName, setDbName] = useState(\"\");\n const [port, setPort] = useState(\"\");\n const [user, setUser] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n const [sslMode, setSslMode] = useState(\" \");\n\n const [table, setTable] = useState(\"\");\n const [format, setFormat] = useState(\"namespace\");\n const [queueDir, setQueueDir] = useState(\"\");\n const [queueLimit, setQueueLimit] = useState(\"\");\n const [comment, setComment] = useState(\"\");\n\n // connection_string* (string) Postgres server connection-string e.g. \"host=localhost port=5432 dbname=minio_events user=postgres password=password sslmode=disable\"\n\n // \"host=localhost\n // port=5432\n //dbname=minio_events\n //user=postgres\n //password=password\n //sslmode=disable\"\n\n // table* (string) DB table name to store/update events, table is auto-created\n // format* (namespace*|access) 'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'\n // queue_dir (path) staging dir for undelivered messages e.g. '/home/events'\n // queue_limit (number) maximum limit for undelivered messages, defaults to '10000'\n // comment (sentence) optionally add a comment to this setting\n\n const KvSeparator = \"=\";\n const parseConnectionString = (\n input: string,\n keys: string[]\n ): Map => {\n let valueIndexes: number[] = [];\n\n for (const key of keys) {\n const i = input.indexOf(key + KvSeparator);\n if (i === -1) {\n continue;\n }\n valueIndexes.push(i);\n }\n valueIndexes.sort((n1, n2) => n1 - n2);\n\n let kvFields = new Map();\n let fields: string[] = new Array(valueIndexes.length);\n for (let i = 0; i < valueIndexes.length; i++) {\n const j = i + 1;\n if (j < valueIndexes.length) {\n fields[i] = input.substr(\n valueIndexes[i],\n valueIndexes[j] - valueIndexes[i]\n );\n } else {\n fields[i] = input.substr(valueIndexes[i]);\n }\n }\n\n for (let field of fields) {\n if (field === undefined) {\n continue;\n }\n const key = field.substr(0, field.indexOf(\"=\"));\n const value = field.substr(field.indexOf(\"=\") + 1).trim();\n kvFields.set(key, value);\n }\n return kvFields;\n };\n\n const configToString = useCallback((): string => {\n let strValue = \"\";\n if (host !== \"\") {\n strValue = `${strValue} host=${host}`;\n }\n if (dbName !== \"\") {\n strValue = `${strValue} dbname=${dbName}`;\n }\n if (user !== \"\") {\n strValue = `${strValue} user=${user}`;\n }\n if (password !== \"\") {\n strValue = `${strValue} password=${password}`;\n }\n if (port !== \"\") {\n strValue = `${strValue} port=${port}`;\n }\n if (sslMode !== \" \") {\n strValue = `${strValue} sslmode=${sslMode}`;\n }\n\n strValue = `${strValue} `;\n\n return strValue.trim();\n }, [host, dbName, user, password, port, sslMode]);\n\n useEffect(() => {\n if (connectionString !== \"\") {\n const formValues = [\n { key: \"connection_string\", value: connectionString },\n { key: \"table\", value: table },\n { key: \"format\", value: format },\n { key: \"queue_dir\", value: queueDir },\n { key: \"queue_limit\", value: queueLimit },\n { key: \"comment\", value: comment },\n ];\n\n onChange(formValues);\n }\n }, [\n connectionString,\n table,\n format,\n queueDir,\n queueLimit,\n comment,\n onChange,\n ]);\n\n useEffect(() => {\n const cs = configToString();\n setConnectionString(cs);\n }, [\n user,\n dbName,\n password,\n port,\n sslMode,\n host,\n setConnectionString,\n configToString,\n ]);\n\n useEffect(() => {\n if (useConnectionString) {\n // build connection_string\n const cs = configToString();\n setConnectionString(cs);\n\n return;\n }\n // parse connection_string\n const kv = parseConnectionString(connectionString, [\n \"host\",\n \"port\",\n \"dbname\",\n \"user\",\n \"password\",\n \"sslmode\",\n ]);\n setHostname(kv.get(\"host\") ? kv.get(\"host\") + \"\" : \"\");\n setPort(kv.get(\"port\") ? kv.get(\"port\") + \"\" : \"\");\n setDbName(kv.get(\"dbname\") ? kv.get(\"dbname\") + \"\" : \"\");\n setUser(kv.get(\"user\") ? kv.get(\"user\") + \"\" : \"\");\n setPassword(kv.get(\"password\") ? kv.get(\"password\") + \"\" : \"\");\n setSslMode(kv.get(\"sslmode\") ? kv.get(\"sslmode\") + \"\" : \" \");\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [useConnectionString]);\n\n return (\n \n \n {\n setUseConnectionString(e.target.checked);\n }}\n value={\"manualString\"}\n />\n \n {useConnectionString ? (\n \n \n ) => {\n setConnectionString(e.target.value);\n }}\n />\n \n \n ) : (\n \n \n \n \n ) => {\n setHostname(e.target.value);\n }}\n />\n \n \n ) => {\n setDbName(e.target.value);\n }}\n />\n \n \n ) => {\n setPort(e.target.value);\n }}\n />\n \n \n {\n if (e.target.value !== undefined) {\n setSslMode(e.target.value + \"\");\n }\n }}\n options={[\n { label: \"Enter SSL Mode\", value: \" \" },\n { label: \"Require\", value: \"require\" },\n { label: \"Disable\", value: \"disable\" },\n { label: \"Verify CA\", value: \"verify-ca\" },\n { label: \"Verify Full\", value: \"verify-full\" },\n ]}\n />\n \n \n ) => {\n setUser(e.target.value);\n }}\n />\n \n \n ) => {\n setPassword(e.target.value);\n }}\n />\n \n \n \n \n \n
\n
\n
\n )}\n \n ) => {\n setTable(e.target.value);\n }}\n />\n \n \n {\n setFormat(e.target.value);\n }}\n tooltip=\"'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'\"\n selectorOptions={[\n { label: \"Namespace\", value: \"namespace\" },\n { label: \"Access\", value: \"access\" },\n ]}\n />\n \n \n ) => {\n setQueueDir(e.target.value);\n }}\n />\n \n \n ) => {\n setQueueLimit(e.target.value);\n }}\n />\n \n \n ) => {\n setComment(e.target.value);\n }}\n />\n \n
\n );\n};\n\nexport default withStyles(styles)(ConfPostgres);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}"],"names":["withStyles","theme","createStyles","fieldBasic","tooltipHelper","inputLabel","fontSize","margin","alignItems","paddingTop","flexWrap","display","textBoxContainer","flexGrow","position","cssOutlinedInput","borderColor","padding","rootContainer","minHeight","borderWidth","color","fontWeight","opacity","label","onChange","value","id","name","disabled","tooltip","index","error","required","placeholder","classes","inputProps","item","xs","className","fieldContainer","errorInField","htmlFor","tooltipContainer","title","placement","fullWidth","multiline","rows","helperText","InputLabelProps","shrink","InputProps","notchedOutline","root","variant","StyledSwitch","width","height","switchBase","transform","palette","common","white","backgroundColor","boxShadow","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","justifyContent","Switch","divContainer","marginBottom","indicatorLabelOn","indicatorLabel","fieldDescription","marginTop","actionsTray","switchOnly","description","indicatorLabels","switchComponent","clsx","length","disableRipple","disableFocusRipple","disableTouchRipple","container","sm","md","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","overlayAction","right","top","maxWidth","maxHeight","type","autoComplete","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputBoxContainer","noMinWidthLabel","inputRebase","onClick","size","predefinedList","content","multiLine","Fragment","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","radioStyles","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","icon","radioUnselectedIcon","optionLabel","marginRight","checkedOption","selectorOptions","currentSelection","disableOptions","displayInColumn","radioOptionsLayout","row","style","map","selectorOption","control","SelectStyled","lineHeight","spacing","input","InputBase","flexFlow","options","option","modalBasic","formFieldStyles","useState","useConnectionString","setUseConnectionString","connectionString","setConnectionString","host","setHostname","dbName","setDbName","port","setPort","user","setUser","password","setPassword","sslMode","setSslMode","table","setTable","format","setFormat","queueDir","setQueueDir","queueLimit","setQueueLimit","comment","setComment","configToString","useCallback","strValue","trim","useEffect","key","cs","kv","keys","valueIndexes","i","indexOf","push","sort","n1","n2","kvFields","Map","fields","Array","j","substr","field","undefined","set","parseConnectionString","get","e","target","formFieldRow","configureString","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","styled","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","ownerState","dense","divider","disableGutters","gutters","_extends","typography","body1","textDecoration","paddingBottom","boxSizing","whiteSpace","paddingLeft","paddingRight","borderBottom","backgroundClip","action","hover","menuItemClasses","alpha","primary","main","selectedOpacity","focusOpacity","hoverOpacity","focus","disabledOpacity","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","React","inProps","ref","useThemeProps","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","_jsx","children","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","isArray","F","s","n","done","_e","f","TypeError","err","normalCompletion","didErr","call","step","next","_e2"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4360.bbbd8faf.chunk.js b/portal-ui/build/static/js/4360.bbbd8faf.chunk.js deleted file mode 100644 index 40d500b89..000000000 --- a/portal-ui/build/static/js/4360.bbbd8faf.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4360],{48394:function(e,t,o){o.r(t);var n=o(23430),i=o(18489),r=o(50390),a=o(34424),c=o(25594),l=o(81378),s=o(56805),d=o(66946),u=o(86509),h=o(4285),m=o(72462),p=o(44149),f=o(76352),x=o(30324),g=o(70014),b=o(92440),Z=o(66964),v=o(11387),k=o(62559),j={setModalErrorSnackMessage:p.zb},y=(0,a.$j)(null,j);t.default=(0,h.Z)((function(e){return(0,u.Z)((0,i.Z)((0,i.Z)({},m.bl),m.ID))}))(y((function(e){var t=e.classes,o=e.open,i=e.closeModalAndRefresh,a=e.setModalErrorSnackMessage,u=(0,r.useState)(!1),h=(0,n.Z)(u,2),m=h[0],p=h[1],j=(0,r.useState)(""),y=(0,n.Z)(j,2),C=y[0],w=y[1],S=(0,r.useState)(""),P=(0,n.Z)(S,2),B=P[0],F=P[1],N=(0,r.useState)(""),z=(0,n.Z)(N,2),A=z[0],L=z[1],R=(0,r.useState)(!1),E=(0,n.Z)(R,2),I=E[0],M=E[1],O=(0,r.useState)(!1),K=(0,n.Z)(O,2),T=K[0],$=K[1];(0,r.useEffect)((function(){m&&(T?x.Z.invoke("POST","/api/v1/service-account-credentials",{policy:C,accessKey:B,secretKey:A}).then((function(e){p(!1),i(e)})).catch((function(e){p(!1),a(e)})):x.Z.invoke("POST","/api/v1/service-accounts",{policy:C}).then((function(e){p(!1),i(e)})).catch((function(e){p(!1),a(e)})))}),[m,p,a,C,i,T,B,A]);return(0,k.jsx)(f.Z,{modalOpen:o,onClose:function(){i(null)},title:"Create Service Account",titleIcon:(0,k.jsx)(v.fr,{}),children:(0,k.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault(),p(!0)}(e)},children:[m&&(0,k.jsx)(c.ZP,{item:!0,xs:12,children:(0,k.jsx)(l.Z,{})}),(0,k.jsxs)(c.ZP,{container:!0,className:t.modalFormScrollable,children:[(0,k.jsx)(c.ZP,{item:!0,xs:12,children:(0,k.jsxs)("div",{className:t.infoDetails,children:["Service Accounts inherit the policy explicitly attached to the parent user and the policy attached to each group in which the parent user has membership. You can specify an optional JSON-formatted policy below to restrict the Service Account access to a subset of actions and resources explicitly allowed for the parent user.",(0,k.jsx)(s.Z,{sx:{paddingTop:"15px",paddingBottom:"15px"},children:"You cannot modify the Service Account optional policy after saving."})]})}),(0,k.jsxs)(c.ZP,{item:!0,xs:12,children:[(0,k.jsxs)(c.ZP,{item:!0,xs:12,children:[(0,k.jsx)(b.Z,{value:"locking",id:"locking",name:"locking",checked:T,onChange:function(e){$(e.target.checked)},label:"Customize Credentials"}),T&&(0,k.jsx)(c.ZP,{item:!0,xs:12,children:(0,k.jsxs)("div",{className:t.stackedInputs,children:[(0,k.jsx)(Z.Z,{value:B,label:"Access Key",id:"accessKey",name:"accessKey",placeholder:"Enter Access Key",onChange:function(e){F(e.target.value)}}),(0,k.jsx)(Z.Z,{value:A,label:"Secret Key",id:"secretKey",name:"secretKey",placeholder:"Enter Secret Key",onChange:function(e){L(e.target.value)}})]})})]}),(0,k.jsxs)(c.ZP,{item:!0,xs:12,children:[(0,k.jsx)(b.Z,{value:"locking",id:"locking",name:"locking",checked:I,onChange:function(e){M(e.target.checked)},label:"Restrict with policy"}),I&&(0,k.jsx)(c.ZP,{item:!0,xs:12,className:t.codeMirrorContainer,children:(0,k.jsx)(g.Z,{label:"Policy ",value:C,onBeforeChange:function(e,t,o){w(o)}})})]})]})]}),(0,k.jsx)(c.ZP,{container:!0,children:(0,k.jsxs)(c.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,k.jsx)(d.Z,{type:"button",color:"primary",variant:"outlined",onClick:function(){w("")},children:"Clear"}),(0,k.jsx)(d.Z,{type:"submit",variant:"contained",color:"primary",disabled:m,children:"Create"})]})})]})})})))},70014:function(e,t,o){var n=o(35531),i=o(23430),r=o(18489),a=o(50390),c=o(25594),l=(o(2574),o(20704)),s=o(54880),d=o(21563),u=o(36297),h=o(14602),m=o(94187),p=o(56805),f=o(86509),x=o(4285),g=o(97538),b=o(72462),Z=o(11387),v=o(53224),k=o(33034),j=o.n(k),y=o(53357),C=o(62559),w={json:d.AV,yaml:function(){return s.i.define(u.r)}},S=y.tk.theme({"&":{backgroundColor:"#FBFAFA"},".cm-content":{caretColor:"#05122B"},"&.cm-focused .cm-cursor":{borderLeftColor:"#05122B"},".cm-gutters":{backgroundColor:"#FBFAFA",color:"#000000",border:"none"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px",color:"#2781B0","& .\u037cc":{color:"#C83B51"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#dde1f1"},".cm-matchingBracket":{backgroundColor:"#05122B",color:"#ffffff"},".cm-selectionMatch":{backgroundColor:"#ebe7f1"},".cm-selectionLayer":{fontWeight:500}," .cm-selectionBackground":{backgroundColor:"#a180c7",color:"#ffffff"}},{dark:!1}),P=y.tk.theme({"&":{backgroundColor:"#282a36",color:"#ffb86c"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px","& .\u037cd, & .\u037cc":{color:"#8e6cef"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#44475a"},".cm-matchingBracket":{backgroundColor:"#842de5",color:"#ff79c6"},".cm-selectionLayer .cm-selectionBackground":{backgroundColor:"green"}},{dark:!0});t.Z=(0,x.Z)((function(e){return(0,f.Z)((0,r.Z)((0,r.Z)({},b.YI),{},{inputLabel:(0,r.Z)((0,r.Z)({},b.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.value,o=e.label,r=void 0===o?"":o,s=e.tooltip,d=void 0===s?"":s,u=e.mode,f=void 0===u?"json":u,x=e.classes,b=e.onBeforeChange,k=e.readOnly,y=void 0!==k&&k,B=e.editorHeight,F=void 0===B?"250px":B,N=(0,a.useState)(!1),z=(0,i.Z)(N,2),A=z[0],L=z[1],R=[];return w[f]&&(R=[].concat((0,n.Z)(R),[w[f]()])),(0,C.jsxs)(a.Fragment,{children:[(0,C.jsxs)(h.Z,{className:x.inputLabel,children:[(0,C.jsx)("span",{children:r}),""!==d&&(0,C.jsx)("div",{className:x.tooltipContainer,children:(0,C.jsx)(m.Z,{title:d,placement:"top-start",children:(0,C.jsx)("div",{className:x.tooltip,children:(0,C.jsx)(g.Z,{})})})})]}),(0,C.jsx)(c.ZP,{item:!0,xs:12,children:(0,C.jsx)("br",{})}),(0,C.jsxs)(c.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea"},children:[(0,C.jsx)(c.ZP,{item:!0,xs:12,children:(0,C.jsx)(l.ZP,{value:t,theme:A?P:S,extensions:R,editable:!y,basicSetup:!0,height:F,onChange:function(e,t){b(null,null,e)}})}),(0,C.jsx)(c.ZP,{item:!0,xs:12,sx:{borderTop:"1px solid #eaeaea",background:A?"#282c34":"#f7f7f7"},children:(0,C.jsxs)(p.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,C.jsx)(v.Z,{tooltip:"Change theme",onClick:function(){L(!A)},text:"",icon:(0,C.jsx)(Z.EO,{}),color:"primary",variant:"outlined"}),(0,C.jsx)(j(),{text:t,children:(0,C.jsx)(v.Z,{tooltip:"Copy to Clipboard",onClick:function(){},text:"",icon:(0,C.jsx)(Z.TI,{}),color:"primary",variant:"outlined"})})]})})]})]})}))},92440:function(e,t,o){var n=o(36222),i=o(18489),r=o(50390),a=o(86509),c=o(4285),l=o(49056),s=o(14602),d=o(94187),u=o(35477),h=o(25594),m=o(72462),p=o(97538),f=o(44977),x=o(62559),g=(0,c.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(l.Z);t.Z=(0,c.Z)((function(e){return(0,a.Z)((0,i.Z)((0,i.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},m.OR),m.YI))}))((function(e){var t=e.label,o=void 0===t?"":t,i=e.onChange,a=e.value,c=e.id,l=e.name,m=e.checked,b=void 0!==m&&m,Z=e.disabled,v=void 0!==Z&&Z,k=e.switchOnly,j=void 0!==k&&k,y=e.tooltip,C=void 0===y?"":y,w=e.description,S=void 0===w?"":w,P=e.classes,B=e.indicatorLabels,F=(0,x.jsxs)(r.Fragment,{children:[!j&&(0,x.jsx)("span",{className:(0,f.Z)(P.indicatorLabel,(0,n.Z)({},P.indicatorLabelOn,!b)),children:B&&B.length>1?B[1]:"OFF"}),(0,x.jsx)(g,{checked:b,onChange:i,color:"primary",name:l,inputProps:{"aria-label":"primary checkbox"},disabled:v,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:a}),!j&&(0,x.jsx)("span",{className:(0,f.Z)(P.indicatorLabel,(0,n.Z)({},P.indicatorLabelOn,b)),children:B?B[0]:"ON"})]});return j?F:(0,x.jsx)("div",{className:P.divContainer,children:(0,x.jsxs)(h.ZP,{container:!0,alignItems:"center",children:[(0,x.jsx)(h.ZP,{item:!0,xs:!0,children:(0,x.jsxs)(h.ZP,{container:!0,children:[(0,x.jsx)(h.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==o&&(0,x.jsxs)(s.Z,{htmlFor:c,className:P.inputLabel,children:[(0,x.jsx)("span",{children:o}),""!==C&&(0,x.jsx)("div",{className:P.tooltipContainer,children:(0,x.jsx)(d.Z,{title:C,placement:"top-start",children:(0,x.jsx)("div",{className:P.tooltip,children:(0,x.jsx)(p.Z,{})})})})]})}),(0,x.jsx)(h.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==S&&(0,x.jsx)(u.Z,{component:"p",className:P.fieldDescription,children:S})})]})}),(0,x.jsx)(h.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:P.switchContainer,children:F})]})})}))},49056:function(e,t,o){o.d(t,{Z:function(){return y}});var n=o(36222),i=o(1048),r=o(32793),a=o(50390),c=o(44977),l=o(50076),s=o(36128),d=o(91442),u=o(16756),h=o(15573),m=o(8208),p=o(10594);function f(e){return(0,p.Z)("MuiSwitch",e)}var x=(0,o(43349).Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),g=o(62559),b=["className","color","edge","size","sx"],Z=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(e,t){var o=e.ownerState;return[t.root,o.edge&&t["edge".concat((0,d.Z)(o.edge))],t["size".concat((0,d.Z)(o.size))]]}})((function(e){var t,o=e.ownerState;return(0,r.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===o.edge&&{marginLeft:-8},"end"===o.edge&&{marginRight:-8},"small"===o.size&&(t={width:40,height:24,padding:7},(0,n.Z)(t,"& .".concat(x.thumb),{width:16,height:16}),(0,n.Z)(t,"& .".concat(x.switchBase),(0,n.Z)({padding:4},"&.".concat(x.checked),{transform:"translateX(16px)"})),t))})),v=(0,m.ZP)(u.Z,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(e,t){var o=e.ownerState;return[t.switchBase,(0,n.Z)({},"& .".concat(x.input),t.input),"default"!==o.color&&t["color".concat((0,d.Z)(o.color))]]}})((function(e){var t,o=e.theme;return t={position:"absolute",top:0,left:0,zIndex:1,color:"light"===o.palette.mode?o.palette.common.white:o.palette.grey[300],transition:o.transitions.create(["left","transform"],{duration:o.transitions.duration.shortest})},(0,n.Z)(t,"&.".concat(x.checked),{transform:"translateX(20px)"}),(0,n.Z)(t,"&.".concat(x.disabled),{color:"light"===o.palette.mode?o.palette.grey[100]:o.palette.grey[600]}),(0,n.Z)(t,"&.".concat(x.checked," + .").concat(x.track),{opacity:.5}),(0,n.Z)(t,"&.".concat(x.disabled," + .").concat(x.track),{opacity:"light"===o.palette.mode?.12:.2}),(0,n.Z)(t,"& .".concat(x.input),{left:"-100%",width:"300%"}),t}),(function(e){var t,o=e.theme,i=e.ownerState;return(0,r.Z)({"&:hover":{backgroundColor:(0,s.Fq)(o.palette.action.active,o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==i.color&&(t={},(0,n.Z)(t,"&.".concat(x.checked),(0,n.Z)({color:o.palette[i.color].main,"&:hover":{backgroundColor:(0,s.Fq)(o.palette[i.color].main,o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(x.disabled),{color:"light"===o.palette.mode?(0,s.$n)(o.palette[i.color].main,.62):(0,s._j)(o.palette[i.color].main,.55)})),(0,n.Z)(t,"&.".concat(x.checked," + .").concat(x.track),{backgroundColor:o.palette[i.color].main}),t))})),k=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(e,t){return t.track}})((function(e){var t=e.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:"light"===t.palette.mode?t.palette.common.black:t.palette.common.white,opacity:"light"===t.palette.mode?.38:.3}})),j=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(e,t){return t.thumb}})((function(e){return{boxShadow:e.theme.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),y=a.forwardRef((function(e,t){var o=(0,h.Z)({props:e,name:"MuiSwitch"}),n=o.className,a=o.color,s=void 0===a?"primary":a,u=o.edge,m=void 0!==u&&u,p=o.size,x=void 0===p?"medium":p,y=o.sx,C=(0,i.Z)(o,b),w=(0,r.Z)({},o,{color:s,edge:m,size:x}),S=function(e){var t=e.classes,o=e.edge,n=e.size,i=e.color,a=e.checked,c=e.disabled,s={root:["root",o&&"edge".concat((0,d.Z)(o)),"size".concat((0,d.Z)(n))],switchBase:["switchBase","color".concat((0,d.Z)(i)),a&&"checked",c&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},u=(0,l.Z)(s,f,t);return(0,r.Z)({},t,u)}(w),P=(0,g.jsx)(j,{className:S.thumb,ownerState:w});return(0,g.jsxs)(Z,{className:(0,c.Z)(S.root,n),sx:y,ownerState:w,children:[(0,g.jsx)(v,(0,r.Z)({type:"checkbox",icon:P,checkedIcon:P,ref:t,ownerState:w},C,{classes:(0,r.Z)({},S,{root:S.switchBase})})),(0,g.jsx)(k,{className:S.track,ownerState:w})]})}))},89472:function(e,t,o){o.d(t,{Z:function(){return i}});var n=o(72327);function i(e,t){var o="undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!o){if(Array.isArray(e)||(o=(0,n.Z)(e))||t&&e&&"number"===typeof e.length){o&&(e=o);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,c=!0,l=!1;return{s:function(){o=o.call(e)},n:function(){var e=o.next();return c=e.done,e},e:function(e){l=!0,a=e},f:function(){try{c||null==o.return||o.return()}finally{if(l)throw a}}}}}}]); -//# sourceMappingURL=4360.bbbd8faf.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4360.bbbd8faf.chunk.js.map b/portal-ui/build/static/js/4360.bbbd8faf.chunk.js.map deleted file mode 100644 index e832c219e..000000000 --- a/portal-ui/build/static/js/4360.bbbd8faf.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/4360.bbbd8faf.chunk.js","mappings":"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","sources":["screens/Console/Account/AddServiceAccount.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","../node_modules/@mui/material/Switch/switchClasses.js","../node_modules/@mui/material/Switch/Switch.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.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, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, Button, LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n modalStyleUtils,\n serviceAccountStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { NewServiceAccount } from \"../Common/CredentialsPrompt/types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../common/api\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { AccountIcon } from \"../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...serviceAccountStyles,\n ...modalStyleUtils,\n });\n\ninterface IAddServiceAccountProps {\n classes: any;\n open: boolean;\n closeModalAndRefresh: (res: NewServiceAccount | null) => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst AddServiceAccount = ({\n classes,\n open,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: IAddServiceAccountProps) => {\n const [addSending, setAddSending] = useState(false);\n const [policyDefinition, setPolicyDefinition] = useState(\"\");\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n const [isRestrictedByPolicy, setIsRestrictedByPolicy] =\n useState(false);\n const [addCredentials, setAddCredentials] = useState(false);\n\n useEffect(() => {\n if (addSending) {\n if (addCredentials) {\n api\n .invoke(\"POST\", `/api/v1/service-account-credentials`, {\n policy: policyDefinition,\n accessKey: accessKey,\n secretKey: secretKey,\n })\n .then((res) => {\n setAddSending(false);\n closeModalAndRefresh(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n api\n .invoke(\"POST\", `/api/v1/service-accounts`, {\n policy: policyDefinition,\n })\n .then((res) => {\n setAddSending(false);\n closeModalAndRefresh(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n setModalErrorSnackMessage(err);\n });\n }\n }\n }, [\n addSending,\n setAddSending,\n setModalErrorSnackMessage,\n policyDefinition,\n closeModalAndRefresh,\n addCredentials,\n accessKey,\n secretKey,\n ]);\n\n const addServiceAccount = (e: React.FormEvent) => {\n e.preventDefault();\n setAddSending(true);\n };\n\n const resetForm = () => {\n setPolicyDefinition(\"\");\n };\n\n return (\n {\n closeModalAndRefresh(null);\n }}\n title={`Create Service Account`}\n titleIcon={}\n >\n ) => {\n addServiceAccount(e);\n }}\n >\n {addSending && (\n \n \n \n )}\n \n \n
\n Service Accounts inherit the policy explicitly attached to the\n parent user and the policy attached to each group in which the\n parent user has membership. You can specify an optional\n JSON-formatted policy below to restrict the Service Account access\n to a subset of actions and resources explicitly allowed for the\n parent user.\n \n You cannot modify the Service Account optional policy after\n saving.\n \n
\n
\n \n \n ) => {\n setAddCredentials(event.target.checked);\n }}\n label={\"Customize Credentials\"}\n />\n {addCredentials && (\n \n
\n {\n setAccessKey(e.target.value);\n }}\n />\n {\n setSecretKey(e.target.value);\n }}\n />\n
\n
\n )}\n
\n \n ) => {\n setIsRestrictedByPolicy(event.target.checked);\n }}\n label={\"Restrict with policy\"}\n />\n {isRestrictedByPolicy && (\n \n {\n setPolicyDefinition(value);\n }}\n />\n \n )}\n \n
\n
\n \n \n \n Clear\n \n \n Create\n \n \n \n \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(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, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\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, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\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 inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\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 const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n \n
\n
\n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n
\n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, darken, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n}, ownerState.edge === 'start' && {\n marginLeft: -8\n}, ownerState.edge === 'end' && {\n marginRight: -8\n}, ownerState.size === 'small' && {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n}));\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.palette.mode === 'light' ? 0.12 : 0.2\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({\n '&:hover': {\n backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${switchClasses.checked}`]: {\n color: theme.palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: theme.palette[ownerState.color].main\n }\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.mode === 'light' ? 0.38 : 0.3\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}"],"names":["mapDispatchToProps","setModalErrorSnackMessage","connector","connect","withStyles","theme","createStyles","serviceAccountStyles","modalStyleUtils","classes","open","closeModalAndRefresh","useState","addSending","setAddSending","policyDefinition","setPolicyDefinition","accessKey","setAccessKey","secretKey","setSecretKey","isRestrictedByPolicy","setIsRestrictedByPolicy","addCredentials","setAddCredentials","useEffect","api","policy","then","res","catch","err","modalOpen","onClose","title","titleIcon","noValidate","autoComplete","onSubmit","e","preventDefault","addServiceAccount","item","xs","container","className","modalFormScrollable","infoDetails","sx","paddingTop","paddingBottom","value","id","name","checked","onChange","event","target","label","stackedInputs","placeholder","codeMirrorContainer","onBeforeChange","editor","data","modalButtonBar","type","color","variant","onClick","disabled","langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","backgroundColor","caretColor","borderLeftColor","border","borderRight","fontSize","fontWeight","dark","darkTheme","fieldBasic","inputLabel","tooltip","mode","readOnly","editorHeight","isDarkTheme","setIsDarkTheme","extensionList","tooltipContainer","placement","extensions","editable","basicSetup","height","v","vu","borderTop","background","display","alignItems","padding","paddingRight","justifyContent","width","marginLeft","text","icon","StyledSwitch","root","margin","switchBase","transform","palette","common","white","boxShadow","opacity","thumb","track","borderRadius","transition","transitions","create","focusVisible","switchContainer","Switch","divContainer","marginBottom","indicatorLabelOn","indicatorLabel","fieldDescription","marginTop","actionsTray","switchOnly","description","indicatorLabels","switchComponent","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","sm","md","htmlFor","textAlign","component","getSwitchUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","SwitchRoot","styled","overridesResolver","props","styles","ownerState","edge","capitalize","size","_extends","overflow","boxSizing","position","flexShrink","zIndex","verticalAlign","colorAdjust","marginRight","switchClasses","SwitchSwitchBase","SwitchBase","input","top","left","grey","duration","shortest","alpha","action","active","hoverOpacity","main","lighten","darken","SwitchTrack","black","SwitchThumb","shadows","React","inProps","ref","useThemeProps","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","_jsx","_jsxs","children","checkedIcon","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","i","F","s","n","done","_e","f","TypeError","normalCompletion","didErr","call","step","next","_e2"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4487.3ad24a2d.chunk.js b/portal-ui/build/static/js/4487.8d3f76aa.chunk.js similarity index 97% rename from portal-ui/build/static/js/4487.3ad24a2d.chunk.js rename to portal-ui/build/static/js/4487.8d3f76aa.chunk.js index 6016fc2f0..80757eb24 100644 --- a/portal-ui/build/static/js/4487.3ad24a2d.chunk.js +++ b/portal-ui/build/static/js/4487.8d3f76aa.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4487],{77926:function(e,n,a){a.r(n),a.d(n,{default:function(){return D}});var t=a(23430),i=a(18489),s=a(50390),o=a(34424),r=a(25594),l=a(66946),c=a(86509),d=a(4285),u=a(30324),m=a(77555),p=a(29399),f=a(73481),x=a(35044),h=a(74268),v=a(4182),Z=a(72462),g=a(44149),j=a(76352),b=a(66964),C=a(12066),N=a(14602),k=a(94187),S=a(47554),y=a(62449),M=a(10728),E=a(97538),w=a(62559),I=(0,y.Z)((function(e){return(0,c.Z)((0,i.Z)({},Z.gM))}));function L(e){var n=I();return(0,w.jsx)(C.Z,(0,i.Z)({InputProps:{classes:n}},e))}var P=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)({},Z.YI),Z.Hr))}))((function(e){var n=e.classes,a=e.id,o=e.name,l=e.onChange,c=e.options,d=e.label,u=e.tooltip,m=void 0===u?"":u,p=e.value,f=e.disabled,x=void 0!==f&&f,h=(0,s.useState)(c[0]),v=(0,t.Z)(h,2),Z=v[0],g=v[1];return(0,w.jsx)(s.Fragment,{children:(0,w.jsxs)(r.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==d&&(0,w.jsxs)(N.Z,{htmlFor:a,className:n.inputLabel,children:[(0,w.jsx)("span",{children:d}),""!==m&&(0,w.jsx)("div",{className:n.tooltipContainer,children:(0,w.jsx)(k.Z,{title:m,placement:"top-start",children:(0,w.jsx)("div",{className:n.tooltip,children:(0,w.jsx)(E.Z,{})})})})]}),(0,w.jsx)(S.Z,{fullWidth:!0,children:(0,w.jsx)(M.Z,{id:a,options:c,getOptionLabel:function(e){return e.label},isOptionEqualToValue:function(e){return e.value===p},disabled:x,renderInput:function(e){return(0,w.jsx)(L,(0,i.Z)((0,i.Z)({},e),{},{name:o}))},value:Z,onChange:function(e,n){n&&(l(n.value),g(n))},autoHighlight:!0})})]})})})),B=a(11387),F=(0,o.$j)(null,{setModalErrorSnackMessage:g.zb}),D=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)({arnField:{"& div div .MuiOutlinedInput-root":{padding:0}}},Z.DF),Z.ID))}))(F((function(e){var n=e.classes,a=e.open,i=e.selectedBucket,o=e.closeModalAndRefresh,c=e.setModalErrorSnackMessage,d=(0,s.useState)(!1),Z=(0,t.Z)(d,2),g=Z[0],C=Z[1],N=(0,s.useState)(""),k=(0,t.Z)(N,2),S=k[0],y=k[1],M=(0,s.useState)(""),E=(0,t.Z)(M,2),I=E[0],L=E[1],F=(0,s.useState)(""),D=(0,t.Z)(F,2),O=D[0],T=D[1],R=(0,s.useState)([]),z=(0,t.Z)(R,2),W=z[0],H=z[1],A=(0,s.useState)([]),G=(0,t.Z)(A,2),Y=G[0],$=G[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),c(e)}))}),[c]);(0,s.useEffect)((function(){q()}),[q]);var U=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))),H(t)},V=Y.map((function(e){return{label:e,value:e}}));return(0,w.jsx)(j.Z,{modalOpen:a,onClose:function(){o()},title:"Subscribe To Bucket Events",titleIcon:(0,w.jsx)(B.c3,{}),children:(0,w.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),g||(C(!0),u.Z.invoke("POST","/api/v1/buckets/".concat(i,"/events"),{configuration:{arn:O,events:W,prefix:S,suffix:I},ignoreExisting:!0}).then((function(){C(!1),o()})).catch((function(e){C(!1),c(e)})))},children:(0,w.jsxs)(r.ZP,{container:!0,children:[(0,w.jsxs)(r.ZP,{item:!0,xs:12,className:n.formScrollable,children:[(0,w.jsx)(r.ZP,{item:!0,xs:12,className:"".concat(n.arnField," ").concat(n.formFieldRow),children:(0,w.jsx)(P,{onChange:function(e){T(e)},id:"select-access-policy",name:"select-access-policy",label:"ARN",value:O,options:V})}),(0,w.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,w.jsx)(b.Z,{id:"prefix-input",name:"prefix-input",label:"Prefix",value:S,onChange:function(e){y(e.target.value)}})}),(0,w.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,w.jsx)(b.Z,{id:"suffix-input",name:"suffix-input",label:"Suffix",value:I,onChange:function(e){L(e.target.value)}})}),(0,w.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,w.jsxs)(v.Z,{size:"medium",children:[(0,w.jsx)(m.Z,{className:n.minTableHeader,children:(0,w.jsxs)(p.Z,{children:[(0,w.jsx)(f.Z,{children:"Select"}),(0,w.jsx)(f.Z,{children:"Event"})]})}),(0,w.jsx)(x.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,w.jsxs)(p.Z,{onClick:function(n){return U(0,e.value)},children:[(0,w.jsx)(f.Z,{padding:"checkbox",children:(0,w.jsx)(h.Z,{value:e.value,color:"primary",inputProps:{"aria-label":"secondary checkbox"},onChange:function(n){return U(0,e.value)},checked:W.includes(e.value)})}),(0,w.jsx)(f.Z,{className:n.wrapCell,children:e.label})]},"group-".concat(e.value))}))})]})})]}),(0,w.jsxs)(r.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,w.jsx)(l.Z,{type:"button",variant:"outlined",color:"primary",disabled:g,onClick:function(){o()},children:"Cancel"}),(0,w.jsx)(l.Z,{type:"submit",variant:"contained",color:"primary",disabled:g,children:"Save"})]})]})})})})))},66964:function(e,n,a){var t=a(18489),i=a(50390),s=a(12066),o=a(25594),r=a(14602),l=a(94187),c=a(95467),d=a(86509),u=a(62449),m=a(4285),p=a(72462),f=a(97538),x=a(44977),h=a(62559),v=(0,u.Z)((function(e){return(0,d.Z)((0,t.Z)({},p.gM))}));function Z(e){var n=v();return(0,h.jsx)(s.Z,(0,t.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,a=e.onChange,s=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,v=e.autoComplete,g=void 0===v?"off":v,j=e.disabled,b=void 0!==j&&j,C=e.multiline,N=void 0!==C&&C,k=e.tooltip,S=void 0===k?"":k,y=e.index,M=void 0===y?0:y,E=e.error,w=void 0===E?"":E,I=e.required,L=void 0!==I&&I,P=e.placeholder,B=void 0===P?"":P,F=e.min,D=e.max,O=e.overlayIcon,T=void 0===O?null:O,R=e.overlayObject,z=void 0===R?null:R,W=e.extraInputProps,H=void 0===W?{}:W,A=e.overlayAction,G=e.noLabelMinWidth,Y=void 0!==G&&G,$=e.pattern,q=void 0===$?"":$,U=e.autoFocus,V=void 0!==U&&U,_=e.classes,K=e.className,Q=void 0===K?"":K,X=(0,t.Z)({"data-index":M},H);return"number"===p&&F&&(X.min=F),"number"===p&&D&&(X.max=D),""!==q&&(X.pattern=q),(0,h.jsx)(i.Fragment,{children:(0,h.jsxs)(o.ZP,{container:!0,className:(0,x.Z)(""!==Q?Q:"",""!==w?_.errorInField:_.inputBoxContainer),children:[""!==n&&(0,h.jsxs)(r.Z,{htmlFor:d,className:Y?_.noMinWidthLabel:_.inputLabel,children:[(0,h.jsxs)("span",{children:[n,L?"*":""]}),""!==S&&(0,h.jsx)("div",{className:_.tooltipContainer,children:(0,h.jsx)(l.Z,{title:S,placement:"top-start",children:(0,h.jsx)("div",{className:_.tooltip,children:(0,h.jsx)(f.Z,{})})})})]}),(0,h.jsxs)("div",{className:_.textBoxContainer,children:[(0,h.jsx)(Z,{id:d,name:u,fullWidth:!0,value:s,autoFocus:V,disabled:b,onChange:a,type:p,multiline:N,autoComplete:g,inputProps:X,error:""!==w,helperText:w,placeholder:B,className:_.inputRebase}),T&&(0,h.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,h.jsx)(c.Z,{onClick:A?function(){A()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:T})}),z&&(0,h.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==n?"withLabel":""),children:z})]})]})})}))},76352:function(e,n,a){a.d(n,{Z:function(){return M}});var t,i=a(23430),s=a(18489),o=a(50390),r=a(34424),l=a(95467),c=a(97771),d=a(84402),u=a(78426),m=a(93085),p=a(86509),f=a(4285),x=a(72462),h=a(44149),v=a(38342),Z=a.n(v),g=a(92125),j=a(19538),b=a(21278),C=a(62559),N=function(){clearInterval(t)},k={displayErrorMessage:h.zb},S=(0,r.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),k)((0,f.Z)((function(e){return(0,p.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var n=e.classes,a=e.modalSnackMessage,s=e.displayErrorMessage,r=e.customStyle,l=(0,o.useState)(!1),c=(0,i.Z)(l,2),d=c[0],u=c[1],m=(0,o.useState)(!1),p=(0,i.Z)(m,2),f=p[0],x=p[1],h=(0,o.useCallback)((function(){x(!1)}),[]);(0,o.useEffect)((function(){f||(s({detailedError:"",errorMessage:""}),u(!1))}),[s,f]),(0,o.useEffect)((function(){""!==a.message&&"error"===a.type&&x(!0)}),[h,a.message,a.type]);var v=Z()(a,"message",""),k=Z()(a,"detailedErrorMsg","");return"error"!==a.type||""===v?null:(0,C.jsx)(o.Fragment,{children:(0,C.jsxs)("div",{className:"".concat(n.modalErrorContainer," ").concat(f?n.modalErrorShow:""),style:r,onMouseOver:N,onMouseLeave:function(){t=setInterval(h,1e4)},children:[(0,C.jsx)("button",{className:n.closeButton,onClick:h,children:(0,C.jsx)(b.Z,{})}),(0,C.jsxs)("div",{className:n.errorTitle,children:[(0,C.jsx)("span",{className:n.messageIcon,children:(0,C.jsx)(j.Z,{})}),(0,C.jsx)("span",{className:n.errorLabel,children:v})]}),""!==k&&(0,C.jsxs)(o.Fragment,{children:[(0,C.jsx)("div",{className:n.detailsContainerLink,children:(0,C.jsxs)("button",{className:n.detailsButton,onClick:function(){u(!d)},children:["Details",(0,C.jsx)(g.Z,{className:"".concat(n.arrowElement," ").concat(d?n.arrowOpen:"")})]})}),(0,C.jsx)("div",{className:"".concat(n.extraDetailsContainer," ").concat(d?n.extraDetailsOpen:""),children:k})]})]})})}))),y=(0,r.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:h.MK}),M=(0,f.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)({},x.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},x.sN))}))(y((function(e){var n=e.onClose,a=e.modalOpen,t=e.title,r=e.children,p=e.classes,f=e.wideLimit,x=void 0===f||f,h=e.modalSnackMessage,v=e.noContentPadding,Z=e.setModalSnackMessage,g=e.titleIcon,j=void 0===g?null:g,N=(0,o.useState)(!1),k=(0,i.Z)(N,2),y=k[0],M=k[1];(0,o.useEffect)((function(){Z("")}),[Z]),(0,o.useEffect)((function(){if(h){if(""===h.message)return void M(!1);"error"!==h.type&&M(!0)}}),[h]);var E=x?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return h&&(w=h.detailedErrorMsg,(""===h.detailedErrorMsg||h.detailedErrorMsg.length<5)&&(w=h.message)),(0,C.jsxs)(d.Z,(0,s.Z)((0,s.Z)({open:a,classes:p},E),{},{scroll:"paper",onClose:function(e,a){"backdropClick"!==a&&n()},className:p.root,children:[(0,C.jsxs)(u.Z,{className:p.title,children:[(0,C.jsxs)("div",{className:p.titleText,children:[j," ",t]}),(0,C.jsx)("div",{className:p.closeContainer,children:(0,C.jsx)(l.Z,{"aria-label":"close",className:p.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,C.jsx)(b.Z,{})})})]}),(0,C.jsx)(S,{}),(0,C.jsx)(c.Z,{open:y,className:p.snackBarModal,onClose:function(){M(!1),Z("")},message:w,ContentProps:{className:"".concat(p.snackBar," ").concat(h&&"error"===h.type?p.errorSnackBar:"")},autoHideDuration:h&&"error"===h.type?1e4:5e3}),(0,C.jsx)(m.Z,{className:v?"":p.content,children:r})]}))})))}}]); -//# sourceMappingURL=4487.3ad24a2d.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4487],{77926:function(e,n,a){a.r(n),a.d(n,{default:function(){return D}});var t=a(23430),i=a(18489),s=a(50390),o=a(34424),r=a(25594),l=a(66946),c=a(86509),d=a(4285),u=a(30324),m=a(77555),p=a(29399),f=a(73481),x=a(35044),h=a(74268),v=a(4182),Z=a(72462),g=a(44149),j=a(76352),b=a(66964),C=a(12066),N=a(36554),k=a(94187),S=a(47554),y=a(62449),M=a(10728),E=a(97538),w=a(62559),I=(0,y.Z)((function(e){return(0,c.Z)((0,i.Z)({},Z.gM))}));function L(e){var n=I();return(0,w.jsx)(C.Z,(0,i.Z)({InputProps:{classes:n}},e))}var P=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)({},Z.YI),Z.Hr))}))((function(e){var n=e.classes,a=e.id,o=e.name,l=e.onChange,c=e.options,d=e.label,u=e.tooltip,m=void 0===u?"":u,p=e.value,f=e.disabled,x=void 0!==f&&f,h=(0,s.useState)(c[0]),v=(0,t.Z)(h,2),Z=v[0],g=v[1];return(0,w.jsx)(s.Fragment,{children:(0,w.jsxs)(r.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==d&&(0,w.jsxs)(N.Z,{htmlFor:a,className:n.inputLabel,children:[(0,w.jsx)("span",{children:d}),""!==m&&(0,w.jsx)("div",{className:n.tooltipContainer,children:(0,w.jsx)(k.Z,{title:m,placement:"top-start",children:(0,w.jsx)("div",{className:n.tooltip,children:(0,w.jsx)(E.Z,{})})})})]}),(0,w.jsx)(S.Z,{fullWidth:!0,children:(0,w.jsx)(M.Z,{id:a,options:c,getOptionLabel:function(e){return e.label},isOptionEqualToValue:function(e){return e.value===p},disabled:x,renderInput:function(e){return(0,w.jsx)(L,(0,i.Z)((0,i.Z)({},e),{},{name:o}))},value:Z,onChange:function(e,n){n&&(l(n.value),g(n))},autoHighlight:!0})})]})})})),B=a(98280),F=(0,o.$j)(null,{setModalErrorSnackMessage:g.zb}),D=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)({arnField:{"& div div .MuiOutlinedInput-root":{padding:0}}},Z.DF),Z.ID))}))(F((function(e){var n=e.classes,a=e.open,i=e.selectedBucket,o=e.closeModalAndRefresh,c=e.setModalErrorSnackMessage,d=(0,s.useState)(!1),Z=(0,t.Z)(d,2),g=Z[0],C=Z[1],N=(0,s.useState)(""),k=(0,t.Z)(N,2),S=k[0],y=k[1],M=(0,s.useState)(""),E=(0,t.Z)(M,2),I=E[0],L=E[1],F=(0,s.useState)(""),D=(0,t.Z)(F,2),O=D[0],T=D[1],R=(0,s.useState)([]),z=(0,t.Z)(R,2),W=z[0],H=z[1],A=(0,s.useState)([]),G=(0,t.Z)(A,2),Y=G[0],$=G[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),c(e)}))}),[c]);(0,s.useEffect)((function(){q()}),[q]);var U=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))),H(t)},V=Y.map((function(e){return{label:e,value:e}}));return(0,w.jsx)(j.Z,{modalOpen:a,onClose:function(){o()},title:"Subscribe To Bucket Events",titleIcon:(0,w.jsx)(B.c3,{}),children:(0,w.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),g||(C(!0),u.Z.invoke("POST","/api/v1/buckets/".concat(i,"/events"),{configuration:{arn:O,events:W,prefix:S,suffix:I},ignoreExisting:!0}).then((function(){C(!1),o()})).catch((function(e){C(!1),c(e)})))},children:(0,w.jsxs)(r.ZP,{container:!0,children:[(0,w.jsxs)(r.ZP,{item:!0,xs:12,className:n.formScrollable,children:[(0,w.jsx)(r.ZP,{item:!0,xs:12,className:"".concat(n.arnField," ").concat(n.formFieldRow),children:(0,w.jsx)(P,{onChange:function(e){T(e)},id:"select-access-policy",name:"select-access-policy",label:"ARN",value:O,options:V})}),(0,w.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,w.jsx)(b.Z,{id:"prefix-input",name:"prefix-input",label:"Prefix",value:S,onChange:function(e){y(e.target.value)}})}),(0,w.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,w.jsx)(b.Z,{id:"suffix-input",name:"suffix-input",label:"Suffix",value:I,onChange:function(e){L(e.target.value)}})}),(0,w.jsx)(r.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,w.jsxs)(v.Z,{size:"medium",children:[(0,w.jsx)(m.Z,{className:n.minTableHeader,children:(0,w.jsxs)(p.Z,{children:[(0,w.jsx)(f.Z,{children:"Select"}),(0,w.jsx)(f.Z,{children:"Event"})]})}),(0,w.jsx)(x.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,w.jsxs)(p.Z,{onClick:function(n){return U(0,e.value)},children:[(0,w.jsx)(f.Z,{padding:"checkbox",children:(0,w.jsx)(h.Z,{value:e.value,color:"primary",inputProps:{"aria-label":"secondary checkbox"},onChange:function(n){return U(0,e.value)},checked:W.includes(e.value)})}),(0,w.jsx)(f.Z,{className:n.wrapCell,children:e.label})]},"group-".concat(e.value))}))})]})})]}),(0,w.jsxs)(r.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,w.jsx)(l.Z,{type:"button",variant:"outlined",color:"primary",disabled:g,onClick:function(){o()},children:"Cancel"}),(0,w.jsx)(l.Z,{type:"submit",variant:"contained",color:"primary",disabled:g,children:"Save"})]})]})})})})))},66964:function(e,n,a){var t=a(18489),i=a(50390),s=a(12066),o=a(25594),r=a(36554),l=a(94187),c=a(95467),d=a(86509),u=a(62449),m=a(4285),p=a(72462),f=a(97538),x=a(44977),h=a(62559),v=(0,u.Z)((function(e){return(0,d.Z)((0,t.Z)({},p.gM))}));function Z(e){var n=v();return(0,h.jsx)(s.Z,(0,t.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,a=e.onChange,s=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,v=e.autoComplete,g=void 0===v?"off":v,j=e.disabled,b=void 0!==j&&j,C=e.multiline,N=void 0!==C&&C,k=e.tooltip,S=void 0===k?"":k,y=e.index,M=void 0===y?0:y,E=e.error,w=void 0===E?"":E,I=e.required,L=void 0!==I&&I,P=e.placeholder,B=void 0===P?"":P,F=e.min,D=e.max,O=e.overlayIcon,T=void 0===O?null:O,R=e.overlayObject,z=void 0===R?null:R,W=e.extraInputProps,H=void 0===W?{}:W,A=e.overlayAction,G=e.noLabelMinWidth,Y=void 0!==G&&G,$=e.pattern,q=void 0===$?"":$,U=e.autoFocus,V=void 0!==U&&U,_=e.classes,K=e.className,Q=void 0===K?"":K,X=(0,t.Z)({"data-index":M},H);return"number"===p&&F&&(X.min=F),"number"===p&&D&&(X.max=D),""!==q&&(X.pattern=q),(0,h.jsx)(i.Fragment,{children:(0,h.jsxs)(o.ZP,{container:!0,className:(0,x.Z)(""!==Q?Q:"",""!==w?_.errorInField:_.inputBoxContainer),children:[""!==n&&(0,h.jsxs)(r.Z,{htmlFor:d,className:Y?_.noMinWidthLabel:_.inputLabel,children:[(0,h.jsxs)("span",{children:[n,L?"*":""]}),""!==S&&(0,h.jsx)("div",{className:_.tooltipContainer,children:(0,h.jsx)(l.Z,{title:S,placement:"top-start",children:(0,h.jsx)("div",{className:_.tooltip,children:(0,h.jsx)(f.Z,{})})})})]}),(0,h.jsxs)("div",{className:_.textBoxContainer,children:[(0,h.jsx)(Z,{id:d,name:u,fullWidth:!0,value:s,autoFocus:V,disabled:b,onChange:a,type:p,multiline:N,autoComplete:g,inputProps:X,error:""!==w,helperText:w,placeholder:B,className:_.inputRebase}),T&&(0,h.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,h.jsx)(c.Z,{onClick:A?function(){A()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:T})}),z&&(0,h.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==n?"withLabel":""),children:z})]})]})})}))},76352:function(e,n,a){a.d(n,{Z:function(){return M}});var t,i=a(23430),s=a(18489),o=a(50390),r=a(34424),l=a(95467),c=a(97771),d=a(84402),u=a(78426),m=a(93085),p=a(86509),f=a(4285),x=a(72462),h=a(44149),v=a(38342),Z=a.n(v),g=a(92125),j=a(19538),b=a(21278),C=a(62559),N=function(){clearInterval(t)},k={displayErrorMessage:h.zb},S=(0,r.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),k)((0,f.Z)((function(e){return(0,p.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var n=e.classes,a=e.modalSnackMessage,s=e.displayErrorMessage,r=e.customStyle,l=(0,o.useState)(!1),c=(0,i.Z)(l,2),d=c[0],u=c[1],m=(0,o.useState)(!1),p=(0,i.Z)(m,2),f=p[0],x=p[1],h=(0,o.useCallback)((function(){x(!1)}),[]);(0,o.useEffect)((function(){f||(s({detailedError:"",errorMessage:""}),u(!1))}),[s,f]),(0,o.useEffect)((function(){""!==a.message&&"error"===a.type&&x(!0)}),[h,a.message,a.type]);var v=Z()(a,"message",""),k=Z()(a,"detailedErrorMsg","");return"error"!==a.type||""===v?null:(0,C.jsx)(o.Fragment,{children:(0,C.jsxs)("div",{className:"".concat(n.modalErrorContainer," ").concat(f?n.modalErrorShow:""),style:r,onMouseOver:N,onMouseLeave:function(){t=setInterval(h,1e4)},children:[(0,C.jsx)("button",{className:n.closeButton,onClick:h,children:(0,C.jsx)(b.Z,{})}),(0,C.jsxs)("div",{className:n.errorTitle,children:[(0,C.jsx)("span",{className:n.messageIcon,children:(0,C.jsx)(j.Z,{})}),(0,C.jsx)("span",{className:n.errorLabel,children:v})]}),""!==k&&(0,C.jsxs)(o.Fragment,{children:[(0,C.jsx)("div",{className:n.detailsContainerLink,children:(0,C.jsxs)("button",{className:n.detailsButton,onClick:function(){u(!d)},children:["Details",(0,C.jsx)(g.Z,{className:"".concat(n.arrowElement," ").concat(d?n.arrowOpen:"")})]})}),(0,C.jsx)("div",{className:"".concat(n.extraDetailsContainer," ").concat(d?n.extraDetailsOpen:""),children:k})]})]})})}))),y=(0,r.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:h.MK}),M=(0,f.Z)((function(e){return(0,p.Z)((0,s.Z)((0,s.Z)({},x.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},x.sN))}))(y((function(e){var n=e.onClose,a=e.modalOpen,t=e.title,r=e.children,p=e.classes,f=e.wideLimit,x=void 0===f||f,h=e.modalSnackMessage,v=e.noContentPadding,Z=e.setModalSnackMessage,g=e.titleIcon,j=void 0===g?null:g,N=(0,o.useState)(!1),k=(0,i.Z)(N,2),y=k[0],M=k[1];(0,o.useEffect)((function(){Z("")}),[Z]),(0,o.useEffect)((function(){if(h){if(""===h.message)return void M(!1);"error"!==h.type&&M(!0)}}),[h]);var E=x?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return h&&(w=h.detailedErrorMsg,(""===h.detailedErrorMsg||h.detailedErrorMsg.length<5)&&(w=h.message)),(0,C.jsxs)(d.Z,(0,s.Z)((0,s.Z)({open:a,classes:p},E),{},{scroll:"paper",onClose:function(e,a){"backdropClick"!==a&&n()},className:p.root,children:[(0,C.jsxs)(u.Z,{className:p.title,children:[(0,C.jsxs)("div",{className:p.titleText,children:[j," ",t]}),(0,C.jsx)("div",{className:p.closeContainer,children:(0,C.jsx)(l.Z,{"aria-label":"close",className:p.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,C.jsx)(b.Z,{})})})]}),(0,C.jsx)(S,{}),(0,C.jsx)(c.Z,{open:y,className:p.snackBarModal,onClose:function(){M(!1),Z("")},message:w,ContentProps:{className:"".concat(p.snackBar," ").concat(h&&"error"===h.type?p.errorSnackBar:"")},autoHideDuration:h&&"error"===h.type?1e4:5e3}),(0,C.jsx)(m.Z,{className:v?"":p.content,children:r})]}))})))}}]); +//# sourceMappingURL=4487.8d3f76aa.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4487.3ad24a2d.chunk.js.map b/portal-ui/build/static/js/4487.8d3f76aa.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/4487.3ad24a2d.chunk.js.map rename to portal-ui/build/static/js/4487.8d3f76aa.chunk.js.map index d6aabb755..2d6a26ff8 100644 --- a/portal-ui/build/static/js/4487.3ad24a2d.chunk.js.map +++ b/portal-ui/build/static/js/4487.8d3f76aa.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/4487.3ad24a2d.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/AutocompleteWrapper/AutocompleteWrapper.tsx","screens/Console/Buckets/BucketDetails/AddEvent.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.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 .\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\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button } from \"@mui/material\";\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\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\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\";\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 setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst AddEvent = ({\n classes,\n open,\n selectedBucket,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: IAddEventProps) => {\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 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 setModalErrorSnackMessage(err);\n });\n }, [setModalErrorSnackMessage]);\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 >\n Cancel\n \n \n Save\n \n \n \n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(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 from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n"],"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","connector","connect","setModalErrorSnackMessage","arnField","padding","formFieldStyles","modalStyleUtils","open","selectedBucket","closeModalAndRefresh","addLoading","setAddLoading","prefix","setPrefix","suffix","setSuffix","arn","setArn","selectedEvents","setSelectedEvents","arnList","setArnList","fetchArnList","useCallback","api","then","res","arns","catch","err","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","Button","type","variant","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","fontWeight","multiline","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","clsx","errorInField","inputBoxContainer","noMinWidthLabel","helperText","inputRebase","disableFocusRipple","disableRipple","disableTouchRipple","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","marginTop","width","backgroundColor","border","borderLeftWidth","borderRadius","zIndex","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","fontSize","cursor","errorTitle","display","alignItems","errorLabel","marginLeft","marginRight","messageIcon","height","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","detailedError","errorMessage","message","get","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","setModalSnackMessage","deleteDialogStyles","root","content","paddingBottom","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","Dialog","scroll","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/4487.8d3f76aa.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/AutocompleteWrapper/AutocompleteWrapper.tsx","screens/Console/Buckets/BucketDetails/AddEvent.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.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 .\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\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button } from \"@mui/material\";\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\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\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\";\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 setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst AddEvent = ({\n classes,\n open,\n selectedBucket,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: IAddEventProps) => {\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 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 setModalErrorSnackMessage(err);\n });\n }, [setModalErrorSnackMessage]);\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 >\n Cancel\n \n \n Save\n \n \n \n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(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 from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n"],"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","connector","connect","setModalErrorSnackMessage","arnField","padding","formFieldStyles","modalStyleUtils","open","selectedBucket","closeModalAndRefresh","addLoading","setAddLoading","prefix","setPrefix","suffix","setSuffix","arn","setArn","selectedEvents","setSelectedEvents","arnList","setArnList","fetchArnList","useCallback","api","then","res","arns","catch","err","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","Button","type","variant","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","fontWeight","multiline","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","clsx","errorInField","inputBoxContainer","noMinWidthLabel","helperText","inputRebase","disableFocusRipple","disableRipple","disableTouchRipple","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","marginTop","width","backgroundColor","border","borderLeftWidth","borderRadius","zIndex","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","fontSize","cursor","errorTitle","display","alignItems","errorLabel","marginLeft","marginRight","messageIcon","height","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","detailedError","errorMessage","message","get","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","setModalSnackMessage","deleteDialogStyles","root","content","paddingBottom","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","Dialog","scroll","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4515.fc843c16.chunk.js b/portal-ui/build/static/js/4515.56df16f6.chunk.js similarity index 97% rename from portal-ui/build/static/js/4515.fc843c16.chunk.js rename to portal-ui/build/static/js/4515.56df16f6.chunk.js index 2f145b0c7..b88d5ef34 100644 --- a/portal-ui/build/static/js/4515.fc843c16.chunk.js +++ b/portal-ui/build/static/js/4515.56df16f6.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4515],{29316:function(e,n,a){a(50390);var t=a(6369),i=a(86509),s=a(4285),r=a(11387),o=a(62559);n.Z=(0,s.Z)((function(e){return(0,i.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var n=e.to,a=e.label,i=e.classes,s=e.className,l=e.executeOnClick;return(0,o.jsxs)(t.rU,{to:n,className:"".concat(i.link," ").concat(s||""),onClick:function(){l&&l()},children:[(0,o.jsx)("div",{className:i.icon,children:(0,o.jsx)(r.xN,{})}),(0,o.jsx)("div",{className:i.label,children:a})]})}))},82461:function(e,n,a){a.d(n,{Z:function(){return j}});var t=a(23430),i=a(18489),s=a(50390),r=a(38342),o=a.n(r),l=a(25594),c=a(14602),d=a(94187),u=a(95467),m=a(46529),p=a(94258),x=a(86509),f=a(4285),h=a(72462),g=a(97538),v=a(82981),Z=a(62559),j=(0,f.Z)((function(e){return(0,x.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.YI),h.Hr),{},{valueString:{maxWidth:350,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginTop:2},fileInputField:{margin:"13px 0","@media (max-width: 900px)":{flexFlow:"column"}}},h.bV),{},{inputLabel:(0,i.Z)((0,i.Z)({},h.YI.inputLabel),{},{fontWeight:"normal"}),textBoxContainer:(0,i.Z)((0,i.Z)({},h.YI.textBoxContainer),{},{maxWidth:"100%",border:"1px solid #eaeaea",paddingLeft:"15px"})}))}))((function(e){var n=e.label,a=e.classes,i=e.onChange,r=e.id,x=e.name,f=e.disabled,h=void 0!==f&&f,j=e.tooltip,b=void 0===j?"":j,C=e.required,y=e.error,N=void 0===y?"":y,S=e.accept,k=void 0===S?"":S,w=e.value,F=void 0===w?"":w,I=(0,s.useState)(!1),T=(0,t.Z)(I,2),E=T[0],A=T[1];return(0,Z.jsx)(s.Fragment,{children:(0,Z.jsxs)(l.ZP,{item:!0,xs:12,className:"".concat(a.fileInputField," ").concat(a.fieldBottom," ").concat(a.fieldContainer," ").concat(""!==N?a.errorInField:""),children:[""!==n&&(0,Z.jsxs)(c.Z,{htmlFor:r,className:"".concat(""!==N?a.fieldLabelError:""," ").concat(a.inputLabel),children:[(0,Z.jsxs)("span",{children:[n,C?"*":""]}),""!==b&&(0,Z.jsx)("div",{className:a.tooltipContainer,children:(0,Z.jsx)(d.Z,{title:b,placement:"top-start",children:(0,Z.jsx)("div",{className:a.tooltip,children:(0,Z.jsx)(g.Z,{})})})})]}),E||""===F?(0,Z.jsxs)("div",{className:a.textBoxContainer,children:[(0,Z.jsx)("input",{type:"file",name:x,onChange:function(e){var n=o()(e,"target.files[0].name","");!function(e,n){var a=e.target.files[0],t=new FileReader;t.readAsDataURL(a),t.onload=function(){var e=t.result;if(e){var a=e.toString().split("base64,");2===a.length&&n(a[1])}}}(e,(function(e){i(e,n)}))},accept:k,required:C,disabled:h,className:a.fileInputField}),""!==F&&(0,Z.jsx)(u.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){A(!1)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,Z.jsx)(p.Z,{})}),""!==N&&(0,Z.jsx)(v.Z,{errorMessage:N})]}):(0,Z.jsxs)("div",{className:a.fileReselect,children:[(0,Z.jsx)("div",{className:a.valueString,children:F}),(0,Z.jsx)(u.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){A(!0)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,Z.jsx)(m.Z,{})})]})]})})}))},66964:function(e,n,a){var t=a(18489),i=a(50390),s=a(12066),r=a(25594),o=a(14602),l=a(94187),c=a(95467),d=a(86509),u=a(62449),m=a(4285),p=a(72462),x=a(97538),f=a(44977),h=a(62559),g=(0,u.Z)((function(e){return(0,d.Z)((0,t.Z)({},p.gM))}));function v(e){var n=g();return(0,h.jsx)(s.Z,(0,t.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,a=e.onChange,s=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,g=e.autoComplete,Z=void 0===g?"off":g,j=e.disabled,b=void 0!==j&&j,C=e.multiline,y=void 0!==C&&C,N=e.tooltip,S=void 0===N?"":N,k=e.index,w=void 0===k?0:k,F=e.error,I=void 0===F?"":F,T=e.required,E=void 0!==T&&T,A=e.placeholder,B=void 0===A?"":A,R=e.min,L=e.max,P=e.overlayIcon,z=void 0===P?null:P,M=e.overlayObject,O=void 0===M?null:M,W=e.extraInputProps,K=void 0===W?{}:W,D=e.overlayAction,V=e.noLabelMinWidth,Y=void 0!==V&&V,G=e.pattern,H=void 0===G?"":G,X=e.autoFocus,_=void 0!==X&&X,U=e.classes,$=e.className,q=void 0===$?"":$,Q=(0,t.Z)({"data-index":w},K);return"number"===p&&R&&(Q.min=R),"number"===p&&L&&(Q.max=L),""!==H&&(Q.pattern=H),(0,h.jsx)(i.Fragment,{children:(0,h.jsxs)(r.ZP,{container:!0,className:(0,f.Z)(""!==q?q:"",""!==I?U.errorInField:U.inputBoxContainer),children:[""!==n&&(0,h.jsxs)(o.Z,{htmlFor:d,className:Y?U.noMinWidthLabel:U.inputLabel,children:[(0,h.jsxs)("span",{children:[n,E?"*":""]}),""!==S&&(0,h.jsx)("div",{className:U.tooltipContainer,children:(0,h.jsx)(l.Z,{title:S,placement:"top-start",children:(0,h.jsx)("div",{className:U.tooltip,children:(0,h.jsx)(x.Z,{})})})})]}),(0,h.jsxs)("div",{className:U.textBoxContainer,children:[(0,h.jsx)(v,{id:d,name:u,fullWidth:!0,value:s,autoFocus:_,disabled:b,onChange:a,type:p,multiline:y,autoComplete:Z,inputProps:Q,error:""!==I,helperText:I,placeholder:B,className:U.inputRebase}),z&&(0,h.jsx)("div",{className:"".concat(U.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,h.jsx)(c.Z,{onClick:D?function(){D()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:z})}),O&&(0,h.jsx)("div",{className:"".concat(U.overlayAction," ").concat(""!==n?"withLabel":""),children:O})]})]})})}))},25534:function(e,n,a){var t=a(18489),i=(a(50390),a(25594)),s=a(86509),r=a(4285),o=a(72462),l=a(62559);n.Z=(0,r.Z)((function(e){return(0,s.Z)((0,t.Z)({},o.Bw))}))((function(e){var n=e.classes,a=e.className,t=void 0===a?"":a,s=e.children;return(0,l.jsx)("div",{className:n.contentSpacer,children:(0,l.jsx)(i.ZP,{container:!0,children:(0,l.jsx)(i.ZP,{item:!0,xs:12,className:t,children:s})})})}))},35721:function(e,n,a){a(50390);var t=a(34424),i=a(25594),s=a(86509),r=a(4285),o=a(35477),l=a(95467),c=a(26805),d=a(44078),u=a(5265),m=a(11387),p=a(62559),x={toggleList:u.kQ},f=(0,t.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),x);n.Z=f((0,r.Z)((function(e){return(0,s.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,a=e.label,t=e.actions,s=e.sidebarOpen,r=e.operatorMode,u=e.managerObjects,x=e.toggleList,f=e.middleComponent;return(0,p.jsxs)(i.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!s&&(0,p.jsx)("div",{className:n.logo,children:r?(0,p.jsx)(c.Z,{}):(0,p.jsx)(d.Z,{})}),(0,p.jsx)(o.Z,{variant:"h4",className:n.labelStyle,children:a})]}),f&&(0,p.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,p.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.rightMenu,children:[t&&t,u&&u.length>0&&(0,p.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){x()},size:"large",children:(0,p.jsx)(m.gx,{})})]})]})})))},24515:function(e,n,a){a.r(n);var t=a(23430),i=a(18489),s=a(50390),r=a(34424),o=a(38342),l=a.n(o),c=a(25594),d=a(86509),u=a(4285),m=a(56805),p=a(66946),x=a(44149),f=a(72462),h=a(30324),g=a(66964),v=a(82461),Z=a(35721),j=a(51444),b=a(29316),C=a(25534),y=a(49495),N=a(62559),S={setErrorSnackMessage:x.Ih},k=(0,r.$j)(null,S);n.default=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},f.oO),f.Je),f.DF),{},{lambdaNotifTitle:{color:"#07193E",fontSize:16,fontFamily:"Lato,sans-serif",paddingLeft:18},fileInputFieldCss:{margin:"0"},fileTextBoxContainer:{maxWidth:" 100%",flex:1},fileReselectCss:{maxWidth:" 100%",flex:1}},f.bV))}))(k((function(e){var n=e.classes,a=e.setErrorSnackMessage,r=e.match,o=e.history,d=(0,s.useState)(!1),u=(0,t.Z)(d,2),x=u[0],f=u[1],S=(0,s.useState)(""),k=(0,t.Z)(S,2),w=k[0],F=k[1],I=(0,s.useState)(""),T=(0,t.Z)(I,2),E=T[0],A=T[1],B=(0,s.useState)(""),R=(0,t.Z)(B,2),L=R[0],P=R[1],z=(0,s.useState)(""),M=(0,t.Z)(z,2),O=M[0],W=M[1],K=(0,s.useState)(""),D=(0,t.Z)(K,2),V=D[0],Y=D[1],G=(0,s.useState)(""),H=(0,t.Z)(G,2),X=H[0],_=H[1],U=(0,s.useState)(""),$=(0,t.Z)(U,2),q=$[0],Q=$[1],J=(0,s.useState)(""),ee=(0,t.Z)(J,2),ne=ee[0],ae=ee[1],te=(0,s.useState)(""),ie=(0,t.Z)(te,2),se=ie[0],re=ie[1],oe=(0,s.useState)(""),le=(0,t.Z)(oe,2),ce=le[0],de=le[1],ue=(0,s.useState)(""),me=(0,t.Z)(ue,2),pe=me[0],xe=me[1],fe=(0,s.useState)(""),he=(0,t.Z)(fe,2),ge=he[0],ve=he[1],Ze=(0,s.useState)(""),je=(0,t.Z)(Ze,2),be=je[0],Ce=je[1],ye=l()(r,"params.service","s3"),Ne=(0,s.useState)(!0),Se=(0,t.Z)(Ne,2),ke=Se[0],we=Se[1],Fe=(0,s.useState)(""),Ie=(0,t.Z)(Fe,2),Te=Ie[0],Ee=Ie[1],Ae=(0,s.useCallback)((function(){return/^[A-Z0-9-_]+$/.test(w)?(Ee(""),!0):(Ee("Please verify that string is uppercase only and contains valid characters (numbers, dashes & underscores)."),!1)}),[w]);(0,s.useEffect)((function(){if(x){var e={},n={name:w,endpoint:E,bucket:L,prefix:O,region:V},t=ye;switch("minio"===ye&&(t="s3"),ye){case"minio":case"s3":e={s3:(0,i.Z)((0,i.Z)({},n),{},{accesskey:q,secretkey:ne,storageclass:X})};break;case"gcs":e={gcs:(0,i.Z)((0,i.Z)({},n),{},{creds:ce})};break;case"azure":e={azure:(0,i.Z)((0,i.Z)({},n),{},{accountname:pe,accountkey:ge})}}var s=(0,i.Z)({type:t},e);h.Z.invoke("POST","/api/v1/admin/tiers",s).then((function(){f(!1),o.push(y.gA.TIERS_ADD)})).catch((function(e){f(!1),a(e)}))}}),[q,ge,pe,L,ce,E,o,w,O,V,x,ne,a,X,ye]),(0,s.useEffect)((function(){var e=!0;""===ye&&(e=!1),""!==w&&Ae()||(e=!1),""===E&&(e=!1),""===L&&(e=!1),""===O&&(e=!1),""===V&&(e=!1),"s3"!==ye&&"minio"!==ye||(""===q&&(e=!1),""===ne&&(e=!1)),"gcs"===ye&&""===ce&&(e=!1),"azure"===ye&&(""===pe&&(e=!1),""===ge&&(e=!1)),we(e)}),[q,ge,pe,L,ce,E,ke,w,O,V,ne,X,ye,Ae]),(0,s.useEffect)((function(){switch(ye){case"gcs":A("https://storage.googleapis.com/"),Ce("Google Cloud");break;case"s3":A("https://s3.amazonaws.com"),Ce("Amazon S3");break;case"azure":A("http://blob.core.windows.net"),Ce("Azure");break;case"minio":A(""),Ce("MinIO")}}),[ye]);var Be=j.Bh.find((function(e){return e.serviceName===ye}));return(0,N.jsxs)(s.Fragment,{children:[(0,N.jsx)(Z.Z,{label:"Tiers"}),(0,N.jsx)(b.Z,{to:y.gA.TIERS_ADD,label:"Back To Tier Type Selection"}),(0,N.jsx)(C.Z,{children:(0,N.jsx)(c.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea",padding:"25px"},children:(0,N.jsxs)("form",{noValidate:!0,onSubmit:function(e){e.preventDefault(),f(!0)},children:[""!==ye&&Be?(0,N.jsxs)(c.ZP,{item:!0,xs:12,sx:{display:"flex",alignItems:"center",justifyContent:"start",marginBottom:"20px"},children:[Be.logo?(0,N.jsx)(m.Z,{sx:{"& .min-icon":{height:"60px",width:"60px"}},children:Be.logo}):null,(0,N.jsx)("div",{className:n.lambdaNotifTitle,children:(0,N.jsxs)("b",{children:[be||""," - Add Tier Configuration"]})})]},"icon-".concat(Be.targetTitle)):null,(0,N.jsx)(c.ZP,{item:!0,xs:12,sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"1fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gridRowGap:25,gridColumnGap:50},children:""!==ye&&(0,N.jsxs)(s.Fragment,{children:[(0,N.jsx)(g.Z,{id:"name",name:"name",label:"Name",placeholder:"Enter Name (Eg. REMOTE-TIER)",value:w,onChange:function(e){F(e.target.value.toUpperCase())},error:Te}),(0,N.jsx)(g.Z,{id:"endpoint",name:"endpoint",label:"Endpoint",placeholder:"Enter Endpoint",value:E,onChange:function(e){A(e.target.value)}}),(ye===j.b2||ye===j.Pp)&&(0,N.jsxs)(s.Fragment,{children:[(0,N.jsx)(g.Z,{id:"accessKey",name:"accessKey",label:"Access Key",placeholder:"Enter Access Key",value:q,onChange:function(e){Q(e.target.value)}}),(0,N.jsx)(g.Z,{id:"secretKey",name:"secretKey",label:"Secret Key",placeholder:"Enter Secret Key",value:ne,onChange:function(e){ae(e.target.value)}})]}),ye===j.f0&&(0,N.jsx)(v.Z,{accept:".json",classes:{fileInputField:n.fileInputFieldCss,textBoxContainer:n.fileTextBoxContainer,fileReselect:n.fileReselectCss},id:"creds",label:"Credentials",name:"creds",onChange:function(e,n){de(e),re(n)},value:se}),ye===j.vB&&(0,N.jsxs)(s.Fragment,{children:[(0,N.jsx)(g.Z,{id:"accountName",name:"accountName",label:"Account Name",placeholder:"Enter Account Name",value:pe,onChange:function(e){xe(e.target.value)}}),(0,N.jsx)(g.Z,{id:"accountKey",name:"accountKey",label:"Account Key",placeholder:"Enter Account Key",value:ge,onChange:function(e){ve(e.target.value)}})]}),(0,N.jsx)(g.Z,{id:"bucket",name:"bucket",label:"Bucket",placeholder:"Enter Bucket",value:L,onChange:function(e){P(e.target.value)}}),(0,N.jsx)(g.Z,{id:"prefix",name:"prefix",label:"Prefix",placeholder:"Enter Prefix",value:O,onChange:function(e){W(e.target.value)}}),(0,N.jsx)(g.Z,{id:"region",name:"region",label:"Region",placeholder:"Enter Region",value:V,onChange:function(e){Y(e.target.value)}}),ye===j.b2||ye===j.Pp&&(0,N.jsx)(g.Z,{id:"storageClass",name:"storageClass",label:"Storage Class",placeholder:"Enter Storage Class",value:X,onChange:function(e){_(e.target.value)}})]})}),(0,N.jsx)(c.ZP,{item:!0,xs:12,className:n.settingsButtonContainer,children:(0,N.jsx)(p.Z,{type:"submit",variant:"contained",color:"primary",disabled:x||!ke,children:"Save Tier Configuration"})})]})})})]})})))},51444:function(e,n,a){a.d(n,{Pp:function(){return s},f0:function(){return r},b2:function(){return o},vB:function(){return l},Bh:function(){return c}});var t=a(11387),i=a(62559),s="minio",r="gcs",o="s3",l="azure",c=[{serviceName:s,targetTitle:"MinIO",logo:(0,i.jsx)(t.$E,{}),logoXs:(0,i.jsx)(t.YE,{})},{serviceName:r,targetTitle:"Google Cloud Storage",logo:(0,i.jsx)(t.UQ,{}),logoXs:(0,i.jsx)(t.Vw,{})},{serviceName:o,targetTitle:"AWS S3",logo:(0,i.jsx)(t.fe,{}),logoXs:(0,i.jsx)(t.Xj,{})},{serviceName:l,targetTitle:"Azure",logo:(0,i.jsx)(t.jz,{}),logoXs:(0,i.jsx)(t.nA,{})}]},82981:function(e,n,a){var t=a(50390),i=a(35477),s=a(86509),r=a(4285),o=a(62559);n.Z=(0,r.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,a=e.errorMessage,s=e.withBreak,r=void 0===s||s;return(0,o.jsxs)(t.Fragment,{children:[r&&(0,o.jsx)("br",{}),(0,o.jsx)(i.Z,{component:"p",variant:"body1",className:n.errorBlock,children:a})]})}))},46529:function(e,n,a){var t=a(64119);n.Z=void 0;var i=t(a(66830)),s=a(62559),r=(0,i.default)((0,s.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=r},94258:function(e,n,a){var t=a(64119);n.Z=void 0;var i=t(a(66830)),s=a(62559),r=(0,i.default)((0,s.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=r}}]); -//# sourceMappingURL=4515.fc843c16.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4515],{29316:function(e,n,a){a(50390);var t=a(6369),i=a(86509),s=a(4285),r=a(98280),o=a(62559);n.Z=(0,s.Z)((function(e){return(0,i.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var n=e.to,a=e.label,i=e.classes,s=e.className,l=e.executeOnClick;return(0,o.jsxs)(t.rU,{to:n,className:"".concat(i.link," ").concat(s||""),onClick:function(){l&&l()},children:[(0,o.jsx)("div",{className:i.icon,children:(0,o.jsx)(r.xN,{})}),(0,o.jsx)("div",{className:i.label,children:a})]})}))},82461:function(e,n,a){a.d(n,{Z:function(){return j}});var t=a(23430),i=a(18489),s=a(50390),r=a(38342),o=a.n(r),l=a(25594),c=a(36554),d=a(94187),u=a(95467),m=a(46529),p=a(94258),x=a(86509),f=a(4285),h=a(72462),g=a(97538),v=a(82981),Z=a(62559),j=(0,f.Z)((function(e){return(0,x.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.YI),h.Hr),{},{valueString:{maxWidth:350,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginTop:2},fileInputField:{margin:"13px 0","@media (max-width: 900px)":{flexFlow:"column"}}},h.bV),{},{inputLabel:(0,i.Z)((0,i.Z)({},h.YI.inputLabel),{},{fontWeight:"normal"}),textBoxContainer:(0,i.Z)((0,i.Z)({},h.YI.textBoxContainer),{},{maxWidth:"100%",border:"1px solid #eaeaea",paddingLeft:"15px"})}))}))((function(e){var n=e.label,a=e.classes,i=e.onChange,r=e.id,x=e.name,f=e.disabled,h=void 0!==f&&f,j=e.tooltip,b=void 0===j?"":j,C=e.required,y=e.error,N=void 0===y?"":y,S=e.accept,k=void 0===S?"":S,w=e.value,F=void 0===w?"":w,I=(0,s.useState)(!1),T=(0,t.Z)(I,2),E=T[0],A=T[1];return(0,Z.jsx)(s.Fragment,{children:(0,Z.jsxs)(l.ZP,{item:!0,xs:12,className:"".concat(a.fileInputField," ").concat(a.fieldBottom," ").concat(a.fieldContainer," ").concat(""!==N?a.errorInField:""),children:[""!==n&&(0,Z.jsxs)(c.Z,{htmlFor:r,className:"".concat(""!==N?a.fieldLabelError:""," ").concat(a.inputLabel),children:[(0,Z.jsxs)("span",{children:[n,C?"*":""]}),""!==b&&(0,Z.jsx)("div",{className:a.tooltipContainer,children:(0,Z.jsx)(d.Z,{title:b,placement:"top-start",children:(0,Z.jsx)("div",{className:a.tooltip,children:(0,Z.jsx)(g.Z,{})})})})]}),E||""===F?(0,Z.jsxs)("div",{className:a.textBoxContainer,children:[(0,Z.jsx)("input",{type:"file",name:x,onChange:function(e){var n=o()(e,"target.files[0].name","");!function(e,n){var a=e.target.files[0],t=new FileReader;t.readAsDataURL(a),t.onload=function(){var e=t.result;if(e){var a=e.toString().split("base64,");2===a.length&&n(a[1])}}}(e,(function(e){i(e,n)}))},accept:k,required:C,disabled:h,className:a.fileInputField}),""!==F&&(0,Z.jsx)(u.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){A(!1)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,Z.jsx)(p.Z,{})}),""!==N&&(0,Z.jsx)(v.Z,{errorMessage:N})]}):(0,Z.jsxs)("div",{className:a.fileReselect,children:[(0,Z.jsx)("div",{className:a.valueString,children:F}),(0,Z.jsx)(u.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){A(!0)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,Z.jsx)(m.Z,{})})]})]})})}))},66964:function(e,n,a){var t=a(18489),i=a(50390),s=a(12066),r=a(25594),o=a(36554),l=a(94187),c=a(95467),d=a(86509),u=a(62449),m=a(4285),p=a(72462),x=a(97538),f=a(44977),h=a(62559),g=(0,u.Z)((function(e){return(0,d.Z)((0,t.Z)({},p.gM))}));function v(e){var n=g();return(0,h.jsx)(s.Z,(0,t.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,a=e.onChange,s=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,g=e.autoComplete,Z=void 0===g?"off":g,j=e.disabled,b=void 0!==j&&j,C=e.multiline,y=void 0!==C&&C,N=e.tooltip,S=void 0===N?"":N,k=e.index,w=void 0===k?0:k,F=e.error,I=void 0===F?"":F,T=e.required,E=void 0!==T&&T,A=e.placeholder,B=void 0===A?"":A,R=e.min,L=e.max,P=e.overlayIcon,z=void 0===P?null:P,M=e.overlayObject,O=void 0===M?null:M,W=e.extraInputProps,K=void 0===W?{}:W,D=e.overlayAction,V=e.noLabelMinWidth,Y=void 0!==V&&V,G=e.pattern,H=void 0===G?"":G,X=e.autoFocus,_=void 0!==X&&X,U=e.classes,$=e.className,q=void 0===$?"":$,Q=(0,t.Z)({"data-index":w},K);return"number"===p&&R&&(Q.min=R),"number"===p&&L&&(Q.max=L),""!==H&&(Q.pattern=H),(0,h.jsx)(i.Fragment,{children:(0,h.jsxs)(r.ZP,{container:!0,className:(0,f.Z)(""!==q?q:"",""!==I?U.errorInField:U.inputBoxContainer),children:[""!==n&&(0,h.jsxs)(o.Z,{htmlFor:d,className:Y?U.noMinWidthLabel:U.inputLabel,children:[(0,h.jsxs)("span",{children:[n,E?"*":""]}),""!==S&&(0,h.jsx)("div",{className:U.tooltipContainer,children:(0,h.jsx)(l.Z,{title:S,placement:"top-start",children:(0,h.jsx)("div",{className:U.tooltip,children:(0,h.jsx)(x.Z,{})})})})]}),(0,h.jsxs)("div",{className:U.textBoxContainer,children:[(0,h.jsx)(v,{id:d,name:u,fullWidth:!0,value:s,autoFocus:_,disabled:b,onChange:a,type:p,multiline:y,autoComplete:Z,inputProps:Q,error:""!==I,helperText:I,placeholder:B,className:U.inputRebase}),z&&(0,h.jsx)("div",{className:"".concat(U.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,h.jsx)(c.Z,{onClick:D?function(){D()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:z})}),O&&(0,h.jsx)("div",{className:"".concat(U.overlayAction," ").concat(""!==n?"withLabel":""),children:O})]})]})})}))},25534:function(e,n,a){var t=a(18489),i=(a(50390),a(25594)),s=a(86509),r=a(4285),o=a(72462),l=a(62559);n.Z=(0,r.Z)((function(e){return(0,s.Z)((0,t.Z)({},o.Bw))}))((function(e){var n=e.classes,a=e.className,t=void 0===a?"":a,s=e.children;return(0,l.jsx)("div",{className:n.contentSpacer,children:(0,l.jsx)(i.ZP,{container:!0,children:(0,l.jsx)(i.ZP,{item:!0,xs:12,className:t,children:s})})})}))},35721:function(e,n,a){a(50390);var t=a(34424),i=a(25594),s=a(86509),r=a(4285),o=a(35477),l=a(95467),c=a(26805),d=a(44078),u=a(5265),m=a(98280),p=a(62559),x={toggleList:u.kQ},f=(0,t.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),x);n.Z=f((0,r.Z)((function(e){return(0,s.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,a=e.label,t=e.actions,s=e.sidebarOpen,r=e.operatorMode,u=e.managerObjects,x=e.toggleList,f=e.middleComponent;return(0,p.jsxs)(i.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!s&&(0,p.jsx)("div",{className:n.logo,children:r?(0,p.jsx)(c.Z,{}):(0,p.jsx)(d.Z,{})}),(0,p.jsx)(o.Z,{variant:"h4",className:n.labelStyle,children:a})]}),f&&(0,p.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,p.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.rightMenu,children:[t&&t,u&&u.length>0&&(0,p.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){x()},size:"large",children:(0,p.jsx)(m.gx,{})})]})]})})))},24515:function(e,n,a){a.r(n);var t=a(23430),i=a(18489),s=a(50390),r=a(34424),o=a(38342),l=a.n(o),c=a(25594),d=a(86509),u=a(4285),m=a(56805),p=a(66946),x=a(44149),f=a(72462),h=a(30324),g=a(66964),v=a(82461),Z=a(35721),j=a(51444),b=a(29316),C=a(25534),y=a(49495),N=a(62559),S={setErrorSnackMessage:x.Ih},k=(0,r.$j)(null,S);n.default=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},f.oO),f.Je),f.DF),{},{lambdaNotifTitle:{color:"#07193E",fontSize:16,fontFamily:"Lato,sans-serif",paddingLeft:18},fileInputFieldCss:{margin:"0"},fileTextBoxContainer:{maxWidth:" 100%",flex:1},fileReselectCss:{maxWidth:" 100%",flex:1}},f.bV))}))(k((function(e){var n=e.classes,a=e.setErrorSnackMessage,r=e.match,o=e.history,d=(0,s.useState)(!1),u=(0,t.Z)(d,2),x=u[0],f=u[1],S=(0,s.useState)(""),k=(0,t.Z)(S,2),w=k[0],F=k[1],I=(0,s.useState)(""),T=(0,t.Z)(I,2),E=T[0],A=T[1],B=(0,s.useState)(""),R=(0,t.Z)(B,2),L=R[0],P=R[1],z=(0,s.useState)(""),M=(0,t.Z)(z,2),O=M[0],W=M[1],K=(0,s.useState)(""),D=(0,t.Z)(K,2),V=D[0],Y=D[1],G=(0,s.useState)(""),H=(0,t.Z)(G,2),X=H[0],_=H[1],U=(0,s.useState)(""),$=(0,t.Z)(U,2),q=$[0],Q=$[1],J=(0,s.useState)(""),ee=(0,t.Z)(J,2),ne=ee[0],ae=ee[1],te=(0,s.useState)(""),ie=(0,t.Z)(te,2),se=ie[0],re=ie[1],oe=(0,s.useState)(""),le=(0,t.Z)(oe,2),ce=le[0],de=le[1],ue=(0,s.useState)(""),me=(0,t.Z)(ue,2),pe=me[0],xe=me[1],fe=(0,s.useState)(""),he=(0,t.Z)(fe,2),ge=he[0],ve=he[1],Ze=(0,s.useState)(""),je=(0,t.Z)(Ze,2),be=je[0],Ce=je[1],ye=l()(r,"params.service","s3"),Ne=(0,s.useState)(!0),Se=(0,t.Z)(Ne,2),ke=Se[0],we=Se[1],Fe=(0,s.useState)(""),Ie=(0,t.Z)(Fe,2),Te=Ie[0],Ee=Ie[1],Ae=(0,s.useCallback)((function(){return/^[A-Z0-9-_]+$/.test(w)?(Ee(""),!0):(Ee("Please verify that string is uppercase only and contains valid characters (numbers, dashes & underscores)."),!1)}),[w]);(0,s.useEffect)((function(){if(x){var e={},n={name:w,endpoint:E,bucket:L,prefix:O,region:V},t=ye;switch("minio"===ye&&(t="s3"),ye){case"minio":case"s3":e={s3:(0,i.Z)((0,i.Z)({},n),{},{accesskey:q,secretkey:ne,storageclass:X})};break;case"gcs":e={gcs:(0,i.Z)((0,i.Z)({},n),{},{creds:ce})};break;case"azure":e={azure:(0,i.Z)((0,i.Z)({},n),{},{accountname:pe,accountkey:ge})}}var s=(0,i.Z)({type:t},e);h.Z.invoke("POST","/api/v1/admin/tiers",s).then((function(){f(!1),o.push(y.gA.TIERS_ADD)})).catch((function(e){f(!1),a(e)}))}}),[q,ge,pe,L,ce,E,o,w,O,V,x,ne,a,X,ye]),(0,s.useEffect)((function(){var e=!0;""===ye&&(e=!1),""!==w&&Ae()||(e=!1),""===E&&(e=!1),""===L&&(e=!1),""===O&&(e=!1),""===V&&(e=!1),"s3"!==ye&&"minio"!==ye||(""===q&&(e=!1),""===ne&&(e=!1)),"gcs"===ye&&""===ce&&(e=!1),"azure"===ye&&(""===pe&&(e=!1),""===ge&&(e=!1)),we(e)}),[q,ge,pe,L,ce,E,ke,w,O,V,ne,X,ye,Ae]),(0,s.useEffect)((function(){switch(ye){case"gcs":A("https://storage.googleapis.com/"),Ce("Google Cloud");break;case"s3":A("https://s3.amazonaws.com"),Ce("Amazon S3");break;case"azure":A("http://blob.core.windows.net"),Ce("Azure");break;case"minio":A(""),Ce("MinIO")}}),[ye]);var Be=j.Bh.find((function(e){return e.serviceName===ye}));return(0,N.jsxs)(s.Fragment,{children:[(0,N.jsx)(Z.Z,{label:"Tiers"}),(0,N.jsx)(b.Z,{to:y.gA.TIERS_ADD,label:"Back To Tier Type Selection"}),(0,N.jsx)(C.Z,{children:(0,N.jsx)(c.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea",padding:"25px"},children:(0,N.jsxs)("form",{noValidate:!0,onSubmit:function(e){e.preventDefault(),f(!0)},children:[""!==ye&&Be?(0,N.jsxs)(c.ZP,{item:!0,xs:12,sx:{display:"flex",alignItems:"center",justifyContent:"start",marginBottom:"20px"},children:[Be.logo?(0,N.jsx)(m.Z,{sx:{"& .min-icon":{height:"60px",width:"60px"}},children:Be.logo}):null,(0,N.jsx)("div",{className:n.lambdaNotifTitle,children:(0,N.jsxs)("b",{children:[be||""," - Add Tier Configuration"]})})]},"icon-".concat(Be.targetTitle)):null,(0,N.jsx)(c.ZP,{item:!0,xs:12,sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"1fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gridRowGap:25,gridColumnGap:50},children:""!==ye&&(0,N.jsxs)(s.Fragment,{children:[(0,N.jsx)(g.Z,{id:"name",name:"name",label:"Name",placeholder:"Enter Name (Eg. REMOTE-TIER)",value:w,onChange:function(e){F(e.target.value.toUpperCase())},error:Te}),(0,N.jsx)(g.Z,{id:"endpoint",name:"endpoint",label:"Endpoint",placeholder:"Enter Endpoint",value:E,onChange:function(e){A(e.target.value)}}),(ye===j.b2||ye===j.Pp)&&(0,N.jsxs)(s.Fragment,{children:[(0,N.jsx)(g.Z,{id:"accessKey",name:"accessKey",label:"Access Key",placeholder:"Enter Access Key",value:q,onChange:function(e){Q(e.target.value)}}),(0,N.jsx)(g.Z,{id:"secretKey",name:"secretKey",label:"Secret Key",placeholder:"Enter Secret Key",value:ne,onChange:function(e){ae(e.target.value)}})]}),ye===j.f0&&(0,N.jsx)(v.Z,{accept:".json",classes:{fileInputField:n.fileInputFieldCss,textBoxContainer:n.fileTextBoxContainer,fileReselect:n.fileReselectCss},id:"creds",label:"Credentials",name:"creds",onChange:function(e,n){de(e),re(n)},value:se}),ye===j.vB&&(0,N.jsxs)(s.Fragment,{children:[(0,N.jsx)(g.Z,{id:"accountName",name:"accountName",label:"Account Name",placeholder:"Enter Account Name",value:pe,onChange:function(e){xe(e.target.value)}}),(0,N.jsx)(g.Z,{id:"accountKey",name:"accountKey",label:"Account Key",placeholder:"Enter Account Key",value:ge,onChange:function(e){ve(e.target.value)}})]}),(0,N.jsx)(g.Z,{id:"bucket",name:"bucket",label:"Bucket",placeholder:"Enter Bucket",value:L,onChange:function(e){P(e.target.value)}}),(0,N.jsx)(g.Z,{id:"prefix",name:"prefix",label:"Prefix",placeholder:"Enter Prefix",value:O,onChange:function(e){W(e.target.value)}}),(0,N.jsx)(g.Z,{id:"region",name:"region",label:"Region",placeholder:"Enter Region",value:V,onChange:function(e){Y(e.target.value)}}),ye===j.b2||ye===j.Pp&&(0,N.jsx)(g.Z,{id:"storageClass",name:"storageClass",label:"Storage Class",placeholder:"Enter Storage Class",value:X,onChange:function(e){_(e.target.value)}})]})}),(0,N.jsx)(c.ZP,{item:!0,xs:12,className:n.settingsButtonContainer,children:(0,N.jsx)(p.Z,{type:"submit",variant:"contained",color:"primary",disabled:x||!ke,children:"Save Tier Configuration"})})]})})})]})})))},51444:function(e,n,a){a.d(n,{Pp:function(){return s},f0:function(){return r},b2:function(){return o},vB:function(){return l},Bh:function(){return c}});var t=a(98280),i=a(62559),s="minio",r="gcs",o="s3",l="azure",c=[{serviceName:s,targetTitle:"MinIO",logo:(0,i.jsx)(t.$E,{}),logoXs:(0,i.jsx)(t.YE,{})},{serviceName:r,targetTitle:"Google Cloud Storage",logo:(0,i.jsx)(t.UQ,{}),logoXs:(0,i.jsx)(t.Vw,{})},{serviceName:o,targetTitle:"AWS S3",logo:(0,i.jsx)(t.fe,{}),logoXs:(0,i.jsx)(t.Xj,{})},{serviceName:l,targetTitle:"Azure",logo:(0,i.jsx)(t.jz,{}),logoXs:(0,i.jsx)(t.nA,{})}]},82981:function(e,n,a){var t=a(50390),i=a(35477),s=a(86509),r=a(4285),o=a(62559);n.Z=(0,r.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,a=e.errorMessage,s=e.withBreak,r=void 0===s||s;return(0,o.jsxs)(t.Fragment,{children:[r&&(0,o.jsx)("br",{}),(0,o.jsx)(i.Z,{component:"p",variant:"body1",className:n.errorBlock,children:a})]})}))},46529:function(e,n,a){var t=a(64119);n.Z=void 0;var i=t(a(66830)),s=a(62559),r=(0,i.default)((0,s.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=r},94258:function(e,n,a){var t=a(64119);n.Z=void 0;var i=t(a(66830)),s=a(62559),r=(0,i.default)((0,s.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=r}}]); +//# sourceMappingURL=4515.56df16f6.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4515.56df16f6.chunk.js.map b/portal-ui/build/static/js/4515.56df16f6.chunk.js.map new file mode 100644 index 000000000..05e6b652b --- /dev/null +++ b/portal-ui/build/static/js/4515.56df16f6.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4515.56df16f6.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx","screens/Console/Common/FormComponents/FileSelector/utils.ts","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Configurations/TiersConfiguration/AddTierConfiguration.tsx","screens/Console/Configurations/TiersConfiguration/utils.tsx","screens/shared/ErrorBlock.tsx","../node_modules/@mui/icons-material/AttachFile.js","../node_modules/@mui/icons-material/Cancel.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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\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 { Box, Button } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport {\n fileInputStyles,\n formFieldStyles,\n modalBasic,\n settingsCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FileSelector from \"../../Common/FormComponents/FileSelector/FileSelector\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport {\n azureServiceName,\n gcsServiceName,\n minioServiceName,\n s3ServiceName,\n tierTypes,\n} from \"./utils\";\nimport BackLink from \"../../../../common/BackLink\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n ...settingsCommon,\n ...formFieldStyles,\n lambdaNotifTitle: {\n color: \"#07193E\",\n fontSize: 16,\n fontFamily: \"Lato,sans-serif\",\n paddingLeft: 18,\n },\n fileInputFieldCss: {\n margin: \"0\",\n },\n fileTextBoxContainer: {\n maxWidth: \" 100%\",\n flex: 1,\n },\n fileReselectCss: {\n maxWidth: \" 100%\",\n flex: 1,\n },\n ...fileInputStyles,\n });\n\ninterface IAddNotificationEndpointProps {\n setErrorSnackMessage: typeof setErrorSnackMessage;\n classes: any;\n match: any;\n history: any;\n}\n\nconst AddTierConfiguration = ({\n classes,\n setErrorSnackMessage,\n match,\n history,\n}: IAddNotificationEndpointProps) => {\n //Local States\n const [saving, setSaving] = useState(false);\n\n // Form Items\n const [name, setName] = useState(\"\");\n const [endpoint, setEndpoint] = useState(\"\");\n const [bucket, setBucket] = useState(\"\");\n const [prefix, setPrefix] = useState(\"\");\n const [region, setRegion] = useState(\"\");\n const [storageClass, setStorageClass] = useState(\"\");\n\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n\n const [creds, setCreds] = useState(\"\");\n const [encodedCreds, setEncodedCreds] = useState(\"\");\n\n const [accountName, setAccountName] = useState(\"\");\n const [accountKey, setAccountKey] = useState(\"\");\n\n const [titleSelection, setTitleSelection] = useState(\"\");\n\n const type = get(match, \"params.service\", \"s3\");\n\n // Validations\n const [isFormValid, setIsFormValid] = useState(true);\n const [nameInputError, setNameInputError] = useState(\"\");\n\n // Extra validation functions\n\n const validName = useCallback(() => {\n const patternAgainst = /^[A-Z0-9-_]+$/; // Only allow uppercase, numbers, dashes and underscores\n if (patternAgainst.test(name)) {\n setNameInputError(\"\");\n return true;\n }\n\n setNameInputError(\n \"Please verify that string is uppercase only and contains valid characters (numbers, dashes & underscores).\"\n );\n return false;\n }, [name]);\n\n //Effects\n\n useEffect(() => {\n if (saving) {\n let request = {};\n let fields = {\n name,\n endpoint,\n bucket,\n prefix,\n region,\n };\n\n let tierType = type;\n\n if (type === \"minio\") {\n tierType = \"s3\";\n }\n\n switch (type) {\n case \"minio\":\n case \"s3\":\n request = {\n s3: {\n ...fields,\n accesskey: accessKey,\n secretkey: secretKey,\n storageclass: storageClass,\n },\n };\n break;\n case \"gcs\":\n request = {\n gcs: {\n ...fields,\n creds: encodedCreds,\n },\n };\n break;\n case \"azure\":\n request = {\n azure: {\n ...fields,\n accountname: accountName,\n accountkey: accountKey,\n },\n };\n }\n\n let payload = {\n type: tierType,\n ...request,\n };\n\n api\n .invoke(\"POST\", `/api/v1/admin/tiers`, payload)\n .then(() => {\n setSaving(false);\n\n history.push(IAM_PAGES.TIERS_ADD);\n })\n .catch((err: ErrorResponseHandler) => {\n setSaving(false);\n setErrorSnackMessage(err);\n });\n }\n }, [\n accessKey,\n accountKey,\n accountName,\n bucket,\n encodedCreds,\n endpoint,\n history,\n name,\n prefix,\n region,\n saving,\n secretKey,\n setErrorSnackMessage,\n storageClass,\n type,\n ]);\n\n useEffect(() => {\n let valid = true;\n if (type === \"\") {\n valid = false;\n }\n if (name === \"\" || !validName()) {\n valid = false;\n }\n if (endpoint === \"\") {\n valid = false;\n }\n if (bucket === \"\") {\n valid = false;\n }\n if (prefix === \"\") {\n valid = false;\n }\n if (region === \"\") {\n valid = false;\n }\n\n if (type === \"s3\" || type === \"minio\") {\n if (accessKey === \"\") {\n valid = false;\n }\n if (secretKey === \"\") {\n valid = false;\n }\n }\n\n if (type === \"gcs\") {\n if (encodedCreds === \"\") {\n valid = false;\n }\n }\n\n if (type === \"azure\") {\n if (accountName === \"\") {\n valid = false;\n }\n if (accountKey === \"\") {\n valid = false;\n }\n }\n\n setIsFormValid(valid);\n }, [\n accessKey,\n accountKey,\n accountName,\n bucket,\n encodedCreds,\n endpoint,\n isFormValid,\n name,\n prefix,\n region,\n secretKey,\n storageClass,\n type,\n validName,\n ]);\n\n useEffect(() => {\n switch (type) {\n case \"gcs\":\n setEndpoint(\"https://storage.googleapis.com/\");\n setTitleSelection(\"Google Cloud\");\n break;\n case \"s3\":\n setEndpoint(\"https://s3.amazonaws.com\");\n setTitleSelection(\"Amazon S3\");\n break;\n case \"azure\":\n setEndpoint(\"http://blob.core.windows.net\");\n setTitleSelection(\"Azure\");\n break;\n case \"minio\":\n setEndpoint(\"\");\n setTitleSelection(\"MinIO\");\n }\n }, [type]);\n\n //Fetch Actions\n const submitForm = (event: React.FormEvent) => {\n event.preventDefault();\n setSaving(true);\n };\n\n // Input actions\n const updateTierName = (e: React.ChangeEvent) => {\n setName(e.target.value.toUpperCase());\n };\n\n const targetElement = tierTypes.find((item) => item.serviceName === type);\n\n return (\n \n \n\n \n\n \n \n
\n {type !== \"\" && targetElement ? (\n \n {targetElement.logo ? (\n \n {targetElement.logo}\n \n ) : null}\n\n
\n \n {titleSelection ? titleSelection : \"\"} - Add Tier\n Configuration\n \n
\n \n ) : null}\n\n \n {type !== \"\" && (\n \n \n ) => {\n setEndpoint(e.target.value);\n }}\n />\n {(type === s3ServiceName || type === minioServiceName) && (\n \n ) => {\n setAccessKey(e.target.value);\n }}\n />\n ) => {\n setSecretKey(e.target.value);\n }}\n />\n \n )}\n {type === gcsServiceName && (\n {\n setEncodedCreds(encodedValue);\n setCreds(fileName);\n }}\n value={creds}\n />\n )}\n {type === azureServiceName && (\n \n ) => {\n setAccountName(e.target.value);\n }}\n />\n ) => {\n setAccountKey(e.target.value);\n }}\n />\n \n )}\n ) => {\n setBucket(e.target.value);\n }}\n />\n ) => {\n setPrefix(e.target.value);\n }}\n />\n ) => {\n setRegion(e.target.value);\n }}\n />\n {type === s3ServiceName ||\n (type === minioServiceName && (\n ) => {\n setStorageClass(e.target.value);\n }}\n />\n ))}\n \n )}\n \n \n \n Save Tier Configuration\n \n \n \n \n
\n
\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddTierConfiguration));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport {\n AzureTierIcon,\n GoogleTierIcon,\n MinIOTierIcon,\n MinIOTierIconXs,\n S3TierIcon,\n GoogleTierIconXs,\n S3TierIconXs,\n AzureTierIconXs,\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","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\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"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');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"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');\n\nexports.default = _default;"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","fieldBasic","tooltipHelper","valueString","whiteSpace","overflow","textOverflow","marginTop","fileInputField","margin","flexFlow","fileInputStyles","inputLabel","fontWeight","textBoxContainer","border","paddingLeft","onChange","id","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","component","disableRipple","disableFocusRipple","size","Cancel","ErrorBlock","errorMessage","fileReselect","AttachFile","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","flexGrow","position","overlayAction","right","top","maxHeight","autoComplete","multiline","index","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputProps","container","clsx","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","disableTouchRipple","pageContentStyles","children","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","backgroundColor","left","boxShadow","labelStyle","marginLeft","rightMenu","textAlign","logo","fill","main","middleComponent","actions","direction","sm","md","sx","paddingTop","variant","setErrorSnackMessage","modalBasic","settingsCommon","formFieldStyles","lambdaNotifTitle","fontFamily","fileInputFieldCss","fileTextBoxContainer","flex","fileReselectCss","match","history","saving","setSaving","setName","endpoint","setEndpoint","bucket","setBucket","prefix","setPrefix","region","setRegion","storageClass","setStorageClass","accessKey","setAccessKey","secretKey","setSecretKey","creds","setCreds","encodedCreds","setEncodedCreds","accountName","setAccountName","accountKey","setAccountKey","titleSelection","setTitleSelection","isFormValid","setIsFormValid","nameInputError","setNameInputError","validName","useCallback","test","useEffect","request","fields","tierType","s3","accesskey","secretkey","storageclass","gcs","azure","accountname","accountkey","payload","api","then","push","IAM_PAGES","catch","err","valid","targetElement","tierTypes","serviceName","Fragment","noValidate","onSubmit","event","preventDefault","marginBottom","height","targetTitle","gridTemplateColumns","gridAutoFlow","gridRowGap","gridColumnGap","toUpperCase","s3ServiceName","minioServiceName","gcsServiceName","encodedValue","azureServiceName","settingsButtonContainer","logoXs","errorBlock","withBreak","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4515.fc843c16.chunk.js.map b/portal-ui/build/static/js/4515.fc843c16.chunk.js.map deleted file mode 100644 index b56e5250d..000000000 --- a/portal-ui/build/static/js/4515.fc843c16.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/4515.fc843c16.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx","screens/Console/Common/FormComponents/FileSelector/utils.ts","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Configurations/TiersConfiguration/AddTierConfiguration.tsx","screens/Console/Configurations/TiersConfiguration/utils.tsx","screens/shared/ErrorBlock.tsx","../node_modules/@mui/icons-material/AttachFile.js","../node_modules/@mui/icons-material/Cancel.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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({ to, label, classes, className, executeOnClick }: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\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 { Box, Button } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport {\n fileInputStyles,\n formFieldStyles,\n modalBasic,\n settingsCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FileSelector from \"../../Common/FormComponents/FileSelector/FileSelector\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport {\n azureServiceName,\n gcsServiceName,\n minioServiceName,\n s3ServiceName,\n tierTypes,\n} from \"./utils\";\nimport BackLink from \"../../../../common/BackLink\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n ...settingsCommon,\n ...formFieldStyles,\n lambdaNotifTitle: {\n color: \"#07193E\",\n fontSize: 16,\n fontFamily: \"Lato,sans-serif\",\n paddingLeft: 18,\n },\n fileInputFieldCss: {\n margin: \"0\",\n },\n fileTextBoxContainer: {\n maxWidth: \" 100%\",\n flex: 1,\n },\n fileReselectCss: {\n maxWidth: \" 100%\",\n flex: 1,\n },\n ...fileInputStyles,\n });\n\ninterface IAddNotificationEndpointProps {\n setErrorSnackMessage: typeof setErrorSnackMessage;\n classes: any;\n match: any;\n history: any;\n}\n\nconst AddTierConfiguration = ({\n classes,\n setErrorSnackMessage,\n match,\n history,\n}: IAddNotificationEndpointProps) => {\n //Local States\n const [saving, setSaving] = useState(false);\n\n // Form Items\n const [name, setName] = useState(\"\");\n const [endpoint, setEndpoint] = useState(\"\");\n const [bucket, setBucket] = useState(\"\");\n const [prefix, setPrefix] = useState(\"\");\n const [region, setRegion] = useState(\"\");\n const [storageClass, setStorageClass] = useState(\"\");\n\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n\n const [creds, setCreds] = useState(\"\");\n const [encodedCreds, setEncodedCreds] = useState(\"\");\n\n const [accountName, setAccountName] = useState(\"\");\n const [accountKey, setAccountKey] = useState(\"\");\n\n const [titleSelection, setTitleSelection] = useState(\"\");\n\n const type = get(match, \"params.service\", \"s3\");\n\n // Validations\n const [isFormValid, setIsFormValid] = useState(true);\n const [nameInputError, setNameInputError] = useState(\"\");\n\n // Extra validation functions\n\n const validName = useCallback(() => {\n const patternAgainst = /^[A-Z0-9-_]+$/; // Only allow uppercase, numbers, dashes and underscores\n if (patternAgainst.test(name)) {\n setNameInputError(\"\");\n return true;\n }\n\n setNameInputError(\n \"Please verify that string is uppercase only and contains valid characters (numbers, dashes & underscores).\"\n );\n return false;\n }, [name]);\n\n //Effects\n\n useEffect(() => {\n if (saving) {\n let request = {};\n let fields = {\n name,\n endpoint,\n bucket,\n prefix,\n region,\n };\n\n let tierType = type;\n\n if (type === \"minio\") {\n tierType = \"s3\";\n }\n\n switch (type) {\n case \"minio\":\n case \"s3\":\n request = {\n s3: {\n ...fields,\n accesskey: accessKey,\n secretkey: secretKey,\n storageclass: storageClass,\n },\n };\n break;\n case \"gcs\":\n request = {\n gcs: {\n ...fields,\n creds: encodedCreds,\n },\n };\n break;\n case \"azure\":\n request = {\n azure: {\n ...fields,\n accountname: accountName,\n accountkey: accountKey,\n },\n };\n }\n\n let payload = {\n type: tierType,\n ...request,\n };\n\n api\n .invoke(\"POST\", `/api/v1/admin/tiers`, payload)\n .then(() => {\n setSaving(false);\n\n history.push(IAM_PAGES.TIERS_ADD);\n })\n .catch((err: ErrorResponseHandler) => {\n setSaving(false);\n setErrorSnackMessage(err);\n });\n }\n }, [\n accessKey,\n accountKey,\n accountName,\n bucket,\n encodedCreds,\n endpoint,\n history,\n name,\n prefix,\n region,\n saving,\n secretKey,\n setErrorSnackMessage,\n storageClass,\n type,\n ]);\n\n useEffect(() => {\n let valid = true;\n if (type === \"\") {\n valid = false;\n }\n if (name === \"\" || !validName()) {\n valid = false;\n }\n if (endpoint === \"\") {\n valid = false;\n }\n if (bucket === \"\") {\n valid = false;\n }\n if (prefix === \"\") {\n valid = false;\n }\n if (region === \"\") {\n valid = false;\n }\n\n if (type === \"s3\" || type === \"minio\") {\n if (accessKey === \"\") {\n valid = false;\n }\n if (secretKey === \"\") {\n valid = false;\n }\n }\n\n if (type === \"gcs\") {\n if (encodedCreds === \"\") {\n valid = false;\n }\n }\n\n if (type === \"azure\") {\n if (accountName === \"\") {\n valid = false;\n }\n if (accountKey === \"\") {\n valid = false;\n }\n }\n\n setIsFormValid(valid);\n }, [\n accessKey,\n accountKey,\n accountName,\n bucket,\n encodedCreds,\n endpoint,\n isFormValid,\n name,\n prefix,\n region,\n secretKey,\n storageClass,\n type,\n validName,\n ]);\n\n useEffect(() => {\n switch (type) {\n case \"gcs\":\n setEndpoint(\"https://storage.googleapis.com/\");\n setTitleSelection(\"Google Cloud\");\n break;\n case \"s3\":\n setEndpoint(\"https://s3.amazonaws.com\");\n setTitleSelection(\"Amazon S3\");\n break;\n case \"azure\":\n setEndpoint(\"http://blob.core.windows.net\");\n setTitleSelection(\"Azure\");\n break;\n case \"minio\":\n setEndpoint(\"\");\n setTitleSelection(\"MinIO\");\n }\n }, [type]);\n\n //Fetch Actions\n const submitForm = (event: React.FormEvent) => {\n event.preventDefault();\n setSaving(true);\n };\n\n // Input actions\n const updateTierName = (e: React.ChangeEvent) => {\n setName(e.target.value.toUpperCase());\n };\n\n const targetElement = tierTypes.find((item) => item.serviceName === type);\n\n return (\n \n \n\n \n\n \n \n
\n {type !== \"\" && targetElement ? (\n \n {targetElement.logo ? (\n \n {targetElement.logo}\n \n ) : null}\n\n
\n \n {titleSelection ? titleSelection : \"\"} - Add Tier\n Configuration\n \n
\n \n ) : null}\n\n \n {type !== \"\" && (\n \n \n ) => {\n setEndpoint(e.target.value);\n }}\n />\n {(type === s3ServiceName || type === minioServiceName) && (\n \n ) => {\n setAccessKey(e.target.value);\n }}\n />\n ) => {\n setSecretKey(e.target.value);\n }}\n />\n \n )}\n {type === gcsServiceName && (\n {\n setEncodedCreds(encodedValue);\n setCreds(fileName);\n }}\n value={creds}\n />\n )}\n {type === azureServiceName && (\n \n ) => {\n setAccountName(e.target.value);\n }}\n />\n ) => {\n setAccountKey(e.target.value);\n }}\n />\n \n )}\n ) => {\n setBucket(e.target.value);\n }}\n />\n ) => {\n setPrefix(e.target.value);\n }}\n />\n ) => {\n setRegion(e.target.value);\n }}\n />\n {type === s3ServiceName ||\n (type === minioServiceName && (\n ) => {\n setStorageClass(e.target.value);\n }}\n />\n ))}\n \n )}\n \n \n \n Save Tier Configuration\n \n \n \n \n
\n
\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddTierConfiguration));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport {\n AzureTierIcon,\n GoogleTierIcon,\n MinIOTierIcon,\n MinIOTierIconXs,\n S3TierIcon,\n GoogleTierIconXs,\n S3TierIconXs,\n AzureTierIconXs,\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","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\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"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');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"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');\n\nexports.default = _default;"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","fieldBasic","tooltipHelper","valueString","whiteSpace","overflow","textOverflow","marginTop","fileInputField","margin","flexFlow","fileInputStyles","inputLabel","fontWeight","textBoxContainer","border","paddingLeft","onChange","id","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","component","disableRipple","disableFocusRipple","size","Cancel","ErrorBlock","errorMessage","fileReselect","AttachFile","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","flexGrow","position","overlayAction","right","top","maxHeight","autoComplete","multiline","index","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputProps","container","clsx","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","disableTouchRipple","pageContentStyles","children","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","backgroundColor","left","boxShadow","labelStyle","marginLeft","rightMenu","textAlign","logo","fill","main","middleComponent","actions","direction","sm","md","sx","paddingTop","variant","setErrorSnackMessage","modalBasic","settingsCommon","formFieldStyles","lambdaNotifTitle","fontFamily","fileInputFieldCss","fileTextBoxContainer","flex","fileReselectCss","match","history","saving","setSaving","setName","endpoint","setEndpoint","bucket","setBucket","prefix","setPrefix","region","setRegion","storageClass","setStorageClass","accessKey","setAccessKey","secretKey","setSecretKey","creds","setCreds","encodedCreds","setEncodedCreds","accountName","setAccountName","accountKey","setAccountKey","titleSelection","setTitleSelection","isFormValid","setIsFormValid","nameInputError","setNameInputError","validName","useCallback","test","useEffect","request","fields","tierType","s3","accesskey","secretkey","storageclass","gcs","azure","accountname","accountkey","payload","api","then","push","IAM_PAGES","catch","err","valid","targetElement","tierTypes","serviceName","Fragment","noValidate","onSubmit","event","preventDefault","marginBottom","height","targetTitle","gridTemplateColumns","gridAutoFlow","gridRowGap","gridColumnGap","toUpperCase","s3ServiceName","minioServiceName","gcsServiceName","encodedValue","azureServiceName","settingsButtonContainer","logoXs","errorBlock","withBreak","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4533.e1a532b6.chunk.js b/portal-ui/build/static/js/4533.d9c6db0b.chunk.js similarity index 98% rename from portal-ui/build/static/js/4533.e1a532b6.chunk.js rename to portal-ui/build/static/js/4533.d9c6db0b.chunk.js index 7bba9930d..f6a9026b9 100644 --- a/portal-ui/build/static/js/4533.e1a532b6.chunk.js +++ b/portal-ui/build/static/js/4533.d9c6db0b.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4533],{8235:function(e,n,t){t(50390);var r=t(86509),i=t(4285),o=t(25594),a=t(62559);n.Z=(0,i.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,i=e.help;return(0,a.jsx)("div",{className:n.root,children:(0,a.jsxs)(o.ZP,{container:!0,children:[(0,a.jsxs)(o.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,r]}),(0,a.jsx)(o.ZP,{item:!0,xs:12,className:n.helpText,children:i})]})})}))},70758:function(e,n,t){var r=t(18489),i=t(36222),o=t(83738),a=(t(50390),t(86509)),s=t(4285),l=t(95467),c=t(94187),d=t(44977),u=t(62559),p=["classes","children","variant","tooltip"];n.Z=(0,s.Z)((function(e){return(0,a.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,a=e.variant,s=void 0===a?"outlined":a,m=e.tooltip,h=(0,o.Z)(e,p),v=(0,u.jsx)(l.Z,(0,r.Z)((0,r.Z)({},h),{},{className:(0,d.Z)(n.root,(0,i.Z)({},n.contained,"contained"===s)),children:t}));return m&&""!==m?(0,u.jsx)(c.Z,{title:m,children:(0,u.jsx)("span",{children:v})}):v}))},14533:function(e,n,t){t.r(n),t.d(n,{default:function(){return O}});var r=t(35531),i=t(23430),o=t(18489),a=t(50390),s=t(34424),l=t(86509),c=t(4285),d=t(25594),u=t(12066),p=t(65771),m=t(38342),h=t.n(m),v=t(57074),f=t(11387),Z=t(44149),b=t(72462),x=t(28948),g=t(43117),y=t(30324),j=t(17777),S=t(18221),E=t(13336),k=t(70758),P=t(8235),C=t(83738),F=t(56805),I=t(66946),N=t(62559),L=["classes","children","label"],z=function(e){e.classes;var n=e.children,t=e.label,r=void 0===t?"":t,i=(0,C.Z)(e,L),s=i;return(0,N.jsxs)(a.Fragment,{children:[(0,N.jsx)(F.Z,{sx:{display:{xs:"none",sm:"none",md:"block"}},children:(0,N.jsx)(I.Z,(0,o.Z)((0,o.Z)({},i),{},{endIcon:n,children:r}))}),(0,N.jsx)(F.Z,{sx:{display:{xs:"block",sm:"block",md:"none"}},children:(0,N.jsx)(k.Z,(0,o.Z)((0,o.Z)({},s),{},{tooltip:r,children:n}))})]})},R=t(37882),D=(0,R.Z)(a.lazy((function(){return Promise.all([t.e(5444),t.e(3698)]).then(t.bind(t,93698))}))),w=(0,R.Z)(a.lazy((function(){return Promise.all([t.e(5444),t.e(1971)]).then(t.bind(t,1971))}))),T={setErrorSnackMessage:Z.Ih,selectDrive:function(e){return{type:g.J,driveName:e}}},A=(0,s.$j)(null,T),O=(0,c.Z)((function(e){return(0,l.Z)((0,o.Z)((0,o.Z)((0,o.Z)({tableWrapper:{height:"calc(100vh - 275px)"},linkItem:{display:"default",color:e.palette.info.main,textDecoration:"none","&:hover":{textDecoration:"underline",color:"#000"}}},b.OR),b.qg),(0,b.Bz)(e.spacing(4))))}))(A((function(e){var n=e.classes,t=(e.selectDrive,e.setErrorSnackMessage),s=(0,a.useState)([]),l=(0,i.Z)(s,2),c=l[0],m=l[1],Z=(0,a.useState)(""),b=(0,i.Z)(Z,2),g=b[0],C=b[1],F=(0,a.useState)([]),I=(0,i.Z)(F,2),L=I[0],R=I[1],T=(0,a.useState)(!0),A=(0,i.Z)(T,2),O=A[0],B=A[1],M=(0,a.useState)(!1),K=(0,i.Z)(M,2),V=K[0],W=K[1],_=(0,a.useState)(!1),G=(0,i.Z)(_,2),H=G[0],q=G[1],J=(0,a.useState)([]),U=(0,i.Z)(J,2),$=U[0],Q=U[1],X=(0,a.useState)(!1),Y=(0,i.Z)(X,2),ee=Y[0],ne=Y[1],te=(0,a.useState)([]),re=(0,i.Z)(te,2),ie=re[0],oe=re[1],ae=(0,a.useState)(!0),se=(0,i.Z)(ae,2),le=se[0],ce=se[1];(0,a.useEffect)((function(){O&&y.Z.invoke("GET","/api/v1/direct-csi/drives").then((function(e){var n=h()(e,"drives",[]);n||(n=[]),(n=n.map((function(e){var n=(0,o.Z)({},e);return n.joinName="".concat(n.node,":").concat(n.drive),n}))).sort((function(e,n){return e.drive>n.drive?1:e.drive0&&(Q(n),ne(!0)),B(!0),R([]))},deleteOpen:V,allDrives:H,drivesToFormat:ie}),ee&&(0,N.jsx)(w,{errorsList:$,open:ee,onCloseFormatErrorsList:function(){ne(!1)}}),(0,N.jsx)("h1",{className:n.sectionTitle,children:"Local Drives"}),(0,N.jsxs)(d.ZP,{item:!0,xs:12,className:n.actionsTray,children:[(0,N.jsx)(u.Z,{placeholder:"Search Drives",className:n.searchField,id:"search-resource",label:"",InputProps:{disableUnderline:!0,startAdornment:(0,N.jsx)(p.Z,{position:"start",children:(0,N.jsx)(E.Z,{})})},onChange:function(e){C(e.target.value)},disabled:le,variant:"standard"}),(0,N.jsx)(k.Z,{color:"primary","aria-label":"Refresh Tenant List",onClick:function(){B(!0)},disabled:le,size:"large",children:(0,N.jsx)(S.default,{})}),(0,N.jsx)(z,{variant:"contained",color:"primary",disabled:L.length<=0||le,onClick:function(){L.length>0&&(oe(L),q(!1),W(!0))},label:"Format Selected Drives",children:(0,N.jsx)(v.Z,{})}),(0,N.jsx)(z,{variant:"contained",color:"primary",label:"Format All Drives",onClick:function(){var e=c.map((function(e){return"".concat(e.node,":").concat(e.drive)}));q(!0),oe(e),W(!0)},disabled:le,children:(0,N.jsx)(f.dt,{})})]}),(0,N.jsx)(d.ZP,{item:!0,xs:12,children:le&&!O?(0,N.jsx)(P.Z,{title:"Leverage locally attached drives",iconComponent:(0,N.jsx)(f.id,{}),help:(0,N.jsxs)(a.Fragment,{children:["We can automatically provision persistent volumes (PVs) on top locally attached drives on your Kubernetes nodes by leveraging Direct-CSI.",(0,N.jsx)("br",{}),(0,N.jsx)("br",{}),"For more information"," ",(0,N.jsx)("a",{href:"https://github.com/minio/direct-csi",rel:"noreferrer",target:"_blank",className:n.linkItem,children:"Visit Direct-CSI Documentation"})]})}):(0,N.jsx)(j.Z,{itemActions:de,columns:[{label:"Drive",elementKey:"drive"},{label:"Capacity",elementKey:"capacity",renderFunction:x.ae},{label:"Allocated",elementKey:"allocated",renderFunction:x.ae},{label:"Volumes",elementKey:"volumes"},{label:"Node",elementKey:"node"},{label:"Status",elementKey:"status"}],onSelect:function(e){var n=e.target,t=n.value,i=n.checked,o=(0,r.Z)(L);return i?o.push(t):o=o.filter((function(e){return e!==t})),R(o),o},selectedItems:L,isLoading:O,records:ue,customPaperHeight:n.tableWrapper,entityName:"Drives",idField:"joinName"})})]})})))},57074:function(e,n,t){var r=t(64119);n.Z=void 0;var i=r(t(66830)),o=t(62559),a=(0,i.default)((0,o.jsx)("path",{d:"M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z"}),"Group");n.Z=a},65771:function(e,n,t){t.d(n,{Z:function(){return j}});var r=t(36222),i=t(1048),o=t(32793),a=t(50390),s=t(44977),l=t(50076),c=t(91442),d=t(35477),u=t(14478),p=t(23060),m=t(8208),h=t(10594);function v(e){return(0,h.Z)("MuiInputAdornment",e)}var f,Z=(0,t(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),b=t(15573),x=t(62559),g=["children","className","component","disablePointerEvents","disableTypography","position","variant"],y=(0,m.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,n["position".concat((0,c.Z)(t.position))],!0===t.disablePointerEvents&&n.disablePointerEvents,n[t.variant]]}})((function(e){var n=e.theme,t=e.ownerState;return(0,o.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:n.palette.action.active},"filled"===t.variant&&(0,r.Z)({},"&.".concat(Z.positionStart,"&:not(.").concat(Z.hiddenLabel,")"),{marginTop:16}),"start"===t.position&&{marginRight:8},"end"===t.position&&{marginLeft:8},!0===t.disablePointerEvents&&{pointerEvents:"none"})})),j=a.forwardRef((function(e,n){var t=(0,b.Z)({props:e,name:"MuiInputAdornment"}),r=t.children,m=t.className,h=t.component,Z=void 0===h?"div":h,j=t.disablePointerEvents,S=void 0!==j&&j,E=t.disableTypography,k=void 0!==E&&E,P=t.position,C=t.variant,F=(0,i.Z)(t,g),I=(0,p.Z)()||{},N=C;C&&I.variant,I&&!N&&(N=I.variant);var L=(0,o.Z)({},t,{hiddenLabel:I.hiddenLabel,size:I.size,disablePointerEvents:S,position:P,variant:N}),z=function(e){var n=e.classes,t=e.disablePointerEvents,r=e.hiddenLabel,i=e.position,o=e.size,a=e.variant,s={root:["root",t&&"disablePointerEvents",i&&"position".concat((0,c.Z)(i)),a,r&&"hiddenLabel",o&&"size".concat((0,c.Z)(o))]};return(0,l.Z)(s,v,n)}(L);return(0,x.jsx)(u.Z.Provider,{value:null,children:(0,x.jsx)(y,(0,o.Z)({as:Z,ownerState:L,className:(0,s.Z)(z.root,m),ref:n},F,{children:"string"!==typeof r||k?(0,x.jsxs)(a.Fragment,{children:["start"===P?f||(f=(0,x.jsx)("span",{className:"notranslate",children:"\u200b"})):null,r]}):(0,x.jsx)(d.Z,{color:"text.secondary",children:r})}))})}))},83738:function(e,n,t){function r(e,n){if(null==e)return{};var t,r,i=function(e,n){if(null==e)return{};var t,r,i={},o=Object.keys(e);for(r=0;r=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}t.d(n,{Z:function(){return r}})}}]); -//# sourceMappingURL=4533.e1a532b6.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4533],{8235:function(e,n,t){t(50390);var r=t(86509),i=t(4285),o=t(25594),a=t(62559);n.Z=(0,i.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,i=e.help;return(0,a.jsx)("div",{className:n.root,children:(0,a.jsxs)(o.ZP,{container:!0,children:[(0,a.jsxs)(o.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,r]}),(0,a.jsx)(o.ZP,{item:!0,xs:12,className:n.helpText,children:i})]})})}))},70758:function(e,n,t){var r=t(18489),i=t(36222),o=t(83738),a=(t(50390),t(86509)),s=t(4285),l=t(95467),c=t(94187),d=t(44977),u=t(62559),p=["classes","children","variant","tooltip"];n.Z=(0,s.Z)((function(e){return(0,a.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,a=e.variant,s=void 0===a?"outlined":a,m=e.tooltip,h=(0,o.Z)(e,p),v=(0,u.jsx)(l.Z,(0,r.Z)((0,r.Z)({},h),{},{className:(0,d.Z)(n.root,(0,i.Z)({},n.contained,"contained"===s)),children:t}));return m&&""!==m?(0,u.jsx)(c.Z,{title:m,children:(0,u.jsx)("span",{children:v})}):v}))},14533:function(e,n,t){t.r(n),t.d(n,{default:function(){return O}});var r=t(35531),i=t(23430),o=t(18489),a=t(50390),s=t(34424),l=t(86509),c=t(4285),d=t(25594),u=t(12066),p=t(65771),m=t(38342),h=t.n(m),v=t(57074),f=t(98280),Z=t(44149),b=t(72462),x=t(28948),g=t(43117),y=t(30324),j=t(17777),S=t(18221),E=t(13336),k=t(70758),P=t(8235),C=t(83738),F=t(56805),I=t(66946),N=t(62559),L=["classes","children","label"],z=function(e){e.classes;var n=e.children,t=e.label,r=void 0===t?"":t,i=(0,C.Z)(e,L),s=i;return(0,N.jsxs)(a.Fragment,{children:[(0,N.jsx)(F.Z,{sx:{display:{xs:"none",sm:"none",md:"block"}},children:(0,N.jsx)(I.Z,(0,o.Z)((0,o.Z)({},i),{},{endIcon:n,children:r}))}),(0,N.jsx)(F.Z,{sx:{display:{xs:"block",sm:"block",md:"none"}},children:(0,N.jsx)(k.Z,(0,o.Z)((0,o.Z)({},s),{},{tooltip:r,children:n}))})]})},R=t(37882),D=(0,R.Z)(a.lazy((function(){return Promise.all([t.e(5444),t.e(3698)]).then(t.bind(t,93698))}))),w=(0,R.Z)(a.lazy((function(){return Promise.all([t.e(5444),t.e(1971)]).then(t.bind(t,1971))}))),T={setErrorSnackMessage:Z.Ih,selectDrive:function(e){return{type:g.J,driveName:e}}},A=(0,s.$j)(null,T),O=(0,c.Z)((function(e){return(0,l.Z)((0,o.Z)((0,o.Z)((0,o.Z)({tableWrapper:{height:"calc(100vh - 275px)"},linkItem:{display:"default",color:e.palette.info.main,textDecoration:"none","&:hover":{textDecoration:"underline",color:"#000"}}},b.OR),b.qg),(0,b.Bz)(e.spacing(4))))}))(A((function(e){var n=e.classes,t=(e.selectDrive,e.setErrorSnackMessage),s=(0,a.useState)([]),l=(0,i.Z)(s,2),c=l[0],m=l[1],Z=(0,a.useState)(""),b=(0,i.Z)(Z,2),g=b[0],C=b[1],F=(0,a.useState)([]),I=(0,i.Z)(F,2),L=I[0],R=I[1],T=(0,a.useState)(!0),A=(0,i.Z)(T,2),O=A[0],B=A[1],M=(0,a.useState)(!1),K=(0,i.Z)(M,2),V=K[0],W=K[1],_=(0,a.useState)(!1),G=(0,i.Z)(_,2),H=G[0],q=G[1],J=(0,a.useState)([]),U=(0,i.Z)(J,2),$=U[0],Q=U[1],X=(0,a.useState)(!1),Y=(0,i.Z)(X,2),ee=Y[0],ne=Y[1],te=(0,a.useState)([]),re=(0,i.Z)(te,2),ie=re[0],oe=re[1],ae=(0,a.useState)(!0),se=(0,i.Z)(ae,2),le=se[0],ce=se[1];(0,a.useEffect)((function(){O&&y.Z.invoke("GET","/api/v1/direct-csi/drives").then((function(e){var n=h()(e,"drives",[]);n||(n=[]),(n=n.map((function(e){var n=(0,o.Z)({},e);return n.joinName="".concat(n.node,":").concat(n.drive),n}))).sort((function(e,n){return e.drive>n.drive?1:e.drive0&&(Q(n),ne(!0)),B(!0),R([]))},deleteOpen:V,allDrives:H,drivesToFormat:ie}),ee&&(0,N.jsx)(w,{errorsList:$,open:ee,onCloseFormatErrorsList:function(){ne(!1)}}),(0,N.jsx)("h1",{className:n.sectionTitle,children:"Local Drives"}),(0,N.jsxs)(d.ZP,{item:!0,xs:12,className:n.actionsTray,children:[(0,N.jsx)(u.Z,{placeholder:"Search Drives",className:n.searchField,id:"search-resource",label:"",InputProps:{disableUnderline:!0,startAdornment:(0,N.jsx)(p.Z,{position:"start",children:(0,N.jsx)(E.Z,{})})},onChange:function(e){C(e.target.value)},disabled:le,variant:"standard"}),(0,N.jsx)(k.Z,{color:"primary","aria-label":"Refresh Tenant List",onClick:function(){B(!0)},disabled:le,size:"large",children:(0,N.jsx)(S.default,{})}),(0,N.jsx)(z,{variant:"contained",color:"primary",disabled:L.length<=0||le,onClick:function(){L.length>0&&(oe(L),q(!1),W(!0))},label:"Format Selected Drives",children:(0,N.jsx)(v.Z,{})}),(0,N.jsx)(z,{variant:"contained",color:"primary",label:"Format All Drives",onClick:function(){var e=c.map((function(e){return"".concat(e.node,":").concat(e.drive)}));q(!0),oe(e),W(!0)},disabled:le,children:(0,N.jsx)(f.dt,{})})]}),(0,N.jsx)(d.ZP,{item:!0,xs:12,children:le&&!O?(0,N.jsx)(P.Z,{title:"Leverage locally attached drives",iconComponent:(0,N.jsx)(f.id,{}),help:(0,N.jsxs)(a.Fragment,{children:["We can automatically provision persistent volumes (PVs) on top locally attached drives on your Kubernetes nodes by leveraging Direct-CSI.",(0,N.jsx)("br",{}),(0,N.jsx)("br",{}),"For more information"," ",(0,N.jsx)("a",{href:"https://github.com/minio/direct-csi",rel:"noreferrer",target:"_blank",className:n.linkItem,children:"Visit Direct-CSI Documentation"})]})}):(0,N.jsx)(j.Z,{itemActions:de,columns:[{label:"Drive",elementKey:"drive"},{label:"Capacity",elementKey:"capacity",renderFunction:x.ae},{label:"Allocated",elementKey:"allocated",renderFunction:x.ae},{label:"Volumes",elementKey:"volumes"},{label:"Node",elementKey:"node"},{label:"Status",elementKey:"status"}],onSelect:function(e){var n=e.target,t=n.value,i=n.checked,o=(0,r.Z)(L);return i?o.push(t):o=o.filter((function(e){return e!==t})),R(o),o},selectedItems:L,isLoading:O,records:ue,customPaperHeight:n.tableWrapper,entityName:"Drives",idField:"joinName"})})]})})))},57074:function(e,n,t){var r=t(64119);n.Z=void 0;var i=r(t(66830)),o=t(62559),a=(0,i.default)((0,o.jsx)("path",{d:"M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z"}),"Group");n.Z=a},65771:function(e,n,t){t.d(n,{Z:function(){return j}});var r=t(36222),i=t(1048),o=t(32793),a=t(50390),s=t(44977),l=t(50076),c=t(91442),d=t(35477),u=t(14478),p=t(23060),m=t(8208),h=t(10594);function v(e){return(0,h.Z)("MuiInputAdornment",e)}var f,Z=(0,t(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),b=t(15573),x=t(62559),g=["children","className","component","disablePointerEvents","disableTypography","position","variant"],y=(0,m.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,n["position".concat((0,c.Z)(t.position))],!0===t.disablePointerEvents&&n.disablePointerEvents,n[t.variant]]}})((function(e){var n=e.theme,t=e.ownerState;return(0,o.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:n.palette.action.active},"filled"===t.variant&&(0,r.Z)({},"&.".concat(Z.positionStart,"&:not(.").concat(Z.hiddenLabel,")"),{marginTop:16}),"start"===t.position&&{marginRight:8},"end"===t.position&&{marginLeft:8},!0===t.disablePointerEvents&&{pointerEvents:"none"})})),j=a.forwardRef((function(e,n){var t=(0,b.Z)({props:e,name:"MuiInputAdornment"}),r=t.children,m=t.className,h=t.component,Z=void 0===h?"div":h,j=t.disablePointerEvents,S=void 0!==j&&j,E=t.disableTypography,k=void 0!==E&&E,P=t.position,C=t.variant,F=(0,i.Z)(t,g),I=(0,p.Z)()||{},N=C;C&&I.variant,I&&!N&&(N=I.variant);var L=(0,o.Z)({},t,{hiddenLabel:I.hiddenLabel,size:I.size,disablePointerEvents:S,position:P,variant:N}),z=function(e){var n=e.classes,t=e.disablePointerEvents,r=e.hiddenLabel,i=e.position,o=e.size,a=e.variant,s={root:["root",t&&"disablePointerEvents",i&&"position".concat((0,c.Z)(i)),a,r&&"hiddenLabel",o&&"size".concat((0,c.Z)(o))]};return(0,l.Z)(s,v,n)}(L);return(0,x.jsx)(u.Z.Provider,{value:null,children:(0,x.jsx)(y,(0,o.Z)({as:Z,ownerState:L,className:(0,s.Z)(z.root,m),ref:n},F,{children:"string"!==typeof r||k?(0,x.jsxs)(a.Fragment,{children:["start"===P?f||(f=(0,x.jsx)("span",{className:"notranslate",children:"\u200b"})):null,r]}):(0,x.jsx)(d.Z,{color:"text.secondary",children:r})}))})}))},83738:function(e,n,t){function r(e,n){if(null==e)return{};var t,r,i=function(e,n){if(null==e)return{};var t,r,i={},o=Object.keys(e);for(r=0;r=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}t.d(n,{Z:function(){return r}})}}]); +//# sourceMappingURL=4533.d9c6db0b.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4533.e1a532b6.chunk.js.map b/portal-ui/build/static/js/4533.d9c6db0b.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/4533.e1a532b6.chunk.js.map rename to portal-ui/build/static/js/4533.d9c6db0b.chunk.js.map index 01474d445..70f394292 100644 --- a/portal-ui/build/static/js/4533.e1a532b6.chunk.js.map +++ b/portal-ui/build/static/js/4533.d9c6db0b.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/4533.e1a532b6.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/BoxButton/BoxButton.tsx","screens/Console/DirectCSI/DirectCSIDrives.tsx","screens/Console/DirectCSI/actions.ts","../node_modules/@mui/icons-material/Group.js","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Box, Button, ButtonProps, IconButtonProps } from \"@mui/material\";\nimport BoxIconButton from \"../BoxIconButton/BoxIconButton\";\n\ninterface IBoxButton extends ButtonProps {\n label?: string;\n}\n\nconst BoxButton = ({ classes, children, label = \"\", ...rest }: IBoxButton) => {\n const altRest = rest as IconButtonProps;\n return (\n \n \n \n \n \n \n {children}\n \n \n \n );\n};\n\nexport default BoxButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } 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 get from \"lodash/get\";\nimport GroupIcon from \"@mui/icons-material/Group\";\nimport { AddIcon, StorageIcon } from \"../../../icons\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport {\n IDirectCSIDrives,\n IDirectCSIFormatResItem,\n IDrivesResponse,\n} from \"./types\";\nimport { niceBytes } from \"../../../common/utils\";\nimport { selectDrive } from \"./actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport RefreshIcon from \"../../../icons/RefreshIcon\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport BoxIconButton from \"../Common/BoxIconButton/BoxIconButton\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport BoxButton from \"../Common/BoxButton/BoxButton\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\n\nconst FormatDrives = withSuspense(React.lazy(() => import(\"./FormatDrives\")));\nconst FormatErrorsResult = withSuspense(\n React.lazy(() => import(\"./FormatErrorsResult\"))\n);\n\ninterface IDirectCSIMain {\n classes: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n selectDrive: typeof selectDrive;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n tableWrapper: {\n height: \"calc(100vh - 275px)\",\n },\n linkItem: {\n display: \"default\",\n color: theme.palette.info.main,\n textDecoration: \"none\",\n \"&:hover\": {\n textDecoration: \"underline\",\n color: \"#000\",\n },\n },\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst DirectCSIMain = ({\n classes,\n selectDrive,\n setErrorSnackMessage,\n}: IDirectCSIMain) => {\n const [records, setRecords] = useState([]);\n const [filter, setFilter] = useState(\"\");\n const [checkedDrives, setCheckedDrives] = useState([]);\n const [loading, setLoading] = useState(true);\n const [formatOpen, setFormatOpen] = useState(false);\n const [formatAll, setFormatAll] = useState(false);\n const [formatErrorsResult, setFormatErrorsResult] = useState<\n IDirectCSIFormatResItem[]\n >([]);\n const [formatErrorsOpen, setFormatErrorsOpen] = useState(false);\n const [drivesToFormat, setDrivesToFormat] = useState([]);\n const [notAvailable, setNotAvailable] = useState(true);\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", \"/api/v1/direct-csi/drives\")\n .then((res: IDrivesResponse) => {\n let drives: IDirectCSIDrives[] = get(res, \"drives\", []);\n\n if (!drives) {\n drives = [];\n }\n\n drives = drives.map((item) => {\n const newItem = { ...item };\n newItem.joinName = `${newItem.node}:${newItem.drive}`;\n\n return newItem;\n });\n\n drives.sort((d1, d2) => {\n if (d1.drive > d2.drive) {\n return 1;\n }\n\n if (d1.drive < d2.drive) {\n return -1;\n }\n\n return 0;\n });\n\n setRecords(drives);\n setLoading(false);\n setNotAvailable(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setNotAvailable(true);\n });\n }\n }, [loading, setErrorSnackMessage, notAvailable]);\n\n const formatAllDrives = () => {\n const allDrives = records.map((item) => {\n return `${item.node}:${item.drive}`;\n });\n setFormatAll(true);\n setDrivesToFormat(allDrives);\n setFormatOpen(true);\n };\n\n const formatSingleUnit = (driveID: string) => {\n const selectedUnit = [driveID];\n setDrivesToFormat(selectedUnit);\n setFormatAll(false);\n setFormatOpen(true);\n };\n\n const formatSelectedDrives = () => {\n if (checkedDrives.length > 0) {\n setDrivesToFormat(checkedDrives);\n setFormatAll(false);\n setFormatOpen(true);\n }\n };\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...checkedDrives]; // We clone the checkedDrives array\n\n if (checked) {\n // If the user has checked this field we need to push this to checkedDrivesList\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 setCheckedDrives(elements);\n\n return elements;\n };\n\n const closeFormatModal = (\n refresh: boolean,\n errorsList: IDirectCSIFormatResItem[]\n ) => {\n setFormatOpen(false);\n if (refresh) {\n // Errors are present, we trigger the modal box to show these changes.\n if (errorsList && errorsList.length > 0) {\n setFormatErrorsResult(errorsList);\n setFormatErrorsOpen(true);\n }\n setLoading(true);\n setCheckedDrives([]);\n }\n };\n\n const tableActions = [\n {\n type: \"format\",\n onClick: formatSingleUnit,\n sendOnlyId: true,\n },\n ];\n\n const filteredRecords: IDirectCSIDrives[] = records.filter((elementItem) =>\n elementItem.drive.includes(filter)\n );\n\n return (\n \n {formatOpen && (\n \n )}\n\n {formatErrorsOpen && (\n {\n setFormatErrorsOpen(false);\n }}\n />\n )}\n

Local Drives

\n \n \n \n \n ),\n }}\n onChange={(e) => {\n setFilter(e.target.value);\n }}\n disabled={notAvailable}\n variant=\"standard\"\n />\n {\n setLoading(true);\n }}\n disabled={notAvailable}\n size=\"large\"\n >\n \n \n \n \n \n \n \n \n \n\n \n {notAvailable && !loading ? (\n }\n help={\n \n We can automatically provision persistent volumes (PVs) on top\n locally attached drives on your Kubernetes nodes by leveraging\n Direct-CSI.\n
\n
\n For more information{\" \"}\n \n Visit Direct-CSI Documentation\n \n
\n }\n />\n ) : (\n \n )}\n
\n
\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n selectDrive,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(DirectCSIMain));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { DIRECT_CSI_SELECT_DRIVE } from \"./types\";\n\nexport const selectDrive = (driveName: string) => {\n return {\n type: DIRECT_CSI_SELECT_DRIVE,\n driveName,\n };\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z\"\n}), 'Group');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\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","marginLeft","borderWidth","borderColor","color","borderStyle","palette","primary","main","opacity","contained","background","dark","light","children","variant","tooltip","rest","button","clsx","label","altRest","Fragment","Box","sx","sm","md","Button","endIcon","BoxIconButton","FormatDrives","withSuspense","React","FormatErrorsResult","mapDispatchToProps","setErrorSnackMessage","selectDrive","driveName","type","DIRECT_CSI_SELECT_DRIVE","connector","connect","tableWrapper","linkItem","info","textDecoration","actionsTray","searchField","containerForHeader","spacing","useState","records","setRecords","filter","setFilter","checkedDrives","setCheckedDrives","loading","setLoading","formatOpen","setFormatOpen","formatAll","setFormatAll","formatErrorsResult","setFormatErrorsResult","formatErrorsOpen","setFormatErrorsOpen","drivesToFormat","setDrivesToFormat","notAvailable","setNotAvailable","useEffect","api","then","res","drives","get","map","newItem","joinName","node","drive","sort","d1","d2","catch","err","tableActions","onClick","driveID","sendOnlyId","filteredRecords","elementItem","includes","closeFormatModalAndRefresh","refresh","errorsList","length","deleteOpen","allDrives","open","onCloseFormatErrorsList","sectionTitle","Grid","TextField","placeholder","id","InputProps","disableUnderline","startAdornment","InputAdornment","position","SearchIcon","onChange","e","target","value","disabled","size","RefreshIcon","Group","HelpBox","href","rel","TableWrapper","itemActions","columns","elementKey","renderFunction","niceBytes","onSelect","targetD","checked","elements","push","element","selectedItems","isLoading","customPaperHeight","entityName","idField","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","name","overridesResolver","props","styles","ownerState","capitalize","disablePointerEvents","_extends","maxHeight","whiteSpace","action","active","inputAdornmentClasses","marginTop","pointerEvents","inProps","ref","useThemeProps","component","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography","_objectWithoutProperties","source","excluded","key","i","sourceKeys","Object","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/4533.d9c6db0b.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/BoxButton/BoxButton.tsx","screens/Console/DirectCSI/DirectCSIDrives.tsx","screens/Console/DirectCSI/actions.ts","../node_modules/@mui/icons-material/Group.js","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Box, Button, ButtonProps, IconButtonProps } from \"@mui/material\";\nimport BoxIconButton from \"../BoxIconButton/BoxIconButton\";\n\ninterface IBoxButton extends ButtonProps {\n label?: string;\n}\n\nconst BoxButton = ({ classes, children, label = \"\", ...rest }: IBoxButton) => {\n const altRest = rest as IconButtonProps;\n return (\n \n \n \n \n \n \n {children}\n \n \n \n );\n};\n\nexport default BoxButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } 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 get from \"lodash/get\";\nimport GroupIcon from \"@mui/icons-material/Group\";\nimport { AddIcon, StorageIcon } from \"../../../icons\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport {\n IDirectCSIDrives,\n IDirectCSIFormatResItem,\n IDrivesResponse,\n} from \"./types\";\nimport { niceBytes } from \"../../../common/utils\";\nimport { selectDrive } from \"./actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport RefreshIcon from \"../../../icons/RefreshIcon\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport BoxIconButton from \"../Common/BoxIconButton/BoxIconButton\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport BoxButton from \"../Common/BoxButton/BoxButton\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\n\nconst FormatDrives = withSuspense(React.lazy(() => import(\"./FormatDrives\")));\nconst FormatErrorsResult = withSuspense(\n React.lazy(() => import(\"./FormatErrorsResult\"))\n);\n\ninterface IDirectCSIMain {\n classes: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n selectDrive: typeof selectDrive;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n tableWrapper: {\n height: \"calc(100vh - 275px)\",\n },\n linkItem: {\n display: \"default\",\n color: theme.palette.info.main,\n textDecoration: \"none\",\n \"&:hover\": {\n textDecoration: \"underline\",\n color: \"#000\",\n },\n },\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst DirectCSIMain = ({\n classes,\n selectDrive,\n setErrorSnackMessage,\n}: IDirectCSIMain) => {\n const [records, setRecords] = useState([]);\n const [filter, setFilter] = useState(\"\");\n const [checkedDrives, setCheckedDrives] = useState([]);\n const [loading, setLoading] = useState(true);\n const [formatOpen, setFormatOpen] = useState(false);\n const [formatAll, setFormatAll] = useState(false);\n const [formatErrorsResult, setFormatErrorsResult] = useState<\n IDirectCSIFormatResItem[]\n >([]);\n const [formatErrorsOpen, setFormatErrorsOpen] = useState(false);\n const [drivesToFormat, setDrivesToFormat] = useState([]);\n const [notAvailable, setNotAvailable] = useState(true);\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", \"/api/v1/direct-csi/drives\")\n .then((res: IDrivesResponse) => {\n let drives: IDirectCSIDrives[] = get(res, \"drives\", []);\n\n if (!drives) {\n drives = [];\n }\n\n drives = drives.map((item) => {\n const newItem = { ...item };\n newItem.joinName = `${newItem.node}:${newItem.drive}`;\n\n return newItem;\n });\n\n drives.sort((d1, d2) => {\n if (d1.drive > d2.drive) {\n return 1;\n }\n\n if (d1.drive < d2.drive) {\n return -1;\n }\n\n return 0;\n });\n\n setRecords(drives);\n setLoading(false);\n setNotAvailable(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setNotAvailable(true);\n });\n }\n }, [loading, setErrorSnackMessage, notAvailable]);\n\n const formatAllDrives = () => {\n const allDrives = records.map((item) => {\n return `${item.node}:${item.drive}`;\n });\n setFormatAll(true);\n setDrivesToFormat(allDrives);\n setFormatOpen(true);\n };\n\n const formatSingleUnit = (driveID: string) => {\n const selectedUnit = [driveID];\n setDrivesToFormat(selectedUnit);\n setFormatAll(false);\n setFormatOpen(true);\n };\n\n const formatSelectedDrives = () => {\n if (checkedDrives.length > 0) {\n setDrivesToFormat(checkedDrives);\n setFormatAll(false);\n setFormatOpen(true);\n }\n };\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...checkedDrives]; // We clone the checkedDrives array\n\n if (checked) {\n // If the user has checked this field we need to push this to checkedDrivesList\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 setCheckedDrives(elements);\n\n return elements;\n };\n\n const closeFormatModal = (\n refresh: boolean,\n errorsList: IDirectCSIFormatResItem[]\n ) => {\n setFormatOpen(false);\n if (refresh) {\n // Errors are present, we trigger the modal box to show these changes.\n if (errorsList && errorsList.length > 0) {\n setFormatErrorsResult(errorsList);\n setFormatErrorsOpen(true);\n }\n setLoading(true);\n setCheckedDrives([]);\n }\n };\n\n const tableActions = [\n {\n type: \"format\",\n onClick: formatSingleUnit,\n sendOnlyId: true,\n },\n ];\n\n const filteredRecords: IDirectCSIDrives[] = records.filter((elementItem) =>\n elementItem.drive.includes(filter)\n );\n\n return (\n \n {formatOpen && (\n \n )}\n\n {formatErrorsOpen && (\n {\n setFormatErrorsOpen(false);\n }}\n />\n )}\n

Local Drives

\n \n \n \n \n ),\n }}\n onChange={(e) => {\n setFilter(e.target.value);\n }}\n disabled={notAvailable}\n variant=\"standard\"\n />\n {\n setLoading(true);\n }}\n disabled={notAvailable}\n size=\"large\"\n >\n \n \n \n \n \n \n \n \n \n\n \n {notAvailable && !loading ? (\n }\n help={\n \n We can automatically provision persistent volumes (PVs) on top\n locally attached drives on your Kubernetes nodes by leveraging\n Direct-CSI.\n
\n
\n For more information{\" \"}\n \n Visit Direct-CSI Documentation\n \n
\n }\n />\n ) : (\n \n )}\n
\n
\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n selectDrive,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(DirectCSIMain));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { DIRECT_CSI_SELECT_DRIVE } from \"./types\";\n\nexport const selectDrive = (driveName: string) => {\n return {\n type: DIRECT_CSI_SELECT_DRIVE,\n driveName,\n };\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z\"\n}), 'Group');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\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","marginLeft","borderWidth","borderColor","color","borderStyle","palette","primary","main","opacity","contained","background","dark","light","children","variant","tooltip","rest","button","clsx","label","altRest","Fragment","Box","sx","sm","md","Button","endIcon","BoxIconButton","FormatDrives","withSuspense","React","FormatErrorsResult","mapDispatchToProps","setErrorSnackMessage","selectDrive","driveName","type","DIRECT_CSI_SELECT_DRIVE","connector","connect","tableWrapper","linkItem","info","textDecoration","actionsTray","searchField","containerForHeader","spacing","useState","records","setRecords","filter","setFilter","checkedDrives","setCheckedDrives","loading","setLoading","formatOpen","setFormatOpen","formatAll","setFormatAll","formatErrorsResult","setFormatErrorsResult","formatErrorsOpen","setFormatErrorsOpen","drivesToFormat","setDrivesToFormat","notAvailable","setNotAvailable","useEffect","api","then","res","drives","get","map","newItem","joinName","node","drive","sort","d1","d2","catch","err","tableActions","onClick","driveID","sendOnlyId","filteredRecords","elementItem","includes","closeFormatModalAndRefresh","refresh","errorsList","length","deleteOpen","allDrives","open","onCloseFormatErrorsList","sectionTitle","Grid","TextField","placeholder","id","InputProps","disableUnderline","startAdornment","InputAdornment","position","SearchIcon","onChange","e","target","value","disabled","size","RefreshIcon","Group","HelpBox","href","rel","TableWrapper","itemActions","columns","elementKey","renderFunction","niceBytes","onSelect","targetD","checked","elements","push","element","selectedItems","isLoading","customPaperHeight","entityName","idField","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","name","overridesResolver","props","styles","ownerState","capitalize","disablePointerEvents","_extends","maxHeight","whiteSpace","action","active","inputAdornmentClasses","marginTop","pointerEvents","inProps","ref","useThemeProps","component","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography","_objectWithoutProperties","source","excluded","key","i","sourceKeys","Object","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4577.0d2636d3.chunk.js b/portal-ui/build/static/js/4577.0d2636d3.chunk.js new file mode 100644 index 000000000..82613d1e9 --- /dev/null +++ b/portal-ui/build/static/js/4577.0d2636d3.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4577],{8235:function(e,t,n){n(50390);var r=n(86509),i=n(4285),o=n(25594),a=n(62559);t.Z=(0,i.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 t=e.classes,n=e.iconComponent,r=e.title,i=e.help;return(0,a.jsx)("div",{className:t.root,children:(0,a.jsxs)(o.ZP,{container:!0,children:[(0,a.jsxs)(o.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,r]}),(0,a.jsx)(o.ZP,{item:!0,xs:12,className:t.helpText,children:i})]})})}))},37882:function(e,t,n){var r=n(18489),i=n(50390),o=n(62559);t.Z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function n(n){return(0,o.jsx)(i.Suspense,{fallback:t,children:(0,o.jsx)(e,(0,r.Z)({},n))})}return n}},25534:function(e,t,n){var r=n(18489),i=(n(50390),n(25594)),o=n(86509),a=n(4285),l=n(72462),c=n(62559);t.Z=(0,a.Z)((function(e){return(0,o.Z)((0,r.Z)({},l.Bw))}))((function(e){var t=e.classes,n=e.className,r=void 0===n?"":n,o=e.children;return(0,c.jsx)("div",{className:t.contentSpacer,children:(0,c.jsx)(i.ZP,{container:!0,children:(0,c.jsx)(i.ZP,{item:!0,xs:12,className:r,children:o})})})}))},35721:function(e,t,n){n(50390);var r=n(34424),i=n(25594),o=n(86509),a=n(4285),l=n(35477),c=n(95467),s=n(26805),d=n(44078),u=n(5265),p=n(98280),m=n(62559),h={toggleList:u.kQ},f=(0,r.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),h);t.Z=f((0,a.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,r=e.actions,o=e.sidebarOpen,a=e.operatorMode,u=e.managerObjects,h=e.toggleList,f=e.middleComponent;return(0,m.jsxs)(i.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,m.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,m.jsx)("div",{className:t.logo,children:a?(0,m.jsx)(s.Z,{}):(0,m.jsx)(d.Z,{})}),(0,m.jsx)(l.Z,{variant:"h4",className:t.labelStyle,children:n})]}),f&&(0,m.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,m.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:t.rightMenu,children:[r&&r,u&&u.length>0&&(0,m.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){h()},size:"large",children:(0,m.jsx)(p.gx,{})})]})]})})))},62702:function(e,t,n){n(50390);var r=n(25594),i=n(86509),o=n(4285),a=n(62559);t.Z=(0,o.Z)((function(e){return(0,i.Z)({headerBarIcon:{marginRight:".7rem",color:e.palette.primary.main,"& .min-icon":{width:44,height:44}},headerBarSubheader:{color:"grey","@media (max-width: 900px)":{maxWidth:200}},screenTitle:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"1rem",borderBottom:"1px solid #EAEAEA","@media (max-width: 600px)":{flexFlow:"column"}},titleColumn:{height:"auto",justifyContent:"center",display:"flex",flexFlow:"column",alignItems:"flex-start","& h1":{fontSize:19}},leftItems:{display:"flex",alignItems:"center","@media (max-width: 600px)":{flexFlow:"column"}},rightItems:{display:"flex",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.icon,i=e.title,o=e.subTitle,l=e.actions,c=e.className;return(0,a.jsx)(r.ZP,{container:!0,children:(0,a.jsxs)(r.ZP,{item:!0,xs:12,className:"".concat(t.screenTitle," ").concat(c||""),children:[(0,a.jsxs)("div",{className:t.leftItems,children:[n?(0,a.jsx)("div",{className:t.headerBarIcon,children:n}):null,(0,a.jsxs)("div",{className:t.titleColumn,children:[(0,a.jsx)("h1",{style:{margin:0},children:i}),(0,a.jsx)("span",{className:t.headerBarSubheader,children:o})]})]}),(0,a.jsx)("div",{className:t.rightItems,children:l})]})})}))},57647:function(e,t,n){var r=n(18489),i=n(23430),o=n(50390),a=n(56805),l=n(49044),c=n(97227),s=n(74564),d=n(669),u=n(4285),p=n(88669),m=n(86509),h=n(13512),f=n(62559),g={minHeight:60};t.Z=(0,u.Z)((function(e){return(0,m.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 t=e.children,n=e.classes,u=e.selectedTab,m=void 0===u?"0":u,x=e.routes,b=e.isRouteTabs,v=o.useState(m),y=(0,i.Z)(v,2),Z=y[0],j=y[1],E=(0,p.Z)(),C=(0,h.Z)(E.breakpoints.down("md")),w=[],_=[];return t?(t.forEach((function(e){w.push(e.tabConfig),_.push(e.content)})),(0,f.jsx)(c.ZP,{value:"".concat(Z),children:(0,f.jsxs)(a.Z,{className:n.tabsContainer,children:[(0,f.jsx)(a.Z,{className:n.tabsHeaderContainer,children:(0,f.jsx)(s.Z,{onChange:function(e,t){j(t)},orientation:C?"horizontal":"vertical",variant:C?"scrollable":"standard",scrollButtons:"auto",className:n.tabList,children:w.map((function(e,t){return e?(0,f.jsx)(l.Z,(0,r.Z)((0,r.Z)({className:n.tabHeader,value:"".concat(t),style:g},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(t)):null}))})}),(0,f.jsxs)(a.Z,{className:n.tabContentContainer,children:[b?null:_.map((function(e,t){return(0,f.jsx)(d.Z,{classes:(0,r.Z)({},n.tabPanel),value:"".concat(t),children:e||null},"v-tab-p-".concat(t))})),b?(0,f.jsx)("div",{className:n.tabPanel,children:x}):null]})]})})):null}))},54577:function(e,t,n){n.r(t);var r=n(18489),i=n(50390),o=n(86509),a=n(4285),l=n(25594),c=n(73726),s=n(72462),d=n(35721),u=n(8235),p=n(98280),m=n(70971),h=n(6369),f=n(24442),g=n(57647),x=n(25534),b=n(38342),v=n.n(b),y=n(62702),Z=n(37882),j=n(49495),E=n(62559),C=(0,Z.Z)(i.lazy((function(){return Promise.all([n.e(14),n.e(2066),n.e(5444),n.e(3152),n.e(9056),n.e(8708),n.e(6873),n.e(6167)]).then(n.bind(n,16167))})));t.default=(0,a.Z)((function(e){return(0,o.Z)((0,r.Z)((0,r.Z)((0,r.Z)({settingsOptionsContainer:{display:"flex",flexDirection:"row",justifyContent:"flex-start",flexWrap:"wrap",border:"#E5E5E5 1px solid",borderRadius:2,backgroundColor:"#fff"}},s.qg),s.OR),(0,s.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=e.match,r=v()(n,"url",""),o=r.substring(r.lastIndexOf("/")+1);return o="settings"===o?"region":o,(0,E.jsxs)(i.Fragment,{children:[(0,E.jsx)(d.Z,{label:"Settings"}),(0,E.jsxs)(x.Z,{children:[(0,E.jsx)(l.ZP,{item:!0,xs:12,children:(0,E.jsxs)("div",{id:"settings-container",className:t.settingsOptionsContainer,children:[(0,E.jsx)(y.Z,{icon:(0,E.jsx)(p.ew,{}),title:"Configuration:"}),(0,E.jsx)(g.Z,{selectedTab:o,isRouteTabs:!0,routes:(0,E.jsx)(m.F0,{history:f.Z,children:(0,E.jsxs)(m.rs,{children:[c.bx.map((function(e){return(0,E.jsx)(m.AW,{exact:!0,path:"".concat(j.gA.SETTINGS,"/").concat(e.configuration_id),component:C},"configItem-".concat(e.configuration_label))})),(0,E.jsx)(m.AW,{exact:!0,path:j.gA.SETTINGS,children:(0,E.jsx)(m.l_,{to:"".concat(j.gA.SETTINGS,"/region")})})]})}),children:c.bx.map((function(e){var t,n=e.configuration_id;return{tabConfig:{label:e.configuration_label,value:n,icon:e.icon,component:h.rU,to:(t=n,"".concat(j.gA.SETTINGS,"/").concat(t))}}}))})]})}),(0,E.jsx)(l.ZP,{item:!0,xs:12,sx:{paddingTop:"15px"},children:(0,E.jsx)(u.Z,{title:"Learn more about SETTINGS",iconComponent:(0,E.jsx)(p.ew,{}),help:(0,E.jsxs)(i.Fragment,{children:["MinIO supports a variety of configurations ranging from encryption, compression, region, notifications, etc.",(0,E.jsx)("br",{}),(0,E.jsx)("br",{}),"You can learn more at our"," ",(0,E.jsx)("a",{href:"https://docs.min.io/minio/baremetal/reference/minio-cli/minio-mc-admin/mc-admin.config.html?ref=con#id4",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]})]})}))},73726:function(e,t,n){n.d(t,{bx:function(){return g},DP:function(){return x},DD:function(){return b},_0:function(){return v}});var r=n(35531),i=(n(50390),n(75012)),o=n(58267),a=n(44229),l=n(30578),c=n(2494),s=n(41845),d=n(26068),u=n(89173),p=n(9639),m=n(84386),h=n(12720),f=n(62559),g=[{icon:(0,f.jsx)(i.Z,{}),configuration_id:"region",configuration_label:"Region"},{icon:(0,f.jsx)(o.Z,{}),configuration_id:"cache",configuration_label:"Cache"},{icon:(0,f.jsx)(a.Z,{}),configuration_id:"compression",configuration_label:"Compression"},{icon:(0,f.jsx)(l.Z,{}),configuration_id:"api",configuration_label:"API"},{icon:(0,f.jsx)(c.Z,{}),configuration_id:"heal",configuration_label:"Heal"},{icon:(0,f.jsx)(s.Z,{}),configuration_id:"scanner",configuration_label:"Scanner"},{icon:(0,f.jsx)(d.Z,{}),configuration_id:"etcd",configuration_label:"Etcd"},{icon:(0,f.jsx)(u.Z,{}),configuration_id:"identity_openid",configuration_label:"Identity Openid"},{icon:(0,f.jsx)(p.Z,{}),configuration_id:"identity_ldap",configuration_label:"Identity LDAP"},{icon:(0,f.jsx)(h.Z,{}),configuration_id:"logger_webhook",configuration_label:"Logger Webhook"},{icon:(0,f.jsx)(m.Z,{}),configuration_id:"audit_webhook",configuration_label:"Audit Webhook"}],x={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 Comment"}],cache:[{name:"drives",required:!0,label:"Drives",tooltip:'Mountpoints e.g. "/optane1" or "/optane2", you can write one per field',type:"csv",placeholder:"Enter Mount Point"},{name:"expiry",required:!1,label:"Expiry",tooltip:'Cache expiry duration in days e.g. "90"',type:"number",placeholder:"Enter Number of Days"},{name:"quota",required:!1,label:"Quota",tooltip:'Limit cache drive usage in percentage e.g. "90"',type:"number",placeholder:"Enter in %"},{name:"exclude",required:!1,label:"Exclude",tooltip:'Wildcard exclusion patterns e.g. "bucket/*.tmp" or "*.exe", you can write one per field',type:"csv",placeholder:"Enter Wildcard Exclusion Patterns"},{name:"after",required:!1,label:"After",tooltip:"Minimum number of access before caching an object",type:"number",placeholder:"Enter Number of Attempts"},{name:"watermark_low",required:!1,label:"Watermark Low",tooltip:"Watermark Low",type:"number",placeholder:"Enter Watermark Low"},{name:"watermark_high",required:!1,label:"Watermark High",tooltip:"Watermark High",type:"number",placeholder:"Enter Watermark High"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",multiline:!0,placeholder:"Enter Comment"}],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 Comment"}],identity_openid:[{name:"config_url",required:!1,label:"Config URL",tooltip:"Config URL for identity provider configuration",type:"string",placeholder:"https://identity-provider-url/.well-known/openid-configuration"},{name:"client_id",required:!1,label:"Client ID",type:"string",placeholder:"Enter Client ID"},{name:"client_secret",required:!1,label:"Secret ID",type:"string",placeholder:"Enter Secret ID"},{name:"claim_name",required:!1,label:"Claim Name",tooltip:"Claim from which MinIO will read the policy or role to use",type:"string",placeholder:"Enter Claim Name"},{name:"claim_prefix",required:!1,label:"Claim Prefix",tooltip:"Claim Prefix",type:"string",placeholder:"Enter Claim Prefix"},{name:"claim_userinfo",required:!1,label:"Claim UserInfo",type:"on|off"},{name:"redirect_uri",required:!1,label:"Redirect URI",type:"string",placeholder:"https://console-endpoint-url/oauth_callback"},{name:"scopes",required:!1,label:"Scopes",type:"string",placeholder:"openid,profile,email"}],identity_ldap:[{name:"server_addr",required:!0,label:"Server Addr",tooltip:'AD/LDAP server address e.g. "myldapserver.com:636"',type:"string",placeholder:"Enter Server Address"},{name:"username_format",required:!0,label:"Username Format",tooltip:'List of username bind DNs e.g. "uid=%s","cn=accounts","dc=myldapserver" or "dc=com", you can write one per field',type:"csv",placeholder:"Enter Username Format"},{name:"username_search_filter",required:!0,label:"Username Search Filter",tooltip:'User search filter, for example "(cn=%s)" or "(sAMAccountName=%s)" or "(uid=%s)"',type:"string",placeholder:"Enter Username Search Filter"},{name:"group_search_filter",required:!0,label:"Group Search Filter",tooltip:'Search filter for groups e.g. "(&(objectclass=groupOfNames)(memberUid=%s))"',type:"string",placeholder:"Enter Group Search Filter"},{name:"username_search_base_dn",required:!1,label:"Username Search Base DN",tooltip:"List of username search DNs, you can write one per field",type:"csv",placeholder:"Enter Username Search Base DN"},{name:"group_name_attribute",required:!1,label:"Group Name Attribute",tooltip:'Search attribute for group name e.g. "cn"',type:"string",placeholder:"Enter Group Name Attribute"},{name:"sts_expiry",required:!1,label:"STS Expiry",tooltip:'temporary credentials validity duration in s,m,h,d. Default is "1h"',type:"string",placeholder:"Enter STS Expiry"},{name:"tls_skip_verify",required:!1,label:"TLS Skip Verify",tooltip:'Trust server TLS without verification, defaults to "off" (verify)',type:"on|off"},{name:"server_insecure",required:!1,label:"Server Insecure",tooltip:'Allow plain text connection to AD/LDAP server, defaults to "off"',type:"on|off"},{name:"comment",required:!1,label:"Comment",tooltip:"Optionally add a comment to this setting",type:"comment",placeholder:"Enter Comment"}],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"}]},b=function(e){return e.filter((function(e){return""!==e.value}))},v=function(e,t,n){var i=e.target,o=i.value,a=i.checked,l=(0,r.Z)(n);return a?l.push(o):l=l.filter((function(e){return e!==o})),t(l),l}},12720:function(e,t,n){var r=n(64119);t.Z=void 0;var i=r(n(66830)),o=n(62559),a=(0,i.default)((0,o.jsx)("path",{d:"M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3v-3h18v3z"}),"CallToAction");t.Z=a},30578:function(e,t,n){var r=n(64119);t.Z=void 0;var i=r(n(66830)),o=n(62559),a=(0,i.default)((0,o.jsx)("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"}),"Code");t.Z=a},44229:function(e,t,n){var r=n(64119);t.Z=void 0;var i=r(n(66830)),o=n(62559),a=(0,i.default)((0,o.jsx)("path",{d:"M8 19h3v3h2v-3h3l-4-4-4 4zm8-15h-3V1h-2v3H8l4 4 4-4zM4 9v2h16V9H4zm0 3h16v2H4z"}),"Compress");t.Z=a},41845:function(e,t,n){var r=n(64119);t.Z=void 0;var i=r(n(66830)),o=n(62559),a=(0,i.default)((0,o.jsx)("path",{d:"M11 6c1.38 0 2.63.56 3.54 1.46L12 10h6V4l-2.05 2.05C14.68 4.78 12.93 4 11 4c-3.53 0-6.43 2.61-6.92 6H6.1c.46-2.28 2.48-4 4.9-4zm5.64 9.14c.66-.9 1.12-1.97 1.28-3.14H15.9c-.46 2.28-2.48 4-4.9 4-1.38 0-2.63-.56-3.54-1.46L10 12H4v6l2.05-2.05C7.32 17.22 9.07 18 11 18c1.55 0 2.98-.51 4.14-1.36L20 21.49 21.49 20l-4.85-4.86z"}),"FindReplace");t.Z=a},2494:function(e,t,n){var r=n(64119);t.Z=void 0;var i=r(n(66830)),o=n(62559),a=(0,i.default)((0,o.jsx)("path",{d:"M19 3H5c-1.1 0-1.99.9-1.99 2L3 19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 11h-4v4h-4v-4H6v-4h4V6h4v4h4v4z"}),"LocalHospital");t.Z=a},89173:function(e,t,n){var r=n(64119);t.Z=void 0;var i=r(n(66830)),o=n(62559),a=(0,i.default)((0,o.jsx)("path",{d:"M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6h1.9c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm0 12H6V10h12v10z"}),"LockOpen");t.Z=a},9639:function(e,t,n){var r=n(64119);t.Z=void 0;var i=r(n(66830)),o=n(62559),a=(0,i.default)((0,o.jsx)("path",{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"}),"Login");t.Z=a},84386:function(e,t,n){var r=n(64119);t.Z=void 0;var i=r(n(66830)),o=n(62559),a=(0,i.default)((0,o.jsx)("path",{d:"M17 12c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm1.65 7.35L16.5 17.2V14h1v2.79l1.85 1.85-.7.71zM18 3h-3.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H6c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2h6.11c-.59-.57-1.07-1.25-1.42-2H6V5h2v3h8V5h2v5.08c.71.1 1.38.31 2 .6V5c0-1.1-.9-2-2-2zm-6 2c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z"}),"PendingActions");t.Z=a},75012:function(e,t,n){var r=n(64119);t.Z=void 0;var i=r(n(66830)),o=n(62559),a=(0,i.default)((0,o.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"}),"Public");t.Z=a},58267:function(e,t,n){var r=n(64119);t.Z=void 0;var i=r(n(66830)),o=n(62559),a=(0,i.default)((0,o.jsx)("path",{d:"M18 2h-8L4.02 8 4 20c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-6 6h-2V4h2v4zm3 0h-2V4h2v4zm3 0h-2V4h2v4z"}),"SdStorage");t.Z=a},26068:function(e,t,n){var r=n(64119);t.Z=void 0;var i=r(n(66830)),o=n(62559),a=(0,i.default)((0,o.jsx)("path",{d:"M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"}),"VpnKey");t.Z=a},97227:function(e,t,n){n.d(t,{ZP:function(){return l},_i:function(){return c},uU:function(){return s},pQ:function(){return d}});var r=n(23430),i=n(50390),o=n(62559),a=i.createContext(null);function l(e){var t=e.children,n=e.value,l=function(){var e=i.useState(null),t=(0,r.Z)(e,2),n=t[0],o=t[1];return i.useEffect((function(){o("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),n}(),c=i.useMemo((function(){return{idPrefix:l,value:n}}),[l,n]);return(0,o.jsx)(a.Provider,{value:c,children:t})}function c(){return i.useContext(a)}function s(e,t){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(t)}function d(e,t){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(t)}},74564:function(e,t,n){var r=n(18207),i=n(46633),o=n(50390),a=n(98247),l=n(97227),c=n(62559),s=["children"],d=o.forwardRef((function(e,t){var n=e.children,d=(0,i.Z)(e,s),u=(0,l._i)();if(null===u)throw new TypeError("No TabContext provided");var p=o.Children.map(n,(function(e){return o.isValidElement(e)?o.cloneElement(e,{"aria-controls":(0,l.uU)(u,e.props.value),id:(0,l.pQ)(u,e.props.value)}):null}));return(0,c.jsx)(a.Z,(0,r.Z)({},d,{ref:t,value:u.value,children:p}))}));t.Z=d},669:function(e,t,n){n.d(t,{Z:function(){return g}});var r=n(18207),i=n(46633),o=n(50390),a=n(44977),l=n(8208),c=n(15573),s=n(50076),d=n(10594);function u(e){return(0,d.Z)("MuiTabPanel",e)}(0,n(43349).Z)("MuiTabPanel",["root"]);var p=n(97227),m=n(62559),h=["children","className","value"],f=(0,l.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,t){return t.root}})((function(e){return{padding:e.theme.spacing(3)}})),g=o.forwardRef((function(e,t){var n=(0,c.Z)({props:e,name:"MuiTabPanel"}),o=n.children,l=n.className,d=n.value,g=(0,i.Z)(n,h),x=(0,r.Z)({},n),b=function(e){var t=e.classes;return(0,s.Z)({root:["root"]},u,t)}(x),v=(0,p._i)();if(null===v)throw new TypeError("No TabContext provided");var y=(0,p.uU)(v,d),Z=(0,p.pQ)(v,d);return(0,m.jsx)(f,(0,r.Z)({"aria-labelledby":Z,className:(0,a.Z)(b.root,l),hidden:d!==v.value,id:y,ref:t,role:"tabpanel",ownerState:x},g,{children:d===v.value&&o}))}))}}]); +//# sourceMappingURL=4577.0d2636d3.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4577.0d2636d3.chunk.js.map b/portal-ui/build/static/js/4577.0d2636d3.chunk.js.map new file mode 100644 index 000000000..ef5d36650 --- /dev/null +++ b/portal-ui/build/static/js/4577.0d2636d3.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4577.0d2636d3.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/ScreenTitle/ScreenTitle.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Configurations/ConfigurationPanels/ConfigurationOptions.tsx","screens/Console/Configurations/utils.tsx","../node_modules/@mui/icons-material/CallToAction.js","../node_modules/@mui/icons-material/Code.js","../node_modules/@mui/icons-material/Compress.js","../node_modules/@mui/icons-material/FindReplace.js","../node_modules/@mui/icons-material/LocalHospital.js","../node_modules/@mui/icons-material/LockOpen.js","../node_modules/@mui/icons-material/Login.js","../node_modules/@mui/icons-material/PendingActions.js","../node_modules/@mui/icons-material/Public.js","../node_modules/@mui/icons-material/SdStorage.js","../node_modules/@mui/icons-material/VpnKey.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"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n

\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
\n {icon ?
{icon}
: null}\n
\n

{title}

\n {subTitle}\n
\n
\n\n
{actions}
\n
\n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\n","import React 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\";\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 [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\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, { 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, Redirect, Route, Router, Switch } from \"react-router-dom\";\nimport history from \"../../../../history\";\nimport VerticalTabs from \"../../Common/VerticalTabs/VerticalTabs\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport get from \"lodash/get\";\nimport ScreenTitle from \"../../Common/ScreenTitle/ScreenTitle\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\n\nconst ConfigurationForm = withSuspense(\n React.lazy(() => import(\"./ConfigurationForm\"))\n);\n\ninterface IConfigurationOptions {\n classes: any;\n match: 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, match }: IConfigurationOptions) => {\n const configurationName = get(match, \"url\", \"\");\n let selConfigTab = configurationName.substring(\n configurationName.lastIndexOf(\"/\") + 1\n );\n selConfigTab = selConfigTab === \"settings\" ? \"region\" : selConfigTab;\n\n return (\n \n \n\n \n \n \n } title={\"Configuration:\"} />\n \n \n {configurationElements.map((element) => (\n \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 SdStorageIcon from \"@mui/icons-material/SdStorage\";\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 LockOpenIcon from \"@mui/icons-material/LockOpen\";\nimport LoginIcon from \"@mui/icons-material/Login\";\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: \"cache\",\n configuration_label: \"Cache\",\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: \"identity_openid\",\n configuration_label: \"Identity Openid\",\n },\n {\n icon: ,\n configuration_id: \"identity_ldap\",\n configuration_label: \"Identity LDAP\",\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 Comment\",\n },\n ],\n cache: [\n {\n name: \"drives\",\n required: true,\n label: \"Drives\",\n tooltip:\n 'Mountpoints e.g. \"/optane1\" or \"/optane2\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Mount Point\",\n },\n {\n name: \"expiry\",\n required: false,\n label: \"Expiry\",\n tooltip: 'Cache expiry duration in days e.g. \"90\"',\n type: \"number\",\n placeholder: \"Enter Number of Days\",\n },\n {\n name: \"quota\",\n required: false,\n label: \"Quota\",\n tooltip: 'Limit cache drive usage in percentage e.g. \"90\"',\n type: \"number\",\n placeholder: \"Enter in %\",\n },\n {\n name: \"exclude\",\n required: false,\n label: \"Exclude\",\n tooltip:\n 'Wildcard exclusion patterns e.g. \"bucket/*.tmp\" or \"*.exe\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Wildcard Exclusion Patterns\",\n },\n {\n name: \"after\",\n required: false,\n label: \"After\",\n tooltip: \"Minimum number of access before caching an object\",\n type: \"number\",\n placeholder: \"Enter Number of Attempts\",\n },\n {\n name: \"watermark_low\",\n required: false,\n label: \"Watermark Low\",\n tooltip: \"Watermark Low\",\n type: \"number\",\n placeholder: \"Enter Watermark Low\",\n },\n {\n name: \"watermark_high\",\n required: false,\n label: \"Watermark High\",\n tooltip: \"Watermark High\",\n type: \"number\",\n placeholder: \"Enter Watermark High\",\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 Comment\",\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 Comment\",\n },\n ],\n identity_openid: [\n {\n name: \"config_url\",\n required: false,\n label: \"Config URL\",\n tooltip: \"Config URL for identity provider configuration\",\n type: \"string\",\n placeholder:\n \"https://identity-provider-url/.well-known/openid-configuration\",\n },\n {\n name: \"client_id\",\n required: false,\n label: \"Client ID\",\n type: \"string\",\n placeholder: \"Enter Client ID\",\n },\n {\n name: \"client_secret\",\n required: false,\n label: \"Secret ID\",\n type: \"string\",\n placeholder: \"Enter Secret ID\",\n },\n {\n name: \"claim_name\",\n required: false,\n label: \"Claim Name\",\n tooltip: \"Claim from which MinIO will read the policy or role to use\",\n type: \"string\",\n placeholder: \"Enter Claim Name\",\n },\n {\n name: \"claim_prefix\",\n required: false,\n label: \"Claim Prefix\",\n tooltip: \"Claim Prefix\",\n type: \"string\",\n placeholder: \"Enter Claim Prefix\",\n },\n {\n name: \"claim_userinfo\",\n required: false,\n label: \"Claim UserInfo\",\n type: \"on|off\",\n },\n {\n name: \"redirect_uri\",\n required: false,\n label: \"Redirect URI\",\n type: \"string\",\n placeholder: \"https://console-endpoint-url/oauth_callback\",\n },\n {\n name: \"scopes\",\n required: false,\n label: \"Scopes\",\n type: \"string\",\n placeholder: \"openid,profile,email\",\n },\n ],\n identity_ldap: [\n {\n name: \"server_addr\",\n required: true,\n label: \"Server Addr\",\n tooltip: 'AD/LDAP server address e.g. \"myldapserver.com:636\"',\n type: \"string\",\n placeholder: \"Enter Server Address\",\n },\n {\n name: \"username_format\",\n required: true,\n label: \"Username Format\",\n tooltip:\n 'List of username bind DNs e.g. \"uid=%s\",\"cn=accounts\",\"dc=myldapserver\" or \"dc=com\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Username Format\",\n },\n {\n name: \"username_search_filter\",\n required: true,\n label: \"Username Search Filter\",\n tooltip:\n 'User search filter, for example \"(cn=%s)\" or \"(sAMAccountName=%s)\" or \"(uid=%s)\"',\n type: \"string\",\n placeholder: \"Enter Username Search Filter\",\n },\n {\n name: \"group_search_filter\",\n required: true,\n label: \"Group Search Filter\",\n tooltip:\n 'Search filter for groups e.g. \"(&(objectclass=groupOfNames)(memberUid=%s))\"',\n type: \"string\",\n placeholder: \"Enter Group Search Filter\",\n },\n {\n name: \"username_search_base_dn\",\n required: false,\n label: \"Username Search Base DN\",\n tooltip: \"List of username search DNs, you can write one per field\",\n type: \"csv\",\n placeholder: \"Enter Username Search Base DN\",\n },\n {\n name: \"group_name_attribute\",\n required: false,\n label: \"Group Name Attribute\",\n tooltip: 'Search attribute for group name e.g. \"cn\"',\n type: \"string\",\n placeholder: \"Enter Group Name Attribute\",\n },\n {\n name: \"sts_expiry\",\n required: false,\n label: \"STS Expiry\",\n tooltip:\n 'temporary credentials validity duration in s,m,h,d. Default is \"1h\"',\n type: \"string\",\n placeholder: \"Enter STS Expiry\",\n },\n {\n name: \"tls_skip_verify\",\n required: false,\n label: \"TLS Skip Verify\",\n tooltip:\n 'Trust server TLS without verification, defaults to \"off\" (verify)',\n type: \"on|off\",\n },\n {\n name: \"server_insecure\",\n required: false,\n label: \"Server Insecure\",\n tooltip:\n 'Allow plain text connection to AD/LDAP server, defaults to \"off\"',\n type: \"on|off\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"Optionally add a comment to this setting\",\n type: \"comment\",\n placeholder: \"Enter Comment\",\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","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3v-3h18v3z\"\n}), 'CallToAction');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z\"\n}), 'Code');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M8 19h3v3h2v-3h3l-4-4-4 4zm8-15h-3V1h-2v3H8l4 4 4-4zM4 9v2h16V9H4zm0 3h16v2H4z\"\n}), 'Compress');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11 6c1.38 0 2.63.56 3.54 1.46L12 10h6V4l-2.05 2.05C14.68 4.78 12.93 4 11 4c-3.53 0-6.43 2.61-6.92 6H6.1c.46-2.28 2.48-4 4.9-4zm5.64 9.14c.66-.9 1.12-1.97 1.28-3.14H15.9c-.46 2.28-2.48 4-4.9 4-1.38 0-2.63-.56-3.54-1.46L10 12H4v6l2.05-2.05C7.32 17.22 9.07 18 11 18c1.55 0 2.98-.51 4.14-1.36L20 21.49 21.49 20l-4.85-4.86z\"\n}), 'FindReplace');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 3H5c-1.1 0-1.99.9-1.99 2L3 19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 11h-4v4h-4v-4H6v-4h4V6h4v4h4v4z\"\n}), 'LocalHospital');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6h1.9c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm0 12H6V10h12v10z\"\n}), 'LockOpen');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"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');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M17 12c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm1.65 7.35L16.5 17.2V14h1v2.79l1.85 1.85-.7.71zM18 3h-3.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H6c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2h6.11c-.59-.57-1.07-1.25-1.42-2H6V5h2v3h8V5h2v5.08c.71.1 1.38.31 2 .6V5c0-1.1-.9-2-2-2zm-6 2c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z\"\n}), 'PendingActions');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z\"\n}), 'Public');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M18 2h-8L4.02 8 4 20c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-6 6h-2V4h2v4zm3 0h-2V4h2v4zm3 0h-2V4h2v4z\"\n}), 'SdStorage');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"\n}), 'VpnKey');\n\nexports.default = _default;","import * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;"],"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","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","pageContentStyles","children","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","label","justifyContent","labelStyle","color","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","actions","direction","sm","md","sx","variant","length","component","onClick","size","headerBarIcon","headerBarSubheader","maxWidth","screenTitle","padding","borderBottom","flexFlow","titleColumn","rightItems","icon","subTitle","style","margin","tabStripStyle","tabsContainer","tabsHeaderContainer","background","borderRight","tabContentContainer","tabPanel","flexDirection","selectedTab","routes","isRouteTabs","React","value","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","forEach","child","push","tabConfig","content","onChange","event","newValue","orientation","scrollButtons","tabList","map","index","tabHeader","disableRipple","disableTouchRipple","focusRipple","ConfigurationForm","withSuspense","settingsOptionsContainer","flexWrap","searchField","actionsTray","containerForHeader","spacing","match","configurationName","get","selConfigTab","substring","lastIndexOf","Fragment","id","history","configurationElements","element","exact","path","IAM_PAGES","configuration_id","configuration_label","to","Link","href","target","rel","fieldsConfigurations","region","name","required","tooltip","type","placeholder","cache","multiline","compression","withBorder","api","heal","scanner","etcd","identity_openid","identity_ldap","logger_webhook","audit_webhook","removeEmptyFields","formFields","filter","field","selectSAs","e","setSelectedSAs","selectedSAs","targetD","checked","elements","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Context","TabContext","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","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","clsx","hidden","role"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4577.ee518ba9.chunk.js b/portal-ui/build/static/js/4577.ee518ba9.chunk.js deleted file mode 100644 index f9d58f9bc..000000000 --- a/portal-ui/build/static/js/4577.ee518ba9.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4577],{8235:function(e,t,n){n(50390);var r=n(86509),i=n(4285),o=n(25594),a=n(62559);t.Z=(0,i.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 t=e.classes,n=e.iconComponent,r=e.title,i=e.help;return(0,a.jsx)("div",{className:t.root,children:(0,a.jsxs)(o.ZP,{container:!0,children:[(0,a.jsxs)(o.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,r]}),(0,a.jsx)(o.ZP,{item:!0,xs:12,className:t.helpText,children:i})]})})}))},37882:function(e,t,n){var r=n(18489),i=n(50390),o=n(62559);t.Z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function n(n){return(0,o.jsx)(i.Suspense,{fallback:t,children:(0,o.jsx)(e,(0,r.Z)({},n))})}return n}},25534:function(e,t,n){var r=n(18489),i=(n(50390),n(25594)),o=n(86509),a=n(4285),l=n(72462),c=n(62559);t.Z=(0,a.Z)((function(e){return(0,o.Z)((0,r.Z)({},l.Bw))}))((function(e){var t=e.classes,n=e.className,r=void 0===n?"":n,o=e.children;return(0,c.jsx)("div",{className:t.contentSpacer,children:(0,c.jsx)(i.ZP,{container:!0,children:(0,c.jsx)(i.ZP,{item:!0,xs:12,className:r,children:o})})})}))},35721:function(e,t,n){n(50390);var r=n(34424),i=n(25594),o=n(86509),a=n(4285),l=n(35477),c=n(95467),s=n(26805),d=n(44078),u=n(5265),p=n(11387),m=n(62559),h={toggleList:u.kQ},f=(0,r.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),h);t.Z=f((0,a.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,r=e.actions,o=e.sidebarOpen,a=e.operatorMode,u=e.managerObjects,h=e.toggleList,f=e.middleComponent;return(0,m.jsxs)(i.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,m.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,m.jsx)("div",{className:t.logo,children:a?(0,m.jsx)(s.Z,{}):(0,m.jsx)(d.Z,{})}),(0,m.jsx)(l.Z,{variant:"h4",className:t.labelStyle,children:n})]}),f&&(0,m.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,m.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:t.rightMenu,children:[r&&r,u&&u.length>0&&(0,m.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){h()},size:"large",children:(0,m.jsx)(p.gx,{})})]})]})})))},62702:function(e,t,n){n(50390);var r=n(25594),i=n(86509),o=n(4285),a=n(62559);t.Z=(0,o.Z)((function(e){return(0,i.Z)({headerBarIcon:{marginRight:".7rem",color:e.palette.primary.main,"& .min-icon":{width:44,height:44}},headerBarSubheader:{color:"grey","@media (max-width: 900px)":{maxWidth:200}},screenTitle:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"1rem",borderBottom:"1px solid #EAEAEA","@media (max-width: 600px)":{flexFlow:"column"}},titleColumn:{height:"auto",justifyContent:"center",display:"flex",flexFlow:"column",alignItems:"flex-start","& h1":{fontSize:19}},leftItems:{display:"flex",alignItems:"center","@media (max-width: 600px)":{flexFlow:"column"}},rightItems:{display:"flex",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.icon,i=e.title,o=e.subTitle,l=e.actions,c=e.className;return(0,a.jsx)(r.ZP,{container:!0,children:(0,a.jsxs)(r.ZP,{item:!0,xs:12,className:"".concat(t.screenTitle," ").concat(c||""),children:[(0,a.jsxs)("div",{className:t.leftItems,children:[n?(0,a.jsx)("div",{className:t.headerBarIcon,children:n}):null,(0,a.jsxs)("div",{className:t.titleColumn,children:[(0,a.jsx)("h1",{style:{margin:0},children:i}),(0,a.jsx)("span",{className:t.headerBarSubheader,children:o})]})]}),(0,a.jsx)("div",{className:t.rightItems,children:l})]})})}))},57647:function(e,t,n){var r=n(18489),i=n(23430),o=n(50390),a=n(56805),l=n(49044),c=n(97227),s=n(74564),d=n(669),u=n(4285),p=n(88669),m=n(86509),h=n(13512),f=n(62559),g={minHeight:60};t.Z=(0,u.Z)((function(e){return(0,m.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 t=e.children,n=e.classes,u=e.selectedTab,m=void 0===u?"0":u,x=e.routes,b=e.isRouteTabs,v=o.useState(m),y=(0,i.Z)(v,2),Z=y[0],j=y[1],E=(0,p.Z)(),C=(0,h.Z)(E.breakpoints.down("md")),w=[],_=[];return t?(t.forEach((function(e){w.push(e.tabConfig),_.push(e.content)})),(0,f.jsx)(c.ZP,{value:"".concat(Z),children:(0,f.jsxs)(a.Z,{className:n.tabsContainer,children:[(0,f.jsx)(a.Z,{className:n.tabsHeaderContainer,children:(0,f.jsx)(s.Z,{onChange:function(e,t){j(t)},orientation:C?"horizontal":"vertical",variant:C?"scrollable":"standard",scrollButtons:"auto",className:n.tabList,children:w.map((function(e,t){return e?(0,f.jsx)(l.Z,(0,r.Z)((0,r.Z)({className:n.tabHeader,value:"".concat(t),style:g},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(t)):null}))})}),(0,f.jsxs)(a.Z,{className:n.tabContentContainer,children:[b?null:_.map((function(e,t){return(0,f.jsx)(d.Z,{classes:(0,r.Z)({},n.tabPanel),value:"".concat(t),children:e||null},"v-tab-p-".concat(t))})),b?(0,f.jsx)("div",{className:n.tabPanel,children:x}):null]})]})})):null}))},54577:function(e,t,n){n.r(t);var r=n(18489),i=n(50390),o=n(86509),a=n(4285),l=n(25594),c=n(73726),s=n(72462),d=n(35721),u=n(8235),p=n(11387),m=n(70971),h=n(6369),f=n(24442),g=n(57647),x=n(25534),b=n(38342),v=n.n(b),y=n(62702),Z=n(37882),j=n(49495),E=n(62559),C=(0,Z.Z)(i.lazy((function(){return Promise.all([n.e(14),n.e(2066),n.e(5444),n.e(892),n.e(9056),n.e(8708),n.e(6873),n.e(6167)]).then(n.bind(n,16167))})));t.default=(0,a.Z)((function(e){return(0,o.Z)((0,r.Z)((0,r.Z)((0,r.Z)({settingsOptionsContainer:{display:"flex",flexDirection:"row",justifyContent:"flex-start",flexWrap:"wrap",border:"#E5E5E5 1px solid",borderRadius:2,backgroundColor:"#fff"}},s.qg),s.OR),(0,s.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=e.match,r=v()(n,"url",""),o=r.substring(r.lastIndexOf("/")+1);return o="settings"===o?"region":o,(0,E.jsxs)(i.Fragment,{children:[(0,E.jsx)(d.Z,{label:"Settings"}),(0,E.jsxs)(x.Z,{children:[(0,E.jsx)(l.ZP,{item:!0,xs:12,children:(0,E.jsxs)("div",{id:"settings-container",className:t.settingsOptionsContainer,children:[(0,E.jsx)(y.Z,{icon:(0,E.jsx)(p.ew,{}),title:"Configuration:"}),(0,E.jsx)(g.Z,{selectedTab:o,isRouteTabs:!0,routes:(0,E.jsx)(m.F0,{history:f.Z,children:(0,E.jsxs)(m.rs,{children:[c.bx.map((function(e){return(0,E.jsx)(m.AW,{exact:!0,path:"".concat(j.gA.SETTINGS,"/").concat(e.configuration_id),component:C},"configItem-".concat(e.configuration_label))})),(0,E.jsx)(m.AW,{exact:!0,path:j.gA.SETTINGS,children:(0,E.jsx)(m.l_,{to:"".concat(j.gA.SETTINGS,"/region")})})]})}),children:c.bx.map((function(e){var t,n=e.configuration_id;return{tabConfig:{label:e.configuration_label,value:n,icon:e.icon,component:h.rU,to:(t=n,"".concat(j.gA.SETTINGS,"/").concat(t))}}}))})]})}),(0,E.jsx)(l.ZP,{item:!0,xs:12,sx:{paddingTop:"15px"},children:(0,E.jsx)(u.Z,{title:"Learn more about SETTINGS",iconComponent:(0,E.jsx)(p.ew,{}),help:(0,E.jsxs)(i.Fragment,{children:["MinIO supports a variety of configurations ranging from encryption, compression, region, notifications, etc.",(0,E.jsx)("br",{}),(0,E.jsx)("br",{}),"You can learn more at our"," ",(0,E.jsx)("a",{href:"https://docs.min.io/minio/baremetal/reference/minio-cli/minio-mc-admin/mc-admin.config.html?ref=con#id4",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]})]})}))},73726:function(e,t,n){n.d(t,{bx:function(){return g},DP:function(){return x},DD:function(){return b},_0:function(){return v}});var r=n(35531),i=(n(50390),n(75012)),o=n(58267),a=n(44229),l=n(30578),c=n(2494),s=n(41845),d=n(26068),u=n(89173),p=n(9639),m=n(84386),h=n(12720),f=n(62559),g=[{icon:(0,f.jsx)(i.Z,{}),configuration_id:"region",configuration_label:"Region"},{icon:(0,f.jsx)(o.Z,{}),configuration_id:"cache",configuration_label:"Cache"},{icon:(0,f.jsx)(a.Z,{}),configuration_id:"compression",configuration_label:"Compression"},{icon:(0,f.jsx)(l.Z,{}),configuration_id:"api",configuration_label:"API"},{icon:(0,f.jsx)(c.Z,{}),configuration_id:"heal",configuration_label:"Heal"},{icon:(0,f.jsx)(s.Z,{}),configuration_id:"scanner",configuration_label:"Scanner"},{icon:(0,f.jsx)(d.Z,{}),configuration_id:"etcd",configuration_label:"Etcd"},{icon:(0,f.jsx)(u.Z,{}),configuration_id:"identity_openid",configuration_label:"Identity Openid"},{icon:(0,f.jsx)(p.Z,{}),configuration_id:"identity_ldap",configuration_label:"Identity LDAP"},{icon:(0,f.jsx)(h.Z,{}),configuration_id:"logger_webhook",configuration_label:"Logger Webhook"},{icon:(0,f.jsx)(m.Z,{}),configuration_id:"audit_webhook",configuration_label:"Audit Webhook"}],x={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 Comment"}],cache:[{name:"drives",required:!0,label:"Drives",tooltip:'Mountpoints e.g. "/optane1" or "/optane2", you can write one per field',type:"csv",placeholder:"Enter Mount Point"},{name:"expiry",required:!1,label:"Expiry",tooltip:'Cache expiry duration in days e.g. "90"',type:"number",placeholder:"Enter Number of Days"},{name:"quota",required:!1,label:"Quota",tooltip:'Limit cache drive usage in percentage e.g. "90"',type:"number",placeholder:"Enter in %"},{name:"exclude",required:!1,label:"Exclude",tooltip:'Wildcard exclusion patterns e.g. "bucket/*.tmp" or "*.exe", you can write one per field',type:"csv",placeholder:"Enter Wildcard Exclusion Patterns"},{name:"after",required:!1,label:"After",tooltip:"Minimum number of access before caching an object",type:"number",placeholder:"Enter Number of Attempts"},{name:"watermark_low",required:!1,label:"Watermark Low",tooltip:"Watermark Low",type:"number",placeholder:"Enter Watermark Low"},{name:"watermark_high",required:!1,label:"Watermark High",tooltip:"Watermark High",type:"number",placeholder:"Enter Watermark High"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",multiline:!0,placeholder:"Enter Comment"}],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 Comment"}],identity_openid:[{name:"config_url",required:!1,label:"Config URL",tooltip:"Config URL for identity provider configuration",type:"string",placeholder:"https://identity-provider-url/.well-known/openid-configuration"},{name:"client_id",required:!1,label:"Client ID",type:"string",placeholder:"Enter Client ID"},{name:"client_secret",required:!1,label:"Secret ID",type:"string",placeholder:"Enter Secret ID"},{name:"claim_name",required:!1,label:"Claim Name",tooltip:"Claim from which MinIO will read the policy or role to use",type:"string",placeholder:"Enter Claim Name"},{name:"claim_prefix",required:!1,label:"Claim Prefix",tooltip:"Claim Prefix",type:"string",placeholder:"Enter Claim Prefix"},{name:"claim_userinfo",required:!1,label:"Claim UserInfo",type:"on|off"},{name:"redirect_uri",required:!1,label:"Redirect URI",type:"string",placeholder:"https://console-endpoint-url/oauth_callback"},{name:"scopes",required:!1,label:"Scopes",type:"string",placeholder:"openid,profile,email"}],identity_ldap:[{name:"server_addr",required:!0,label:"Server Addr",tooltip:'AD/LDAP server address e.g. "myldapserver.com:636"',type:"string",placeholder:"Enter Server Address"},{name:"username_format",required:!0,label:"Username Format",tooltip:'List of username bind DNs e.g. "uid=%s","cn=accounts","dc=myldapserver" or "dc=com", you can write one per field',type:"csv",placeholder:"Enter Username Format"},{name:"username_search_filter",required:!0,label:"Username Search Filter",tooltip:'User search filter, for example "(cn=%s)" or "(sAMAccountName=%s)" or "(uid=%s)"',type:"string",placeholder:"Enter Username Search Filter"},{name:"group_search_filter",required:!0,label:"Group Search Filter",tooltip:'Search filter for groups e.g. "(&(objectclass=groupOfNames)(memberUid=%s))"',type:"string",placeholder:"Enter Group Search Filter"},{name:"username_search_base_dn",required:!1,label:"Username Search Base DN",tooltip:"List of username search DNs, you can write one per field",type:"csv",placeholder:"Enter Username Search Base DN"},{name:"group_name_attribute",required:!1,label:"Group Name Attribute",tooltip:'Search attribute for group name e.g. "cn"',type:"string",placeholder:"Enter Group Name Attribute"},{name:"sts_expiry",required:!1,label:"STS Expiry",tooltip:'temporary credentials validity duration in s,m,h,d. Default is "1h"',type:"string",placeholder:"Enter STS Expiry"},{name:"tls_skip_verify",required:!1,label:"TLS Skip Verify",tooltip:'Trust server TLS without verification, defaults to "off" (verify)',type:"on|off"},{name:"server_insecure",required:!1,label:"Server Insecure",tooltip:'Allow plain text connection to AD/LDAP server, defaults to "off"',type:"on|off"},{name:"comment",required:!1,label:"Comment",tooltip:"Optionally add a comment to this setting",type:"comment",placeholder:"Enter Comment"}],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"}]},b=function(e){return e.filter((function(e){return""!==e.value}))},v=function(e,t,n){var i=e.target,o=i.value,a=i.checked,l=(0,r.Z)(n);return a?l.push(o):l=l.filter((function(e){return e!==o})),t(l),l}},12720:function(e,t,n){var r=n(64119);t.Z=void 0;var i=r(n(66830)),o=n(62559),a=(0,i.default)((0,o.jsx)("path",{d:"M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3v-3h18v3z"}),"CallToAction");t.Z=a},30578:function(e,t,n){var r=n(64119);t.Z=void 0;var i=r(n(66830)),o=n(62559),a=(0,i.default)((0,o.jsx)("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"}),"Code");t.Z=a},44229:function(e,t,n){var r=n(64119);t.Z=void 0;var i=r(n(66830)),o=n(62559),a=(0,i.default)((0,o.jsx)("path",{d:"M8 19h3v3h2v-3h3l-4-4-4 4zm8-15h-3V1h-2v3H8l4 4 4-4zM4 9v2h16V9H4zm0 3h16v2H4z"}),"Compress");t.Z=a},41845:function(e,t,n){var r=n(64119);t.Z=void 0;var i=r(n(66830)),o=n(62559),a=(0,i.default)((0,o.jsx)("path",{d:"M11 6c1.38 0 2.63.56 3.54 1.46L12 10h6V4l-2.05 2.05C14.68 4.78 12.93 4 11 4c-3.53 0-6.43 2.61-6.92 6H6.1c.46-2.28 2.48-4 4.9-4zm5.64 9.14c.66-.9 1.12-1.97 1.28-3.14H15.9c-.46 2.28-2.48 4-4.9 4-1.38 0-2.63-.56-3.54-1.46L10 12H4v6l2.05-2.05C7.32 17.22 9.07 18 11 18c1.55 0 2.98-.51 4.14-1.36L20 21.49 21.49 20l-4.85-4.86z"}),"FindReplace");t.Z=a},2494:function(e,t,n){var r=n(64119);t.Z=void 0;var i=r(n(66830)),o=n(62559),a=(0,i.default)((0,o.jsx)("path",{d:"M19 3H5c-1.1 0-1.99.9-1.99 2L3 19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 11h-4v4h-4v-4H6v-4h4V6h4v4h4v4z"}),"LocalHospital");t.Z=a},89173:function(e,t,n){var r=n(64119);t.Z=void 0;var i=r(n(66830)),o=n(62559),a=(0,i.default)((0,o.jsx)("path",{d:"M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6h1.9c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm0 12H6V10h12v10z"}),"LockOpen");t.Z=a},9639:function(e,t,n){var r=n(64119);t.Z=void 0;var i=r(n(66830)),o=n(62559),a=(0,i.default)((0,o.jsx)("path",{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"}),"Login");t.Z=a},84386:function(e,t,n){var r=n(64119);t.Z=void 0;var i=r(n(66830)),o=n(62559),a=(0,i.default)((0,o.jsx)("path",{d:"M17 12c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm1.65 7.35L16.5 17.2V14h1v2.79l1.85 1.85-.7.71zM18 3h-3.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H6c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2h6.11c-.59-.57-1.07-1.25-1.42-2H6V5h2v3h8V5h2v5.08c.71.1 1.38.31 2 .6V5c0-1.1-.9-2-2-2zm-6 2c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z"}),"PendingActions");t.Z=a},75012:function(e,t,n){var r=n(64119);t.Z=void 0;var i=r(n(66830)),o=n(62559),a=(0,i.default)((0,o.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"}),"Public");t.Z=a},58267:function(e,t,n){var r=n(64119);t.Z=void 0;var i=r(n(66830)),o=n(62559),a=(0,i.default)((0,o.jsx)("path",{d:"M18 2h-8L4.02 8 4 20c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-6 6h-2V4h2v4zm3 0h-2V4h2v4zm3 0h-2V4h2v4z"}),"SdStorage");t.Z=a},26068:function(e,t,n){var r=n(64119);t.Z=void 0;var i=r(n(66830)),o=n(62559),a=(0,i.default)((0,o.jsx)("path",{d:"M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"}),"VpnKey");t.Z=a},97227:function(e,t,n){n.d(t,{ZP:function(){return l},_i:function(){return c},uU:function(){return s},pQ:function(){return d}});var r=n(23430),i=n(50390),o=n(62559),a=i.createContext(null);function l(e){var t=e.children,n=e.value,l=function(){var e=i.useState(null),t=(0,r.Z)(e,2),n=t[0],o=t[1];return i.useEffect((function(){o("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),n}(),c=i.useMemo((function(){return{idPrefix:l,value:n}}),[l,n]);return(0,o.jsx)(a.Provider,{value:c,children:t})}function c(){return i.useContext(a)}function s(e,t){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(t)}function d(e,t){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(t)}},74564:function(e,t,n){var r=n(18207),i=n(46633),o=n(50390),a=n(98247),l=n(97227),c=n(62559),s=["children"],d=o.forwardRef((function(e,t){var n=e.children,d=(0,i.Z)(e,s),u=(0,l._i)();if(null===u)throw new TypeError("No TabContext provided");var p=o.Children.map(n,(function(e){return o.isValidElement(e)?o.cloneElement(e,{"aria-controls":(0,l.uU)(u,e.props.value),id:(0,l.pQ)(u,e.props.value)}):null}));return(0,c.jsx)(a.Z,(0,r.Z)({},d,{ref:t,value:u.value,children:p}))}));t.Z=d},669:function(e,t,n){n.d(t,{Z:function(){return g}});var r=n(18207),i=n(46633),o=n(50390),a=n(44977),l=n(8208),c=n(15573),s=n(50076),d=n(10594);function u(e){return(0,d.Z)("MuiTabPanel",e)}(0,n(43349).Z)("MuiTabPanel",["root"]);var p=n(97227),m=n(62559),h=["children","className","value"],f=(0,l.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,t){return t.root}})((function(e){return{padding:e.theme.spacing(3)}})),g=o.forwardRef((function(e,t){var n=(0,c.Z)({props:e,name:"MuiTabPanel"}),o=n.children,l=n.className,d=n.value,g=(0,i.Z)(n,h),x=(0,r.Z)({},n),b=function(e){var t=e.classes;return(0,s.Z)({root:["root"]},u,t)}(x),v=(0,p._i)();if(null===v)throw new TypeError("No TabContext provided");var y=(0,p.uU)(v,d),Z=(0,p.pQ)(v,d);return(0,m.jsx)(f,(0,r.Z)({"aria-labelledby":Z,className:(0,a.Z)(b.root,l),hidden:d!==v.value,id:y,ref:t,role:"tabpanel",ownerState:x},g,{children:d===v.value&&o}))}))}}]); -//# sourceMappingURL=4577.ee518ba9.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4577.ee518ba9.chunk.js.map b/portal-ui/build/static/js/4577.ee518ba9.chunk.js.map deleted file mode 100644 index 1452549c0..000000000 --- a/portal-ui/build/static/js/4577.ee518ba9.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/4577.ee518ba9.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/ScreenTitle/ScreenTitle.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Configurations/ConfigurationPanels/ConfigurationOptions.tsx","screens/Console/Configurations/utils.tsx","../node_modules/@mui/icons-material/CallToAction.js","../node_modules/@mui/icons-material/Code.js","../node_modules/@mui/icons-material/Compress.js","../node_modules/@mui/icons-material/FindReplace.js","../node_modules/@mui/icons-material/LocalHospital.js","../node_modules/@mui/icons-material/LockOpen.js","../node_modules/@mui/icons-material/Login.js","../node_modules/@mui/icons-material/PendingActions.js","../node_modules/@mui/icons-material/Public.js","../node_modules/@mui/icons-material/SdStorage.js","../node_modules/@mui/icons-material/VpnKey.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"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n

\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
\n {icon ?
{icon}
: null}\n
\n

{title}

\n {subTitle}\n
\n
\n\n
{actions}
\n
\n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\n","import React 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\";\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 [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\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, { 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, Redirect, Route, Router, Switch } from \"react-router-dom\";\nimport history from \"../../../../history\";\nimport VerticalTabs from \"../../Common/VerticalTabs/VerticalTabs\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport get from \"lodash/get\";\nimport ScreenTitle from \"../../Common/ScreenTitle/ScreenTitle\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\n\nconst ConfigurationForm = withSuspense(\n React.lazy(() => import(\"./ConfigurationForm\"))\n);\n\ninterface IConfigurationOptions {\n classes: any;\n match: 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, match }: IConfigurationOptions) => {\n const configurationName = get(match, \"url\", \"\");\n let selConfigTab = configurationName.substring(\n configurationName.lastIndexOf(\"/\") + 1\n );\n selConfigTab = selConfigTab === \"settings\" ? \"region\" : selConfigTab;\n\n return (\n \n \n\n \n \n \n } title={\"Configuration:\"} />\n \n \n {configurationElements.map((element) => (\n \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 SdStorageIcon from \"@mui/icons-material/SdStorage\";\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 LockOpenIcon from \"@mui/icons-material/LockOpen\";\nimport LoginIcon from \"@mui/icons-material/Login\";\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: \"cache\",\n configuration_label: \"Cache\",\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: \"identity_openid\",\n configuration_label: \"Identity Openid\",\n },\n {\n icon: ,\n configuration_id: \"identity_ldap\",\n configuration_label: \"Identity LDAP\",\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 Comment\",\n },\n ],\n cache: [\n {\n name: \"drives\",\n required: true,\n label: \"Drives\",\n tooltip:\n 'Mountpoints e.g. \"/optane1\" or \"/optane2\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Mount Point\",\n },\n {\n name: \"expiry\",\n required: false,\n label: \"Expiry\",\n tooltip: 'Cache expiry duration in days e.g. \"90\"',\n type: \"number\",\n placeholder: \"Enter Number of Days\",\n },\n {\n name: \"quota\",\n required: false,\n label: \"Quota\",\n tooltip: 'Limit cache drive usage in percentage e.g. \"90\"',\n type: \"number\",\n placeholder: \"Enter in %\",\n },\n {\n name: \"exclude\",\n required: false,\n label: \"Exclude\",\n tooltip:\n 'Wildcard exclusion patterns e.g. \"bucket/*.tmp\" or \"*.exe\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Wildcard Exclusion Patterns\",\n },\n {\n name: \"after\",\n required: false,\n label: \"After\",\n tooltip: \"Minimum number of access before caching an object\",\n type: \"number\",\n placeholder: \"Enter Number of Attempts\",\n },\n {\n name: \"watermark_low\",\n required: false,\n label: \"Watermark Low\",\n tooltip: \"Watermark Low\",\n type: \"number\",\n placeholder: \"Enter Watermark Low\",\n },\n {\n name: \"watermark_high\",\n required: false,\n label: \"Watermark High\",\n tooltip: \"Watermark High\",\n type: \"number\",\n placeholder: \"Enter Watermark High\",\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 Comment\",\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 Comment\",\n },\n ],\n identity_openid: [\n {\n name: \"config_url\",\n required: false,\n label: \"Config URL\",\n tooltip: \"Config URL for identity provider configuration\",\n type: \"string\",\n placeholder:\n \"https://identity-provider-url/.well-known/openid-configuration\",\n },\n {\n name: \"client_id\",\n required: false,\n label: \"Client ID\",\n type: \"string\",\n placeholder: \"Enter Client ID\",\n },\n {\n name: \"client_secret\",\n required: false,\n label: \"Secret ID\",\n type: \"string\",\n placeholder: \"Enter Secret ID\",\n },\n {\n name: \"claim_name\",\n required: false,\n label: \"Claim Name\",\n tooltip: \"Claim from which MinIO will read the policy or role to use\",\n type: \"string\",\n placeholder: \"Enter Claim Name\",\n },\n {\n name: \"claim_prefix\",\n required: false,\n label: \"Claim Prefix\",\n tooltip: \"Claim Prefix\",\n type: \"string\",\n placeholder: \"Enter Claim Prefix\",\n },\n {\n name: \"claim_userinfo\",\n required: false,\n label: \"Claim UserInfo\",\n type: \"on|off\",\n },\n {\n name: \"redirect_uri\",\n required: false,\n label: \"Redirect URI\",\n type: \"string\",\n placeholder: \"https://console-endpoint-url/oauth_callback\",\n },\n {\n name: \"scopes\",\n required: false,\n label: \"Scopes\",\n type: \"string\",\n placeholder: \"openid,profile,email\",\n },\n ],\n identity_ldap: [\n {\n name: \"server_addr\",\n required: true,\n label: \"Server Addr\",\n tooltip: 'AD/LDAP server address e.g. \"myldapserver.com:636\"',\n type: \"string\",\n placeholder: \"Enter Server Address\",\n },\n {\n name: \"username_format\",\n required: true,\n label: \"Username Format\",\n tooltip:\n 'List of username bind DNs e.g. \"uid=%s\",\"cn=accounts\",\"dc=myldapserver\" or \"dc=com\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Username Format\",\n },\n {\n name: \"username_search_filter\",\n required: true,\n label: \"Username Search Filter\",\n tooltip:\n 'User search filter, for example \"(cn=%s)\" or \"(sAMAccountName=%s)\" or \"(uid=%s)\"',\n type: \"string\",\n placeholder: \"Enter Username Search Filter\",\n },\n {\n name: \"group_search_filter\",\n required: true,\n label: \"Group Search Filter\",\n tooltip:\n 'Search filter for groups e.g. \"(&(objectclass=groupOfNames)(memberUid=%s))\"',\n type: \"string\",\n placeholder: \"Enter Group Search Filter\",\n },\n {\n name: \"username_search_base_dn\",\n required: false,\n label: \"Username Search Base DN\",\n tooltip: \"List of username search DNs, you can write one per field\",\n type: \"csv\",\n placeholder: \"Enter Username Search Base DN\",\n },\n {\n name: \"group_name_attribute\",\n required: false,\n label: \"Group Name Attribute\",\n tooltip: 'Search attribute for group name e.g. \"cn\"',\n type: \"string\",\n placeholder: \"Enter Group Name Attribute\",\n },\n {\n name: \"sts_expiry\",\n required: false,\n label: \"STS Expiry\",\n tooltip:\n 'temporary credentials validity duration in s,m,h,d. Default is \"1h\"',\n type: \"string\",\n placeholder: \"Enter STS Expiry\",\n },\n {\n name: \"tls_skip_verify\",\n required: false,\n label: \"TLS Skip Verify\",\n tooltip:\n 'Trust server TLS without verification, defaults to \"off\" (verify)',\n type: \"on|off\",\n },\n {\n name: \"server_insecure\",\n required: false,\n label: \"Server Insecure\",\n tooltip:\n 'Allow plain text connection to AD/LDAP server, defaults to \"off\"',\n type: \"on|off\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"Optionally add a comment to this setting\",\n type: \"comment\",\n placeholder: \"Enter Comment\",\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 = (e: React.ChangeEvent, setSelectedSAs : Function, selectedSAs : string[]) => {\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","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3v-3h18v3z\"\n}), 'CallToAction');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z\"\n}), 'Code');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M8 19h3v3h2v-3h3l-4-4-4 4zm8-15h-3V1h-2v3H8l4 4 4-4zM4 9v2h16V9H4zm0 3h16v2H4z\"\n}), 'Compress');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11 6c1.38 0 2.63.56 3.54 1.46L12 10h6V4l-2.05 2.05C14.68 4.78 12.93 4 11 4c-3.53 0-6.43 2.61-6.92 6H6.1c.46-2.28 2.48-4 4.9-4zm5.64 9.14c.66-.9 1.12-1.97 1.28-3.14H15.9c-.46 2.28-2.48 4-4.9 4-1.38 0-2.63-.56-3.54-1.46L10 12H4v6l2.05-2.05C7.32 17.22 9.07 18 11 18c1.55 0 2.98-.51 4.14-1.36L20 21.49 21.49 20l-4.85-4.86z\"\n}), 'FindReplace');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 3H5c-1.1 0-1.99.9-1.99 2L3 19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 11h-4v4h-4v-4H6v-4h4V6h4v4h4v4z\"\n}), 'LocalHospital');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6h1.9c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm0 12H6V10h12v10z\"\n}), 'LockOpen');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"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');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M17 12c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm1.65 7.35L16.5 17.2V14h1v2.79l1.85 1.85-.7.71zM18 3h-3.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H6c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2h6.11c-.59-.57-1.07-1.25-1.42-2H6V5h2v3h8V5h2v5.08c.71.1 1.38.31 2 .6V5c0-1.1-.9-2-2-2zm-6 2c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z\"\n}), 'PendingActions');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z\"\n}), 'Public');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M18 2h-8L4.02 8 4 20c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-6 6h-2V4h2v4zm3 0h-2V4h2v4zm3 0h-2V4h2v4z\"\n}), 'SdStorage');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"\n}), 'VpnKey');\n\nexports.default = _default;","import * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;"],"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","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","pageContentStyles","children","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","label","justifyContent","labelStyle","color","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","actions","direction","sm","md","sx","variant","length","component","onClick","size","headerBarIcon","headerBarSubheader","maxWidth","screenTitle","padding","borderBottom","flexFlow","titleColumn","rightItems","icon","subTitle","style","margin","tabStripStyle","tabsContainer","tabsHeaderContainer","background","borderRight","tabContentContainer","tabPanel","flexDirection","selectedTab","routes","isRouteTabs","React","value","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","forEach","child","push","tabConfig","content","onChange","event","newValue","orientation","scrollButtons","tabList","map","index","tabHeader","disableRipple","disableTouchRipple","focusRipple","ConfigurationForm","withSuspense","settingsOptionsContainer","flexWrap","searchField","actionsTray","containerForHeader","spacing","match","configurationName","get","selConfigTab","substring","lastIndexOf","Fragment","id","history","configurationElements","element","exact","path","IAM_PAGES","configuration_id","configuration_label","to","Link","href","target","rel","fieldsConfigurations","region","name","required","tooltip","type","placeholder","cache","multiline","compression","withBorder","api","heal","scanner","etcd","identity_openid","identity_ldap","logger_webhook","audit_webhook","removeEmptyFields","formFields","filter","field","selectSAs","e","setSelectedSAs","selectedSAs","targetD","checked","elements","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","Context","TabContext","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","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","clsx","hidden","role"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4745.00dcce39.chunk.js.map b/portal-ui/build/static/js/4745.00dcce39.chunk.js.map deleted file mode 100644 index 6bb62c330..000000000 --- a/portal-ui/build/static/js/4745.00dcce39.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/4745.00dcce39.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({ to, label, classes, className, executeOnClick }: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\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\";\n\ntype TierTypeCardProps = {\n onClick: (name: string) => void;\n icon?: any;\n name: string;\n};\nconst TierTypeCard = ({ onClick, icon, name }: TierTypeCardProps) => {\n return (\n {\n onClick(name);\n }}\n >\n {icon ? (\n \n {icon}\n \n ) : null}\n\n \n {name}\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\";\n\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport { tierTypes } from \"./utils\";\nimport BackLink from \"../../../../common/BackLink\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport { Box } from \"@mui/material\";\nimport TierTypeCard from \"./TierTypeCard\";\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\n\ninterface ITypeTiersConfig {\n history: any;\n}\n\nconst TierTypeSelector = ({ history }: ITypeTiersConfig) => {\n const typeSelect = (selectName: string) => {\n history.push(`${IAM_PAGES.TIERS_ADD}/${selectName}`);\n };\n\n return (\n \n \n \n\n \n \n
\n Select Tier Type\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 GoogleTierIcon,\n MinIOTierIcon,\n MinIOTierIconXs,\n S3TierIcon,\n GoogleTierIconXs,\n S3TierIconXs,\n AzureTierIconXs,\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","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","pageContentStyles","children","contentSpacer","container","item","xs","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","backgroundColor","left","boxShadow","labelStyle","fontWeight","marginLeft","marginTop","rightMenu","textAlign","logo","fill","main","middleComponent","actions","direction","sm","md","sx","paddingTop","variant","length","component","size","name","style","background","border","borderRadius","cursor","Box","height","history","Fragment","PageHeader","BackLink","IAM_PAGES","PageLayout","paddingBottom","margin","gridGap","gridTemplateColumns","lg","tierTypes","tierType","index","targetTitle","selectName","serviceName","push","toString","minioServiceName","gcsServiceName","s3ServiceName","azureServiceName","logoXs"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4745.00dcce39.chunk.js b/portal-ui/build/static/js/4745.50faf863.chunk.js similarity index 95% rename from portal-ui/build/static/js/4745.00dcce39.chunk.js rename to portal-ui/build/static/js/4745.50faf863.chunk.js index 56aef5471..190fe3b19 100644 --- a/portal-ui/build/static/js/4745.00dcce39.chunk.js +++ b/portal-ui/build/static/js/4745.50faf863.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4745],{29316:function(e,n,t){t(50390);var r=t(6369),i=t(86509),a=t(4285),o=t(11387),s=t(62559);n.Z=(0,a.Z)((function(e){return(0,i.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var n=e.to,t=e.label,i=e.classes,a=e.className,l=e.executeOnClick;return(0,s.jsxs)(r.rU,{to:n,className:"".concat(i.link," ").concat(a||""),onClick:function(){l&&l()},children:[(0,s.jsx)("div",{className:i.icon,children:(0,s.jsx)(o.xN,{})}),(0,s.jsx)("div",{className:i.label,children:t})]})}))},25534:function(e,n,t){var r=t(18489),i=(t(50390),t(25594)),a=t(86509),o=t(4285),s=t(72462),l=t(62559);n.Z=(0,o.Z)((function(e){return(0,a.Z)((0,r.Z)({},s.Bw))}))((function(e){var n=e.classes,t=e.className,r=void 0===t?"":t,a=e.children;return(0,l.jsx)("div",{className:n.contentSpacer,children:(0,l.jsx)(i.ZP,{container:!0,children:(0,l.jsx)(i.ZP,{item:!0,xs:12,className:r,children:a})})})}))},35721:function(e,n,t){t(50390);var r=t(34424),i=t(25594),a=t(86509),o=t(4285),s=t(35477),l=t(95467),c=t(26805),d=t(44078),m=t(5265),g=t(11387),x=t(62559),u={toggleList:m.kQ},p=(0,r.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),u);n.Z=p((0,o.Z)((function(e){return(0,a.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,r=e.actions,a=e.sidebarOpen,o=e.operatorMode,m=e.managerObjects,u=e.toggleList,p=e.middleComponent;return(0,x.jsxs)(i.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,x.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!a&&(0,x.jsx)("div",{className:n.logo,children:o?(0,x.jsx)(c.Z,{}):(0,x.jsx)(d.Z,{})}),(0,x.jsx)(s.Z,{variant:"h4",className:n.labelStyle,children:t})]}),p&&(0,x.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:p}),(0,x.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:n.rightMenu,children:[r&&r,m&&m.length>0&&(0,x.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){u()},size:"large",children:(0,x.jsx)(g.gx,{})})]})]})})))},14745:function(e,n,t){t.r(n),t.d(n,{default:function(){return g}});var r=t(50390),i=t(35721),a=t(51444),o=t(29316),s=t(25534),l=t(56805),c=t(62559),d=function(e){var n=e.onClick,t=e.icon,r=e.name;return(0,c.jsxs)("button",{style:{display:"flex",alignItems:"center",justifyContent:"flex-start",padding:10,background:"transparent",border:"1px solid #E5E5E5",borderRadius:2,cursor:"pointer"},onClick:function(){n(r)},children:[t?(0,c.jsx)(l.Z,{sx:{"& .min-icon":{height:"60px",width:"60px"}},children:t}):null,(0,c.jsx)("div",{style:{fontWeight:600,marginLeft:20},children:r})]})},m=t(49495),g=function(e){var n=e.history;return(0,c.jsxs)(r.Fragment,{children:[(0,c.jsx)(i.Z,{label:"Tier Configuration"}),(0,c.jsx)(o.Z,{to:m.gA.TIERS,label:"Return to Configured Tiers"}),(0,c.jsx)(s.Z,{children:(0,c.jsxs)(l.Z,{sx:{border:"1px solid #eaeaea",padding:"40px"},children:[(0,c.jsx)("div",{style:{fontSize:16,fontWeight:600,paddingBottom:15},children:"Select Tier Type"}),(0,c.jsx)(l.Z,{sx:{margin:"0 auto",display:"grid",gridGap:"47px",gridTemplateColumns:{xs:"repeat(1, 1fr)",sm:"repeat(2, 1fr)",md:"repeat(3, 1fr)",lg:"repeat(4, 1fr)"}},children:a.Bh.map((function(e,t){return(0,c.jsx)(d,{name:e.targetTitle,onClick:function(){var t;t=e.serviceName,n.push("".concat(m.gA.TIERS_ADD,"/").concat(t))},icon:e.logo},"tierOpt-".concat(t.toString,"-").concat(e.targetTitle))}))})]})})]})}},51444:function(e,n,t){t.d(n,{Pp:function(){return a},f0:function(){return o},b2:function(){return s},vB:function(){return l},Bh:function(){return c}});var r=t(11387),i=t(62559),a="minio",o="gcs",s="s3",l="azure",c=[{serviceName:a,targetTitle:"MinIO",logo:(0,i.jsx)(r.$E,{}),logoXs:(0,i.jsx)(r.YE,{})},{serviceName:o,targetTitle:"Google Cloud Storage",logo:(0,i.jsx)(r.UQ,{}),logoXs:(0,i.jsx)(r.Vw,{})},{serviceName:s,targetTitle:"AWS S3",logo:(0,i.jsx)(r.fe,{}),logoXs:(0,i.jsx)(r.Xj,{})},{serviceName:l,targetTitle:"Azure",logo:(0,i.jsx)(r.jz,{}),logoXs:(0,i.jsx)(r.nA,{})}]}}]); -//# sourceMappingURL=4745.00dcce39.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4745],{29316:function(e,n,t){t(50390);var r=t(6369),i=t(86509),a=t(4285),o=t(98280),s=t(62559);n.Z=(0,a.Z)((function(e){return(0,i.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var n=e.to,t=e.label,i=e.classes,a=e.className,l=e.executeOnClick;return(0,s.jsxs)(r.rU,{to:n,className:"".concat(i.link," ").concat(a||""),onClick:function(){l&&l()},children:[(0,s.jsx)("div",{className:i.icon,children:(0,s.jsx)(o.xN,{})}),(0,s.jsx)("div",{className:i.label,children:t})]})}))},25534:function(e,n,t){var r=t(18489),i=(t(50390),t(25594)),a=t(86509),o=t(4285),s=t(72462),l=t(62559);n.Z=(0,o.Z)((function(e){return(0,a.Z)((0,r.Z)({},s.Bw))}))((function(e){var n=e.classes,t=e.className,r=void 0===t?"":t,a=e.children;return(0,l.jsx)("div",{className:n.contentSpacer,children:(0,l.jsx)(i.ZP,{container:!0,children:(0,l.jsx)(i.ZP,{item:!0,xs:12,className:r,children:a})})})}))},35721:function(e,n,t){t(50390);var r=t(34424),i=t(25594),a=t(86509),o=t(4285),s=t(35477),l=t(95467),c=t(26805),d=t(44078),m=t(5265),g=t(98280),x=t(62559),u={toggleList:m.kQ},p=(0,r.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),u);n.Z=p((0,o.Z)((function(e){return(0,a.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,r=e.actions,a=e.sidebarOpen,o=e.operatorMode,m=e.managerObjects,u=e.toggleList,p=e.middleComponent;return(0,x.jsxs)(i.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,x.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!a&&(0,x.jsx)("div",{className:n.logo,children:o?(0,x.jsx)(c.Z,{}):(0,x.jsx)(d.Z,{})}),(0,x.jsx)(s.Z,{variant:"h4",className:n.labelStyle,children:t})]}),p&&(0,x.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:p}),(0,x.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:n.rightMenu,children:[r&&r,m&&m.length>0&&(0,x.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){u()},size:"large",children:(0,x.jsx)(g.gx,{})})]})]})})))},14745:function(e,n,t){t.r(n),t.d(n,{default:function(){return g}});var r=t(50390),i=t(35721),a=t(51444),o=t(29316),s=t(25534),l=t(56805),c=t(62559),d=function(e){var n=e.onClick,t=e.icon,r=e.name;return(0,c.jsxs)("button",{style:{display:"flex",alignItems:"center",justifyContent:"flex-start",padding:10,background:"transparent",border:"1px solid #E5E5E5",borderRadius:2,cursor:"pointer"},onClick:function(){n(r)},children:[t?(0,c.jsx)(l.Z,{sx:{"& .min-icon":{height:"60px",width:"60px"}},children:t}):null,(0,c.jsx)("div",{style:{fontWeight:600,marginLeft:20},children:r})]})},m=t(49495),g=function(e){var n=e.history;return(0,c.jsxs)(r.Fragment,{children:[(0,c.jsx)(i.Z,{label:"Tier Configuration"}),(0,c.jsx)(o.Z,{to:m.gA.TIERS,label:"Return to Configured Tiers"}),(0,c.jsx)(s.Z,{children:(0,c.jsxs)(l.Z,{sx:{border:"1px solid #eaeaea",padding:"40px"},children:[(0,c.jsx)("div",{style:{fontSize:16,fontWeight:600,paddingBottom:15},children:"Select Tier Type"}),(0,c.jsx)(l.Z,{sx:{margin:"0 auto",display:"grid",gridGap:"47px",gridTemplateColumns:{xs:"repeat(1, 1fr)",sm:"repeat(2, 1fr)",md:"repeat(3, 1fr)",lg:"repeat(4, 1fr)"}},children:a.Bh.map((function(e,t){return(0,c.jsx)(d,{name:e.targetTitle,onClick:function(){var t;t=e.serviceName,n.push("".concat(m.gA.TIERS_ADD,"/").concat(t))},icon:e.logo},"tierOpt-".concat(t.toString,"-").concat(e.targetTitle))}))})]})})]})}},51444:function(e,n,t){t.d(n,{Pp:function(){return a},f0:function(){return o},b2:function(){return s},vB:function(){return l},Bh:function(){return c}});var r=t(98280),i=t(62559),a="minio",o="gcs",s="s3",l="azure",c=[{serviceName:a,targetTitle:"MinIO",logo:(0,i.jsx)(r.$E,{}),logoXs:(0,i.jsx)(r.YE,{})},{serviceName:o,targetTitle:"Google Cloud Storage",logo:(0,i.jsx)(r.UQ,{}),logoXs:(0,i.jsx)(r.Vw,{})},{serviceName:s,targetTitle:"AWS S3",logo:(0,i.jsx)(r.fe,{}),logoXs:(0,i.jsx)(r.Xj,{})},{serviceName:l,targetTitle:"Azure",logo:(0,i.jsx)(r.jz,{}),logoXs:(0,i.jsx)(r.nA,{})}]}}]); +//# sourceMappingURL=4745.50faf863.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4745.50faf863.chunk.js.map b/portal-ui/build/static/js/4745.50faf863.chunk.js.map new file mode 100644 index 000000000..219eefa1f --- /dev/null +++ b/portal-ui/build/static/js/4745.50faf863.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4745.50faf863.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\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\";\n\ntype TierTypeCardProps = {\n onClick: (name: string) => void;\n icon?: any;\n name: string;\n};\nconst TierTypeCard = ({ onClick, icon, name }: TierTypeCardProps) => {\n return (\n {\n onClick(name);\n }}\n >\n {icon ? (\n \n {icon}\n \n ) : null}\n\n \n {name}\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\";\n\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport { tierTypes } from \"./utils\";\nimport BackLink from \"../../../../common/BackLink\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport { Box } from \"@mui/material\";\nimport TierTypeCard from \"./TierTypeCard\";\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\n\ninterface ITypeTiersConfig {\n history: any;\n}\n\nconst TierTypeSelector = ({ history }: ITypeTiersConfig) => {\n const typeSelect = (selectName: string) => {\n history.push(`${IAM_PAGES.TIERS_ADD}/${selectName}`);\n };\n\n return (\n \n \n \n\n \n \n
\n Select Tier Type\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 GoogleTierIcon,\n MinIOTierIcon,\n MinIOTierIconXs,\n S3TierIcon,\n GoogleTierIconXs,\n S3TierIconXs,\n AzureTierIconXs,\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","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","pageContentStyles","children","contentSpacer","container","item","xs","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","backgroundColor","left","boxShadow","labelStyle","fontWeight","marginLeft","marginTop","rightMenu","textAlign","logo","fill","main","middleComponent","actions","direction","sm","md","sx","paddingTop","variant","length","component","size","name","style","background","border","borderRadius","cursor","Box","height","history","Fragment","PageHeader","BackLink","IAM_PAGES","PageLayout","paddingBottom","margin","gridGap","gridTemplateColumns","lg","tierTypes","tierType","index","targetTitle","selectName","serviceName","push","toString","minioServiceName","gcsServiceName","s3ServiceName","azureServiceName","logoXs"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4818.65ba088c.chunk.js b/portal-ui/build/static/js/4818.7391a4e4.chunk.js similarity index 98% rename from portal-ui/build/static/js/4818.65ba088c.chunk.js rename to portal-ui/build/static/js/4818.7391a4e4.chunk.js index 4d0e2bf8d..dad32083e 100644 --- a/portal-ui/build/static/js/4818.65ba088c.chunk.js +++ b/portal-ui/build/static/js/4818.7391a4e4.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4818],{66964:function(e,t,o){var n=o(18489),a=o(50390),i=o(12066),r=o(25594),c=o(14602),l=o(94187),s=o(95467),d=o(86509),u=o(62449),h=o(4285),m=o(72462),p=o(97538),Z=o(44977),v=o(62559),f=(0,u.Z)((function(e){return(0,d.Z)((0,n.Z)({},m.gM))}));function b(e){var t=f();return(0,v.jsx)(i.Z,(0,n.Z)({InputProps:{classes:t}},e))}t.Z=(0,h.Z)((function(e){return(0,d.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,n.Z)((0,n.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,o=e.onChange,i=e.value,d=e.id,u=e.name,h=e.type,m=void 0===h?"text":h,f=e.autoComplete,x=void 0===f?"off":f,g=e.disabled,w=void 0!==g&&g,k=e.multiline,j=void 0!==k&&k,S=e.tooltip,y=void 0===S?"":S,C=e.index,N=void 0===C?0:C,P=e.error,R=void 0===P?"":P,M=e.required,z=void 0!==M&&M,I=e.placeholder,F=void 0===I?"":I,B=e.min,E=e.max,L=e.overlayIcon,A=void 0===L?null:L,G=e.overlayObject,T=void 0===G?null:G,O=e.extraInputProps,U=void 0===O?{}:O,W=e.overlayAction,D=e.noLabelMinWidth,_=void 0!==D&&D,q=e.pattern,H=void 0===q?"":q,X=e.autoFocus,Y=void 0!==X&&X,$=e.classes,K=e.className,V=void 0===K?"":K,J=(0,n.Z)({"data-index":N},U);return"number"===m&&B&&(J.min=B),"number"===m&&E&&(J.max=E),""!==H&&(J.pattern=H),(0,v.jsx)(a.Fragment,{children:(0,v.jsxs)(r.ZP,{container:!0,className:(0,Z.Z)(""!==V?V:"",""!==R?$.errorInField:$.inputBoxContainer),children:[""!==t&&(0,v.jsxs)(c.Z,{htmlFor:d,className:_?$.noMinWidthLabel:$.inputLabel,children:[(0,v.jsxs)("span",{children:[t,z?"*":""]}),""!==y&&(0,v.jsx)("div",{className:$.tooltipContainer,children:(0,v.jsx)(l.Z,{title:y,placement:"top-start",children:(0,v.jsx)("div",{className:$.tooltip,children:(0,v.jsx)(p.Z,{})})})})]}),(0,v.jsxs)("div",{className:$.textBoxContainer,children:[(0,v.jsx)(b,{id:d,name:u,fullWidth:!0,value:i,autoFocus:Y,disabled:w,onChange:o,type:m,multiline:j,autoComplete:x,inputProps:J,error:""!==R,helperText:R,placeholder:F,className:$.inputRebase}),A&&(0,v.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,v.jsx)(s.Z,{onClick:W?function(){W()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:A})}),T&&(0,v.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==t?"withLabel":""),children:T})]})]})})}))},39251:function(e,t,o){o.r(t);var n=o(23430),a=o(18489),i=o(50390),r=o(34424),c=o(86509),l=o(4285),s=o(66946),d=o(81378),u=o(25594),h=o(72462),m=o(44149),p=o(30324),Z=o(71094),v=o(76352),f=o(66964),b=o(92440),x=o(50280),g=o(11387),w=o(62559),k={setModalErrorSnackMessage:m.zb},j=(0,r.$j)(null,k);t.default=(0,l.Z)((function(e){return(0,c.Z)((0,a.Z)((0,a.Z)((0,a.Z)({buttonContainer:{textAlign:"right"},userSelector:{"& .MuiPaper-root":{padding:0,marginBottom:15}}},h.DF),h.bK),h.ID))}))(j((function(e){var t=e.open,o=e.selectedGroup,a=e.closeModalAndRefresh,r=e.classes,c=e.setModalErrorSnackMessage,l=(0,i.useState)(""),h=(0,n.Z)(l,2),m=h[0],k=h[1],j=(0,i.useState)(!1),S=(0,n.Z)(j,2),y=S[0],C=S[1],N=(0,i.useState)(!1),P=(0,n.Z)(N,2),R=P[0],M=P[1],z=(0,i.useState)([]),I=(0,n.Z)(z,2),F=I[0],B=I[1],E=(0,i.useState)(!1),L=(0,n.Z)(E,2),A=L[0],G=L[1],T=(0,i.useState)(!1),O=(0,n.Z)(T,2),U=O[0],W=O[1];(0,i.useEffect)((function(){null!==o?G(!0):(k(""),B([]))}),[o]),(0,i.useEffect)((function(){W(""!==m.trim())}),[m,F]),(0,i.useEffect)((function(){if(R){null!==o?p.Z.invoke("PUT","/api/v1/group?name=".concat(encodeURI(m)),{group:m,members:F,status:y?"enabled":"disabled"}).then((function(e){M(!1),a()})).catch((function(e){M(!1),c(e)})):p.Z.invoke("POST","/api/v1/groups",{group:m,members:F}).then((function(e){M(!1),a()})).catch((function(e){M(!1),c(e)}))}}),[R,m,F,y,o,a,c]),(0,i.useEffect)((function(){if(o&&A){p.Z.invoke("GET","/api/v1/group?name=".concat(encodeURI(o))).then((function(e){C("enabled"===e.status),k(e.name),B(e.members)})).catch((function(e){c(e),G(!1)}))}}),[A,o,c]);return(0,w.jsxs)(v.Z,{modalOpen:t,onClose:a,title:null!==o?"Edit Group":"Create Group",titleIcon:(0,w.jsx)(g.ye,{}),children:[null!==o&&(0,w.jsx)("div",{className:r.floatingEnabled,children:(0,w.jsx)(b.Z,{indicatorLabels:["Enabled","Disabled"],checked:y,value:"group_enabled",id:"group-status",name:"group-status",onChange:function(e){C(e.target.checked)},switchOnly:!0})}),(0,w.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),M(!0)},children:(0,w.jsxs)(u.ZP,{container:!0,children:[(0,w.jsxs)(u.ZP,{item:!0,xs:12,className:r.modalFormScrollable,children:[null===o?(0,w.jsx)(u.ZP,{item:!0,xs:12,className:r.formFieldRow,children:(0,w.jsx)(f.Z,{id:"group-name",name:"group-name",label:"Group Name",autoFocus:!0,value:m,onChange:function(e){k(e.target.value)}})}):(0,w.jsx)(u.ZP,{item:!0,xs:12,className:r.formFieldRow,children:(0,w.jsx)(x.Z,{label:"Group Name",content:o})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:r.userSelector,children:(0,w.jsx)(Z.Z,{selectedUsers:F,setSelectedUsers:B,editMode:null!==o})})]}),(0,w.jsxs)(u.ZP,{item:!0,xs:12,className:r.buttonContainer,children:[(0,w.jsx)(s.Z,{type:"button",variant:"outlined",color:"primary",className:r.spacerRight,onClick:function(){null===o&&k(""),B([])},children:"Clear"}),(0,w.jsx)(s.Z,{type:"submit",variant:"contained",color:"primary",disabled:R||!U,children:"Save"})]}),R&&(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(d.Z,{})})]})})]})})))},49056:function(e,t,o){o.d(t,{Z:function(){return j}});var n=o(36222),a=o(1048),i=o(32793),r=o(50390),c=o(44977),l=o(50076),s=o(36128),d=o(91442),u=o(16756),h=o(15573),m=o(8208),p=o(10594);function Z(e){return(0,p.Z)("MuiSwitch",e)}var v=(0,o(43349).Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),f=o(62559),b=["className","color","edge","size","sx"],x=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(e,t){var o=e.ownerState;return[t.root,o.edge&&t["edge".concat((0,d.Z)(o.edge))],t["size".concat((0,d.Z)(o.size))]]}})((function(e){var t,o=e.ownerState;return(0,i.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===o.edge&&{marginLeft:-8},"end"===o.edge&&{marginRight:-8},"small"===o.size&&(t={width:40,height:24,padding:7},(0,n.Z)(t,"& .".concat(v.thumb),{width:16,height:16}),(0,n.Z)(t,"& .".concat(v.switchBase),(0,n.Z)({padding:4},"&.".concat(v.checked),{transform:"translateX(16px)"})),t))})),g=(0,m.ZP)(u.Z,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(e,t){var o=e.ownerState;return[t.switchBase,(0,n.Z)({},"& .".concat(v.input),t.input),"default"!==o.color&&t["color".concat((0,d.Z)(o.color))]]}})((function(e){var t,o=e.theme;return t={position:"absolute",top:0,left:0,zIndex:1,color:"light"===o.palette.mode?o.palette.common.white:o.palette.grey[300],transition:o.transitions.create(["left","transform"],{duration:o.transitions.duration.shortest})},(0,n.Z)(t,"&.".concat(v.checked),{transform:"translateX(20px)"}),(0,n.Z)(t,"&.".concat(v.disabled),{color:"light"===o.palette.mode?o.palette.grey[100]:o.palette.grey[600]}),(0,n.Z)(t,"&.".concat(v.checked," + .").concat(v.track),{opacity:.5}),(0,n.Z)(t,"&.".concat(v.disabled," + .").concat(v.track),{opacity:"light"===o.palette.mode?.12:.2}),(0,n.Z)(t,"& .".concat(v.input),{left:"-100%",width:"300%"}),t}),(function(e){var t,o=e.theme,a=e.ownerState;return(0,i.Z)({"&:hover":{backgroundColor:(0,s.Fq)(o.palette.action.active,o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==a.color&&(t={},(0,n.Z)(t,"&.".concat(v.checked),(0,n.Z)({color:o.palette[a.color].main,"&:hover":{backgroundColor:(0,s.Fq)(o.palette[a.color].main,o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(v.disabled),{color:"light"===o.palette.mode?(0,s.$n)(o.palette[a.color].main,.62):(0,s._j)(o.palette[a.color].main,.55)})),(0,n.Z)(t,"&.".concat(v.checked," + .").concat(v.track),{backgroundColor:o.palette[a.color].main}),t))})),w=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(e,t){return t.track}})((function(e){var t=e.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:"light"===t.palette.mode?t.palette.common.black:t.palette.common.white,opacity:"light"===t.palette.mode?.38:.3}})),k=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(e,t){return t.thumb}})((function(e){return{boxShadow:e.theme.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),j=r.forwardRef((function(e,t){var o=(0,h.Z)({props:e,name:"MuiSwitch"}),n=o.className,r=o.color,s=void 0===r?"primary":r,u=o.edge,m=void 0!==u&&u,p=o.size,v=void 0===p?"medium":p,j=o.sx,S=(0,a.Z)(o,b),y=(0,i.Z)({},o,{color:s,edge:m,size:v}),C=function(e){var t=e.classes,o=e.edge,n=e.size,a=e.color,r=e.checked,c=e.disabled,s={root:["root",o&&"edge".concat((0,d.Z)(o)),"size".concat((0,d.Z)(n))],switchBase:["switchBase","color".concat((0,d.Z)(a)),r&&"checked",c&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},u=(0,l.Z)(s,Z,t);return(0,i.Z)({},t,u)}(y),N=(0,f.jsx)(k,{className:C.thumb,ownerState:y});return(0,f.jsxs)(x,{className:(0,c.Z)(C.root,n),sx:j,ownerState:y,children:[(0,f.jsx)(g,(0,i.Z)({type:"checkbox",icon:N,checkedIcon:N,ref:t,ownerState:y},S,{classes:(0,i.Z)({},C,{root:C.switchBase})})),(0,f.jsx)(w,{className:C.track,ownerState:y})]})}))}}]); -//# sourceMappingURL=4818.65ba088c.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4818],{66964:function(e,t,o){var n=o(18489),a=o(50390),i=o(12066),r=o(25594),c=o(36554),l=o(94187),s=o(95467),d=o(86509),u=o(62449),h=o(4285),m=o(72462),p=o(97538),Z=o(44977),v=o(62559),f=(0,u.Z)((function(e){return(0,d.Z)((0,n.Z)({},m.gM))}));function b(e){var t=f();return(0,v.jsx)(i.Z,(0,n.Z)({InputProps:{classes:t}},e))}t.Z=(0,h.Z)((function(e){return(0,d.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,n.Z)((0,n.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,o=e.onChange,i=e.value,d=e.id,u=e.name,h=e.type,m=void 0===h?"text":h,f=e.autoComplete,x=void 0===f?"off":f,g=e.disabled,w=void 0!==g&&g,k=e.multiline,j=void 0!==k&&k,S=e.tooltip,y=void 0===S?"":S,C=e.index,N=void 0===C?0:C,P=e.error,R=void 0===P?"":P,M=e.required,z=void 0!==M&&M,I=e.placeholder,F=void 0===I?"":I,B=e.min,E=e.max,L=e.overlayIcon,A=void 0===L?null:L,G=e.overlayObject,T=void 0===G?null:G,O=e.extraInputProps,U=void 0===O?{}:O,W=e.overlayAction,D=e.noLabelMinWidth,_=void 0!==D&&D,q=e.pattern,H=void 0===q?"":q,X=e.autoFocus,Y=void 0!==X&&X,$=e.classes,K=e.className,V=void 0===K?"":K,J=(0,n.Z)({"data-index":N},U);return"number"===m&&B&&(J.min=B),"number"===m&&E&&(J.max=E),""!==H&&(J.pattern=H),(0,v.jsx)(a.Fragment,{children:(0,v.jsxs)(r.ZP,{container:!0,className:(0,Z.Z)(""!==V?V:"",""!==R?$.errorInField:$.inputBoxContainer),children:[""!==t&&(0,v.jsxs)(c.Z,{htmlFor:d,className:_?$.noMinWidthLabel:$.inputLabel,children:[(0,v.jsxs)("span",{children:[t,z?"*":""]}),""!==y&&(0,v.jsx)("div",{className:$.tooltipContainer,children:(0,v.jsx)(l.Z,{title:y,placement:"top-start",children:(0,v.jsx)("div",{className:$.tooltip,children:(0,v.jsx)(p.Z,{})})})})]}),(0,v.jsxs)("div",{className:$.textBoxContainer,children:[(0,v.jsx)(b,{id:d,name:u,fullWidth:!0,value:i,autoFocus:Y,disabled:w,onChange:o,type:m,multiline:j,autoComplete:x,inputProps:J,error:""!==R,helperText:R,placeholder:F,className:$.inputRebase}),A&&(0,v.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,v.jsx)(s.Z,{onClick:W?function(){W()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:A})}),T&&(0,v.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==t?"withLabel":""),children:T})]})]})})}))},39251:function(e,t,o){o.r(t);var n=o(23430),a=o(18489),i=o(50390),r=o(34424),c=o(86509),l=o(4285),s=o(66946),d=o(81378),u=o(25594),h=o(72462),m=o(44149),p=o(30324),Z=o(71094),v=o(76352),f=o(66964),b=o(92440),x=o(50280),g=o(98280),w=o(62559),k={setModalErrorSnackMessage:m.zb},j=(0,r.$j)(null,k);t.default=(0,l.Z)((function(e){return(0,c.Z)((0,a.Z)((0,a.Z)((0,a.Z)({buttonContainer:{textAlign:"right"},userSelector:{"& .MuiPaper-root":{padding:0,marginBottom:15}}},h.DF),h.bK),h.ID))}))(j((function(e){var t=e.open,o=e.selectedGroup,a=e.closeModalAndRefresh,r=e.classes,c=e.setModalErrorSnackMessage,l=(0,i.useState)(""),h=(0,n.Z)(l,2),m=h[0],k=h[1],j=(0,i.useState)(!1),S=(0,n.Z)(j,2),y=S[0],C=S[1],N=(0,i.useState)(!1),P=(0,n.Z)(N,2),R=P[0],M=P[1],z=(0,i.useState)([]),I=(0,n.Z)(z,2),F=I[0],B=I[1],E=(0,i.useState)(!1),L=(0,n.Z)(E,2),A=L[0],G=L[1],T=(0,i.useState)(!1),O=(0,n.Z)(T,2),U=O[0],W=O[1];(0,i.useEffect)((function(){null!==o?G(!0):(k(""),B([]))}),[o]),(0,i.useEffect)((function(){W(""!==m.trim())}),[m,F]),(0,i.useEffect)((function(){if(R){null!==o?p.Z.invoke("PUT","/api/v1/group?name=".concat(encodeURI(m)),{group:m,members:F,status:y?"enabled":"disabled"}).then((function(e){M(!1),a()})).catch((function(e){M(!1),c(e)})):p.Z.invoke("POST","/api/v1/groups",{group:m,members:F}).then((function(e){M(!1),a()})).catch((function(e){M(!1),c(e)}))}}),[R,m,F,y,o,a,c]),(0,i.useEffect)((function(){if(o&&A){p.Z.invoke("GET","/api/v1/group?name=".concat(encodeURI(o))).then((function(e){C("enabled"===e.status),k(e.name),B(e.members)})).catch((function(e){c(e),G(!1)}))}}),[A,o,c]);return(0,w.jsxs)(v.Z,{modalOpen:t,onClose:a,title:null!==o?"Edit Group":"Create Group",titleIcon:(0,w.jsx)(g.ye,{}),children:[null!==o&&(0,w.jsx)("div",{className:r.floatingEnabled,children:(0,w.jsx)(b.Z,{indicatorLabels:["Enabled","Disabled"],checked:y,value:"group_enabled",id:"group-status",name:"group-status",onChange:function(e){C(e.target.checked)},switchOnly:!0})}),(0,w.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),M(!0)},children:(0,w.jsxs)(u.ZP,{container:!0,children:[(0,w.jsxs)(u.ZP,{item:!0,xs:12,className:r.modalFormScrollable,children:[null===o?(0,w.jsx)(u.ZP,{item:!0,xs:12,className:r.formFieldRow,children:(0,w.jsx)(f.Z,{id:"group-name",name:"group-name",label:"Group Name",autoFocus:!0,value:m,onChange:function(e){k(e.target.value)}})}):(0,w.jsx)(u.ZP,{item:!0,xs:12,className:r.formFieldRow,children:(0,w.jsx)(x.Z,{label:"Group Name",content:o})}),(0,w.jsx)(u.ZP,{item:!0,xs:12,className:r.userSelector,children:(0,w.jsx)(Z.Z,{selectedUsers:F,setSelectedUsers:B,editMode:null!==o})})]}),(0,w.jsxs)(u.ZP,{item:!0,xs:12,className:r.buttonContainer,children:[(0,w.jsx)(s.Z,{type:"button",variant:"outlined",color:"primary",className:r.spacerRight,onClick:function(){null===o&&k(""),B([])},children:"Clear"}),(0,w.jsx)(s.Z,{type:"submit",variant:"contained",color:"primary",disabled:R||!U,children:"Save"})]}),R&&(0,w.jsx)(u.ZP,{item:!0,xs:12,children:(0,w.jsx)(d.Z,{})})]})})]})})))},49056:function(e,t,o){o.d(t,{Z:function(){return j}});var n=o(36222),a=o(1048),i=o(32793),r=o(50390),c=o(44977),l=o(50076),s=o(36128),d=o(91442),u=o(16756),h=o(15573),m=o(8208),p=o(10594);function Z(e){return(0,p.Z)("MuiSwitch",e)}var v=(0,o(43349).Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),f=o(62559),b=["className","color","edge","size","sx"],x=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(e,t){var o=e.ownerState;return[t.root,o.edge&&t["edge".concat((0,d.Z)(o.edge))],t["size".concat((0,d.Z)(o.size))]]}})((function(e){var t,o=e.ownerState;return(0,i.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===o.edge&&{marginLeft:-8},"end"===o.edge&&{marginRight:-8},"small"===o.size&&(t={width:40,height:24,padding:7},(0,n.Z)(t,"& .".concat(v.thumb),{width:16,height:16}),(0,n.Z)(t,"& .".concat(v.switchBase),(0,n.Z)({padding:4},"&.".concat(v.checked),{transform:"translateX(16px)"})),t))})),g=(0,m.ZP)(u.Z,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(e,t){var o=e.ownerState;return[t.switchBase,(0,n.Z)({},"& .".concat(v.input),t.input),"default"!==o.color&&t["color".concat((0,d.Z)(o.color))]]}})((function(e){var t,o=e.theme;return t={position:"absolute",top:0,left:0,zIndex:1,color:"light"===o.palette.mode?o.palette.common.white:o.palette.grey[300],transition:o.transitions.create(["left","transform"],{duration:o.transitions.duration.shortest})},(0,n.Z)(t,"&.".concat(v.checked),{transform:"translateX(20px)"}),(0,n.Z)(t,"&.".concat(v.disabled),{color:"light"===o.palette.mode?o.palette.grey[100]:o.palette.grey[600]}),(0,n.Z)(t,"&.".concat(v.checked," + .").concat(v.track),{opacity:.5}),(0,n.Z)(t,"&.".concat(v.disabled," + .").concat(v.track),{opacity:"light"===o.palette.mode?.12:.2}),(0,n.Z)(t,"& .".concat(v.input),{left:"-100%",width:"300%"}),t}),(function(e){var t,o=e.theme,a=e.ownerState;return(0,i.Z)({"&:hover":{backgroundColor:(0,s.Fq)(o.palette.action.active,o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==a.color&&(t={},(0,n.Z)(t,"&.".concat(v.checked),(0,n.Z)({color:o.palette[a.color].main,"&:hover":{backgroundColor:(0,s.Fq)(o.palette[a.color].main,o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(v.disabled),{color:"light"===o.palette.mode?(0,s.$n)(o.palette[a.color].main,.62):(0,s._j)(o.palette[a.color].main,.55)})),(0,n.Z)(t,"&.".concat(v.checked," + .").concat(v.track),{backgroundColor:o.palette[a.color].main}),t))})),w=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(e,t){return t.track}})((function(e){var t=e.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:"light"===t.palette.mode?t.palette.common.black:t.palette.common.white,opacity:"light"===t.palette.mode?.38:.3}})),k=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(e,t){return t.thumb}})((function(e){return{boxShadow:e.theme.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),j=r.forwardRef((function(e,t){var o=(0,h.Z)({props:e,name:"MuiSwitch"}),n=o.className,r=o.color,s=void 0===r?"primary":r,u=o.edge,m=void 0!==u&&u,p=o.size,v=void 0===p?"medium":p,j=o.sx,S=(0,a.Z)(o,b),y=(0,i.Z)({},o,{color:s,edge:m,size:v}),C=function(e){var t=e.classes,o=e.edge,n=e.size,a=e.color,r=e.checked,c=e.disabled,s={root:["root",o&&"edge".concat((0,d.Z)(o)),"size".concat((0,d.Z)(n))],switchBase:["switchBase","color".concat((0,d.Z)(a)),r&&"checked",c&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},u=(0,l.Z)(s,Z,t);return(0,i.Z)({},t,u)}(y),N=(0,f.jsx)(k,{className:C.thumb,ownerState:y});return(0,f.jsxs)(x,{className:(0,c.Z)(C.root,n),sx:j,ownerState:y,children:[(0,f.jsx)(g,(0,i.Z)({type:"checkbox",icon:N,checkedIcon:N,ref:t,ownerState:y},S,{classes:(0,i.Z)({},C,{root:C.switchBase})})),(0,f.jsx)(w,{className:C.track,ownerState:y})]})}))}}]); +//# sourceMappingURL=4818.7391a4e4.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4818.65ba088c.chunk.js.map b/portal-ui/build/static/js/4818.7391a4e4.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/4818.65ba088c.chunk.js.map rename to portal-ui/build/static/js/4818.7391a4e4.chunk.js.map index 48998b4df..e8c109ad7 100644 --- a/portal-ui/build/static/js/4818.65ba088c.chunk.js.map +++ b/portal-ui/build/static/js/4818.7391a4e4.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/4818.65ba088c.chunk.js","mappings":"0QA4FMA,GAAcC,EAAAA,EAAAA,IAAW,SAACC,GAAD,OAC7BC,EAAAA,EAAAA,IAAa,UACRC,EAAAA,QAIP,SAASC,EAAWC,GAClB,IAAMC,EAAUP,IAEhB,OACE,SAAC,KAAD,QACEQ,WAAY,CAAED,QAAAA,IACVD,IAsIV,KAAeG,EAAAA,EAAAA,IA5KA,SAACP,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACRO,EAAAA,IACAC,EAAAA,IAFO,IAGVC,iBAAkB,CAChBC,SAAU,EACVC,SAAU,YAEZC,cAAe,CACbD,SAAU,WACVE,MAAO,EACPC,IAAK,EACL,QAAS,CACPC,SAAU,GACVC,UAAW,IAEb,cAAe,CACbF,IAAK,IAGTG,YAAW,kBACNV,EAAAA,GAAAA,YADK,IAERW,WAAY,gBAsJlB,EAjIwB,SAAC,GA0BH,IAzBpBC,EAyBmB,EAzBnBA,MACAC,EAwBmB,EAxBnBA,SACAC,EAuBmB,EAvBnBA,MACAC,EAsBmB,EAtBnBA,GACAC,EAqBmB,EArBnBA,KAqBmB,IApBnBC,KAAAA,OAoBmB,MApBZ,OAoBY,MAnBnBC,aAAAA,OAmBmB,MAnBJ,MAmBI,MAlBnBC,SAAAA,OAkBmB,aAjBnBC,UAAAA,OAiBmB,aAhBnBC,QAAAA,OAgBmB,MAhBT,GAgBS,MAfnBC,MAAAA,OAemB,MAfX,EAeW,MAdnBC,MAAAA,OAcmB,MAdX,GAcW,MAbnBC,SAAAA,OAamB,aAZnBC,YAAAA,OAYmB,MAZL,GAYK,EAXnBC,EAWmB,EAXnBA,IACAC,EAUmB,EAVnBA,IAUmB,IATnBC,YAAAA,OASmB,MATL,KASK,MARnBC,cAAAA,OAQmB,MARH,KAQG,MAPnBC,gBAAAA,OAOmB,MAPD,GAOC,EANnBzB,EAMmB,EANnBA,cAMmB,IALnB0B,gBAAAA,OAKmB,aAJnBC,QAAAA,OAImB,MAJT,GAIS,MAHnBC,UAAAA,OAGmB,SAFnBpC,EAEmB,EAFnBA,QAEmB,IADnBqC,UAAAA,OACmB,MADP,GACO,EACfC,GAAe,QAAK,aAAcb,GAAUQ,GAchD,MAZa,WAATb,GAAqBS,IACvBS,EAAU,IAAUT,GAGT,WAATT,GAAqBU,IACvBQ,EAAU,IAAUR,GAGN,KAAZK,IACFG,EAAU,QAAcH,IAIxB,SAAC,WAAD,WACE,UAAC,KAAD,CACEI,WAAS,EACTF,WAAWG,EAAAA,EAAAA,GACK,KAAdH,EAAmBA,EAAY,GACrB,KAAVX,EAAe1B,EAAQyC,aAAezC,EAAQ0C,mBAJlD,UAOa,KAAV3B,IACC,UAAC,IAAD,CACE4B,QAASzB,EACTmB,UACEH,EAAkBlC,EAAQ4C,gBAAkB5C,EAAQa,WAHxD,WAME,4BACGE,EACAY,EAAW,IAAM,MAEP,KAAZH,IACC,gBAAKa,UAAWrC,EAAQ6C,iBAAxB,UACE,SAAC,IAAD,CAASC,MAAOtB,EAASuB,UAAU,YAAnC,UACE,gBAAKV,UAAWrC,EAAQwB,QAAxB,UACE,SAAC,IAAD,cAQZ,iBAAKa,UAAWrC,EAAQK,iBAAxB,WACE,SAACP,EAAD,CACEoB,GAAIA,EACJC,KAAMA,EACN6B,WAAS,EACT/B,MAAOA,EACPmB,UAAWA,EACXd,SAAUA,EACVN,SAAUA,EACVI,KAAMA,EACNG,UAAWA,EACXF,aAAcA,EACdiB,WAAYA,EACZZ,MAAiB,KAAVA,EACPuB,WAAYvB,EACZE,YAAaA,EACbS,UAAWrC,EAAQkD,cAEpBnB,IACC,gBACEM,UAAS,UAAKrC,EAAQQ,cAAb,YACG,KAAVO,EAAe,YAAc,IAFjC,UAKE,SAAC,IAAD,CACEoC,QACE3C,EACI,WACEA,KAEF,kBAAM,MAEZ4C,KAAM,QACNC,oBAAoB,EACpBC,eAAe,EACfC,oBAAoB,EAXtB,SAaGxB,MAINC,IACC,gBACEK,UAAS,UAAKrC,EAAQQ,cAAb,YACG,KAAVO,EAAe,YAAc,IAFjC,SAKGiB,gB,iPC8BTwB,EAAqB,CACzBC,0BAAAA,EAAAA,IAGIC,GAAYC,EAAAA,EAAAA,IAAQ,KAAMH,GAEhC,WAAetD,EAAAA,EAAAA,IArNA,SAACP,GAAD,OACbC,EAAAA,EAAAA,IAAa,wBACXgE,gBAAiB,CACfC,UAAW,SAEbC,aAAc,CACZ,mBAAoB,CAClBC,QAAS,EACTC,aAAc,MAGfC,EAAAA,IACAC,EAAAA,IACAC,EAAAA,OAwMP,CAAkCT,GArMjB,SAAC,GAME,IALlBU,EAKiB,EALjBA,KACAC,EAIiB,EAJjBA,cACAC,EAGiB,EAHjBA,qBACAtE,EAEiB,EAFjBA,QACAyD,EACiB,EADjBA,0BAGA,GAAkCc,EAAAA,EAAAA,UAAiB,IAAnD,eAAOC,EAAP,KAAkBC,EAAlB,KACA,GAAwCF,EAAAA,EAAAA,WAAkB,GAA1D,eAAOG,EAAP,KAAqBC,EAArB,KACA,GAA2BJ,EAAAA,EAAAA,WAAkB,GAA7C,eAAOK,EAAP,KAAeC,EAAf,KACA,GAA0CN,EAAAA,EAAAA,UAAmB,IAA7D,eAAOO,EAAP,KAAsBC,EAAtB,KACA,GAAuCR,EAAAA,EAAAA,WAAkB,GAAzD,eAAOS,EAAP,KAAqBC,EAArB,KACA,GAAoCV,EAAAA,EAAAA,WAAkB,GAAtD,eAAOW,EAAP,KAAmBC,EAAnB,MAGAC,EAAAA,EAAAA,YAAU,WACc,OAAlBf,EACFY,GAAe,IAEfR,EAAa,IACbM,EAAiB,OAElB,CAACV,KAEJe,EAAAA,EAAAA,YAAU,WACRD,EAAmC,KAArBX,EAAUa,UACvB,CAACb,EAAWM,KAEfM,EAAAA,EAAAA,YAAU,WACR,GAAIR,EAAQ,CAEc,OAAlBP,EACFiB,EAAAA,EAAAA,OACU,MADV,6BACuCC,UAAUf,IAAc,CAC3DgB,MAAOhB,EACPiB,QAASX,EACTY,OAAQhB,EAAe,UAAY,aAEpCiB,MAAK,SAACC,GACLf,GAAS,GACTP,OAEDuB,OAAM,SAACC,GACNjB,GAAS,GACTpB,EAA0BqC,MAG9BR,EAAAA,EAAAA,OACU,OAAQ,iBAAkB,CAChCE,MAAOhB,EACPiB,QAASX,IAEVa,MAAK,SAACC,GACLf,GAAS,GACTP,OAEDuB,OAAM,SAACC,GACNjB,GAAS,GACTpB,EAA0BqC,SAMnC,CACDlB,EACAJ,EACAM,EACAJ,EACAL,EACAC,EACAb,KAGF2B,EAAAA,EAAAA,YAAU,WACR,GAAIf,GAAiBW,EAAc,CAE/BM,EAAAA,EAAAA,OACU,MADV,6BACuCC,UAAUlB,KAC9CsB,MAAK,SAACC,GACLjB,EAA+B,YAAfiB,EAAIF,QACpBjB,EAAamB,EAAIzE,MACjB4D,EAAiBa,EAAIH,YAEtBI,OAAM,SAACC,GACNrC,EAA0BqC,GAC1Bb,GAAe,SAKtB,CAACD,EAAcX,EAAeZ,IAiBjC,OACE,UAAC,IAAD,CACEsC,UAAW3B,EACX4B,QAAS1B,EACTxB,MAAyB,OAAlBuB,EAAA,aAAwC,eAC/C4B,WAAW,SAAC,KAAD,IAJb,UAMqB,OAAlB5B,IACC,gBAAKhC,UAAWrC,EAAQkG,gBAAxB,UACE,SAAC,IAAD,CACEC,gBAAiB,CAAC,UAAW,YAC7BC,QAAS1B,EACTzD,MAAO,gBACPC,GAAG,eACHC,KAAK,eACLH,SAAU,SAACqF,GACT1B,EAAgB0B,EAAEC,OAAOF,UAE3BG,YAAU,OAIhB,iBAAMC,YAAU,EAACnF,aAAa,MAAMoF,SApCtB,SAACC,GACjBA,EAAMC,iBAEN9B,GAAS,IAiCP,UACE,UAAC,KAAD,CAAMtC,WAAS,EAAf,WACE,UAAC,KAAD,CAAMqE,MAAI,EAACC,GAAI,GAAIxE,UAAWrC,EAAQ8G,oBAAtC,UACqB,OAAlBzC,GACC,SAAC,KAAD,CAAMuC,MAAI,EAACC,GAAI,GAAIxE,UAAWrC,EAAQ+G,aAAtC,UACE,SAAC,IAAD,CACE7F,GAAG,aACHC,KAAK,aACLJ,MAAM,aACNqB,WAAW,EACXnB,MAAOuD,EACPxD,SAAU,SAACqF,GACT5B,EAAa4B,EAAEC,OAAOrF,aAK5B,SAAC,KAAD,CAAM2F,MAAI,EAACC,GAAI,GAAIxE,UAAWrC,EAAQ+G,aAAtC,UACE,SAAC,IAAD,CAAgBhG,MAAO,aAAciG,QAAS3C,OAGlD,SAAC,KAAD,CAAMuC,MAAI,EAACC,GAAI,GAAIxE,UAAWrC,EAAQ8D,aAAtC,UACE,SAAC,IAAD,CACEgB,cAAeA,EACfC,iBAAkBA,EAClBkC,SAA4B,OAAlB5C,UAIhB,UAAC,KAAD,CAAMuC,MAAI,EAACC,GAAI,GAAIxE,UAAWrC,EAAQ4D,gBAAtC,WACE,SAAC,IAAD,CACExC,KAAK,SACL8F,QAAQ,WACRC,MAAM,UACN9E,UAAWrC,EAAQoH,YACnBjE,QAjEM,WACM,OAAlBkB,GACFI,EAAa,IAGfM,EAAiB,KAuDT,oBAUA,SAAC,IAAD,CACE3D,KAAK,SACL8F,QAAQ,YACRC,MAAM,UACN7F,SAAUsD,IAAWM,EAJvB,qBASDN,IACC,SAAC,KAAD,CAAMgC,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,mB,4LCzPP,SAASQ,EAAsBC,GACpC,OAAOC,EAAAA,EAAAA,GAAqB,YAAaD,GAE3C,IACA,GADsBE,E,SAAAA,GAAuB,YAAa,CAAC,OAAQ,YAAa,UAAW,aAAc,eAAgB,iBAAkB,YAAa,aAAc,UAAW,WAAY,QAAS,QAAS,U,WCFzMC,EAAY,CAAC,YAAa,QAAS,OAAQ,OAAQ,MAoCnDC,GAAaC,EAAAA,EAAAA,IAAO,OAAQ,CAChCxG,KAAM,YACNmG,KAAM,OACNM,kBAAmB,SAAC7H,EAAO8H,GACzB,IACEC,EACE/H,EADF+H,WAEF,MAAO,CAACD,EAAOE,KAAMD,EAAWE,MAAQH,EAAO,OAAD,QAAQI,EAAAA,EAAAA,GAAWH,EAAWE,QAAUH,EAAO,OAAD,QAAQI,EAAAA,EAAAA,GAAWH,EAAW1E,WAP3GuE,EAShB,kBACDG,EADC,EACDA,WADC,OAEGI,EAAAA,EAAAA,GAAS,CACbC,QAAS,cACTC,MAAO,GACPC,OAAQ,GACRC,SAAU,SACVvE,QAAS,GACTwE,UAAW,aACXhI,SAAU,WACViI,WAAY,EACZC,OAAQ,EAERC,cAAe,SAEf,eAAgB,CACdC,YAAa,UAEM,UAApBb,EAAWE,MAAoB,CAChCY,YAAa,GACQ,QAApBd,EAAWE,MAAkB,CAC9Ba,aAAc,GACO,UAApBf,EAAW1E,OAAX,GACDgF,MAAO,GACPC,OAAQ,GACRtE,QAAS,IAHR,sBAIM+E,EAAAA,OAAwB,CAC7BV,MAAO,GACPC,OAAQ,MANT,sBAQMS,EAAAA,aARN,QASC/E,QAAS,GATV,YAUO+E,EAAAA,SAA0B,CAC9BC,UAAW,sBAXd,OAeGC,GAAmBrB,EAAAA,EAAAA,IAAOsB,EAAAA,EAAY,CAC1C9H,KAAM,YACNmG,KAAM,aACNM,kBAAmB,SAAC7H,EAAO8H,GACzB,IACEC,EACE/H,EADF+H,WAEF,MAAO,CAACD,EAAOqB,YAAR,uBACEJ,EAAAA,OAAwBjB,EAAOsB,OAChB,YAArBrB,EAAWX,OAAuBU,EAAO,QAAD,QAASI,EAAAA,EAAAA,GAAWH,EAAWX,YATrDQ,EAWtB,kBACDhI,EADC,EACDA,MADC,UAGDY,SAAU,WACVG,IAAK,EACL0I,KAAM,EACNX,OAAQ,EAERtB,MAA8B,UAAvBxH,EAAM0J,QAAQC,KAAmB3J,EAAM0J,QAAQE,OAAOC,MAAQ7J,EAAM0J,QAAQI,KAAK,KACxFC,WAAY/J,EAAMgK,YAAYC,OAAO,CAAC,OAAQ,aAAc,CAC1DC,SAAUlK,EAAMgK,YAAYE,SAASC,aAVtC,qBAYKhB,EAAAA,SAA0B,CAC9BC,UAAW,sBAbZ,qBAeKD,EAAAA,UAA2B,CAC/B3B,MAA8B,UAAvBxH,EAAM0J,QAAQC,KAAmB3J,EAAM0J,QAAQI,KAAK,KAAO9J,EAAM0J,QAAQI,KAAK,QAhBtF,qBAkBKX,EAAAA,QAlBL,eAkBiCA,EAAAA,OAAwB,CACxDiB,QAAS,MAnBV,qBAqBKjB,EAAAA,SArBL,eAqBkCA,EAAAA,OAAwB,CACzDiB,QAAgC,UAAvBpK,EAAM0J,QAAQC,KAAmB,IAAO,MAtBlD,sBAwBMR,EAAAA,OAAwB,CAC7BM,KAAM,QACNhB,MAAO,SA1BR,KA4BC,kBACFzI,EADE,EACFA,MACAmI,EAFE,EAEFA,WAFE,OAGEI,EAAAA,EAAAA,GAAS,CACb,UAAW,CACT8B,iBAAiBC,EAAAA,EAAAA,IAAMtK,EAAM0J,QAAQa,OAAOC,OAAQxK,EAAM0J,QAAQa,OAAOE,cAEzE,uBAAwB,CACtBJ,gBAAiB,iBAGC,YAArBlC,EAAWX,QAAX,2BACK2B,EAAAA,UADL,QAEC3B,MAAOxH,EAAM0J,QAAQvB,EAAWX,OAAOkD,KACvC,UAAW,CACTL,iBAAiBC,EAAAA,EAAAA,IAAMtK,EAAM0J,QAAQvB,EAAWX,OAAOkD,KAAM1K,EAAM0J,QAAQa,OAAOE,cAClF,uBAAwB,CACtBJ,gBAAiB,iBANtB,YASOlB,EAAAA,UAA2B,CAC/B3B,MAA8B,UAAvBxH,EAAM0J,QAAQC,MAAmBgB,EAAAA,EAAAA,IAAQ3K,EAAM0J,QAAQvB,EAAWX,OAAOkD,KAAM,MAAQE,EAAAA,EAAAA,IAAO5K,EAAM0J,QAAQvB,EAAWX,OAAOkD,KAAM,SAV9I,qBAaKvB,EAAAA,QAbL,eAaiCA,EAAAA,OAAwB,CACxDkB,gBAAiBrK,EAAM0J,QAAQvB,EAAWX,OAAOkD,OAdlD,OAiBGG,GAAc7C,EAAAA,EAAAA,IAAO,OAAQ,CACjCxG,KAAM,YACNmG,KAAM,QACNM,kBAAmB,SAAC7H,EAAO8H,GAAR,OAAmBA,EAAO4C,QAH3B9C,EAIjB,gBACDhI,EADC,EACDA,MADC,MAEI,CACL0I,OAAQ,OACRD,MAAO,OACPsC,aAAc,EACdjC,QAAS,EACTiB,WAAY/J,EAAMgK,YAAYC,OAAO,CAAC,UAAW,oBAAqB,CACpEC,SAAUlK,EAAMgK,YAAYE,SAASC,WAEvCE,gBAAwC,UAAvBrK,EAAM0J,QAAQC,KAAmB3J,EAAM0J,QAAQE,OAAOoB,MAAQhL,EAAM0J,QAAQE,OAAOC,MACpGO,QAAgC,UAAvBpK,EAAM0J,QAAQC,KAAmB,IAAO,OAE7CsB,GAAcjD,EAAAA,EAAAA,IAAO,OAAQ,CACjCxG,KAAM,YACNmG,KAAM,QACNM,kBAAmB,SAAC7H,EAAO8H,GAAR,OAAmBA,EAAOgD,QAH3BlD,EAIjB,kBAEI,CACLmD,UAHC,EACDnL,MAEiBoL,QAAQ,GACzBf,gBAAiB,eACjB5B,MAAO,GACPC,OAAQ,GACRqC,aAAc,UAoKhB,EAlK4BM,EAAAA,YAAiB,SAAgBC,EAASC,GACpE,IAAMnL,GAAQoL,EAAAA,EAAAA,GAAc,CAC1BpL,MAAOkL,EACP9J,KAAM,cAINkB,EAKEtC,EALFsC,UADF,EAMItC,EAJFoH,MAAAA,OAFF,MAEU,UAFV,IAMIpH,EAHFiI,KAAAA,OAHF,WAMIjI,EAFFqD,KAAAA,OAJF,MAIS,SAJT,EAKEgI,EACErL,EADFqL,GAEIC,GAAQC,EAAAA,EAAAA,GAA8BvL,EAAO0H,GAE7CK,GAAaI,EAAAA,EAAAA,GAAS,GAAInI,EAAO,CACrCoH,MAAAA,EACAa,KAAAA,EACA5E,KAAAA,IAGIpD,EAxLkB,SAAA8H,GACxB,IACE9H,EAME8H,EANF9H,QACAgI,EAKEF,EALFE,KACA5E,EAIE0E,EAJF1E,KACA+D,EAGEW,EAHFX,MACAf,EAEE0B,EAFF1B,QACA9E,EACEwG,EADFxG,SAEIiK,EAAQ,CACZxD,KAAM,CAAC,OAAQC,GAAQ,OAAJ,QAAWC,EAAAA,EAAAA,GAAWD,IAAnC,eAAmDC,EAAAA,EAAAA,GAAW7E,KACpE8F,WAAY,CAAC,aAAD,gBAAuBjB,EAAAA,EAAAA,GAAWd,IAAUf,GAAW,UAAW9E,GAAY,YAC1FuJ,MAAO,CAAC,SACRJ,MAAO,CAAC,SACRtB,MAAO,CAAC,UAEJqC,GAAkBC,EAAAA,EAAAA,GAAeF,EAAOlE,EAAuBrH,GACrE,OAAOkI,EAAAA,EAAAA,GAAS,GAAIlI,EAASwL,GAuKbE,CAAkB5D,GAE5B6D,GAAoBC,EAAAA,EAAAA,KAAKhB,EAAa,CAC1CvI,UAAWrC,EAAQ6K,MACnB/C,WAAYA,IAGd,OAAoB+D,EAAAA,EAAAA,MAAMnE,EAAY,CACpCrF,WAAWG,EAAAA,EAAAA,GAAKxC,EAAQ+H,KAAM1F,GAC9B+I,GAAIA,EACJtD,WAAYA,EACZgE,SAAU,EAAcF,EAAAA,EAAAA,KAAK5C,GAAkBd,EAAAA,EAAAA,GAAS,CACtD9G,KAAM,WACNuK,KAAMA,EACNI,YAAaJ,EACbT,IAAKA,EACLpD,WAAYA,GACXuD,EAAO,CACRrL,SAASkI,EAAAA,EAAAA,GAAS,GAAIlI,EAAS,CAC7B+H,KAAM/H,EAAQkJ,iBAEA0C,EAAAA,EAAAA,KAAKpB,EAAa,CAClCnI,UAAWrC,EAAQyK,MACnB3C,WAAYA","sources":["screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Groups/AddGroup.tsx","../node_modules/@mui/material/Switch/switchClasses.js","../node_modules/@mui/material/Switch/Switch.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport UsersSelectors from \"./UsersSelectors\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport PredefinedList from \"../Common/FormComponents/PredefinedList/PredefinedList\";\nimport { CreateGroupIcon } from \"../../../icons\";\n\ninterface IGroupProps {\n open: boolean;\n selectedGroup: any;\n closeModalAndRefresh: any;\n classes: any;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\ninterface MainGroupProps {\n members: string[];\n name: string;\n status: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n userSelector: {\n \"& .MuiPaper-root\": {\n padding: 0,\n marginBottom: 15,\n },\n },\n ...formFieldStyles,\n ...spacingUtils,\n ...modalStyleUtils,\n });\n\nconst AddGroup = ({\n open,\n selectedGroup,\n closeModalAndRefresh,\n classes,\n setModalErrorSnackMessage,\n}: IGroupProps) => {\n //Local States\n const [groupName, setGroupName] = useState(\"\");\n const [groupEnabled, setGroupEnabled] = useState(false);\n const [saving, isSaving] = useState(false);\n const [selectedUsers, setSelectedUsers] = useState([]);\n const [loadingGroup, isLoadingGroup] = useState(false);\n const [validGroup, setValidGroup] = useState(false);\n\n //Effects\n useEffect(() => {\n if (selectedGroup !== null) {\n isLoadingGroup(true);\n } else {\n setGroupName(\"\");\n setSelectedUsers([]);\n }\n }, [selectedGroup]);\n\n useEffect(() => {\n setValidGroup(groupName.trim() !== \"\");\n }, [groupName, selectedUsers]);\n\n useEffect(() => {\n if (saving) {\n const saveRecord = () => {\n if (selectedGroup !== null) {\n api\n .invoke(\"PUT\", `/api/v1/group?name=${encodeURI(groupName)}`, {\n group: groupName,\n members: selectedUsers,\n status: groupEnabled ? \"enabled\" : \"disabled\",\n })\n .then((res) => {\n isSaving(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n isSaving(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n api\n .invoke(\"POST\", \"/api/v1/groups\", {\n group: groupName,\n members: selectedUsers,\n })\n .then((res) => {\n isSaving(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n isSaving(false);\n setModalErrorSnackMessage(err);\n });\n }\n };\n saveRecord();\n }\n }, [\n saving,\n groupName,\n selectedUsers,\n groupEnabled,\n selectedGroup,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n ]);\n\n useEffect(() => {\n if (selectedGroup && loadingGroup) {\n const fetchGroupInfo = () => {\n api\n .invoke(\"GET\", `/api/v1/group?name=${encodeURI(selectedGroup)}`)\n .then((res: MainGroupProps) => {\n setGroupEnabled(res.status === \"enabled\");\n setGroupName(res.name);\n setSelectedUsers(res.members);\n })\n .catch((err: ErrorResponseHandler) => {\n setModalErrorSnackMessage(err);\n isLoadingGroup(false);\n });\n };\n fetchGroupInfo();\n }\n }, [loadingGroup, selectedGroup, setModalErrorSnackMessage]);\n\n //Fetch Actions\n const setSaving = (event: React.FormEvent) => {\n event.preventDefault();\n\n isSaving(true);\n };\n\n const resetForm = () => {\n if (selectedGroup === null) {\n setGroupName(\"\");\n }\n\n setSelectedUsers([]);\n };\n\n return (\n }\n >\n {selectedGroup !== null && (\n
\n {\n setGroupEnabled(e.target.checked);\n }}\n switchOnly\n />\n
\n )}\n
\n \n \n {selectedGroup === null ? (\n \n ) => {\n setGroupName(e.target.value);\n }}\n />\n \n ) : (\n \n \n \n )}\n \n \n \n \n \n \n Clear\n \n\n \n Save\n \n \n {saving && (\n \n \n \n )}\n \n
\n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddGroup));\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, darken, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n}, ownerState.edge === 'start' && {\n marginLeft: -8\n}, ownerState.edge === 'end' && {\n marginRight: -8\n}, ownerState.size === 'small' && {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n}));\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.palette.mode === 'light' ? 0.12 : 0.2\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({\n '&:hover': {\n backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${switchClasses.checked}`]: {\n color: theme.palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: theme.palette[ownerState.color].main\n }\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.mode === 'light' ? 0.38 : 0.3\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;"],"names":["inputStyles","makeStyles","theme","createStyles","inputFieldStyles","InputField","props","classes","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","label","onChange","value","id","name","type","autoComplete","disabled","multiline","tooltip","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","className","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","fullWidth","helperText","inputRebase","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","mapDispatchToProps","setModalErrorSnackMessage","connector","connect","buttonContainer","textAlign","userSelector","padding","marginBottom","formFieldStyles","spacingUtils","modalStyleUtils","open","selectedGroup","closeModalAndRefresh","useState","groupName","setGroupName","groupEnabled","setGroupEnabled","saving","isSaving","selectedUsers","setSelectedUsers","loadingGroup","isLoadingGroup","validGroup","setValidGroup","useEffect","trim","api","encodeURI","group","members","status","then","res","catch","err","modalOpen","onClose","titleIcon","floatingEnabled","indicatorLabels","checked","e","target","switchOnly","noValidate","onSubmit","event","preventDefault","item","xs","modalFormScrollable","formFieldRow","content","editMode","variant","color","spacerRight","getSwitchUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","SwitchRoot","styled","overridesResolver","styles","ownerState","root","edge","capitalize","_extends","display","width","height","overflow","boxSizing","flexShrink","zIndex","verticalAlign","colorAdjust","marginLeft","marginRight","switchClasses","transform","SwitchSwitchBase","SwitchBase","switchBase","input","left","palette","mode","common","white","grey","transition","transitions","create","duration","shortest","opacity","backgroundColor","alpha","action","active","hoverOpacity","main","lighten","darken","SwitchTrack","track","borderRadius","black","SwitchThumb","thumb","boxShadow","shadows","React","inProps","ref","useThemeProps","sx","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","icon","_jsx","_jsxs","children","checkedIcon"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/4818.7391a4e4.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Groups/AddGroup.tsx","../node_modules/@mui/material/Switch/switchClasses.js","../node_modules/@mui/material/Switch/Switch.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport UsersSelectors from \"./UsersSelectors\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport PredefinedList from \"../Common/FormComponents/PredefinedList/PredefinedList\";\nimport { CreateGroupIcon } from \"../../../icons\";\n\ninterface IGroupProps {\n open: boolean;\n selectedGroup: any;\n closeModalAndRefresh: any;\n classes: any;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\ninterface MainGroupProps {\n members: string[];\n name: string;\n status: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n userSelector: {\n \"& .MuiPaper-root\": {\n padding: 0,\n marginBottom: 15,\n },\n },\n ...formFieldStyles,\n ...spacingUtils,\n ...modalStyleUtils,\n });\n\nconst AddGroup = ({\n open,\n selectedGroup,\n closeModalAndRefresh,\n classes,\n setModalErrorSnackMessage,\n}: IGroupProps) => {\n //Local States\n const [groupName, setGroupName] = useState(\"\");\n const [groupEnabled, setGroupEnabled] = useState(false);\n const [saving, isSaving] = useState(false);\n const [selectedUsers, setSelectedUsers] = useState([]);\n const [loadingGroup, isLoadingGroup] = useState(false);\n const [validGroup, setValidGroup] = useState(false);\n\n //Effects\n useEffect(() => {\n if (selectedGroup !== null) {\n isLoadingGroup(true);\n } else {\n setGroupName(\"\");\n setSelectedUsers([]);\n }\n }, [selectedGroup]);\n\n useEffect(() => {\n setValidGroup(groupName.trim() !== \"\");\n }, [groupName, selectedUsers]);\n\n useEffect(() => {\n if (saving) {\n const saveRecord = () => {\n if (selectedGroup !== null) {\n api\n .invoke(\"PUT\", `/api/v1/group?name=${encodeURI(groupName)}`, {\n group: groupName,\n members: selectedUsers,\n status: groupEnabled ? \"enabled\" : \"disabled\",\n })\n .then((res) => {\n isSaving(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n isSaving(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n api\n .invoke(\"POST\", \"/api/v1/groups\", {\n group: groupName,\n members: selectedUsers,\n })\n .then((res) => {\n isSaving(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n isSaving(false);\n setModalErrorSnackMessage(err);\n });\n }\n };\n saveRecord();\n }\n }, [\n saving,\n groupName,\n selectedUsers,\n groupEnabled,\n selectedGroup,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n ]);\n\n useEffect(() => {\n if (selectedGroup && loadingGroup) {\n const fetchGroupInfo = () => {\n api\n .invoke(\"GET\", `/api/v1/group?name=${encodeURI(selectedGroup)}`)\n .then((res: MainGroupProps) => {\n setGroupEnabled(res.status === \"enabled\");\n setGroupName(res.name);\n setSelectedUsers(res.members);\n })\n .catch((err: ErrorResponseHandler) => {\n setModalErrorSnackMessage(err);\n isLoadingGroup(false);\n });\n };\n fetchGroupInfo();\n }\n }, [loadingGroup, selectedGroup, setModalErrorSnackMessage]);\n\n //Fetch Actions\n const setSaving = (event: React.FormEvent) => {\n event.preventDefault();\n\n isSaving(true);\n };\n\n const resetForm = () => {\n if (selectedGroup === null) {\n setGroupName(\"\");\n }\n\n setSelectedUsers([]);\n };\n\n return (\n }\n >\n {selectedGroup !== null && (\n
\n {\n setGroupEnabled(e.target.checked);\n }}\n switchOnly\n />\n
\n )}\n
\n \n \n {selectedGroup === null ? (\n \n ) => {\n setGroupName(e.target.value);\n }}\n />\n \n ) : (\n \n \n \n )}\n \n \n \n \n \n \n Clear\n \n\n \n Save\n \n \n {saving && (\n \n \n \n )}\n \n
\n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddGroup));\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, darken, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n}, ownerState.edge === 'start' && {\n marginLeft: -8\n}, ownerState.edge === 'end' && {\n marginRight: -8\n}, ownerState.size === 'small' && {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n}));\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.palette.mode === 'light' ? 0.12 : 0.2\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({\n '&:hover': {\n backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${switchClasses.checked}`]: {\n color: theme.palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: theme.palette[ownerState.color].main\n }\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.mode === 'light' ? 0.38 : 0.3\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;"],"names":["inputStyles","makeStyles","theme","createStyles","inputFieldStyles","InputField","props","classes","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","label","onChange","value","id","name","type","autoComplete","disabled","multiline","tooltip","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","className","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","fullWidth","helperText","inputRebase","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","mapDispatchToProps","setModalErrorSnackMessage","connector","connect","buttonContainer","textAlign","userSelector","padding","marginBottom","formFieldStyles","spacingUtils","modalStyleUtils","open","selectedGroup","closeModalAndRefresh","useState","groupName","setGroupName","groupEnabled","setGroupEnabled","saving","isSaving","selectedUsers","setSelectedUsers","loadingGroup","isLoadingGroup","validGroup","setValidGroup","useEffect","trim","api","encodeURI","group","members","status","then","res","catch","err","modalOpen","onClose","titleIcon","floatingEnabled","indicatorLabels","checked","e","target","switchOnly","noValidate","onSubmit","event","preventDefault","item","xs","modalFormScrollable","formFieldRow","content","editMode","variant","color","spacerRight","getSwitchUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","SwitchRoot","styled","overridesResolver","styles","ownerState","root","edge","capitalize","_extends","display","width","height","overflow","boxSizing","flexShrink","zIndex","verticalAlign","colorAdjust","marginLeft","marginRight","switchClasses","transform","SwitchSwitchBase","SwitchBase","switchBase","input","left","palette","mode","common","white","grey","transition","transitions","create","duration","shortest","opacity","backgroundColor","alpha","action","active","hoverOpacity","main","lighten","darken","SwitchTrack","track","borderRadius","black","SwitchThumb","thumb","boxShadow","shadows","React","inProps","ref","useThemeProps","sx","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","icon","_jsx","_jsxs","children","checkedIcon"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4839.cfc74e75.chunk.js b/portal-ui/build/static/js/4839.ed81765f.chunk.js similarity index 99% rename from portal-ui/build/static/js/4839.cfc74e75.chunk.js rename to portal-ui/build/static/js/4839.ed81765f.chunk.js index a47437f05..d9292680d 100644 --- a/portal-ui/build/static/js/4839.cfc74e75.chunk.js +++ b/portal-ui/build/static/js/4839.ed81765f.chunk.js @@ -1,2 +1,2 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4839],{25534:function(e,n,t){"use strict";var o=t(18489),r=(t(50390),t(25594)),s=t(86509),a=t(4285),i=t(72462),c=t(62559);n.Z=(0,a.Z)((function(e){return(0,s.Z)((0,o.Z)({},i.Bw))}))((function(e){var n=e.classes,t=e.className,o=void 0===t?"":t,s=e.children;return(0,c.jsx)("div",{className:n.contentSpacer,children:(0,c.jsx)(r.ZP,{container:!0,children:(0,c.jsx)(r.ZP,{item:!0,xs:12,className:o,children:s})})})}))},35721:function(e,n,t){"use strict";t(50390);var o=t(34424),r=t(25594),s=t(86509),a=t(4285),i=t(35477),c=t(95467),l=t(26805),d=t(44078),h=t(5265),u=t(11387),g=t(62559),p={toggleList:h.kQ},m=(0,o.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),p);n.Z=m((0,a.Z)((function(e){return(0,s.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,o=e.actions,s=e.sidebarOpen,a=e.operatorMode,h=e.managerObjects,p=e.toggleList,m=e.middleComponent;return(0,g.jsxs)(r.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,g.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:m?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!s&&(0,g.jsx)("div",{className:n.logo,children:a?(0,g.jsx)(l.Z,{}):(0,g.jsx)(d.Z,{})}),(0,g.jsx)(i.Z,{variant:"h4",className:n.labelStyle,children:t})]}),m&&(0,g.jsx)(r.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:m}),(0,g.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:m?3:6,className:n.rightMenu,children:[o&&o,h&&h.length>0&&(0,g.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){p()},size:"large",children:(0,g.jsx)(u.gx,{})})]})]})})))},23165:function(e,n,t){"use strict";var o=t(36222),r=t(18489),s=(t(50390),t(65771)),a=t(13336),i=t(12066),c=t(4285),l=t(86509),d=t(72462),h=t(62559);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,u=e.overrideClass,g=e.value,p=(0,o.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,h.jsx)(s.Z,{position:d,className:r.adornment,children:(0,h.jsx)(a.Z,{})}));return(0,h.jsx)(i.Z,{placeholder:t,className:u||r.searchField,id:"search-resource",label:"",InputProps:p,onChange:function(e){c(e.target.value)},variant:"standard",value:g})}))},44839:function(e,n,t){"use strict";t.r(n);var o=t(23430),r=t(18489),s=t(50390),a=t(69686),i=t(86509),c=t(4285),l=t(34424),d=t(25594),h=t(60606),u=t.n(h),g=t(70753),p=t(28948),m=t(51774),f=t(72462),v=t(35721),x=t(25534),b=t(23165),j=t(62559),w=(0,l.$j)((function(e){return{messages:e.logs.messages}}),{logMessageReceived:g.Qo,logResetMessages:g.i1});n.default=(0,c.Z)((function(e){return(0,i.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({logList:{background:"#fff",minHeight:400,height:"calc(100vh - 280px)",overflow:"auto",fontSize:13,padding:"15px 15px 0",border:"1px solid #EAEDEE",borderRadius:4},tab:{paddingLeft:25},logerror:{color:"#A52A2A"},logerror_tab:{color:"#A52A2A",paddingLeft:25},ansidefault:{color:"#000"},highlight:{"& span":{backgroundColor:"#082F5238"}}},f.OR),f.qg),f.o$),(0,f.Bz)(e.spacing(4))))}))(w((function(e){var n=e.classes,t=e.logMessageReceived,r=e.logResetMessages,i=e.messages,c=(0,s.useState)(""),l=(0,o.Z)(c,2),h=l[0],g=l[1];(0,s.useEffect)((function(){r();var e=new URL(window.location.toString()),n=e.port,o=(0,m.x2)(e.protocol),s=new a.w3cwebsocket("".concat(o,"://").concat(e.hostname,":").concat(n,"/ws/console")),i=null;if(null!==s)return s.onopen=function(){console.log("WebSocket Client Connected"),s.send("ok"),i=setInterval((function(){s.send("ok")}),1e4)},s.onmessage=function(e){var n=JSON.parse(e.data.toString());n.time=u()(n.time,"HH:mm:s UTC MM/DD/YYYY").toDate(),n.key=Math.random(),t(n)},s.onclose=function(){clearInterval(i),console.log("connection closed by server")},function(){s.close(1e3),clearInterval(i),console.log("closing websockets")}}),[t,r]);var f=function(e){var t=e.ConsoleMsg,o=(t=t.replace(/([^\x20-\x7F])/g,"")).replace(/((\[[0-9;]+m))/g,""),r=""!==h&&t.toLowerCase().includes(h.toLowerCase());return o.startsWith(" ")?(0,j.jsx)("div",{className:"".concat(r?n.highlight:""),children:(0,j.jsx)("span",{className:n.tab,children:o})},e.key):null!==e.error&&void 0!==e.error?function(e){var t=[];if(null!==e.error&&void 0!==e.error){if(e.api&&e.api.name){var o="API: ".concat(e.api.name),r=""!==h&&o.toLowerCase().includes(h.toLowerCase());t.push((0,j.jsxs)("div",{className:"".concat(r?n.highlight:""),children:[(0,j.jsx)("br",{}),(0,j.jsx)("span",{className:n.logerror,children:o})]},"api-".concat(e.key)))}if(e.time){var s="Time: ".concat((0,p.zk)(e.time)),a=""!==h&&s.toLowerCase().includes(h.toLowerCase());t.push((0,j.jsx)("div",{className:"".concat(a?n.highlight:""),children:(0,j.jsx)("span",{className:n.logerror,children:s})},"time-".concat(e.key)))}if(e.deploymentid){var i="DeploymentID: ".concat(e.deploymentid),c=""!==h&&i.toLowerCase().includes(h.toLowerCase());t.push((0,j.jsx)("div",{className:"".concat(c?n.highlight:""),children:(0,j.jsx)("span",{className:n.logerror,children:i})},"deploytmentid-".concat(e.key)))}if(e.requestID){var l="RequestID: ".concat(e.requestID),d=""!==h&&l.toLowerCase().includes(h.toLowerCase());t.push((0,j.jsx)("div",{className:"".concat(d?n.highlight:""),children:(0,j.jsx)("span",{className:n.logerror,children:l})},"requestid-".concat(e.key)))}if(e.remotehost){var u="RemoteHost: ".concat(e.remotehost),g=""!==h&&u.toLowerCase().includes(h.toLowerCase());t.push((0,j.jsx)("div",{className:"".concat(g?n.highlight:""),children:(0,j.jsx)("span",{className:n.logerror,children:u})},"remotehost-".concat(e.key)))}if(e.host){var m="Host: ".concat(e.host),f=""!==h&&m.toLowerCase().includes(h.toLowerCase());t.push((0,j.jsx)("div",{className:"".concat(f?n.highlight:""),children:(0,j.jsx)("span",{className:n.logerror,children:m})},"host-".concat(e.key)))}if(e.userAgent){var v="UserAgent: ".concat(e.userAgent),x=""!==h&&v.toLowerCase().includes(h.toLowerCase());t.push((0,j.jsx)("div",{className:"".concat(x?n.highlight:""),children:(0,j.jsx)("span",{className:n.logerror,children:v})},"useragent-".concat(e.key)))}if(e.error.message){var b="Error: ".concat(e.error.message),w=""!==h&&b.toLowerCase().includes(h.toLowerCase());t.push((0,j.jsx)("div",{className:"".concat(w?n.highlight:""),children:(0,j.jsx)("span",{className:n.logerror,children:b})},"message-".concat(e.key)))}if(e.error.source)for(var Z in e.error.source){var y=e.error.source[Z],C=""!==h&&y.toLowerCase().includes(h.toLowerCase());t.push((0,j.jsx)("div",{className:"".concat(C?n.highlight:""),children:(0,j.jsx)("span",{className:n.logerror_tab,children:y})},"source-".concat(e.key,"-").concat(Z)))}}return t}(e):(0,j.jsx)("div",{className:"".concat(r?n.highlight:""),children:(0,j.jsx)("span",{className:n.ansidefault,children:o})},e.key)},w=i.map((function(e){return f(e)}));return(0,j.jsxs)(s.Fragment,{children:[(0,j.jsx)(v.Z,{label:"Logs"}),(0,j.jsx)(x.Z,{children:(0,j.jsxs)(d.ZP,{xs:12,children:[(0,j.jsx)(d.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,j.jsx)(b.Z,{placeholder:"Highlight Line",onChange:g,value:h})}),(0,j.jsx)(d.ZP,{item:!0,xs:12,children:(0,j.jsx)("div",{id:"logs-container",className:n.logList,children:w})})]})})]})})))},51774:function(e,n,t){"use strict";t.d(n,{V9:function(){return o},ci:function(){return r},HE:function(){return s},x2:function(){return a}});var o=1006,r=1008,s=1011,a=function(e){var n="ws";return"https:"===e&&(n="wss"),n}},65771:function(e,n,t){"use strict";t.d(n,{Z:function(){return Z}});var o=t(36222),r=t(1048),s=t(32793),a=t(50390),i=t(44977),c=t(50076),l=t(91442),d=t(35477),h=t(14478),u=t(23060),g=t(8208),p=t(10594);function m(e){return(0,p.Z)("MuiInputAdornment",e)}var f,v=(0,t(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),x=t(15573),b=t(62559),j=["children","className","component","disablePointerEvents","disableTypography","position","variant"],w=(0,g.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,n["position".concat((0,l.Z)(t.position))],!0===t.disablePointerEvents&&n.disablePointerEvents,n[t.variant]]}})((function(e){var n=e.theme,t=e.ownerState;return(0,s.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:n.palette.action.active},"filled"===t.variant&&(0,o.Z)({},"&.".concat(v.positionStart,"&:not(.").concat(v.hiddenLabel,")"),{marginTop:16}),"start"===t.position&&{marginRight:8},"end"===t.position&&{marginLeft:8},!0===t.disablePointerEvents&&{pointerEvents:"none"})})),Z=a.forwardRef((function(e,n){var t=(0,x.Z)({props:e,name:"MuiInputAdornment"}),o=t.children,g=t.className,p=t.component,v=void 0===p?"div":p,Z=t.disablePointerEvents,y=void 0!==Z&&Z,C=t.disableTypography,N=void 0!==C&&C,L=t.position,k=t.variant,P=(0,r.Z)(t,j),E=(0,u.Z)()||{},S=k;k&&E.variant,E&&!S&&(S=E.variant);var M=(0,s.Z)({},t,{hiddenLabel:E.hiddenLabel,size:E.size,disablePointerEvents:y,position:L,variant:S}),I=function(e){var n=e.classes,t=e.disablePointerEvents,o=e.hiddenLabel,r=e.position,s=e.size,a=e.variant,i={root:["root",t&&"disablePointerEvents",r&&"position".concat((0,l.Z)(r)),a,o&&"hiddenLabel",s&&"size".concat((0,l.Z)(s))]};return(0,c.Z)(i,m,n)}(M);return(0,b.jsx)(h.Z.Provider,{value:null,children:(0,b.jsx)(w,(0,s.Z)({as:v,ownerState:M,className:(0,i.Z)(I.root,g),ref:n},P,{children:"string"!==typeof o||N?(0,b.jsxs)(a.Fragment,{children:["start"===L?f||(f=(0,b.jsx)("span",{className:"notranslate",children:"\u200b"})):null,o]}):(0,b.jsx)(d.Z,{color:"text.secondary",children:o})}))})}))},3930: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__}}()},69686:function(e,n,t){var o;if("object"===typeof globalThis)o=globalThis;else try{o=t(3930)}catch(i){}finally{if(o||"undefined"===typeof window||(o=window),!o)throw new Error("Could not determine global this")}var r=o.WebSocket||o.MozWebSocket,s=t(84994);function a(e,n){return n?new r(e,n):new r(e)}r&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(a,e,{get:function(){return r[e]}})})),e.exports={w3cwebsocket:r?a:null,version:s}},84994:function(e,n,t){e.exports=t(19794).version},19794:function(e){"use strict";e.exports={version:"1.0.34"}}}]); -//# sourceMappingURL=4839.cfc74e75.chunk.js.map \ No newline at end of file +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4839],{25534:function(e,n,t){"use strict";var o=t(18489),r=(t(50390),t(25594)),s=t(86509),a=t(4285),i=t(72462),c=t(62559);n.Z=(0,a.Z)((function(e){return(0,s.Z)((0,o.Z)({},i.Bw))}))((function(e){var n=e.classes,t=e.className,o=void 0===t?"":t,s=e.children;return(0,c.jsx)("div",{className:n.contentSpacer,children:(0,c.jsx)(r.ZP,{container:!0,children:(0,c.jsx)(r.ZP,{item:!0,xs:12,className:o,children:s})})})}))},35721:function(e,n,t){"use strict";t(50390);var o=t(34424),r=t(25594),s=t(86509),a=t(4285),i=t(35477),c=t(95467),l=t(26805),d=t(44078),h=t(5265),u=t(98280),g=t(62559),p={toggleList:h.kQ},m=(0,o.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),p);n.Z=m((0,a.Z)((function(e){return(0,s.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,o=e.actions,s=e.sidebarOpen,a=e.operatorMode,h=e.managerObjects,p=e.toggleList,m=e.middleComponent;return(0,g.jsxs)(r.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,g.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:m?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!s&&(0,g.jsx)("div",{className:n.logo,children:a?(0,g.jsx)(l.Z,{}):(0,g.jsx)(d.Z,{})}),(0,g.jsx)(i.Z,{variant:"h4",className:n.labelStyle,children:t})]}),m&&(0,g.jsx)(r.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:m}),(0,g.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:m?3:6,className:n.rightMenu,children:[o&&o,h&&h.length>0&&(0,g.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){p()},size:"large",children:(0,g.jsx)(u.gx,{})})]})]})})))},23165:function(e,n,t){"use strict";var o=t(36222),r=t(18489),s=(t(50390),t(65771)),a=t(13336),i=t(12066),c=t(4285),l=t(86509),d=t(72462),h=t(62559);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,u=e.overrideClass,g=e.value,p=(0,o.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,h.jsx)(s.Z,{position:d,className:r.adornment,children:(0,h.jsx)(a.Z,{})}));return(0,h.jsx)(i.Z,{placeholder:t,className:u||r.searchField,id:"search-resource",label:"",InputProps:p,onChange:function(e){c(e.target.value)},variant:"standard",value:g})}))},44839:function(e,n,t){"use strict";t.r(n);var o=t(23430),r=t(18489),s=t(50390),a=t(69686),i=t(86509),c=t(4285),l=t(34424),d=t(25594),h=t(60606),u=t.n(h),g=t(70753),p=t(28948),m=t(51774),f=t(72462),v=t(35721),x=t(25534),b=t(23165),j=t(62559),w=(0,l.$j)((function(e){return{messages:e.logs.messages}}),{logMessageReceived:g.Qo,logResetMessages:g.i1});n.default=(0,c.Z)((function(e){return(0,i.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({logList:{background:"#fff",minHeight:400,height:"calc(100vh - 280px)",overflow:"auto",fontSize:13,padding:"15px 15px 0",border:"1px solid #EAEDEE",borderRadius:4},tab:{paddingLeft:25},logerror:{color:"#A52A2A"},logerror_tab:{color:"#A52A2A",paddingLeft:25},ansidefault:{color:"#000"},highlight:{"& span":{backgroundColor:"#082F5238"}}},f.OR),f.qg),f.o$),(0,f.Bz)(e.spacing(4))))}))(w((function(e){var n=e.classes,t=e.logMessageReceived,r=e.logResetMessages,i=e.messages,c=(0,s.useState)(""),l=(0,o.Z)(c,2),h=l[0],g=l[1];(0,s.useEffect)((function(){r();var e=new URL(window.location.toString()),n=e.port,o=(0,m.x2)(e.protocol),s=new a.w3cwebsocket("".concat(o,"://").concat(e.hostname,":").concat(n,"/ws/console")),i=null;if(null!==s)return s.onopen=function(){console.log("WebSocket Client Connected"),s.send("ok"),i=setInterval((function(){s.send("ok")}),1e4)},s.onmessage=function(e){var n=JSON.parse(e.data.toString());n.time=u()(n.time,"HH:mm:s UTC MM/DD/YYYY").toDate(),n.key=Math.random(),t(n)},s.onclose=function(){clearInterval(i),console.log("connection closed by server")},function(){s.close(1e3),clearInterval(i),console.log("closing websockets")}}),[t,r]);var f=function(e){var t=e.ConsoleMsg,o=(t=t.replace(/([^\x20-\x7F])/g,"")).replace(/((\[[0-9;]+m))/g,""),r=""!==h&&t.toLowerCase().includes(h.toLowerCase());return o.startsWith(" ")?(0,j.jsx)("div",{className:"".concat(r?n.highlight:""),children:(0,j.jsx)("span",{className:n.tab,children:o})},e.key):null!==e.error&&void 0!==e.error?function(e){var t=[];if(null!==e.error&&void 0!==e.error){if(e.api&&e.api.name){var o="API: ".concat(e.api.name),r=""!==h&&o.toLowerCase().includes(h.toLowerCase());t.push((0,j.jsxs)("div",{className:"".concat(r?n.highlight:""),children:[(0,j.jsx)("br",{}),(0,j.jsx)("span",{className:n.logerror,children:o})]},"api-".concat(e.key)))}if(e.time){var s="Time: ".concat((0,p.zk)(e.time)),a=""!==h&&s.toLowerCase().includes(h.toLowerCase());t.push((0,j.jsx)("div",{className:"".concat(a?n.highlight:""),children:(0,j.jsx)("span",{className:n.logerror,children:s})},"time-".concat(e.key)))}if(e.deploymentid){var i="DeploymentID: ".concat(e.deploymentid),c=""!==h&&i.toLowerCase().includes(h.toLowerCase());t.push((0,j.jsx)("div",{className:"".concat(c?n.highlight:""),children:(0,j.jsx)("span",{className:n.logerror,children:i})},"deploytmentid-".concat(e.key)))}if(e.requestID){var l="RequestID: ".concat(e.requestID),d=""!==h&&l.toLowerCase().includes(h.toLowerCase());t.push((0,j.jsx)("div",{className:"".concat(d?n.highlight:""),children:(0,j.jsx)("span",{className:n.logerror,children:l})},"requestid-".concat(e.key)))}if(e.remotehost){var u="RemoteHost: ".concat(e.remotehost),g=""!==h&&u.toLowerCase().includes(h.toLowerCase());t.push((0,j.jsx)("div",{className:"".concat(g?n.highlight:""),children:(0,j.jsx)("span",{className:n.logerror,children:u})},"remotehost-".concat(e.key)))}if(e.host){var m="Host: ".concat(e.host),f=""!==h&&m.toLowerCase().includes(h.toLowerCase());t.push((0,j.jsx)("div",{className:"".concat(f?n.highlight:""),children:(0,j.jsx)("span",{className:n.logerror,children:m})},"host-".concat(e.key)))}if(e.userAgent){var v="UserAgent: ".concat(e.userAgent),x=""!==h&&v.toLowerCase().includes(h.toLowerCase());t.push((0,j.jsx)("div",{className:"".concat(x?n.highlight:""),children:(0,j.jsx)("span",{className:n.logerror,children:v})},"useragent-".concat(e.key)))}if(e.error.message){var b="Error: ".concat(e.error.message),w=""!==h&&b.toLowerCase().includes(h.toLowerCase());t.push((0,j.jsx)("div",{className:"".concat(w?n.highlight:""),children:(0,j.jsx)("span",{className:n.logerror,children:b})},"message-".concat(e.key)))}if(e.error.source)for(var Z in e.error.source){var y=e.error.source[Z],C=""!==h&&y.toLowerCase().includes(h.toLowerCase());t.push((0,j.jsx)("div",{className:"".concat(C?n.highlight:""),children:(0,j.jsx)("span",{className:n.logerror_tab,children:y})},"source-".concat(e.key,"-").concat(Z)))}}return t}(e):(0,j.jsx)("div",{className:"".concat(r?n.highlight:""),children:(0,j.jsx)("span",{className:n.ansidefault,children:o})},e.key)},w=i.map((function(e){return f(e)}));return(0,j.jsxs)(s.Fragment,{children:[(0,j.jsx)(v.Z,{label:"Logs"}),(0,j.jsx)(x.Z,{children:(0,j.jsxs)(d.ZP,{xs:12,children:[(0,j.jsx)(d.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,j.jsx)(b.Z,{placeholder:"Highlight Line",onChange:g,value:h})}),(0,j.jsx)(d.ZP,{item:!0,xs:12,children:(0,j.jsx)("div",{id:"logs-container",className:n.logList,children:w})})]})})]})})))},51774:function(e,n,t){"use strict";t.d(n,{V9:function(){return o},ci:function(){return r},HE:function(){return s},x2:function(){return a}});var o=1006,r=1008,s=1011,a=function(e){var n="ws";return"https:"===e&&(n="wss"),n}},65771:function(e,n,t){"use strict";t.d(n,{Z:function(){return Z}});var o=t(36222),r=t(1048),s=t(32793),a=t(50390),i=t(44977),c=t(50076),l=t(91442),d=t(35477),h=t(14478),u=t(23060),g=t(8208),p=t(10594);function m(e){return(0,p.Z)("MuiInputAdornment",e)}var f,v=(0,t(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),x=t(15573),b=t(62559),j=["children","className","component","disablePointerEvents","disableTypography","position","variant"],w=(0,g.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,n["position".concat((0,l.Z)(t.position))],!0===t.disablePointerEvents&&n.disablePointerEvents,n[t.variant]]}})((function(e){var n=e.theme,t=e.ownerState;return(0,s.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:n.palette.action.active},"filled"===t.variant&&(0,o.Z)({},"&.".concat(v.positionStart,"&:not(.").concat(v.hiddenLabel,")"),{marginTop:16}),"start"===t.position&&{marginRight:8},"end"===t.position&&{marginLeft:8},!0===t.disablePointerEvents&&{pointerEvents:"none"})})),Z=a.forwardRef((function(e,n){var t=(0,x.Z)({props:e,name:"MuiInputAdornment"}),o=t.children,g=t.className,p=t.component,v=void 0===p?"div":p,Z=t.disablePointerEvents,y=void 0!==Z&&Z,C=t.disableTypography,N=void 0!==C&&C,L=t.position,k=t.variant,P=(0,r.Z)(t,j),E=(0,u.Z)()||{},S=k;k&&E.variant,E&&!S&&(S=E.variant);var M=(0,s.Z)({},t,{hiddenLabel:E.hiddenLabel,size:E.size,disablePointerEvents:y,position:L,variant:S}),I=function(e){var n=e.classes,t=e.disablePointerEvents,o=e.hiddenLabel,r=e.position,s=e.size,a=e.variant,i={root:["root",t&&"disablePointerEvents",r&&"position".concat((0,l.Z)(r)),a,o&&"hiddenLabel",s&&"size".concat((0,l.Z)(s))]};return(0,c.Z)(i,m,n)}(M);return(0,b.jsx)(h.Z.Provider,{value:null,children:(0,b.jsx)(w,(0,s.Z)({as:v,ownerState:M,className:(0,i.Z)(I.root,g),ref:n},P,{children:"string"!==typeof o||N?(0,b.jsxs)(a.Fragment,{children:["start"===L?f||(f=(0,b.jsx)("span",{className:"notranslate",children:"\u200b"})):null,o]}):(0,b.jsx)(d.Z,{color:"text.secondary",children:o})}))})}))},3930: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__}}()},69686:function(e,n,t){var o;if("object"===typeof globalThis)o=globalThis;else try{o=t(3930)}catch(i){}finally{if(o||"undefined"===typeof window||(o=window),!o)throw new Error("Could not determine global this")}var r=o.WebSocket||o.MozWebSocket,s=t(84994);function a(e,n){return n?new r(e,n):new r(e)}r&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(a,e,{get:function(){return r[e]}})})),e.exports={w3cwebsocket:r?a:null,version:s}},84994:function(e,n,t){e.exports=t(19794).version},19794:function(e){"use strict";e.exports={version:"1.0.34"}}}]); +//# sourceMappingURL=4839.ed81765f.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4839.cfc74e75.chunk.js.map b/portal-ui/build/static/js/4839.ed81765f.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/4839.cfc74e75.chunk.js.map rename to portal-ui/build/static/js/4839.ed81765f.chunk.js.map index 3fc3777b2..8d4969811 100644 --- a/portal-ui/build/static/js/4839.cfc74e75.chunk.js.map +++ b/portal-ui/build/static/js/4839.ed81765f.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/4839.cfc74e75.chunk.js","mappings":"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","sources":["screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Logs/ErrorLogs/ErrorLogs.tsx","utils/wsUtils.ts","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../node_modules/es5-ext/global.js","../node_modules/websocket/lib/browser.js","../node_modules/websocket/lib/version.js"],"sourcesContent":["import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\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 .\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { connect } from \"react-redux\";\nimport { Grid } from \"@mui/material\";\nimport moment from \"moment/moment\";\nimport { AppState } from \"../../../../store\";\nimport { logMessageReceived, logResetMessages } from \"../actions\";\nimport { LogMessage } from \"../types\";\nimport { timeFromDate } from \"../../../../common/utils\";\nimport { wsProtocol } from \"../../../../utils/wsUtils\";\nimport {\n actionsTray,\n containerForHeader,\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\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n logList: {\n background: \"#fff\",\n minHeight: 400,\n height: \"calc(100vh - 280px)\",\n overflow: \"auto\",\n fontSize: 13,\n padding: \"15px 15px 0\",\n border: \"1px solid #EAEDEE\",\n borderRadius: 4,\n },\n tab: {\n paddingLeft: 25,\n },\n logerror: {\n color: \"#A52A2A\",\n },\n logerror_tab: {\n color: \"#A52A2A\",\n paddingLeft: 25,\n },\n ansidefault: {\n color: \"#000\",\n },\n highlight: {\n \"& span\": {\n backgroundColor: \"#082F5238\",\n },\n },\n ...actionsTray,\n ...searchField,\n ...logsCommon,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface ILogs {\n classes: any;\n logMessageReceived: typeof logMessageReceived;\n logResetMessages: typeof logResetMessages;\n messages: LogMessage[];\n}\n\nconst ErrorLogs = ({\n classes,\n logMessageReceived,\n logResetMessages,\n messages,\n}: ILogs) => {\n const [highlight, setHighlight] = useState(\"\");\n\n useEffect(() => {\n 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\n const c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}/ws/console`\n );\n\n let interval: any | null = null;\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n c.send(\"ok\");\n interval = setInterval(() => {\n c.send(\"ok\");\n }, 10 * 1000);\n };\n c.onmessage = (message: IMessageEvent) => {\n // console.log(message.data.toString())\n // FORMAT: 00:35:17 UTC 01/01/2021\n let m: LogMessage = JSON.parse(message.data.toString());\n m.time = moment(m.time, \"HH:mm:s UTC MM/DD/YYYY\").toDate();\n m.key = Math.random();\n logMessageReceived(m);\n };\n c.onclose = () => {\n clearInterval(interval);\n console.log(\"connection closed by server\");\n };\n return () => {\n c.close(1000);\n clearInterval(interval);\n console.log(\"closing websockets\");\n };\n }\n }, [logMessageReceived, logResetMessages]);\n\n const renderError = (logElement: LogMessage) => {\n let errorElems = [];\n if (logElement.error !== null && logElement.error !== undefined) {\n if (logElement.api && logElement.api.name) {\n const errorText = `API: ${logElement.api.name}`;\n\n const highlightedLine =\n highlight !== \"\"\n ? errorText.toLowerCase().includes(highlight.toLowerCase())\n : false;\n\n errorElems.push(\n \n
\n {errorText}\n \n );\n }\n if (logElement.time) {\n const errorText = `Time: ${timeFromDate(logElement.time)}`;\n const highlightedLine =\n highlight !== \"\"\n ? errorText.toLowerCase().includes(highlight.toLowerCase())\n : false;\n errorElems.push(\n \n {errorText}\n \n );\n }\n if (logElement.deploymentid) {\n const errorText = `DeploymentID: ${logElement.deploymentid}`;\n const highlightedLine =\n highlight !== \"\"\n ? errorText.toLowerCase().includes(highlight.toLowerCase())\n : false;\n errorElems.push(\n \n {errorText}\n \n );\n }\n if (logElement.requestID) {\n const errorText = `RequestID: ${logElement.requestID}`;\n const highlightedLine =\n highlight !== \"\"\n ? errorText.toLowerCase().includes(highlight.toLowerCase())\n : false;\n errorElems.push(\n \n {errorText}\n \n );\n }\n if (logElement.remotehost) {\n const errorText = `RemoteHost: ${logElement.remotehost}`;\n const highlightedLine =\n highlight !== \"\"\n ? errorText.toLowerCase().includes(highlight.toLowerCase())\n : false;\n errorElems.push(\n \n {errorText}\n \n );\n }\n if (logElement.host) {\n const errorText = `Host: ${logElement.host}`;\n const highlightedLine =\n highlight !== \"\"\n ? errorText.toLowerCase().includes(highlight.toLowerCase())\n : false;\n errorElems.push(\n \n {errorText}\n \n );\n }\n if (logElement.userAgent) {\n const errorText = `UserAgent: ${logElement.userAgent}`;\n const highlightedLine =\n highlight !== \"\"\n ? errorText.toLowerCase().includes(highlight.toLowerCase())\n : false;\n errorElems.push(\n \n {errorText}\n \n );\n }\n if (logElement.error.message) {\n const errorText = `Error: ${logElement.error.message}`;\n const highlightedLine =\n highlight !== \"\"\n ? errorText.toLowerCase().includes(highlight.toLowerCase())\n : false;\n errorElems.push(\n \n {errorText}\n \n );\n }\n if (logElement.error.source) {\n // for all sources add padding\n for (let s in logElement.error.source) {\n const errorText = logElement.error.source[s];\n const highlightedLine =\n highlight !== \"\"\n ? errorText.toLowerCase().includes(highlight.toLowerCase())\n : false;\n errorElems.push(\n \n {errorText}\n \n );\n }\n }\n }\n return errorElems;\n };\n\n const renderLog = (logElement: LogMessage) => {\n let logMessage = logElement.ConsoleMsg;\n // remove any non ascii characters, exclude any control codes\n logMessage = logMessage.replace(/([^\\x20-\\x7F])/g, \"\");\n\n // regex for terminal colors like e.g. `[31;4m `\n const tColorRegex = /((\\[[0-9;]+m))/g;\n\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 let substr = logMessage.replace(tColorRegex, \"\");\n\n // in case highlight is set, we select the line that contains the requested string\n let highlightedLine =\n highlight !== \"\"\n ? logMessage.toLowerCase().includes(highlight.toLowerCase())\n : false;\n\n // if starts with multiple spaces add padding\n if (substr.startsWith(\" \")) {\n return (\n \n {substr}\n \n );\n } else if (logElement.error !== null && logElement.error !== undefined) {\n // list error message and all sources and error elems\n return renderError(logElement);\n } else {\n // for all remaining set default class\n return (\n \n {substr}\n \n );\n }\n };\n\n const renderLines = messages.map((m) => {\n return renderLog(m);\n });\n\n return (\n \n \n \n \n \n \n \n \n
\n {renderLines}\n
\n
\n
\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n messages: state.logs.messages,\n});\n\nconst connector = connect(mapState, {\n logMessageReceived: logMessageReceived,\n logResetMessages: logResetMessages,\n});\n\nexport default withStyles(styles)(connector(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 { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","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","pageContentStyles","classes","className","children","contentSpacer","container","item","xs","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","width","minHeight","display","backgroundColor","left","boxShadow","label","justifyContent","alignItems","labelStyle","color","fontSize","fontWeight","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","actions","direction","sm","md","sx","paddingTop","variant","length","component","onClick","size","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","id","InputProps","e","target","messages","logs","logMessageReceived","logResetMessages","logList","background","height","overflow","padding","border","borderRadius","tab","paddingLeft","logerror","logerror_tab","ansidefault","highlight","actionsTray","logsCommon","containerForHeader","spacing","useState","setHighlight","useEffect","url","URL","window","location","toString","port","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","interval","onopen","console","log","send","setInterval","onmessage","message","m","JSON","parse","data","time","moment","toDate","key","Math","random","onclose","clearInterval","close","renderLog","logElement","logMessage","ConsoleMsg","substr","replace","highlightedLine","toLowerCase","includes","startsWith","error","undefined","errorElems","api","name","errorText","push","timeFromDate","deploymentid","requestID","remotehost","host","userAgent","source","s","renderError","renderLines","map","Fragment","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","props","styles","ownerState","root","capitalize","disablePointerEvents","_extends","maxHeight","whiteSpace","action","active","inputAdornmentClasses","marginRight","pointerEvents","React","inProps","ref","useThemeProps","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","clsx","_jsxs","Typography","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 +{"version":3,"file":"static/js/4839.ed81765f.chunk.js","mappings":"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","sources":["screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Logs/ErrorLogs/ErrorLogs.tsx","utils/wsUtils.ts","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../node_modules/es5-ext/global.js","../node_modules/websocket/lib/browser.js","../node_modules/websocket/lib/version.js"],"sourcesContent":["import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\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 .\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { connect } from \"react-redux\";\nimport { Grid } from \"@mui/material\";\nimport moment from \"moment/moment\";\nimport { AppState } from \"../../../../store\";\nimport { logMessageReceived, logResetMessages } from \"../actions\";\nimport { LogMessage } from \"../types\";\nimport { timeFromDate } from \"../../../../common/utils\";\nimport { wsProtocol } from \"../../../../utils/wsUtils\";\nimport {\n actionsTray,\n containerForHeader,\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\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n logList: {\n background: \"#fff\",\n minHeight: 400,\n height: \"calc(100vh - 280px)\",\n overflow: \"auto\",\n fontSize: 13,\n padding: \"15px 15px 0\",\n border: \"1px solid #EAEDEE\",\n borderRadius: 4,\n },\n tab: {\n paddingLeft: 25,\n },\n logerror: {\n color: \"#A52A2A\",\n },\n logerror_tab: {\n color: \"#A52A2A\",\n paddingLeft: 25,\n },\n ansidefault: {\n color: \"#000\",\n },\n highlight: {\n \"& span\": {\n backgroundColor: \"#082F5238\",\n },\n },\n ...actionsTray,\n ...searchField,\n ...logsCommon,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface ILogs {\n classes: any;\n logMessageReceived: typeof logMessageReceived;\n logResetMessages: typeof logResetMessages;\n messages: LogMessage[];\n}\n\nconst ErrorLogs = ({\n classes,\n logMessageReceived,\n logResetMessages,\n messages,\n}: ILogs) => {\n const [highlight, setHighlight] = useState(\"\");\n\n useEffect(() => {\n 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\n const c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}/ws/console`\n );\n\n let interval: any | null = null;\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n c.send(\"ok\");\n interval = setInterval(() => {\n c.send(\"ok\");\n }, 10 * 1000);\n };\n c.onmessage = (message: IMessageEvent) => {\n // console.log(message.data.toString())\n // FORMAT: 00:35:17 UTC 01/01/2021\n let m: LogMessage = JSON.parse(message.data.toString());\n m.time = moment(m.time, \"HH:mm:s UTC MM/DD/YYYY\").toDate();\n m.key = Math.random();\n logMessageReceived(m);\n };\n c.onclose = () => {\n clearInterval(interval);\n console.log(\"connection closed by server\");\n };\n return () => {\n c.close(1000);\n clearInterval(interval);\n console.log(\"closing websockets\");\n };\n }\n }, [logMessageReceived, logResetMessages]);\n\n const renderError = (logElement: LogMessage) => {\n let errorElems = [];\n if (logElement.error !== null && logElement.error !== undefined) {\n if (logElement.api && logElement.api.name) {\n const errorText = `API: ${logElement.api.name}`;\n\n const highlightedLine =\n highlight !== \"\"\n ? errorText.toLowerCase().includes(highlight.toLowerCase())\n : false;\n\n errorElems.push(\n \n
\n {errorText}\n \n );\n }\n if (logElement.time) {\n const errorText = `Time: ${timeFromDate(logElement.time)}`;\n const highlightedLine =\n highlight !== \"\"\n ? errorText.toLowerCase().includes(highlight.toLowerCase())\n : false;\n errorElems.push(\n \n {errorText}\n \n );\n }\n if (logElement.deploymentid) {\n const errorText = `DeploymentID: ${logElement.deploymentid}`;\n const highlightedLine =\n highlight !== \"\"\n ? errorText.toLowerCase().includes(highlight.toLowerCase())\n : false;\n errorElems.push(\n \n {errorText}\n \n );\n }\n if (logElement.requestID) {\n const errorText = `RequestID: ${logElement.requestID}`;\n const highlightedLine =\n highlight !== \"\"\n ? errorText.toLowerCase().includes(highlight.toLowerCase())\n : false;\n errorElems.push(\n \n {errorText}\n \n );\n }\n if (logElement.remotehost) {\n const errorText = `RemoteHost: ${logElement.remotehost}`;\n const highlightedLine =\n highlight !== \"\"\n ? errorText.toLowerCase().includes(highlight.toLowerCase())\n : false;\n errorElems.push(\n \n {errorText}\n \n );\n }\n if (logElement.host) {\n const errorText = `Host: ${logElement.host}`;\n const highlightedLine =\n highlight !== \"\"\n ? errorText.toLowerCase().includes(highlight.toLowerCase())\n : false;\n errorElems.push(\n \n {errorText}\n \n );\n }\n if (logElement.userAgent) {\n const errorText = `UserAgent: ${logElement.userAgent}`;\n const highlightedLine =\n highlight !== \"\"\n ? errorText.toLowerCase().includes(highlight.toLowerCase())\n : false;\n errorElems.push(\n \n {errorText}\n \n );\n }\n if (logElement.error.message) {\n const errorText = `Error: ${logElement.error.message}`;\n const highlightedLine =\n highlight !== \"\"\n ? errorText.toLowerCase().includes(highlight.toLowerCase())\n : false;\n errorElems.push(\n \n {errorText}\n \n );\n }\n if (logElement.error.source) {\n // for all sources add padding\n for (let s in logElement.error.source) {\n const errorText = logElement.error.source[s];\n const highlightedLine =\n highlight !== \"\"\n ? errorText.toLowerCase().includes(highlight.toLowerCase())\n : false;\n errorElems.push(\n \n {errorText}\n \n );\n }\n }\n }\n return errorElems;\n };\n\n const renderLog = (logElement: LogMessage) => {\n let logMessage = logElement.ConsoleMsg;\n // remove any non ascii characters, exclude any control codes\n logMessage = logMessage.replace(/([^\\x20-\\x7F])/g, \"\");\n\n // regex for terminal colors like e.g. `[31;4m `\n const tColorRegex = /((\\[[0-9;]+m))/g;\n\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 let substr = logMessage.replace(tColorRegex, \"\");\n\n // in case highlight is set, we select the line that contains the requested string\n let highlightedLine =\n highlight !== \"\"\n ? logMessage.toLowerCase().includes(highlight.toLowerCase())\n : false;\n\n // if starts with multiple spaces add padding\n if (substr.startsWith(\" \")) {\n return (\n \n {substr}\n \n );\n } else if (logElement.error !== null && logElement.error !== undefined) {\n // list error message and all sources and error elems\n return renderError(logElement);\n } else {\n // for all remaining set default class\n return (\n \n {substr}\n \n );\n }\n };\n\n const renderLines = messages.map((m) => {\n return renderLog(m);\n });\n\n return (\n \n \n \n \n \n \n \n \n
\n {renderLines}\n
\n
\n
\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n messages: state.logs.messages,\n});\n\nconst connector = connect(mapState, {\n logMessageReceived: logMessageReceived,\n logResetMessages: logResetMessages,\n});\n\nexport default withStyles(styles)(connector(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 { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","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","pageContentStyles","classes","className","children","contentSpacer","container","item","xs","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","width","minHeight","display","backgroundColor","left","boxShadow","label","justifyContent","alignItems","labelStyle","color","fontSize","fontWeight","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","actions","direction","sm","md","sx","paddingTop","variant","length","component","onClick","size","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","id","InputProps","e","target","messages","logs","logMessageReceived","logResetMessages","logList","background","height","overflow","padding","border","borderRadius","tab","paddingLeft","logerror","logerror_tab","ansidefault","highlight","actionsTray","logsCommon","containerForHeader","spacing","useState","setHighlight","useEffect","url","URL","window","location","toString","port","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","interval","onopen","console","log","send","setInterval","onmessage","message","m","JSON","parse","data","time","moment","toDate","key","Math","random","onclose","clearInterval","close","renderLog","logElement","logMessage","ConsoleMsg","substr","replace","highlightedLine","toLowerCase","includes","startsWith","error","undefined","errorElems","api","name","errorText","push","timeFromDate","deploymentid","requestID","remotehost","host","userAgent","source","s","renderError","renderLines","map","Fragment","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","props","styles","ownerState","root","capitalize","disablePointerEvents","_extends","maxHeight","whiteSpace","action","active","inputAdornmentClasses","marginRight","pointerEvents","React","inProps","ref","useThemeProps","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","clsx","_jsxs","Typography","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/4869.b14a3a6c.chunk.js b/portal-ui/build/static/js/4869.4a53840e.chunk.js similarity index 57% rename from portal-ui/build/static/js/4869.b14a3a6c.chunk.js rename to portal-ui/build/static/js/4869.4a53840e.chunk.js index 4e7622ceb..9ac56f585 100644 --- a/portal-ui/build/static/js/4869.b14a3a6c.chunk.js +++ b/portal-ui/build/static/js/4869.4a53840e.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4869],{37882:function(e,n,t){var r=t(18489),a=t(50390),o=t(62559);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function t(t){return(0,o.jsx)(a.Suspense,{fallback:n,children:(0,o.jsx)(e,(0,r.Z)({},t))})}return t}},25534:function(e,n,t){var r=t(18489),a=(t(50390),t(25594)),o=t(86509),i=t(4285),l=t(72462),s=t(62559);n.Z=(0,i.Z)((function(e){return(0,o.Z)((0,r.Z)({},l.Bw))}))((function(e){var n=e.classes,t=e.className,r=void 0===t?"":t,o=e.children;return(0,s.jsx)("div",{className:n.contentSpacer,children:(0,s.jsx)(a.ZP,{container:!0,children:(0,s.jsx)(a.ZP,{item:!0,xs:12,className:r,children:o})})})}))},35721:function(e,n,t){t(50390);var r=t(34424),a=t(25594),o=t(86509),i=t(4285),l=t(35477),s=t(95467),c=t(26805),u=t(44078),d=t(5265),f=t(11387),h=t(62559),m={toggleList:d.kQ},p=(0,r.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),m);n.Z=p((0,i.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,r=e.actions,o=e.sidebarOpen,i=e.operatorMode,d=e.managerObjects,m=e.toggleList,p=e.middleComponent;return(0,h.jsxs)(a.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,h.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,h.jsx)("div",{className:n.logo,children:i?(0,h.jsx)(c.Z,{}):(0,h.jsx)(u.Z,{})}),(0,h.jsx)(l.Z,{variant:"h4",className:n.labelStyle,children:t})]}),p&&(0,h.jsx)(a.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:p}),(0,h.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:n.rightMenu,children:[r&&r,d&&d.length>0&&(0,h.jsx)(s.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){m()},size:"large",children:(0,h.jsx)(f.gx,{})})]})]})})))},57647:function(e,n,t){var r=t(18489),a=t(23430),o=t(50390),i=t(56805),l=t(49044),s=t(97227),c=t(74564),u=t(669),d=t(4285),f=t(88669),h=t(86509),m=t(13512),p=t(62559),x={minHeight:60};n.Z=(0,d.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,d=e.selectedTab,h=void 0===d?"0":d,b=e.routes,Z=e.isRouteTabs,v=o.useState(h),g=(0,a.Z)(v,2),j=g[0],C=g[1],P=(0,f.Z)(),w=(0,m.Z)(P.breakpoints.down("md")),T=[],M=[];return n?(n.forEach((function(e){T.push(e.tabConfig),M.push(e.content)})),(0,p.jsx)(s.ZP,{value:"".concat(j),children:(0,p.jsxs)(i.Z,{className:t.tabsContainer,children:[(0,p.jsx)(i.Z,{className:t.tabsHeaderContainer,children:(0,p.jsx)(c.Z,{onChange:function(e,n){C(n)},orientation:w?"horizontal":"vertical",variant:w?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:T.map((function(e,n){return e?(0,p.jsx)(l.Z,(0,r.Z)((0,r.Z)({className:t.tabHeader,value:"".concat(n),style:x},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,p.jsxs)(i.Z,{className:t.tabContentContainer,children:[Z?null:M.map((function(e,n){return(0,p.jsx)(u.Z,{classes:(0,r.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),Z?(0,p.jsx)("div",{className:t.tabPanel,children:b}):null]})]})})):null}))},24869:function(e,n,t){t.r(n);var r=t(23430),a=t(18489),o=t(50390),i=t(86509),l=t(4285),s=t(70971),c=t(6369),u=t(72462),d=t(24442),f=t(35721),h=t(25534),m=t(57647),p=t(37882),x=t(62559),b=(0,p.Z)(o.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(5444),t.e(892),t.e(3690),t.e(5399),t.e(2594),t.e(7777),t.e(5947)]).then(t.bind(t,75947))}))),Z=(0,p.Z)(o.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(892),t.e(3690),t.e(5399),t.e(7777),t.e(4533)]).then(t.bind(t,14533))}))),v=["/storage/volumes","/storage/drives"];n.default=(0,l.Z)((function(e){return(0,i.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({pageContainer:{border:"1px solid #EAEAEA",height:"100%"}},u.Bw),u.OR),u.qg),(0,u.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.match,a=null===t||void 0===t?void 0:t.path;a=a||v[0];var i=(0,o.useState)(a),l=(0,r.Z)(i,2),u=l[0],p=l[1];return(0,o.useEffect)((function(){p(a)}),[a]),(0,x.jsxs)(o.Fragment,{children:[(0,x.jsx)(f.Z,{label:"Storage"}),(0,x.jsx)(h.Z,{className:n.pageContainer,children:(0,x.jsxs)(m.Z,{selectedTab:u,isRouteTabs:!0,routes:(0,x.jsx)("div",{className:n.contentSpacer,children:(0,x.jsx)(s.F0,{history:d.Z,children:(0,x.jsxs)(s.rs,{children:[(0,x.jsx)(s.AW,{exact:!0,path:v[0],component:b}),(0,x.jsx)(s.AW,{exact:!0,path:v[1],component:Z}),(0,x.jsx)(s.AW,{render:function(){return(0,x.jsx)(s.l_,{to:v[0]})}})]})})}),children:[{tabConfig:{label:"Volumes",value:v[0],component:c.rU,to:v[0]}},{tabConfig:{label:"Drives",value:v[1],component:c.rU,to:v[1]}}]})})]})}))},97227:function(e,n,t){t.d(n,{ZP:function(){return l},_i:function(){return s},uU:function(){return c},pQ:function(){return u}});var r=t(23430),a=t(50390),o=t(62559),i=a.createContext(null);function l(e){var n=e.children,t=e.value,l=function(){var e=a.useState(null),n=(0,r.Z)(e,2),t=n[0],o=n[1];return a.useEffect((function(){o("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),t}(),s=a.useMemo((function(){return{idPrefix:l,value:t}}),[l,t]);return(0,o.jsx)(i.Provider,{value:s,children:n})}function s(){return a.useContext(i)}function c(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(n)}function u(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(n)}},74564:function(e,n,t){var r=t(18207),a=t(46633),o=t(50390),i=t(98247),l=t(97227),s=t(62559),c=["children"],u=o.forwardRef((function(e,n){var t=e.children,u=(0,a.Z)(e,c),d=(0,l._i)();if(null===d)throw new TypeError("No TabContext provided");var f=o.Children.map(t,(function(e){return o.isValidElement(e)?o.cloneElement(e,{"aria-controls":(0,l.uU)(d,e.props.value),id:(0,l.pQ)(d,e.props.value)}):null}));return(0,s.jsx)(i.Z,(0,r.Z)({},u,{ref:n,value:d.value,children:f}))}));n.Z=u},669:function(e,n,t){t.d(n,{Z:function(){return x}});var r=t(18207),a=t(46633),o=t(50390),i=t(44977),l=t(8208),s=t(15573),c=t(50076),u=t(10594);function d(e){return(0,u.Z)("MuiTabPanel",e)}(0,t(43349).Z)("MuiTabPanel",["root"]);var f=t(97227),h=t(62559),m=["children","className","value"],p=(0,l.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,n){return n.root}})((function(e){return{padding:e.theme.spacing(3)}})),x=o.forwardRef((function(e,n){var t=(0,s.Z)({props:e,name:"MuiTabPanel"}),o=t.children,l=t.className,u=t.value,x=(0,a.Z)(t,m),b=(0,r.Z)({},t),Z=function(e){var n=e.classes;return(0,c.Z)({root:["root"]},d,n)}(b),v=(0,f._i)();if(null===v)throw new TypeError("No TabContext provided");var g=(0,f.uU)(v,u),j=(0,f.pQ)(v,u);return(0,h.jsx)(p,(0,r.Z)({"aria-labelledby":j,className:(0,i.Z)(Z.root,l),hidden:u!==v.value,id:g,ref:n,role:"tabpanel",ownerState:b},x,{children:u===v.value&&o}))}))}}]); -//# sourceMappingURL=4869.b14a3a6c.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4869],{37882:function(e,n,t){var r=t(18489),a=t(50390),o=t(62559);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function t(t){return(0,o.jsx)(a.Suspense,{fallback:n,children:(0,o.jsx)(e,(0,r.Z)({},t))})}return t}},25534:function(e,n,t){var r=t(18489),a=(t(50390),t(25594)),o=t(86509),i=t(4285),l=t(72462),s=t(62559);n.Z=(0,i.Z)((function(e){return(0,o.Z)((0,r.Z)({},l.Bw))}))((function(e){var n=e.classes,t=e.className,r=void 0===t?"":t,o=e.children;return(0,s.jsx)("div",{className:n.contentSpacer,children:(0,s.jsx)(a.ZP,{container:!0,children:(0,s.jsx)(a.ZP,{item:!0,xs:12,className:r,children:o})})})}))},35721:function(e,n,t){t(50390);var r=t(34424),a=t(25594),o=t(86509),i=t(4285),l=t(35477),s=t(95467),c=t(26805),u=t(44078),d=t(5265),f=t(98280),h=t(62559),m={toggleList:d.kQ},p=(0,r.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),m);n.Z=p((0,i.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,r=e.actions,o=e.sidebarOpen,i=e.operatorMode,d=e.managerObjects,m=e.toggleList,p=e.middleComponent;return(0,h.jsxs)(a.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,h.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,h.jsx)("div",{className:n.logo,children:i?(0,h.jsx)(c.Z,{}):(0,h.jsx)(u.Z,{})}),(0,h.jsx)(l.Z,{variant:"h4",className:n.labelStyle,children:t})]}),p&&(0,h.jsx)(a.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:p}),(0,h.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:n.rightMenu,children:[r&&r,d&&d.length>0&&(0,h.jsx)(s.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){m()},size:"large",children:(0,h.jsx)(f.gx,{})})]})]})})))},57647:function(e,n,t){var r=t(18489),a=t(23430),o=t(50390),i=t(56805),l=t(49044),s=t(97227),c=t(74564),u=t(669),d=t(4285),f=t(88669),h=t(86509),m=t(13512),p=t(62559),x={minHeight:60};n.Z=(0,d.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,d=e.selectedTab,h=void 0===d?"0":d,b=e.routes,Z=e.isRouteTabs,v=o.useState(h),g=(0,a.Z)(v,2),j=g[0],C=g[1],P=(0,f.Z)(),w=(0,m.Z)(P.breakpoints.down("md")),T=[],M=[];return n?(n.forEach((function(e){T.push(e.tabConfig),M.push(e.content)})),(0,p.jsx)(s.ZP,{value:"".concat(j),children:(0,p.jsxs)(i.Z,{className:t.tabsContainer,children:[(0,p.jsx)(i.Z,{className:t.tabsHeaderContainer,children:(0,p.jsx)(c.Z,{onChange:function(e,n){C(n)},orientation:w?"horizontal":"vertical",variant:w?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:T.map((function(e,n){return e?(0,p.jsx)(l.Z,(0,r.Z)((0,r.Z)({className:t.tabHeader,value:"".concat(n),style:x},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,p.jsxs)(i.Z,{className:t.tabContentContainer,children:[Z?null:M.map((function(e,n){return(0,p.jsx)(u.Z,{classes:(0,r.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),Z?(0,p.jsx)("div",{className:t.tabPanel,children:b}):null]})]})})):null}))},24869:function(e,n,t){t.r(n);var r=t(23430),a=t(18489),o=t(50390),i=t(86509),l=t(4285),s=t(70971),c=t(6369),u=t(72462),d=t(24442),f=t(35721),h=t(25534),m=t(57647),p=t(37882),x=t(62559),b=(0,p.Z)(o.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(5444),t.e(3152),t.e(3690),t.e(5399),t.e(2594),t.e(7777),t.e(5947)]).then(t.bind(t,75947))}))),Z=(0,p.Z)(o.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(3152),t.e(3690),t.e(5399),t.e(7777),t.e(4533)]).then(t.bind(t,14533))}))),v=["/storage/volumes","/storage/drives"];n.default=(0,l.Z)((function(e){return(0,i.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({pageContainer:{border:"1px solid #EAEAEA",height:"100%"}},u.Bw),u.OR),u.qg),(0,u.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.match,a=null===t||void 0===t?void 0:t.path;a=a||v[0];var i=(0,o.useState)(a),l=(0,r.Z)(i,2),u=l[0],p=l[1];return(0,o.useEffect)((function(){p(a)}),[a]),(0,x.jsxs)(o.Fragment,{children:[(0,x.jsx)(f.Z,{label:"Storage"}),(0,x.jsx)(h.Z,{className:n.pageContainer,children:(0,x.jsxs)(m.Z,{selectedTab:u,isRouteTabs:!0,routes:(0,x.jsx)("div",{className:n.contentSpacer,children:(0,x.jsx)(s.F0,{history:d.Z,children:(0,x.jsxs)(s.rs,{children:[(0,x.jsx)(s.AW,{exact:!0,path:v[0],component:b}),(0,x.jsx)(s.AW,{exact:!0,path:v[1],component:Z}),(0,x.jsx)(s.AW,{render:function(){return(0,x.jsx)(s.l_,{to:v[0]})}})]})})}),children:[{tabConfig:{label:"Volumes",value:v[0],component:c.rU,to:v[0]}},{tabConfig:{label:"Drives",value:v[1],component:c.rU,to:v[1]}}]})})]})}))},97227:function(e,n,t){t.d(n,{ZP:function(){return l},_i:function(){return s},uU:function(){return c},pQ:function(){return u}});var r=t(23430),a=t(50390),o=t(62559),i=a.createContext(null);function l(e){var n=e.children,t=e.value,l=function(){var e=a.useState(null),n=(0,r.Z)(e,2),t=n[0],o=n[1];return a.useEffect((function(){o("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),t}(),s=a.useMemo((function(){return{idPrefix:l,value:t}}),[l,t]);return(0,o.jsx)(i.Provider,{value:s,children:n})}function s(){return a.useContext(i)}function c(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(n)}function u(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(n)}},74564:function(e,n,t){var r=t(18207),a=t(46633),o=t(50390),i=t(98247),l=t(97227),s=t(62559),c=["children"],u=o.forwardRef((function(e,n){var t=e.children,u=(0,a.Z)(e,c),d=(0,l._i)();if(null===d)throw new TypeError("No TabContext provided");var f=o.Children.map(t,(function(e){return o.isValidElement(e)?o.cloneElement(e,{"aria-controls":(0,l.uU)(d,e.props.value),id:(0,l.pQ)(d,e.props.value)}):null}));return(0,s.jsx)(i.Z,(0,r.Z)({},u,{ref:n,value:d.value,children:f}))}));n.Z=u},669:function(e,n,t){t.d(n,{Z:function(){return x}});var r=t(18207),a=t(46633),o=t(50390),i=t(44977),l=t(8208),s=t(15573),c=t(50076),u=t(10594);function d(e){return(0,u.Z)("MuiTabPanel",e)}(0,t(43349).Z)("MuiTabPanel",["root"]);var f=t(97227),h=t(62559),m=["children","className","value"],p=(0,l.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,n){return n.root}})((function(e){return{padding:e.theme.spacing(3)}})),x=o.forwardRef((function(e,n){var t=(0,s.Z)({props:e,name:"MuiTabPanel"}),o=t.children,l=t.className,u=t.value,x=(0,a.Z)(t,m),b=(0,r.Z)({},t),Z=function(e){var n=e.classes;return(0,c.Z)({root:["root"]},d,n)}(b),v=(0,f._i)();if(null===v)throw new TypeError("No TabContext provided");var g=(0,f.uU)(v,u),j=(0,f.pQ)(v,u);return(0,h.jsx)(p,(0,r.Z)({"aria-labelledby":j,className:(0,i.Z)(Z.root,l),hidden:u!==v.value,id:g,ref:n,role:"tabpanel",ownerState:b},x,{children:u===v.value&&o}))}))}}]); +//# sourceMappingURL=4869.4a53840e.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4869.b14a3a6c.chunk.js.map b/portal-ui/build/static/js/4869.4a53840e.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/4869.b14a3a6c.chunk.js.map rename to portal-ui/build/static/js/4869.4a53840e.chunk.js.map index 8c866399a..e4e9772c3 100644 --- a/portal-ui/build/static/js/4869.b14a3a6c.chunk.js.map +++ b/portal-ui/build/static/js/4869.4a53840e.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/4869.b14a3a6c.chunk.js","mappings":"kJAiCA,IAfA,SACEA,GAEC,IADDC,EACA,uDADsC,KAEtC,SAASC,EAAsBC,GAC7B,OACE,SAAC,EAAAC,SAAD,CAAUH,SAAUA,EAApB,UACE,SAACD,GAAD,UAAsBG,MAK5B,OAAOD,I,sGCAT,KAAeG,EAAAA,EAAAA,IAvBA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,UACRC,EAAAA,OAqBP,EAZmB,SAAC,GAA4D,IAA1DC,EAAyD,EAAzDA,QAAyD,IAAhDC,UAAAA,OAAgD,MAApC,GAAoC,EAAhCC,EAAgC,EAAhCA,SAC7C,OACE,gBAAKD,UAAWD,EAAQG,cAAxB,UACE,SAAC,KAAD,CAAMC,WAAS,EAAf,UACE,SAAC,KAAD,CAAMC,MAAI,EAACC,GAAI,GAAIL,UAAWA,EAA9B,SACGC,Y,0JC0ILK,EAAqB,CACzBC,WAAAA,EAAAA,IAGIC,GAAYC,EAAAA,EAAAA,KAVD,SAACC,GAAD,MAAsB,CACrCC,YAAaD,EAAME,OAAOD,YAC1BE,aAAcH,EAAME,OAAOC,aAC3BC,eAAgBJ,EAAMK,cAAcC,cAAcC,mBAOhBX,GAEpC,IAAeE,GAAUb,EAAAA,EAAAA,IA7HV,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXqB,gBAAiB,CACfC,MAAO,OACPC,UAAW,GACXC,QAAS,OACTC,gBAAiB,OACjBC,KAAM,EACNC,UAAW,8BAEbC,MAAO,CACLJ,QAAS,OACTK,eAAgB,aAChBC,WAAY,UAEdC,WAAY,CACVC,MAAO,OACPC,SAAU,GACVC,WAAY,IACZC,WAAY,GACZC,UAAW,GAEbC,UAAW,CACTC,UAAW,SAEbC,KAAM,CACJJ,WAAY,GACZK,KAAMzC,EAAM0C,QAAQC,QAAQC,KAC5B,cAAe,CACbrB,MAAO,MAGXsB,gBAAiB,CACfpB,QAAS,OACTK,eAAgB,SAChBC,WAAY,cA0FOhC,EAtFN,SAAC,GASA,IARlBI,EAQiB,EARjBA,QACA0B,EAOiB,EAPjBA,MACAiB,EAMiB,EANjBA,QACA/B,EAKiB,EALjBA,YACAE,EAIiB,EAJjBA,aACAC,EAGiB,EAHjBA,eACAP,EAEiB,EAFjBA,WACAkC,EACiB,EADjBA,gBAEA,OACE,UAAC,KAAD,CACEtC,WAAS,EACTH,UAAS,UAAKD,EAAQmB,gBAAb,gBACTyB,UAAU,MACVhB,WAAW,SAJb,WAME,UAAC,KAAD,CACEvB,MAAI,EACJC,GAAI,GACJuC,GAAI,GACJC,GAAIJ,EAAkB,EAAI,EAC1BzC,UAAWD,EAAQ0B,MACnBqB,GAAI,CACFC,WAAY,CAAC,OAAQ,OAAQ,IAAK,MAPtC,WAUIpC,IACA,gBAAKX,UAAWD,EAAQqC,KAAxB,SACGvB,GAAe,SAAC,IAAD,KAAmB,SAAC,IAAD,OAGvC,SAAC,IAAD,CAAYmC,QAAQ,KAAKhD,UAAWD,EAAQ6B,WAA5C,SACGH,OAGJgB,IACC,SAAC,KAAD,CACErC,MAAI,EACJC,GAAI,GACJuC,GAAI,GACJC,GAAI,EACJ7C,UAAWD,EAAQ0C,gBACnBK,GAAI,CAAEb,UAAW,CAAC,OAAQ,OAAQ,IAAK,MANzC,SAQGQ,KAGL,UAAC,KAAD,CACErC,MAAI,EACJC,GAAI,GACJuC,GAAI,GACJC,GAAIJ,EAAkB,EAAI,EAC1BzC,UAAWD,EAAQmC,UALrB,UAOGQ,GAAWA,EACX5B,GAAkBA,EAAemC,OAAS,IACzC,SAAC,IAAD,CACEpB,MAAM,UACN,aAAW,eACXqB,UAAU,OACVC,QAAS,WACP5C,KAEF6C,KAAK,QAPP,UASE,SAAC,KAAD,iB,sKCjENC,EAAgB,CACpBjC,UAAW,IAmFb,KAAezB,EAAAA,EAAAA,IAjJA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXyD,cAAe,CACbjC,QAAS,OACTkC,OAAQ,OACRpC,MAAO,QAETqC,oBAAqB,CACnBrC,MAAO,QACPsC,WAAY,UACZC,YAAa,oBACb,kBAAmB,CACjB,uBAAwB,CACtBrC,QAAS,QAEX,iBAAkB,CAChBA,QAAS,OACTsC,SAAU,MACVhC,WAAY,SACZD,eAAgB,aAChBkC,aAAc,oBACd,qBAAsB,CACpBC,YAAa,EACbC,aAAc,GAEhB,iBAAkB,CAChBL,WAAY,UACZ1B,WAAY,MAIhB,sBAAuB,CACrBV,QAAS,UAIf0C,oBAAqB,CACnB5C,MAAO,OACP,sBAAuB,CACrBoC,OAAQ,SAGZS,SAAU,CACRT,OAAQ,QAGV,4BAA6B,CAC3BD,cAAe,CACbK,SAAU,SACVM,cAAe,UAEjBT,oBAAqB,CACnBrC,MAAO,OACPyC,aAAc,qBACd,wDAAyD,CACvDA,aAAc,cA0FxB,EAhFqB,SAAC,GAMI,IALxB3D,EAKuB,EALvBA,SACAF,EAIuB,EAJvBA,QAIuB,IAHvBmE,YAAAA,OAGuB,MAHT,IAGS,EAFvBC,EAEuB,EAFvBA,OACAC,EACuB,EADvBA,YAEA,EAA0BC,EAAAA,SAAeH,GAAzC,eAAOI,EAAP,KAAcC,EAAd,KAEM3E,GAAQ4E,EAAAA,EAAAA,KACRC,GAAgBC,EAAAA,EAAAA,GAAc9E,EAAM+E,YAAYC,KAAK,OAMrDC,EAAyB,GACzBC,EAAiC,GAEvC,OAAK7E,GAELA,EAAS8E,SAAQ,SAACC,GAChBH,EAAWI,KAAKD,EAAME,WACtBJ,EAAYG,KAAKD,EAAMG,aAIvB,SAAC,KAAD,CAAYb,MAAK,UAAKA,GAAtB,UACE,UAAC,IAAD,CAAKtE,UAAWD,EAAQuD,cAAxB,WACE,SAAC,IAAD,CAAKtD,UAAWD,EAAQyD,oBAAxB,UACE,SAAC,IAAD,CACE4B,SAnBW,SAACC,EAA6BC,GACjDf,EAASe,IAmBDC,YAAad,EAAgB,aAAe,WAC5CzB,QAASyB,EAAgB,aAAe,WACxCe,cAAc,OACdxF,UAAWD,EAAQ0F,QALrB,SAOGZ,EAAWa,KAAI,SAACtF,EAAMuF,GACrB,OAAIvF,GAEA,SAAC,KAAD,gBACEJ,UAAWD,EAAQ6F,UAEnBtB,MAAK,UAAKqB,GACVE,MAAOxC,GACHjD,GALN,IAME0F,eAAa,EACbC,oBAAkB,EAClBC,aAAa,IARf,gBAEgBL,IAUb,aAKb,UAAC,IAAD,CAAK3F,UAAWD,EAAQgE,oBAAxB,UACIK,EAYE,KAXAU,EAAYY,KAAI,SAACtF,EAAMuF,GACrB,OACE,SAAC,IAAD,CACE5F,SAAO,UAAOA,EAAQiE,UAEtBM,MAAK,UAAKqB,GAHZ,SAKGvF,GAAc,MALjB,kBAEkBuF,OAQzBvB,GACC,gBAAKpE,UAAWD,EAAQiE,SAAxB,SAAmCG,IACjC,cAtDU,S,yLCtElB8B,GAAcC,EAAAA,EAAAA,GAAa7B,EAAAA,MAAW,kBAAM,gIAC5C8B,GAAkBD,EAAAA,EAAAA,GACtB7B,EAAAA,MAAW,kBAAM,4GAoBbF,EAAS,CAAC,mBAAoB,mBAqDpC,WAAexE,EAAAA,EAAAA,IAjEA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,gCACXuG,cAAe,CACbC,OAAQ,oBACR9C,OAAQ,SAEPzD,EAAAA,IACAwG,EAAAA,IACAC,EAAAA,KACAC,EAAAA,EAAAA,IAAmB5G,EAAM6G,QAAQ,QAwDxC,EAnDgB,SAAC,GAAuC,IAArC1G,EAAoC,EAApCA,QAAS2G,EAA2B,EAA3BA,MACtBC,EAAM,OAAGD,QAAH,IAAGA,OAAH,EAAGA,EAAOE,KACpBD,EAASA,GAAkBxC,EAAO,GAElC,OAAkC0C,EAAAA,EAAAA,UAASF,GAA3C,eAAOG,EAAP,KAAkBC,EAAlB,KAMA,OAJAC,EAAAA,EAAAA,YAAU,WACRD,EAAaJ,KACZ,CAACA,KAGF,UAAC,EAAAM,SAAD,YACE,SAAC,IAAD,CAAYxF,MAAO,aACnB,SAAC,IAAD,CAAYzB,UAAWD,EAAQqG,cAA/B,UACE,UAAC,IAAD,CACElC,YAAa4C,EACb1C,aAAW,EACXD,QACE,gBAAKnE,UAAWD,EAAQG,cAAxB,UACE,SAAC,KAAD,CAAQgH,QAASA,EAAAA,EAAjB,UACE,UAAC,KAAD,YACE,SAAC,KAAD,CAAOC,OAAK,EAACP,KAAMzC,EAAO,GAAIjB,UAAW+C,KACzC,SAAC,KAAD,CAAOkB,OAAK,EAACP,KAAMzC,EAAO,GAAIjB,UAAWiD,KACzC,SAAC,KAAD,CAAOiB,OAAQ,kBAAM,SAAC,KAAD,CAAUC,GAAIlD,EAAO,eATpD,UAeG,CACCe,UAAW,CACTzD,MAAO,UACP6C,MAAOH,EAAO,GACdjB,UAAWoE,EAAAA,GACXD,GAAIlD,EAAO,KAGd,CACCe,UAAW,CACTzD,MAAO,SACP6C,MAAOH,EAAO,GACdjB,UAAWoE,EAAAA,GACXD,GAAIlD,EAAO,iB,oKC9FnBoD,EAAuBlD,EAAAA,cAAoB,MAclC,SAASmD,EAAW/H,GACjC,IACEQ,EAEER,EAFFQ,SACAqE,EACE7E,EADF6E,MAEImD,EAbR,WACE,MAAoBpD,EAAAA,SAAe,MAAnC,eAAOqD,EAAP,KAAWC,EAAX,KAIA,OAHAtD,EAAAA,WAAgB,WACdsD,EAAM,SAAD,OAAUC,KAAKC,MAAsB,IAAhBD,KAAKE,cAC9B,IACIJ,EAQUK,GACXC,EAAU3D,EAAAA,SAAc,WAC5B,MAAO,CACLoD,SAAAA,EACAnD,MAAAA,KAED,CAACmD,EAAUnD,IACd,OAAoB2D,EAAAA,EAAAA,KAAKV,EAAQW,SAAU,CACzC5D,MAAO0D,EACP/H,SAAUA,IAyBP,SAASkI,IACd,OAAO9D,EAAAA,WAAiBkD,GAEnB,SAASa,EAAWJ,EAAS1D,GAKlC,OAAiB,OAFb0D,EADFP,SAIO,KAGT,UAAUO,EAAQP,SAAlB,cAAgCnD,GAE3B,SAAS+D,EAASL,EAAS1D,GAKhC,OAAiB,OAFb0D,EADFP,SAIO,KAGT,UAAUO,EAAQP,SAAlB,cAAgCnD,K,4FCjF5BgE,EAAY,CAAC,YAMbC,EAAuBlE,EAAAA,YAAiB,SAAiB5E,EAAO+I,GAC9D,IACMC,EACRhJ,EADFQ,SAEIyI,GAAQC,EAAAA,EAAAA,GAA8BlJ,EAAO6I,GAE7CN,GAAUG,EAAAA,EAAAA,MAEhB,GAAgB,OAAZH,EACF,MAAM,IAAIY,UAAU,0BAGtB,IAAM3I,EAAWoE,EAAAA,SAAAA,IAAmBoE,GAAc,SAAAzD,GAChD,OAAmBX,EAAAA,eAAqBW,GAIpBX,EAAAA,aAAmBW,EAAO,CAE5C,iBAAiBoD,EAAAA,EAAAA,IAAWJ,EAAShD,EAAMvF,MAAM6E,OACjDoD,IAAIW,EAAAA,EAAAA,IAASL,EAAShD,EAAMvF,MAAM6E,SAN3B,QASX,OAAoB2D,EAAAA,EAAAA,KAAKY,EAAAA,GAAMC,EAAAA,EAAAA,GAAS,GAAIJ,EAAO,CACjDF,IAAKA,EACLlE,MAAO0D,EAAQ1D,MACfrE,SAAUA,QAgBd,O,+ICjDO,SAAS8I,EAAwBC,GACtC,OAAOC,EAAAA,EAAAA,GAAqB,cAAeD,IAErBE,E,SAAAA,GAAuB,cAAe,CAAC,SAA/D,I,sBCFMZ,EAAY,CAAC,WAAY,YAAa,SAoBtCa,GAAeC,EAAAA,EAAAA,IAAO,MAAO,CACjCC,KAAM,cACNL,KAAM,OACNM,kBAAmB,SAAC7J,EAAO8J,GAAR,OAAmBA,EAAOC,OAH1BJ,EAIlB,kBAEI,CACLK,QAHC,EACD7J,MAEe6G,QAAQ,OAwEzB,EAtE8BpC,EAAAA,YAAiB,SAAkBqF,EAASlB,GACxE,IAAM/I,GAAQkK,EAAAA,EAAAA,GAAc,CAC1BlK,MAAOiK,EACPL,KAAM,gBAINpJ,EAGER,EAHFQ,SACAD,EAEEP,EAFFO,UACAsE,EACE7E,EADF6E,MAEIoE,GAAQC,EAAAA,EAAAA,GAA8BlJ,EAAO6I,GAE7CsB,GAAad,EAAAA,EAAAA,GAAS,GAAIrJ,GAE1BM,EAlCkB,SAAA6J,GACxB,IACE7J,EACE6J,EADF7J,QAKF,OAAO8J,EAAAA,EAAAA,GAHO,CACZL,KAAM,CAAC,SAEoBT,EAAyBhJ,GA2BtC+J,CAAkBF,GAC5B5B,GAAUG,EAAAA,EAAAA,MAEhB,GAAgB,OAAZH,EACF,MAAM,IAAIY,UAAU,0BAGtB,IAAMlB,GAAKU,EAAAA,EAAAA,IAAWJ,EAAS1D,GACzByF,GAAQ1B,EAAAA,EAAAA,IAASL,EAAS1D,GAChC,OAAoB2D,EAAAA,EAAAA,KAAKkB,GAAcL,EAAAA,EAAAA,GAAS,CAC9C,kBAAmBiB,EACnB/J,WAAWgK,EAAAA,EAAAA,GAAKjK,EAAQyJ,KAAMxJ,GAC9BiK,OAAQ3F,IAAU0D,EAAQ1D,MAC1BoD,GAAIA,EACJc,IAAKA,EACL0B,KAAM,WACNN,WAAYA,GACXlB,EAAO,CACRzI,SAAUqE,IAAU0D,EAAQ1D,OAASrE","sources":["screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Storage/Storage.tsx","../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"],"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","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n

\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","import React 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\";\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 [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\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, { Fragment, useEffect, useState } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Link, Redirect, Route, Router, Switch } from \"react-router-dom\";\nimport {\n actionsTray,\n containerForHeader,\n pageContentStyles,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport history from \"../../../history\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\n\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport VerticalTabs from \"../Common/VerticalTabs/VerticalTabs\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\n\nconst StoragePVCs = withSuspense(React.lazy(() => import(\"./StoragePVCs\")));\nconst DirectCSIDrives = withSuspense(\n React.lazy(() => import(\"../DirectCSI/DirectCSIDrives\"))\n);\n\ninterface IStorageProps {\n classes: any;\n match: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n pageContainer: {\n border: \"1px solid #EAEAEA\",\n height: \"100%\",\n },\n ...pageContentStyles,\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst routes = [\"/storage/volumes\", \"/storage/drives\"];\n\nconst Storage = ({ classes, match }: IStorageProps) => {\n let selTab = match?.path;\n selTab = selTab ? selTab : routes[0];\n\n const [activeTab, setActiveTab] = useState(selTab);\n\n useEffect(() => {\n setActiveTab(selTab);\n }, [selTab]);\n\n return (\n \n \n \n \n \n \n \n \n } />\n \n \n \n }\n >\n {{\n tabConfig: {\n label: \"Volumes\",\n value: routes[0],\n component: Link,\n to: routes[0],\n },\n }}\n {{\n tabConfig: {\n label: \"Drives\",\n value: routes[1],\n component: Link,\n to: routes[1],\n },\n }}\n \n \n \n );\n};\n\nexport default withStyles(styles)(Storage);\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;"],"names":["WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","withStyles","theme","createStyles","pageContentStyles","classes","className","children","contentSpacer","container","item","xs","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","width","minHeight","display","backgroundColor","left","boxShadow","label","justifyContent","alignItems","labelStyle","color","fontSize","fontWeight","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","actions","direction","sm","md","sx","paddingTop","variant","length","component","onClick","size","tabStripStyle","tabsContainer","height","tabsHeaderContainer","background","borderRight","flexFlow","borderBottom","marginRight","marginBottom","tabContentContainer","tabPanel","flexDirection","selectedTab","routes","isRouteTabs","React","value","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","forEach","child","push","tabConfig","content","onChange","event","newValue","orientation","scrollButtons","tabList","map","index","tabHeader","style","disableRipple","disableTouchRipple","focusRipple","StoragePVCs","withSuspense","DirectCSIDrives","pageContainer","border","actionsTray","searchField","containerForHeader","spacing","match","selTab","path","useState","activeTab","setActiveTab","useEffect","Fragment","history","exact","render","to","Link","Context","TabContext","idPrefix","id","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","name","overridesResolver","styles","root","padding","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","clsx","hidden","role"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/4869.4a53840e.chunk.js","mappings":"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","sources":["screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Storage/Storage.tsx","../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"],"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","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n

\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","import React 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\";\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 [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\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, { Fragment, useEffect, useState } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Link, Redirect, Route, Router, Switch } from \"react-router-dom\";\nimport {\n actionsTray,\n containerForHeader,\n pageContentStyles,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport history from \"../../../history\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\n\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport VerticalTabs from \"../Common/VerticalTabs/VerticalTabs\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\n\nconst StoragePVCs = withSuspense(React.lazy(() => import(\"./StoragePVCs\")));\nconst DirectCSIDrives = withSuspense(\n React.lazy(() => import(\"../DirectCSI/DirectCSIDrives\"))\n);\n\ninterface IStorageProps {\n classes: any;\n match: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n pageContainer: {\n border: \"1px solid #EAEAEA\",\n height: \"100%\",\n },\n ...pageContentStyles,\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst routes = [\"/storage/volumes\", \"/storage/drives\"];\n\nconst Storage = ({ classes, match }: IStorageProps) => {\n let selTab = match?.path;\n selTab = selTab ? selTab : routes[0];\n\n const [activeTab, setActiveTab] = useState(selTab);\n\n useEffect(() => {\n setActiveTab(selTab);\n }, [selTab]);\n\n return (\n \n \n \n \n \n \n \n \n } />\n \n \n \n }\n >\n {{\n tabConfig: {\n label: \"Volumes\",\n value: routes[0],\n component: Link,\n to: routes[0],\n },\n }}\n {{\n tabConfig: {\n label: \"Drives\",\n value: routes[1],\n component: Link,\n to: routes[1],\n },\n }}\n \n \n \n );\n};\n\nexport default withStyles(styles)(Storage);\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;"],"names":["WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","withStyles","theme","createStyles","pageContentStyles","classes","className","children","contentSpacer","container","item","xs","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","width","minHeight","display","backgroundColor","left","boxShadow","label","justifyContent","alignItems","labelStyle","color","fontSize","fontWeight","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","actions","direction","sm","md","sx","paddingTop","variant","length","component","onClick","size","tabStripStyle","tabsContainer","height","tabsHeaderContainer","background","borderRight","flexFlow","borderBottom","marginRight","marginBottom","tabContentContainer","tabPanel","flexDirection","selectedTab","routes","isRouteTabs","React","value","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","forEach","child","push","tabConfig","content","onChange","event","newValue","orientation","scrollButtons","tabList","map","index","tabHeader","style","disableRipple","disableTouchRipple","focusRipple","StoragePVCs","withSuspense","DirectCSIDrives","pageContainer","border","actionsTray","searchField","containerForHeader","spacing","match","selTab","path","useState","activeTab","setActiveTab","useEffect","Fragment","history","exact","render","to","Link","Context","TabContext","idPrefix","id","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","name","overridesResolver","styles","root","padding","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","clsx","hidden","role"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/5170.2d3119fa.chunk.js b/portal-ui/build/static/js/5170.2d3119fa.chunk.js deleted file mode 100644 index 4a9f6f8a9..000000000 --- a/portal-ui/build/static/js/5170.2d3119fa.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5170],{8235:function(e,t,r){r(50390);var n=r(86509),o=r(4285),i=r(25594),a=r(62559);t.Z=(0,o.Z)((function(e){return(0,n.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,r=e.iconComponent,n=e.title,o=e.help;return(0,a.jsx)("div",{className:t.root,children:(0,a.jsxs)(i.ZP,{container:!0,children:[(0,a.jsxs)(i.ZP,{item:!0,xs:12,className:t.leftItems,children:[r,n]}),(0,a.jsx)(i.ZP,{item:!0,xs:12,className:t.helpText,children:o})]})})}))},53224:function(e,t,r){var n=r(18489),o=r(83738),i=(r(50390),r(70758)),a=r(62449),l=r(62559),s=["onClick","text","disabled","tooltip","icon"],c=(0,a.Z)((function(e){return{root:{padding:"7px",color:function(t){return function(t){var r=t.variant,n=t.color,o=e.palette.primary.main;return"primary"===n&&"contained"===r?o=e.palette.primary.contrastText:"primary"===n&&"outlined"===r?o=e.palette.primary.main:"secondary"===n&&(o=e.palette.secondary.main),o}(t)},borderColor:function(t){return"secondary"===t.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));t.Z=function(e){var t=c(e),r=e.onClick,a=e.text,d=void 0===a?"":a,u=e.disabled,p=void 0!==u&&u,m=e.tooltip,f=e.icon,h=void 0===f?null:f,g=(0,o.Z)(e,s);return(0,l.jsxs)(i.Z,(0,n.Z)((0,n.Z)({classes:t,tooltip:m||d,variant:"outlined",onClick:r,disabled:p,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},g),{},{children:[(0,l.jsx)("span",{children:d})," ",h]}))}},70758:function(e,t,r){var n=r(18489),o=r(36222),i=r(83738),a=(r(50390),r(86509)),l=r(4285),s=r(95467),c=r(94187),d=r(44977),u=r(62559),p=["classes","children","variant","tooltip"];t.Z=(0,l.Z)((function(e){return(0,a.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var t=e.classes,r=e.children,a=e.variant,l=void 0===a?"outlined":a,m=e.tooltip,f=(0,i.Z)(e,p),h=(0,u.jsx)(s.Z,(0,n.Z)((0,n.Z)({},f),{},{className:(0,d.Z)(t.root,(0,o.Z)({},t.contained,"contained"===l)),children:r}));return m&&""!==m?(0,u.jsx)(c.Z,{title:m,children:(0,u.jsx)("span",{children:h})}):h}))},37882:function(e,t,r){var n=r(18489),o=r(50390),i=r(62559);t.Z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function r(r){return(0,i.jsx)(o.Suspense,{fallback:t,children:(0,i.jsx)(e,(0,n.Z)({},r))})}return r}},66964:function(e,t,r){var n=r(18489),o=r(50390),i=r(12066),a=r(25594),l=r(14602),s=r(94187),c=r(95467),d=r(86509),u=r(62449),p=r(4285),m=r(72462),f=r(97538),h=r(44977),g=r(62559),x=(0,u.Z)((function(e){return(0,d.Z)((0,n.Z)({},m.gM))}));function b(e){var t=x();return(0,g.jsx)(i.Z,(0,n.Z)({InputProps:{classes:t}},e))}t.Z=(0,p.Z)((function(e){return(0,d.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,n.Z)((0,n.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,r=e.onChange,i=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,x=e.autoComplete,y=void 0===x?"off":x,v=e.disabled,Z=void 0!==v&&v,C=e.multiline,j=void 0!==C&&C,k=e.tooltip,E=void 0===k?"":k,w=e.index,_=void 0===w?0:w,S=e.error,N=void 0===S?"":S,q=e.required,M=void 0!==q&&q,L=e.placeholder,P=void 0===L?"":L,I=e.min,D=e.max,B=e.overlayIcon,T=void 0===B?null:B,A=e.overlayObject,R=void 0===A?null:A,W=e.extraInputProps,F=void 0===W?{}:W,O=e.overlayAction,z=e.noLabelMinWidth,U=void 0!==z&&z,H=e.pattern,K=void 0===H?"":H,G=e.autoFocus,Q=void 0!==G&&G,Y=e.classes,$=e.className,V=void 0===$?"":$,X=(0,n.Z)({"data-index":_},F);return"number"===m&&I&&(X.min=I),"number"===m&&D&&(X.max=D),""!==K&&(X.pattern=K),(0,g.jsx)(o.Fragment,{children:(0,g.jsxs)(a.ZP,{container:!0,className:(0,h.Z)(""!==V?V:"",""!==N?Y.errorInField:Y.inputBoxContainer),children:[""!==t&&(0,g.jsxs)(l.Z,{htmlFor:d,className:U?Y.noMinWidthLabel:Y.inputLabel,children:[(0,g.jsxs)("span",{children:[t,M?"*":""]}),""!==E&&(0,g.jsx)("div",{className:Y.tooltipContainer,children:(0,g.jsx)(s.Z,{title:E,placement:"top-start",children:(0,g.jsx)("div",{className:Y.tooltip,children:(0,g.jsx)(f.Z,{})})})})]}),(0,g.jsxs)("div",{className:Y.textBoxContainer,children:[(0,g.jsx)(b,{id:d,name:u,fullWidth:!0,value:i,autoFocus:Q,disabled:Z,onChange:r,type:m,multiline:j,autoComplete:y,inputProps:X,error:""!==N,helperText:N,placeholder:P,className:Y.inputRebase}),T&&(0,g.jsx)("div",{className:"".concat(Y.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,g.jsx)(c.Z,{onClick:O?function(){O()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:T})}),R&&(0,g.jsx)("div",{className:"".concat(Y.overlayAction," ").concat(""!==t?"withLabel":""),children:R})]})]})})}))},21639:function(e,t,r){var n=r(23430),o=r(50390),i=r(30324);t.Z=function(e,t){var r=(0,o.useState)(!1),a=(0,n.Z)(r,2),l=a[0],s=a[1];return[l,function(r,n,o){s(!0),i.Z.invoke(r,n,o).then((function(t){s(!1),e(t)})).catch((function(e){s(!1),t(e)}))}]}},25534:function(e,t,r){var n=r(18489),o=(r(50390),r(25594)),i=r(86509),a=r(4285),l=r(72462),s=r(62559);t.Z=(0,a.Z)((function(e){return(0,i.Z)((0,n.Z)({},l.Bw))}))((function(e){var t=e.classes,r=e.className,n=void 0===r?"":r,i=e.children;return(0,s.jsx)("div",{className:t.contentSpacer,children:(0,s.jsx)(o.ZP,{container:!0,children:(0,s.jsx)(o.ZP,{item:!0,xs:12,className:n,children:i})})})}))},60656:function(e,t,r){var n=r(18489),o=r(50390),i=r(84402),a=r(78426),l=r(93085),s=r(7887),c=r(66946),d=r(14476),u=r(95467),p=r(21278),m=r(86509),f=r(4285),h=r(72462),g=r(62559);t.Z=(0,f.Z)((function(e){return(0,m.Z)((0,n.Z)({},h.Qw))}))((function(e){var t=e.isOpen,r=void 0!==t&&t,m=e.onClose,f=e.onCancel,h=e.onConfirm,x=e.classes,b=void 0===x?{}:x,y=e.title,v=void 0===y?"":y,Z=e.isLoading,C=e.confirmationContent,j=e.cancelText,k=void 0===j?"Cancel":j,E=e.confirmText,w=void 0===E?"Confirm":E,_=e.confirmButtonProps,S=void 0===_?{}:_,N=e.cancelButtonProps,q=void 0===N?{}:N,M=e.titleIcon,L=void 0===M?null:M;return(0,g.jsxs)(i.Z,{open:r,onClose:function(e,t){"backdropClick"!==t&&m()},className:b.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,g.jsxs)(a.Z,{className:b.title,children:[(0,g.jsxs)("div",{className:b.titleText,children:[L," ",v]}),(0,g.jsx)("div",{className:b.closeContainer,children:(0,g.jsx)(u.Z,{"aria-label":"close",className:b.closeButton,onClick:m,disableRipple:!0,size:"small",children:(0,g.jsx)(p.Z,{})})})]}),(0,g.jsx)(l.Z,{className:b.content,children:C}),(0,g.jsxs)(s.Z,{className:b.actions,children:[(0,g.jsx)(c.Z,(0,n.Z)((0,n.Z)({className:b.cancelButton,onClick:f||m,disabled:Z,type:"button"},q),{},{variant:"outlined",color:"primary",children:k})),(0,g.jsx)(d.Z,(0,n.Z)((0,n.Z)({className:b.confirmButton,type:"button",onClick:h,loading:Z,disabled:Z,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,g.jsx)(o.Fragment,{}),autoFocus:!0},S),{},{children:w}))]})]})}))},76352:function(e,t,r){r.d(t,{Z:function(){return _}});var n,o=r(23430),i=r(18489),a=r(50390),l=r(34424),s=r(95467),c=r(97771),d=r(84402),u=r(78426),p=r(93085),m=r(86509),f=r(4285),h=r(72462),g=r(44149),x=r(38342),b=r.n(x),y=r(92125),v=r(19538),Z=r(21278),C=r(62559),j=function(){clearInterval(n)},k={displayErrorMessage:g.zb},E=(0,l.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),k)((0,f.Z)((function(e){return(0,m.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var t=e.classes,r=e.modalSnackMessage,i=e.displayErrorMessage,l=e.customStyle,s=(0,a.useState)(!1),c=(0,o.Z)(s,2),d=c[0],u=c[1],p=(0,a.useState)(!1),m=(0,o.Z)(p,2),f=m[0],h=m[1],g=(0,a.useCallback)((function(){h(!1)}),[]);(0,a.useEffect)((function(){f||(i({detailedError:"",errorMessage:""}),u(!1))}),[i,f]),(0,a.useEffect)((function(){""!==r.message&&"error"===r.type&&h(!0)}),[g,r.message,r.type]);var x=b()(r,"message",""),k=b()(r,"detailedErrorMsg","");return"error"!==r.type||""===x?null:(0,C.jsx)(a.Fragment,{children:(0,C.jsxs)("div",{className:"".concat(t.modalErrorContainer," ").concat(f?t.modalErrorShow:""),style:l,onMouseOver:j,onMouseLeave:function(){n=setInterval(g,1e4)},children:[(0,C.jsx)("button",{className:t.closeButton,onClick:g,children:(0,C.jsx)(Z.Z,{})}),(0,C.jsxs)("div",{className:t.errorTitle,children:[(0,C.jsx)("span",{className:t.messageIcon,children:(0,C.jsx)(v.Z,{})}),(0,C.jsx)("span",{className:t.errorLabel,children:x})]}),""!==k&&(0,C.jsxs)(a.Fragment,{children:[(0,C.jsx)("div",{className:t.detailsContainerLink,children:(0,C.jsxs)("button",{className:t.detailsButton,onClick:function(){u(!d)},children:["Details",(0,C.jsx)(y.Z,{className:"".concat(t.arrowElement," ").concat(d?t.arrowOpen:"")})]})}),(0,C.jsx)("div",{className:"".concat(t.extraDetailsContainer," ").concat(d?t.extraDetailsOpen:""),children:k})]})]})})}))),w=(0,l.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:g.MK}),_=(0,f.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)({},h.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))(w((function(e){var t=e.onClose,r=e.modalOpen,n=e.title,l=e.children,m=e.classes,f=e.wideLimit,h=void 0===f||f,g=e.modalSnackMessage,x=e.noContentPadding,b=e.setModalSnackMessage,y=e.titleIcon,v=void 0===y?null:y,j=(0,a.useState)(!1),k=(0,o.Z)(j,2),w=k[0],_=k[1];(0,a.useEffect)((function(){b("")}),[b]),(0,a.useEffect)((function(){if(g){if(""===g.message)return void _(!1);"error"!==g.type&&_(!0)}}),[g]);var S=h?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},N="";return g&&(N=g.detailedErrorMsg,(""===g.detailedErrorMsg||g.detailedErrorMsg.length<5)&&(N=g.message)),(0,C.jsxs)(d.Z,(0,i.Z)((0,i.Z)({open:r,classes:m},S),{},{scroll:"paper",onClose:function(e,r){"backdropClick"!==r&&t()},className:m.root,children:[(0,C.jsxs)(u.Z,{className:m.title,children:[(0,C.jsxs)("div",{className:m.titleText,children:[v," ",n]}),(0,C.jsx)("div",{className:m.closeContainer,children:(0,C.jsx)(s.Z,{"aria-label":"close",className:m.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,C.jsx)(Z.Z,{})})})]}),(0,C.jsx)(E,{}),(0,C.jsx)(c.Z,{open:w,className:m.snackBarModal,onClose:function(){_(!1),b("")},message:N,ContentProps:{className:"".concat(m.snackBar," ").concat(g&&"error"===g.type?m.errorSnackBar:"")},autoHideDuration:g&&"error"===g.type?1e4:5e3}),(0,C.jsx)(p.Z,{className:x?"":m.content,children:l})]}))})))},35721:function(e,t,r){r(50390);var n=r(34424),o=r(25594),i=r(86509),a=r(4285),l=r(35477),s=r(95467),c=r(26805),d=r(44078),u=r(5265),p=r(11387),m=r(62559),f={toggleList:u.kQ},h=(0,n.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),f);t.Z=h((0,a.Z)((function(e){return(0,i.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,r=e.label,n=e.actions,i=e.sidebarOpen,a=e.operatorMode,u=e.managerObjects,f=e.toggleList,h=e.middleComponent;return(0,m.jsxs)(o.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,m.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:h?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!i&&(0,m.jsx)("div",{className:t.logo,children:a?(0,m.jsx)(c.Z,{}):(0,m.jsx)(d.Z,{})}),(0,m.jsx)(l.Z,{variant:"h4",className:t.labelStyle,children:r})]}),h&&(0,m.jsx)(o.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:h}),(0,m.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:h?3:6,className:t.rightMenu,children:[n&&n,u&&u.length>0&&(0,m.jsx)(s.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},size:"large",children:(0,m.jsx)(p.gx,{})})]})]})})))},23165:function(e,t,r){var n=r(36222),o=r(18489),i=(r(50390),r(65771)),a=r(13336),l=r(12066),s=r(4285),c=r(86509),d=r(72462),u=r(62559);t.Z=(0,s.Z)((function(e){return(0,c.Z)({searchField:(0,o.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var t=e.placeholder,r=void 0===t?"":t,o=e.classes,s=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,p=e.overrideClass,m=e.value,f=(0,n.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(i.Z,{position:d,className:o.adornment,children:(0,u.jsx)(a.Z,{})}));return(0,u.jsx)(l.Z,{placeholder:r,className:p||o.searchField,id:"search-resource",label:"",InputProps:f,onChange:function(e){s(e.target.value)},variant:"standard",value:m})}))},73726:function(e,t,r){r.d(t,{bx:function(){return g},DP:function(){return x},DD:function(){return b},_0:function(){return y}});var n=r(35531),o=(r(50390),r(75012)),i=r(58267),a=r(44229),l=r(30578),s=r(2494),c=r(41845),d=r(26068),u=r(89173),p=r(9639),m=r(84386),f=r(12720),h=r(62559),g=[{icon:(0,h.jsx)(o.Z,{}),configuration_id:"region",configuration_label:"Region"},{icon:(0,h.jsx)(i.Z,{}),configuration_id:"cache",configuration_label:"Cache"},{icon:(0,h.jsx)(a.Z,{}),configuration_id:"compression",configuration_label:"Compression"},{icon:(0,h.jsx)(l.Z,{}),configuration_id:"api",configuration_label:"API"},{icon:(0,h.jsx)(s.Z,{}),configuration_id:"heal",configuration_label:"Heal"},{icon:(0,h.jsx)(c.Z,{}),configuration_id:"scanner",configuration_label:"Scanner"},{icon:(0,h.jsx)(d.Z,{}),configuration_id:"etcd",configuration_label:"Etcd"},{icon:(0,h.jsx)(u.Z,{}),configuration_id:"identity_openid",configuration_label:"Identity Openid"},{icon:(0,h.jsx)(p.Z,{}),configuration_id:"identity_ldap",configuration_label:"Identity LDAP"},{icon:(0,h.jsx)(f.Z,{}),configuration_id:"logger_webhook",configuration_label:"Logger Webhook"},{icon:(0,h.jsx)(m.Z,{}),configuration_id:"audit_webhook",configuration_label:"Audit Webhook"}],x={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 Comment"}],cache:[{name:"drives",required:!0,label:"Drives",tooltip:'Mountpoints e.g. "/optane1" or "/optane2", you can write one per field',type:"csv",placeholder:"Enter Mount Point"},{name:"expiry",required:!1,label:"Expiry",tooltip:'Cache expiry duration in days e.g. "90"',type:"number",placeholder:"Enter Number of Days"},{name:"quota",required:!1,label:"Quota",tooltip:'Limit cache drive usage in percentage e.g. "90"',type:"number",placeholder:"Enter in %"},{name:"exclude",required:!1,label:"Exclude",tooltip:'Wildcard exclusion patterns e.g. "bucket/*.tmp" or "*.exe", you can write one per field',type:"csv",placeholder:"Enter Wildcard Exclusion Patterns"},{name:"after",required:!1,label:"After",tooltip:"Minimum number of access before caching an object",type:"number",placeholder:"Enter Number of Attempts"},{name:"watermark_low",required:!1,label:"Watermark Low",tooltip:"Watermark Low",type:"number",placeholder:"Enter Watermark Low"},{name:"watermark_high",required:!1,label:"Watermark High",tooltip:"Watermark High",type:"number",placeholder:"Enter Watermark High"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",multiline:!0,placeholder:"Enter Comment"}],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 Comment"}],identity_openid:[{name:"config_url",required:!1,label:"Config URL",tooltip:"Config URL for identity provider configuration",type:"string",placeholder:"https://identity-provider-url/.well-known/openid-configuration"},{name:"client_id",required:!1,label:"Client ID",type:"string",placeholder:"Enter Client ID"},{name:"client_secret",required:!1,label:"Secret ID",type:"string",placeholder:"Enter Secret ID"},{name:"claim_name",required:!1,label:"Claim Name",tooltip:"Claim from which MinIO will read the policy or role to use",type:"string",placeholder:"Enter Claim Name"},{name:"claim_prefix",required:!1,label:"Claim Prefix",tooltip:"Claim Prefix",type:"string",placeholder:"Enter Claim Prefix"},{name:"claim_userinfo",required:!1,label:"Claim UserInfo",type:"on|off"},{name:"redirect_uri",required:!1,label:"Redirect URI",type:"string",placeholder:"https://console-endpoint-url/oauth_callback"},{name:"scopes",required:!1,label:"Scopes",type:"string",placeholder:"openid,profile,email"}],identity_ldap:[{name:"server_addr",required:!0,label:"Server Addr",tooltip:'AD/LDAP server address e.g. "myldapserver.com:636"',type:"string",placeholder:"Enter Server Address"},{name:"username_format",required:!0,label:"Username Format",tooltip:'List of username bind DNs e.g. "uid=%s","cn=accounts","dc=myldapserver" or "dc=com", you can write one per field',type:"csv",placeholder:"Enter Username Format"},{name:"username_search_filter",required:!0,label:"Username Search Filter",tooltip:'User search filter, for example "(cn=%s)" or "(sAMAccountName=%s)" or "(uid=%s)"',type:"string",placeholder:"Enter Username Search Filter"},{name:"group_search_filter",required:!0,label:"Group Search Filter",tooltip:'Search filter for groups e.g. "(&(objectclass=groupOfNames)(memberUid=%s))"',type:"string",placeholder:"Enter Group Search Filter"},{name:"username_search_base_dn",required:!1,label:"Username Search Base DN",tooltip:"List of username search DNs, you can write one per field",type:"csv",placeholder:"Enter Username Search Base DN"},{name:"group_name_attribute",required:!1,label:"Group Name Attribute",tooltip:'Search attribute for group name e.g. "cn"',type:"string",placeholder:"Enter Group Name Attribute"},{name:"sts_expiry",required:!1,label:"STS Expiry",tooltip:'temporary credentials validity duration in s,m,h,d. Default is "1h"',type:"string",placeholder:"Enter STS Expiry"},{name:"tls_skip_verify",required:!1,label:"TLS Skip Verify",tooltip:'Trust server TLS without verification, defaults to "off" (verify)',type:"on|off"},{name:"server_insecure",required:!1,label:"Server Insecure",tooltip:'Allow plain text connection to AD/LDAP server, defaults to "off"',type:"on|off"},{name:"comment",required:!1,label:"Comment",tooltip:"Optionally add a comment to this setting",type:"comment",placeholder:"Enter Comment"}],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"}]},b=function(e){return e.filter((function(e){return""!==e.value}))},y=function(e,t,r){var o=e.target,i=o.value,a=o.checked,l=(0,n.Z)(r);return a?l.push(i):l=l.filter((function(e){return e!==i})),t(l),l}},31529:function(e,t,r){var n=r(23430),o=(r(50390),r(34424)),i=r(23473),a=r(44149),l=r(21639),s=r(60656),c=r(11387),d=r(62559),u={setErrorSnackMessage:a.Ih},p=(0,o.$j)(null,u);t.Z=p((function(e){var t=e.closeDeleteModalAndRefresh,r=e.deleteOpen,o=e.selectedSAs,a=e.setErrorSnackMessage,u=(0,l.Z)((function(){return t(!0)}),(function(e){return a(e)})),p=(0,n.Z)(u,2),m=p[0],f=p[1];if(!o)return null;return(0,d.jsx)(s.Z,{title:"Delete Service Accounts",confirmText:"Delete",isOpen:r,titleIcon:(0,d.jsx)(c.Nv,{}),isLoading:m,onConfirm:function(){f("POST","/api/v1/service-accounts/delete-multi",o)},onClose:function(){return t(!1)},confirmationContent:(0,d.jsxs)(i.Z,{children:["Are you sure you want to delete the selected ",o.length," ","service accounts?"," "]})})}))},25233:function(e,t,r){r.d(t,{LQ:function(){return n},g4:function(){return o},V2:function(){return i}});var n=function(e,t){return e.accessKey>t.accessKey?1:e.accessKeyt.name?1:e.namet?1:e.\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n

\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\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 .\nimport React from \"react\";\nimport PublicIcon from \"@mui/icons-material/Public\";\nimport SdStorageIcon from \"@mui/icons-material/SdStorage\";\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 LockOpenIcon from \"@mui/icons-material/LockOpen\";\nimport LoginIcon from \"@mui/icons-material/Login\";\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: \"cache\",\n configuration_label: \"Cache\",\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: \"identity_openid\",\n configuration_label: \"Identity Openid\",\n },\n {\n icon: ,\n configuration_id: \"identity_ldap\",\n configuration_label: \"Identity LDAP\",\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 Comment\",\n },\n ],\n cache: [\n {\n name: \"drives\",\n required: true,\n label: \"Drives\",\n tooltip:\n 'Mountpoints e.g. \"/optane1\" or \"/optane2\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Mount Point\",\n },\n {\n name: \"expiry\",\n required: false,\n label: \"Expiry\",\n tooltip: 'Cache expiry duration in days e.g. \"90\"',\n type: \"number\",\n placeholder: \"Enter Number of Days\",\n },\n {\n name: \"quota\",\n required: false,\n label: \"Quota\",\n tooltip: 'Limit cache drive usage in percentage e.g. \"90\"',\n type: \"number\",\n placeholder: \"Enter in %\",\n },\n {\n name: \"exclude\",\n required: false,\n label: \"Exclude\",\n tooltip:\n 'Wildcard exclusion patterns e.g. \"bucket/*.tmp\" or \"*.exe\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Wildcard Exclusion Patterns\",\n },\n {\n name: \"after\",\n required: false,\n label: \"After\",\n tooltip: \"Minimum number of access before caching an object\",\n type: \"number\",\n placeholder: \"Enter Number of Attempts\",\n },\n {\n name: \"watermark_low\",\n required: false,\n label: \"Watermark Low\",\n tooltip: \"Watermark Low\",\n type: \"number\",\n placeholder: \"Enter Watermark Low\",\n },\n {\n name: \"watermark_high\",\n required: false,\n label: \"Watermark High\",\n tooltip: \"Watermark High\",\n type: \"number\",\n placeholder: \"Enter Watermark High\",\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 Comment\",\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 Comment\",\n },\n ],\n identity_openid: [\n {\n name: \"config_url\",\n required: false,\n label: \"Config URL\",\n tooltip: \"Config URL for identity provider configuration\",\n type: \"string\",\n placeholder:\n \"https://identity-provider-url/.well-known/openid-configuration\",\n },\n {\n name: \"client_id\",\n required: false,\n label: \"Client ID\",\n type: \"string\",\n placeholder: \"Enter Client ID\",\n },\n {\n name: \"client_secret\",\n required: false,\n label: \"Secret ID\",\n type: \"string\",\n placeholder: \"Enter Secret ID\",\n },\n {\n name: \"claim_name\",\n required: false,\n label: \"Claim Name\",\n tooltip: \"Claim from which MinIO will read the policy or role to use\",\n type: \"string\",\n placeholder: \"Enter Claim Name\",\n },\n {\n name: \"claim_prefix\",\n required: false,\n label: \"Claim Prefix\",\n tooltip: \"Claim Prefix\",\n type: \"string\",\n placeholder: \"Enter Claim Prefix\",\n },\n {\n name: \"claim_userinfo\",\n required: false,\n label: \"Claim UserInfo\",\n type: \"on|off\",\n },\n {\n name: \"redirect_uri\",\n required: false,\n label: \"Redirect URI\",\n type: \"string\",\n placeholder: \"https://console-endpoint-url/oauth_callback\",\n },\n {\n name: \"scopes\",\n required: false,\n label: \"Scopes\",\n type: \"string\",\n placeholder: \"openid,profile,email\",\n },\n ],\n identity_ldap: [\n {\n name: \"server_addr\",\n required: true,\n label: \"Server Addr\",\n tooltip: 'AD/LDAP server address e.g. \"myldapserver.com:636\"',\n type: \"string\",\n placeholder: \"Enter Server Address\",\n },\n {\n name: \"username_format\",\n required: true,\n label: \"Username Format\",\n tooltip:\n 'List of username bind DNs e.g. \"uid=%s\",\"cn=accounts\",\"dc=myldapserver\" or \"dc=com\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Username Format\",\n },\n {\n name: \"username_search_filter\",\n required: true,\n label: \"Username Search Filter\",\n tooltip:\n 'User search filter, for example \"(cn=%s)\" or \"(sAMAccountName=%s)\" or \"(uid=%s)\"',\n type: \"string\",\n placeholder: \"Enter Username Search Filter\",\n },\n {\n name: \"group_search_filter\",\n required: true,\n label: \"Group Search Filter\",\n tooltip:\n 'Search filter for groups e.g. \"(&(objectclass=groupOfNames)(memberUid=%s))\"',\n type: \"string\",\n placeholder: \"Enter Group Search Filter\",\n },\n {\n name: \"username_search_base_dn\",\n required: false,\n label: \"Username Search Base DN\",\n tooltip: \"List of username search DNs, you can write one per field\",\n type: \"csv\",\n placeholder: \"Enter Username Search Base DN\",\n },\n {\n name: \"group_name_attribute\",\n required: false,\n label: \"Group Name Attribute\",\n tooltip: 'Search attribute for group name e.g. \"cn\"',\n type: \"string\",\n placeholder: \"Enter Group Name Attribute\",\n },\n {\n name: \"sts_expiry\",\n required: false,\n label: \"STS Expiry\",\n tooltip:\n 'temporary credentials validity duration in s,m,h,d. Default is \"1h\"',\n type: \"string\",\n placeholder: \"Enter STS Expiry\",\n },\n {\n name: \"tls_skip_verify\",\n required: false,\n label: \"TLS Skip Verify\",\n tooltip:\n 'Trust server TLS without verification, defaults to \"off\" (verify)',\n type: \"on|off\",\n },\n {\n name: \"server_insecure\",\n required: false,\n label: \"Server Insecure\",\n tooltip:\n 'Allow plain text connection to AD/LDAP server, defaults to \"off\"',\n type: \"on|off\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"Optionally add a comment to this setting\",\n type: \"comment\",\n placeholder: \"Enter Comment\",\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 = (e: React.ChangeEvent, setSelectedSAs : Function, selectedSAs : string[]) => {\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) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\"\nimport useApi from \"../../../screens/Console/Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../../screens/Console/Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\ninterface IDeleteMultiSAsProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedSAs: string[];\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\nconst DeleteMultipleSAs = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedSAs,\n setErrorSnackMessage,\n}: IDeleteMultiSAsProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n if (!selectedSAs) {\n return null;\n }\n const onConfirmDelete = () => {\n invokeDeleteApi(\n \"POST\",\n `/api/v1/service-accounts/delete-multi`,\n selectedSAs\n );\n };\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete the selected {selectedSAs.length}{\" \"}\n service accounts?{\" \"}\n \n }\n />\n );\n};\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteMultipleSAs);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\ninterface userInterface {\n accessKey: string;\n}\n\ninterface policyInterface {\n name: string;\n}\n\nexport const usersSort = (a: userInterface, b: userInterface) => {\n if (a.accessKey > b.accessKey) {\n return 1;\n }\n if (a.accessKey < b.accessKey) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const policySort = (a: policyInterface, b: policyInterface) => {\n if (a.name > b.name) {\n return 1;\n }\n if (a.name < b.name) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const stringSort = (a: string, b: string) => {\n if (a > b) {\n return 1;\n }\n if (a < b) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n"],"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","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","borderWidth","borderStyle","opacity","contained","background","dark","light","children","rest","button","clsx","WrappedComponent","fallback","ComponentWithSuspense","Suspense","inputStyles","inputFieldStyles","InputField","InputProps","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","label","onChange","value","id","name","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputProps","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","placement","fullWidth","helperText","inputRebase","disableFocusRipple","disableRipple","disableTouchRipple","onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","pageContentStyles","contentSpacer","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","titleText","closeContainer","closeButton","content","actions","cancelButton","confirmButton","loading","loadingPosition","startIcon","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","marginTop","borderLeftWidth","zIndex","left","transform","transitionDuration","modalErrorShow","cursor","errorTitle","errorLabel","messageIcon","detailsButton","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","get","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","customDialogSize","snackBarCommon","modalOpen","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","scroll","DialogTitle","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","toggleList","sidebarOpen","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","boxShadow","justifyContent","labelStyle","rightMenu","textAlign","logo","fill","middleComponent","direction","sm","md","component","searchField","adornment","adornmentPosition","overrideClass","disableUnderline","e","target","configurationElements","configuration_id","configuration_label","fieldsConfigurations","region","cache","compression","withBorder","heal","scanner","etcd","identity_openid","identity_ldap","logger_webhook","audit_webhook","removeEmptyFields","formFields","filter","field","selectSAs","setSelectedSAs","selectedSAs","targetD","checked","elements","push","element","setErrorSnackMessage","closeDeleteModalAndRefresh","deleteOpen","useApi","deleteLoading","invokeDeleteApi","usersSort","a","b","accessKey","policySort","stringSort"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/5284.e23070a0.chunk.js b/portal-ui/build/static/js/5284.5dcf178e.chunk.js similarity index 98% rename from portal-ui/build/static/js/5284.e23070a0.chunk.js rename to portal-ui/build/static/js/5284.5dcf178e.chunk.js index c2637a210..74d784f32 100644 --- a/portal-ui/build/static/js/5284.e23070a0.chunk.js +++ b/portal-ui/build/static/js/5284.5dcf178e.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5284],{21639:function(n,t,o){var i=o(23430),a=o(50390),r=o(30324);t.Z=function(n,t){var o=(0,a.useState)(!1),e=(0,i.Z)(o,2),s=e[0],c=e[1];return[s,function(o,i,a){c(!0),r.Z.invoke(o,i,a).then((function(t){c(!1),n(t)})).catch((function(n){c(!1),t(n)}))}]}},60656:function(n,t,o){var i=o(18489),a=o(50390),r=o(84402),e=o(78426),s=o(93085),c=o(7887),d=o(66946),l=o(14476),u=o(95467),g=o(21278),f=o(86509),v=o(4285),Z=o(72462),p=o(62559);t.Z=(0,v.Z)((function(n){return(0,f.Z)((0,i.Z)({},Z.Qw))}))((function(n){var t=n.isOpen,o=void 0!==t&&t,f=n.onClose,v=n.onCancel,Z=n.onConfirm,h=n.classes,m=void 0===h?{}:h,x=n.title,I=void 0===x?"":x,b=n.isLoading,j=n.confirmationContent,S=n.cancelText,L=void 0===S?"Cancel":S,P=n.confirmText,y=void 0===P?"Confirm":P,C=n.confirmButtonProps,w=void 0===C?{}:C,M=n.cancelButtonProps,N=void 0===M?{}:M,k=n.titleIcon,R=void 0===k?null:k;return(0,p.jsxs)(r.Z,{open:o,onClose:function(n,t){"backdropClick"!==t&&f()},className:m.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,p.jsxs)(e.Z,{className:m.title,children:[(0,p.jsxs)("div",{className:m.titleText,children:[R," ",I]}),(0,p.jsx)("div",{className:m.closeContainer,children:(0,p.jsx)(u.Z,{"aria-label":"close",className:m.closeButton,onClick:f,disableRipple:!0,size:"small",children:(0,p.jsx)(g.Z,{})})})]}),(0,p.jsx)(s.Z,{className:m.content,children:j}),(0,p.jsxs)(c.Z,{className:m.actions,children:[(0,p.jsx)(d.Z,(0,i.Z)((0,i.Z)({className:m.cancelButton,onClick:v||f,disabled:b,type:"button"},N),{},{variant:"outlined",color:"primary",children:L})),(0,p.jsx)(l.Z,(0,i.Z)((0,i.Z)({className:m.confirmButton,type:"button",onClick:Z,loading:b,disabled:b,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,p.jsx)(a.Fragment,{}),autoFocus:!0},w),{},{children:y}))]})]})}))},65284:function(n,t,o){o.r(t);var i=o(23430),a=(o(50390),o(34424)),r=o(23473),e=o(44149),s=o(60656),c=o(21639),d=o(11387),l=o(62559),u={setErrorSnackMessage:e.Ih},g=(0,a.$j)(null,u);t.default=g((function(n){var t=n.selectedGroup,o=n.deleteOpen,a=n.closeDeleteModalAndRefresh,e=n.setErrorSnackMessage,u=(0,c.Z)((function(){return a(!0)}),(function(n){return e(n)})),g=(0,i.Z)(u,2),f=g[0],v=g[1];if(!t)return null;return(0,l.jsx)(s.Z,{title:"Delete Group",confirmText:"Delete",isOpen:o,titleIcon:(0,l.jsx)(d.Nv,{}),isLoading:f,onConfirm:function(){v("DELETE","/api/v1/group?name=".concat(encodeURI(t)))},onClose:function(){return a(!1)},confirmationContent:(0,l.jsxs)(r.Z,{children:["Are you sure you want to delete group",(0,l.jsx)("br",{}),(0,l.jsx)("b",{children:t}),"?"]})})}))},14476:function(n,t,o){o.d(t,{Z:function(){return b}});var i=o(36222),a=o(46633),r=o(18207),e=o(50390),s=o(91442),c=o(4733),d=o(50076),l=o(8208),u=o(15573),g=o(66946),f=o(18201),v=o(10594);function Z(n){return(0,v.Z)("MuiLoadingButton",n)}var p=(0,o(43349).Z)("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),h=o(62559),m=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],x=(0,l.ZP)(g.Z,{shouldForwardProp:function(n){return function(n){return"ownerState"!==n&&"theme"!==n&&"sx"!==n&&"as"!==n&&"classes"!==n}(n)||"classes"===n},name:"MuiLoadingButton",slot:"Root",overridesResolver:function(n,t){return[t.root,t.startIconLoadingStart&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart),t.startIconLoadingStart),t.endIconLoadingEnd&&(0,i.Z)({},"& .".concat(p.endIconLoadingEnd),t.endIconLoadingEnd)]}})((function(n){var t=n.ownerState,o=n.theme;return(0,r.Z)((0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0}),"center"===t.loadingPosition&&(0,i.Z)({transition:o.transitions.create(["background-color","box-shadow","border-color"],{duration:o.transitions.duration.short})},"&.".concat(p.loading),{color:"transparent"}),"start"===t.loadingPosition&&t.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0,marginRight:-8}),"end"===t.loadingPosition&&t.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0,marginLeft:-8}))})),I=(0,l.ZP)("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:function(n,t){var o=n.ownerState;return[t.loadingIndicator,t["loadingIndicator".concat((0,s.Z)(o.loadingPosition))]]}})((function(n){var t=n.theme,o=n.ownerState;return(0,r.Z)({position:"absolute",visibility:"visible",display:"flex"},"start"===o.loadingPosition&&("outlined"===o.variant||"contained"===o.variant)&&{left:14},"start"===o.loadingPosition&&"text"===o.variant&&{left:6},"center"===o.loadingPosition&&{left:"50%",transform:"translate(-50%)",color:t.palette.action.disabled},"end"===o.loadingPosition&&("outlined"===o.variant||"contained"===o.variant)&&{right:14},"end"===o.loadingPosition&&"text"===o.variant&&{right:6},"start"===o.loadingPosition&&o.fullWidth&&{position:"relative",left:-10},"end"===o.loadingPosition&&o.fullWidth&&{position:"relative",right:-10})})),b=e.forwardRef((function(n,t){var o=(0,u.Z)({props:n,name:"MuiLoadingButton"}),i=o.children,l=o.disabled,g=void 0!==l&&l,v=o.id,p=o.loading,b=void 0!==p&&p,j=o.loadingIndicator,S=o.loadingPosition,L=void 0===S?"center":S,P=o.variant,y=void 0===P?"text":P,C=(0,a.Z)(o,m),w=(0,c.Z)(v),M=null!=j?j:(0,h.jsx)(f.Z,{"aria-labelledby":w,color:"inherit",size:16}),N=(0,r.Z)({},o,{disabled:g,loading:b,loadingIndicator:M,loadingPosition:L,variant:y}),k=function(n){var t=n.loading,o=n.loadingPosition,i=n.classes,a={root:["root",t&&"loading"],startIcon:[t&&"startIconLoading".concat((0,s.Z)(o))],endIcon:[t&&"endIconLoading".concat((0,s.Z)(o))],loadingIndicator:["loadingIndicator",t&&"loadingIndicator".concat((0,s.Z)(o))]},e=(0,d.Z)(a,Z,i);return(0,r.Z)({},i,e)}(N);return(0,h.jsx)(x,(0,r.Z)({disabled:g||b,id:w,ref:t},C,{variant:y,classes:k,ownerState:N,children:"end"===N.loadingPosition?(0,h.jsxs)(e.Fragment,{children:[i,b&&(0,h.jsx)(I,{className:k.loadingIndicator,ownerState:N,children:M})]}):(0,h.jsxs)(e.Fragment,{children:[b&&(0,h.jsx)(I,{className:k.loadingIndicator,ownerState:N,children:M}),i]})}))}))},7887:function(n,t,o){o.d(t,{Z:function(){return Z}});var i=o(1048),a=o(32793),r=o(50390),e=o(44977),s=o(50076),c=o(8208),d=o(15573),l=o(10594);function u(n){return(0,l.Z)("MuiDialogActions",n)}(0,o(43349).Z)("MuiDialogActions",["root","spacing"]);var g=o(62559),f=["className","disableSpacing"],v=(0,c.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(n,t){var o=n.ownerState;return[t.root,!o.disableSpacing&&t.spacing]}})((function(n){var t=n.ownerState;return(0,a.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!t.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),Z=r.forwardRef((function(n,t){var o=(0,d.Z)({props:n,name:"MuiDialogActions"}),r=o.className,c=o.disableSpacing,l=void 0!==c&&c,Z=(0,i.Z)(o,f),p=(0,a.Z)({},o,{disableSpacing:l}),h=function(n){var t=n.classes,o={root:["root",!n.disableSpacing&&"spacing"]};return(0,s.Z)(o,u,t)}(p);return(0,g.jsx)(v,(0,a.Z)({className:(0,e.Z)(h.root,r),ownerState:p,ref:t},Z))}))},23473:function(n,t,o){o.d(t,{Z:function(){return Z}});var i=o(1048),a=o(32793),r=o(50390),e=o(50076),s=o(8208),c=o(15573),d=o(35477),l=o(10594);function u(n){return(0,l.Z)("MuiDialogContentText",n)}(0,o(43349).Z)("MuiDialogContentText",["root"]);var g=o(62559),f=["children"],v=(0,s.ZP)(d.Z,{shouldForwardProp:function(n){return(0,s.FO)(n)||"classes"===n},name:"MuiDialogContentText",slot:"Root",overridesResolver:function(n,t){return t.root}})({}),Z=r.forwardRef((function(n,t){var o=(0,c.Z)({props:n,name:"MuiDialogContentText"}),r=(0,i.Z)(o,f),s=function(n){var t=n.classes,o=(0,e.Z)({root:["root"]},u,t);return(0,a.Z)({},t,o)}(r);return(0,g.jsx)(v,(0,a.Z)({component:"p",variant:"body1",color:"text.secondary",ref:t,ownerState:r},o,{classes:s}))}))},18207:function(n,t,o){function i(){return i=Object.assign||function(n){for(var t=1;t=0||(a[o]=n[o]);return a}o.d(t,{Z:function(){return i}})}}]); -//# sourceMappingURL=5284.e23070a0.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5284],{21639:function(n,t,o){var i=o(23430),a=o(50390),r=o(30324);t.Z=function(n,t){var o=(0,a.useState)(!1),e=(0,i.Z)(o,2),s=e[0],c=e[1];return[s,function(o,i,a){c(!0),r.Z.invoke(o,i,a).then((function(t){c(!1),n(t)})).catch((function(n){c(!1),t(n)}))}]}},60656:function(n,t,o){var i=o(18489),a=o(50390),r=o(84402),e=o(78426),s=o(93085),c=o(7887),d=o(66946),l=o(14476),u=o(95467),g=o(21278),f=o(86509),v=o(4285),Z=o(72462),p=o(62559);t.Z=(0,v.Z)((function(n){return(0,f.Z)((0,i.Z)({},Z.Qw))}))((function(n){var t=n.isOpen,o=void 0!==t&&t,f=n.onClose,v=n.onCancel,Z=n.onConfirm,h=n.classes,m=void 0===h?{}:h,x=n.title,I=void 0===x?"":x,b=n.isLoading,j=n.confirmationContent,S=n.cancelText,L=void 0===S?"Cancel":S,P=n.confirmText,y=void 0===P?"Confirm":P,C=n.confirmButtonProps,w=void 0===C?{}:C,M=n.cancelButtonProps,N=void 0===M?{}:M,k=n.titleIcon,R=void 0===k?null:k;return(0,p.jsxs)(r.Z,{open:o,onClose:function(n,t){"backdropClick"!==t&&f()},className:m.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,p.jsxs)(e.Z,{className:m.title,children:[(0,p.jsxs)("div",{className:m.titleText,children:[R," ",I]}),(0,p.jsx)("div",{className:m.closeContainer,children:(0,p.jsx)(u.Z,{"aria-label":"close",className:m.closeButton,onClick:f,disableRipple:!0,size:"small",children:(0,p.jsx)(g.Z,{})})})]}),(0,p.jsx)(s.Z,{className:m.content,children:j}),(0,p.jsxs)(c.Z,{className:m.actions,children:[(0,p.jsx)(d.Z,(0,i.Z)((0,i.Z)({className:m.cancelButton,onClick:v||f,disabled:b,type:"button"},N),{},{variant:"outlined",color:"primary",children:L})),(0,p.jsx)(l.Z,(0,i.Z)((0,i.Z)({className:m.confirmButton,type:"button",onClick:Z,loading:b,disabled:b,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,p.jsx)(a.Fragment,{}),autoFocus:!0},w),{},{children:y}))]})]})}))},65284:function(n,t,o){o.r(t);var i=o(23430),a=(o(50390),o(34424)),r=o(23473),e=o(44149),s=o(60656),c=o(21639),d=o(98280),l=o(62559),u={setErrorSnackMessage:e.Ih},g=(0,a.$j)(null,u);t.default=g((function(n){var t=n.selectedGroup,o=n.deleteOpen,a=n.closeDeleteModalAndRefresh,e=n.setErrorSnackMessage,u=(0,c.Z)((function(){return a(!0)}),(function(n){return e(n)})),g=(0,i.Z)(u,2),f=g[0],v=g[1];if(!t)return null;return(0,l.jsx)(s.Z,{title:"Delete Group",confirmText:"Delete",isOpen:o,titleIcon:(0,l.jsx)(d.Nv,{}),isLoading:f,onConfirm:function(){v("DELETE","/api/v1/group?name=".concat(encodeURI(t)))},onClose:function(){return a(!1)},confirmationContent:(0,l.jsxs)(r.Z,{children:["Are you sure you want to delete group",(0,l.jsx)("br",{}),(0,l.jsx)("b",{children:t}),"?"]})})}))},14476:function(n,t,o){o.d(t,{Z:function(){return b}});var i=o(36222),a=o(46633),r=o(18207),e=o(50390),s=o(91442),c=o(4733),d=o(50076),l=o(8208),u=o(15573),g=o(66946),f=o(18201),v=o(10594);function Z(n){return(0,v.Z)("MuiLoadingButton",n)}var p=(0,o(43349).Z)("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),h=o(62559),m=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],x=(0,l.ZP)(g.Z,{shouldForwardProp:function(n){return function(n){return"ownerState"!==n&&"theme"!==n&&"sx"!==n&&"as"!==n&&"classes"!==n}(n)||"classes"===n},name:"MuiLoadingButton",slot:"Root",overridesResolver:function(n,t){return[t.root,t.startIconLoadingStart&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart),t.startIconLoadingStart),t.endIconLoadingEnd&&(0,i.Z)({},"& .".concat(p.endIconLoadingEnd),t.endIconLoadingEnd)]}})((function(n){var t=n.ownerState,o=n.theme;return(0,r.Z)((0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0}),"center"===t.loadingPosition&&(0,i.Z)({transition:o.transitions.create(["background-color","box-shadow","border-color"],{duration:o.transitions.duration.short})},"&.".concat(p.loading),{color:"transparent"}),"start"===t.loadingPosition&&t.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0,marginRight:-8}),"end"===t.loadingPosition&&t.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0,marginLeft:-8}))})),I=(0,l.ZP)("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:function(n,t){var o=n.ownerState;return[t.loadingIndicator,t["loadingIndicator".concat((0,s.Z)(o.loadingPosition))]]}})((function(n){var t=n.theme,o=n.ownerState;return(0,r.Z)({position:"absolute",visibility:"visible",display:"flex"},"start"===o.loadingPosition&&("outlined"===o.variant||"contained"===o.variant)&&{left:14},"start"===o.loadingPosition&&"text"===o.variant&&{left:6},"center"===o.loadingPosition&&{left:"50%",transform:"translate(-50%)",color:t.palette.action.disabled},"end"===o.loadingPosition&&("outlined"===o.variant||"contained"===o.variant)&&{right:14},"end"===o.loadingPosition&&"text"===o.variant&&{right:6},"start"===o.loadingPosition&&o.fullWidth&&{position:"relative",left:-10},"end"===o.loadingPosition&&o.fullWidth&&{position:"relative",right:-10})})),b=e.forwardRef((function(n,t){var o=(0,u.Z)({props:n,name:"MuiLoadingButton"}),i=o.children,l=o.disabled,g=void 0!==l&&l,v=o.id,p=o.loading,b=void 0!==p&&p,j=o.loadingIndicator,S=o.loadingPosition,L=void 0===S?"center":S,P=o.variant,y=void 0===P?"text":P,C=(0,a.Z)(o,m),w=(0,c.Z)(v),M=null!=j?j:(0,h.jsx)(f.Z,{"aria-labelledby":w,color:"inherit",size:16}),N=(0,r.Z)({},o,{disabled:g,loading:b,loadingIndicator:M,loadingPosition:L,variant:y}),k=function(n){var t=n.loading,o=n.loadingPosition,i=n.classes,a={root:["root",t&&"loading"],startIcon:[t&&"startIconLoading".concat((0,s.Z)(o))],endIcon:[t&&"endIconLoading".concat((0,s.Z)(o))],loadingIndicator:["loadingIndicator",t&&"loadingIndicator".concat((0,s.Z)(o))]},e=(0,d.Z)(a,Z,i);return(0,r.Z)({},i,e)}(N);return(0,h.jsx)(x,(0,r.Z)({disabled:g||b,id:w,ref:t},C,{variant:y,classes:k,ownerState:N,children:"end"===N.loadingPosition?(0,h.jsxs)(e.Fragment,{children:[i,b&&(0,h.jsx)(I,{className:k.loadingIndicator,ownerState:N,children:M})]}):(0,h.jsxs)(e.Fragment,{children:[b&&(0,h.jsx)(I,{className:k.loadingIndicator,ownerState:N,children:M}),i]})}))}))},7887:function(n,t,o){o.d(t,{Z:function(){return Z}});var i=o(1048),a=o(32793),r=o(50390),e=o(44977),s=o(50076),c=o(8208),d=o(15573),l=o(10594);function u(n){return(0,l.Z)("MuiDialogActions",n)}(0,o(43349).Z)("MuiDialogActions",["root","spacing"]);var g=o(62559),f=["className","disableSpacing"],v=(0,c.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(n,t){var o=n.ownerState;return[t.root,!o.disableSpacing&&t.spacing]}})((function(n){var t=n.ownerState;return(0,a.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!t.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),Z=r.forwardRef((function(n,t){var o=(0,d.Z)({props:n,name:"MuiDialogActions"}),r=o.className,c=o.disableSpacing,l=void 0!==c&&c,Z=(0,i.Z)(o,f),p=(0,a.Z)({},o,{disableSpacing:l}),h=function(n){var t=n.classes,o={root:["root",!n.disableSpacing&&"spacing"]};return(0,s.Z)(o,u,t)}(p);return(0,g.jsx)(v,(0,a.Z)({className:(0,e.Z)(h.root,r),ownerState:p,ref:t},Z))}))},23473:function(n,t,o){o.d(t,{Z:function(){return Z}});var i=o(1048),a=o(32793),r=o(50390),e=o(50076),s=o(8208),c=o(15573),d=o(35477),l=o(10594);function u(n){return(0,l.Z)("MuiDialogContentText",n)}(0,o(43349).Z)("MuiDialogContentText",["root"]);var g=o(62559),f=["children"],v=(0,s.ZP)(d.Z,{shouldForwardProp:function(n){return(0,s.FO)(n)||"classes"===n},name:"MuiDialogContentText",slot:"Root",overridesResolver:function(n,t){return t.root}})({}),Z=r.forwardRef((function(n,t){var o=(0,c.Z)({props:n,name:"MuiDialogContentText"}),r=(0,i.Z)(o,f),s=function(n){var t=n.classes,o=(0,e.Z)({root:["root"]},u,t);return(0,a.Z)({},t,o)}(r);return(0,g.jsx)(v,(0,a.Z)({component:"p",variant:"body1",color:"text.secondary",ref:t,ownerState:r},o,{classes:s}))}))},18207:function(n,t,o){function i(){return i=Object.assign||function(n){for(var t=1;t=0||(a[o]=n[o]);return a}o.d(t,{Z:function(){return i}})}}]); +//# sourceMappingURL=5284.5dcf178e.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/5284.e23070a0.chunk.js.map b/portal-ui/build/static/js/5284.5dcf178e.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/5284.e23070a0.chunk.js.map rename to portal-ui/build/static/js/5284.5dcf178e.chunk.js.map index a24bbdd65..cacb98f71 100644 --- a/portal-ui/build/static/js/5284.e23070a0.chunk.js.map +++ b/portal-ui/build/static/js/5284.5dcf178e.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/5284.e23070a0.chunk.js","mappings":"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","sources":["screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Groups/DeleteGroup.tsx","../node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","../node_modules/@mui/lab/LoadingButton/LoadingButton.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/extends.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\n\ninterface IDeleteGroup {\n selectedGroup: string;\n deleteOpen: boolean;\n closeDeleteModalAndRefresh: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeleteGroup = ({\n selectedGroup,\n deleteOpen,\n closeDeleteModalAndRefresh,\n setErrorSnackMessage,\n}: IDeleteGroup) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedGroup) {\n return null;\n }\n const onDeleteGroup = () => {\n invokeDeleteApi(\"DELETE\", `/api/v1/group?name=${encodeURI(selectedGroup)}`);\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onDeleteGroup}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete group\n
\n {selectedGroup}?\n
\n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteGroup);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLoadingButtonUtilityClass(slot) {\n return generateUtilityClass('MuiLoadingButton', slot);\n}\nconst loadingButtonClasses = generateUtilityClasses('MuiLoadingButton', ['root', 'loading', 'loadingIndicator', 'loadingIndicatorCenter', 'loadingIndicatorStart', 'loadingIndicatorEnd', 'endIconLoadingEnd', 'startIconLoadingStart']);\nexport default loadingButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"disabled\", \"id\", \"loading\", \"loadingIndicator\", \"loadingPosition\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@mui/utils';\nimport { capitalize, unstable_useId as useId } from '@mui/material/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading'],\n startIcon: [loading && `startIconLoading${capitalize(loadingPosition)}`],\n endIcon: [loading && `endIconLoading${capitalize(loadingPosition)}`],\n loadingIndicator: ['loadingIndicator', loading && `loadingIndicator${capitalize(loadingPosition)}`]\n };\n const composedClasses = composeClasses(slots, getLoadingButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n}; // TODO use `import { rootShouldForwardProp } from '../styles/styled';` once move to core\n\n\nconst rootShouldForwardProp = prop => prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as' && prop !== 'classes';\n\nconst LoadingButtonRoot = styled(Button, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiLoadingButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root, styles.startIconLoadingStart && {\n [`& .${loadingButtonClasses.startIconLoadingStart}`]: styles.startIconLoadingStart\n }, styles.endIconLoadingEnd && {\n [`& .${loadingButtonClasses.endIconLoadingEnd}`]: styles.endIconLoadingEnd\n }];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n}, ownerState.loadingPosition === 'center' && {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${loadingButtonClasses.loading}`]: {\n color: 'transparent'\n }\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginRight: -8\n }\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginLeft: -8\n }\n}));\nconst LoadingButtonLoadingIndicator = styled('div', {\n name: 'MuiLoadingButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.loadingIndicator, styles[`loadingIndicator${capitalize(ownerState.loadingPosition)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'absolute',\n visibility: 'visible',\n display: 'flex'\n}, ownerState.loadingPosition === 'start' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n left: 14\n}, ownerState.loadingPosition === 'start' && ownerState.variant === 'text' && {\n left: 6\n}, ownerState.loadingPosition === 'center' && {\n left: '50%',\n transform: 'translate(-50%)',\n color: theme.palette.action.disabled\n}, ownerState.loadingPosition === 'end' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n right: 14\n}, ownerState.loadingPosition === 'end' && ownerState.variant === 'text' && {\n right: 6\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n position: 'relative',\n left: -10\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n position: 'relative',\n right: -10\n}));\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLoadingButton'\n });\n\n const {\n children,\n disabled = false,\n id: idProp,\n loading = false,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp != null ? loadingIndicatorProp : /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n\n const ownerState = _extends({}, props, {\n disabled,\n loading,\n loadingIndicator,\n loadingPosition,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LoadingButtonRoot, _extends({\n disabled: disabled || loading,\n id: id,\n ref: ref\n }, other, {\n variant: variant,\n classes: classes,\n ownerState: ownerState,\n children: ownerState.loadingPosition === 'end' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children, loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n }), children]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LoadingButton.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * @ignore\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the loading indicator is shown.\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default we render a `CircularProgress` that is labelled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: chainPropTypes(PropTypes.oneOf(['start', 'end', 'center']), props => {\n if (props.loadingPosition === 'start' && !props.startIcon) {\n return new Error(`MUI: The loadingPosition=\"start\" should be used in combination with startIcon.`);\n }\n\n if (props.loadingPosition === 'end' && !props.endIcon) {\n return new Error(`MUI: The loadingPosition=\"end\" should be used in combination with endIcon.`);\n }\n\n return null;\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes.oneOf(['contained', 'outlined', 'text'])\n} : void 0;\nexport default LoadingButton;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n\n const ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * 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 DialogContentText;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","withStyles","theme","createStyles","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","classes","title","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","className","root","sx","padding","titleText","closeContainer","closeButton","onClick","disableRipple","size","content","actions","cancelButton","disabled","type","variant","color","confirmButton","loading","loadingPosition","startIcon","autoFocus","mapDispatchToProps","setErrorSnackMessage","connector","connect","selectedGroup","deleteOpen","closeDeleteModalAndRefresh","useApi","deleteLoading","invokeDeleteApi","encodeURI","getLoadingButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","LoadingButtonRoot","styled","Button","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","startIconLoadingStart","loadingButtonClasses","endIconLoadingEnd","ownerState","_extends","transition","transitions","create","duration","short","opacity","fullWidth","marginRight","marginLeft","LoadingButtonLoadingIndicator","loadingIndicator","capitalize","position","visibility","display","left","transform","palette","action","right","React","inProps","ref","useThemeProps","children","idProp","id","loadingIndicatorProp","other","_objectWithoutPropertiesLoose","useId","_jsx","CircularProgress","slots","endIcon","composedClasses","composeClasses","useUtilityClasses","_jsxs","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","spacing","alignItems","justifyContent","flex","clsx","getDialogContentTextUtilityClass","DialogContentTextRoot","Typography","component","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","excluded","sourceKeys","keys","indexOf"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/5284.5dcf178e.chunk.js","mappings":"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","sources":["screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Groups/DeleteGroup.tsx","../node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","../node_modules/@mui/lab/LoadingButton/LoadingButton.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/extends.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\n\ninterface IDeleteGroup {\n selectedGroup: string;\n deleteOpen: boolean;\n closeDeleteModalAndRefresh: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeleteGroup = ({\n selectedGroup,\n deleteOpen,\n closeDeleteModalAndRefresh,\n setErrorSnackMessage,\n}: IDeleteGroup) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedGroup) {\n return null;\n }\n const onDeleteGroup = () => {\n invokeDeleteApi(\"DELETE\", `/api/v1/group?name=${encodeURI(selectedGroup)}`);\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onDeleteGroup}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete group\n
\n {selectedGroup}?\n
\n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteGroup);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLoadingButtonUtilityClass(slot) {\n return generateUtilityClass('MuiLoadingButton', slot);\n}\nconst loadingButtonClasses = generateUtilityClasses('MuiLoadingButton', ['root', 'loading', 'loadingIndicator', 'loadingIndicatorCenter', 'loadingIndicatorStart', 'loadingIndicatorEnd', 'endIconLoadingEnd', 'startIconLoadingStart']);\nexport default loadingButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"disabled\", \"id\", \"loading\", \"loadingIndicator\", \"loadingPosition\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@mui/utils';\nimport { capitalize, unstable_useId as useId } from '@mui/material/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading'],\n startIcon: [loading && `startIconLoading${capitalize(loadingPosition)}`],\n endIcon: [loading && `endIconLoading${capitalize(loadingPosition)}`],\n loadingIndicator: ['loadingIndicator', loading && `loadingIndicator${capitalize(loadingPosition)}`]\n };\n const composedClasses = composeClasses(slots, getLoadingButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n}; // TODO use `import { rootShouldForwardProp } from '../styles/styled';` once move to core\n\n\nconst rootShouldForwardProp = prop => prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as' && prop !== 'classes';\n\nconst LoadingButtonRoot = styled(Button, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiLoadingButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root, styles.startIconLoadingStart && {\n [`& .${loadingButtonClasses.startIconLoadingStart}`]: styles.startIconLoadingStart\n }, styles.endIconLoadingEnd && {\n [`& .${loadingButtonClasses.endIconLoadingEnd}`]: styles.endIconLoadingEnd\n }];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n}, ownerState.loadingPosition === 'center' && {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${loadingButtonClasses.loading}`]: {\n color: 'transparent'\n }\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginRight: -8\n }\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginLeft: -8\n }\n}));\nconst LoadingButtonLoadingIndicator = styled('div', {\n name: 'MuiLoadingButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.loadingIndicator, styles[`loadingIndicator${capitalize(ownerState.loadingPosition)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'absolute',\n visibility: 'visible',\n display: 'flex'\n}, ownerState.loadingPosition === 'start' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n left: 14\n}, ownerState.loadingPosition === 'start' && ownerState.variant === 'text' && {\n left: 6\n}, ownerState.loadingPosition === 'center' && {\n left: '50%',\n transform: 'translate(-50%)',\n color: theme.palette.action.disabled\n}, ownerState.loadingPosition === 'end' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n right: 14\n}, ownerState.loadingPosition === 'end' && ownerState.variant === 'text' && {\n right: 6\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n position: 'relative',\n left: -10\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n position: 'relative',\n right: -10\n}));\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLoadingButton'\n });\n\n const {\n children,\n disabled = false,\n id: idProp,\n loading = false,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp != null ? loadingIndicatorProp : /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n\n const ownerState = _extends({}, props, {\n disabled,\n loading,\n loadingIndicator,\n loadingPosition,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LoadingButtonRoot, _extends({\n disabled: disabled || loading,\n id: id,\n ref: ref\n }, other, {\n variant: variant,\n classes: classes,\n ownerState: ownerState,\n children: ownerState.loadingPosition === 'end' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children, loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n }), children]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LoadingButton.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * @ignore\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the loading indicator is shown.\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default we render a `CircularProgress` that is labelled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: chainPropTypes(PropTypes.oneOf(['start', 'end', 'center']), props => {\n if (props.loadingPosition === 'start' && !props.startIcon) {\n return new Error(`MUI: The loadingPosition=\"start\" should be used in combination with startIcon.`);\n }\n\n if (props.loadingPosition === 'end' && !props.endIcon) {\n return new Error(`MUI: The loadingPosition=\"end\" should be used in combination with endIcon.`);\n }\n\n return null;\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes.oneOf(['contained', 'outlined', 'text'])\n} : void 0;\nexport default LoadingButton;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n\n const ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * 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 DialogContentText;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","withStyles","theme","createStyles","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","classes","title","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","className","root","sx","padding","titleText","closeContainer","closeButton","onClick","disableRipple","size","content","actions","cancelButton","disabled","type","variant","color","confirmButton","loading","loadingPosition","startIcon","autoFocus","mapDispatchToProps","setErrorSnackMessage","connector","connect","selectedGroup","deleteOpen","closeDeleteModalAndRefresh","useApi","deleteLoading","invokeDeleteApi","encodeURI","getLoadingButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","LoadingButtonRoot","styled","Button","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","startIconLoadingStart","loadingButtonClasses","endIconLoadingEnd","ownerState","_extends","transition","transitions","create","duration","short","opacity","fullWidth","marginRight","marginLeft","LoadingButtonLoadingIndicator","loadingIndicator","capitalize","position","visibility","display","left","transform","palette","action","right","React","inProps","ref","useThemeProps","children","idProp","id","loadingIndicatorProp","other","_objectWithoutPropertiesLoose","useId","_jsx","CircularProgress","slots","endIcon","composedClasses","composeClasses","useUtilityClasses","_jsxs","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","spacing","alignItems","justifyContent","flex","clsx","getDialogContentTextUtilityClass","DialogContentTextRoot","Typography","component","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","excluded","sourceKeys","keys","indexOf"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/5482.c80a5ebb.chunk.js b/portal-ui/build/static/js/5482.c80a5ebb.chunk.js new file mode 100644 index 000000000..a15591e4c --- /dev/null +++ b/portal-ui/build/static/js/5482.c80a5ebb.chunk.js @@ -0,0 +1,2 @@ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5482,7348,2594],{96152:function(e,t,n){"use strict";var r=n(64119);t.Z=void 0;var o=r(n(66830)),i=n(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");t.Z=a},14476:function(e,t,n){"use strict";n.d(t,{Z:function(){return w}});var r=n(36222),o=n(46633),i=n(18207),a=n(50390),c=n(91442),l=n(4733),s=n(50076),u=n(8208),d=n(15573),f=n(66946),p=n(18201),v=n(10594);function g(e){return(0,v.Z)("MuiLoadingButton",e)}var m=(0,n(43349).Z)("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),h=n(62559),b=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],y=(0,u.ZP)(f.Z,{shouldForwardProp:function(e){return function(e){return"ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e&&"classes"!==e}(e)||"classes"===e},name:"MuiLoadingButton",slot:"Root",overridesResolver:function(e,t){return[t.root,t.startIconLoadingStart&&(0,r.Z)({},"& .".concat(m.startIconLoadingStart),t.startIconLoadingStart),t.endIconLoadingEnd&&(0,r.Z)({},"& .".concat(m.endIconLoadingEnd),t.endIconLoadingEnd)]}})((function(e){var t=e.ownerState,n=e.theme;return(0,i.Z)((0,r.Z)({},"& .".concat(m.startIconLoadingStart,", & .").concat(m.endIconLoadingEnd),{transition:n.transitions.create(["opacity"],{duration:n.transitions.duration.short}),opacity:0}),"center"===t.loadingPosition&&(0,r.Z)({transition:n.transitions.create(["background-color","box-shadow","border-color"],{duration:n.transitions.duration.short})},"&.".concat(m.loading),{color:"transparent"}),"start"===t.loadingPosition&&t.fullWidth&&(0,r.Z)({},"& .".concat(m.startIconLoadingStart,", & .").concat(m.endIconLoadingEnd),{transition:n.transitions.create(["opacity"],{duration:n.transitions.duration.short}),opacity:0,marginRight:-8}),"end"===t.loadingPosition&&t.fullWidth&&(0,r.Z)({},"& .".concat(m.startIconLoadingStart,", & .").concat(m.endIconLoadingEnd),{transition:n.transitions.create(["opacity"],{duration:n.transitions.duration.short}),opacity:0,marginLeft:-8}))})),Z=(0,u.ZP)("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:function(e,t){var n=e.ownerState;return[t.loadingIndicator,t["loadingIndicator".concat((0,c.Z)(n.loadingPosition))]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,i.Z)({position:"absolute",visibility:"visible",display:"flex"},"start"===n.loadingPosition&&("outlined"===n.variant||"contained"===n.variant)&&{left:14},"start"===n.loadingPosition&&"text"===n.variant&&{left:6},"center"===n.loadingPosition&&{left:"50%",transform:"translate(-50%)",color:t.palette.action.disabled},"end"===n.loadingPosition&&("outlined"===n.variant||"contained"===n.variant)&&{right:14},"end"===n.loadingPosition&&"text"===n.variant&&{right:6},"start"===n.loadingPosition&&n.fullWidth&&{position:"relative",left:-10},"end"===n.loadingPosition&&n.fullWidth&&{position:"relative",right:-10})})),w=a.forwardRef((function(e,t){var n=(0,d.Z)({props:e,name:"MuiLoadingButton"}),r=n.children,u=n.disabled,f=void 0!==u&&u,v=n.id,m=n.loading,w=void 0!==m&&m,O=n.loadingIndicator,x=n.loadingPosition,S=void 0===x?"center":x,C=n.variant,P=void 0===C?"text":C,D=(0,o.Z)(n,b),k=(0,l.Z)(v),j=null!=O?O:(0,h.jsx)(p.Z,{"aria-labelledby":k,color:"inherit",size:16}),R=(0,i.Z)({},n,{disabled:f,loading:w,loadingIndicator:j,loadingPosition:S,variant:P}),E=function(e){var t=e.loading,n=e.loadingPosition,r=e.classes,o={root:["root",t&&"loading"],startIcon:[t&&"startIconLoading".concat((0,c.Z)(n))],endIcon:[t&&"endIconLoading".concat((0,c.Z)(n))],loadingIndicator:["loadingIndicator",t&&"loadingIndicator".concat((0,c.Z)(n))]},a=(0,s.Z)(o,g,r);return(0,i.Z)({},r,a)}(R);return(0,h.jsx)(y,(0,i.Z)({disabled:f||w,id:k,ref:t},D,{variant:P,classes:E,ownerState:R,children:"end"===R.loadingPosition?(0,h.jsxs)(a.Fragment,{children:[r,w&&(0,h.jsx)(Z,{className:E.loadingIndicator,ownerState:R,children:j})]}):(0,h.jsxs)(a.Fragment,{children:[w&&(0,h.jsx)(Z,{className:E.loadingIndicator,ownerState:R,children:j}),r]})}))}))},97227:function(e,t,n){"use strict";n.d(t,{ZP:function(){return c},_i:function(){return l},uU:function(){return s},pQ:function(){return u}});var r=n(23430),o=n(50390),i=n(62559),a=o.createContext(null);function c(e){var t=e.children,n=e.value,c=function(){var e=o.useState(null),t=(0,r.Z)(e,2),n=t[0],i=t[1];return o.useEffect((function(){i("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),n}(),l=o.useMemo((function(){return{idPrefix:c,value:n}}),[c,n]);return(0,i.jsx)(a.Provider,{value:l,children:t})}function l(){return o.useContext(a)}function s(e,t){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(t)}function u(e,t){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(t)}},74564:function(e,t,n){"use strict";var r=n(18207),o=n(46633),i=n(50390),a=n(98247),c=n(97227),l=n(62559),s=["children"],u=i.forwardRef((function(e,t){var n=e.children,u=(0,o.Z)(e,s),d=(0,c._i)();if(null===d)throw new TypeError("No TabContext provided");var f=i.Children.map(n,(function(e){return i.isValidElement(e)?i.cloneElement(e,{"aria-controls":(0,c.uU)(d,e.props.value),id:(0,c.pQ)(d,e.props.value)}):null}));return(0,l.jsx)(a.Z,(0,r.Z)({},u,{ref:t,value:d.value,children:f}))}));t.Z=u},669:function(e,t,n){"use strict";n.d(t,{Z:function(){return m}});var r=n(18207),o=n(46633),i=n(50390),a=n(44977),c=n(8208),l=n(15573),s=n(50076),u=n(10594);function d(e){return(0,u.Z)("MuiTabPanel",e)}(0,n(43349).Z)("MuiTabPanel",["root"]);var f=n(97227),p=n(62559),v=["children","className","value"],g=(0,c.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,t){return t.root}})((function(e){return{padding:e.theme.spacing(3)}})),m=i.forwardRef((function(e,t){var n=(0,l.Z)({props:e,name:"MuiTabPanel"}),i=n.children,c=n.className,u=n.value,m=(0,o.Z)(n,v),h=(0,r.Z)({},n),b=function(e){var t=e.classes;return(0,s.Z)({root:["root"]},d,t)}(h),y=(0,f._i)();if(null===y)throw new TypeError("No TabContext provided");var Z=(0,f.uU)(y,u),w=(0,f.pQ)(y,u);return(0,p.jsx)(g,(0,r.Z)({"aria-labelledby":w,className:(0,a.Z)(b.root,c),hidden:u!==y.value,id:Z,ref:t,role:"tabpanel",ownerState:h},m,{children:u===y.value&&i}))}))},2857:function(e,t,n){"use strict";n.d(t,{Z:function(){return E}});var r=n(36222),o=n(1048),i=n(32793),a=n(50390),c=n(44977),l=function(e){var t=a.useRef({});return a.useEffect((function(){t.current=e})),t.current},s=n(43349),u=n(10594);function d(e){return(0,u.Z)("MuiBadge",e)}var f=(0,s.Z)("MuiBadge",["root","badge","dot","standard","anchorOriginTopLeft","anchorOriginTopRight","anchorOriginBottomLeft","anchorOriginBottomRight","invisible"]),p=n(38331),v=n(23960),g=n(89705),m=n(50076),h=n(53135);var b=n(62559),y=["anchorOrigin","classes","badgeContent","component","children","className","components","componentsProps","invisible","max","showZero","variant"],Z=a.forwardRef((function(e,t){var n=e.anchorOrigin,r=void 0===n?{vertical:"top",horizontal:"right"}:n,o=e.classes,i=e.component,a=e.children,s=e.className,u=e.components,f=void 0===u?{}:u,Z=e.componentsProps,w=void 0===Z?{}:Z,O=e.max,x=void 0===O?99:O,S=e.showZero,C=void 0!==S&&S,P=e.variant,D=void 0===P?"standard":P,k=(0,v.Z)(e,y),j=function(e){var t=e.anchorOrigin,n=void 0===t?{vertical:"top",horizontal:"right"}:t,r=e.badgeContent,o=e.invisible,i=e.max,a=void 0===i?99:i,c=e.showZero,s=void 0!==c&&c,u=e.variant,d=void 0===u?"standard":u,f=l({anchorOrigin:n,badgeContent:r,max:a,variant:d}),p=o;null==o&&(0===r&&!s||null==r&&"dot"!==d)&&(p=!0);var v=p?f:e,g=v.anchorOrigin,m=void 0===g?n:g,h=v.badgeContent,b=v.max,y=void 0===b?a:b,Z=v.variant,w=void 0===Z?d:Z,O="";return"dot"!==w&&(O=h&&Number(h)>y?"".concat(y,"+"):h),{anchorOrigin:m,badgeContent:h,invisible:p,max:y,variant:w,displayValue:O}}((0,p.Z)({},e,{anchorOrigin:r,max:x,variant:D})),R=j.anchorOrigin,E=j.badgeContent,I=j.max,A=j.variant,F=j.displayValue,z=j.invisible,M=(0,p.Z)({},e,{anchorOrigin:R,badgeContent:E,classes:o,invisible:z,max:I,variant:A,showZero:C}),T=function(e){var t=e.variant,n=e.anchorOrigin,r=e.invisible,o=e.classes,i={root:["root"],badge:["badge",t,"anchorOrigin".concat((0,g.Z)(n.vertical)).concat((0,g.Z)(n.horizontal)),r&&"invisible"]};return(0,m.Z)(i,d,o)}(M),L=i||f.Root||"span",B=(0,h.Z)(L,(0,p.Z)({},k,w.root),M),N=f.Badge||"span",_=(0,h.Z)(N,w.badge,M);return(0,b.jsxs)(L,(0,p.Z)({},B,{ref:t},k,{className:(0,c.Z)(T.root,B.className,s),children:[a,(0,b.jsx)(N,(0,p.Z)({},_,{className:(0,c.Z)(T.badge,_.className),children:F}))]}))})),w=Z,O=n(8208),x=n(15573),S=n(45193),C=function(e){return!e||!(0,S.Z)(e)},P=n(91442),D=["anchorOrigin","component","components","componentsProps","overlap","color","invisible","badgeContent","showZero","variant"],k=(0,i.Z)({},f,(0,s.Z)("MuiBadge",["colorError","colorInfo","colorPrimary","colorSecondary","colorSuccess","colorWarning","overlapRectangular","overlapCircular","anchorOriginTopLeftCircular","anchorOriginTopLeftRectangular","anchorOriginTopRightCircular","anchorOriginTopRightRectangular","anchorOriginBottomLeftCircular","anchorOriginBottomLeftRectangular","anchorOriginBottomRightCircular","anchorOriginBottomRightRectangular"])),j=(0,O.ZP)("span",{name:"MuiBadge",slot:"Root",overridesResolver:function(e,t){return t.root}})({position:"relative",display:"inline-flex",verticalAlign:"middle",flexShrink:0}),R=(0,O.ZP)("span",{name:"MuiBadge",slot:"Badge",overridesResolver:function(e,t){var n=e.ownerState;return[t.badge,t[n.variant],t["anchorOrigin".concat((0,P.Z)(n.anchorOrigin.vertical)).concat((0,P.Z)(n.anchorOrigin.horizontal)).concat((0,P.Z)(n.overlap))],"default"!==n.color&&t["color".concat((0,P.Z)(n.color))],n.invisible&&t.invisible]}})((function(e){var t=e.theme,n=e.ownerState;return(0,i.Z)({display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"center",alignContent:"center",alignItems:"center",position:"absolute",boxSizing:"border-box",fontFamily:t.typography.fontFamily,fontWeight:t.typography.fontWeightMedium,fontSize:t.typography.pxToRem(12),minWidth:20,lineHeight:1,padding:"0 6px",height:20,borderRadius:10,zIndex:1,transition:t.transitions.create("transform",{easing:t.transitions.easing.easeInOut,duration:t.transitions.duration.enteringScreen})},"default"!==n.color&&{backgroundColor:t.palette[n.color].main,color:t.palette[n.color].contrastText},"dot"===n.variant&&{borderRadius:4,height:8,minWidth:8,padding:0},"top"===n.anchorOrigin.vertical&&"right"===n.anchorOrigin.horizontal&&"rectangular"===n.overlap&&(0,r.Z)({top:0,right:0,transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%"},"&.".concat(k.invisible),{transform:"scale(0) translate(50%, -50%)"}),"bottom"===n.anchorOrigin.vertical&&"right"===n.anchorOrigin.horizontal&&"rectangular"===n.overlap&&(0,r.Z)({bottom:0,right:0,transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%"},"&.".concat(k.invisible),{transform:"scale(0) translate(50%, 50%)"}),"top"===n.anchorOrigin.vertical&&"left"===n.anchorOrigin.horizontal&&"rectangular"===n.overlap&&(0,r.Z)({top:0,left:0,transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%"},"&.".concat(k.invisible),{transform:"scale(0) translate(-50%, -50%)"}),"bottom"===n.anchorOrigin.vertical&&"left"===n.anchorOrigin.horizontal&&"rectangular"===n.overlap&&(0,r.Z)({bottom:0,left:0,transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%"},"&.".concat(k.invisible),{transform:"scale(0) translate(-50%, 50%)"}),"top"===n.anchorOrigin.vertical&&"right"===n.anchorOrigin.horizontal&&"circular"===n.overlap&&(0,r.Z)({top:"14%",right:"14%",transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%"},"&.".concat(k.invisible),{transform:"scale(0) translate(50%, -50%)"}),"bottom"===n.anchorOrigin.vertical&&"right"===n.anchorOrigin.horizontal&&"circular"===n.overlap&&(0,r.Z)({bottom:"14%",right:"14%",transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%"},"&.".concat(k.invisible),{transform:"scale(0) translate(50%, 50%)"}),"top"===n.anchorOrigin.vertical&&"left"===n.anchorOrigin.horizontal&&"circular"===n.overlap&&(0,r.Z)({top:"14%",left:"14%",transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%"},"&.".concat(k.invisible),{transform:"scale(0) translate(-50%, -50%)"}),"bottom"===n.anchorOrigin.vertical&&"left"===n.anchorOrigin.horizontal&&"circular"===n.overlap&&(0,r.Z)({bottom:"14%",left:"14%",transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%"},"&.".concat(k.invisible),{transform:"scale(0) translate(-50%, 50%)"}),n.invisible&&{transition:t.transitions.create("transform",{easing:t.transitions.easing.easeInOut,duration:t.transitions.duration.leavingScreen})})})),E=a.forwardRef((function(e,t){var n,r,a=(0,x.Z)({props:e,name:"MuiBadge"}),s=a.anchorOrigin,u=void 0===s?{vertical:"top",horizontal:"right"}:s,f=a.component,p=void 0===f?"span":f,v=a.components,g=void 0===v?{}:v,m=a.componentsProps,h=void 0===m?{}:m,y=a.overlap,Z=void 0===y?"rectangular":y,O=a.color,S=void 0===O?"default":O,k=a.invisible,E=a.badgeContent,I=a.showZero,A=void 0!==I&&I,F=a.variant,z=void 0===F?"standard":F,M=(0,o.Z)(a,D),T=l({anchorOrigin:u,color:S,overlap:Z}),L=k;null==k&&(0===E&&!A||null==E&&"dot"!==z)&&(L=!0);var B=L?T:a,N=B.color,_=void 0===N?S:N,V=B.overlap,W=void 0===V?Z:V,U=B.anchorOrigin,G=void 0===U?u:U,K=function(e){var t=e.color,n=e.anchorOrigin,r=e.overlap,o=e.classes,a=void 0===o?{}:o;return(0,i.Z)({},a,{badge:(0,c.Z)(a.badge,d("anchorOrigin".concat((0,P.Z)(n.vertical)).concat((0,P.Z)(n.horizontal)).concat((0,P.Z)(r))),d("overlap".concat((0,P.Z)(r))),"default"!==t&&[d("color".concat((0,P.Z)(t))),a["color".concat((0,P.Z)(t))]])})}((0,i.Z)({},a,{anchorOrigin:G,invisible:L,color:_,overlap:W}));return(0,b.jsx)(w,(0,i.Z)({anchorOrigin:G,invisible:k,badgeContent:E,showZero:A,variant:z},M,{components:(0,i.Z)({Root:j,Badge:R},g),componentsProps:{root:(0,i.Z)({},h.root,C(g.Root)&&{as:p,ownerState:(0,i.Z)({},null==(n=h.root)?void 0:n.ownerState,{color:_,overlap:W})}),badge:(0,i.Z)({},h.badge,C(g.Badge)&&{ownerState:(0,i.Z)({},null==(r=h.badge)?void 0:r.ownerState,{color:_,overlap:W})})},classes:K,ref:t}))}))},7887:function(e,t,n){"use strict";n.d(t,{Z:function(){return g}});var r=n(1048),o=n(32793),i=n(50390),a=n(44977),c=n(50076),l=n(8208),s=n(15573),u=n(10594);function d(e){return(0,u.Z)("MuiDialogActions",e)}(0,n(43349).Z)("MuiDialogActions",["root","spacing"]);var f=n(62559),p=["className","disableSpacing"],v=(0,l.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,!n.disableSpacing&&t.spacing]}})((function(e){var t=e.ownerState;return(0,o.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!t.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),g=i.forwardRef((function(e,t){var n=(0,s.Z)({props:e,name:"MuiDialogActions"}),i=n.className,l=n.disableSpacing,u=void 0!==l&&l,g=(0,r.Z)(n,p),m=(0,o.Z)({},n,{disableSpacing:u}),h=function(e){var t=e.classes,n={root:["root",!e.disableSpacing&&"spacing"]};return(0,c.Z)(n,d,t)}(m);return(0,f.jsx)(v,(0,o.Z)({className:(0,a.Z)(h.root,i),ownerState:m,ref:t},g))}))},23473:function(e,t,n){"use strict";n.d(t,{Z:function(){return g}});var r=n(1048),o=n(32793),i=n(50390),a=n(50076),c=n(8208),l=n(15573),s=n(35477),u=n(10594);function d(e){return(0,u.Z)("MuiDialogContentText",e)}(0,n(43349).Z)("MuiDialogContentText",["root"]);var f=n(62559),p=["children"],v=(0,c.ZP)(s.Z,{shouldForwardProp:function(e){return(0,c.FO)(e)||"classes"===e},name:"MuiDialogContentText",slot:"Root",overridesResolver:function(e,t){return t.root}})({}),g=i.forwardRef((function(e,t){var n=(0,l.Z)({props:e,name:"MuiDialogContentText"}),i=(0,r.Z)(n,p),c=function(e){var t=e.classes,n=(0,a.Z)({root:["root"]},d,t);return(0,o.Z)({},t,n)}(i);return(0,f.jsx)(v,(0,o.Z)({component:"p",variant:"body1",color:"text.secondary",ref:t,ownerState:i},n,{classes:c}))}))},4247:function(e,t,n){"use strict";n.d(t,{V:function(){return o}});var r=n(10594);function o(e){return(0,r.Z)("MuiDivider",e)}var i=(0,n(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=i},65771:function(e,t,n){"use strict";n.d(t,{Z:function(){return O}});var r=n(36222),o=n(1048),i=n(32793),a=n(50390),c=n(44977),l=n(50076),s=n(91442),u=n(35477),d=n(14478),f=n(23060),p=n(8208),v=n(10594);function g(e){return(0,v.Z)("MuiInputAdornment",e)}var m,h=(0,n(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),b=n(15573),y=n(62559),Z=["children","className","component","disablePointerEvents","disableTypography","position","variant"],w=(0,p.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["position".concat((0,s.Z)(n.position))],!0===n.disablePointerEvents&&t.disablePointerEvents,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,i.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:t.palette.action.active},"filled"===n.variant&&(0,r.Z)({},"&.".concat(h.positionStart,"&:not(.").concat(h.hiddenLabel,")"),{marginTop:16}),"start"===n.position&&{marginRight:8},"end"===n.position&&{marginLeft:8},!0===n.disablePointerEvents&&{pointerEvents:"none"})})),O=a.forwardRef((function(e,t){var n=(0,b.Z)({props:e,name:"MuiInputAdornment"}),r=n.children,p=n.className,v=n.component,h=void 0===v?"div":v,O=n.disablePointerEvents,x=void 0!==O&&O,S=n.disableTypography,C=void 0!==S&&S,P=n.position,D=n.variant,k=(0,o.Z)(n,Z),j=(0,f.Z)()||{},R=D;D&&j.variant,j&&!R&&(R=j.variant);var E=(0,i.Z)({},n,{hiddenLabel:j.hiddenLabel,size:j.size,disablePointerEvents:x,position:P,variant:R}),I=function(e){var t=e.classes,n=e.disablePointerEvents,r=e.hiddenLabel,o=e.position,i=e.size,a=e.variant,c={root:["root",n&&"disablePointerEvents",o&&"position".concat((0,s.Z)(o)),a,r&&"hiddenLabel",i&&"size".concat((0,s.Z)(i))]};return(0,l.Z)(c,g,t)}(E);return(0,y.jsx)(d.Z.Provider,{value:null,children:(0,y.jsx)(w,(0,i.Z)({as:h,ownerState:E,className:(0,c.Z)(I.root,p),ref:t},k,{children:"string"!==typeof r||C?(0,y.jsxs)(a.Fragment,{children:["start"===P?m||(m=(0,y.jsx)("span",{className:"notranslate",children:"\u200b"})):null,r]}):(0,y.jsx)(u.Z,{color:"text.secondary",children:r})}))})}))},31680:function(e,t,n){"use strict";n.d(t,{Z:function(){return C}});var r=n(36222),o=n(1048),i=n(32793),a=n(50390),c=n(44977),l=n(50076),s=n(36128),u=n(8208),d=n(15573),f=n(57308),p=n(86875),v=n(40839),g=n(3299),m=n(4247),h=n(2198),b=n(23586),y=n(10594);function Z(e){return(0,y.Z)("MuiMenuItem",e)}var w=(0,n(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),O=n(62559),x=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],S=(0,u.ZP)(p.Z,{shouldForwardProp:function(e){return(0,u.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,o=e.ownerState;return(0,i.Z)({},n.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!o.disableGutters&&{paddingLeft:16,paddingRight:16},o.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,r.Z)(t,"&.".concat(w.selected),(0,r.Z)({backgroundColor:(0,s.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(w.focusVisible),{backgroundColor:(0,s.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,r.Z)(t,"&.".concat(w.selected,":hover"),{backgroundColor:(0,s.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,s.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,r.Z)(t,"&.".concat(w.focusVisible),{backgroundColor:n.palette.action.focus}),(0,r.Z)(t,"&.".concat(w.disabled),{opacity:n.palette.action.disabledOpacity}),(0,r.Z)(t,"& + .".concat(m.Z.root),{marginTop:n.spacing(1),marginBottom:n.spacing(1)}),(0,r.Z)(t,"& + .".concat(m.Z.inset),{marginLeft:52}),(0,r.Z)(t,"& .".concat(b.Z.root),{marginTop:0,marginBottom:0}),(0,r.Z)(t,"& .".concat(b.Z.inset),{paddingLeft:36}),(0,r.Z)(t,"& .".concat(h.Z.root),{minWidth:36}),t),!o.dense&&(0,r.Z)({},n.breakpoints.up("sm"),{minHeight:"auto"}),o.dense&&(0,i.Z)({minHeight:32,paddingTop:4,paddingBottom:4},n.typography.body2,(0,r.Z)({},"& .".concat(h.Z.root," svg"),{fontSize:"1.25rem"})))})),C=a.forwardRef((function(e,t){var n=(0,d.Z)({props:e,name:"MuiMenuItem"}),r=n.autoFocus,s=void 0!==r&&r,u=n.component,p=void 0===u?"li":u,m=n.dense,h=void 0!==m&&m,b=n.divider,y=void 0!==b&&b,w=n.disableGutters,C=void 0!==w&&w,P=n.focusVisibleClassName,D=n.role,k=void 0===D?"menuitem":D,j=n.tabIndex,R=(0,o.Z)(n,x),E=a.useContext(f.Z),I={dense:h||E.dense||!1,disableGutters:C},A=a.useRef(null);(0,v.Z)((function(){s&&A.current&&A.current.focus()}),[s]);var F,z=(0,i.Z)({},n,{dense:I.dense,divider:y,disableGutters:C}),M=function(e){var t=e.disabled,n=e.dense,r=e.divider,o=e.disableGutters,a=e.selected,c=e.classes,s={root:["root",n&&"dense",t&&"disabled",!o&&"gutters",r&&"divider",a&&"selected"]},u=(0,l.Z)(s,Z,c);return(0,i.Z)({},c,u)}(n),T=(0,g.Z)(A,t);return n.disabled||(F=void 0!==j?j:-1),(0,O.jsx)(f.Z.Provider,{value:I,children:(0,O.jsx)(S,(0,i.Z)({ref:T,role:k,tabIndex:F,component:p,focusVisibleClassName:(0,c.Z)(M.focusVisible,P)},R,{ownerState:z,classes:M}))})}))},19787:function(e,t,n){"use strict";var r=n(36222),o=n(1048),i=n(32793),a=n(50390),c=n(11188),l=n(88646),s=n(99301),u=n(64487),d=n(8208),f=n(15573),p=n(62559),v=["component","direction","spacing","divider","children"];function g(e,t){var n=a.Children.toArray(e).filter(Boolean);return n.reduce((function(e,r,o){return e.push(r),o :not(style) + :not(style)":(0,r.Z)({margin:0},"margin".concat((o=n?d[n]:t.direction,{row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"}[o])),(0,l.NA)(a,e))};var o})))}return o})),h=a.forwardRef((function(e,t){var n=(0,f.Z)({props:e,name:"MuiStack"}),r=(0,s.Z)(n),a=r.component,c=void 0===a?"div":a,l=r.direction,u=void 0===l?"column":l,d=r.spacing,h=void 0===d?0:d,b=r.divider,y=r.children,Z=(0,o.Z)(r,v),w={direction:u,spacing:h};return(0,p.jsx)(m,(0,i.Z)({as:c,ownerState:w,ref:t},Z,{children:b?g(y,b):y}))}));t.Z=h},49056:function(e,t,n){"use strict";n.d(t,{Z:function(){return x}});var r=n(36222),o=n(1048),i=n(32793),a=n(50390),c=n(44977),l=n(50076),s=n(36128),u=n(91442),d=n(16756),f=n(15573),p=n(8208),v=n(10594);function g(e){return(0,v.Z)("MuiSwitch",e)}var m=(0,n(43349).Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),h=n(62559),b=["className","color","edge","size","sx"],y=(0,p.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.edge&&t["edge".concat((0,u.Z)(n.edge))],t["size".concat((0,u.Z)(n.size))]]}})((function(e){var t,n=e.ownerState;return(0,i.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===n.edge&&{marginLeft:-8},"end"===n.edge&&{marginRight:-8},"small"===n.size&&(t={width:40,height:24,padding:7},(0,r.Z)(t,"& .".concat(m.thumb),{width:16,height:16}),(0,r.Z)(t,"& .".concat(m.switchBase),(0,r.Z)({padding:4},"&.".concat(m.checked),{transform:"translateX(16px)"})),t))})),Z=(0,p.ZP)(d.Z,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(e,t){var n=e.ownerState;return[t.switchBase,(0,r.Z)({},"& .".concat(m.input),t.input),"default"!==n.color&&t["color".concat((0,u.Z)(n.color))]]}})((function(e){var t,n=e.theme;return t={position:"absolute",top:0,left:0,zIndex:1,color:"light"===n.palette.mode?n.palette.common.white:n.palette.grey[300],transition:n.transitions.create(["left","transform"],{duration:n.transitions.duration.shortest})},(0,r.Z)(t,"&.".concat(m.checked),{transform:"translateX(20px)"}),(0,r.Z)(t,"&.".concat(m.disabled),{color:"light"===n.palette.mode?n.palette.grey[100]:n.palette.grey[600]}),(0,r.Z)(t,"&.".concat(m.checked," + .").concat(m.track),{opacity:.5}),(0,r.Z)(t,"&.".concat(m.disabled," + .").concat(m.track),{opacity:"light"===n.palette.mode?.12:.2}),(0,r.Z)(t,"& .".concat(m.input),{left:"-100%",width:"300%"}),t}),(function(e){var t,n=e.theme,o=e.ownerState;return(0,i.Z)({"&:hover":{backgroundColor:(0,s.Fq)(n.palette.action.active,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==o.color&&(t={},(0,r.Z)(t,"&.".concat(m.checked),(0,r.Z)({color:n.palette[o.color].main,"&:hover":{backgroundColor:(0,s.Fq)(n.palette[o.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(m.disabled),{color:"light"===n.palette.mode?(0,s.$n)(n.palette[o.color].main,.62):(0,s._j)(n.palette[o.color].main,.55)})),(0,r.Z)(t,"&.".concat(m.checked," + .").concat(m.track),{backgroundColor:n.palette[o.color].main}),t))})),w=(0,p.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(e,t){return t.track}})((function(e){var t=e.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:"light"===t.palette.mode?t.palette.common.black:t.palette.common.white,opacity:"light"===t.palette.mode?.38:.3}})),O=(0,p.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(e,t){return t.thumb}})((function(e){return{boxShadow:e.theme.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),x=a.forwardRef((function(e,t){var n=(0,f.Z)({props:e,name:"MuiSwitch"}),r=n.className,a=n.color,s=void 0===a?"primary":a,d=n.edge,p=void 0!==d&&d,v=n.size,m=void 0===v?"medium":v,x=n.sx,S=(0,o.Z)(n,b),C=(0,i.Z)({},n,{color:s,edge:p,size:m}),P=function(e){var t=e.classes,n=e.edge,r=e.size,o=e.color,a=e.checked,c=e.disabled,s={root:["root",n&&"edge".concat((0,u.Z)(n)),"size".concat((0,u.Z)(r))],switchBase:["switchBase","color".concat((0,u.Z)(o)),a&&"checked",c&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},d=(0,l.Z)(s,g,t);return(0,i.Z)({},t,d)}(C),D=(0,h.jsx)(O,{className:P.thumb,ownerState:C});return(0,h.jsxs)(y,{className:(0,c.Z)(P.root,r),sx:x,ownerState:C,children:[(0,h.jsx)(Z,(0,i.Z)({type:"checkbox",icon:D,checkedIcon:D,ref:t,ownerState:C},S,{classes:(0,i.Z)({},P,{root:P.switchBase})})),(0,h.jsx)(w,{className:P.track,ownerState:C})]})}))},31147:function(e,t){"use strict";t.Z=function(e,t){if(e&&t){var n=Array.isArray(t)?t:t.split(","),r=e.name||"",o=(e.type||"").toLowerCase(),i=o.replace(/\/.*$/,"");return n.some((function(e){var t=e.trim().toLowerCase();return"."===t.charAt(0)?r.toLowerCase().endsWith(t):t.endsWith("/*")?i===t.replace(/\/.*$/,""):o===t}))}return!0}},20409:function(e,t,n){"use strict";var r=n(61498),o={"text/plain":"Text","text/html":"Url",default:"Text"};e.exports=function(e,t){var n,i,a,c,l,s,u=!1;t||(t={}),n=t.debug||!1;try{if(a=r(),c=document.createRange(),l=document.getSelection(),(s=document.createElement("span")).textContent=e,s.style.all="unset",s.style.position="fixed",s.style.top=0,s.style.clip="rect(0, 0, 0, 0)",s.style.whiteSpace="pre",s.style.webkitUserSelect="text",s.style.MozUserSelect="text",s.style.msUserSelect="text",s.style.userSelect="text",s.addEventListener("copy",(function(r){if(r.stopPropagation(),t.format)if(r.preventDefault(),"undefined"===typeof r.clipboardData){n&&console.warn("unable to use e.clipboardData"),n&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var i=o[t.format]||o.default;window.clipboardData.setData(i,e)}else r.clipboardData.clearData(),r.clipboardData.setData(t.format,e);t.onCopy&&(r.preventDefault(),t.onCopy(r.clipboardData))})),document.body.appendChild(s),c.selectNodeContents(s),l.addRange(c),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");u=!0}catch(d){n&&console.error("unable to copy using execCommand: ",d),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),u=!0}catch(d){n&&console.error("unable to copy using clipboardData: ",d),n&&console.error("falling back to prompt"),i=function(e){var t=(/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}("message"in t?t.message:"Copy to clipboard: #{key}, Enter"),window.prompt(i,e)}}finally{l&&("function"==typeof l.removeRange?l.removeRange(c):l.removeAllRanges()),s&&document.body.removeChild(s),a()}return u}},12900:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CopyToClipboard=void 0;var r=i(n(50390)),o=i(n(20409));function i(e){return e&&e.__esModule?e:{default:e}}function a(e){return a="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var n=0;n0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0)&&!(r=i.next()).done;)a.push(r.value)}catch(c){o={error:c}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}Object.create;var s=new Map([["avi","video/avi"],["gif","image/gif"],["ico","image/x-icon"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["mkv","video/x-matroska"],["mov","video/quicktime"],["mp4","video/mp4"],["pdf","application/pdf"],["png","image/png"],["zip","application/zip"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"]]);function u(e,t){var n=function(e){var t=e.name;if(t&&-1!==t.lastIndexOf(".")&&!e.type){var n=t.split(".").pop().toLowerCase(),r=s.get(n);r&&Object.defineProperty(e,"type",{value:r,writable:!1,configurable:!1,enumerable:!0})}return e}(e);if("string"!==typeof n.path){var r=e.webkitRelativePath;Object.defineProperty(n,"path",{value:"string"===typeof t?t:"string"===typeof r&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}var d=[".DS_Store","Thumbs.db"];function f(e){return(null!==e.target&&e.target.files?g(e.target.files):[]).map((function(e){return u(e)}))}function p(e,t){return a(this,void 0,void 0,(function(){var n;return c(this,(function(r){switch(r.label){case 0:return e.items?(n=g(e.items).filter((function(e){return"file"===e.kind})),"drop"!==t?[2,n]:[4,Promise.all(n.map(m))]):[3,2];case 1:return[2,v(h(r.sent()))];case 2:return[2,v(g(e.files).map((function(e){return u(e)})))]}}))}))}function v(e){return e.filter((function(e){return-1===d.indexOf(e.name)}))}function g(e){for(var t=[],n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nn)return[!1,R(n)];if(e.sizen)return[!1,R(n)]}return[!0,null]}function z(e){return void 0!==e&&null!==e}function M(e){var t=e.files,n=e.accept,r=e.minSize,o=e.maxSize,i=e.multiple,a=e.maxFiles;return!(!i&&t.length>1||i&&a>=1&&t.length>a)&&t.every((function(e){var t=x(A(e,n),1)[0],i=x(F(e,r,o),1)[0];return t&&i}))}function T(e){return"function"===typeof e.isPropagationStopped?e.isPropagationStopped():"undefined"!==typeof e.cancelBubble&&e.cancelBubble}function L(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,(function(e){return"Files"===e||"application/x-moz-file"===e})):!!e.target&&!!e.target.files}function B(e){e.preventDefault()}function N(e){return-1!==e.indexOf("MSIE")||-1!==e.indexOf("Trident/")}function _(e){return-1!==e.indexOf("Edge/")}function V(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.navigator.userAgent;return N(e)||_(e)}function W(){for(var e=arguments.length,t=new Array(e),n=0;n1?n-1:0),o=1;oe.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var ne=(0,r.forwardRef)((function(e,t){var n=e.children,o=ie(te(e,U)),i=o.open,a=te(o,G);return(0,r.useImperativeHandle)(t,(function(){return{open:i}}),[i]),r.createElement(r.Fragment,null,n(Y(Y({},a),{},{open:i})))}));ne.displayName="Dropzone";var re={disabled:!1,getFilesFromEvent:function(e){return a(this,void 0,void 0,(function(){return c(this,(function(t){return[2,(n=e,n.dataTransfer&&e.dataTransfer?p(e.dataTransfer,e.type):f(e))];var n}))}))},maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null};ne.defaultProps=re,ne.propTypes={children:i().func,accept:i().oneOfType([i().string,i().arrayOf(i().string)]),multiple:i().bool,preventDropOnDocument:i().bool,noClick:i().bool,noKeyboard:i().bool,noDrag:i().bool,noDragEventsBubbling:i().bool,minSize:i().number,maxSize:i().number,maxFiles:i().number,disabled:i().bool,getFilesFromEvent:i().func,onFileDialogCancel:i().func,onFileDialogOpen:i().func,onDragEnter:i().func,onDragLeave:i().func,onDragOver:i().func,onDrop:i().func,onDropAccepted:i().func,onDropRejected:i().func,validator:i().func};var oe={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,draggedFiles:[],acceptedFiles:[],fileRejections:[]};function ie(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Y(Y({},re),e),n=t.accept,o=t.disabled,i=t.getFilesFromEvent,a=t.maxSize,c=t.minSize,l=t.multiple,s=t.maxFiles,u=t.onDragEnter,d=t.onDragLeave,f=t.onDragOver,p=t.onDrop,v=t.onDropAccepted,g=t.onDropRejected,m=t.onFileDialogCancel,h=t.onFileDialogOpen,b=t.preventDropOnDocument,y=t.noClick,Z=t.noKeyboard,w=t.noDrag,O=t.noDragEventsBubbling,x=t.validator,S=(0,r.useRef)(null),C=(0,r.useRef)(null),P=(0,r.useReducer)(ae,oe),D=H(P,2),k=D[0],j=D[1],R=k.isFocused,E=k.isFileDialogActive,z=k.draggedFiles,N=(0,r.useCallback)((function(){C.current&&(j({type:"openDialog"}),"function"===typeof h&&h(),C.current.value=null,C.current.click())}),[j,h]),_=function(){E&&setTimeout((function(){C.current&&(C.current.files.length||(j({type:"closeDialog"}),"function"===typeof m&&m()))}),300)};(0,r.useEffect)((function(){return window.addEventListener("focus",_,!1),function(){window.removeEventListener("focus",_,!1)}}),[C,E,m]);var U=(0,r.useCallback)((function(e){S.current&&S.current.isEqualNode(e.target)&&(32!==e.keyCode&&13!==e.keyCode||(e.preventDefault(),N()))}),[S,C,N]),G=(0,r.useCallback)((function(){j({type:"focus"})}),[]),Q=(0,r.useCallback)((function(){j({type:"blur"})}),[]),X=(0,r.useCallback)((function(){y||(V()?setTimeout(N,0):N())}),[C,y,N]),J=(0,r.useRef)([]),ne=function(e){S.current&&S.current.contains(e.target)||(e.preventDefault(),J.current=[])};(0,r.useEffect)((function(){return b&&(document.addEventListener("dragover",B,!1),document.addEventListener("drop",ne,!1)),function(){b&&(document.removeEventListener("dragover",B),document.removeEventListener("drop",ne))}}),[S,b]);var ie=(0,r.useCallback)((function(e){e.preventDefault(),e.persist(),pe(e),J.current=[].concat($(J.current),[e.target]),L(e)&&Promise.resolve(i(e)).then((function(t){T(e)&&!O||(j({draggedFiles:t,isDragActive:!0,type:"setDraggedFiles"}),u&&u(e))}))}),[i,u,O]),ce=(0,r.useCallback)((function(e){e.preventDefault(),e.persist(),pe(e);var t=L(e);if(t&&e.dataTransfer)try{e.dataTransfer.dropEffect="copy"}catch(n){}return t&&f&&f(e),!1}),[f,O]),le=(0,r.useCallback)((function(e){e.preventDefault(),e.persist(),pe(e);var t=J.current.filter((function(e){return S.current&&S.current.contains(e)})),n=t.indexOf(e.target);-1!==n&&t.splice(n,1),J.current=t,t.length>0||(j({isDragActive:!1,type:"setDraggedFiles",draggedFiles:[]}),L(e)&&d&&d(e))}),[S,d,O]),se=(0,r.useCallback)((function(e){e.preventDefault(),e.persist(),pe(e),J.current=[],L(e)&&Promise.resolve(i(e)).then((function(t){if(!T(e)||O){var r=[],o=[];t.forEach((function(e){var t=H(A(e,n),2),i=t[0],l=t[1],s=H(F(e,c,a),2),u=s[0],d=s[1],f=x?x(e):null;if(i&&u&&!f)r.push(e);else{var p=[l,d];f&&(p=p.concat(f)),o.push({file:e,errors:p.filter((function(e){return e}))})}})),(!l&&r.length>1||l&&s>=1&&r.length>s)&&(r.forEach((function(e){o.push({file:e,errors:[I]})})),r.splice(0)),j({acceptedFiles:r,fileRejections:o,type:"setFiles"}),p&&p(r,o,e),o.length>0&&g&&g(o,e),r.length>0&&v&&v(r,e)}})),j({type:"reset"})}),[l,n,c,a,s,i,p,v,g,O,x]),ue=function(e){return o?null:e},de=function(e){return Z?null:ue(e)},fe=function(e){return w?null:ue(e)},pe=function(e){O&&e.stopPropagation()},ve=(0,r.useMemo)((function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.refKey,n=void 0===t?"ref":t,r=e.onKeyDown,i=e.onFocus,a=e.onBlur,c=e.onClick,l=e.onDragEnter,s=e.onDragOver,u=e.onDragLeave,d=e.onDrop,f=te(e,K);return Y(Y(ee({onKeyDown:de(W(r,U)),onFocus:de(W(i,G)),onBlur:de(W(a,Q)),onClick:ue(W(c,X)),onDragEnter:fe(W(l,ie)),onDragOver:fe(W(s,ce)),onDragLeave:fe(W(u,le)),onDrop:fe(W(d,se))},n,S),o||Z?{}:{tabIndex:0}),f)}}),[S,U,G,Q,X,ie,ce,le,se,Z,w,o]),ge=(0,r.useCallback)((function(e){e.stopPropagation()}),[]),me=(0,r.useMemo)((function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.refKey,r=void 0===t?"ref":t,o=e.onChange,i=e.onClick,a=te(e,q),c=ee({accept:n,multiple:l,type:"file",style:{display:"none"},onChange:ue(W(o,se)),onClick:ue(W(i,ge)),autoComplete:"off",tabIndex:-1},r,C);return Y(Y({},c),a)}}),[C,n,l,se,o]),he=z.length,be=he>0&&M({files:z,accept:n,minSize:c,maxSize:a,multiple:l,maxFiles:s}),ye=he>0&&!be;return Y(Y({},k),{},{isDragAccept:be,isDragReject:ye,isFocused:R&&!o,getRootProps:ve,getInputProps:me,rootRef:S,inputRef:C,open:ue(N)})}function ae(e,t){switch(t.type){case"focus":return Y(Y({},e),{},{isFocused:!0});case"blur":return Y(Y({},e),{},{isFocused:!1});case"openDialog":return Y(Y({},e),{},{isFileDialogActive:!0});case"closeDialog":return Y(Y({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":var n=t.isDragActive,r=t.draggedFiles;return Y(Y({},e),{},{draggedFiles:r,isDragActive:n});case"setFiles":return Y(Y({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections});case"reset":return Y({},oe);default:return e}}},61498:function(e){e.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}n.d(t,{Z:function(){return r}})}}]); +//# sourceMappingURL=5482.c80a5ebb.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/5482.c80a5ebb.chunk.js.map b/portal-ui/build/static/js/5482.c80a5ebb.chunk.js.map new file mode 100644 index 000000000..7867cc029 --- /dev/null +++ b/portal-ui/build/static/js/5482.c80a5ebb.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/5482.c80a5ebb.chunk.js","mappings":"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","sources":["../node_modules/@mui/icons-material/Add.js","../node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","../node_modules/@mui/lab/LoadingButton/LoadingButton.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/utils/esm/usePreviousProps.js","../node_modules/@mui/base/BadgeUnstyled/badgeUnstyledClasses.js","../node_modules/@mui/base/BadgeUnstyled/BadgeUnstyled.js","../node_modules/@mui/base/BadgeUnstyled/useBadge.js","../node_modules/@mui/material/utils/shouldSpreadAdditionalProps.js","../node_modules/@mui/material/Badge/Badge.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.js","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js","../node_modules/@mui/material/Stack/Stack.js","../node_modules/@mui/material/Switch/switchClasses.js","../node_modules/@mui/material/Switch/Switch.js","../node_modules/attr-accept/dist/es/index.js","../node_modules/copy-to-clipboard/index.js","../node_modules/react-copy-to-clipboard/lib/Component.js","../node_modules/react-copy-to-clipboard/lib/index.js","../node_modules/tslib/tslib.es6.js","../node_modules/file-selector/src/file.ts","../node_modules/file-selector/src/file-selector.ts","../node_modules/react-dropzone/dist/es/utils/index.js","../node_modules/react-dropzone/dist/es/index.js","../node_modules/toggle-selection/index.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"\n}), 'Add');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLoadingButtonUtilityClass(slot) {\n return generateUtilityClass('MuiLoadingButton', slot);\n}\nconst loadingButtonClasses = generateUtilityClasses('MuiLoadingButton', ['root', 'loading', 'loadingIndicator', 'loadingIndicatorCenter', 'loadingIndicatorStart', 'loadingIndicatorEnd', 'endIconLoadingEnd', 'startIconLoadingStart']);\nexport default loadingButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"disabled\", \"id\", \"loading\", \"loadingIndicator\", \"loadingPosition\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@mui/utils';\nimport { capitalize, unstable_useId as useId } from '@mui/material/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading'],\n startIcon: [loading && `startIconLoading${capitalize(loadingPosition)}`],\n endIcon: [loading && `endIconLoading${capitalize(loadingPosition)}`],\n loadingIndicator: ['loadingIndicator', loading && `loadingIndicator${capitalize(loadingPosition)}`]\n };\n const composedClasses = composeClasses(slots, getLoadingButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n}; // TODO use `import { rootShouldForwardProp } from '../styles/styled';` once move to core\n\n\nconst rootShouldForwardProp = prop => prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as' && prop !== 'classes';\n\nconst LoadingButtonRoot = styled(Button, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiLoadingButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root, styles.startIconLoadingStart && {\n [`& .${loadingButtonClasses.startIconLoadingStart}`]: styles.startIconLoadingStart\n }, styles.endIconLoadingEnd && {\n [`& .${loadingButtonClasses.endIconLoadingEnd}`]: styles.endIconLoadingEnd\n }];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n}, ownerState.loadingPosition === 'center' && {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${loadingButtonClasses.loading}`]: {\n color: 'transparent'\n }\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginRight: -8\n }\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginLeft: -8\n }\n}));\nconst LoadingButtonLoadingIndicator = styled('div', {\n name: 'MuiLoadingButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.loadingIndicator, styles[`loadingIndicator${capitalize(ownerState.loadingPosition)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'absolute',\n visibility: 'visible',\n display: 'flex'\n}, ownerState.loadingPosition === 'start' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n left: 14\n}, ownerState.loadingPosition === 'start' && ownerState.variant === 'text' && {\n left: 6\n}, ownerState.loadingPosition === 'center' && {\n left: '50%',\n transform: 'translate(-50%)',\n color: theme.palette.action.disabled\n}, ownerState.loadingPosition === 'end' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n right: 14\n}, ownerState.loadingPosition === 'end' && ownerState.variant === 'text' && {\n right: 6\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n position: 'relative',\n left: -10\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n position: 'relative',\n right: -10\n}));\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLoadingButton'\n });\n\n const {\n children,\n disabled = false,\n id: idProp,\n loading = false,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp != null ? loadingIndicatorProp : /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n\n const ownerState = _extends({}, props, {\n disabled,\n loading,\n loadingIndicator,\n loadingPosition,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LoadingButtonRoot, _extends({\n disabled: disabled || loading,\n id: id,\n ref: ref\n }, other, {\n variant: variant,\n classes: classes,\n ownerState: ownerState,\n children: ownerState.loadingPosition === 'end' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children, loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n }), children]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LoadingButton.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * @ignore\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the loading indicator is shown.\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default we render a `CircularProgress` that is labelled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: chainPropTypes(PropTypes.oneOf(['start', 'end', 'center']), props => {\n if (props.loadingPosition === 'start' && !props.startIcon) {\n return new Error(`MUI: The loadingPosition=\"start\" should be used in combination with startIcon.`);\n }\n\n if (props.loadingPosition === 'end' && !props.endIcon) {\n return new Error(`MUI: The loadingPosition=\"end\" should be used in combination with endIcon.`);\n }\n\n return null;\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes.oneOf(['contained', 'outlined', 'text'])\n} : void 0;\nexport default LoadingButton;","import * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;","import * as React from 'react';\n\nconst usePreviousProps = value => {\n const ref = React.useRef({});\n React.useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\n\nexport default usePreviousProps;","import generateUtilityClasses from '../generateUtilityClasses';\nimport generateUtilityClass from '../generateUtilityClass';\nexport function getBadgeUtilityClass(slot) {\n return generateUtilityClass('MuiBadge', slot);\n}\nconst badgeUnstyledClasses = generateUtilityClasses('MuiBadge', ['root', 'badge', 'dot', 'standard', 'anchorOriginTopLeft', 'anchorOriginTopRight', 'anchorOriginBottomLeft', 'anchorOriginBottomRight', 'invisible']);\nexport default badgeUnstyledClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"anchorOrigin\", \"classes\", \"badgeContent\", \"component\", \"children\", \"className\", \"components\", \"componentsProps\", \"invisible\", \"max\", \"showZero\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_capitalize as capitalize } from '@mui/utils';\nimport composeClasses from '../composeClasses';\nimport appendOwnerState from '../utils/appendOwnerState';\nimport useBadge from './useBadge';\nimport { getBadgeUtilityClass } from './badgeUnstyledClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n variant,\n anchorOrigin,\n invisible,\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n badge: ['badge', variant, `anchorOrigin${capitalize(anchorOrigin.vertical)}${capitalize(anchorOrigin.horizontal)}`, invisible && 'invisible']\n };\n return composeClasses(slots, getBadgeUtilityClass, classes);\n};\n\nconst BadgeUnstyled = /*#__PURE__*/React.forwardRef(function BadgeUnstyled(props, ref) {\n const {\n anchorOrigin: anchorOriginProp = {\n vertical: 'top',\n horizontal: 'right'\n },\n classes: classesProp,\n component,\n children,\n className,\n components = {},\n componentsProps = {},\n max: maxProp = 99,\n showZero = false,\n variant: variantProp = 'standard'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const {\n anchorOrigin,\n badgeContent,\n max,\n variant,\n displayValue,\n invisible\n } = useBadge(_extends({}, props, {\n anchorOrigin: anchorOriginProp,\n max: maxProp,\n variant: variantProp\n }));\n\n const ownerState = _extends({}, props, {\n anchorOrigin,\n badgeContent,\n classes: classesProp,\n invisible,\n max,\n variant,\n showZero\n });\n\n const classes = useUtilityClasses(ownerState);\n const Root = component || components.Root || 'span';\n const rootProps = appendOwnerState(Root, _extends({}, other, componentsProps.root), ownerState);\n const Badge = components.Badge || 'span';\n const badgeProps = appendOwnerState(Badge, componentsProps.badge, ownerState);\n return /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, {\n ref: ref\n }, other, {\n className: clsx(classes.root, rootProps.className, className),\n children: [children, /*#__PURE__*/_jsx(Badge, _extends({}, badgeProps, {\n className: clsx(classes.badge, badgeProps.className),\n children: displayValue\n }))]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? BadgeUnstyled.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The anchor of the badge.\n * @default {\n * vertical: 'top',\n * horizontal: 'right',\n * }\n */\n anchorOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOf(['left', 'right']).isRequired,\n vertical: PropTypes.oneOf(['bottom', 'top']).isRequired\n }),\n\n /**\n * The content rendered within the badge.\n */\n badgeContent: PropTypes.node,\n\n /**\n * The badge will be added relative to this node.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * The components used for each slot inside the Badge.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n components: PropTypes.shape({\n Badge: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n\n /**\n * The props used for each slot inside the Badge.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n badge: PropTypes.object,\n root: PropTypes.object\n }),\n\n /**\n * If `true`, the badge is invisible.\n */\n invisible: PropTypes.bool,\n\n /**\n * Max count to show.\n * @default 99\n */\n max: PropTypes.number,\n\n /**\n * Controls whether the badge is hidden when `badgeContent` is zero.\n * @default false\n */\n showZero: PropTypes.bool,\n\n /**\n * The variant to use.\n * @default 'standard'\n */\n variant: PropTypes.string\n} : void 0;\nexport default BadgeUnstyled;","import { usePreviousProps } from '@mui/utils';\nexport default function useBadge(props) {\n const {\n anchorOrigin: anchorOriginProp = {\n vertical: 'top',\n horizontal: 'right'\n },\n badgeContent: badgeContentProp,\n invisible: invisibleProp,\n max: maxProp = 99,\n showZero = false,\n variant: variantProp = 'standard'\n } = props;\n const prevProps = usePreviousProps({\n anchorOrigin: anchorOriginProp,\n badgeContent: badgeContentProp,\n max: maxProp,\n variant: variantProp\n });\n let invisible = invisibleProp;\n\n if (invisibleProp == null && (badgeContentProp === 0 && !showZero || badgeContentProp == null && variantProp !== 'dot')) {\n invisible = true;\n }\n\n const {\n anchorOrigin = anchorOriginProp,\n badgeContent,\n max = maxProp,\n variant = variantProp\n } = invisible ? prevProps : props;\n let displayValue = '';\n\n if (variant !== 'dot') {\n displayValue = badgeContent && Number(badgeContent) > max ? `${max}+` : badgeContent;\n }\n\n return {\n anchorOrigin,\n badgeContent,\n invisible,\n max,\n variant,\n displayValue\n };\n}","import { isHostComponent } from '@mui/base';\n\nconst shouldSpreadAdditionalProps = Slot => {\n return !Slot || !isHostComponent(Slot);\n};\n\nexport default shouldSpreadAdditionalProps;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"anchorOrigin\", \"component\", \"components\", \"componentsProps\", \"overlap\", \"color\", \"invisible\", \"badgeContent\", \"showZero\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { usePreviousProps } from '@mui/utils';\nimport { generateUtilityClasses } from '@mui/base';\nimport BadgeUnstyled, { badgeUnstyledClasses, getBadgeUtilityClass } from '@mui/base/BadgeUnstyled';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport shouldSpreadAdditionalProps from '../utils/shouldSpreadAdditionalProps';\nimport capitalize from '../utils/capitalize';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const badgeClasses = _extends({}, badgeUnstyledClasses, generateUtilityClasses('MuiBadge', ['colorError', 'colorInfo', 'colorPrimary', 'colorSecondary', 'colorSuccess', 'colorWarning', 'overlapRectangular', 'overlapCircular', // TODO: v6 remove the overlap value from these class keys\n'anchorOriginTopLeftCircular', 'anchorOriginTopLeftRectangular', 'anchorOriginTopRightCircular', 'anchorOriginTopRightRectangular', 'anchorOriginBottomLeftCircular', 'anchorOriginBottomLeftRectangular', 'anchorOriginBottomRightCircular', 'anchorOriginBottomRightRectangular']));\nconst RADIUS_STANDARD = 10;\nconst RADIUS_DOT = 4;\n\nconst extendUtilityClasses = ownerState => {\n const {\n color,\n anchorOrigin,\n overlap,\n classes = {}\n } = ownerState;\n return _extends({}, classes, {\n badge: clsx(classes.badge, getBadgeUtilityClass(`anchorOrigin${capitalize(anchorOrigin.vertical)}${capitalize(anchorOrigin.horizontal)}${capitalize(overlap)}`), getBadgeUtilityClass(`overlap${capitalize(overlap)}`), color !== 'default' && [getBadgeUtilityClass(`color${capitalize(color)}`), classes[`color${capitalize(color)}`]])\n });\n};\n\nconst BadgeRoot = styled('span', {\n name: 'MuiBadge',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n position: 'relative',\n display: 'inline-flex',\n // For correct alignment with the text.\n verticalAlign: 'middle',\n flexShrink: 0\n});\nconst BadgeBadge = styled('span', {\n name: 'MuiBadge',\n slot: 'Badge',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.badge, styles[ownerState.variant], styles[`anchorOrigin${capitalize(ownerState.anchorOrigin.vertical)}${capitalize(ownerState.anchorOrigin.horizontal)}${capitalize(ownerState.overlap)}`], ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`], ownerState.invisible && styles.invisible];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'center',\n alignContent: 'center',\n alignItems: 'center',\n position: 'absolute',\n boxSizing: 'border-box',\n fontFamily: theme.typography.fontFamily,\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.pxToRem(12),\n minWidth: RADIUS_STANDARD * 2,\n lineHeight: 1,\n padding: '0 6px',\n height: RADIUS_STANDARD * 2,\n borderRadius: RADIUS_STANDARD,\n zIndex: 1,\n // Render the badge on top of potential ripples.\n transition: theme.transitions.create('transform', {\n easing: theme.transitions.easing.easeInOut,\n duration: theme.transitions.duration.enteringScreen\n })\n}, ownerState.color !== 'default' && {\n backgroundColor: theme.palette[ownerState.color].main,\n color: theme.palette[ownerState.color].contrastText\n}, ownerState.variant === 'dot' && {\n borderRadius: RADIUS_DOT,\n height: RADIUS_DOT * 2,\n minWidth: RADIUS_DOT * 2,\n padding: 0\n}, ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'rectangular' && {\n top: 0,\n right: 0,\n transform: 'scale(1) translate(50%, -50%)',\n transformOrigin: '100% 0%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(50%, -50%)'\n }\n}, ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'rectangular' && {\n bottom: 0,\n right: 0,\n transform: 'scale(1) translate(50%, 50%)',\n transformOrigin: '100% 100%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(50%, 50%)'\n }\n}, ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'rectangular' && {\n top: 0,\n left: 0,\n transform: 'scale(1) translate(-50%, -50%)',\n transformOrigin: '0% 0%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(-50%, -50%)'\n }\n}, ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'rectangular' && {\n bottom: 0,\n left: 0,\n transform: 'scale(1) translate(-50%, 50%)',\n transformOrigin: '0% 100%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(-50%, 50%)'\n }\n}, ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'circular' && {\n top: '14%',\n right: '14%',\n transform: 'scale(1) translate(50%, -50%)',\n transformOrigin: '100% 0%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(50%, -50%)'\n }\n}, ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'circular' && {\n bottom: '14%',\n right: '14%',\n transform: 'scale(1) translate(50%, 50%)',\n transformOrigin: '100% 100%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(50%, 50%)'\n }\n}, ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'circular' && {\n top: '14%',\n left: '14%',\n transform: 'scale(1) translate(-50%, -50%)',\n transformOrigin: '0% 0%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(-50%, -50%)'\n }\n}, ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'circular' && {\n bottom: '14%',\n left: '14%',\n transform: 'scale(1) translate(-50%, 50%)',\n transformOrigin: '0% 100%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(-50%, 50%)'\n }\n}, ownerState.invisible && {\n transition: theme.transitions.create('transform', {\n easing: theme.transitions.easing.easeInOut,\n duration: theme.transitions.duration.leavingScreen\n })\n}));\nconst Badge = /*#__PURE__*/React.forwardRef(function Badge(inProps, ref) {\n var _componentsProps$root, _componentsProps$badg;\n\n const props = useThemeProps({\n props: inProps,\n name: 'MuiBadge'\n });\n\n const {\n anchorOrigin: anchorOriginProp = {\n vertical: 'top',\n horizontal: 'right'\n },\n component = 'span',\n components = {},\n componentsProps = {},\n overlap: overlapProp = 'rectangular',\n color: colorProp = 'default',\n invisible: invisibleProp,\n badgeContent: badgeContentProp,\n showZero = false,\n variant: variantProp = 'standard'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const prevProps = usePreviousProps({\n anchorOrigin: anchorOriginProp,\n color: colorProp,\n overlap: overlapProp\n });\n let invisible = invisibleProp;\n\n if (invisibleProp == null && (badgeContentProp === 0 && !showZero || badgeContentProp == null && variantProp !== 'dot')) {\n invisible = true;\n }\n\n const {\n color = colorProp,\n overlap = overlapProp,\n anchorOrigin = anchorOriginProp\n } = invisible ? prevProps : props;\n\n const ownerState = _extends({}, props, {\n anchorOrigin,\n invisible,\n color,\n overlap\n });\n\n const classes = extendUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(BadgeUnstyled, _extends({\n anchorOrigin: anchorOrigin,\n invisible: invisibleProp,\n badgeContent: badgeContentProp,\n showZero: showZero,\n variant: variantProp\n }, other, {\n components: _extends({\n Root: BadgeRoot,\n Badge: BadgeBadge\n }, components),\n componentsProps: {\n root: _extends({}, componentsProps.root, shouldSpreadAdditionalProps(components.Root) && {\n as: component,\n ownerState: _extends({}, (_componentsProps$root = componentsProps.root) == null ? void 0 : _componentsProps$root.ownerState, {\n color,\n overlap\n })\n }),\n badge: _extends({}, componentsProps.badge, shouldSpreadAdditionalProps(components.Badge) && {\n ownerState: _extends({}, (_componentsProps$badg = componentsProps.badge) == null ? void 0 : _componentsProps$badg.ownerState, {\n color,\n overlap\n })\n })\n },\n classes: classes,\n ref: ref\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Badge.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The anchor of the badge.\n * @default {\n * vertical: 'top',\n * horizontal: 'right',\n * }\n */\n anchorOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOf(['left', 'right']).isRequired,\n vertical: PropTypes.oneOf(['bottom', 'top']).isRequired\n }),\n\n /**\n * The content rendered within the badge.\n */\n badgeContent: PropTypes.node,\n\n /**\n * The badge will be added relative to this node.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'default'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * The components used for each slot inside the Badge.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n components: PropTypes.shape({\n Badge: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n\n /**\n * The props used for each slot inside the Badge.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n badge: PropTypes.object,\n root: PropTypes.object\n }),\n\n /**\n * If `true`, the badge is invisible.\n */\n invisible: PropTypes.bool,\n\n /**\n * Max count to show.\n * @default 99\n */\n max: PropTypes.number,\n\n /**\n * Wrapped shape the badge should overlap.\n * @default 'rectangular'\n */\n overlap: PropTypes.oneOf(['circular', 'rectangular']),\n\n /**\n * Controls whether the badge is hidden when `badgeContent` is zero.\n * @default false\n */\n showZero: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'standard'\n */\n variant: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['dot', 'standard']), PropTypes.string])\n} : void 0;\nexport default Badge;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n\n const ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * 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 DialogContentText;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;","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, 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 * 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 */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nfunction joinChildren(children, separator) {\n const childrenArray = React.Children.toArray(children).filter(Boolean);\n return childrenArray.reduce((output, child, index) => {\n output.push(child);\n\n if (index < childrenArray.length - 1) {\n output.push( /*#__PURE__*/React.cloneElement(separator, {\n key: `separator-${index}`\n }));\n }\n\n return output;\n }, []);\n}\n\nconst getSideFromDirection = direction => {\n return {\n row: 'Left',\n 'row-reverse': 'Right',\n column: 'Top',\n 'column-reverse': 'Bottom'\n }[direction];\n};\n\nexport const style = ({\n ownerState,\n theme\n}) => {\n let styles = _extends({\n display: 'flex'\n }, handleBreakpoints({\n theme\n }, resolveBreakpointValues({\n values: ownerState.direction,\n breakpoints: theme.breakpoints.values\n }), propValue => ({\n flexDirection: propValue\n })));\n\n if (ownerState.spacing) {\n const transformer = createUnarySpacing(theme);\n const base = Object.keys(theme.breakpoints.values).reduce((acc, breakpoint) => {\n if (ownerState.spacing[breakpoint] != null || ownerState.direction[breakpoint] != null) {\n acc[breakpoint] = true;\n }\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\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\n styles = deepmerge(styles, handleBreakpoints({\n theme\n }, spacingValues, styleFromPropValue));\n }\n\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\n const {\n component = 'div',\n direction = 'column',\n spacing = 0,\n divider,\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\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\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * 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 /**\n * Add an element between each child.\n */\n divider: PropTypes.node,\n\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 /**\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;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, darken, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n}, ownerState.edge === 'start' && {\n marginLeft: -8\n}, ownerState.edge === 'end' && {\n marginRight: -8\n}, ownerState.size === 'small' && {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n}));\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.palette.mode === 'light' ? 0.12 : 0.2\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({\n '&:hover': {\n backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${switchClasses.checked}`]: {\n color: theme.palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: theme.palette[ownerState.color].main\n }\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.mode === 'light' ? 0.38 : 0.3\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (file, acceptedFiles) {\n if (file && acceptedFiles) {\n var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');\n var fileName = file.name || '';\n var mimeType = (file.type || '').toLowerCase();\n var baseMimeType = mimeType.replace(/\\/.*$/, '');\n return acceptedFilesArray.some(function (type) {\n var validType = type.trim().toLowerCase();\n\n if (validType.charAt(0) === '.') {\n return fileName.toLowerCase().endsWith(validType);\n } else if (validType.endsWith('/*')) {\n // This is something like a image/* mime type\n return baseMimeType === validType.replace(/\\/.*$/, '');\n }\n\n return mimeType === validType;\n });\n }\n\n return true;\n};","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { 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\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 _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 _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CopyToClipboard =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n function CopyToClipboard() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(CopyToClipboard)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, [\"text\", \"onCopy\", \"options\", \"children\"]);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return _react[\"default\"].cloneElement(elem, _objectSpread({}, props, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export const COMMON_MIME_TYPES = new Map([\n ['avi', 'video/avi'],\n ['gif', 'image/gif'],\n ['ico', 'image/x-icon'],\n ['jpeg', 'image/jpeg'],\n ['jpg', 'image/jpeg'],\n ['mkv', 'video/x-matroska'],\n ['mov', 'video/quicktime'],\n ['mp4', 'video/mp4'],\n ['pdf', 'application/pdf'],\n ['png', 'image/png'],\n ['zip', 'application/zip'],\n ['doc', 'application/msword'],\n ['docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document']\n]);\n\n\nexport function toFileWithPath(file: FileWithPath, path?: string): FileWithPath {\n const f = withMimeType(file);\n if (typeof f.path !== 'string') { // on electron, path is already set to the absolute path\n const {webkitRelativePath} = file as FileWithWebkitPath;\n Object.defineProperty(f, 'path', {\n value: typeof path === 'string'\n ? path\n // If is set,\n // the File will have a {webkitRelativePath} property\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory\n : typeof webkitRelativePath === 'string' && webkitRelativePath.length > 0\n ? webkitRelativePath\n : file.name,\n writable: false,\n configurable: false,\n enumerable: true\n });\n }\n\n return f;\n}\n\ninterface DOMFile extends Blob {\n readonly lastModified: number;\n readonly name: string;\n}\n\nexport interface FileWithPath extends DOMFile {\n readonly path?: string;\n}\n\ninterface FileWithWebkitPath extends File {\n readonly webkitRelativePath?: string;\n}\n\nfunction withMimeType(file: FileWithPath) {\n const {name} = file;\n const hasExtension = name && name.lastIndexOf('.') !== -1;\n\n if (hasExtension && !file.type) {\n const ext = name.split('.')\n .pop()!.toLowerCase();\n const type = COMMON_MIME_TYPES.get(ext);\n if (type) {\n Object.defineProperty(file, 'type', {\n value: type,\n writable: false,\n configurable: false,\n enumerable: true\n });\n }\n }\n\n return file;\n}\n","import {FileWithPath, toFileWithPath} from './file';\n\n\nconst FILES_TO_IGNORE = [\n // Thumbnail cache files for macOS and Windows\n '.DS_Store', // macOs\n 'Thumbs.db' // Windows\n];\n\n\n/**\n * Convert a DragEvent's DataTrasfer object to a list of File objects\n * NOTE: If some of the items are folders,\n * everything will be flattened and placed in the same list but the paths will be kept as a {path} property.\n * @param evt\n */\nexport async function fromEvent(evt: Event): Promise<(FileWithPath | DataTransferItem)[]> {\n return isDragEvt(evt) && evt.dataTransfer\n ? getDataTransferFiles(evt.dataTransfer, evt.type)\n : getInputFiles(evt);\n}\n\nfunction isDragEvt(value: any): value is DragEvent {\n return !!value.dataTransfer;\n}\n\nfunction getInputFiles(evt: Event) {\n const files = isInput(evt.target)\n ? evt.target.files\n ? fromList(evt.target.files)\n : []\n : [];\n return files.map(file => toFileWithPath(file));\n}\n\nfunction isInput(value: EventTarget | null): value is HTMLInputElement {\n return value !== null;\n}\n\nasync function getDataTransferFiles(dt: DataTransfer, type: string) {\n // IE11 does not support dataTransfer.items\n // See https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/items#Browser_compatibility\n if (dt.items) {\n const items = fromList(dt.items)\n .filter(item => item.kind === 'file');\n // According to https://html.spec.whatwg.org/multipage/dnd.html#dndevents,\n // only 'dragstart' and 'drop' has access to the data (source node)\n if (type !== 'drop') {\n return items;\n }\n const files = await Promise.all(items.map(toFilePromises));\n return noIgnoredFiles(flatten(files));\n }\n\n return noIgnoredFiles(fromList(dt.files)\n .map(file => toFileWithPath(file)));\n}\n\nfunction noIgnoredFiles(files: FileWithPath[]) {\n return files.filter(file => FILES_TO_IGNORE.indexOf(file.name) === -1);\n}\n\n// IE11 does not support Array.from()\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Browser_compatibility\n// https://developer.mozilla.org/en-US/docs/Web/API/FileList\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList\nfunction fromList(items: DataTransferItemList | FileList): T[] {\n const files = [];\n\n // tslint:disable: prefer-for-of\n for (let i = 0; i < items.length; i++) {\n const file = items[i];\n files.push(file);\n }\n\n return files as any;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem\nfunction toFilePromises(item: DataTransferItem) {\n if (typeof item.webkitGetAsEntry !== 'function') {\n return fromDataTransferItem(item);\n }\n\n const entry = item.webkitGetAsEntry();\n\n // Safari supports dropping an image node from a different window and can be retrieved using\n // the DataTransferItem.getAsFile() API\n // NOTE: FileSystemEntry.file() throws if trying to get the file\n if (entry && entry.isDirectory) {\n return fromDirEntry(entry) as any;\n }\n\n return fromDataTransferItem(item);\n}\n\nfunction flatten(items: any[]): T[] {\n return items.reduce((acc, files) => [\n ...acc,\n ...(Array.isArray(files) ? flatten(files) : [files])\n ], []);\n}\n\nfunction fromDataTransferItem(item: DataTransferItem) {\n const file = item.getAsFile();\n if (!file) {\n return Promise.reject(`${item} is not a File`);\n }\n const fwp = toFileWithPath(file);\n return Promise.resolve(fwp);\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry\nasync function fromEntry(entry: any) {\n return entry.isDirectory ? fromDirEntry(entry) : fromFileEntry(entry);\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry\nfunction fromDirEntry(entry: any) {\n const reader = entry.createReader();\n\n return new Promise((resolve, reject) => {\n const entries: Promise[] = [];\n\n function readEntries() {\n // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry/createReader\n // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryReader/readEntries\n reader.readEntries(async (batch: any[]) => {\n if (!batch.length) {\n // Done reading directory\n try {\n const files = await Promise.all(entries);\n resolve(files);\n } catch (err) {\n reject(err);\n }\n } else {\n const items = Promise.all(batch.map(fromEntry));\n entries.push(items);\n\n // Continue reading\n readEntries();\n }\n }, (err: any) => {\n reject(err);\n });\n }\n\n readEntries();\n });\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileEntry\nasync function fromFileEntry(entry: any) {\n return new Promise((resolve, reject) => {\n entry.file((file: FileWithPath) => {\n const fwp = toFileWithPath(file, entry.fullPath);\n resolve(fwp);\n }, (err: any) => {\n reject(err);\n });\n });\n}\n\n// Infinite type recursion\n// https://github.com/Microsoft/TypeScript/issues/3496#issuecomment-128553540\ninterface FileArray extends Array {}\ntype FileValue = FileWithPath\n | FileArray[];\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\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport accepts from 'attr-accept'; // Error codes\n\nexport var FILE_INVALID_TYPE = 'file-invalid-type';\nexport var FILE_TOO_LARGE = 'file-too-large';\nexport var FILE_TOO_SMALL = 'file-too-small';\nexport var TOO_MANY_FILES = 'too-many-files';\nexport var ErrorCode = {\n FileInvalidType: FILE_INVALID_TYPE,\n FileTooLarge: FILE_TOO_LARGE,\n FileTooSmall: FILE_TOO_SMALL,\n TooManyFiles: TOO_MANY_FILES\n}; // File Errors\n\nexport var getInvalidTypeRejectionErr = function getInvalidTypeRejectionErr(accept) {\n accept = Array.isArray(accept) && accept.length === 1 ? accept[0] : accept;\n var messageSuffix = Array.isArray(accept) ? \"one of \".concat(accept.join(', ')) : accept;\n return {\n code: FILE_INVALID_TYPE,\n message: \"File type must be \".concat(messageSuffix)\n };\n};\nexport var getTooLargeRejectionErr = function getTooLargeRejectionErr(maxSize) {\n return {\n code: FILE_TOO_LARGE,\n message: \"File is larger than \".concat(maxSize, \" bytes\")\n };\n};\nexport var getTooSmallRejectionErr = function getTooSmallRejectionErr(minSize) {\n return {\n code: FILE_TOO_SMALL,\n message: \"File is smaller than \".concat(minSize, \" bytes\")\n };\n};\nexport var TOO_MANY_FILES_REJECTION = {\n code: TOO_MANY_FILES,\n message: 'Too many files'\n}; // Firefox versions prior to 53 return a bogus MIME type for every file drag, so dragovers with\n// that MIME type will always be accepted\n\nexport function fileAccepted(file, accept) {\n var isAcceptable = file.type === 'application/x-moz-file' || accepts(file, accept);\n return [isAcceptable, isAcceptable ? null : getInvalidTypeRejectionErr(accept)];\n}\nexport function fileMatchSize(file, minSize, maxSize) {\n if (isDefined(file.size)) {\n if (isDefined(minSize) && isDefined(maxSize)) {\n if (file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n if (file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];\n } else if (isDefined(minSize) && file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];else if (isDefined(maxSize) && file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n }\n\n return [true, null];\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\n\nexport function allFilesAccepted(_ref) {\n var files = _ref.files,\n accept = _ref.accept,\n minSize = _ref.minSize,\n maxSize = _ref.maxSize,\n multiple = _ref.multiple,\n maxFiles = _ref.maxFiles;\n\n if (!multiple && files.length > 1 || multiple && maxFiles >= 1 && files.length > maxFiles) {\n return false;\n }\n\n return files.every(function (file) {\n var _fileAccepted = fileAccepted(file, accept),\n _fileAccepted2 = _slicedToArray(_fileAccepted, 1),\n accepted = _fileAccepted2[0];\n\n var _fileMatchSize = fileMatchSize(file, minSize, maxSize),\n _fileMatchSize2 = _slicedToArray(_fileMatchSize, 1),\n sizeMatch = _fileMatchSize2[0];\n\n return accepted && sizeMatch;\n });\n} // React's synthetic events has event.isPropagationStopped,\n// but to remain compatibility with other libs (Preact) fall back\n// to check event.cancelBubble\n\nexport function isPropagationStopped(event) {\n if (typeof event.isPropagationStopped === 'function') {\n return event.isPropagationStopped();\n } else if (typeof event.cancelBubble !== 'undefined') {\n return event.cancelBubble;\n }\n\n return false;\n}\nexport function isEvtWithFiles(event) {\n if (!event.dataTransfer) {\n return !!event.target && !!event.target.files;\n } // https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/types\n // https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Recommended_drag_types#file\n\n\n return Array.prototype.some.call(event.dataTransfer.types, function (type) {\n return type === 'Files' || type === 'application/x-moz-file';\n });\n}\nexport function isKindFile(item) {\n return _typeof(item) === 'object' && item !== null && item.kind === 'file';\n} // allow the entire document to be a drag target\n\nexport function onDocumentDragOver(event) {\n event.preventDefault();\n}\n\nfunction isIe(userAgent) {\n return userAgent.indexOf('MSIE') !== -1 || userAgent.indexOf('Trident/') !== -1;\n}\n\nfunction isEdge(userAgent) {\n return userAgent.indexOf('Edge/') !== -1;\n}\n\nexport function isIeOrEdge() {\n var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.navigator.userAgent;\n return isIe(userAgent) || isEdge(userAgent);\n}\n/**\n * This is intended to be used to compose event handlers\n * They are executed in order until one of them calls `event.isPropagationStopped()`.\n * Note that the check is done on the first invoke too,\n * meaning that if propagation was stopped before invoking the fns,\n * no handlers will be executed.\n *\n * @param {Function} fns the event hanlder functions\n * @return {Function} the event handler to add to an element\n */\n\nexport function composeEventHandlers() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return fns.some(function (fn) {\n if (!isPropagationStopped(event) && fn) {\n fn.apply(void 0, [event].concat(args));\n }\n\n return isPropagationStopped(event);\n });\n };\n}","var _excluded = [\"children\"],\n _excluded2 = [\"open\"],\n _excluded3 = [\"refKey\", \"onKeyDown\", \"onFocus\", \"onBlur\", \"onClick\", \"onDragEnter\", \"onDragOver\", \"onDragLeave\", \"onDrop\"],\n _excluded4 = [\"refKey\", \"onChange\", \"onClick\"];\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 _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\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 _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\n/* eslint prefer-template: 0 */\nimport React, { forwardRef, Fragment, useCallback, useEffect, useImperativeHandle, useMemo, useReducer, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { fromEvent } from 'file-selector';\nimport { allFilesAccepted, composeEventHandlers, fileAccepted, fileMatchSize, isEvtWithFiles, isIeOrEdge, isPropagationStopped, onDocumentDragOver, TOO_MANY_FILES_REJECTION } from './utils/index';\n/**\n * Convenience wrapper component for the `useDropzone` hook\n *\n * ```jsx\n * \n * {({getRootProps, getInputProps}) => (\n *
\n * \n *

Drag 'n' drop some files here, or click to select files

\n *
\n * )}\n *
\n * ```\n */\n\nvar Dropzone = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var children = _ref.children,\n params = _objectWithoutProperties(_ref, _excluded);\n\n var _useDropzone = useDropzone(params),\n open = _useDropzone.open,\n props = _objectWithoutProperties(_useDropzone, _excluded2);\n\n useImperativeHandle(ref, function () {\n return {\n open: open\n };\n }, [open]); // TODO: Figure out why react-styleguidist cannot create docs if we don't return a jsx element\n\n return /*#__PURE__*/React.createElement(Fragment, null, children(_objectSpread(_objectSpread({}, props), {}, {\n open: open\n })));\n});\nDropzone.displayName = 'Dropzone'; // Add default props for react-docgen\n\nvar defaultProps = {\n disabled: false,\n getFilesFromEvent: fromEvent,\n maxSize: Infinity,\n minSize: 0,\n multiple: true,\n maxFiles: 0,\n preventDropOnDocument: true,\n noClick: false,\n noKeyboard: false,\n noDrag: false,\n noDragEventsBubbling: false,\n validator: null\n};\nDropzone.defaultProps = defaultProps;\nDropzone.propTypes = {\n /**\n * Render function that exposes the dropzone state and prop getter fns\n *\n * @param {object} params\n * @param {Function} params.getRootProps Returns the props you should apply to the root drop container you render\n * @param {Function} params.getInputProps Returns the props you should apply to hidden file input you render\n * @param {Function} params.open Open the native file selection dialog\n * @param {boolean} params.isFocused Dropzone area is in focus\n * @param {boolean} params.isFileDialogActive File dialog is opened\n * @param {boolean} params.isDragActive Active drag is in progress\n * @param {boolean} params.isDragAccept Dragged files are accepted\n * @param {boolean} params.isDragReject Some dragged files are rejected\n * @param {File[]} params.draggedFiles Files in active drag\n * @param {File[]} params.acceptedFiles Accepted files\n * @param {FileRejection[]} params.fileRejections Rejected files and why they were rejected\n */\n children: PropTypes.func,\n\n /**\n * Set accepted file types.\n * See https://github.com/okonet/attr-accept for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all.\n * See: https://github.com/react-dropzone/react-dropzone/issues/276\n */\n accept: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n\n /**\n * Allow drag 'n' drop (or selection from the file dialog) of multiple files\n */\n multiple: PropTypes.bool,\n\n /**\n * If false, allow dropped items to take over the current browser window\n */\n preventDropOnDocument: PropTypes.bool,\n\n /**\n * If true, disables click to open the native file selection dialog\n */\n noClick: PropTypes.bool,\n\n /**\n * If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n */\n noKeyboard: PropTypes.bool,\n\n /**\n * If true, disables drag 'n' drop\n */\n noDrag: PropTypes.bool,\n\n /**\n * If true, stops drag event propagation to parents\n */\n noDragEventsBubbling: PropTypes.bool,\n\n /**\n * Minimum file size (in bytes)\n */\n minSize: PropTypes.number,\n\n /**\n * Maximum file size (in bytes)\n */\n maxSize: PropTypes.number,\n\n /**\n * Maximum accepted number of files\n * The default value is 0 which means there is no limitation to how many files are accepted.\n */\n maxFiles: PropTypes.number,\n\n /**\n * Enable/disable the dropzone\n */\n disabled: PropTypes.bool,\n\n /**\n * Use this to provide a custom file aggregator\n *\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n getFilesFromEvent: PropTypes.func,\n\n /**\n * Cb for when closing the file dialog with no selection\n */\n onFileDialogCancel: PropTypes.func,\n\n /**\n * Cb for when opening the file dialog\n */\n onFileDialogOpen: PropTypes.func,\n\n /**\n * Cb for when the `dragenter` event occurs.\n *\n * @param {DragEvent} event\n */\n onDragEnter: PropTypes.func,\n\n /**\n * Cb for when the `dragleave` event occurs\n *\n * @param {DragEvent} event\n */\n onDragLeave: PropTypes.func,\n\n /**\n * Cb for when the `dragover` event occurs\n *\n * @param {DragEvent} event\n */\n onDragOver: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) or a valid file extension.\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n * const req = request.post('/upload')\n * acceptedFiles.forEach(file => {\n * req.attach(file.name, file)\n * })\n * req.end(callback)\n * }\n * ```\n *\n * @param {File[]} acceptedFiles\n * @param {FileRejection[]} fileRejections\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n onDrop: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that if no files are accepted, this callback is not invoked.\n *\n * @param {File[]} files\n * @param {(DragEvent|Event)} event\n */\n onDropAccepted: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that if no files are rejected, this callback is not invoked.\n *\n * @param {FileRejection[]} fileRejections\n * @param {(DragEvent|Event)} event\n */\n onDropRejected: PropTypes.func,\n\n /**\n * Custom validation function\n * @param {File} file\n * @returns {FileError|FileError[]}\n */\n validator: PropTypes.func\n};\nexport default Dropzone;\n/**\n * A function that is invoked for the `dragenter`,\n * `dragover` and `dragleave` events.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dragCb\n * @param {DragEvent} event\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dropCb\n * @param {File[]} acceptedFiles List of accepted files\n * @param {FileRejection[]} fileRejections List of rejected files and why they were rejected\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are files (such as link, text, etc.).\n *\n * @callback dropAcceptedCb\n * @param {File[]} files List of accepted files that meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n *\n * @callback dropRejectedCb\n * @param {File[]} files List of rejected files that do not meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is used aggregate files,\n * in a asynchronous fashion, from drag or input change events.\n *\n * @callback getFilesFromEvent\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n * @returns {(File[]|Promise)}\n */\n\n/**\n * An object with the current dropzone state and some helper functions.\n *\n * @typedef {object} DropzoneState\n * @property {Function} getRootProps Returns the props you should apply to the root drop container you render\n * @property {Function} getInputProps Returns the props you should apply to hidden file input you render\n * @property {Function} open Open the native file selection dialog\n * @property {boolean} isFocused Dropzone area is in focus\n * @property {boolean} isFileDialogActive File dialog is opened\n * @property {boolean} isDragActive Active drag is in progress\n * @property {boolean} isDragAccept Dragged files are accepted\n * @property {boolean} isDragReject Some dragged files are rejected\n * @property {File[]} draggedFiles Files in active drag\n * @property {File[]} acceptedFiles Accepted files\n * @property {FileRejection[]} fileRejections Rejected files and why they were rejected\n */\n\nvar initialState = {\n isFocused: false,\n isFileDialogActive: false,\n isDragActive: false,\n isDragAccept: false,\n isDragReject: false,\n draggedFiles: [],\n acceptedFiles: [],\n fileRejections: []\n};\n/**\n * A React hook that creates a drag 'n' drop area.\n *\n * ```jsx\n * function MyDropzone(props) {\n * const {getRootProps, getInputProps} = useDropzone({\n * onDrop: acceptedFiles => {\n * // do something with the File objects, e.g. upload to some server\n * }\n * });\n * return (\n *
\n * \n *

Drag and drop some files here, or click to select files

\n *
\n * )\n * }\n * ```\n *\n * @function useDropzone\n *\n * @param {object} props\n * @param {string|string[]} [props.accept] Set accepted file types.\n * See https://github.com/okonet/attr-accept for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all.\n * See: https://github.com/react-dropzone/react-dropzone/issues/276\n * @param {boolean} [props.multiple=true] Allow drag 'n' drop (or selection from the file dialog) of multiple files\n * @param {boolean} [props.preventDropOnDocument=true] If false, allow dropped items to take over the current browser window\n * @param {boolean} [props.noClick=false] If true, disables click to open the native file selection dialog\n * @param {boolean} [props.noKeyboard=false] If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n * @param {boolean} [props.noDrag=false] If true, disables drag 'n' drop\n * @param {boolean} [props.noDragEventsBubbling=false] If true, stops drag event propagation to parents\n * @param {number} [props.minSize=0] Minimum file size (in bytes)\n * @param {number} [props.maxSize=Infinity] Maximum file size (in bytes)\n * @param {boolean} [props.disabled=false] Enable/disable the dropzone\n * @param {getFilesFromEvent} [props.getFilesFromEvent] Use this to provide a custom file aggregator\n * @param {Function} [props.onFileDialogCancel] Cb for when closing the file dialog with no selection\n * @param {Function} [props.onFileDialogOpen] Cb for when opening the file dialog\n * @param {dragCb} [props.onDragEnter] Cb for when the `dragenter` event occurs.\n * @param {dragCb} [props.onDragLeave] Cb for when the `dragleave` event occurs\n * @param {dragCb} [props.onDragOver] Cb for when the `dragover` event occurs\n * @param {dropCb} [props.onDrop] Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) or a valid file extension.\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n * const req = request.post('/upload')\n * acceptedFiles.forEach(file => {\n * req.attach(file.name, file)\n * })\n * req.end(callback)\n * }\n * ```\n * @param {dropAcceptedCb} [props.onDropAccepted]\n * @param {dropRejectedCb} [props.onDropRejected]\n *\n * @returns {DropzoneState}\n */\n\nexport function useDropzone() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _defaultProps$options = _objectSpread(_objectSpread({}, defaultProps), options),\n accept = _defaultProps$options.accept,\n disabled = _defaultProps$options.disabled,\n getFilesFromEvent = _defaultProps$options.getFilesFromEvent,\n maxSize = _defaultProps$options.maxSize,\n minSize = _defaultProps$options.minSize,\n multiple = _defaultProps$options.multiple,\n maxFiles = _defaultProps$options.maxFiles,\n onDragEnter = _defaultProps$options.onDragEnter,\n onDragLeave = _defaultProps$options.onDragLeave,\n onDragOver = _defaultProps$options.onDragOver,\n onDrop = _defaultProps$options.onDrop,\n onDropAccepted = _defaultProps$options.onDropAccepted,\n onDropRejected = _defaultProps$options.onDropRejected,\n onFileDialogCancel = _defaultProps$options.onFileDialogCancel,\n onFileDialogOpen = _defaultProps$options.onFileDialogOpen,\n preventDropOnDocument = _defaultProps$options.preventDropOnDocument,\n noClick = _defaultProps$options.noClick,\n noKeyboard = _defaultProps$options.noKeyboard,\n noDrag = _defaultProps$options.noDrag,\n noDragEventsBubbling = _defaultProps$options.noDragEventsBubbling,\n validator = _defaultProps$options.validator;\n\n var rootRef = useRef(null);\n var inputRef = useRef(null);\n\n var _useReducer = useReducer(reducer, initialState),\n _useReducer2 = _slicedToArray(_useReducer, 2),\n state = _useReducer2[0],\n dispatch = _useReducer2[1];\n\n var isFocused = state.isFocused,\n isFileDialogActive = state.isFileDialogActive,\n draggedFiles = state.draggedFiles; // Fn for opening the file dialog programmatically\n\n var openFileDialog = useCallback(function () {\n if (inputRef.current) {\n dispatch({\n type: 'openDialog'\n });\n\n if (typeof onFileDialogOpen === 'function') {\n onFileDialogOpen();\n }\n\n inputRef.current.value = null;\n inputRef.current.click();\n }\n }, [dispatch, onFileDialogOpen]); // Update file dialog active state when the window is focused on\n\n var onWindowFocus = function onWindowFocus() {\n // Execute the timeout only if the file dialog is opened in the browser\n if (isFileDialogActive) {\n setTimeout(function () {\n if (inputRef.current) {\n var files = inputRef.current.files;\n\n if (!files.length) {\n dispatch({\n type: 'closeDialog'\n });\n\n if (typeof onFileDialogCancel === 'function') {\n onFileDialogCancel();\n }\n }\n }\n }, 300);\n }\n };\n\n useEffect(function () {\n window.addEventListener('focus', onWindowFocus, false);\n return function () {\n window.removeEventListener('focus', onWindowFocus, false);\n };\n }, [inputRef, isFileDialogActive, onFileDialogCancel]); // Cb to open the file dialog when SPACE/ENTER occurs on the dropzone\n\n var onKeyDownCb = useCallback(function (event) {\n // Ignore keyboard events bubbling up the DOM tree\n if (!rootRef.current || !rootRef.current.isEqualNode(event.target)) {\n return;\n }\n\n if (event.keyCode === 32 || event.keyCode === 13) {\n event.preventDefault();\n openFileDialog();\n }\n }, [rootRef, inputRef, openFileDialog]); // Update focus state for the dropzone\n\n var onFocusCb = useCallback(function () {\n dispatch({\n type: 'focus'\n });\n }, []);\n var onBlurCb = useCallback(function () {\n dispatch({\n type: 'blur'\n });\n }, []); // Cb to open the file dialog when click occurs on the dropzone\n\n var onClickCb = useCallback(function () {\n if (noClick) {\n return;\n } // In IE11/Edge the file-browser dialog is blocking, therefore, use setTimeout()\n // to ensure React can handle state changes\n // See: https://github.com/react-dropzone/react-dropzone/issues/450\n\n\n if (isIeOrEdge()) {\n setTimeout(openFileDialog, 0);\n } else {\n openFileDialog();\n }\n }, [inputRef, noClick, openFileDialog]);\n var dragTargetsRef = useRef([]);\n\n var onDocumentDrop = function onDocumentDrop(event) {\n if (rootRef.current && rootRef.current.contains(event.target)) {\n // If we intercepted an event for our instance, let it propagate down to the instance's onDrop handler\n return;\n }\n\n event.preventDefault();\n dragTargetsRef.current = [];\n };\n\n useEffect(function () {\n if (preventDropOnDocument) {\n document.addEventListener('dragover', onDocumentDragOver, false);\n document.addEventListener('drop', onDocumentDrop, false);\n }\n\n return function () {\n if (preventDropOnDocument) {\n document.removeEventListener('dragover', onDocumentDragOver);\n document.removeEventListener('drop', onDocumentDrop);\n }\n };\n }, [rootRef, preventDropOnDocument]);\n var onDragEnterCb = useCallback(function (event) {\n event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done\n\n event.persist();\n stopPropagation(event);\n dragTargetsRef.current = [].concat(_toConsumableArray(dragTargetsRef.current), [event.target]);\n\n if (isEvtWithFiles(event)) {\n Promise.resolve(getFilesFromEvent(event)).then(function (draggedFiles) {\n if (isPropagationStopped(event) && !noDragEventsBubbling) {\n return;\n }\n\n dispatch({\n draggedFiles: draggedFiles,\n isDragActive: true,\n type: 'setDraggedFiles'\n });\n\n if (onDragEnter) {\n onDragEnter(event);\n }\n });\n }\n }, [getFilesFromEvent, onDragEnter, noDragEventsBubbling]);\n var onDragOverCb = useCallback(function (event) {\n event.preventDefault();\n event.persist();\n stopPropagation(event);\n var hasFiles = isEvtWithFiles(event);\n\n if (hasFiles && event.dataTransfer) {\n try {\n event.dataTransfer.dropEffect = 'copy';\n } catch (_unused) {}\n /* eslint-disable-line no-empty */\n\n }\n\n if (hasFiles && onDragOver) {\n onDragOver(event);\n }\n\n return false;\n }, [onDragOver, noDragEventsBubbling]);\n var onDragLeaveCb = useCallback(function (event) {\n event.preventDefault();\n event.persist();\n stopPropagation(event); // Only deactivate once the dropzone and all children have been left\n\n var targets = dragTargetsRef.current.filter(function (target) {\n return rootRef.current && rootRef.current.contains(target);\n }); // Make sure to remove a target present multiple times only once\n // (Firefox may fire dragenter/dragleave multiple times on the same element)\n\n var targetIdx = targets.indexOf(event.target);\n\n if (targetIdx !== -1) {\n targets.splice(targetIdx, 1);\n }\n\n dragTargetsRef.current = targets;\n\n if (targets.length > 0) {\n return;\n }\n\n dispatch({\n isDragActive: false,\n type: 'setDraggedFiles',\n draggedFiles: []\n });\n\n if (isEvtWithFiles(event) && onDragLeave) {\n onDragLeave(event);\n }\n }, [rootRef, onDragLeave, noDragEventsBubbling]);\n var onDropCb = useCallback(function (event) {\n event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done\n\n event.persist();\n stopPropagation(event);\n dragTargetsRef.current = [];\n\n if (isEvtWithFiles(event)) {\n Promise.resolve(getFilesFromEvent(event)).then(function (files) {\n if (isPropagationStopped(event) && !noDragEventsBubbling) {\n return;\n }\n\n var acceptedFiles = [];\n var fileRejections = [];\n files.forEach(function (file) {\n var _fileAccepted = fileAccepted(file, accept),\n _fileAccepted2 = _slicedToArray(_fileAccepted, 2),\n accepted = _fileAccepted2[0],\n acceptError = _fileAccepted2[1];\n\n var _fileMatchSize = fileMatchSize(file, minSize, maxSize),\n _fileMatchSize2 = _slicedToArray(_fileMatchSize, 2),\n sizeMatch = _fileMatchSize2[0],\n sizeError = _fileMatchSize2[1];\n\n var customErrors = validator ? validator(file) : null;\n\n if (accepted && sizeMatch && !customErrors) {\n acceptedFiles.push(file);\n } else {\n var errors = [acceptError, sizeError];\n\n if (customErrors) {\n errors = errors.concat(customErrors);\n }\n\n fileRejections.push({\n file: file,\n errors: errors.filter(function (e) {\n return e;\n })\n });\n }\n });\n\n if (!multiple && acceptedFiles.length > 1 || multiple && maxFiles >= 1 && acceptedFiles.length > maxFiles) {\n // Reject everything and empty accepted files\n acceptedFiles.forEach(function (file) {\n fileRejections.push({\n file: file,\n errors: [TOO_MANY_FILES_REJECTION]\n });\n });\n acceptedFiles.splice(0);\n }\n\n dispatch({\n acceptedFiles: acceptedFiles,\n fileRejections: fileRejections,\n type: 'setFiles'\n });\n\n if (onDrop) {\n onDrop(acceptedFiles, fileRejections, event);\n }\n\n if (fileRejections.length > 0 && onDropRejected) {\n onDropRejected(fileRejections, event);\n }\n\n if (acceptedFiles.length > 0 && onDropAccepted) {\n onDropAccepted(acceptedFiles, event);\n }\n });\n }\n\n dispatch({\n type: 'reset'\n });\n }, [multiple, accept, minSize, maxSize, maxFiles, getFilesFromEvent, onDrop, onDropAccepted, onDropRejected, noDragEventsBubbling, validator]);\n\n var composeHandler = function composeHandler(fn) {\n return disabled ? null : fn;\n };\n\n var composeKeyboardHandler = function composeKeyboardHandler(fn) {\n return noKeyboard ? null : composeHandler(fn);\n };\n\n var composeDragHandler = function composeDragHandler(fn) {\n return noDrag ? null : composeHandler(fn);\n };\n\n var stopPropagation = function stopPropagation(event) {\n if (noDragEventsBubbling) {\n event.stopPropagation();\n }\n };\n\n var getRootProps = useMemo(function () {\n return function () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$refKey = _ref2.refKey,\n refKey = _ref2$refKey === void 0 ? 'ref' : _ref2$refKey,\n onKeyDown = _ref2.onKeyDown,\n onFocus = _ref2.onFocus,\n onBlur = _ref2.onBlur,\n onClick = _ref2.onClick,\n onDragEnter = _ref2.onDragEnter,\n onDragOver = _ref2.onDragOver,\n onDragLeave = _ref2.onDragLeave,\n onDrop = _ref2.onDrop,\n rest = _objectWithoutProperties(_ref2, _excluded3);\n\n return _objectSpread(_objectSpread(_defineProperty({\n onKeyDown: composeKeyboardHandler(composeEventHandlers(onKeyDown, onKeyDownCb)),\n onFocus: composeKeyboardHandler(composeEventHandlers(onFocus, onFocusCb)),\n onBlur: composeKeyboardHandler(composeEventHandlers(onBlur, onBlurCb)),\n onClick: composeHandler(composeEventHandlers(onClick, onClickCb)),\n onDragEnter: composeDragHandler(composeEventHandlers(onDragEnter, onDragEnterCb)),\n onDragOver: composeDragHandler(composeEventHandlers(onDragOver, onDragOverCb)),\n onDragLeave: composeDragHandler(composeEventHandlers(onDragLeave, onDragLeaveCb)),\n onDrop: composeDragHandler(composeEventHandlers(onDrop, onDropCb))\n }, refKey, rootRef), !disabled && !noKeyboard ? {\n tabIndex: 0\n } : {}), rest);\n };\n }, [rootRef, onKeyDownCb, onFocusCb, onBlurCb, onClickCb, onDragEnterCb, onDragOverCb, onDragLeaveCb, onDropCb, noKeyboard, noDrag, disabled]);\n var onInputElementClick = useCallback(function (event) {\n event.stopPropagation();\n }, []);\n var getInputProps = useMemo(function () {\n return function () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$refKey = _ref3.refKey,\n refKey = _ref3$refKey === void 0 ? 'ref' : _ref3$refKey,\n onChange = _ref3.onChange,\n onClick = _ref3.onClick,\n rest = _objectWithoutProperties(_ref3, _excluded4);\n\n var inputProps = _defineProperty({\n accept: accept,\n multiple: multiple,\n type: 'file',\n style: {\n display: 'none'\n },\n onChange: composeHandler(composeEventHandlers(onChange, onDropCb)),\n onClick: composeHandler(composeEventHandlers(onClick, onInputElementClick)),\n autoComplete: 'off',\n tabIndex: -1\n }, refKey, inputRef);\n\n return _objectSpread(_objectSpread({}, inputProps), rest);\n };\n }, [inputRef, accept, multiple, onDropCb, disabled]);\n var fileCount = draggedFiles.length;\n var isDragAccept = fileCount > 0 && allFilesAccepted({\n files: draggedFiles,\n accept: accept,\n minSize: minSize,\n maxSize: maxSize,\n multiple: multiple,\n maxFiles: maxFiles\n });\n var isDragReject = fileCount > 0 && !isDragAccept;\n return _objectSpread(_objectSpread({}, state), {}, {\n isDragAccept: isDragAccept,\n isDragReject: isDragReject,\n isFocused: isFocused && !disabled,\n getRootProps: getRootProps,\n getInputProps: getInputProps,\n rootRef: rootRef,\n inputRef: inputRef,\n open: composeHandler(openFileDialog)\n });\n}\n\nfunction reducer(state, action) {\n /* istanbul ignore next */\n switch (action.type) {\n case 'focus':\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: true\n });\n\n case 'blur':\n return _objectSpread(_objectSpread({}, state), {}, {\n isFocused: false\n });\n\n case 'openDialog':\n return _objectSpread(_objectSpread({}, state), {}, {\n isFileDialogActive: true\n });\n\n case 'closeDialog':\n return _objectSpread(_objectSpread({}, state), {}, {\n isFileDialogActive: false\n });\n\n case 'setDraggedFiles':\n /* eslint no-case-declarations: 0 */\n var isDragActive = action.isDragActive,\n draggedFiles = action.draggedFiles;\n return _objectSpread(_objectSpread({}, state), {}, {\n draggedFiles: draggedFiles,\n isDragActive: isDragActive\n });\n\n case 'setFiles':\n return _objectSpread(_objectSpread({}, state), {}, {\n acceptedFiles: action.acceptedFiles,\n fileRejections: action.fileRejections\n });\n\n case 'reset':\n return _objectSpread({}, initialState);\n\n default:\n return state;\n }\n}\n\nexport { ErrorCode } from './utils';","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getLoadingButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","LoadingButtonRoot","styled","Button","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","root","startIconLoadingStart","loadingButtonClasses","endIconLoadingEnd","ownerState","theme","_extends","transition","transitions","create","duration","short","opacity","loadingPosition","color","fullWidth","marginRight","marginLeft","LoadingButtonLoadingIndicator","loadingIndicator","capitalize","position","visibility","display","variant","left","transform","palette","action","disabled","right","React","inProps","ref","useThemeProps","children","idProp","id","loading","loadingIndicatorProp","other","_objectWithoutPropertiesLoose","useId","_jsx","CircularProgress","size","classes","slots","startIcon","endIcon","composedClasses","composeClasses","useUtilityClasses","_jsxs","className","Context","TabContext","value","idPrefix","setId","Math","round","random","useUniquePrefix","context","Provider","useTabContext","getPanelId","getTabId","TabList","childrenProp","TypeError","child","Tabs","getTabPanelUtilityClass","TabPanelRoot","padding","spacing","tabId","clsx","hidden","role","current","getBadgeUtilityClass","BadgeUnstyled","anchorOrigin","anchorOriginProp","vertical","horizontal","classesProp","component","components","componentsProps","max","maxProp","showZero","variantProp","badgeContentProp","badgeContent","invisibleProp","invisible","prevProps","usePreviousProps","displayValue","Number","useBadge","badge","Root","rootProps","appendOwnerState","Badge","badgeProps","Slot","isHostComponent","badgeClasses","badgeUnstyledClasses","BadgeRoot","verticalAlign","flexShrink","BadgeBadge","overlap","flexDirection","flexWrap","justifyContent","alignContent","alignItems","boxSizing","fontFamily","typography","fontWeight","fontWeightMedium","fontSize","pxToRem","minWidth","RADIUS_STANDARD","lineHeight","height","borderRadius","zIndex","easing","easeInOut","enteringScreen","backgroundColor","main","contrastText","RADIUS_DOT","top","transformOrigin","bottom","leavingScreen","_componentsProps$root","_componentsProps$badg","overlapProp","colorProp","extendUtilityClasses","shouldSpreadAdditionalProps","as","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","flex","getDialogContentTextUtilityClass","DialogContentTextRoot","Typography","getDividerUtilityClass","dividerClasses","getInputAdornmentUtilityClass","_span","InputAdornmentRoot","disablePointerEvents","maxHeight","whiteSpace","active","inputAdornmentClasses","marginTop","pointerEvents","disableTypography","muiFormControl","useFormControl","hiddenLabel","FormControlContext","getMenuItemUtilityClass","MenuItemRoot","ButtonBase","dense","divider","disableGutters","gutters","body1","textDecoration","minHeight","paddingTop","paddingBottom","paddingLeft","paddingRight","borderBottom","backgroundClip","hover","menuItemClasses","alpha","primary","selectedOpacity","focusOpacity","hoverOpacity","focus","disabledOpacity","marginBottom","listItemTextClasses","listItemIconClasses","breakpoints","up","body2","autoFocus","focusVisibleClassName","tabIndexProp","tabIndex","ListContext","childContext","menuItemRef","useEnhancedEffect","selected","handleRef","useForkRef","undefined","focusVisible","joinChildren","separator","childrenArray","filter","Boolean","reduce","output","index","push","length","key","StackRoot","handleBreakpoints","resolveBreakpointValues","values","direction","propValue","transformer","createUnarySpacing","base","Object","keys","acc","breakpoint","directionValues","spacingValues","deepmerge","margin","row","column","getValue","Stack","themeProps","extendSxProp","getSwitchUtilityClass","SwitchRoot","edge","width","overflow","colorAdjust","switchClasses","SwitchSwitchBase","SwitchBase","switchBase","input","mode","common","white","grey","shortest","lighten","darken","SwitchTrack","track","black","SwitchThumb","thumb","boxShadow","shadows","sx","checked","icon","type","checkedIcon","file","acceptedFiles","acceptedFilesArray","Array","isArray","split","fileName","mimeType","toLowerCase","baseMimeType","replace","some","validType","trim","charAt","endsWith","deselectCurrent","clipboardToIE11Formatting","module","text","options","debug","message","reselectPrevious","range","selection","mark","success","document","createRange","getSelection","createElement","textContent","style","all","clip","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","addEventListener","e","stopPropagation","format","preventDefault","clipboardData","console","warn","window","clearData","setData","onCopy","body","appendChild","selectNodeContents","addRange","execCommand","Error","err","error","copyKey","test","navigator","userAgent","prompt","removeRange","removeAllRanges","removeChild","defineProperty","CopyToClipboard","_react","_copyToClipboard","obj","__esModule","_typeof","Symbol","iterator","constructor","prototype","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","apply","_objectWithoutProperties","source","excluded","i","target","sourceKeys","indexOf","sourceSymbolKeys","propertyIsEnumerable","call","_classCallCheck","instance","Constructor","_defineProperties","descriptor","configurable","writable","_possibleConstructorReturn","self","_assertThisInitialized","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","ReferenceError","_setPrototypeOf","p","_defineProperty","_React$PureComponent","_getPrototypeOf2","_this","this","_len","arguments","args","_key","concat","event","_this$props","elem","Children","only","result","onClick","protoProps","staticProps","subClass","superClass","_inherits","_this$props2","cloneElement","forEach","getOwnPropertyDescriptors","defineProperties","_objectSpread","PureComponent","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","done","then","__generator","f","y","t","g","_","label","sent","trys","ops","verb","n","v","op","pop","__read","m","r","ar","COMMON_MIME_TYPES","Map","toFileWithPath","path","lastIndexOf","ext","get","withMimeType","webkitRelativePath","FILES_TO_IGNORE","getInputFiles","evt","files","fromList","map","getDataTransferFiles","dt","items","item","kind","toFilePromises","noIgnoredFiles","flatten","webkitGetAsEntry","fromDataTransferItem","entry","isDirectory","fromDirEntry","getAsFile","fwp","fromEntry","fromFileEntry","reader","createReader","entries","readEntries","batch","fullPath","_slicedToArray","arr","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","_iterableToArrayLimit","minLen","_arrayLikeToArray","toString","slice","from","_unsupportedIterableToArray","_nonIterableRest","len","arr2","FILE_INVALID_TYPE","FILE_TOO_LARGE","FILE_TOO_SMALL","TOO_MANY_FILES","getInvalidTypeRejectionErr","accept","messageSuffix","join","code","getTooLargeRejectionErr","maxSize","getTooSmallRejectionErr","minSize","TOO_MANY_FILES_REJECTION","fileAccepted","isAcceptable","accepts","fileMatchSize","isDefined","allFilesAccepted","_ref","multiple","maxFiles","every","accepted","sizeMatch","isPropagationStopped","cancelBubble","isEvtWithFiles","dataTransfer","types","onDocumentDragOver","isIe","isEdge","isIeOrEdge","composeEventHandlers","fns","_len2","_key2","fn","_excluded2","_excluded3","_excluded4","_toConsumableArray","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","Dropzone","forwardRef","_useDropzone","useDropzone","open","useImperativeHandle","Fragment","displayName","defaultProps","getFilesFromEvent","Infinity","preventDropOnDocument","noClick","noKeyboard","noDrag","noDragEventsBubbling","validator","propTypes","PropTypes","onFileDialogCancel","onFileDialogOpen","onDragEnter","onDragLeave","onDragOver","onDrop","onDropAccepted","onDropRejected","initialState","isFocused","isFileDialogActive","isDragActive","isDragAccept","isDragReject","draggedFiles","fileRejections","_defaultProps$options","rootRef","useRef","inputRef","_useReducer","useReducer","reducer","_useReducer2","state","dispatch","openFileDialog","useCallback","click","onWindowFocus","setTimeout","useEffect","removeEventListener","onKeyDownCb","isEqualNode","keyCode","onFocusCb","onBlurCb","onClickCb","dragTargetsRef","onDocumentDrop","contains","onDragEnterCb","persist","onDragOverCb","hasFiles","dropEffect","_unused","onDragLeaveCb","targets","targetIdx","splice","onDropCb","_fileAccepted2","acceptError","_fileMatchSize2","sizeError","customErrors","errors","composeHandler","composeKeyboardHandler","composeDragHandler","getRootProps","useMemo","_ref2","_ref2$refKey","refKey","onKeyDown","onFocus","onBlur","rest","onInputElementClick","getInputProps","_ref3","_ref3$refKey","onChange","inputProps","autoComplete","fileCount","rangeCount","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/5673.d3eb036c.chunk.js b/portal-ui/build/static/js/5673.5777423e.chunk.js similarity index 98% rename from portal-ui/build/static/js/5673.d3eb036c.chunk.js rename to portal-ui/build/static/js/5673.5777423e.chunk.js index 3c0590c97..e389d3860 100644 --- a/portal-ui/build/static/js/5673.d3eb036c.chunk.js +++ b/portal-ui/build/static/js/5673.5777423e.chunk.js @@ -1,2 +1,2 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5673],{8235:function(e,t,n){"use strict";n(50390);var i=n(86509),r=n(4285),o=n(25594),s=n(62559);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})]})})}))},53224:function(e,t,n){"use strict";var i=n(18489),r=n(83738),o=(n(50390),n(70758)),s=n(62449),a=n(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,s.Z)((function(e){return{root:{padding:"7px",color:function(t){return function(t){var n=t.variant,i=t.color,r=e.palette.primary.main;return"primary"===i&&"contained"===n?r=e.palette.primary.contrastText:"primary"===i&&"outlined"===n?r=e.palette.primary.main:"secondary"===i&&(r=e.palette.secondary.main),r}(t)},borderColor:function(t){return"secondary"===t.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));t.Z=function(e){var t=c(e),n=e.onClick,s=e.text,d=void 0===s?"":s,u=e.disabled,p=void 0!==u&&u,m=e.tooltip,h=e.icon,x=void 0===h?null:h,f=(0,r.Z)(e,l);return(0,a.jsxs)(o.Z,(0,i.Z)((0,i.Z)({classes:t,tooltip:m||d,variant:"outlined",onClick:n,disabled:p,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},f),{},{children:[(0,a.jsx)("span",{children:d})," ",x]}))}},70758:function(e,t,n){"use strict";var i=n(18489),r=n(36222),o=n(83738),s=(n(50390),n(86509)),a=n(4285),l=n(95467),c=n(94187),d=n(44977),u=n(62559),p=["classes","children","variant","tooltip"];t.Z=(0,a.Z)((function(e){return(0,s.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var t=e.classes,n=e.children,s=e.variant,a=void 0===s?"outlined":s,m=e.tooltip,h=(0,o.Z)(e,p),x=(0,u.jsx)(l.Z,(0,i.Z)((0,i.Z)({},h),{},{className:(0,d.Z)(t.root,(0,r.Z)({},t.contained,"contained"===a)),children:n}));return m&&""!==m?(0,u.jsx)(c.Z,{title:m,children:(0,u.jsx)("span",{children:x})}):x}))},10660:function(e,t,n){"use strict";n(50390);var i=n(25594),r=n(56805),o=n(8235),s=n(62559);t.Z=function(e){var t=e.iconComponent,n=e.entity;return(0,s.jsx)(i.ZP,{container:!0,alignItems:"center",children:(0,s.jsx)(i.ZP,{item:!0,xs:12,children:(0,s.jsx)(o.Z,{title:"".concat(n," not available"),iconComponent:t,help:(0,s.jsxs)(r.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,s.jsx)("div",{children:"This feature is not available for a single-disk setup. "}),(0,s.jsxs)("div",{children:["Please deploy a server in"," ",(0,s.jsx)("a",{href:"https://docs.min.io/minio/baremetal/installation/deploy-minio-distributed.html?ref=con",target:"_blank",rel:"noreferrer",children:"Distributed Mode"})," ","to use this feature."]})]})})})})}},70014:function(e,t,n){"use strict";var i=n(35531),r=n(23430),o=n(18489),s=n(50390),a=n(25594),l=(n(2574),n(20704)),c=n(54880),d=n(21563),u=n(36297),p=n(14602),m=n(94187),h=n(56805),x=n(86509),f=n(4285),g=n(97538),b=n(72462),j=n(11387),v=n(53224),Z=n(33034),y=n.n(Z),C=n(53357),S=n(62559),w={json:d.AV,yaml:function(){return c.i.define(u.r)}},k=C.tk.theme({"&":{backgroundColor:"#FBFAFA"},".cm-content":{caretColor:"#05122B"},"&.cm-focused .cm-cursor":{borderLeftColor:"#05122B"},".cm-gutters":{backgroundColor:"#FBFAFA",color:"#000000",border:"none"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px",color:"#2781B0","& .\u037cc":{color:"#C83B51"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#dde1f1"},".cm-matchingBracket":{backgroundColor:"#05122B",color:"#ffffff"},".cm-selectionMatch":{backgroundColor:"#ebe7f1"},".cm-selectionLayer":{fontWeight:500}," .cm-selectionBackground":{backgroundColor:"#a180c7",color:"#ffffff"}},{dark:!1}),P=C.tk.theme({"&":{backgroundColor:"#282a36",color:"#ffb86c"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px","& .\u037cd, & .\u037cc":{color:"#8e6cef"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#44475a"},".cm-matchingBracket":{backgroundColor:"#842de5",color:"#ff79c6"},".cm-selectionLayer .cm-selectionBackground":{backgroundColor:"green"}},{dark:!0});t.Z=(0,f.Z)((function(e){return(0,x.Z)((0,o.Z)((0,o.Z)({},b.YI),{},{inputLabel:(0,o.Z)((0,o.Z)({},b.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.value,n=e.label,o=void 0===n?"":n,c=e.tooltip,d=void 0===c?"":c,u=e.mode,x=void 0===u?"json":u,f=e.classes,b=e.onBeforeChange,Z=e.readOnly,C=void 0!==Z&&Z,N=e.editorHeight,F=void 0===N?"250px":N,T=(0,s.useState)(!1),B=(0,r.Z)(T,2),E=B[0],I=B[1],O=[];return w[x]&&(O=[].concat((0,i.Z)(O),[w[x]()])),(0,S.jsxs)(s.Fragment,{children:[(0,S.jsxs)(p.Z,{className:f.inputLabel,children:[(0,S.jsx)("span",{children:o}),""!==d&&(0,S.jsx)("div",{className:f.tooltipContainer,children:(0,S.jsx)(m.Z,{title:d,placement:"top-start",children:(0,S.jsx)("div",{className:f.tooltip,children:(0,S.jsx)(g.Z,{})})})})]}),(0,S.jsx)(a.ZP,{item:!0,xs:12,children:(0,S.jsx)("br",{})}),(0,S.jsxs)(a.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea"},children:[(0,S.jsx)(a.ZP,{item:!0,xs:12,children:(0,S.jsx)(l.ZP,{value:t,theme:E?P:k,extensions:O,editable:!C,basicSetup:!0,height:F,onChange:function(e,t){b(null,null,e)}})}),(0,S.jsx)(a.ZP,{item:!0,xs:12,sx:{borderTop:"1px solid #eaeaea",background:E?"#282c34":"#f7f7f7"},children:(0,S.jsxs)(h.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,S.jsx)(v.Z,{tooltip:"Change theme",onClick:function(){I(!E)},text:"",icon:(0,S.jsx)(j.EO,{}),color:"primary",variant:"outlined"}),(0,S.jsx)(y(),{text:t,children:(0,S.jsx)(v.Z,{tooltip:"Copy to Clipboard",onClick:function(){},text:"",icon:(0,S.jsx)(j.TI,{}),color:"primary",variant:"outlined"})})]})})]})]})}))},66964:function(e,t,n){"use strict";var i=n(18489),r=n(50390),o=n(12066),s=n(25594),a=n(14602),l=n(94187),c=n(95467),d=n(86509),u=n(62449),p=n(4285),m=n(72462),h=n(97538),x=n(44977),f=n(62559),g=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({},m.gM))}));function b(e){var t=g();return(0,f.jsx)(o.Z,(0,i.Z)({InputProps:{classes:t}},e))}t.Z=(0,p.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,o=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,g=e.autoComplete,j=void 0===g?"off":g,v=e.disabled,Z=void 0!==v&&v,y=e.multiline,C=void 0!==y&&y,S=e.tooltip,w=void 0===S?"":S,k=e.index,P=void 0===k?0:k,N=e.error,F=void 0===N?"":N,T=e.required,B=void 0!==T&&T,E=e.placeholder,I=void 0===E?"":E,O=e.min,L=e.max,z=e.overlayIcon,R=void 0===z?null:z,A=e.overlayObject,M=void 0===A?null:A,V=e.extraInputProps,G=void 0===V?{}:V,U=e.overlayAction,W=e.noLabelMinWidth,_=void 0!==W&&W,D=e.pattern,H=void 0===D?"":D,q=e.autoFocus,J=void 0!==q&&q,K=e.classes,Y=e.className,Q=void 0===Y?"":Y,$=(0,i.Z)({"data-index":P},G);return"number"===m&&O&&($.min=O),"number"===m&&L&&($.max=L),""!==H&&($.pattern=H),(0,f.jsx)(r.Fragment,{children:(0,f.jsxs)(s.ZP,{container:!0,className:(0,x.Z)(""!==Q?Q:"",""!==F?K.errorInField:K.inputBoxContainer),children:[""!==t&&(0,f.jsxs)(a.Z,{htmlFor:d,className:_?K.noMinWidthLabel:K.inputLabel,children:[(0,f.jsxs)("span",{children:[t,B?"*":""]}),""!==w&&(0,f.jsx)("div",{className:K.tooltipContainer,children:(0,f.jsx)(l.Z,{title:w,placement:"top-start",children:(0,f.jsx)("div",{className:K.tooltip,children:(0,f.jsx)(h.Z,{})})})})]}),(0,f.jsxs)("div",{className:K.textBoxContainer,children:[(0,f.jsx)(b,{id:d,name:u,fullWidth:!0,value:o,autoFocus:J,disabled:Z,onChange:n,type:m,multiline:C,autoComplete:j,inputProps:$,error:""!==F,helperText:F,placeholder:I,className:K.inputRebase}),R&&(0,f.jsx)("div",{className:"".concat(K.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,f.jsx)(c.Z,{onClick:U?function(){U()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:R})}),M&&(0,f.jsx)("div",{className:"".concat(K.overlayAction," ").concat(""!==t?"withLabel":""),children:M})]})]})})}))},25534:function(e,t,n){"use strict";var i=n(18489),r=(n(50390),n(25594)),o=n(86509),s=n(4285),a=n(72462),l=n(62559);t.Z=(0,s.Z)((function(e){return(0,o.Z)((0,i.Z)({},a.Bw))}))((function(e){var t=e.classes,n=e.className,i=void 0===n?"":n,o=e.children;return(0,l.jsx)("div",{className:t.contentSpacer,children:(0,l.jsx)(r.ZP,{container:!0,children:(0,l.jsx)(r.ZP,{item:!0,xs:12,className:i,children:o})})})}))},35721:function(e,t,n){"use strict";n(50390);var i=n(34424),r=n(25594),o=n(86509),s=n(4285),a=n(35477),l=n(95467),c=n(26805),d=n(44078),u=n(5265),p=n(11387),m=n(62559),h={toggleList:u.kQ},x=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),h);t.Z=x((0,s.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,i=e.actions,o=e.sidebarOpen,s=e.operatorMode,u=e.managerObjects,h=e.toggleList,x=e.middleComponent;return(0,m.jsxs)(r.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,m.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,m.jsx)("div",{className:t.logo,children:s?(0,m.jsx)(c.Z,{}):(0,m.jsx)(d.Z,{})}),(0,m.jsx)(a.Z,{variant:"h4",className:t.labelStyle,children:n})]}),x&&(0,m.jsx)(r.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:x}),(0,m.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:t.rightMenu,children:[i&&i,u&&u.length>0&&(0,m.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){h()},size:"large",children:(0,m.jsx)(p.gx,{})})]})]})})))},54415:function(e,t,n){"use strict";var i=n(18489),r=n(36222),o=(n(50390),n(8208)),s=n(81378),a=n(55179),l=n(56805),c=n(62559),d=(0,o.ZP)(s.Z)((function(){var e;return e={height:10,borderRadius:5},(0,r.Z)(e,"&.".concat(a.Z.colorPrimary),{backgroundColor:"#f1f1f1"}),(0,r.Z)(e,"& .".concat(a.Z.bar),{borderRadius:5}),e})),u=(0,o.ZP)(d)((function(){return(0,r.Z)({height:6,borderRadius:3},"& .".concat(a.Z.bar),{borderRadius:3})}));function p(e){return(0,c.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center"},children:[(0,c.jsx)(l.Z,{sx:{width:"100%",mr:1},children:(0,c.jsx)(d,(0,i.Z)({variant:"determinate"},e))}),(0,c.jsx)(l.Z,{sx:{minWidth:35,fontSize:14},className:"value",children:"".concat(Math.round(e.value||0),"%")})]})}t.Z=function(e){var t=e.value,n=e.ready,r=e.indeterminate,o=e.withLabel,s=e.size,a=void 0===s?"regular":s,l={variant:r&&!n?"indeterminate":"determinate",value:n?100:t,color:n?"success":"primary"};return o?(0,c.jsx)(p,(0,i.Z)({},l)):"small"===a?(0,c.jsx)(u,(0,i.Z)({},l)):(0,c.jsx)(d,(0,i.Z)({},l))}},31376:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return _}});var i=n(35531),r=n(23430),o=n(18489),s=n(50390),a=n(34424),l=n(69686),c=n(25594),d=n(18201),u=n(66946),p=n(86509),m=n(4285),h=n(60606),x=n.n(h),f=n(35721),g=n(72462),b=n(51774),j=n(11387),v=n(49495),Z=n(38342),y=n.n(Z),C=n(28948),S=n(70758),w=n(70014),k=n(88970),P=n(86072),N=n(84930),F=n(84109),T=n(44977),B=n(62559),E=(0,m.Z)((function(e){return(0,p.Z)({objectGeneralTitle:{lineHeight:1,fontSize:50,color:"#696969"},generalUnit:{color:"#000",fontSize:12,fontWeight:"bold"},testUnitRes:{fontSize:60,color:"#081C42",fontWeight:"bold",textAlign:"right"},metricValContainer:{lineHeight:1,verticalAlign:"bottom"},objectsUnitRes:{fontSize:22,marginTop:6,color:"#696969",fontWeight:"bold",textAlign:"right"},objectsUnit:{color:"#696969",fontSize:16,fontWeight:"bold"},iconTd:{verticalAlign:"bottom"}})}))((function(e){var t=e.classes,n=e.title,i=e.icon,r=e.throughput,o=e.objects,s=(0,C.Am)(r),a="0",l="";return 0!==s.total&&(a=s.total.toString(),l="".concat(s.unit,"/s")),(0,B.jsxs)("table",{children:[(0,B.jsxs)("tr",{children:[(0,B.jsx)("td",{className:t.objectGeneralTitle,children:n}),(0,B.jsx)("td",{className:t.iconTd,children:i})]}),(0,B.jsxs)("tr",{children:[(0,B.jsx)("td",{className:(0,T.Z)(t.metricValContainer,t.testUnitRes),children:a}),(0,B.jsx)("td",{className:(0,T.Z)(t.metricValContainer,t.generalUnit),children:l})]}),(0,B.jsxs)("tr",{children:[(0,B.jsx)("td",{className:(0,T.Z)(t.metricValContainer,t.objectsUnitRes),children:o}),(0,B.jsx)("td",{className:(0,T.Z)(t.metricValContainer,t.objectsUnit),children:0!==o&&"Objs/S"})]})]})})),I=(0,m.Z)((function(e){return(0,p.Z)({actionButtons:{textAlign:"right"},descriptorLabel:{fontWeight:"bold",fontSize:14},resultsContainer:{backgroundColor:"#FBFAFA",borderTop:"#F1F1F1 1px solid",marginTop:30,padding:25},resultsIcon:{display:"flex",alignItems:"center","& svg":{fill:"#07193E"}},detailedItem:{display:"flex",alignItems:"center",justifyContent:"flex-start"},detailedVersion:{display:"flex",alignItems:"center",justifyContent:"flex-end"},serversTable:{width:"100%",marginTop:15,"& thead > tr > th":{textAlign:"left",padding:15,fontSize:14,fontWeight:"bold"},"& tbody > tr":{"&:last-of-type":{"& > td":{borderBottom:"#E2E2E2 1px solid"}},"& > td":{borderTop:"#E2E2E2 1px solid",padding:15,fontSize:14,"&:first-of-type":{borderLeft:"#E2E2E2 1px solid"},"&:last-of-type":{borderRight:"#E2E2E2 1px solid"}}}},serverIcon:{width:55},serverValue:{width:140},serverHost:{maxWidth:540,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},tableOverflow:{overflowX:"auto",paddingBottom:15},objectGeneral:{marginTop:15},initialResults:{fontSize:20,fontWeight:"bold",color:"#000",textAlign:"center"},download:{"& .min-icon":{width:35,height:35,color:"rgb(113,200,150)"}},upload:{"& .min-icon":{width:35,height:35,color:"rgb(66,127,172)"}}})}))((function(e){var t=e.classes,n=e.results,o=e.start,a=(0,s.useState)(!1),l=(0,r.Z)(a,2),d=l[0],u=l[1],p=n[n.length-1]||[],m=y()(p,"GETStats.servers",[])||[],h=y()(p,"PUTStats.servers",[])||[],x=y()(p,"GETStats.throughputPerSec",0),f=y()(p,"GETStats.objectsPerSec",0),g=y()(p,"PUTStats.throughputPerSec",0),b=y()(p,"PUTStats.objectsPerSec",0),v=[];m.forEach((function(e){var t=e.endpoint,n=h.find((function(e){return e.endpoint===t})),i={getUnit:"-",getValue:"N/A",host:e.endpoint,putUnit:"-",putValue:"N/A"};if(e.err&&""!==e.err)i.getError=e.err,i.getUnit="-",i.getValue="N/A";else{var r=(0,C.Am)(e.throughputPerSec.toString());i.getUnit=r.unit,i.getValue=r.total.toString()}if(n)if(n.err&&""!==n.err)i.putError=n.err,i.putUnit="-",i.putValue="N/A";else{var o=(0,C.Am)(n.throughputPerSec.toString());i.putUnit=o.unit,i.putValue=o.total.toString()}v.push(i)}));var Z=p?JSON.stringify(p,null,4):"",T=function(e){var t=e.filter((function(e){return"0"!==e.version&&0!==e.disks})).map((function(e){var t,n;return{get:(null===(t=e.GETStats)||void 0===t?void 0:t.throughputPerSec)||0,put:(null===(n=e.PUTStats)||void 0===n?void 0:n.throughputPerSec)||0}}));return[{get:0,put:0}].concat((0,i.Z)(t))}(n);return(0,B.jsxs)(s.Fragment,{children:[(0,B.jsxs)(c.ZP,{container:!0,className:t.objectGeneral,children:[(0,B.jsx)(c.ZP,{item:!0,xs:12,md:6,lg:6,children:(0,B.jsxs)(c.ZP,{container:!0,className:t.objectGeneral,children:[(0,B.jsx)(c.ZP,{item:!0,xs:12,md:6,lg:6,children:(0,B.jsx)(E,{icon:(0,B.jsx)("div",{className:t.download,children:(0,B.jsx)(j.Q_,{})}),title:"GET",throughput:x,objects:f})}),(0,B.jsx)(c.ZP,{item:!0,xs:12,md:6,lg:6,children:(0,B.jsx)(E,{icon:(0,B.jsx)("div",{className:t.upload,children:(0,B.jsx)(j.jh,{})}),title:"PUT",throughput:g,objects:b})})]})}),(0,B.jsx)(c.ZP,{item:!0,xs:12,md:6,lg:6,children:(0,B.jsx)(k.h,{width:"99%",children:(0,B.jsxs)(P.T,{data:T,children:[(0,B.jsxs)("defs",{children:[(0,B.jsxs)("linearGradient",{id:"colorPut",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,B.jsx)("stop",{offset:"0%",stopColor:"#2781B0",stopOpacity:.9}),(0,B.jsx)("stop",{offset:"95%",stopColor:"#fff",stopOpacity:0})]}),(0,B.jsxs)("linearGradient",{id:"colorGet",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,B.jsx)("stop",{offset:"0%",stopColor:"#4CCB92",stopOpacity:.9}),(0,B.jsx)("stop",{offset:"95%",stopColor:"#fff",stopOpacity:0})]})]}),(0,B.jsx)(N.q,{strokeDasharray:"0 0",strokeWidth:1,strokeOpacity:.5,stroke:"#F1F1F1",vertical:!1}),(0,B.jsx)(F.u,{type:"monotone",dataKey:"get",stroke:"#4CCB92",fill:"url(#colorGet)",fillOpacity:.3,strokeWidth:2,dot:!1}),(0,B.jsx)(F.u,{type:"monotone",dataKey:"put",stroke:"#2781B0",fill:"url(#colorPut)",fillOpacity:.3,strokeWidth:2,dot:!1})]})})})]}),(0,B.jsx)("br",{}),T.length>1&&(0,B.jsxs)(s.Fragment,{children:[(0,B.jsxs)(c.ZP,{container:!0,children:[(0,B.jsx)(c.ZP,{item:!0,xs:12,md:6,className:t.descriptorLabel,children:o?(0,B.jsx)(s.Fragment,{children:"Preliminar Results:"}):(0,B.jsx)(s.Fragment,{children:d?"JSON Results:":"Detailed Results:"})}),(0,B.jsx)(c.ZP,{item:!0,xs:12,md:6,className:t.actionButtons,children:!o&&(0,B.jsxs)(s.Fragment,{children:[(0,B.jsx)(S.Z,{"aria-label":"Download",onClick:function(){var e=new Date,t=document.createElement("a");t.setAttribute("href","data:text/plain;charset=utf-8,"+JSON.stringify(p)),t.setAttribute("download","speedtest_results-".concat(e.toISOString(),".log")),t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)},size:"large",children:(0,B.jsx)(j._8,{})}),"\xa0",(0,B.jsx)(S.Z,{"aria-label":"Download",onClick:function(){u(!d)},size:"large",children:(0,B.jsx)(j.iH,{})})]})})]}),(0,B.jsx)(c.ZP,{container:!0,className:t.resultsContainer,children:d?(0,B.jsx)(s.Fragment,{children:(0,B.jsx)(w.Z,{value:Z,readOnly:!0,onBeforeChange:function(){}})}):(0,B.jsxs)(s.Fragment,{children:[(0,B.jsx)(c.ZP,{item:!0,xs:12,sm:12,md:1,lg:1,className:t.resultsIcon,alignItems:"flex-end",children:(0,B.jsx)(j.UM,{width:45})}),(0,B.jsxs)(c.ZP,{item:!0,xs:12,sm:6,md:3,lg:2,className:t.detailedItem,children:["Nodes:\xa0",(0,B.jsx)("strong",{children:p.servers})]}),(0,B.jsxs)(c.ZP,{item:!0,xs:12,sm:6,md:3,lg:2,className:t.detailedItem,children:["Drives:\xa0",(0,B.jsx)("strong",{children:p.disks})]}),(0,B.jsxs)(c.ZP,{item:!0,xs:12,sm:6,md:3,lg:2,className:t.detailedItem,children:["Concurrent:\xa0",(0,B.jsx)("strong",{children:p.concurrent})]}),(0,B.jsxs)(c.ZP,{item:!0,xs:12,sm:12,md:12,lg:5,className:t.detailedVersion,children:[(0,B.jsx)("span",{className:t.versionIcon,children:(0,B.jsx)(j.Db,{})})," ","MinIO VERSION\xa0",(0,B.jsx)("strong",{children:p.version})]}),(0,B.jsx)(c.ZP,{item:!0,xs:12,className:t.tableOverflow,children:(0,B.jsxs)("table",{className:t.serversTable,cellSpacing:0,cellPadding:0,children:[(0,B.jsx)("thead",{children:(0,B.jsxs)("tr",{children:[(0,B.jsx)("th",{colSpan:2,children:"Servers"}),(0,B.jsx)("th",{children:"GET"}),(0,B.jsx)("th",{children:"PUT"})]})}),(0,B.jsx)("tbody",{children:v.map((function(e,n){return(0,B.jsxs)("tr",{children:[(0,B.jsx)("td",{className:t.serverIcon,children:(0,B.jsx)(j.id,{})}),(0,B.jsx)("td",{className:t.serverHost,children:e.host}),e.getError&&""!==e.getError?(0,B.jsx)("td",{children:e.getError}):(0,B.jsx)(s.Fragment,{children:(0,B.jsxs)("td",{className:t.serverValue,children:[(0,C.CE)(parseFloat(e.getValue)),"\xa0",e.getUnit,"/s."]})}),e.putError&&""!==e.putError?(0,B.jsx)("td",{children:e.putError}):(0,B.jsx)(s.Fragment,{children:(0,B.jsxs)("td",{className:t.serverValue,children:[(0,C.CE)(parseFloat(e.putValue)),"\xa0",e.putUnit,"/s."]})})]},"storage-".concat(n.toString()))}))})]})})]})})]})]})})),O=n(66964),L=n(54415),z=n(26936),R=n(31680),A=(0,m.Z)((function(e){return(0,p.Z)({buttonTrigger:{border:"#F0F2F2 1px solid",borderRadius:3,color:"#838383",backgroundColor:"#fff",fontSize:12}})}))((function(e){var t=e.classes,n=e.id,i=e.unitSelected,o=e.unitsList,a=e.disabled,l=void 0!==a&&a,c=e.onUnitChange,d=s.useState(null),u=(0,r.Z)(d,2),p=u[0],m=u[1],h=Boolean(p),x=function(e){m(null),""!==e&&c(e)};return(0,B.jsxs)(s.Fragment,{children:[(0,B.jsx)("button",{id:"".concat(n,"-button"),"aria-controls":"".concat(n,"-menu"),"aria-haspopup":"true","aria-expanded":h?"true":void 0,onClick:function(e){m(e.currentTarget)},className:t.buttonTrigger,disabled:l,children:i}),(0,B.jsx)(z.Z,{id:"".concat(n,"-menu"),"aria-labelledby":"".concat(n,"-button"),anchorEl:p,open:h,onClose:function(){x("")},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:o.map((function(e){return(0,B.jsx)(R.Z,{onClick:function(){return x(e.value)},children:e.label},"itemUnit-".concat(e.value,"-").concat(e.label))}))})]})})),M=n(25534),V=n(15607),G=n(10660),U=n(8235),W=n(47424),_=(0,a.$j)((function(e){return{distributedSetup:e.system.distributedSetup}}),null)((0,m.Z)((function(e){return(0,p.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)({advancedContent:{backgroundColor:"#FBFAFA",maxHeight:0,transitionDuration:"0.3s",overflow:"hidden",padding:"0 15px",marginTop:15,justifyContent:"space-between","&.open":{maxHeight:400,paddingBottom:15}},stepProgressText:{fontSize:13,marginBottom:8},advancedOption:{marginTop:20},advancedAutotune:{marginTop:10}},g.S),g.OR),g.qg),g.DF),(0,g.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=e.distributedSetup,o=(0,s.useState)(!1),a=(0,r.Z)(o,2),p=a[0],m=a[1],h=(0,s.useState)(null),g=(0,r.Z)(h,2),Z=g[0],y=g[1],C=(0,s.useState)("64"),S=(0,r.Z)(C,2),w=S[0],k=S[1],P=(0,s.useState)("MB"),N=(0,r.Z)(P,2),F=N[0],T=N[1],E=(0,s.useState)(0),z=(0,r.Z)(E,2),R=z[0],_=z[1],D=(0,s.useState)(0),H=(0,r.Z)(D,2),q=H[0],J=H[1],K=(0,s.useState)(0),Y=(0,r.Z)(K,2),Q=Y[0],$=Y[1],X=(0,s.useState)(0),ee=(0,r.Z)(X,2),te=ee[0],ne=ee[1];return(0,s.useEffect)((function(){if(p){var e=new URL(window.location.toString()),t=e.port,n=(0,b.x2)(e.protocol),r=new l.w3cwebsocket("".concat(n,"://").concat(e.hostname,":").concat(t,"/ws/speedtest?&size=").concat(w).concat(F)),o=x()(),s=o.unix()/1e3,a=o.add(2*parseInt("10"),"s").unix()/1e3,c=(a-s)/1e3;_(a),J(s),$(c);var d=null;if(null!==r)return r.onopen=function(){console.log("WebSocket Client Connected"),r.send("ok"),d=setInterval((function(){r.send("ok")}),1e4)},r.onmessage=function(e){var t=JSON.parse(e.data.toString());y((function(e){var n=[];e&&(n=(0,i.Z)(e));var r=0!==t.servers?[t]:[];return[].concat((0,i.Z)(n),r)}));var n=x()().unix()/1e3;J(n)},r.onclose=function(){clearInterval(d),console.log("connection closed by server"),m(!1)},function(){r.close(1e3),clearInterval(d),console.log("closing websockets")}}else m(!1)}),[w,F,p]),(0,s.useEffect)((function(){var e=100-100*((R-q)/1e3)/Q;e>100&&(e=100),ne(e)}),[p,q,R,Q]),(0,B.jsxs)(s.Fragment,{children:[(0,B.jsx)(f.Z,{label:"Performance"}),(0,B.jsx)(M.Z,{children:n?(0,B.jsxs)(V.Z,{scopes:[v.Ft.ADMIN_HEAL],resource:v.C3,children:[(0,B.jsxs)(c.ZP,{item:!0,xs:12,className:t.boxy,children:[(0,B.jsxs)(c.ZP,{container:!0,children:[(0,B.jsxs)(c.ZP,{item:!0,md:6,sm:12,children:[(0,B.jsx)("div",{className:t.stepProgressText,children:p?(0,B.jsxs)(s.Fragment,{children:["Speedtest in progress...",(0,B.jsx)(d.Z,{size:15})]}):(0,B.jsx)(s.Fragment,{children:Z&&!p?(0,B.jsx)("b",{children:"Speed Test results:"}):(0,B.jsx)("b",{children:"Performance test"})})}),(0,B.jsx)("div",{children:(0,B.jsx)(L.Z,{value:te,ready:null!==Z&&!p,indeterminate:p,size:"small"})})]}),(0,B.jsx)(c.ZP,{item:!0,xs:4,children:(0,B.jsx)("div",{style:{marginLeft:10,width:300},children:(0,B.jsx)(O.Z,{id:"size",name:"size",label:"Object Size",onChange:function(e){k(e.target.value)},noLabelMinWidth:!0,value:w,disabled:p,overlayObject:(0,B.jsx)(A,{id:"size-unit",onUnitChange:T,unitSelected:F,unitsList:[{label:"KiB",value:"KiB"},{label:"MiB",value:"MiB"},{label:"GiB",value:"GiB"}],disabled:p})})})}),(0,B.jsx)(c.ZP,{item:!0,xs:2,textAlign:"right",children:(0,B.jsxs)(u.Z,{onClick:function(){y(null),m(!0)},color:"primary",type:"button",id:"start-speed-test",variant:null===Z||p?"outlined":"contained",className:"".concat(t.buttonBackground," ").concat(t.speedStart),disabled:""==="10".trim()||""===w.trim()||p,children:[!p&&(0,B.jsx)(s.Fragment,{children:null!==Z?"Retest":"Start"}),p?"Start":""]})})]}),(0,B.jsx)(c.ZP,{container:!0,className:t.multiModule,children:(0,B.jsx)(c.ZP,{item:!0,xs:12,children:(0,B.jsx)(s.Fragment,{children:(0,B.jsx)(c.ZP,{item:!0,xs:12,children:null!==Z&&(0,B.jsx)(s.Fragment,{children:(0,B.jsx)(I,{results:Z,start:p})})})})})})]}),!p&&!Z&&(0,B.jsxs)(s.Fragment,{children:[(0,B.jsx)("br",{}),(0,B.jsx)(U.Z,{title:"During the speed test all your production traffic will be temporarily suspended.",iconComponent:(0,B.jsx)(W.Z,{}),help:(0,B.jsx)(s.Fragment,{})})]})]}):(0,B.jsx)(G.Z,{iconComponent:(0,B.jsx)(j.QB,{}),entity:"Speedtest"})})]})})))},51774:function(e,t,n){"use strict";n.d(t,{V9:function(){return i},ci:function(){return r},HE:function(){return o},x2:function(){return s}});var i=1006,r=1008,o=1011,s=function(e){var t="ws";return"https:"===e&&(t="wss"),t}},4247:function(e,t,n){"use strict";n.d(t,{V:function(){return r}});var i=n(10594);function r(e){return(0,i.Z)("MuiDivider",e)}var o=(0,n(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=o},31680:function(e,t,n){"use strict";n.d(t,{Z:function(){return w}});var i=n(36222),r=n(1048),o=n(32793),s=n(50390),a=n(44977),l=n(50076),c=n(36128),d=n(8208),u=n(15573),p=n(57308),m=n(86875),h=n(40839),x=n(3299),f=n(4247),g=n(2198),b=n(23586),j=n(10594);function v(e){return(0,j.Z)("MuiMenuItem",e)}var Z=(0,n(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),y=n(62559),C=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],S=(0,d.ZP)(m.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,r=e.ownerState;return(0,o.Z)({},n.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!r.disableGutters&&{paddingLeft:16,paddingRight:16},r.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,i.Z)(t,"&.".concat(Z.selected),(0,i.Z)({backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(Z.focusVisible),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,i.Z)(t,"&.".concat(Z.selected,":hover"),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,i.Z)(t,"&.".concat(Z.focusVisible),{backgroundColor:n.palette.action.focus}),(0,i.Z)(t,"&.".concat(Z.disabled),{opacity:n.palette.action.disabledOpacity}),(0,i.Z)(t,"& + .".concat(f.Z.root),{marginTop:n.spacing(1),marginBottom:n.spacing(1)}),(0,i.Z)(t,"& + .".concat(f.Z.inset),{marginLeft:52}),(0,i.Z)(t,"& .".concat(b.Z.root),{marginTop:0,marginBottom:0}),(0,i.Z)(t,"& .".concat(b.Z.inset),{paddingLeft:36}),(0,i.Z)(t,"& .".concat(g.Z.root),{minWidth:36}),t),!r.dense&&(0,i.Z)({},n.breakpoints.up("sm"),{minHeight:"auto"}),r.dense&&(0,o.Z)({minHeight:32,paddingTop:4,paddingBottom:4},n.typography.body2,(0,i.Z)({},"& .".concat(g.Z.root," svg"),{fontSize:"1.25rem"})))})),w=s.forwardRef((function(e,t){var n=(0,u.Z)({props:e,name:"MuiMenuItem"}),i=n.autoFocus,c=void 0!==i&&i,d=n.component,m=void 0===d?"li":d,f=n.dense,g=void 0!==f&&f,b=n.divider,j=void 0!==b&&b,Z=n.disableGutters,w=void 0!==Z&&Z,k=n.focusVisibleClassName,P=n.role,N=void 0===P?"menuitem":P,F=n.tabIndex,T=(0,r.Z)(n,C),B=s.useContext(p.Z),E={dense:g||B.dense||!1,disableGutters:w},I=s.useRef(null);(0,h.Z)((function(){c&&I.current&&I.current.focus()}),[c]);var O,L=(0,o.Z)({},n,{dense:E.dense,divider:j,disableGutters:w}),z=function(e){var t=e.disabled,n=e.dense,i=e.divider,r=e.disableGutters,s=e.selected,a=e.classes,c={root:["root",n&&"dense",t&&"disabled",!r&&"gutters",i&&"divider",s&&"selected"]},d=(0,l.Z)(c,v,a);return(0,o.Z)({},a,d)}(n),R=(0,x.Z)(I,t);return n.disabled||(O=void 0!==F?F:-1),(0,y.jsx)(p.Z.Provider,{value:E,children:(0,y.jsx)(S,(0,o.Z)({ref:R,role:N,tabIndex:O,component:m,focusVisibleClassName:(0,a.Z)(z.focusVisible,k)},T,{ownerState:L,classes:z}))})}))},3930:function(e){var t=function(){if("object"===typeof self&&self)return self;if("object"===typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};e.exports=function(){if(this)return this;if("object"===typeof globalThis&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return t()}try{return __global__||t()}finally{delete Object.prototype.__global__}}()},69686:function(e,t,n){var i;if("object"===typeof globalThis)i=globalThis;else try{i=n(3930)}catch(a){}finally{if(i||"undefined"===typeof window||(i=window),!i)throw new Error("Could not determine global this")}var r=i.WebSocket||i.MozWebSocket,o=n(84994);function s(e,t){return t?new r(e,t):new r(e)}r&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(s,e,{get:function(){return r[e]}})})),e.exports={w3cwebsocket:r?s:null,version:o}},84994:function(e,t,n){e.exports=n(19794).version},19794:function(e){"use strict";e.exports={version:"1.0.34"}}}]); -//# sourceMappingURL=5673.d3eb036c.chunk.js.map \ No newline at end of file +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5673],{8235:function(e,t,n){"use strict";n(50390);var i=n(86509),r=n(4285),o=n(25594),s=n(62559);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})]})})}))},53224:function(e,t,n){"use strict";var i=n(18489),r=n(83738),o=(n(50390),n(70758)),s=n(62449),a=n(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,s.Z)((function(e){return{root:{padding:"7px",color:function(t){return function(t){var n=t.variant,i=t.color,r=e.palette.primary.main;return"primary"===i&&"contained"===n?r=e.palette.primary.contrastText:"primary"===i&&"outlined"===n?r=e.palette.primary.main:"secondary"===i&&(r=e.palette.secondary.main),r}(t)},borderColor:function(t){return"secondary"===t.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));t.Z=function(e){var t=c(e),n=e.onClick,s=e.text,d=void 0===s?"":s,u=e.disabled,p=void 0!==u&&u,m=e.tooltip,h=e.icon,x=void 0===h?null:h,f=(0,r.Z)(e,l);return(0,a.jsxs)(o.Z,(0,i.Z)((0,i.Z)({classes:t,tooltip:m||d,variant:"outlined",onClick:n,disabled:p,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},f),{},{children:[(0,a.jsx)("span",{children:d})," ",x]}))}},70758:function(e,t,n){"use strict";var i=n(18489),r=n(36222),o=n(83738),s=(n(50390),n(86509)),a=n(4285),l=n(95467),c=n(94187),d=n(44977),u=n(62559),p=["classes","children","variant","tooltip"];t.Z=(0,a.Z)((function(e){return(0,s.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var t=e.classes,n=e.children,s=e.variant,a=void 0===s?"outlined":s,m=e.tooltip,h=(0,o.Z)(e,p),x=(0,u.jsx)(l.Z,(0,i.Z)((0,i.Z)({},h),{},{className:(0,d.Z)(t.root,(0,r.Z)({},t.contained,"contained"===a)),children:n}));return m&&""!==m?(0,u.jsx)(c.Z,{title:m,children:(0,u.jsx)("span",{children:x})}):x}))},10660:function(e,t,n){"use strict";n(50390);var i=n(25594),r=n(56805),o=n(8235),s=n(62559);t.Z=function(e){var t=e.iconComponent,n=e.entity;return(0,s.jsx)(i.ZP,{container:!0,alignItems:"center",children:(0,s.jsx)(i.ZP,{item:!0,xs:12,children:(0,s.jsx)(o.Z,{title:"".concat(n," not available"),iconComponent:t,help:(0,s.jsxs)(r.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,s.jsx)("div",{children:"This feature is not available for a single-disk setup. "}),(0,s.jsxs)("div",{children:["Please deploy a server in"," ",(0,s.jsx)("a",{href:"https://docs.min.io/minio/baremetal/installation/deploy-minio-distributed.html?ref=con",target:"_blank",rel:"noreferrer",children:"Distributed Mode"})," ","to use this feature."]})]})})})})}},70014:function(e,t,n){"use strict";var i=n(35531),r=n(23430),o=n(18489),s=n(50390),a=n(25594),l=(n(2574),n(20704)),c=n(54880),d=n(21563),u=n(36297),p=n(36554),m=n(94187),h=n(56805),x=n(86509),f=n(4285),g=n(97538),b=n(72462),j=n(98280),v=n(53224),Z=n(33034),y=n.n(Z),C=n(53357),S=n(62559),w={json:d.AV,yaml:function(){return c.i.define(u.r)}},k=C.tk.theme({"&":{backgroundColor:"#FBFAFA"},".cm-content":{caretColor:"#05122B"},"&.cm-focused .cm-cursor":{borderLeftColor:"#05122B"},".cm-gutters":{backgroundColor:"#FBFAFA",color:"#000000",border:"none"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px",color:"#2781B0","& .\u037cc":{color:"#C83B51"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#dde1f1"},".cm-matchingBracket":{backgroundColor:"#05122B",color:"#ffffff"},".cm-selectionMatch":{backgroundColor:"#ebe7f1"},".cm-selectionLayer":{fontWeight:500}," .cm-selectionBackground":{backgroundColor:"#a180c7",color:"#ffffff"}},{dark:!1}),P=C.tk.theme({"&":{backgroundColor:"#282a36",color:"#ffb86c"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px","& .\u037cd, & .\u037cc":{color:"#8e6cef"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#44475a"},".cm-matchingBracket":{backgroundColor:"#842de5",color:"#ff79c6"},".cm-selectionLayer .cm-selectionBackground":{backgroundColor:"green"}},{dark:!0});t.Z=(0,f.Z)((function(e){return(0,x.Z)((0,o.Z)((0,o.Z)({},b.YI),{},{inputLabel:(0,o.Z)((0,o.Z)({},b.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.value,n=e.label,o=void 0===n?"":n,c=e.tooltip,d=void 0===c?"":c,u=e.mode,x=void 0===u?"json":u,f=e.classes,b=e.onBeforeChange,Z=e.readOnly,C=void 0!==Z&&Z,N=e.editorHeight,F=void 0===N?"250px":N,T=(0,s.useState)(!1),B=(0,r.Z)(T,2),E=B[0],I=B[1],O=[];return w[x]&&(O=[].concat((0,i.Z)(O),[w[x]()])),(0,S.jsxs)(s.Fragment,{children:[(0,S.jsxs)(p.Z,{className:f.inputLabel,children:[(0,S.jsx)("span",{children:o}),""!==d&&(0,S.jsx)("div",{className:f.tooltipContainer,children:(0,S.jsx)(m.Z,{title:d,placement:"top-start",children:(0,S.jsx)("div",{className:f.tooltip,children:(0,S.jsx)(g.Z,{})})})})]}),(0,S.jsx)(a.ZP,{item:!0,xs:12,children:(0,S.jsx)("br",{})}),(0,S.jsxs)(a.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea"},children:[(0,S.jsx)(a.ZP,{item:!0,xs:12,children:(0,S.jsx)(l.ZP,{value:t,theme:E?P:k,extensions:O,editable:!C,basicSetup:!0,height:F,onChange:function(e,t){b(null,null,e)}})}),(0,S.jsx)(a.ZP,{item:!0,xs:12,sx:{borderTop:"1px solid #eaeaea",background:E?"#282c34":"#f7f7f7"},children:(0,S.jsxs)(h.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,S.jsx)(v.Z,{tooltip:"Change theme",onClick:function(){I(!E)},text:"",icon:(0,S.jsx)(j.EO,{}),color:"primary",variant:"outlined"}),(0,S.jsx)(y(),{text:t,children:(0,S.jsx)(v.Z,{tooltip:"Copy to Clipboard",onClick:function(){},text:"",icon:(0,S.jsx)(j.TI,{}),color:"primary",variant:"outlined"})})]})})]})]})}))},66964:function(e,t,n){"use strict";var i=n(18489),r=n(50390),o=n(12066),s=n(25594),a=n(36554),l=n(94187),c=n(95467),d=n(86509),u=n(62449),p=n(4285),m=n(72462),h=n(97538),x=n(44977),f=n(62559),g=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({},m.gM))}));function b(e){var t=g();return(0,f.jsx)(o.Z,(0,i.Z)({InputProps:{classes:t}},e))}t.Z=(0,p.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,o=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,g=e.autoComplete,j=void 0===g?"off":g,v=e.disabled,Z=void 0!==v&&v,y=e.multiline,C=void 0!==y&&y,S=e.tooltip,w=void 0===S?"":S,k=e.index,P=void 0===k?0:k,N=e.error,F=void 0===N?"":N,T=e.required,B=void 0!==T&&T,E=e.placeholder,I=void 0===E?"":E,O=e.min,L=e.max,z=e.overlayIcon,R=void 0===z?null:z,A=e.overlayObject,M=void 0===A?null:A,V=e.extraInputProps,G=void 0===V?{}:V,U=e.overlayAction,W=e.noLabelMinWidth,_=void 0!==W&&W,D=e.pattern,H=void 0===D?"":D,q=e.autoFocus,J=void 0!==q&&q,K=e.classes,Y=e.className,Q=void 0===Y?"":Y,$=(0,i.Z)({"data-index":P},G);return"number"===m&&O&&($.min=O),"number"===m&&L&&($.max=L),""!==H&&($.pattern=H),(0,f.jsx)(r.Fragment,{children:(0,f.jsxs)(s.ZP,{container:!0,className:(0,x.Z)(""!==Q?Q:"",""!==F?K.errorInField:K.inputBoxContainer),children:[""!==t&&(0,f.jsxs)(a.Z,{htmlFor:d,className:_?K.noMinWidthLabel:K.inputLabel,children:[(0,f.jsxs)("span",{children:[t,B?"*":""]}),""!==w&&(0,f.jsx)("div",{className:K.tooltipContainer,children:(0,f.jsx)(l.Z,{title:w,placement:"top-start",children:(0,f.jsx)("div",{className:K.tooltip,children:(0,f.jsx)(h.Z,{})})})})]}),(0,f.jsxs)("div",{className:K.textBoxContainer,children:[(0,f.jsx)(b,{id:d,name:u,fullWidth:!0,value:o,autoFocus:J,disabled:Z,onChange:n,type:m,multiline:C,autoComplete:j,inputProps:$,error:""!==F,helperText:F,placeholder:I,className:K.inputRebase}),R&&(0,f.jsx)("div",{className:"".concat(K.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,f.jsx)(c.Z,{onClick:U?function(){U()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:R})}),M&&(0,f.jsx)("div",{className:"".concat(K.overlayAction," ").concat(""!==t?"withLabel":""),children:M})]})]})})}))},25534:function(e,t,n){"use strict";var i=n(18489),r=(n(50390),n(25594)),o=n(86509),s=n(4285),a=n(72462),l=n(62559);t.Z=(0,s.Z)((function(e){return(0,o.Z)((0,i.Z)({},a.Bw))}))((function(e){var t=e.classes,n=e.className,i=void 0===n?"":n,o=e.children;return(0,l.jsx)("div",{className:t.contentSpacer,children:(0,l.jsx)(r.ZP,{container:!0,children:(0,l.jsx)(r.ZP,{item:!0,xs:12,className:i,children:o})})})}))},35721:function(e,t,n){"use strict";n(50390);var i=n(34424),r=n(25594),o=n(86509),s=n(4285),a=n(35477),l=n(95467),c=n(26805),d=n(44078),u=n(5265),p=n(98280),m=n(62559),h={toggleList:u.kQ},x=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),h);t.Z=x((0,s.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,i=e.actions,o=e.sidebarOpen,s=e.operatorMode,u=e.managerObjects,h=e.toggleList,x=e.middleComponent;return(0,m.jsxs)(r.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,m.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,m.jsx)("div",{className:t.logo,children:s?(0,m.jsx)(c.Z,{}):(0,m.jsx)(d.Z,{})}),(0,m.jsx)(a.Z,{variant:"h4",className:t.labelStyle,children:n})]}),x&&(0,m.jsx)(r.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:x}),(0,m.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:t.rightMenu,children:[i&&i,u&&u.length>0&&(0,m.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){h()},size:"large",children:(0,m.jsx)(p.gx,{})})]})]})})))},54415:function(e,t,n){"use strict";var i=n(18489),r=n(36222),o=(n(50390),n(8208)),s=n(81378),a=n(55179),l=n(56805),c=n(62559),d=(0,o.ZP)(s.Z)((function(){var e;return e={height:10,borderRadius:5},(0,r.Z)(e,"&.".concat(a.Z.colorPrimary),{backgroundColor:"#f1f1f1"}),(0,r.Z)(e,"& .".concat(a.Z.bar),{borderRadius:5}),e})),u=(0,o.ZP)(d)((function(){return(0,r.Z)({height:6,borderRadius:3},"& .".concat(a.Z.bar),{borderRadius:3})}));function p(e){return(0,c.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center"},children:[(0,c.jsx)(l.Z,{sx:{width:"100%",mr:1},children:(0,c.jsx)(d,(0,i.Z)({variant:"determinate"},e))}),(0,c.jsx)(l.Z,{sx:{minWidth:35,fontSize:14},className:"value",children:"".concat(Math.round(e.value||0),"%")})]})}t.Z=function(e){var t=e.value,n=e.ready,r=e.indeterminate,o=e.withLabel,s=e.size,a=void 0===s?"regular":s,l={variant:r&&!n?"indeterminate":"determinate",value:n?100:t,color:n?"success":"primary"};return o?(0,c.jsx)(p,(0,i.Z)({},l)):"small"===a?(0,c.jsx)(u,(0,i.Z)({},l)):(0,c.jsx)(d,(0,i.Z)({},l))}},31376:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return _}});var i=n(35531),r=n(23430),o=n(18489),s=n(50390),a=n(34424),l=n(69686),c=n(25594),d=n(18201),u=n(66946),p=n(86509),m=n(4285),h=n(60606),x=n.n(h),f=n(35721),g=n(72462),b=n(51774),j=n(98280),v=n(49495),Z=n(38342),y=n.n(Z),C=n(28948),S=n(70758),w=n(70014),k=n(88970),P=n(86072),N=n(84930),F=n(84109),T=n(44977),B=n(62559),E=(0,m.Z)((function(e){return(0,p.Z)({objectGeneralTitle:{lineHeight:1,fontSize:50,color:"#696969"},generalUnit:{color:"#000",fontSize:12,fontWeight:"bold"},testUnitRes:{fontSize:60,color:"#081C42",fontWeight:"bold",textAlign:"right"},metricValContainer:{lineHeight:1,verticalAlign:"bottom"},objectsUnitRes:{fontSize:22,marginTop:6,color:"#696969",fontWeight:"bold",textAlign:"right"},objectsUnit:{color:"#696969",fontSize:16,fontWeight:"bold"},iconTd:{verticalAlign:"bottom"}})}))((function(e){var t=e.classes,n=e.title,i=e.icon,r=e.throughput,o=e.objects,s=(0,C.Am)(r),a="0",l="";return 0!==s.total&&(a=s.total.toString(),l="".concat(s.unit,"/s")),(0,B.jsxs)("table",{children:[(0,B.jsxs)("tr",{children:[(0,B.jsx)("td",{className:t.objectGeneralTitle,children:n}),(0,B.jsx)("td",{className:t.iconTd,children:i})]}),(0,B.jsxs)("tr",{children:[(0,B.jsx)("td",{className:(0,T.Z)(t.metricValContainer,t.testUnitRes),children:a}),(0,B.jsx)("td",{className:(0,T.Z)(t.metricValContainer,t.generalUnit),children:l})]}),(0,B.jsxs)("tr",{children:[(0,B.jsx)("td",{className:(0,T.Z)(t.metricValContainer,t.objectsUnitRes),children:o}),(0,B.jsx)("td",{className:(0,T.Z)(t.metricValContainer,t.objectsUnit),children:0!==o&&"Objs/S"})]})]})})),I=(0,m.Z)((function(e){return(0,p.Z)({actionButtons:{textAlign:"right"},descriptorLabel:{fontWeight:"bold",fontSize:14},resultsContainer:{backgroundColor:"#FBFAFA",borderTop:"#F1F1F1 1px solid",marginTop:30,padding:25},resultsIcon:{display:"flex",alignItems:"center","& svg":{fill:"#07193E"}},detailedItem:{display:"flex",alignItems:"center",justifyContent:"flex-start"},detailedVersion:{display:"flex",alignItems:"center",justifyContent:"flex-end"},serversTable:{width:"100%",marginTop:15,"& thead > tr > th":{textAlign:"left",padding:15,fontSize:14,fontWeight:"bold"},"& tbody > tr":{"&:last-of-type":{"& > td":{borderBottom:"#E2E2E2 1px solid"}},"& > td":{borderTop:"#E2E2E2 1px solid",padding:15,fontSize:14,"&:first-of-type":{borderLeft:"#E2E2E2 1px solid"},"&:last-of-type":{borderRight:"#E2E2E2 1px solid"}}}},serverIcon:{width:55},serverValue:{width:140},serverHost:{maxWidth:540,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},tableOverflow:{overflowX:"auto",paddingBottom:15},objectGeneral:{marginTop:15},initialResults:{fontSize:20,fontWeight:"bold",color:"#000",textAlign:"center"},download:{"& .min-icon":{width:35,height:35,color:"rgb(113,200,150)"}},upload:{"& .min-icon":{width:35,height:35,color:"rgb(66,127,172)"}}})}))((function(e){var t=e.classes,n=e.results,o=e.start,a=(0,s.useState)(!1),l=(0,r.Z)(a,2),d=l[0],u=l[1],p=n[n.length-1]||[],m=y()(p,"GETStats.servers",[])||[],h=y()(p,"PUTStats.servers",[])||[],x=y()(p,"GETStats.throughputPerSec",0),f=y()(p,"GETStats.objectsPerSec",0),g=y()(p,"PUTStats.throughputPerSec",0),b=y()(p,"PUTStats.objectsPerSec",0),v=[];m.forEach((function(e){var t=e.endpoint,n=h.find((function(e){return e.endpoint===t})),i={getUnit:"-",getValue:"N/A",host:e.endpoint,putUnit:"-",putValue:"N/A"};if(e.err&&""!==e.err)i.getError=e.err,i.getUnit="-",i.getValue="N/A";else{var r=(0,C.Am)(e.throughputPerSec.toString());i.getUnit=r.unit,i.getValue=r.total.toString()}if(n)if(n.err&&""!==n.err)i.putError=n.err,i.putUnit="-",i.putValue="N/A";else{var o=(0,C.Am)(n.throughputPerSec.toString());i.putUnit=o.unit,i.putValue=o.total.toString()}v.push(i)}));var Z=p?JSON.stringify(p,null,4):"",T=function(e){var t=e.filter((function(e){return"0"!==e.version&&0!==e.disks})).map((function(e){var t,n;return{get:(null===(t=e.GETStats)||void 0===t?void 0:t.throughputPerSec)||0,put:(null===(n=e.PUTStats)||void 0===n?void 0:n.throughputPerSec)||0}}));return[{get:0,put:0}].concat((0,i.Z)(t))}(n);return(0,B.jsxs)(s.Fragment,{children:[(0,B.jsxs)(c.ZP,{container:!0,className:t.objectGeneral,children:[(0,B.jsx)(c.ZP,{item:!0,xs:12,md:6,lg:6,children:(0,B.jsxs)(c.ZP,{container:!0,className:t.objectGeneral,children:[(0,B.jsx)(c.ZP,{item:!0,xs:12,md:6,lg:6,children:(0,B.jsx)(E,{icon:(0,B.jsx)("div",{className:t.download,children:(0,B.jsx)(j.Q_,{})}),title:"GET",throughput:x,objects:f})}),(0,B.jsx)(c.ZP,{item:!0,xs:12,md:6,lg:6,children:(0,B.jsx)(E,{icon:(0,B.jsx)("div",{className:t.upload,children:(0,B.jsx)(j.jh,{})}),title:"PUT",throughput:g,objects:b})})]})}),(0,B.jsx)(c.ZP,{item:!0,xs:12,md:6,lg:6,children:(0,B.jsx)(k.h,{width:"99%",children:(0,B.jsxs)(P.T,{data:T,children:[(0,B.jsxs)("defs",{children:[(0,B.jsxs)("linearGradient",{id:"colorPut",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,B.jsx)("stop",{offset:"0%",stopColor:"#2781B0",stopOpacity:.9}),(0,B.jsx)("stop",{offset:"95%",stopColor:"#fff",stopOpacity:0})]}),(0,B.jsxs)("linearGradient",{id:"colorGet",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,B.jsx)("stop",{offset:"0%",stopColor:"#4CCB92",stopOpacity:.9}),(0,B.jsx)("stop",{offset:"95%",stopColor:"#fff",stopOpacity:0})]})]}),(0,B.jsx)(N.q,{strokeDasharray:"0 0",strokeWidth:1,strokeOpacity:.5,stroke:"#F1F1F1",vertical:!1}),(0,B.jsx)(F.u,{type:"monotone",dataKey:"get",stroke:"#4CCB92",fill:"url(#colorGet)",fillOpacity:.3,strokeWidth:2,dot:!1}),(0,B.jsx)(F.u,{type:"monotone",dataKey:"put",stroke:"#2781B0",fill:"url(#colorPut)",fillOpacity:.3,strokeWidth:2,dot:!1})]})})})]}),(0,B.jsx)("br",{}),T.length>1&&(0,B.jsxs)(s.Fragment,{children:[(0,B.jsxs)(c.ZP,{container:!0,children:[(0,B.jsx)(c.ZP,{item:!0,xs:12,md:6,className:t.descriptorLabel,children:o?(0,B.jsx)(s.Fragment,{children:"Preliminar Results:"}):(0,B.jsx)(s.Fragment,{children:d?"JSON Results:":"Detailed Results:"})}),(0,B.jsx)(c.ZP,{item:!0,xs:12,md:6,className:t.actionButtons,children:!o&&(0,B.jsxs)(s.Fragment,{children:[(0,B.jsx)(S.Z,{"aria-label":"Download",onClick:function(){var e=new Date,t=document.createElement("a");t.setAttribute("href","data:text/plain;charset=utf-8,"+JSON.stringify(p)),t.setAttribute("download","speedtest_results-".concat(e.toISOString(),".log")),t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)},size:"large",children:(0,B.jsx)(j._8,{})}),"\xa0",(0,B.jsx)(S.Z,{"aria-label":"Download",onClick:function(){u(!d)},size:"large",children:(0,B.jsx)(j.iH,{})})]})})]}),(0,B.jsx)(c.ZP,{container:!0,className:t.resultsContainer,children:d?(0,B.jsx)(s.Fragment,{children:(0,B.jsx)(w.Z,{value:Z,readOnly:!0,onBeforeChange:function(){}})}):(0,B.jsxs)(s.Fragment,{children:[(0,B.jsx)(c.ZP,{item:!0,xs:12,sm:12,md:1,lg:1,className:t.resultsIcon,alignItems:"flex-end",children:(0,B.jsx)(j.UM,{width:45})}),(0,B.jsxs)(c.ZP,{item:!0,xs:12,sm:6,md:3,lg:2,className:t.detailedItem,children:["Nodes:\xa0",(0,B.jsx)("strong",{children:p.servers})]}),(0,B.jsxs)(c.ZP,{item:!0,xs:12,sm:6,md:3,lg:2,className:t.detailedItem,children:["Drives:\xa0",(0,B.jsx)("strong",{children:p.disks})]}),(0,B.jsxs)(c.ZP,{item:!0,xs:12,sm:6,md:3,lg:2,className:t.detailedItem,children:["Concurrent:\xa0",(0,B.jsx)("strong",{children:p.concurrent})]}),(0,B.jsxs)(c.ZP,{item:!0,xs:12,sm:12,md:12,lg:5,className:t.detailedVersion,children:[(0,B.jsx)("span",{className:t.versionIcon,children:(0,B.jsx)(j.Db,{})})," ","MinIO VERSION\xa0",(0,B.jsx)("strong",{children:p.version})]}),(0,B.jsx)(c.ZP,{item:!0,xs:12,className:t.tableOverflow,children:(0,B.jsxs)("table",{className:t.serversTable,cellSpacing:0,cellPadding:0,children:[(0,B.jsx)("thead",{children:(0,B.jsxs)("tr",{children:[(0,B.jsx)("th",{colSpan:2,children:"Servers"}),(0,B.jsx)("th",{children:"GET"}),(0,B.jsx)("th",{children:"PUT"})]})}),(0,B.jsx)("tbody",{children:v.map((function(e,n){return(0,B.jsxs)("tr",{children:[(0,B.jsx)("td",{className:t.serverIcon,children:(0,B.jsx)(j.id,{})}),(0,B.jsx)("td",{className:t.serverHost,children:e.host}),e.getError&&""!==e.getError?(0,B.jsx)("td",{children:e.getError}):(0,B.jsx)(s.Fragment,{children:(0,B.jsxs)("td",{className:t.serverValue,children:[(0,C.CE)(parseFloat(e.getValue)),"\xa0",e.getUnit,"/s."]})}),e.putError&&""!==e.putError?(0,B.jsx)("td",{children:e.putError}):(0,B.jsx)(s.Fragment,{children:(0,B.jsxs)("td",{className:t.serverValue,children:[(0,C.CE)(parseFloat(e.putValue)),"\xa0",e.putUnit,"/s."]})})]},"storage-".concat(n.toString()))}))})]})})]})})]})]})})),O=n(66964),L=n(54415),z=n(26936),R=n(31680),A=(0,m.Z)((function(e){return(0,p.Z)({buttonTrigger:{border:"#F0F2F2 1px solid",borderRadius:3,color:"#838383",backgroundColor:"#fff",fontSize:12}})}))((function(e){var t=e.classes,n=e.id,i=e.unitSelected,o=e.unitsList,a=e.disabled,l=void 0!==a&&a,c=e.onUnitChange,d=s.useState(null),u=(0,r.Z)(d,2),p=u[0],m=u[1],h=Boolean(p),x=function(e){m(null),""!==e&&c(e)};return(0,B.jsxs)(s.Fragment,{children:[(0,B.jsx)("button",{id:"".concat(n,"-button"),"aria-controls":"".concat(n,"-menu"),"aria-haspopup":"true","aria-expanded":h?"true":void 0,onClick:function(e){m(e.currentTarget)},className:t.buttonTrigger,disabled:l,children:i}),(0,B.jsx)(z.Z,{id:"".concat(n,"-menu"),"aria-labelledby":"".concat(n,"-button"),anchorEl:p,open:h,onClose:function(){x("")},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:o.map((function(e){return(0,B.jsx)(R.Z,{onClick:function(){return x(e.value)},children:e.label},"itemUnit-".concat(e.value,"-").concat(e.label))}))})]})})),M=n(25534),V=n(15607),G=n(10660),U=n(8235),W=n(47424),_=(0,a.$j)((function(e){return{distributedSetup:e.system.distributedSetup}}),null)((0,m.Z)((function(e){return(0,p.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)({advancedContent:{backgroundColor:"#FBFAFA",maxHeight:0,transitionDuration:"0.3s",overflow:"hidden",padding:"0 15px",marginTop:15,justifyContent:"space-between","&.open":{maxHeight:400,paddingBottom:15}},stepProgressText:{fontSize:13,marginBottom:8},advancedOption:{marginTop:20},advancedAutotune:{marginTop:10}},g.S),g.OR),g.qg),g.DF),(0,g.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=e.distributedSetup,o=(0,s.useState)(!1),a=(0,r.Z)(o,2),p=a[0],m=a[1],h=(0,s.useState)(null),g=(0,r.Z)(h,2),Z=g[0],y=g[1],C=(0,s.useState)("64"),S=(0,r.Z)(C,2),w=S[0],k=S[1],P=(0,s.useState)("MB"),N=(0,r.Z)(P,2),F=N[0],T=N[1],E=(0,s.useState)(0),z=(0,r.Z)(E,2),R=z[0],_=z[1],D=(0,s.useState)(0),H=(0,r.Z)(D,2),q=H[0],J=H[1],K=(0,s.useState)(0),Y=(0,r.Z)(K,2),Q=Y[0],$=Y[1],X=(0,s.useState)(0),ee=(0,r.Z)(X,2),te=ee[0],ne=ee[1];return(0,s.useEffect)((function(){if(p){var e=new URL(window.location.toString()),t=e.port,n=(0,b.x2)(e.protocol),r=new l.w3cwebsocket("".concat(n,"://").concat(e.hostname,":").concat(t,"/ws/speedtest?&size=").concat(w).concat(F)),o=x()(),s=o.unix()/1e3,a=o.add(2*parseInt("10"),"s").unix()/1e3,c=(a-s)/1e3;_(a),J(s),$(c);var d=null;if(null!==r)return r.onopen=function(){console.log("WebSocket Client Connected"),r.send("ok"),d=setInterval((function(){r.send("ok")}),1e4)},r.onmessage=function(e){var t=JSON.parse(e.data.toString());y((function(e){var n=[];e&&(n=(0,i.Z)(e));var r=0!==t.servers?[t]:[];return[].concat((0,i.Z)(n),r)}));var n=x()().unix()/1e3;J(n)},r.onclose=function(){clearInterval(d),console.log("connection closed by server"),m(!1)},function(){r.close(1e3),clearInterval(d),console.log("closing websockets")}}else m(!1)}),[w,F,p]),(0,s.useEffect)((function(){var e=100-100*((R-q)/1e3)/Q;e>100&&(e=100),ne(e)}),[p,q,R,Q]),(0,B.jsxs)(s.Fragment,{children:[(0,B.jsx)(f.Z,{label:"Performance"}),(0,B.jsx)(M.Z,{children:n?(0,B.jsxs)(V.Z,{scopes:[v.Ft.ADMIN_HEAL],resource:v.C3,children:[(0,B.jsxs)(c.ZP,{item:!0,xs:12,className:t.boxy,children:[(0,B.jsxs)(c.ZP,{container:!0,children:[(0,B.jsxs)(c.ZP,{item:!0,md:6,sm:12,children:[(0,B.jsx)("div",{className:t.stepProgressText,children:p?(0,B.jsxs)(s.Fragment,{children:["Speedtest in progress...",(0,B.jsx)(d.Z,{size:15})]}):(0,B.jsx)(s.Fragment,{children:Z&&!p?(0,B.jsx)("b",{children:"Speed Test results:"}):(0,B.jsx)("b",{children:"Performance test"})})}),(0,B.jsx)("div",{children:(0,B.jsx)(L.Z,{value:te,ready:null!==Z&&!p,indeterminate:p,size:"small"})})]}),(0,B.jsx)(c.ZP,{item:!0,xs:4,children:(0,B.jsx)("div",{style:{marginLeft:10,width:300},children:(0,B.jsx)(O.Z,{id:"size",name:"size",label:"Object Size",onChange:function(e){k(e.target.value)},noLabelMinWidth:!0,value:w,disabled:p,overlayObject:(0,B.jsx)(A,{id:"size-unit",onUnitChange:T,unitSelected:F,unitsList:[{label:"KiB",value:"KiB"},{label:"MiB",value:"MiB"},{label:"GiB",value:"GiB"}],disabled:p})})})}),(0,B.jsx)(c.ZP,{item:!0,xs:2,textAlign:"right",children:(0,B.jsxs)(u.Z,{onClick:function(){y(null),m(!0)},color:"primary",type:"button",id:"start-speed-test",variant:null===Z||p?"outlined":"contained",className:"".concat(t.buttonBackground," ").concat(t.speedStart),disabled:""==="10".trim()||""===w.trim()||p,children:[!p&&(0,B.jsx)(s.Fragment,{children:null!==Z?"Retest":"Start"}),p?"Start":""]})})]}),(0,B.jsx)(c.ZP,{container:!0,className:t.multiModule,children:(0,B.jsx)(c.ZP,{item:!0,xs:12,children:(0,B.jsx)(s.Fragment,{children:(0,B.jsx)(c.ZP,{item:!0,xs:12,children:null!==Z&&(0,B.jsx)(s.Fragment,{children:(0,B.jsx)(I,{results:Z,start:p})})})})})})]}),!p&&!Z&&(0,B.jsxs)(s.Fragment,{children:[(0,B.jsx)("br",{}),(0,B.jsx)(U.Z,{title:"During the speed test all your production traffic will be temporarily suspended.",iconComponent:(0,B.jsx)(W.Z,{}),help:(0,B.jsx)(s.Fragment,{})})]})]}):(0,B.jsx)(G.Z,{iconComponent:(0,B.jsx)(j.QB,{}),entity:"Speedtest"})})]})})))},51774:function(e,t,n){"use strict";n.d(t,{V9:function(){return i},ci:function(){return r},HE:function(){return o},x2:function(){return s}});var i=1006,r=1008,o=1011,s=function(e){var t="ws";return"https:"===e&&(t="wss"),t}},4247:function(e,t,n){"use strict";n.d(t,{V:function(){return r}});var i=n(10594);function r(e){return(0,i.Z)("MuiDivider",e)}var o=(0,n(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=o},31680:function(e,t,n){"use strict";n.d(t,{Z:function(){return w}});var i=n(36222),r=n(1048),o=n(32793),s=n(50390),a=n(44977),l=n(50076),c=n(36128),d=n(8208),u=n(15573),p=n(57308),m=n(86875),h=n(40839),x=n(3299),f=n(4247),g=n(2198),b=n(23586),j=n(10594);function v(e){return(0,j.Z)("MuiMenuItem",e)}var Z=(0,n(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),y=n(62559),C=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],S=(0,d.ZP)(m.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,r=e.ownerState;return(0,o.Z)({},n.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!r.disableGutters&&{paddingLeft:16,paddingRight:16},r.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,i.Z)(t,"&.".concat(Z.selected),(0,i.Z)({backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(Z.focusVisible),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,i.Z)(t,"&.".concat(Z.selected,":hover"),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,i.Z)(t,"&.".concat(Z.focusVisible),{backgroundColor:n.palette.action.focus}),(0,i.Z)(t,"&.".concat(Z.disabled),{opacity:n.palette.action.disabledOpacity}),(0,i.Z)(t,"& + .".concat(f.Z.root),{marginTop:n.spacing(1),marginBottom:n.spacing(1)}),(0,i.Z)(t,"& + .".concat(f.Z.inset),{marginLeft:52}),(0,i.Z)(t,"& .".concat(b.Z.root),{marginTop:0,marginBottom:0}),(0,i.Z)(t,"& .".concat(b.Z.inset),{paddingLeft:36}),(0,i.Z)(t,"& .".concat(g.Z.root),{minWidth:36}),t),!r.dense&&(0,i.Z)({},n.breakpoints.up("sm"),{minHeight:"auto"}),r.dense&&(0,o.Z)({minHeight:32,paddingTop:4,paddingBottom:4},n.typography.body2,(0,i.Z)({},"& .".concat(g.Z.root," svg"),{fontSize:"1.25rem"})))})),w=s.forwardRef((function(e,t){var n=(0,u.Z)({props:e,name:"MuiMenuItem"}),i=n.autoFocus,c=void 0!==i&&i,d=n.component,m=void 0===d?"li":d,f=n.dense,g=void 0!==f&&f,b=n.divider,j=void 0!==b&&b,Z=n.disableGutters,w=void 0!==Z&&Z,k=n.focusVisibleClassName,P=n.role,N=void 0===P?"menuitem":P,F=n.tabIndex,T=(0,r.Z)(n,C),B=s.useContext(p.Z),E={dense:g||B.dense||!1,disableGutters:w},I=s.useRef(null);(0,h.Z)((function(){c&&I.current&&I.current.focus()}),[c]);var O,L=(0,o.Z)({},n,{dense:E.dense,divider:j,disableGutters:w}),z=function(e){var t=e.disabled,n=e.dense,i=e.divider,r=e.disableGutters,s=e.selected,a=e.classes,c={root:["root",n&&"dense",t&&"disabled",!r&&"gutters",i&&"divider",s&&"selected"]},d=(0,l.Z)(c,v,a);return(0,o.Z)({},a,d)}(n),R=(0,x.Z)(I,t);return n.disabled||(O=void 0!==F?F:-1),(0,y.jsx)(p.Z.Provider,{value:E,children:(0,y.jsx)(S,(0,o.Z)({ref:R,role:N,tabIndex:O,component:m,focusVisibleClassName:(0,a.Z)(z.focusVisible,k)},T,{ownerState:L,classes:z}))})}))},3930:function(e){var t=function(){if("object"===typeof self&&self)return self;if("object"===typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};e.exports=function(){if(this)return this;if("object"===typeof globalThis&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return t()}try{return __global__||t()}finally{delete Object.prototype.__global__}}()},69686:function(e,t,n){var i;if("object"===typeof globalThis)i=globalThis;else try{i=n(3930)}catch(a){}finally{if(i||"undefined"===typeof window||(i=window),!i)throw new Error("Could not determine global this")}var r=i.WebSocket||i.MozWebSocket,o=n(84994);function s(e,t){return t?new r(e,t):new r(e)}r&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(s,e,{get:function(){return r[e]}})})),e.exports={w3cwebsocket:r?s:null,version:o}},84994:function(e,t,n){e.exports=n(19794).version},19794:function(e){"use strict";e.exports={version:"1.0.34"}}}]); +//# sourceMappingURL=5673.5777423e.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/5673.d3eb036c.chunk.js.map b/portal-ui/build/static/js/5673.5777423e.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/5673.d3eb036c.chunk.js.map rename to portal-ui/build/static/js/5673.5777423e.chunk.js.map index e2ca8401a..175bfc3f3 100644 --- a/portal-ui/build/static/js/5673.d3eb036c.chunk.js.map +++ b/portal-ui/build/static/js/5673.5777423e.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/5673.d3eb036c.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/DistributedOnly/DistributedOnly.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/ProgressBarWrapper/ProgressBarWrapper.tsx","screens/Console/Speedtest/SpeedTestUnit.tsx","screens/Console/Speedtest/STResults.tsx","screens/Console/Speedtest/utils.ts","screens/Console/Common/FormComponents/InputUnitMenu/InputUnitMenu.tsx","screens/Console/Speedtest/Speedtest.tsx","utils/wsUtils.ts","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js","../node_modules/es5-ext/global.js","../node_modules/websocket/lib/browser.js","../node_modules/websocket/lib/version.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\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, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\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 inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\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 const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n \n
\n
\n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\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 from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { styled } from \"@mui/material/styles\";\nimport LinearProgress, {\n linearProgressClasses,\n LinearProgressProps,\n} from \"@mui/material/LinearProgress\";\nimport Box from \"@mui/material/Box\";\n\ninterface IProgressBarWrapper {\n value: number;\n ready: boolean;\n indeterminate?: boolean;\n withLabel?: boolean;\n size?: string;\n}\n\nconst BorderLinearProgress = styled(LinearProgress)(() => ({\n height: 10,\n borderRadius: 5,\n [`&.${linearProgressClasses.colorPrimary}`]: {\n backgroundColor: \"#f1f1f1\",\n },\n [`& .${linearProgressClasses.bar}`]: {\n borderRadius: 5,\n },\n}));\nconst SmallBorderLinearProgress = styled(BorderLinearProgress)(() => ({\n height: 6,\n borderRadius: 3,\n [`& .${linearProgressClasses.bar}`]: {\n borderRadius: 3,\n },\n}));\n\nfunction LinearProgressWithLabel(props: LinearProgressProps) {\n return (\n \n \n \n \n \n {`${Math.round(props.value || 0)}%`}\n \n \n );\n}\n\nconst ProgressBarWrapper = ({\n value,\n ready,\n indeterminate,\n withLabel,\n size = \"regular\",\n}: IProgressBarWrapper) => {\n const propsComponent: LinearProgressProps = {\n variant: indeterminate && !ready ? \"indeterminate\" : \"determinate\",\n value: ready ? 100 : value,\n color: ready ? \"success\" : \"primary\",\n };\n if (withLabel) {\n return ;\n }\n if (size === \"small\") {\n return ;\n }\n\n return ;\n};\n\nexport default ProgressBarWrapper;\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 { calculateBytes } from \"../../../common/utils\";\nimport React from \"react\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n objectGeneralTitle: {\n lineHeight: 1,\n fontSize: 50,\n color: \"#696969\",\n },\n generalUnit: {\n color: \"#000\",\n fontSize: 12,\n fontWeight: \"bold\",\n },\n testUnitRes: {\n fontSize: 60,\n color: \"#081C42\",\n fontWeight: \"bold\",\n textAlign: \"right\",\n },\n metricValContainer: {\n lineHeight: 1,\n verticalAlign: \"bottom\",\n },\n objectsUnitRes: {\n fontSize: 22,\n marginTop: 6,\n color: \"#696969\",\n fontWeight: \"bold\",\n textAlign: \"right\",\n },\n objectsUnit: {\n color: \"#696969\",\n fontSize: 16,\n fontWeight: \"bold\",\n },\n iconTd: {\n verticalAlign: \"bottom\",\n },\n });\n\nconst SpeedTestUnit = ({\n classes,\n title,\n icon,\n throughput,\n objects,\n}: {\n classes: any;\n title: any;\n icon: any;\n throughput: string;\n objects: number;\n}) => {\n const avg = calculateBytes(throughput);\n\n let total = \"0\";\n let unit = \"\";\n\n if (avg.total !== 0) {\n total = avg.total.toString();\n unit = `${avg.unit}/s`;\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n {objects}\n \n \n \n
{title}{icon}
\n {total}\n \n {unit}\n
\n {objects !== 0 && \"Objs/S\"}\n
\n );\n};\nexport default withStyles(styles)(SpeedTestUnit);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid } from \"@mui/material\";\nimport { IndvServerMetric, SpeedTestResponse, STServer } from \"./types\";\nimport { calculateBytes, prettyNumber } from \"../../../common/utils\";\nimport {\n ComputerLineIcon,\n DownloadIcon,\n DownloadStatIcon,\n JSONIcon,\n StorageIcon,\n UploadStatIcon,\n VersionIcon,\n} from \"../../../icons\";\nimport BoxIconButton from \"../Common/BoxIconButton/BoxIconButton\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport { Area, AreaChart, CartesianGrid, ResponsiveContainer } from \"recharts\";\nimport { cleanMetrics } from \"./utils\";\nimport SpeedTestUnit from \"./SpeedTestUnit\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n actionButtons: {\n textAlign: \"right\",\n },\n descriptorLabel: {\n fontWeight: \"bold\",\n fontSize: 14,\n },\n resultsContainer: {\n backgroundColor: \"#FBFAFA\",\n borderTop: \"#F1F1F1 1px solid\",\n marginTop: 30,\n padding: 25,\n },\n resultsIcon: {\n display: \"flex\",\n alignItems: \"center\",\n \"& svg\": {\n fill: \"#07193E\",\n },\n },\n detailedItem: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n },\n detailedVersion: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n serversTable: {\n width: \"100%\",\n marginTop: 15,\n \"& thead > tr > th\": {\n textAlign: \"left\",\n padding: 15,\n fontSize: 14,\n fontWeight: \"bold\",\n },\n \"& tbody > tr\": {\n \"&:last-of-type\": {\n \"& > td\": {\n borderBottom: \"#E2E2E2 1px solid\",\n },\n },\n \"& > td\": {\n borderTop: \"#E2E2E2 1px solid\",\n padding: 15,\n fontSize: 14,\n \"&:first-of-type\": {\n borderLeft: \"#E2E2E2 1px solid\",\n },\n \"&:last-of-type\": {\n borderRight: \"#E2E2E2 1px solid\",\n },\n },\n },\n },\n serverIcon: {\n width: 55,\n },\n serverValue: {\n width: 140,\n },\n serverHost: {\n maxWidth: 540,\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n },\n tableOverflow: {\n overflowX: \"auto\",\n paddingBottom: 15,\n },\n objectGeneral: {\n marginTop: 15,\n },\n initialResults: {\n fontSize: 20,\n fontWeight: \"bold\",\n color: \"#000\",\n textAlign: \"center\",\n },\n download: {\n \"& .min-icon\": {\n width: 35,\n height: 35,\n color: \"rgb(113,200,150)\",\n },\n },\n upload: {\n \"& .min-icon\": {\n width: 35,\n height: 35,\n color: \"rgb(66,127,172)\",\n },\n },\n });\n\ninterface ISTResults {\n classes: any;\n results: SpeedTestResponse[];\n start: boolean;\n}\n\nconst STResults = ({ classes, results, start }: ISTResults) => {\n const [jsonView, setJsonView] = useState(false);\n\n const finalRes = results[results.length - 1] || [];\n\n const getServers: STServer[] = get(finalRes, \"GETStats.servers\", []) || [];\n const putServers: STServer[] = get(finalRes, \"PUTStats.servers\", []) || [];\n\n const getThroughput = get(finalRes, \"GETStats.throughputPerSec\", 0);\n const getObjects = get(finalRes, \"GETStats.objectsPerSec\", 0);\n\n const putThroughput = get(finalRes, \"PUTStats.throughputPerSec\", 0);\n const putObjects = get(finalRes, \"PUTStats.objectsPerSec\", 0);\n\n let statJoin: IndvServerMetric[] = [];\n\n getServers.forEach((item) => {\n const hostName = item.endpoint;\n const putMetric = putServers.find((item) => item.endpoint === hostName);\n\n let itemJoin: IndvServerMetric = {\n getUnit: \"-\",\n getValue: \"N/A\",\n host: item.endpoint,\n putUnit: \"-\",\n putValue: \"N/A\",\n };\n\n if (item.err && item.err !== \"\") {\n itemJoin.getError = item.err;\n itemJoin.getUnit = \"-\";\n itemJoin.getValue = \"N/A\";\n } else {\n const niceGet = calculateBytes(item.throughputPerSec.toString());\n\n itemJoin.getUnit = niceGet.unit;\n itemJoin.getValue = niceGet.total.toString();\n }\n\n if (putMetric) {\n if (putMetric.err && putMetric.err !== \"\") {\n itemJoin.putError = putMetric.err;\n itemJoin.putUnit = \"-\";\n itemJoin.putValue = \"N/A\";\n } else {\n const nicePut = calculateBytes(putMetric.throughputPerSec.toString());\n\n itemJoin.putUnit = nicePut.unit;\n itemJoin.putValue = nicePut.total.toString();\n }\n }\n\n statJoin.push(itemJoin);\n });\n\n const downloadResults = () => {\n const date = new Date();\n let element = document.createElement(\"a\");\n element.setAttribute(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + JSON.stringify(finalRes)\n );\n element.setAttribute(\n \"download\",\n `speedtest_results-${date.toISOString()}.log`\n );\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n\n document.body.removeChild(element);\n };\n\n const toggleJSONView = () => {\n setJsonView(!jsonView);\n };\n\n const finalResJSON = finalRes ? JSON.stringify(finalRes, null, 4) : \"\";\n const clnMetrics = cleanMetrics(results);\n\n return (\n \n \n \n \n \n \n \n \n }\n title={\"GET\"}\n throughput={getThroughput}\n objects={getObjects}\n />\n \n \n \n \n \n }\n title={\"PUT\"}\n throughput={putThroughput}\n objects={putObjects}\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 {clnMetrics.length > 1 && (\n \n \n \n {start ? (\n Preliminar Results:\n ) : (\n \n {jsonView ? \"JSON Results:\" : \"Detailed Results:\"}\n \n )}\n \n \n {!start && (\n \n \n \n \n  \n \n \n \n \n )}\n \n \n \n {jsonView ? (\n \n {}}\n />\n \n ) : (\n \n \n \n \n \n Nodes: {finalRes.servers}\n \n \n Drives: {finalRes.disks}\n \n \n Concurrent: {finalRes.concurrent}\n \n \n \n \n {\" \"}\n MinIO VERSION {finalRes.version}\n \n \n \n \n \n Servers\n GET\n PUT\n \n \n \n {statJoin.map((stats, index) => (\n \n \n \n \n {stats.host}\n {stats.getError && stats.getError !== \"\" ? (\n {stats.getError}\n ) : (\n \n \n {prettyNumber(parseFloat(stats.getValue))} \n {stats.getUnit}/s.\n \n \n )}\n {stats.putError && stats.putError !== \"\" ? (\n {stats.putError}\n ) : (\n \n \n {prettyNumber(parseFloat(stats.putValue))} \n {stats.putUnit}/s.\n \n \n )}\n \n ))}\n \n \n \n \n )}\n \n
\n )}\n \n );\n};\n\nexport default withStyles(styles)(STResults);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { SpeedTestResponse } from \"./types\";\n\nexport const cleanMetrics = (results: SpeedTestResponse[]) => {\n const cleanRes = results.filter(\n (item) => item.version !== \"0\" && item.disks !== 0\n );\n\n const states = cleanRes.map((itemRes) => {\n return {\n get: itemRes.GETStats?.throughputPerSec || 0,\n put: itemRes.PUTStats?.throughputPerSec || 0,\n };\n });\n\n return [{ get: 0, put: 0 }, ...states];\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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { selectorTypes } from \"../SelectWrapper/SelectWrapper\";\nimport { Menu, MenuItem } from \"@mui/material\";\n\ninterface IInputUnitBox {\n classes: any;\n id: string;\n unitSelected: string;\n unitsList: selectorTypes[];\n disabled?: boolean;\n onUnitChange: (newValue: string) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonTrigger: {\n border: \"#F0F2F2 1px solid\",\n borderRadius: 3,\n color: \"#838383\",\n backgroundColor: \"#fff\",\n fontSize: 12,\n },\n });\n\nconst InputUnitMenu = ({\n classes,\n id,\n unitSelected,\n unitsList,\n disabled = false,\n onUnitChange,\n}: IInputUnitBox) => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const open = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleClose = (newUnit: string) => {\n setAnchorEl(null);\n if (newUnit !== \"\") {\n onUnitChange(newUnit);\n }\n };\n\n return (\n \n \n {unitSelected}\n \n {\n handleClose(\"\");\n }}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"center\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"center\",\n }}\n >\n {unitsList.map((unit) => (\n handleClose(unit.value)}\n key={`itemUnit-${unit.value}-${unit.label}`}\n >\n {unit.label}\n \n ))}\n \n \n );\n};\n\nexport default withStyles(styles)(InputUnitMenu);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport { Button, CircularProgress, Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport moment from \"moment/moment\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport {\n actionsTray,\n advancedFilterToggleStyles,\n containerForHeader,\n formFieldStyles,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { wsProtocol } from \"../../../utils/wsUtils\";\nimport { SpeedTestResponse } from \"./types\";\nimport { AppState } from \"../../../store\";\nimport { SpeedtestIcon } from \"../../../icons\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport STResults from \"./STResults\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ProgressBarWrapper from \"../Common/ProgressBarWrapper/ProgressBarWrapper\";\nimport InputUnitMenu from \"../Common/FormComponents/InputUnitMenu/InputUnitMenu\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport SecureComponent from \"../../../common/SecureComponent/SecureComponent\";\nimport DistributedOnly from \"../Common/DistributedOnly/DistributedOnly\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport WarnIcon from \"../../../icons/WarnIcon\";\n\ninterface ISpeedtest {\n classes: any;\n distributedSetup: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n advancedContent: {\n backgroundColor: \"#FBFAFA\",\n maxHeight: 0,\n transitionDuration: \"0.3s\",\n overflow: \"hidden\",\n padding: \"0 15px\",\n marginTop: 15,\n justifyContent: \"space-between\",\n \"&.open\": {\n maxHeight: 400,\n paddingBottom: 15,\n },\n },\n\n stepProgressText: {\n fontSize: 13,\n marginBottom: 8,\n },\n advancedOption: {\n marginTop: 20,\n },\n advancedAutotune: {\n marginTop: 10,\n },\n ...advancedFilterToggleStyles,\n ...actionsTray,\n ...searchField,\n ...formFieldStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst Speedtest = ({ classes, distributedSetup }: ISpeedtest) => {\n const [start, setStart] = useState(false);\n\n const [currStatus, setCurrStatus] = useState(\n null\n );\n\n const [size, setSize] = useState(\"64\");\n const [sizeUnit, setSizeUnit] = useState(\"MB\");\n\n const [topDate, setTopDate] = useState(0);\n const [currentValue, setCurrentValue] = useState(0);\n const [totalSeconds, setTotalSeconds] = useState(0);\n const [speedometerValue, setSpeedometerValue] = useState(0);\n\n useEffect(() => {\n // begin watch if bucketName in bucketList and start pressed\n if (start) {\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 const c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}/ws/speedtest?&size=${size}${sizeUnit}`\n );\n\n const baseDate = moment();\n\n const currentTime = baseDate.unix() / 1000;\n\n const incrementDate =\n baseDate\n .add(parseInt(\"10\") * 2, \"s\" as moment.unitOfTime.DurationConstructor)\n .unix() / 1000;\n\n const totalSeconds = (incrementDate - currentTime) / 1000;\n\n setTopDate(incrementDate);\n setCurrentValue(currentTime);\n setTotalSeconds(totalSeconds);\n\n let interval: any | null = null;\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n c.send(\"ok\");\n interval = setInterval(() => {\n c.send(\"ok\");\n }, 10 * 1000);\n };\n c.onmessage = (message: IMessageEvent) => {\n const data: SpeedTestResponse = JSON.parse(message.data.toString());\n\n setCurrStatus((prevStatus) => {\n let prSt: SpeedTestResponse[] = [];\n if (prevStatus) {\n prSt = [...prevStatus];\n }\n\n const insertData = data.servers !== 0 ? [data] : [];\n return [...prSt, ...insertData];\n });\n\n const currTime = moment().unix() / 1000;\n setCurrentValue(currTime);\n };\n c.onclose = () => {\n clearInterval(interval);\n console.log(\"connection closed by server\");\n // reset start status\n setStart(false);\n };\n return () => {\n // close websocket on useEffect cleanup\n c.close(1000);\n clearInterval(interval);\n console.log(\"closing websockets\");\n };\n }\n } else {\n // reset start status\n setStart(false);\n }\n }, [size, sizeUnit, start]);\n\n useEffect(() => {\n const actualSeconds = (topDate - currentValue) / 1000;\n\n let percToDisplay = 100 - (actualSeconds * 100) / totalSeconds;\n\n if (percToDisplay > 100) {\n percToDisplay = 100;\n }\n\n setSpeedometerValue(percToDisplay);\n }, [start, currentValue, topDate, totalSeconds]);\n\n return (\n \n \n \n {!distributedSetup ? (\n }\n entity={\"Speedtest\"}\n />\n ) : (\n \n \n \n \n
\n {start ? (\n \n Speedtest in progress...\n \n \n ) : (\n \n {currStatus && !start ? (\n Speed Test results:\n ) : (\n Performance test\n )}\n \n )}\n
\n
\n \n
\n
\n \n
\n {\n setSize(e.target.value);\n }}\n noLabelMinWidth={true}\n value={size}\n disabled={start}\n overlayObject={\n \n }\n />\n
\n
\n \n {\n setCurrStatus(null);\n setStart(true);\n }}\n color=\"primary\"\n type=\"button\"\n id={\"start-speed-test\"}\n variant={\n currStatus !== null && !start ? \"contained\" : \"outlined\"\n }\n className={`${classes.buttonBackground} ${classes.speedStart}`}\n disabled={\"10\".trim() === \"\" || size.trim() === \"\" || start}\n >\n {!start && (\n \n {currStatus !== null ? \"Retest\" : \"Start\"}\n \n )}\n {start ? \"Start\" : \"\"}\n \n \n
\n \n \n \n \n {currStatus !== null && (\n \n \n \n )}\n \n \n \n \n
\n\n {!start && !currStatus && (\n \n
\n }\n help={}\n />\n \n )}\n \n )}\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n distributedSetup: state.system.distributedSetup,\n});\n\nconst connector = connect(mapState, null);\n\nexport default connector(withStyles(styles)(Speedtest));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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 { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;","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","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","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","borderWidth","borderStyle","opacity","contained","background","dark","light","children","rest","button","clsx","entity","flexFlow","md","colors","link","textDecoration","href","target","rel","langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","caretColor","borderLeftColor","borderRight","darkTheme","fieldBasic","inputLabel","value","label","mode","onBeforeChange","readOnly","editorHeight","useState","isDarkTheme","setIsDarkTheme","extensionList","tooltipContainer","placement","extensions","editable","basicSetup","onChange","v","vu","borderTop","justifyContent","inputStyles","inputFieldStyles","InputField","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","id","name","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputProps","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","fullWidth","helperText","inputRebase","disableFocusRipple","disableRipple","disableTouchRipple","pageContentStyles","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","actions","direction","sm","length","component","BorderLinearProgress","styled","LinearProgress","linearProgressClasses","SmallBorderLinearProgress","LinearProgressWithLabel","mr","minWidth","Math","round","ready","indeterminate","withLabel","propsComponent","objectGeneralTitle","lineHeight","generalUnit","testUnitRes","metricValContainer","verticalAlign","objectsUnitRes","objectsUnit","iconTd","throughput","objects","avg","calculateBytes","total","unit","toString","actionButtons","descriptorLabel","resultsContainer","resultsIcon","detailedItem","detailedVersion","serversTable","borderBottom","borderLeft","serverIcon","serverValue","serverHost","overflow","textOverflow","whiteSpace","tableOverflow","overflowX","objectGeneral","initialResults","download","upload","results","start","jsonView","setJsonView","finalRes","getServers","get","putServers","getThroughput","getObjects","putThroughput","putObjects","statJoin","forEach","hostName","endpoint","putMetric","find","itemJoin","getUnit","getValue","host","putUnit","putValue","err","getError","niceGet","throughputPerSec","putError","nicePut","push","finalResJSON","JSON","stringify","clnMetrics","states","filter","version","disks","map","itemRes","GETStats","put","PUTStats","cleanMetrics","Fragment","Grid","lg","ResponsiveContainer","AreaChart","data","x1","y1","x2","y2","offset","stopColor","stopOpacity","CartesianGrid","strokeDasharray","strokeWidth","strokeOpacity","stroke","vertical","Area","dataKey","fillOpacity","dot","BoxIconButton","date","Date","element","document","createElement","setAttribute","toISOString","style","body","appendChild","click","removeChild","CodeMirrorWrapper","servers","concurrent","versionIcon","cellSpacing","cellPadding","colSpan","stats","prettyNumber","parseFloat","buttonTrigger","unitSelected","unitsList","onUnitChange","React","anchorEl","setAnchorEl","open","Boolean","handleClose","newUnit","undefined","event","currentTarget","Menu","onClose","anchorOrigin","horizontal","transformOrigin","MenuItem","distributedSetup","advancedContent","transitionDuration","stepProgressText","advancedOption","advancedAutotune","advancedFilterToggleStyles","actionsTray","searchField","formFieldStyles","containerForHeader","spacing","setStart","currStatus","setCurrStatus","setSize","sizeUnit","setSizeUnit","topDate","setTopDate","currentValue","setCurrentValue","totalSeconds","setTotalSeconds","speedometerValue","setSpeedometerValue","useEffect","url","URL","window","location","port","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","baseDate","moment","currentTime","unix","incrementDate","add","parseInt","interval","onopen","console","log","send","setInterval","onmessage","message","parse","prevStatus","prSt","insertData","currTime","onclose","clearInterval","close","percToDisplay","PageHeader","PageLayout","SecureComponent","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","boxy","CircularProgress","ProgressBarWrapper","InputBoxWrapper","e","Button","buttonBackground","speedStart","trim","multiModule","HelpBox","WarnIcon","DistributedOnly","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","ownerState","dense","divider","disableGutters","gutters","_extends","typography","body1","boxSizing","backgroundClip","action","hover","menuItemClasses","alpha","selectedOpacity","focusOpacity","hoverOpacity","focus","disabledOpacity","listItemTextClasses","listItemIconClasses","breakpoints","up","body2","inProps","ref","useThemeProps","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","_jsx","focusVisible","naiveFallback","self","Error","module","exports","this","globalThis","Object","defineProperty","prototype","configurable","__global__","_globalThis","require","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","uri","protocols"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/5673.5777423e.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/DistributedOnly/DistributedOnly.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/ProgressBarWrapper/ProgressBarWrapper.tsx","screens/Console/Speedtest/SpeedTestUnit.tsx","screens/Console/Speedtest/STResults.tsx","screens/Console/Speedtest/utils.ts","screens/Console/Common/FormComponents/InputUnitMenu/InputUnitMenu.tsx","screens/Console/Speedtest/Speedtest.tsx","utils/wsUtils.ts","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js","../node_modules/es5-ext/global.js","../node_modules/websocket/lib/browser.js","../node_modules/websocket/lib/version.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\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, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\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 inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\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 const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n \n
\n
\n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\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 from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { styled } from \"@mui/material/styles\";\nimport LinearProgress, {\n linearProgressClasses,\n LinearProgressProps,\n} from \"@mui/material/LinearProgress\";\nimport Box from \"@mui/material/Box\";\n\ninterface IProgressBarWrapper {\n value: number;\n ready: boolean;\n indeterminate?: boolean;\n withLabel?: boolean;\n size?: string;\n}\n\nconst BorderLinearProgress = styled(LinearProgress)(() => ({\n height: 10,\n borderRadius: 5,\n [`&.${linearProgressClasses.colorPrimary}`]: {\n backgroundColor: \"#f1f1f1\",\n },\n [`& .${linearProgressClasses.bar}`]: {\n borderRadius: 5,\n },\n}));\nconst SmallBorderLinearProgress = styled(BorderLinearProgress)(() => ({\n height: 6,\n borderRadius: 3,\n [`& .${linearProgressClasses.bar}`]: {\n borderRadius: 3,\n },\n}));\n\nfunction LinearProgressWithLabel(props: LinearProgressProps) {\n return (\n \n \n \n \n \n {`${Math.round(props.value || 0)}%`}\n \n \n );\n}\n\nconst ProgressBarWrapper = ({\n value,\n ready,\n indeterminate,\n withLabel,\n size = \"regular\",\n}: IProgressBarWrapper) => {\n const propsComponent: LinearProgressProps = {\n variant: indeterminate && !ready ? \"indeterminate\" : \"determinate\",\n value: ready ? 100 : value,\n color: ready ? \"success\" : \"primary\",\n };\n if (withLabel) {\n return ;\n }\n if (size === \"small\") {\n return ;\n }\n\n return ;\n};\n\nexport default ProgressBarWrapper;\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 { calculateBytes } from \"../../../common/utils\";\nimport React from \"react\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n objectGeneralTitle: {\n lineHeight: 1,\n fontSize: 50,\n color: \"#696969\",\n },\n generalUnit: {\n color: \"#000\",\n fontSize: 12,\n fontWeight: \"bold\",\n },\n testUnitRes: {\n fontSize: 60,\n color: \"#081C42\",\n fontWeight: \"bold\",\n textAlign: \"right\",\n },\n metricValContainer: {\n lineHeight: 1,\n verticalAlign: \"bottom\",\n },\n objectsUnitRes: {\n fontSize: 22,\n marginTop: 6,\n color: \"#696969\",\n fontWeight: \"bold\",\n textAlign: \"right\",\n },\n objectsUnit: {\n color: \"#696969\",\n fontSize: 16,\n fontWeight: \"bold\",\n },\n iconTd: {\n verticalAlign: \"bottom\",\n },\n });\n\nconst SpeedTestUnit = ({\n classes,\n title,\n icon,\n throughput,\n objects,\n}: {\n classes: any;\n title: any;\n icon: any;\n throughput: string;\n objects: number;\n}) => {\n const avg = calculateBytes(throughput);\n\n let total = \"0\";\n let unit = \"\";\n\n if (avg.total !== 0) {\n total = avg.total.toString();\n unit = `${avg.unit}/s`;\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n {objects}\n \n \n \n
{title}{icon}
\n {total}\n \n {unit}\n
\n {objects !== 0 && \"Objs/S\"}\n
\n );\n};\nexport default withStyles(styles)(SpeedTestUnit);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid } from \"@mui/material\";\nimport { IndvServerMetric, SpeedTestResponse, STServer } from \"./types\";\nimport { calculateBytes, prettyNumber } from \"../../../common/utils\";\nimport {\n ComputerLineIcon,\n DownloadIcon,\n DownloadStatIcon,\n JSONIcon,\n StorageIcon,\n UploadStatIcon,\n VersionIcon,\n} from \"../../../icons\";\nimport BoxIconButton from \"../Common/BoxIconButton/BoxIconButton\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport { Area, AreaChart, CartesianGrid, ResponsiveContainer } from \"recharts\";\nimport { cleanMetrics } from \"./utils\";\nimport SpeedTestUnit from \"./SpeedTestUnit\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n actionButtons: {\n textAlign: \"right\",\n },\n descriptorLabel: {\n fontWeight: \"bold\",\n fontSize: 14,\n },\n resultsContainer: {\n backgroundColor: \"#FBFAFA\",\n borderTop: \"#F1F1F1 1px solid\",\n marginTop: 30,\n padding: 25,\n },\n resultsIcon: {\n display: \"flex\",\n alignItems: \"center\",\n \"& svg\": {\n fill: \"#07193E\",\n },\n },\n detailedItem: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n },\n detailedVersion: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n serversTable: {\n width: \"100%\",\n marginTop: 15,\n \"& thead > tr > th\": {\n textAlign: \"left\",\n padding: 15,\n fontSize: 14,\n fontWeight: \"bold\",\n },\n \"& tbody > tr\": {\n \"&:last-of-type\": {\n \"& > td\": {\n borderBottom: \"#E2E2E2 1px solid\",\n },\n },\n \"& > td\": {\n borderTop: \"#E2E2E2 1px solid\",\n padding: 15,\n fontSize: 14,\n \"&:first-of-type\": {\n borderLeft: \"#E2E2E2 1px solid\",\n },\n \"&:last-of-type\": {\n borderRight: \"#E2E2E2 1px solid\",\n },\n },\n },\n },\n serverIcon: {\n width: 55,\n },\n serverValue: {\n width: 140,\n },\n serverHost: {\n maxWidth: 540,\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n },\n tableOverflow: {\n overflowX: \"auto\",\n paddingBottom: 15,\n },\n objectGeneral: {\n marginTop: 15,\n },\n initialResults: {\n fontSize: 20,\n fontWeight: \"bold\",\n color: \"#000\",\n textAlign: \"center\",\n },\n download: {\n \"& .min-icon\": {\n width: 35,\n height: 35,\n color: \"rgb(113,200,150)\",\n },\n },\n upload: {\n \"& .min-icon\": {\n width: 35,\n height: 35,\n color: \"rgb(66,127,172)\",\n },\n },\n });\n\ninterface ISTResults {\n classes: any;\n results: SpeedTestResponse[];\n start: boolean;\n}\n\nconst STResults = ({ classes, results, start }: ISTResults) => {\n const [jsonView, setJsonView] = useState(false);\n\n const finalRes = results[results.length - 1] || [];\n\n const getServers: STServer[] = get(finalRes, \"GETStats.servers\", []) || [];\n const putServers: STServer[] = get(finalRes, \"PUTStats.servers\", []) || [];\n\n const getThroughput = get(finalRes, \"GETStats.throughputPerSec\", 0);\n const getObjects = get(finalRes, \"GETStats.objectsPerSec\", 0);\n\n const putThroughput = get(finalRes, \"PUTStats.throughputPerSec\", 0);\n const putObjects = get(finalRes, \"PUTStats.objectsPerSec\", 0);\n\n let statJoin: IndvServerMetric[] = [];\n\n getServers.forEach((item) => {\n const hostName = item.endpoint;\n const putMetric = putServers.find((item) => item.endpoint === hostName);\n\n let itemJoin: IndvServerMetric = {\n getUnit: \"-\",\n getValue: \"N/A\",\n host: item.endpoint,\n putUnit: \"-\",\n putValue: \"N/A\",\n };\n\n if (item.err && item.err !== \"\") {\n itemJoin.getError = item.err;\n itemJoin.getUnit = \"-\";\n itemJoin.getValue = \"N/A\";\n } else {\n const niceGet = calculateBytes(item.throughputPerSec.toString());\n\n itemJoin.getUnit = niceGet.unit;\n itemJoin.getValue = niceGet.total.toString();\n }\n\n if (putMetric) {\n if (putMetric.err && putMetric.err !== \"\") {\n itemJoin.putError = putMetric.err;\n itemJoin.putUnit = \"-\";\n itemJoin.putValue = \"N/A\";\n } else {\n const nicePut = calculateBytes(putMetric.throughputPerSec.toString());\n\n itemJoin.putUnit = nicePut.unit;\n itemJoin.putValue = nicePut.total.toString();\n }\n }\n\n statJoin.push(itemJoin);\n });\n\n const downloadResults = () => {\n const date = new Date();\n let element = document.createElement(\"a\");\n element.setAttribute(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + JSON.stringify(finalRes)\n );\n element.setAttribute(\n \"download\",\n `speedtest_results-${date.toISOString()}.log`\n );\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n\n document.body.removeChild(element);\n };\n\n const toggleJSONView = () => {\n setJsonView(!jsonView);\n };\n\n const finalResJSON = finalRes ? JSON.stringify(finalRes, null, 4) : \"\";\n const clnMetrics = cleanMetrics(results);\n\n return (\n \n \n \n \n \n \n \n \n }\n title={\"GET\"}\n throughput={getThroughput}\n objects={getObjects}\n />\n \n \n \n \n \n }\n title={\"PUT\"}\n throughput={putThroughput}\n objects={putObjects}\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 {clnMetrics.length > 1 && (\n \n \n \n {start ? (\n Preliminar Results:\n ) : (\n \n {jsonView ? \"JSON Results:\" : \"Detailed Results:\"}\n \n )}\n \n \n {!start && (\n \n \n \n \n  \n \n \n \n \n )}\n \n \n \n {jsonView ? (\n \n {}}\n />\n \n ) : (\n \n \n \n \n \n Nodes: {finalRes.servers}\n \n \n Drives: {finalRes.disks}\n \n \n Concurrent: {finalRes.concurrent}\n \n \n \n \n {\" \"}\n MinIO VERSION {finalRes.version}\n \n \n \n \n \n Servers\n GET\n PUT\n \n \n \n {statJoin.map((stats, index) => (\n \n \n \n \n {stats.host}\n {stats.getError && stats.getError !== \"\" ? (\n {stats.getError}\n ) : (\n \n \n {prettyNumber(parseFloat(stats.getValue))} \n {stats.getUnit}/s.\n \n \n )}\n {stats.putError && stats.putError !== \"\" ? (\n {stats.putError}\n ) : (\n \n \n {prettyNumber(parseFloat(stats.putValue))} \n {stats.putUnit}/s.\n \n \n )}\n \n ))}\n \n \n \n \n )}\n \n
\n )}\n \n );\n};\n\nexport default withStyles(styles)(STResults);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { SpeedTestResponse } from \"./types\";\n\nexport const cleanMetrics = (results: SpeedTestResponse[]) => {\n const cleanRes = results.filter(\n (item) => item.version !== \"0\" && item.disks !== 0\n );\n\n const states = cleanRes.map((itemRes) => {\n return {\n get: itemRes.GETStats?.throughputPerSec || 0,\n put: itemRes.PUTStats?.throughputPerSec || 0,\n };\n });\n\n return [{ get: 0, put: 0 }, ...states];\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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { selectorTypes } from \"../SelectWrapper/SelectWrapper\";\nimport { Menu, MenuItem } from \"@mui/material\";\n\ninterface IInputUnitBox {\n classes: any;\n id: string;\n unitSelected: string;\n unitsList: selectorTypes[];\n disabled?: boolean;\n onUnitChange: (newValue: string) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonTrigger: {\n border: \"#F0F2F2 1px solid\",\n borderRadius: 3,\n color: \"#838383\",\n backgroundColor: \"#fff\",\n fontSize: 12,\n },\n });\n\nconst InputUnitMenu = ({\n classes,\n id,\n unitSelected,\n unitsList,\n disabled = false,\n onUnitChange,\n}: IInputUnitBox) => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const open = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleClose = (newUnit: string) => {\n setAnchorEl(null);\n if (newUnit !== \"\") {\n onUnitChange(newUnit);\n }\n };\n\n return (\n \n \n {unitSelected}\n \n {\n handleClose(\"\");\n }}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"center\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"center\",\n }}\n >\n {unitsList.map((unit) => (\n handleClose(unit.value)}\n key={`itemUnit-${unit.value}-${unit.label}`}\n >\n {unit.label}\n \n ))}\n \n \n );\n};\n\nexport default withStyles(styles)(InputUnitMenu);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport { Button, CircularProgress, Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport moment from \"moment/moment\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport {\n actionsTray,\n advancedFilterToggleStyles,\n containerForHeader,\n formFieldStyles,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { wsProtocol } from \"../../../utils/wsUtils\";\nimport { SpeedTestResponse } from \"./types\";\nimport { AppState } from \"../../../store\";\nimport { SpeedtestIcon } from \"../../../icons\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport STResults from \"./STResults\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ProgressBarWrapper from \"../Common/ProgressBarWrapper/ProgressBarWrapper\";\nimport InputUnitMenu from \"../Common/FormComponents/InputUnitMenu/InputUnitMenu\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport SecureComponent from \"../../../common/SecureComponent/SecureComponent\";\nimport DistributedOnly from \"../Common/DistributedOnly/DistributedOnly\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport WarnIcon from \"../../../icons/WarnIcon\";\n\ninterface ISpeedtest {\n classes: any;\n distributedSetup: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n advancedContent: {\n backgroundColor: \"#FBFAFA\",\n maxHeight: 0,\n transitionDuration: \"0.3s\",\n overflow: \"hidden\",\n padding: \"0 15px\",\n marginTop: 15,\n justifyContent: \"space-between\",\n \"&.open\": {\n maxHeight: 400,\n paddingBottom: 15,\n },\n },\n\n stepProgressText: {\n fontSize: 13,\n marginBottom: 8,\n },\n advancedOption: {\n marginTop: 20,\n },\n advancedAutotune: {\n marginTop: 10,\n },\n ...advancedFilterToggleStyles,\n ...actionsTray,\n ...searchField,\n ...formFieldStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst Speedtest = ({ classes, distributedSetup }: ISpeedtest) => {\n const [start, setStart] = useState(false);\n\n const [currStatus, setCurrStatus] = useState(\n null\n );\n\n const [size, setSize] = useState(\"64\");\n const [sizeUnit, setSizeUnit] = useState(\"MB\");\n\n const [topDate, setTopDate] = useState(0);\n const [currentValue, setCurrentValue] = useState(0);\n const [totalSeconds, setTotalSeconds] = useState(0);\n const [speedometerValue, setSpeedometerValue] = useState(0);\n\n useEffect(() => {\n // begin watch if bucketName in bucketList and start pressed\n if (start) {\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 const c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}/ws/speedtest?&size=${size}${sizeUnit}`\n );\n\n const baseDate = moment();\n\n const currentTime = baseDate.unix() / 1000;\n\n const incrementDate =\n baseDate\n .add(parseInt(\"10\") * 2, \"s\" as moment.unitOfTime.DurationConstructor)\n .unix() / 1000;\n\n const totalSeconds = (incrementDate - currentTime) / 1000;\n\n setTopDate(incrementDate);\n setCurrentValue(currentTime);\n setTotalSeconds(totalSeconds);\n\n let interval: any | null = null;\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n c.send(\"ok\");\n interval = setInterval(() => {\n c.send(\"ok\");\n }, 10 * 1000);\n };\n c.onmessage = (message: IMessageEvent) => {\n const data: SpeedTestResponse = JSON.parse(message.data.toString());\n\n setCurrStatus((prevStatus) => {\n let prSt: SpeedTestResponse[] = [];\n if (prevStatus) {\n prSt = [...prevStatus];\n }\n\n const insertData = data.servers !== 0 ? [data] : [];\n return [...prSt, ...insertData];\n });\n\n const currTime = moment().unix() / 1000;\n setCurrentValue(currTime);\n };\n c.onclose = () => {\n clearInterval(interval);\n console.log(\"connection closed by server\");\n // reset start status\n setStart(false);\n };\n return () => {\n // close websocket on useEffect cleanup\n c.close(1000);\n clearInterval(interval);\n console.log(\"closing websockets\");\n };\n }\n } else {\n // reset start status\n setStart(false);\n }\n }, [size, sizeUnit, start]);\n\n useEffect(() => {\n const actualSeconds = (topDate - currentValue) / 1000;\n\n let percToDisplay = 100 - (actualSeconds * 100) / totalSeconds;\n\n if (percToDisplay > 100) {\n percToDisplay = 100;\n }\n\n setSpeedometerValue(percToDisplay);\n }, [start, currentValue, topDate, totalSeconds]);\n\n return (\n \n \n \n {!distributedSetup ? (\n }\n entity={\"Speedtest\"}\n />\n ) : (\n \n \n \n \n
\n {start ? (\n \n Speedtest in progress...\n \n \n ) : (\n \n {currStatus && !start ? (\n Speed Test results:\n ) : (\n Performance test\n )}\n \n )}\n
\n
\n \n
\n
\n \n
\n {\n setSize(e.target.value);\n }}\n noLabelMinWidth={true}\n value={size}\n disabled={start}\n overlayObject={\n \n }\n />\n
\n
\n \n {\n setCurrStatus(null);\n setStart(true);\n }}\n color=\"primary\"\n type=\"button\"\n id={\"start-speed-test\"}\n variant={\n currStatus !== null && !start ? \"contained\" : \"outlined\"\n }\n className={`${classes.buttonBackground} ${classes.speedStart}`}\n disabled={\"10\".trim() === \"\" || size.trim() === \"\" || start}\n >\n {!start && (\n \n {currStatus !== null ? \"Retest\" : \"Start\"}\n \n )}\n {start ? \"Start\" : \"\"}\n \n \n
\n \n \n \n \n {currStatus !== null && (\n \n \n \n )}\n \n \n \n \n
\n\n {!start && !currStatus && (\n \n
\n }\n help={}\n />\n \n )}\n \n )}\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n distributedSetup: state.system.distributedSetup,\n});\n\nconst connector = connect(mapState, null);\n\nexport default connector(withStyles(styles)(Speedtest));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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 { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;","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","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","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","borderWidth","borderStyle","opacity","contained","background","dark","light","children","rest","button","clsx","entity","flexFlow","md","colors","link","textDecoration","href","target","rel","langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","caretColor","borderLeftColor","borderRight","darkTheme","fieldBasic","inputLabel","value","label","mode","onBeforeChange","readOnly","editorHeight","useState","isDarkTheme","setIsDarkTheme","extensionList","tooltipContainer","placement","extensions","editable","basicSetup","onChange","v","vu","borderTop","justifyContent","inputStyles","inputFieldStyles","InputField","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","id","name","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputProps","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","fullWidth","helperText","inputRebase","disableFocusRipple","disableRipple","disableTouchRipple","pageContentStyles","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","actions","direction","sm","length","component","BorderLinearProgress","styled","LinearProgress","linearProgressClasses","SmallBorderLinearProgress","LinearProgressWithLabel","mr","minWidth","Math","round","ready","indeterminate","withLabel","propsComponent","objectGeneralTitle","lineHeight","generalUnit","testUnitRes","metricValContainer","verticalAlign","objectsUnitRes","objectsUnit","iconTd","throughput","objects","avg","calculateBytes","total","unit","toString","actionButtons","descriptorLabel","resultsContainer","resultsIcon","detailedItem","detailedVersion","serversTable","borderBottom","borderLeft","serverIcon","serverValue","serverHost","overflow","textOverflow","whiteSpace","tableOverflow","overflowX","objectGeneral","initialResults","download","upload","results","start","jsonView","setJsonView","finalRes","getServers","get","putServers","getThroughput","getObjects","putThroughput","putObjects","statJoin","forEach","hostName","endpoint","putMetric","find","itemJoin","getUnit","getValue","host","putUnit","putValue","err","getError","niceGet","throughputPerSec","putError","nicePut","push","finalResJSON","JSON","stringify","clnMetrics","states","filter","version","disks","map","itemRes","GETStats","put","PUTStats","cleanMetrics","Fragment","Grid","lg","ResponsiveContainer","AreaChart","data","x1","y1","x2","y2","offset","stopColor","stopOpacity","CartesianGrid","strokeDasharray","strokeWidth","strokeOpacity","stroke","vertical","Area","dataKey","fillOpacity","dot","BoxIconButton","date","Date","element","document","createElement","setAttribute","toISOString","style","body","appendChild","click","removeChild","CodeMirrorWrapper","servers","concurrent","versionIcon","cellSpacing","cellPadding","colSpan","stats","prettyNumber","parseFloat","buttonTrigger","unitSelected","unitsList","onUnitChange","React","anchorEl","setAnchorEl","open","Boolean","handleClose","newUnit","undefined","event","currentTarget","Menu","onClose","anchorOrigin","horizontal","transformOrigin","MenuItem","distributedSetup","advancedContent","transitionDuration","stepProgressText","advancedOption","advancedAutotune","advancedFilterToggleStyles","actionsTray","searchField","formFieldStyles","containerForHeader","spacing","setStart","currStatus","setCurrStatus","setSize","sizeUnit","setSizeUnit","topDate","setTopDate","currentValue","setCurrentValue","totalSeconds","setTotalSeconds","speedometerValue","setSpeedometerValue","useEffect","url","URL","window","location","port","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","baseDate","moment","currentTime","unix","incrementDate","add","parseInt","interval","onopen","console","log","send","setInterval","onmessage","message","parse","prevStatus","prSt","insertData","currTime","onclose","clearInterval","close","percToDisplay","PageHeader","PageLayout","SecureComponent","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","boxy","CircularProgress","ProgressBarWrapper","InputBoxWrapper","e","Button","buttonBackground","speedStart","trim","multiModule","HelpBox","WarnIcon","DistributedOnly","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","ownerState","dense","divider","disableGutters","gutters","_extends","typography","body1","boxSizing","backgroundClip","action","hover","menuItemClasses","alpha","selectedOpacity","focusOpacity","hoverOpacity","focus","disabledOpacity","listItemTextClasses","listItemIconClasses","breakpoints","up","body2","inProps","ref","useThemeProps","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","_jsx","focusVisible","naiveFallback","self","Error","module","exports","this","globalThis","Object","defineProperty","prototype","configurable","__global__","_globalThis","require","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","uri","protocols"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/5677.654039a6.chunk.js.map b/portal-ui/build/static/js/5677.654039a6.chunk.js.map deleted file mode 100644 index 5a93de983..000000000 --- a/portal-ui/build/static/js/5677.654039a6.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/5677.654039a6.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/ScreenTitle/ScreenTitle.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Policies/PolicyDetails.tsx","../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/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({ to, label, classes, className, executeOnClick }: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\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, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\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 inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\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 const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n \n
\n
\n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\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 { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
\n {icon ?
{icon}
: null}\n
\n

{title}

\n {subTitle}\n
\n
\n\n
{actions}
\n
\n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\n","import React 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\";\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 [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\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","// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\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 { Button, LinearProgress } from \"@mui/material\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport api from \"../../../common/api\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport { Link } from \"react-router-dom\";\nimport { setErrorSnackMessage, setSnackBarMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport history from \"../../../history\";\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 IAM_PAGES,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport SecureComponent, {\n hasPermission,\n} from \"../../../common/SecureComponent/SecureComponent\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport { AppState } from \"../../../store\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\nconst DeletePolicy = withSuspense(React.lazy(() => import(\"./DeletePolicy\")));\n\ninterface IPolicyDetailsProps {\n classes: any;\n match: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n setSnackBarMessage: typeof setSnackBarMessage;\n features: string[] | null;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\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 breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\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\nconst PolicyDetails = ({\n classes,\n match,\n setErrorSnackMessage,\n setSnackBarMessage,\n features,\n}: IPolicyDetailsProps) => {\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 const [policyName, setPolicyName] = useState(match.params[0]);\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 [IAM_SCOPES.ADMIN_LIST_GROUPS, IAM_SCOPES.ADMIN_GET_GROUP],\n true\n );\n\n const viewGroup = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_GROUP,\n ]);\n\n const displayUsers = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_LIST_GROUPS,\n ]);\n\n const viewUser = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_USER,\n ]);\n\n const displayPolicy = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_POLICY,\n ]);\n\n const editPolicy = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_CREATE_POLICY,\n ]);\n\n const saveRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n if (editPolicy) {\n api\n .invoke(\"POST\", \"/api/v1/policies\", {\n name: policyName,\n policy: policyDefinition,\n })\n .then((_) => {\n setAddLoading(false);\n setSnackBarMessage(\"Policy successfully updated\");\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n 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/${encodeURIComponent(policyName)}/users`\n )\n .then((result: any) => {\n setUserList(result);\n setLoadingUsers(false);\n })\n .catch((err: ErrorResponseHandler) => {\n 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/${encodeURIComponent(policyName)}/groups`\n )\n .then((result: any) => {\n setGroupList(result);\n setLoadingGroups(false);\n })\n .catch((err: ErrorResponseHandler) => {\n 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(\n \"GET\",\n `/api/v1/policy?name=${encodeURIComponent(policyName)}`\n )\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 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 setErrorSnackMessage,\n setUserList,\n setGroupList,\n setPolicyDefinition,\n setPolicy,\n setLoadingUsers,\n setLoadingGroups,\n displayUsers,\n displayGroups,\n displayPolicy,\n ldapIsEnabled,\n ]);\n\n const resetForm = () => {\n setPolicyName(\"\");\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 history.push(IAM_PAGES.POLICIES);\n };\n\n const userViewAction = (user: any) => {\n history.push(`${IAM_PAGES.USERS}/${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 history.push(`${IAM_PAGES.GROUPS}/${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 return (\n \n {deleteOpen && (\n \n )}\n \n \n Policy\n \n \n }\n />\n \n \n \n \n \n \n }\n title={policyName}\n subTitle={IAM Policy}\n actions={\n \n \n }\n onClick={deletePolicy}\n />\n \n\n }\n onClick={() => {\n setLoadingUsers(true);\n setLoadingGroups(true);\n setLoadingPolicy(true);\n }}\n />\n \n }\n />\n \n\n \n {{\n tabConfig: { label: \"Summary\", disabled: !displayPolicy },\n content: (\n \n
Policy Summary
\n \n ) => {\n saveRecord(e);\n }}\n >\n \n \n

Statements

\n
\n \n\n \n {policyStatements.map((stmt, i) => {\n return (\n \n \n \n Effect\n \n \n {stmt.Effect}\n \n \n \n \n Actions\n \n \n
    \n {stmt.Action &&\n stmt.Action.map((act, actIndex) => (\n
  • \n {act}\n
  • \n ))}\n
\n
\n \n Resources\n \n \n
    \n {stmt.Resource &&\n stmt.Resource.map((res, resIndex) => (\n
  • \n {res}\n
  • \n ))}\n
\n
\n
\n
\n );\n })}\n
\n
\n \n
\n
\n ),\n }}\n {{\n tabConfig: {\n label: \"Users\",\n disabled: !displayUsers || ldapIsEnabled,\n },\n content: (\n \n
Users
\n \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 }}\n {{\n tabConfig: {\n label: \"Groups\",\n disabled: !displayGroups || ldapIsEnabled,\n },\n content: (\n \n
Groups
\n \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 }}\n {{\n tabConfig: { label: \"Raw Policy\", disabled: !displayPolicy },\n content: (\n \n
Raw Policy
\n \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 Save\n \n \n \n {addLoading && (\n \n \n \n )}\n \n \n \n
\n ),\n }}\n
\n
\n \n );\n};\n\nconst mapState = (state: AppState) => ({\n features: state.console.session.features,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n setSnackBarMessage,\n});\n\nexport default withStyles(styles)(connector(PolicyDetails));\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","useStyles","makeStyles","root","props","variant","tgtColor","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","disabled","tooltip","restProps","size","sx","border","borderWidth","borderStyle","borderRadius","backgroundColor","opacity","contained","background","dark","children","rest","button","clsx","title","langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","caretColor","borderLeftColor","borderRight","fontWeight","darkTheme","fieldBasic","inputLabel","value","mode","onBeforeChange","readOnly","editorHeight","useState","isDarkTheme","setIsDarkTheme","extensionList","tooltipContainer","placement","item","xs","extensions","editable","basicSetup","height","onChange","v","vu","borderTop","paddingRight","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","actions","container","direction","sm","md","paddingTop","length","component","headerBarIcon","headerBarSubheader","screenTitle","borderBottom","flexFlow","titleColumn","leftItems","rightItems","subTitle","style","margin","tabStripStyle","tabsContainer","tabsHeaderContainer","marginBottom","tabContentContainer","tabPanel","flexDirection","selectedTab","routes","isRouteTabs","React","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","forEach","child","push","tabConfig","content","event","newValue","orientation","scrollButtons","tabList","map","index","tabHeader","disableRipple","disableTouchRipple","focusRipple","DeletePolicy","withSuspense","features","console","session","setErrorSnackMessage","setSnackBarMessage","buttonContainer","pageContainer","paperContainer","breadcrumLink","statement","labelCol","actionsTray","searchField","modalBasic","containerForHeader","spacing","match","policy","setPolicy","policyStatements","setPolicyStatements","userList","setUserList","groupList","setGroupList","addLoading","setAddLoading","params","policyName","setPolicyName","policyDefinition","setPolicyDefinition","loadingPolicy","setLoadingPolicy","filterUsers","setFilterUsers","loadingUsers","setLoadingUsers","filterGroups","setFilterGroups","loadingGroups","setLoadingGroups","deleteOpen","setDeleteOpen","ldapIsEnabled","includes","displayGroups","hasPermission","CONSOLE_UI_RESOURCE","IAM_SCOPES","viewGroup","displayUsers","viewUser","displayPolicy","editPolicy","saveRecord","preventDefault","api","name","then","_","catch","err","useEffect","encodeURIComponent","result","JSON","stringify","parse","pol","Statement","validSave","trim","userTableActions","type","user","history","IAM_PAGES","disableButtonFunction","filteredUsers","filter","elementItem","groupTableActions","group","filteredGroups","Fragment","selectedPolicy","closeDeleteModalAndRefresh","refresh","scopes","resource","errorProps","sectionTitle","noValidate","autoComplete","onSubmit","e","stmt","i","Effect","Action","act","actIndex","Resource","res","resIndex","placeholder","id","val","target","InputProps","disableUnderline","startAdornment","position","itemActions","columns","elementKey","isLoading","records","entityName","idField","formScrollable","editor","data","clearButton","Context","TabContext","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","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","hidden","role","getInputAdornmentUtilityClass","_span","InputAdornmentRoot","capitalize","disablePointerEvents","maxHeight","whiteSpace","action","active","inputAdornmentClasses","pointerEvents","disableTypography","variantProp","muiFormControl","useFormControl","hiddenLabel","slots","FormControlContext","as","_jsxs","Typography","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","F","s","n","done","_e","f","normalCompletion","didErr","call","step","next","_e2","_objectWithoutProperties","source","excluded","key","sourceKeys","Object","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/5808.240a9ffb.chunk.js b/portal-ui/build/static/js/5808.240a9ffb.chunk.js new file mode 100644 index 000000000..84c533d52 --- /dev/null +++ b/portal-ui/build/static/js/5808.240a9ffb.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5808],{5808:function(e,n,r){r.r(n);var t=r(18489),o=r(50390),i=r(24442),c=r(70971),s=r(34424),a=r(44149),u=r(36176),l=r(47979),d=r(62559),f=o.lazy((function(){return Promise.all([r.e(14),r.e(2066),r.e(5444),r.e(3152),r.e(3690),r.e(3356),r.e(2253),r.e(1760),r.e(2094)]).then(r.bind(r,62094))})),h=o.lazy((function(){return Promise.all([r.e(9998),r.e(7950)]).then(r.bind(r,57950))})),x=o.lazy((function(){return Promise.all([r.e(14),r.e(2066),r.e(5444),r.e(3152),r.e(3690),r.e(5399),r.e(606),r.e(9998),r.e(9769),r.e(7248),r.e(3360),r.e(2309),r.e(5482),r.e(7777),r.e(8967)]).then(r.bind(r,78967))})),p=o.lazy((function(){return Promise.all([r.e(14),r.e(2066),r.e(3152),r.e(9769),r.e(3045),r.e(8961)]).then(r.bind(r,88961))})),m=(0,s.$j)((function(e){return{open:e.system.sidebarOpen}}),{setMenuOpen:a.gG});n.default=(0,c.EN)(m((function(){return(0,d.jsx)(c.F0,{history:i.Z,children:(0,d.jsxs)(c.rs,{children:[(0,d.jsx)(c.AW,{path:"/add-bucket",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(p,{})})}}),(0,d.jsx)(c.AW,{path:"/buckets/:bucketName/admin/*",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(h,(0,t.Z)({},e))})}}),(0,d.jsx)(c.AW,{path:"/buckets/:bucketName/admin",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(h,(0,t.Z)({},e))})}}),(0,d.jsx)(c.AW,{path:"/buckets/:bucketName/browse/:subpaths+",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(x,(0,t.Z)({},e))})}}),(0,d.jsx)(c.AW,{path:"/buckets/:bucketName/browse",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(x,(0,t.Z)({},e))})}}),(0,d.jsx)(c.AW,{path:"/buckets/:bucketName",component:function(){return(0,d.jsx)(c.l_,{to:"/buckets"})}}),(0,d.jsx)(c.AW,{path:"/",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(f,(0,t.Z)({},e))})}}),(0,d.jsx)(c.AW,{children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(u.Z,{})})}})]})})})))},25534:function(e,n,r){var t=r(18489),o=(r(50390),r(25594)),i=r(86509),c=r(4285),s=r(72462),a=r(62559);n.Z=(0,c.Z)((function(e){return(0,i.Z)((0,t.Z)({},s.Bw))}))((function(e){var n=e.classes,r=e.className,t=void 0===r?"":r,i=e.children;return(0,a.jsx)("div",{className:n.contentSpacer,children:(0,a.jsx)(o.ZP,{container:!0,children:(0,a.jsx)(o.ZP,{item:!0,xs:12,className:t,children:i})})})}))},36176:function(e,n,r){r.d(n,{Z:function(){return u}});r(50390);var t=r(56805),o=r(35477),i=r(10567),c=r(62559);function s(){return(0,c.jsxs)(o.Z,{variant:"body2",color:"textSecondary",align:"center",children:["Copyright \xa9 ",(0,c.jsx)(i.Z,{color:"inherit",href:"https://min.io/?ref=con",children:"MinIO"})," ",(new Date).getFullYear(),"."]})}var a=r(25534),u=function(){return(0,c.jsx)(a.Z,{children:(0,c.jsxs)(t.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",textAlign:"center",margin:"auto",flexFlow:"column"},children:[(0,c.jsx)(t.Z,{sx:{fontSize:"110%",margin:"0 0 0.25rem",color:"#909090"},children:"404 Error"}),(0,c.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,c.jsx)(t.Z,{mt:5,children:(0,c.jsx)(s,{})})]})})}},10567:function(e,n,r){r.d(n,{Z:function(){return w}});var t=r(23430),o=r(36222),i=r(1048),c=r(32793),s=r(50390),a=r(44977),u=r(50076),l=r(29001),d=r(36128),f=r(91442),h=r(8208),x=r(15573),p=r(42081),m=r(3299),b=r(35477),j=r(10594);function Z(e){return(0,j.Z)("MuiLink",e)}var v=(0,r(43349).Z)("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),k=r(62559),y=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant"],S={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},g=(0,h.ZP)(b.Z,{name:"MuiLink",slot:"Root",overridesResolver:function(e,n){var r=e.ownerState;return[n.root,n["underline".concat((0,f.Z)(r.underline))],"button"===r.component&&n.button]}})((function(e){var n=e.theme,r=e.ownerState,t=(0,l.D)(n,"palette.".concat(function(e){return S[e]||e}(r.color)))||r.color;return(0,c.Z)({},"none"===r.underline&&{textDecoration:"none"},"hover"===r.underline&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},"always"===r.underline&&{textDecoration:"underline",textDecorationColor:"inherit"!==t?(0,d.Fq)(t,.4):void 0,"&:hover":{textDecorationColor:"inherit"}},"button"===r.component&&(0,o.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(v.focusVisible),{outline:"auto"}))})),w=s.forwardRef((function(e,n){var r=(0,x.Z)({props:e,name:"MuiLink"}),o=r.className,l=r.color,d=void 0===l?"primary":l,h=r.component,b=void 0===h?"a":h,j=r.onBlur,v=r.onFocus,S=r.TypographyClasses,w=r.underline,A=void 0===w?"always":w,N=r.variant,W=void 0===N?"inherit":N,C=(0,i.Z)(r,y),F=(0,p.Z)(),z=F.isFocusVisibleRef,D=F.onBlur,P=F.onFocus,M=F.ref,V=s.useState(!1),B=(0,t.Z)(V,2),R=B[0],L=B[1],O=(0,m.Z)(n,M),T=(0,c.Z)({},r,{color:d,component:b,focusVisible:R,underline:A,variant:W}),_=function(e){var n=e.classes,r=e.component,t=e.focusVisible,o=e.underline,i={root:["root","underline".concat((0,f.Z)(o)),"button"===r&&"button",t&&"focusVisible"]};return(0,u.Z)(i,Z,n)}(T);return(0,k.jsx)(g,(0,c.Z)({className:(0,a.Z)(_.root,o),classes:S,color:d,component:b,onBlur:function(e){D(e),!1===z.current&&L(!1),j&&j(e)},onFocus:function(e){P(e),!0===z.current&&L(!0),v&&v(e)},ref:O,ownerState:T,variant:W},C))}))}}]); +//# sourceMappingURL=5808.240a9ffb.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/5808.5e176e4d.chunk.js.map b/portal-ui/build/static/js/5808.240a9ffb.chunk.js.map similarity index 98% rename from portal-ui/build/static/js/5808.5e176e4d.chunk.js.map rename to portal-ui/build/static/js/5808.240a9ffb.chunk.js.map index 273807f74..430ec5550 100644 --- a/portal-ui/build/static/js/5808.5e176e4d.chunk.js.map +++ b/portal-ui/build/static/js/5808.240a9ffb.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/5808.5e176e4d.chunk.js","mappings":"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","sources":["screens/Console/Buckets/Buckets.tsx","screens/Console/Common/Layout/PageLayout.tsx","common/Copyright.tsx","screens/NotFoundPage.tsx","../node_modules/@mui/material/Link/linkClasses.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, { Suspense } from \"react\";\nimport history from \"../../../history\";\nimport { Redirect, Route, Router, Switch, withRouter } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport { AppState } from \"../../../store\";\nimport { setMenuOpen } from \"../../../actions\";\nimport NotFoundPage from \"../../NotFoundPage\";\nimport LoadingComponent from \"../../../common/LoadingComponent\";\n\nconst ListBuckets = React.lazy(() => import(\"./ListBuckets/ListBuckets\"));\nconst BucketDetails = React.lazy(() => import(\"./BucketDetails/BucketDetails\"));\nconst BrowserHandler = React.lazy(\n () => import(\"./BucketDetails/BrowserHandler\")\n);\nconst AddBucket = React.lazy(() => import(\"./ListBuckets/AddBucket\"));\n\nconst mapState = (state: AppState) => ({\n open: state.system.sidebarOpen,\n});\n\nconst connector = connect(mapState, { setMenuOpen });\n\nconst Buckets = () => {\n return (\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 }\n />\n (\n }>\n \n \n )}\n />\n (\n }>\n \n \n )}\n />\n \n \n );\n};\n\nexport default withRouter(connector(Buckets));\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLinkUtilityClass(slot) {\n return generateUtilityClass('MuiLink', slot);\n}\nconst linkClasses = generateUtilityClasses('MuiLink', ['root', 'underlineNone', 'underlineHover', 'underlineAlways', 'button', 'focusVisible']);\nexport default linkClasses;","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\"];\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 { alpha, getPath } from '@mui/system';\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 { jsx as _jsx } from \"react/jsx-runtime\";\nconst colorTransformations = {\n primary: 'primary.main',\n textPrimary: 'text.primary',\n secondary: 'secondary.main',\n textSecondary: 'text.secondary',\n error: 'error.main'\n};\n\nconst transformDeprecatedColors = color => {\n return colorTransformations[color] || color;\n};\n\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};\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 const color = getPath(theme, `palette.${transformDeprecatedColors(ownerState.color)}`) || ownerState.color;\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' && {\n textDecoration: 'underline',\n textDecorationColor: color !== 'inherit' ? alpha(color, 0.4) : undefined,\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\n const {\n className,\n color = 'primary',\n component = 'a',\n onBlur,\n onFocus,\n TypographyClasses,\n underline = 'always',\n variant = 'inherit'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\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\n const handleBlur = event => {\n handleBlurVisible(event);\n\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleFocus = event => {\n handleFocusVisible(event);\n\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const ownerState = _extends({}, props, {\n color,\n component,\n focusVisible,\n underline,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LinkRoot, _extends({\n className: clsx(classes.root, className),\n classes: TypographyClasses,\n color: color,\n component: component,\n onBlur: handleBlur,\n onFocus: handleFocus,\n ref: handlerRef,\n ownerState: ownerState,\n variant: variant\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the link.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .any,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * `classes` prop applied to the [`Typography`](/api/typography/) element.\n */\n TypographyClasses: PropTypes.object,\n\n /**\n * Controls when the link should have an underline.\n * @default 'always'\n */\n underline: PropTypes.oneOf(['always', 'hover', 'none']),\n\n /**\n * Applies the theme typography styles.\n * @default 'inherit'\n */\n variant: PropTypes\n /* @typescript-to-proptypes-ignore */\n .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":["ListBuckets","React","BucketDetails","BrowserHandler","AddBucket","connector","connect","state","open","system","sidebarOpen","setMenuOpen","withRouter","history","path","children","routerProps","Suspense","fallback","component","to","withStyles","theme","createStyles","pageContentStyles","classes","className","contentSpacer","container","item","xs","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","_excluded","colorTransformations","primary","textPrimary","secondary","textSecondary","error","LinkRoot","styled","name","overridesResolver","props","styles","ownerState","root","capitalize","underline","button","getPath","transformDeprecatedColors","_extends","textDecoration","textDecorationColor","alpha","undefined","position","WebkitTapHighlightColor","backgroundColor","outline","border","borderRadius","padding","cursor","userSelect","verticalAlign","MozAppearance","WebkitAppearance","borderStyle","linkClasses","inProps","ref","useThemeProps","onBlur","onFocus","TypographyClasses","other","_objectWithoutPropertiesLoose","useIsFocusVisible","isFocusVisibleRef","handleBlurVisible","handleFocusVisible","focusVisibleRef","focusVisible","setFocusVisible","handlerRef","useForkRef","slots","composeClasses","useUtilityClasses","_jsx","clsx","event","current"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/5808.240a9ffb.chunk.js","mappings":"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","sources":["screens/Console/Buckets/Buckets.tsx","screens/Console/Common/Layout/PageLayout.tsx","common/Copyright.tsx","screens/NotFoundPage.tsx","../node_modules/@mui/material/Link/linkClasses.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, { Suspense } from \"react\";\nimport history from \"../../../history\";\nimport { Redirect, Route, Router, Switch, withRouter } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport { AppState } from \"../../../store\";\nimport { setMenuOpen } from \"../../../actions\";\nimport NotFoundPage from \"../../NotFoundPage\";\nimport LoadingComponent from \"../../../common/LoadingComponent\";\n\nconst ListBuckets = React.lazy(() => import(\"./ListBuckets/ListBuckets\"));\nconst BucketDetails = React.lazy(() => import(\"./BucketDetails/BucketDetails\"));\nconst BrowserHandler = React.lazy(\n () => import(\"./BucketDetails/BrowserHandler\")\n);\nconst AddBucket = React.lazy(() => import(\"./ListBuckets/AddBucket\"));\n\nconst mapState = (state: AppState) => ({\n open: state.system.sidebarOpen,\n});\n\nconst connector = connect(mapState, { setMenuOpen });\n\nconst Buckets = () => {\n return (\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 }\n />\n (\n }>\n \n \n )}\n />\n (\n }>\n \n \n )}\n />\n \n \n );\n};\n\nexport default withRouter(connector(Buckets));\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLinkUtilityClass(slot) {\n return generateUtilityClass('MuiLink', slot);\n}\nconst linkClasses = generateUtilityClasses('MuiLink', ['root', 'underlineNone', 'underlineHover', 'underlineAlways', 'button', 'focusVisible']);\nexport default linkClasses;","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\"];\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 { alpha, getPath } from '@mui/system';\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 { jsx as _jsx } from \"react/jsx-runtime\";\nconst colorTransformations = {\n primary: 'primary.main',\n textPrimary: 'text.primary',\n secondary: 'secondary.main',\n textSecondary: 'text.secondary',\n error: 'error.main'\n};\n\nconst transformDeprecatedColors = color => {\n return colorTransformations[color] || color;\n};\n\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};\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 const color = getPath(theme, `palette.${transformDeprecatedColors(ownerState.color)}`) || ownerState.color;\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' && {\n textDecoration: 'underline',\n textDecorationColor: color !== 'inherit' ? alpha(color, 0.4) : undefined,\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\n const {\n className,\n color = 'primary',\n component = 'a',\n onBlur,\n onFocus,\n TypographyClasses,\n underline = 'always',\n variant = 'inherit'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\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\n const handleBlur = event => {\n handleBlurVisible(event);\n\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleFocus = event => {\n handleFocusVisible(event);\n\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const ownerState = _extends({}, props, {\n color,\n component,\n focusVisible,\n underline,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LinkRoot, _extends({\n className: clsx(classes.root, className),\n classes: TypographyClasses,\n color: color,\n component: component,\n onBlur: handleBlur,\n onFocus: handleFocus,\n ref: handlerRef,\n ownerState: ownerState,\n variant: variant\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the link.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .any,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * `classes` prop applied to the [`Typography`](/api/typography/) element.\n */\n TypographyClasses: PropTypes.object,\n\n /**\n * Controls when the link should have an underline.\n * @default 'always'\n */\n underline: PropTypes.oneOf(['always', 'hover', 'none']),\n\n /**\n * Applies the theme typography styles.\n * @default 'inherit'\n */\n variant: PropTypes\n /* @typescript-to-proptypes-ignore */\n .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":["ListBuckets","React","BucketDetails","BrowserHandler","AddBucket","connector","connect","state","open","system","sidebarOpen","setMenuOpen","withRouter","history","path","children","routerProps","Suspense","fallback","component","to","withStyles","theme","createStyles","pageContentStyles","classes","className","contentSpacer","container","item","xs","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","_excluded","colorTransformations","primary","textPrimary","secondary","textSecondary","error","LinkRoot","styled","name","overridesResolver","props","styles","ownerState","root","capitalize","underline","button","getPath","transformDeprecatedColors","_extends","textDecoration","textDecorationColor","alpha","undefined","position","WebkitTapHighlightColor","backgroundColor","outline","border","borderRadius","padding","cursor","userSelect","verticalAlign","MozAppearance","WebkitAppearance","borderStyle","linkClasses","inProps","ref","useThemeProps","onBlur","onFocus","TypographyClasses","other","_objectWithoutPropertiesLoose","useIsFocusVisible","isFocusVisibleRef","handleBlurVisible","handleFocusVisible","focusVisibleRef","focusVisible","setFocusVisible","handlerRef","useForkRef","slots","composeClasses","useUtilityClasses","_jsx","clsx","event","current"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/5808.5e176e4d.chunk.js b/portal-ui/build/static/js/5808.5e176e4d.chunk.js deleted file mode 100644 index 62a5e669b..000000000 --- a/portal-ui/build/static/js/5808.5e176e4d.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5808],{5808:function(e,n,r){r.r(n);var t=r(18489),o=r(50390),i=r(24442),c=r(70971),s=r(34424),a=r(44149),u=r(36176),l=r(47979),d=r(62559),f=o.lazy((function(){return Promise.all([r.e(14),r.e(2066),r.e(5444),r.e(892),r.e(3690),r.e(3356),r.e(2253),r.e(1760),r.e(2094)]).then(r.bind(r,62094))})),h=o.lazy((function(){return Promise.all([r.e(9998),r.e(7950)]).then(r.bind(r,57950))})),x=o.lazy((function(){return Promise.all([r.e(14),r.e(2066),r.e(5444),r.e(892),r.e(3690),r.e(5399),r.e(606),r.e(9998),r.e(9769),r.e(7248),r.e(3360),r.e(2309),r.e(6851),r.e(6427),r.e(7777),r.e(7454),r.e(671)]).then(r.bind(r,70671))})),p=o.lazy((function(){return Promise.all([r.e(14),r.e(2066),r.e(892),r.e(9769),r.e(3045),r.e(8961)]).then(r.bind(r,88961))})),m=(0,s.$j)((function(e){return{open:e.system.sidebarOpen}}),{setMenuOpen:a.gG});n.default=(0,c.EN)(m((function(){return(0,d.jsx)(c.F0,{history:i.Z,children:(0,d.jsxs)(c.rs,{children:[(0,d.jsx)(c.AW,{path:"/add-bucket",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(p,{})})}}),(0,d.jsx)(c.AW,{path:"/buckets/:bucketName/admin/*",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(h,(0,t.Z)({},e))})}}),(0,d.jsx)(c.AW,{path:"/buckets/:bucketName/admin",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(h,(0,t.Z)({},e))})}}),(0,d.jsx)(c.AW,{path:"/buckets/:bucketName/browse/:subpaths+",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(x,(0,t.Z)({},e))})}}),(0,d.jsx)(c.AW,{path:"/buckets/:bucketName/browse",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(x,(0,t.Z)({},e))})}}),(0,d.jsx)(c.AW,{path:"/buckets/:bucketName",component:function(){return(0,d.jsx)(c.l_,{to:"/buckets"})}}),(0,d.jsx)(c.AW,{path:"/",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(f,(0,t.Z)({},e))})}}),(0,d.jsx)(c.AW,{children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(u.Z,{})})}})]})})})))},25534:function(e,n,r){var t=r(18489),o=(r(50390),r(25594)),i=r(86509),c=r(4285),s=r(72462),a=r(62559);n.Z=(0,c.Z)((function(e){return(0,i.Z)((0,t.Z)({},s.Bw))}))((function(e){var n=e.classes,r=e.className,t=void 0===r?"":r,i=e.children;return(0,a.jsx)("div",{className:n.contentSpacer,children:(0,a.jsx)(o.ZP,{container:!0,children:(0,a.jsx)(o.ZP,{item:!0,xs:12,className:t,children:i})})})}))},36176:function(e,n,r){r.d(n,{Z:function(){return u}});r(50390);var t=r(56805),o=r(35477),i=r(10567),c=r(62559);function s(){return(0,c.jsxs)(o.Z,{variant:"body2",color:"textSecondary",align:"center",children:["Copyright \xa9 ",(0,c.jsx)(i.Z,{color:"inherit",href:"https://min.io/?ref=con",children:"MinIO"})," ",(new Date).getFullYear(),"."]})}var a=r(25534),u=function(){return(0,c.jsx)(a.Z,{children:(0,c.jsxs)(t.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",textAlign:"center",margin:"auto",flexFlow:"column"},children:[(0,c.jsx)(t.Z,{sx:{fontSize:"110%",margin:"0 0 0.25rem",color:"#909090"},children:"404 Error"}),(0,c.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,c.jsx)(t.Z,{mt:5,children:(0,c.jsx)(s,{})})]})})}},10567:function(e,n,r){r.d(n,{Z:function(){return w}});var t=r(23430),o=r(36222),i=r(1048),c=r(32793),s=r(50390),a=r(44977),u=r(50076),l=r(29001),d=r(36128),f=r(91442),h=r(8208),x=r(15573),p=r(42081),m=r(3299),b=r(35477),j=r(10594);function Z(e){return(0,j.Z)("MuiLink",e)}var v=(0,r(43349).Z)("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),k=r(62559),y=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant"],S={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},g=(0,h.ZP)(b.Z,{name:"MuiLink",slot:"Root",overridesResolver:function(e,n){var r=e.ownerState;return[n.root,n["underline".concat((0,f.Z)(r.underline))],"button"===r.component&&n.button]}})((function(e){var n=e.theme,r=e.ownerState,t=(0,l.D)(n,"palette.".concat(function(e){return S[e]||e}(r.color)))||r.color;return(0,c.Z)({},"none"===r.underline&&{textDecoration:"none"},"hover"===r.underline&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},"always"===r.underline&&{textDecoration:"underline",textDecorationColor:"inherit"!==t?(0,d.Fq)(t,.4):void 0,"&:hover":{textDecorationColor:"inherit"}},"button"===r.component&&(0,o.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(v.focusVisible),{outline:"auto"}))})),w=s.forwardRef((function(e,n){var r=(0,x.Z)({props:e,name:"MuiLink"}),o=r.className,l=r.color,d=void 0===l?"primary":l,h=r.component,b=void 0===h?"a":h,j=r.onBlur,v=r.onFocus,S=r.TypographyClasses,w=r.underline,A=void 0===w?"always":w,N=r.variant,W=void 0===N?"inherit":N,C=(0,i.Z)(r,y),F=(0,p.Z)(),z=F.isFocusVisibleRef,D=F.onBlur,P=F.onFocus,M=F.ref,V=s.useState(!1),B=(0,t.Z)(V,2),R=B[0],L=B[1],O=(0,m.Z)(n,M),T=(0,c.Z)({},r,{color:d,component:b,focusVisible:R,underline:A,variant:W}),_=function(e){var n=e.classes,r=e.component,t=e.focusVisible,o=e.underline,i={root:["root","underline".concat((0,f.Z)(o)),"button"===r&&"button",t&&"focusVisible"]};return(0,u.Z)(i,Z,n)}(T);return(0,k.jsx)(g,(0,c.Z)({className:(0,a.Z)(_.root,o),classes:S,color:d,component:b,onBlur:function(e){D(e),!1===z.current&&L(!1),j&&j(e)},onFocus:function(e){P(e),!0===z.current&&L(!0),v&&v(e)},ref:O,ownerState:T,variant:W},C))}))}}]); -//# sourceMappingURL=5808.5e176e4d.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/5947.88f9751e.chunk.js b/portal-ui/build/static/js/5947.59012b92.chunk.js similarity index 96% rename from portal-ui/build/static/js/5947.88f9751e.chunk.js rename to portal-ui/build/static/js/5947.59012b92.chunk.js index 6f0efbe89..636a2ea27 100644 --- a/portal-ui/build/static/js/5947.88f9751e.chunk.js +++ b/portal-ui/build/static/js/5947.59012b92.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5947],{66964:function(e,n,t){var a=t(18489),i=t(50390),s=t(12066),o=t(25594),l=t(14602),c=t(94187),r=t(95467),d=t(86509),u=t(62449),m=t(4285),p=t(72462),h=t(97538),v=t(44977),x=t(62559),Z=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)({},p.gM))}));function f(e){var n=Z();return(0,x.jsx)(s.Z,(0,a.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,a.Z)((0,a.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,t=e.onChange,s=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,Z=e.autoComplete,j=void 0===Z?"off":Z,b=e.disabled,C=void 0!==b&&b,g=e.multiline,y=void 0!==g&&g,N=e.tooltip,P=void 0===N?"":N,k=e.index,S=void 0===k?0:k,F=e.error,I=void 0===F?"":F,L=e.required,T=void 0!==L&&L,w=e.placeholder,M=void 0===w?"":w,B=e.min,E=e.max,V=e.overlayIcon,A=void 0===V?null:V,R=e.overlayObject,O=void 0===R?null:R,W=e.extraInputProps,D=void 0===W?{}:W,K=e.overlayAction,z=e.noLabelMinWidth,H=void 0!==z&&z,q=e.pattern,G=void 0===q?"":q,Y=e.autoFocus,$=void 0!==Y&&Y,_=e.classes,Q=e.className,U=void 0===Q?"":Q,J=(0,a.Z)({"data-index":S},D);return"number"===p&&B&&(J.min=B),"number"===p&&E&&(J.max=E),""!==G&&(J.pattern=G),(0,x.jsx)(i.Fragment,{children:(0,x.jsxs)(o.ZP,{container:!0,className:(0,v.Z)(""!==U?U:"",""!==I?_.errorInField:_.inputBoxContainer),children:[""!==n&&(0,x.jsxs)(l.Z,{htmlFor:d,className:H?_.noMinWidthLabel:_.inputLabel,children:[(0,x.jsxs)("span",{children:[n,T?"*":""]}),""!==P&&(0,x.jsx)("div",{className:_.tooltipContainer,children:(0,x.jsx)(c.Z,{title:P,placement:"top-start",children:(0,x.jsx)("div",{className:_.tooltip,children:(0,x.jsx)(h.Z,{})})})})]}),(0,x.jsxs)("div",{className:_.textBoxContainer,children:[(0,x.jsx)(f,{id:d,name:u,fullWidth:!0,value:s,autoFocus:$,disabled:C,onChange:t,type:p,multiline:y,autoComplete:j,inputProps:J,error:""!==I,helperText:I,placeholder:M,className:_.inputRebase}),A&&(0,x.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,x.jsx)(r.Z,{onClick:K?function(){K()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:A})}),O&&(0,x.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==n?"withLabel":""),children:O})]})]})})}))},21639:function(e,n,t){var a=t(23430),i=t(50390),s=t(30324);n.Z=function(e,n){var t=(0,i.useState)(!1),o=(0,a.Z)(t,2),l=o[0],c=o[1];return[l,function(t,a,i){c(!0),s.Z.invoke(t,a,i).then((function(n){c(!1),e(n)})).catch((function(e){c(!1),n(e)}))}]}},60656:function(e,n,t){var a=t(18489),i=t(50390),s=t(84402),o=t(78426),l=t(93085),c=t(7887),r=t(66946),d=t(14476),u=t(95467),m=t(21278),p=t(86509),h=t(4285),v=t(72462),x=t(62559);n.Z=(0,h.Z)((function(e){return(0,p.Z)((0,a.Z)({},v.Qw))}))((function(e){var n=e.isOpen,t=void 0!==n&&n,p=e.onClose,h=e.onCancel,v=e.onConfirm,Z=e.classes,f=void 0===Z?{}:Z,j=e.title,b=void 0===j?"":j,C=e.isLoading,g=e.confirmationContent,y=e.cancelText,N=void 0===y?"Cancel":y,P=e.confirmText,k=void 0===P?"Confirm":P,S=e.confirmButtonProps,F=void 0===S?{}:S,I=e.cancelButtonProps,L=void 0===I?{}:I,T=e.titleIcon,w=void 0===T?null:T;return(0,x.jsxs)(s.Z,{open:t,onClose:function(e,n){"backdropClick"!==n&&p()},className:f.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,x.jsxs)(o.Z,{className:f.title,children:[(0,x.jsxs)("div",{className:f.titleText,children:[w," ",b]}),(0,x.jsx)("div",{className:f.closeContainer,children:(0,x.jsx)(u.Z,{"aria-label":"close",className:f.closeButton,onClick:p,disableRipple:!0,size:"small",children:(0,x.jsx)(m.Z,{})})})]}),(0,x.jsx)(l.Z,{className:f.content,children:g}),(0,x.jsxs)(c.Z,{className:f.actions,children:[(0,x.jsx)(r.Z,(0,a.Z)((0,a.Z)({className:f.cancelButton,onClick:h||p,disabled:C,type:"button"},L),{},{variant:"outlined",color:"primary",children:N})),(0,x.jsx)(d.Z,(0,a.Z)((0,a.Z)({className:f.confirmButton,type:"button",onClick:v,loading:C,disabled:C,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,x.jsx)(i.Fragment,{}),autoFocus:!0},F),{},{children:k}))]})]})}))},75947:function(e,n,t){t.r(n);var a=t(23430),i=t(18489),s=t(50390),o=t(38342),l=t.n(o),c=t(34424),r=t(86509),d=t(4285),u=t(25594),m=t(12066),p=t(65771),h=t(24442),v=t(72462),x=t(44149),Z=t(30324),f=t(17777),j=t(13336),b=t(53421),C=t(62559),g={setErrorSnackMessage:x.Ih},y=(0,c.$j)(null,g);n.default=(0,d.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)({tableWrapper:{height:"calc(100vh - 267px)"}},v.OR),v.qg),(0,v.Bz)(e.spacing(4))))}))(y((function(e){var n=e.classes,t=e.setErrorSnackMessage,o=(0,s.useState)([]),c=(0,a.Z)(o,2),r=c[0],d=c[1],v=(0,s.useState)(""),x=(0,a.Z)(v,2),g=x[0],y=x[1],N=(0,s.useState)(!0),P=(0,a.Z)(N,2),k=P[0],S=P[1],F=(0,s.useState)(null),I=(0,a.Z)(F,2),L=I[0],T=I[1],w=(0,s.useState)(!1),M=(0,a.Z)(w,2),B=M[0],E=M[1];(0,s.useEffect)((function(){k&&Z.Z.invoke("GET","/api/v1/list-pvcs").then((function(e){var n=l()(e,"pvcs",[]);d(n||[]),S(!1)})).catch((function(e){S(!1),t(e)}))}),[k,t]);var V=r.filter((function(e){return e.name.includes(g)})),A=[{type:"view",onClick:function(e){h.Z.push("/namespaces/".concat(e.namespace,"/tenants/").concat(e.tenant))}},{type:"delete",onClick:function(e){var n=(0,i.Z)((0,i.Z)({},e),{},{tenant:e.tenant,namespace:e.namespace});T(n),E(!0)}}];return(0,C.jsxs)(s.Fragment,{children:[B&&(0,C.jsx)(b.default,{deleteOpen:B,selectedPVC:L,closeDeleteModalAndRefresh:function(e){E(!1),S(!0)}}),(0,C.jsx)("h1",{className:n.sectionTitle,children:"Persistent Volumes Claims"}),(0,C.jsx)(u.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,C.jsx)(m.Z,{placeholder:"Search Volumes (PVCs)",className:n.searchField,id:"search-resource",label:"",InputProps:{disableUnderline:!0,startAdornment:(0,C.jsx)(p.Z,{position:"start",children:(0,C.jsx)(j.Z,{})})},onChange:function(e){y(e.target.value)},variant:"standard"})}),(0,C.jsx)(u.ZP,{item:!0,xs:12,children:(0,C.jsx)("br",{})}),(0,C.jsx)(u.ZP,{item:!0,xs:12,children:(0,C.jsx)(f.Z,{itemActions:A,columns:[{label:"Name",elementKey:"name"},{label:"Namespace",elementKey:"namespace",width:90},{label:"Status",elementKey:"status",width:120},{label:"Tenant",renderFullObject:!0,renderFunction:function(e){return"".concat(e.namespace,"/").concat(e.tenant)}},{label:"Capacity",elementKey:"capacity",width:90},{label:"Storage Class",elementKey:"storageClass"}],isLoading:k,records:V,entityName:"PVCs",idField:"name",customPaperHeight:n.tableWrapper})})]})})))},53421:function(e,n,t){t.r(n);var a=t(23430),i=t(50390),s=t(23473),o=t(66964),l=t(25594),c=t(34424),r=t(44149),d=t(21639),u=t(60656),m=t(11387),p=t(62559),h=(0,c.$j)(null,{setErrorSnackMessage:r.Ih});n.default=h((function(e){var n=e.deleteOpen,t=e.selectedPVC,c=e.closeDeleteModalAndRefresh,r=e.setErrorSnackMessage,h=(0,i.useState)(""),v=(0,a.Z)(h,2),x=v[0],Z=v[1],f=(0,d.Z)((function(){return c(!0)}),(function(e){return r(e)})),j=(0,a.Z)(f,2),b=j[0],C=j[1];return(0,p.jsx)(u.Z,{title:"Delete PVC",confirmText:"Delete",isOpen:n,titleIcon:(0,p.jsx)(m.Nv,{}),isLoading:b,onConfirm:function(){x===t.name?C("DELETE","/api/v1/namespaces/".concat(t.namespace,"/tenants/").concat(t.tenant,"/pvc/").concat(t.name)):r({errorMessage:"PVC name is incorrect",detailedError:""})},onClose:function(){return c(!1)},confirmButtonProps:{disabled:x!==t.name||b},confirmationContent:(0,p.jsxs)(s.Z,{children:["To continue please type ",(0,p.jsx)("b",{children:t.name})," in the box.",(0,p.jsx)(l.ZP,{item:!0,xs:12,children:(0,p.jsx)(o.Z,{id:"retype-PVC",name:"retype-PVC",onChange:function(e){Z(e.target.value)},label:"",value:x})})]})})}))}}]); -//# sourceMappingURL=5947.88f9751e.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5947],{66964:function(e,n,t){var a=t(18489),i=t(50390),s=t(12066),o=t(25594),l=t(36554),c=t(94187),r=t(95467),d=t(86509),u=t(62449),m=t(4285),p=t(72462),h=t(97538),v=t(44977),x=t(62559),Z=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)({},p.gM))}));function f(e){var n=Z();return(0,x.jsx)(s.Z,(0,a.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,a.Z)((0,a.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,t=e.onChange,s=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,Z=e.autoComplete,j=void 0===Z?"off":Z,b=e.disabled,C=void 0!==b&&b,g=e.multiline,y=void 0!==g&&g,N=e.tooltip,P=void 0===N?"":N,k=e.index,S=void 0===k?0:k,F=e.error,I=void 0===F?"":F,L=e.required,T=void 0!==L&&L,w=e.placeholder,M=void 0===w?"":w,B=e.min,E=e.max,V=e.overlayIcon,A=void 0===V?null:V,R=e.overlayObject,O=void 0===R?null:R,W=e.extraInputProps,D=void 0===W?{}:W,K=e.overlayAction,z=e.noLabelMinWidth,H=void 0!==z&&z,q=e.pattern,G=void 0===q?"":q,Y=e.autoFocus,$=void 0!==Y&&Y,_=e.classes,Q=e.className,U=void 0===Q?"":Q,J=(0,a.Z)({"data-index":S},D);return"number"===p&&B&&(J.min=B),"number"===p&&E&&(J.max=E),""!==G&&(J.pattern=G),(0,x.jsx)(i.Fragment,{children:(0,x.jsxs)(o.ZP,{container:!0,className:(0,v.Z)(""!==U?U:"",""!==I?_.errorInField:_.inputBoxContainer),children:[""!==n&&(0,x.jsxs)(l.Z,{htmlFor:d,className:H?_.noMinWidthLabel:_.inputLabel,children:[(0,x.jsxs)("span",{children:[n,T?"*":""]}),""!==P&&(0,x.jsx)("div",{className:_.tooltipContainer,children:(0,x.jsx)(c.Z,{title:P,placement:"top-start",children:(0,x.jsx)("div",{className:_.tooltip,children:(0,x.jsx)(h.Z,{})})})})]}),(0,x.jsxs)("div",{className:_.textBoxContainer,children:[(0,x.jsx)(f,{id:d,name:u,fullWidth:!0,value:s,autoFocus:$,disabled:C,onChange:t,type:p,multiline:y,autoComplete:j,inputProps:J,error:""!==I,helperText:I,placeholder:M,className:_.inputRebase}),A&&(0,x.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,x.jsx)(r.Z,{onClick:K?function(){K()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:A})}),O&&(0,x.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==n?"withLabel":""),children:O})]})]})})}))},21639:function(e,n,t){var a=t(23430),i=t(50390),s=t(30324);n.Z=function(e,n){var t=(0,i.useState)(!1),o=(0,a.Z)(t,2),l=o[0],c=o[1];return[l,function(t,a,i){c(!0),s.Z.invoke(t,a,i).then((function(n){c(!1),e(n)})).catch((function(e){c(!1),n(e)}))}]}},60656:function(e,n,t){var a=t(18489),i=t(50390),s=t(84402),o=t(78426),l=t(93085),c=t(7887),r=t(66946),d=t(14476),u=t(95467),m=t(21278),p=t(86509),h=t(4285),v=t(72462),x=t(62559);n.Z=(0,h.Z)((function(e){return(0,p.Z)((0,a.Z)({},v.Qw))}))((function(e){var n=e.isOpen,t=void 0!==n&&n,p=e.onClose,h=e.onCancel,v=e.onConfirm,Z=e.classes,f=void 0===Z?{}:Z,j=e.title,b=void 0===j?"":j,C=e.isLoading,g=e.confirmationContent,y=e.cancelText,N=void 0===y?"Cancel":y,P=e.confirmText,k=void 0===P?"Confirm":P,S=e.confirmButtonProps,F=void 0===S?{}:S,I=e.cancelButtonProps,L=void 0===I?{}:I,T=e.titleIcon,w=void 0===T?null:T;return(0,x.jsxs)(s.Z,{open:t,onClose:function(e,n){"backdropClick"!==n&&p()},className:f.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,x.jsxs)(o.Z,{className:f.title,children:[(0,x.jsxs)("div",{className:f.titleText,children:[w," ",b]}),(0,x.jsx)("div",{className:f.closeContainer,children:(0,x.jsx)(u.Z,{"aria-label":"close",className:f.closeButton,onClick:p,disableRipple:!0,size:"small",children:(0,x.jsx)(m.Z,{})})})]}),(0,x.jsx)(l.Z,{className:f.content,children:g}),(0,x.jsxs)(c.Z,{className:f.actions,children:[(0,x.jsx)(r.Z,(0,a.Z)((0,a.Z)({className:f.cancelButton,onClick:h||p,disabled:C,type:"button"},L),{},{variant:"outlined",color:"primary",children:N})),(0,x.jsx)(d.Z,(0,a.Z)((0,a.Z)({className:f.confirmButton,type:"button",onClick:v,loading:C,disabled:C,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,x.jsx)(i.Fragment,{}),autoFocus:!0},F),{},{children:k}))]})]})}))},75947:function(e,n,t){t.r(n);var a=t(23430),i=t(18489),s=t(50390),o=t(38342),l=t.n(o),c=t(34424),r=t(86509),d=t(4285),u=t(25594),m=t(12066),p=t(65771),h=t(24442),v=t(72462),x=t(44149),Z=t(30324),f=t(17777),j=t(13336),b=t(53421),C=t(62559),g={setErrorSnackMessage:x.Ih},y=(0,c.$j)(null,g);n.default=(0,d.Z)((function(e){return(0,r.Z)((0,i.Z)((0,i.Z)((0,i.Z)({tableWrapper:{height:"calc(100vh - 267px)"}},v.OR),v.qg),(0,v.Bz)(e.spacing(4))))}))(y((function(e){var n=e.classes,t=e.setErrorSnackMessage,o=(0,s.useState)([]),c=(0,a.Z)(o,2),r=c[0],d=c[1],v=(0,s.useState)(""),x=(0,a.Z)(v,2),g=x[0],y=x[1],N=(0,s.useState)(!0),P=(0,a.Z)(N,2),k=P[0],S=P[1],F=(0,s.useState)(null),I=(0,a.Z)(F,2),L=I[0],T=I[1],w=(0,s.useState)(!1),M=(0,a.Z)(w,2),B=M[0],E=M[1];(0,s.useEffect)((function(){k&&Z.Z.invoke("GET","/api/v1/list-pvcs").then((function(e){var n=l()(e,"pvcs",[]);d(n||[]),S(!1)})).catch((function(e){S(!1),t(e)}))}),[k,t]);var V=r.filter((function(e){return e.name.includes(g)})),A=[{type:"view",onClick:function(e){h.Z.push("/namespaces/".concat(e.namespace,"/tenants/").concat(e.tenant))}},{type:"delete",onClick:function(e){var n=(0,i.Z)((0,i.Z)({},e),{},{tenant:e.tenant,namespace:e.namespace});T(n),E(!0)}}];return(0,C.jsxs)(s.Fragment,{children:[B&&(0,C.jsx)(b.default,{deleteOpen:B,selectedPVC:L,closeDeleteModalAndRefresh:function(e){E(!1),S(!0)}}),(0,C.jsx)("h1",{className:n.sectionTitle,children:"Persistent Volumes Claims"}),(0,C.jsx)(u.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,C.jsx)(m.Z,{placeholder:"Search Volumes (PVCs)",className:n.searchField,id:"search-resource",label:"",InputProps:{disableUnderline:!0,startAdornment:(0,C.jsx)(p.Z,{position:"start",children:(0,C.jsx)(j.Z,{})})},onChange:function(e){y(e.target.value)},variant:"standard"})}),(0,C.jsx)(u.ZP,{item:!0,xs:12,children:(0,C.jsx)("br",{})}),(0,C.jsx)(u.ZP,{item:!0,xs:12,children:(0,C.jsx)(f.Z,{itemActions:A,columns:[{label:"Name",elementKey:"name"},{label:"Namespace",elementKey:"namespace",width:90},{label:"Status",elementKey:"status",width:120},{label:"Tenant",renderFullObject:!0,renderFunction:function(e){return"".concat(e.namespace,"/").concat(e.tenant)}},{label:"Capacity",elementKey:"capacity",width:90},{label:"Storage Class",elementKey:"storageClass"}],isLoading:k,records:V,entityName:"PVCs",idField:"name",customPaperHeight:n.tableWrapper})})]})})))},53421:function(e,n,t){t.r(n);var a=t(23430),i=t(50390),s=t(23473),o=t(66964),l=t(25594),c=t(34424),r=t(44149),d=t(21639),u=t(60656),m=t(98280),p=t(62559),h=(0,c.$j)(null,{setErrorSnackMessage:r.Ih});n.default=h((function(e){var n=e.deleteOpen,t=e.selectedPVC,c=e.closeDeleteModalAndRefresh,r=e.setErrorSnackMessage,h=(0,i.useState)(""),v=(0,a.Z)(h,2),x=v[0],Z=v[1],f=(0,d.Z)((function(){return c(!0)}),(function(e){return r(e)})),j=(0,a.Z)(f,2),b=j[0],C=j[1];return(0,p.jsx)(u.Z,{title:"Delete PVC",confirmText:"Delete",isOpen:n,titleIcon:(0,p.jsx)(m.Nv,{}),isLoading:b,onConfirm:function(){x===t.name?C("DELETE","/api/v1/namespaces/".concat(t.namespace,"/tenants/").concat(t.tenant,"/pvc/").concat(t.name)):r({errorMessage:"PVC name is incorrect",detailedError:""})},onClose:function(){return c(!1)},confirmButtonProps:{disabled:x!==t.name||b},confirmationContent:(0,p.jsxs)(s.Z,{children:["To continue please type ",(0,p.jsx)("b",{children:t.name})," in the box.",(0,p.jsx)(l.ZP,{item:!0,xs:12,children:(0,p.jsx)(o.Z,{id:"retype-PVC",name:"retype-PVC",onChange:function(e){Z(e.target.value)},label:"",value:x})})]})})}))}}]); +//# sourceMappingURL=5947.59012b92.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/5947.88f9751e.chunk.js.map b/portal-ui/build/static/js/5947.59012b92.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/5947.88f9751e.chunk.js.map rename to portal-ui/build/static/js/5947.59012b92.chunk.js.map index 1bf442503..7609c7069 100644 --- a/portal-ui/build/static/js/5947.88f9751e.chunk.js.map +++ b/portal-ui/build/static/js/5947.59012b92.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/5947.88f9751e.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Storage/StoragePVCs.tsx","screens/Console/Tenants/TenantDetails/DeletePVC.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 {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } 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 history from \"../../../history\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { IPVCsResponse, IStoragePVCs } from \"./types\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport DeletePVC from \"../Tenants/TenantDetails/DeletePVC\";\n\ninterface IStorageVolumesProps {\n classes: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\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 StorageVolumes = ({\n classes,\n setErrorSnackMessage,\n}: IStorageVolumesProps) => {\n const [records, setRecords] = useState([]);\n const [filter, setFilter] = useState(\"\");\n const [loading, setLoading] = useState(true);\n const [selectedPVC, setSelectedPVC] = useState(null);\n const [deleteOpen, setDeleteOpen] = useState(false);\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/list-pvcs`)\n .then((res: IPVCsResponse) => {\n let volumes = get(res, \"pvcs\", []);\n setRecords(volumes ? volumes : []);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setErrorSnackMessage(err);\n });\n }\n }, [loading, setErrorSnackMessage]);\n\n const filteredRecords: IStoragePVCs[] = records.filter((elementItem) =>\n elementItem.name.includes(filter)\n );\n\n const confirmDeletePVC = (pvcItem: IStoragePVCs) => {\n const delPvc = {\n ...pvcItem,\n tenant: pvcItem.tenant,\n namespace: pvcItem.namespace,\n };\n setSelectedPVC(delPvc);\n setDeleteOpen(true);\n };\n\n const tableActions = [\n {\n type: \"view\",\n onClick: (record: any) => {\n history.push(\n `/namespaces/${record.namespace}/tenants/${record.tenant}`\n );\n },\n },\n { type: \"delete\", onClick: confirmDeletePVC },\n ];\n\n const closeDeleteModalAndRefresh = (reloadData: boolean) => {\n setDeleteOpen(false);\n setLoading(true);\n };\n\n return (\n \n {deleteOpen && (\n \n )}\n

Persistent Volumes Claims

\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 `${record.namespace}/${record.tenant}`,\n },\n {\n label: \"Capacity\",\n elementKey: \"capacity\",\n width: 90,\n },\n {\n label: \"Storage Class\",\n elementKey: \"storageClass\",\n },\n ]}\n isLoading={loading}\n records={filteredRecords}\n entityName=\"PVCs\"\n idField=\"name\"\n customPaperHeight={classes.tableWrapper}\n />\n \n
\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(StorageVolumes));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport { connect } from \"react-redux\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\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\";\n\ninterface IDeletePVC {\n deleteOpen: boolean;\n selectedPVC: IStoragePVCs;\n closeDeleteModalAndRefresh: (refreshList: boolean) => any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeletePVC = ({\n deleteOpen,\n selectedPVC,\n closeDeleteModalAndRefresh,\n setErrorSnackMessage,\n}: IDeletePVC) => {\n const [retypePVC, setRetypePVC] = useState(\"\");\n\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => 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 setErrorSnackMessage({\n errorMessage: \"PVC name is incorrect\",\n detailedError: \"\",\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\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default connector(DeletePVC);\n"],"names":["inputStyles","makeStyles","theme","createStyles","inputFieldStyles","InputField","props","classes","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","label","onChange","value","id","name","type","autoComplete","disabled","multiline","tooltip","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","className","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","fullWidth","helperText","inputRebase","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","root","sx","padding","titleText","closeContainer","closeButton","content","actions","cancelButton","variant","color","confirmButton","loading","loadingPosition","startIcon","mapDispatchToProps","setErrorSnackMessage","connector","connect","tableWrapper","height","actionsTray","searchField","containerForHeader","spacing","records","setRecords","filter","setFilter","setLoading","selectedPVC","setSelectedPVC","deleteOpen","setDeleteOpen","useEffect","volumes","get","filteredRecords","elementItem","includes","tableActions","record","history","namespace","tenant","pvcItem","delPvc","Fragment","closeDeleteModalAndRefresh","reloadData","sectionTitle","item","xs","disableUnderline","startAdornment","e","target","itemActions","columns","elementKey","width","renderFullObject","renderFunction","entityName","idField","customPaperHeight","retypePVC","setRetypePVC","useApi","deleteLoading","invokeDeleteApi","errorMessage","detailedError"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/5947.59012b92.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Storage/StoragePVCs.tsx","screens/Console/Tenants/TenantDetails/DeletePVC.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 {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } 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 history from \"../../../history\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { IPVCsResponse, IStoragePVCs } from \"./types\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport DeletePVC from \"../Tenants/TenantDetails/DeletePVC\";\n\ninterface IStorageVolumesProps {\n classes: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\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 StorageVolumes = ({\n classes,\n setErrorSnackMessage,\n}: IStorageVolumesProps) => {\n const [records, setRecords] = useState([]);\n const [filter, setFilter] = useState(\"\");\n const [loading, setLoading] = useState(true);\n const [selectedPVC, setSelectedPVC] = useState(null);\n const [deleteOpen, setDeleteOpen] = useState(false);\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/list-pvcs`)\n .then((res: IPVCsResponse) => {\n let volumes = get(res, \"pvcs\", []);\n setRecords(volumes ? volumes : []);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setErrorSnackMessage(err);\n });\n }\n }, [loading, setErrorSnackMessage]);\n\n const filteredRecords: IStoragePVCs[] = records.filter((elementItem) =>\n elementItem.name.includes(filter)\n );\n\n const confirmDeletePVC = (pvcItem: IStoragePVCs) => {\n const delPvc = {\n ...pvcItem,\n tenant: pvcItem.tenant,\n namespace: pvcItem.namespace,\n };\n setSelectedPVC(delPvc);\n setDeleteOpen(true);\n };\n\n const tableActions = [\n {\n type: \"view\",\n onClick: (record: any) => {\n history.push(\n `/namespaces/${record.namespace}/tenants/${record.tenant}`\n );\n },\n },\n { type: \"delete\", onClick: confirmDeletePVC },\n ];\n\n const closeDeleteModalAndRefresh = (reloadData: boolean) => {\n setDeleteOpen(false);\n setLoading(true);\n };\n\n return (\n \n {deleteOpen && (\n \n )}\n

Persistent Volumes Claims

\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 `${record.namespace}/${record.tenant}`,\n },\n {\n label: \"Capacity\",\n elementKey: \"capacity\",\n width: 90,\n },\n {\n label: \"Storage Class\",\n elementKey: \"storageClass\",\n },\n ]}\n isLoading={loading}\n records={filteredRecords}\n entityName=\"PVCs\"\n idField=\"name\"\n customPaperHeight={classes.tableWrapper}\n />\n \n
\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(StorageVolumes));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport { connect } from \"react-redux\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\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\";\n\ninterface IDeletePVC {\n deleteOpen: boolean;\n selectedPVC: IStoragePVCs;\n closeDeleteModalAndRefresh: (refreshList: boolean) => any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeletePVC = ({\n deleteOpen,\n selectedPVC,\n closeDeleteModalAndRefresh,\n setErrorSnackMessage,\n}: IDeletePVC) => {\n const [retypePVC, setRetypePVC] = useState(\"\");\n\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => 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 setErrorSnackMessage({\n errorMessage: \"PVC name is incorrect\",\n detailedError: \"\",\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\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default connector(DeletePVC);\n"],"names":["inputStyles","makeStyles","theme","createStyles","inputFieldStyles","InputField","props","classes","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","label","onChange","value","id","name","type","autoComplete","disabled","multiline","tooltip","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","className","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","fullWidth","helperText","inputRebase","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","root","sx","padding","titleText","closeContainer","closeButton","content","actions","cancelButton","variant","color","confirmButton","loading","loadingPosition","startIcon","mapDispatchToProps","setErrorSnackMessage","connector","connect","tableWrapper","height","actionsTray","searchField","containerForHeader","spacing","records","setRecords","filter","setFilter","setLoading","selectedPVC","setSelectedPVC","deleteOpen","setDeleteOpen","useEffect","volumes","get","filteredRecords","elementItem","includes","tableActions","record","history","namespace","tenant","pvcItem","delPvc","Fragment","closeDeleteModalAndRefresh","reloadData","sectionTitle","item","xs","disableUnderline","startAdornment","e","target","itemActions","columns","elementKey","width","renderFullObject","renderFunction","entityName","idField","customPaperHeight","retypePVC","setRetypePVC","useApi","deleteLoading","invokeDeleteApi","errorMessage","detailedError"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/5961.04fd21a3.chunk.js b/portal-ui/build/static/js/5961.95455f54.chunk.js similarity index 96% rename from portal-ui/build/static/js/5961.04fd21a3.chunk.js rename to portal-ui/build/static/js/5961.95455f54.chunk.js index 3dddd6657..b15d2bff7 100644 --- a/portal-ui/build/static/js/5961.04fd21a3.chunk.js +++ b/portal-ui/build/static/js/5961.95455f54.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5961],{50280:function(e,n,s){var t=s(18489),a=s(50390),l=s(25594),i=s(86509),r=s(4285),c=s(72462),o=s(62559);n.Z=(0,r.Z)((function(e){return(0,i.Z)((0,t.Z)({},c.xx))}))((function(e){var n=e.classes,s=e.label,t=void 0===s?"":s,i=e.content,r=e.multiLine,c=void 0!==r&&r;return(0,o.jsx)(a.Fragment,{children:(0,o.jsxs)(l.ZP,{className:n.prefinedContainer,children:[""!==t&&(0,o.jsx)(l.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:t}),(0,o.jsx)(l.ZP,{item:!0,xs:12,className:n.predefinedList,children:(0,o.jsx)(l.ZP,{item:!0,xs:12,className:c?n.innerContentMultiline:n.innerContent,children:i})})]})})}))},35961:function(e,n,s){s.r(n);var t=s(23430),a=s(18489),l=s(50390),i=s(34424),r=s(25594),c=s(98247),o=s(49044),u=s(81378),d=s(66946),x=s(86509),m=s(4285),h=s(72462),Z=s(44149),f=s(30324),p=s(92620),j=s(76352),b=s(66964),v=s(92440),g=s(50280),y=s(59176),P=s(4795),C=s(11387),S=s(62559),k={setModalErrorSnackMessage:Z.zb},N=(0,i.$j)(null,k);n.default=(0,m.Z)((function(e){return(0,x.Z)((0,a.Z)((0,a.Z)((0,a.Z)({tabsHeader:{marginBottom:"1rem"}},h.ID),h.DF),h.bK))}))(N((function(e){var n=e.classes,s=e.closeModalAndRefresh,a=e.selectedUser,i=e.open,x=e.setModalErrorSnackMessage,m=(0,l.useState)(!1),h=(0,t.Z)(m,2),Z=h[0],k=h[1],N=(0,l.useState)(""),w=(0,t.Z)(N,2),E=w[0],K=w[1],F=(0,l.useState)(""),M=(0,t.Z)(F,2),U=M[0],G=M[1],O=(0,l.useState)(!1),R=(0,t.Z)(O,2),T=R[0],D=R[1],I=(0,l.useState)([]),B=(0,t.Z)(I,2),L=B[0],_=B[1],A=(0,l.useState)([]),H=(0,t.Z)(A,2),z=H[0],V=H[1],$=(0,l.useState)([]),q=(0,t.Z)($,2),J=q[0],Q=q[1],W=(0,l.useState)(0),X=(0,t.Z)(W,2),Y=X[0],ee=X[1],ne=(0,l.useCallback)((function(){if(!a)return null;f.Z.invoke("GET","/api/v1/user?name=".concat(encodeURI(a.accessKey))).then((function(e){k(!1),K(e.accessKey),_(e.memberOf||[]),Q(e.memberOf||[]),D("enabled"===e.status)})).catch((function(e){k(!1),x(e)}))}),[a,x]);(0,l.useEffect)((function(){null===a?(K(""),G(""),_([])):ne()}),[a,ne]);var se=""!==E.trim()&&(""!==U.trim()&&null===a||null!==a);return(0,S.jsxs)(j.Z,{onClose:function(){s()},modalOpen:i,title:null!==a?"Edit User":"Create User",titleIcon:(0,S.jsx)(C.P3,{}),children:[null!==a&&(0,S.jsx)("div",{className:n.floatingEnabled,children:(0,S.jsx)(v.Z,{indicatorLabels:["Enabled","Disabled"],checked:T,value:"user_enabled",id:"user-status",name:"user-status",onChange:function(e){D(e.target.checked)},switchOnly:!0})}),(0,S.jsx)(l.Fragment,{children:(0,S.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){if(e.preventDefault(),U.length<8)return x({errorMessage:"Passwords must be at least 8 characters long",detailedError:""}),void k(!1);Z||(k(!0),null!==a?f.Z.invoke("PUT","/api/v1/user?name=".concat(encodeURI(a.accessKey)),{status:T?"enabled":"disabled",groups:L,policies:z}).then((function(e){k(!1),s()})).catch((function(e){k(!1),x(e)})):f.Z.invoke("POST","/api/v1/users",{accessKey:E,secretKey:U,groups:L,policies:z}).then((function(e){k(!1),s()})).catch((function(e){k(!1),x(e)})))}(e)},children:(0,S.jsxs)(r.ZP,{container:!0,children:[(0,S.jsxs)(r.ZP,{item:!0,xs:12,children:[(0,S.jsx)("div",{className:n.formFieldRow,children:(0,S.jsx)(b.Z,{id:"accesskey-input",name:"accesskey-input",label:"Access Key",value:E,autoFocus:!0,onChange:function(e){K(e.target.value)},disabled:null!==a})}),null!==a?(0,S.jsx)(g.Z,{label:"Current Groups",content:J.join(", ")}):(0,S.jsx)("div",{className:n.formFieldRow,children:(0,S.jsx)(b.Z,{id:"standard-multiline-static",name:"standard-multiline-static",label:"Secret Key",type:"password",value:U,onChange:function(e){G(e.target.value)},autoComplete:"current-password"})}),(0,S.jsx)(r.ZP,{item:!0,xs:12,className:n.tabsHeader,children:(0,S.jsxs)(c.Z,{value:Y,onChange:function(e,n){ee(n)},children:[(0,S.jsx)(o.Z,{label:"Policies"}),(0,S.jsx)(o.Z,{label:"Groups"})]})}),(0,S.jsx)(P.x,{value:Y,index:0,children:(0,S.jsx)(r.ZP,{item:!0,xs:12,children:(0,S.jsx)(y.Z,{selectedPolicy:z,setSelectedPolicy:V})})}),(0,S.jsx)(P.x,{value:Y,index:1,children:(0,S.jsx)(r.ZP,{item:!0,xs:12,children:(0,S.jsx)(p.Z,{selectedGroups:L,setSelectedGroups:function(e){_(e)}})})}),Z&&(0,S.jsx)(r.ZP,{item:!0,xs:12,children:(0,S.jsx)(u.Z,{})})]}),(0,S.jsxs)(r.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,S.jsx)(d.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){null===a?(K(""),G(""),_([])):_([])},children:"Clear"}),(0,S.jsx)(d.Z,{type:"submit",variant:"contained",color:"primary",disabled:Z||!se,children:"Save"})]})]})})})]})})))},4795:function(e,n,s){s.d(n,{x:function(){return c}});var t=s(18489),a=s(83738),l=s(50390),i=s(62559),r=["children","value","index"],c=function(e){var n=e.children,s=e.value,c=e.index,o=(0,a.Z)(e,r);return(0,i.jsx)("div",(0,t.Z)((0,t.Z)({role:"tabpanel",hidden:s!==c,id:"simple-tabpanel-".concat(c),"aria-labelledby":"simple-tab-".concat(c),style:{marginTop:"5px"}},o),{},{children:s===c&&(0,i.jsx)(l.Fragment,{children:n})}))}}}]); -//# sourceMappingURL=5961.04fd21a3.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5961],{50280:function(e,n,s){var t=s(18489),a=s(50390),l=s(25594),i=s(86509),r=s(4285),c=s(72462),o=s(62559);n.Z=(0,r.Z)((function(e){return(0,i.Z)((0,t.Z)({},c.xx))}))((function(e){var n=e.classes,s=e.label,t=void 0===s?"":s,i=e.content,r=e.multiLine,c=void 0!==r&&r;return(0,o.jsx)(a.Fragment,{children:(0,o.jsxs)(l.ZP,{className:n.prefinedContainer,children:[""!==t&&(0,o.jsx)(l.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:t}),(0,o.jsx)(l.ZP,{item:!0,xs:12,className:n.predefinedList,children:(0,o.jsx)(l.ZP,{item:!0,xs:12,className:c?n.innerContentMultiline:n.innerContent,children:i})})]})})}))},35961:function(e,n,s){s.r(n);var t=s(23430),a=s(18489),l=s(50390),i=s(34424),r=s(25594),c=s(98247),o=s(49044),u=s(81378),d=s(66946),x=s(86509),m=s(4285),h=s(72462),Z=s(44149),f=s(30324),p=s(92620),j=s(76352),b=s(66964),v=s(92440),g=s(50280),y=s(59176),P=s(4795),C=s(98280),S=s(62559),k={setModalErrorSnackMessage:Z.zb},N=(0,i.$j)(null,k);n.default=(0,m.Z)((function(e){return(0,x.Z)((0,a.Z)((0,a.Z)((0,a.Z)({tabsHeader:{marginBottom:"1rem"}},h.ID),h.DF),h.bK))}))(N((function(e){var n=e.classes,s=e.closeModalAndRefresh,a=e.selectedUser,i=e.open,x=e.setModalErrorSnackMessage,m=(0,l.useState)(!1),h=(0,t.Z)(m,2),Z=h[0],k=h[1],N=(0,l.useState)(""),w=(0,t.Z)(N,2),E=w[0],K=w[1],F=(0,l.useState)(""),M=(0,t.Z)(F,2),U=M[0],G=M[1],O=(0,l.useState)(!1),R=(0,t.Z)(O,2),T=R[0],D=R[1],I=(0,l.useState)([]),B=(0,t.Z)(I,2),L=B[0],_=B[1],A=(0,l.useState)([]),H=(0,t.Z)(A,2),z=H[0],V=H[1],$=(0,l.useState)([]),q=(0,t.Z)($,2),J=q[0],Q=q[1],W=(0,l.useState)(0),X=(0,t.Z)(W,2),Y=X[0],ee=X[1],ne=(0,l.useCallback)((function(){if(!a)return null;f.Z.invoke("GET","/api/v1/user?name=".concat(encodeURI(a.accessKey))).then((function(e){k(!1),K(e.accessKey),_(e.memberOf||[]),Q(e.memberOf||[]),D("enabled"===e.status)})).catch((function(e){k(!1),x(e)}))}),[a,x]);(0,l.useEffect)((function(){null===a?(K(""),G(""),_([])):ne()}),[a,ne]);var se=""!==E.trim()&&(""!==U.trim()&&null===a||null!==a);return(0,S.jsxs)(j.Z,{onClose:function(){s()},modalOpen:i,title:null!==a?"Edit User":"Create User",titleIcon:(0,S.jsx)(C.P3,{}),children:[null!==a&&(0,S.jsx)("div",{className:n.floatingEnabled,children:(0,S.jsx)(v.Z,{indicatorLabels:["Enabled","Disabled"],checked:T,value:"user_enabled",id:"user-status",name:"user-status",onChange:function(e){D(e.target.checked)},switchOnly:!0})}),(0,S.jsx)(l.Fragment,{children:(0,S.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){if(e.preventDefault(),U.length<8)return x({errorMessage:"Passwords must be at least 8 characters long",detailedError:""}),void k(!1);Z||(k(!0),null!==a?f.Z.invoke("PUT","/api/v1/user?name=".concat(encodeURI(a.accessKey)),{status:T?"enabled":"disabled",groups:L,policies:z}).then((function(e){k(!1),s()})).catch((function(e){k(!1),x(e)})):f.Z.invoke("POST","/api/v1/users",{accessKey:E,secretKey:U,groups:L,policies:z}).then((function(e){k(!1),s()})).catch((function(e){k(!1),x(e)})))}(e)},children:(0,S.jsxs)(r.ZP,{container:!0,children:[(0,S.jsxs)(r.ZP,{item:!0,xs:12,children:[(0,S.jsx)("div",{className:n.formFieldRow,children:(0,S.jsx)(b.Z,{id:"accesskey-input",name:"accesskey-input",label:"Access Key",value:E,autoFocus:!0,onChange:function(e){K(e.target.value)},disabled:null!==a})}),null!==a?(0,S.jsx)(g.Z,{label:"Current Groups",content:J.join(", ")}):(0,S.jsx)("div",{className:n.formFieldRow,children:(0,S.jsx)(b.Z,{id:"standard-multiline-static",name:"standard-multiline-static",label:"Secret Key",type:"password",value:U,onChange:function(e){G(e.target.value)},autoComplete:"current-password"})}),(0,S.jsx)(r.ZP,{item:!0,xs:12,className:n.tabsHeader,children:(0,S.jsxs)(c.Z,{value:Y,onChange:function(e,n){ee(n)},children:[(0,S.jsx)(o.Z,{label:"Policies"}),(0,S.jsx)(o.Z,{label:"Groups"})]})}),(0,S.jsx)(P.x,{value:Y,index:0,children:(0,S.jsx)(r.ZP,{item:!0,xs:12,children:(0,S.jsx)(y.Z,{selectedPolicy:z,setSelectedPolicy:V})})}),(0,S.jsx)(P.x,{value:Y,index:1,children:(0,S.jsx)(r.ZP,{item:!0,xs:12,children:(0,S.jsx)(p.Z,{selectedGroups:L,setSelectedGroups:function(e){_(e)}})})}),Z&&(0,S.jsx)(r.ZP,{item:!0,xs:12,children:(0,S.jsx)(u.Z,{})})]}),(0,S.jsxs)(r.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,S.jsx)(d.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){null===a?(K(""),G(""),_([])):_([])},children:"Clear"}),(0,S.jsx)(d.Z,{type:"submit",variant:"contained",color:"primary",disabled:Z||!se,children:"Save"})]})]})})})]})})))},4795:function(e,n,s){s.d(n,{x:function(){return c}});var t=s(18489),a=s(83738),l=s(50390),i=s(62559),r=["children","value","index"],c=function(e){var n=e.children,s=e.value,c=e.index,o=(0,a.Z)(e,r);return(0,i.jsx)("div",(0,t.Z)((0,t.Z)({role:"tabpanel",hidden:s!==c,id:"simple-tabpanel-".concat(c),"aria-labelledby":"simple-tab-".concat(c),style:{marginTop:"5px"}},o),{},{children:s===c&&(0,i.jsx)(l.Fragment,{children:n})}))}}}]); +//# sourceMappingURL=5961.95455f54.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/5961.04fd21a3.chunk.js.map b/portal-ui/build/static/js/5961.95455f54.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/5961.04fd21a3.chunk.js.map rename to portal-ui/build/static/js/5961.95455f54.chunk.js.map index d580d6c68..6921cef3e 100644 --- a/portal-ui/build/static/js/5961.04fd21a3.chunk.js.map +++ b/portal-ui/build/static/js/5961.95455f54.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/5961.04fd21a3.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Users/AddUser.tsx","screens/shared/tabs.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}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button, LinearProgress, Tab, Tabs } 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 { User } from \"./types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport GroupsSelectors from \"./GroupsSelectors\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport PredefinedList from \"../Common/FormComponents/PredefinedList/PredefinedList\";\nimport PolicySelectors from \"../Policies/PolicySelectors\";\nimport { TabPanel } from \"../../shared/tabs\";\nimport { CreateUserIcon } from \"../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n tabsHeader: {\n marginBottom: \"1rem\",\n },\n ...modalStyleUtils,\n ...formFieldStyles,\n ...spacingUtils,\n });\n\ninterface IAddUserContentProps {\n classes: any;\n closeModalAndRefresh: () => void;\n selectedUser: User | null;\n open: boolean;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst AddUser = ({\n classes,\n closeModalAndRefresh,\n selectedUser,\n open,\n setModalErrorSnackMessage,\n}: IAddUserContentProps) => {\n const [addLoading, setAddLoading] = useState(false);\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n const [enabled, setEnabled] = useState(false);\n const [selectedGroups, setSelectedGroups] = useState([]);\n const [selectedPolicies, setSelectedPolicies] = useState([]);\n const [currentGroups, setCurrentGroups] = useState([]);\n const [currenTab, setCurrenTab] = useState(0);\n\n const getUserInformation = useCallback(() => {\n if (!selectedUser) {\n return null;\n }\n\n api\n .invoke(\"GET\", `/api/v1/user?name=${encodeURI(selectedUser.accessKey)}`)\n .then((res) => {\n setAddLoading(false);\n setAccessKey(res.accessKey);\n setSelectedGroups(res.memberOf || []);\n setCurrentGroups(res.memberOf || []);\n setEnabled(res.status === \"enabled\");\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n }, [selectedUser, setModalErrorSnackMessage]);\n\n useEffect(() => {\n if (selectedUser === null) {\n setAccessKey(\"\");\n setSecretKey(\"\");\n setSelectedGroups([]);\n } else {\n getUserInformation();\n }\n }, [selectedUser, getUserInformation]);\n\n const saveRecord = (event: React.FormEvent) => {\n event.preventDefault();\n\n if (secretKey.length < 8) {\n setModalErrorSnackMessage({\n errorMessage: \"Passwords must be at least 8 characters long\",\n detailedError: \"\",\n });\n setAddLoading(false);\n return;\n }\n\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n if (selectedUser !== null) {\n api\n .invoke(\n \"PUT\",\n `/api/v1/user?name=${encodeURI(selectedUser.accessKey)}`,\n {\n status: enabled ? \"enabled\" : \"disabled\",\n groups: selectedGroups,\n policies: selectedPolicies,\n }\n )\n .then((res) => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n api\n .invoke(\"POST\", \"/api/v1/users\", {\n accessKey,\n secretKey,\n groups: selectedGroups,\n policies: selectedPolicies,\n })\n .then((res) => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n }\n };\n\n const resetForm = () => {\n if (selectedUser !== null) {\n setSelectedGroups([]);\n return;\n }\n setAccessKey(\"\");\n setSecretKey(\"\");\n setSelectedGroups([]);\n };\n\n const sendEnabled =\n accessKey.trim() !== \"\" &&\n ((secretKey.trim() !== \"\" && selectedUser === null) ||\n selectedUser !== null);\n return (\n {\n closeModalAndRefresh();\n }}\n modalOpen={open}\n title={selectedUser !== null ? \"Edit User\" : \"Create User\"}\n titleIcon={}\n >\n {selectedUser !== null && (\n
\n {\n setEnabled(e.target.checked);\n }}\n switchOnly\n />\n
\n )}\n\n \n ) => {\n saveRecord(e);\n }}\n >\n \n \n
\n ) => {\n setAccessKey(e.target.value);\n }}\n disabled={selectedUser !== null}\n />\n
\n\n {selectedUser !== null ? (\n \n ) : (\n
\n ) => {\n setSecretKey(e.target.value);\n }}\n autoComplete=\"current-password\"\n />\n
\n )}\n \n {\n setCurrenTab(nv);\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n {\n setSelectedGroups(elements);\n }}\n />\n \n \n\n {addLoading && (\n \n \n \n )}\n
\n \n \n Clear\n \n\n \n Save\n \n \n
\n \n
\n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddUser));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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};\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, { Component } 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 | Component;\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 >\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) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Button, ButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: \"0 15px\",\n height: 22,\n margin: 0,\n color: \"#5E5E5E\",\n fontWeight: \"normal\",\n fontSize: 14,\n whiteSpace: \"nowrap\",\n borderRight: \"#E5E5E5 1px solid\",\n borderStyle: \"solid\",\n borderRadius: 0,\n \"&:hover\": {\n backgroundColor: \"transparent\",\n color: \"#000\",\n },\n \"& .min-icon\": {\n width: 11,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n \"&\": {\n \"@media (max-width: 1279px)\": {\n padding: 0,\n display: \"flex\",\n justifyContent: \"center\",\n \"& .min-icon\": {\n width: 15,\n },\n },\n },\n },\n contained: {\n borderColor: \"#5E5E5E\",\n background: \"#5E5E5E\",\n color: \"white\",\n borderRadius: 0,\n height: 37,\n fontWeight: \"bold\",\n padding: \"15px 25px\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: \"#4c4c4c\",\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: \"#4c4c4c\",\n color: \"#FFF\",\n },\n \"& .min-icon\": {\n width: 12,\n marginTop: -3,\n },\n \"&\": {\n \"@media (max-width: 1279px)\": {\n padding: 0,\n display: \"flex\",\n justifyContent: \"center\",\n \"& .min-icon\": {\n width: 15,\n },\n },\n },\n },\n });\n\ninterface ITopActionButton extends ButtonProps {\n classes: any;\n children: any;\n variant?: \"text\" | \"contained\";\n tooltip?: string;\n}\n\nconst TopActionButton = ({\n classes,\n children,\n variant = \"text\",\n tooltip,\n ...rest\n}: ITopActionButton) => {\n return (\n \n \n \n {children}\n \n \n \n );\n};\n\nexport default withStyles(styles)(TopActionButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 get from \"lodash/get\";\nimport isString from \"lodash/isString\";\nimport {\n Checkbox,\n Grid,\n IconButton,\n LinearProgress,\n Paper,\n Popover,\n Typography,\n} from \"@mui/material\";\nimport { AutoSizer, Column, InfiniteLoader, Table } from \"react-virtualized\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\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 TopActionButton from \"./TopActionButton\";\nimport history from \"../../../../history\";\nimport {\n checkboxIcons,\n radioIcons,\n TableRowPredefStyles,\n} from \"../FormComponents/common/styleLibrary\";\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 IActionButton {\n label: string;\n icon?: React.ReactNode;\n action: () => void;\n disabled: boolean;\n tooltip?: string;\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 generalTableActions?: () => void;\n actionButtons?: IActionButton[];\n subActions?: React.ReactNode;\n globalActions?: IActionButton[];\n}\n\nconst borderColor = \"#9c9c9c80\";\n\nconst styles = () =>\n createStyles({\n paper: {\n display: \"flex\",\n overflow: \"auto\",\n flexDirection: \"column\",\n padding: \"8px 16px\",\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 \"&.actionsBar\": {\n padding: \"45px 16px 8px\",\n },\n },\n topHelpers: {\n position: \"absolute\",\n top: 0,\n left: 0,\n backgroundColor: \"#F8F8F8\",\n borderBottom: \"#EAEDEE 1px solid\",\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 actionsScrollable: {\n display: \"flex\",\n overflowX: \"auto\",\n overflowY: \"hidden\",\n height: 36,\n alignItems: \"center\",\n \"&::-webkit-scrollbar\": {\n height: 2,\n minHeight: 2,\n borderRadius: 0,\n },\n \"&::-webkit-scrollbar-track\": {\n background: \"#F0F0F0\",\n borderRadius: 0,\n boxShadow: \"inset 0px 0px 0px 0px transparent\",\n height: 2,\n },\n \"&::-webkit-scrollbar-thumb\": {\n background: \"#5E5E5E\",\n borderRadius: 0,\n },\n \"&::-webkit-scrollbar-thumb:hover\": {\n background: \"#4C4C4C\",\n },\n },\n objectsSelected: {\n display: \"flex\",\n flexGrow: 0,\n whiteSpace: \"nowrap\",\n backgroundColor: \"#F4F2F2\",\n color: \"#000\",\n fontWeight: \"bold\",\n fontSize: 14,\n height: 37,\n maxHeight: 37,\n padding: \"0 25px\",\n alignItems: \"center\",\n position: \"relative\",\n \"&::after\": {\n content: \"' '\",\n borderRight: \"#eaeaea 1px solid\",\n width: 1,\n height: 22,\n display: \"block\",\n position: \"absolute\",\n right: 0,\n },\n },\n globalActions: {\n display: \"flex\",\n flexGrow: 0,\n justifyContent: \"flex-end\",\n },\n \"@global\": {\n \".rowLine\": {\n borderBottom: `1px solid ${borderColor}`,\n height: 40,\n color: \"#393939\",\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 color: \"#081C42\",\n fontWeight: 600,\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__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 (\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 actionButtons,\n subActions,\n globalActions,\n}: TableWrapperProps) => {\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 history.push(`${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 {isLoading && (\n \n \n {loadingMessage}\n \n \n \n \n \n )}\n {!isLoading && (\n \n \n {onSelect && (\n \n {selectedItems?.length || 0} Item\n {selectedItems?.length\n ? selectedItems?.length !== 1 && \"s\"\n : \"s\"}{\" \"}\n selected\n \n )}\n {actionButtons && (\n \n {actionButtons.map((button, index) => {\n return (\n \n {button.label}\n \n );\n })}\n \n )}\n {subActions && (\n \n {subActions}\n \n )}\n {globalActions && (\n \n {globalActions.map((button, index) => {\n return (\n \n {button.label}\n \n );\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 !!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 \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 (\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={`rowLine ${findView ? \"canClick\" : \"\"} ${\n !findView && textSelectable ? \"canSelectText\" : \"\"\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(TableRowPredefStyles, returnElement, {});\n }\n\n return returnElement;\n }\n\n return {};\n }}\n >\n {hasSelect && (\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) ? rowData : 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 Options}\n dataKey={idField}\n width={optionsWidth}\n headerClassName=\"optionsAlignment\"\n className=\"optionsAlignment\"\n cellRenderer={({ rowData }) => {\n const isSelected = selectedItems\n ? selectedItems.includes(\n isString(rowData) ? rowData : 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\nexport default withStyles(styles)(TableWrapper);\n"],"names":["withStyles","theme","createStyles","fieldBasic","tooltipHelper","checkboxIcons","fieldContainer","display","justifyContent","alignItems","margin","marginBottom","flexBasis","label","onChange","value","id","name","checked","disabled","tooltip","classes","item","xs","className","color","inputProps","checkedIcon","icon","unCheckedIcon","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","Tooltip","isString","root","padding","fontWeight","fontSize","whiteSpace","borderRight","borderStyle","borderRadius","backgroundColor","borderColor","contained","background","marginTop","children","variant","rest","Button","clsx","sx","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","boxShadow","border","minHeight","overflowY","position","topHelpers","top","left","borderBottom","noBackground","defaultPaperHeight","loadingBox","paddingTop","paddingBottom","overlayColumnSelection","right","popoverContent","maxHeight","shownColumnsLabel","checkAllWrapper","actionsScrollable","overflowX","objectsSelected","flexGrow","content","globalActions","transitionDuration","outline","userSelect","fontStyle","textTransform","textAlign","radioIcons","itemActions","onSelect","records","isLoading","loadingMessage","Typography","component","entityName","radioSelection","customEmptyMessage","customPaperHeight","textSelectable","onColumnChange","state","infiniteScrollConfig","sortConfig","autoScrollToBottom","onSelectAll","rowStyle","actionButtons","subActions","useState","columnSelectorOpen","setColumnSelectorOpen","React","anchorEl","setAnchorEl","findView","find","openColumnsSelector","event","currentTarget","closeColumnSelector","Grid","Paper","container","style","LinearProgress","direction","flexWrap","button","action","startIcon","endIcon","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","history","clickAction","rowClassName","sort","triggerSort","undefined","sortBy","currentSort","currentDirection","scrollToIndex","r","returnElement","TableRowPredefStyles","Checkbox","radioSelectedIcon","radioUnselectedIcon","actions","vlSend","showLoaderFunction","CircularProgress","elementActions"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/7777.7ea62662.chunk.js b/portal-ui/build/static/js/7777.7ea62662.chunk.js deleted file mode 100644 index 1ab32bf9b..000000000 --- a/portal-ui/build/static/js/7777.7ea62662.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[7777],{54950:function(e,n,t){var o=t(18489),i=t(50390),r=t(25594),a=t(74268),l=t(14602),c=t(94187),s=t(86509),d=t(4285),u=t(72462),h=t(97538),p=t(62559);n.Z=(0,d.Z)((function(e){return(0,s.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},u.YI),u.Hr),u.lM),{},{fieldContainer:(0,o.Z)((0,o.Z)({},u.YI.fieldContainer),{},{display:"flex",justifyContent:"flex-start",alignItems:"center",margin:"15px 0",marginBottom:0,flexBasis:"initial"})}))}))((function(e){var n=e.label,t=e.onChange,o=e.value,s=e.id,d=e.name,u=e.checked,x=void 0!==u&&u,g=e.disabled,m=void 0!==g&&g,f=e.tooltip,b=void 0===f?"":f,v=e.classes;return(0,p.jsx)(i.Fragment,{children:(0,p.jsxs)(r.ZP,{item:!0,xs:12,className:v.fieldContainer,children:[(0,p.jsx)("div",{children:(0,p.jsx)(a.Z,{name:d,id:s,value:o,color:"primary",inputProps:{"aria-label":"secondary checkbox"},checked:x,onChange:t,checkedIcon:(0,p.jsx)("span",{className:v.checkedIcon}),icon:(0,p.jsx)("span",{className:v.unCheckedIcon}),disabled:m})}),""!==n&&(0,p.jsxs)(l.Z,{htmlFor:s,className:v.noMinWidthLabel,children:[(0,p.jsx)("span",{children:n}),""!==b&&(0,p.jsx)("div",{className:v.tooltipContainer,children:(0,p.jsx)(c.Z,{title:b,placement:"top-start",children:(0,p.jsx)("div",{className:v.tooltip,children:(0,p.jsx)(h.Z,{})})})})]})]})})}))},17777:function(e,n,t){t.d(n,{Z:function(){return q}});var o=t(23430),i=t(35531),r=t(18489),a=t(50390),l=t(38342),c=t.n(l),s=t(64364),d=t.n(s),u=t(35477),h=t(95467),p=t(95892),x=t(25594),g=t(46981),m=t(81378),f=t(74268),b=t(33690),v=t(86509),w=t(4285),j=t(18201),C=t(74244),y=t(63017),S=t(50184),Z=t(6369),k=t(94187),F="#081C42",B="#081C42",E=t(62559),R=function(e){var n=e.active,t=void 0!==n&&n;return(0,E.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",children:(0,E.jsx)("path",{fill:t?B:F,d:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96z"})})},N=function(e){var n=e.active,t=void 0!==n&&n;return(0,E.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",children:(0,E.jsx)("path",{fill:t?B:F,d:"M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3v-3h18v3z"})})},A=function(e){var n=e.active,t=void 0!==n&&n;return(0,E.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",children:(0,E.jsx)("path",{fill:t?B:F,d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11H7v-2h10v2z"})})},I=function(e){var n=e.active,t=void 0!==n&&n;return(0,E.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",children:(0,E.jsx)("path",{fill:t?B:F,d:"M20 16h2v-2h-2v2zm0-9v5h2V7h-2zM10 4c-4.42 0-8 3.58-8 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm0 10c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"})})},z=t(59078),P=t(61846),T=t(11387),H=t(51420),M=(0,w.Z)((function(){return(0,v.Z)({spacing:{margin:"0 8px"},buttonDisabled:{"&.MuiButtonBase-root.Mui-disabled":{cursor:"not-allowed",filter:"grayscale(100%)",opacity:"30%"}}})}))((function(e){var n=e.type,t=e.onClick,o=e.valueToSend,i=e.idField,r=e.selected,a=e.to,l=e.sendOnlyId,c=void 0!==l&&l,s=e.disabled,u=void 0!==s&&s,p=e.classes,x=e.label,g=c?o[i]:o,m="string"===typeof n?function(e,n){switch(e){case"view":case"preview":return(0,E.jsx)(T.P9,{});case"edit":return(0,E.jsx)(z.Z,{});case"delete":return(0,E.jsx)(P.Z,{});case"description":return(0,E.jsx)(T.v4,{});case"share":return(0,E.jsx)(T.aA,{});case"cloud":return(0,E.jsx)(R,{active:n});case"console":return(0,E.jsx)(N,{active:n});case"download":return(0,E.jsx)(H.default,{});case"disable":return(0,E.jsx)(A,{active:n});case"format":return(0,E.jsx)(I,{active:n})}return null}(n,r):n,f=(0,E.jsx)(h.Z,{"aria-label":"string"===typeof n?n:"",size:"small",className:"".concat(p.spacing," ").concat(u?p.buttonDisabled:""),disabled:u,onClick:t?function(e){e.stopPropagation(),u?e.preventDefault():t(g)}:function(){return null},children:m});return x&&""!==x&&(f=(0,E.jsx)(k.Z,{title:x,children:f})),t?f:d()(a)?u?f:(0,E.jsx)(Z.rU,{to:"".concat(a,"/").concat(g),onClick:function(e){e.stopPropagation()},children:f}):null})),D=t(54950),W=t(36222),K=t(83738),L=t(66946),_=t(44977),O=["classes","children","variant","tooltip"],Y=(0,w.Z)((function(e){return(0,v.Z)({root:{padding:"0 15px",height:22,margin:0,color:"#5E5E5E",fontWeight:"normal",fontSize:14,whiteSpace:"nowrap",borderRight:"#E5E5E5 1px solid",borderStyle:"solid",borderRadius:0,"&:hover":{backgroundColor:"transparent",color:"#000"},"& .min-icon":{width:11},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"},"&":{"@media (max-width: 1279px)":{padding:0,display:"flex",justifyContent:"center","& .min-icon":{width:15}}}},contained:{borderColor:"#5E5E5E",background:"#5E5E5E",color:"white",borderRadius:0,height:37,fontWeight:"bold",padding:"15px 25px","& .MuiTouchRipple-root span":{backgroundColor:"#4c4c4c",borderRadius:3,opacity:.3},"&:hover":{backgroundColor:"#4c4c4c",color:"#FFF"},"& .min-icon":{width:12,marginTop:-3},"&":{"@media (max-width: 1279px)":{padding:0,display:"flex",justifyContent:"center","& .min-icon":{width:15}}}}})}))((function(e){var n=e.classes,t=e.children,o=e.variant,i=void 0===o?"text":o,a=e.tooltip,l=(0,K.Z)(e,O);return(0,E.jsx)(k.Z,{title:a||"",children:(0,E.jsx)("span",{children:(0,E.jsx)(L.Z,(0,r.Z)((0,r.Z)({},l),{},{className:(0,_.Z)(n.root,(0,W.Z)({},n.contained,"contained"===i)),sx:{"& span.buttonItem":{"@media (max-width: 1279px)":{display:"none"}},"& span":{"@media (max-width: 1279px)":{margin:0}}},children:(0,E.jsx)("span",{className:"buttonItem",children:t})}))})})})),G=t(24442),V=t(72462),U=function(e,n,t,o,r,l,s,u,h,p,x){var g=function(e,n,t,o,r,a,l){var c=(0,i.Z)(e);a&&(c=e.filter((function(e){return l.includes(e.elementKey)})));var s=n;return o&&(s-=45),r&&(s-=t),c.reduce((function(e,n){return n.width?e-n.width:e}),s)/c.filter((function(e){return!e.width})).length}(e,n,t,o,r,u,h);return e.map((function(e,n){if(u&&!h.includes(e.elementKey))return null;var t=!e.enableSort||!e.enableSort;return(0,E.jsx)(b.sg,{dataKey:e.elementKey,headerClassName:"titleHeader ".concat(e.headerTextAlign?"text-".concat(e.headerTextAlign):""),headerRenderer:function(){return(0,E.jsxs)(a.Fragment,{children:[p===e.elementKey&&(0,E.jsx)(a.Fragment,{children:"ASC"===x?(0,E.jsx)(S.Z,{}):(0,E.jsx)(y.Z,{})}),e.label]})},className:e.contentTextAlign?"text-".concat(e.contentTextAlign):"",cellRenderer:function(n){var t=n.rowData,o=!!l&&l.includes(d()(t)?t:t[s]);return function(e,n,t){var o=d()(e)?e:c()(e,n.elementKey,null),i=n.renderFullObject?e:o,r=n.renderFunction?n.renderFunction(i):i;return(0,E.jsx)(a.Fragment,{children:(0,E.jsx)("span",{className:t?"selected":"",children:r})})}(t,e,o)},width:e.width||g,disableSort:t,defaultSortDirection:"ASC"},"col-tb-".concat(n.toString()))}))},q=(0,w.Z)((function(){return(0,v.Z)((0,r.Z)((0,r.Z)({paper:{display:"flex",overflow:"auto",flexDirection:"column",padding:"8px 16px",boxShadow:"none",border:"#EAEDEE 1px solid",borderRadius:3,minHeight:200,overflowY:"scroll",position:"relative","&::-webkit-scrollbar":{width:0,height:3},"&.actionsBar":{padding:"45px 16px 8px"}},topHelpers:{position:"absolute",top:0,left:0,backgroundColor:"#F8F8F8",borderBottom:"#EAEDEE 1px solid"},noBackground:{backgroundColor:"transparent",border:0},disabled:{backgroundColor:"#fbfafa",color:"#cccccc"},defaultPaperHeight:{height:"calc(100vh - 205px)"},loadingBox:{paddingTop:"100px",paddingBottom:"100px"},overlayColumnSelection:{position:"absolute",right:0,top:0},popoverContent:{maxHeight:250,overflowY:"auto",padding:"0 10px 10px"},shownColumnsLabel:{color:"#9c9c9c",fontSize:12,padding:10,borderBottom:"#eaeaea 1px solid",width:"100%"},checkAllWrapper:{marginTop:-16},actionsScrollable:{display:"flex",overflowX:"auto",overflowY:"hidden",height:36,alignItems:"center","&::-webkit-scrollbar":{height:2,minHeight:2,borderRadius:0},"&::-webkit-scrollbar-track":{background:"#F0F0F0",borderRadius:0,boxShadow:"inset 0px 0px 0px 0px transparent",height:2},"&::-webkit-scrollbar-thumb":{background:"#5E5E5E",borderRadius:0},"&::-webkit-scrollbar-thumb:hover":{background:"#4C4C4C"}},objectsSelected:{display:"flex",flexGrow:0,whiteSpace:"nowrap",backgroundColor:"#F4F2F2",color:"#000",fontWeight:"bold",fontSize:14,height:37,maxHeight:37,padding:"0 25px",alignItems:"center",position:"relative","&::after":{content:"' '",borderRight:"#eaeaea 1px solid",width:1,height:22,display:"block",position:"absolute",right:0}},globalActions:{display:"flex",flexGrow:0,justifyContent:"flex-end"},"@global":{".rowLine":{borderBottom:"1px solid ".concat("#9c9c9c80"),height:40,color:"#393939",fontSize:14,transitionDuration:.3,"&:focus":{outline:"initial"},"&:hover:not(.ReactVirtualized__Table__headerRow)":{userSelect:"none",backgroundColor:"#ececec",fontWeight:600,"&.canClick":{cursor:"pointer"},"&.canSelectText":{userSelect:"text"}},"& .selected":{color:"#081C42",fontWeight:600}},".headerItem":{userSelect:"none",fontWeight:700,fontSize:14,fontStyle:"initial",display:"flex",alignItems:"center",outline:"none"},".ReactVirtualized__Table__headerRow":{fontWeight:700,fontSize:14,borderColor:"#39393980",textTransform:"initial"},".optionsAlignment":{textAlign:"center","& .min-icon":{width:16,height:16}},".text-center":{textAlign:"center"},".text-right":{textAlign:"right"},".progress-enabled":{paddingTop:3,display:"inline-block",margin:"0 10px",position:"relative",width:18,height:18},".progress-enabled > .MuiCircularProgress-root":{position:"absolute",left:0,top:3}}},V.lM),V.FU))}))((function(e){var n=e.itemActions,t=e.columns,i=e.onSelect,r=e.records,l=e.isLoading,s=e.loadingMessage,v=void 0===s?(0,E.jsx)(u.Z,{component:"h3",children:"Loading..."}):s,w=e.entityName,y=e.selectedItems,S=e.idField,Z=e.classes,k=e.radioSelection,F=void 0!==k&&k,B=e.customEmptyMessage,R=void 0===B?"":B,N=e.customPaperHeight,A=void 0===N?"":N,I=e.noBackground,z=void 0!==I&&I,P=e.columnsSelector,T=void 0!==P&&P,H=e.textSelectable,W=void 0!==H&&H,K=e.columnsShown,L=void 0===K?[]:K,_=e.onColumnChange,O=void 0===_?function(e,n){}:_,q=e.infiniteScrollConfig,X=e.sortConfig,J=e.autoScrollToBottom,Q=void 0!==J&&J,$=e.disabled,ee=void 0!==$&&$,ne=e.onSelectAll,te=e.rowStyle,oe=e.actionButtons,ie=e.subActions,re=e.globalActions,ae=(0,a.useState)(!1),le=(0,o.Z)(ae,2),ce=le[0],se=le[1],de=a.useState(null),ue=(0,o.Z)(de,2),he=ue[0],pe=ue[1],xe=n?n.find((function(e){return"view"===e.type})):null,ge=function(e){se(!ce),pe(e.currentTarget)},me=function(){se(!1),pe(null)};return(0,E.jsx)(x.ZP,{item:!0,xs:12,children:(0,E.jsxs)(g.Z,{className:"".concat(Z.paper," ").concat(z?Z.noBackground:"","\n ").concat(ee?Z.disabled:""," \n ").concat(""!==A?A:Z.defaultPaperHeight," ").concat(i||oe||ie||re?"actionsBar":""),children:[l&&(0,E.jsxs)(x.ZP,{container:!0,className:Z.loadingBox,children:[(0,E.jsx)(x.ZP,{item:!0,xs:12,style:{textAlign:"center"},children:v}),(0,E.jsx)(x.ZP,{item:!0,xs:12,children:(0,E.jsx)(m.Z,{})})]}),!l&&(0,E.jsx)(a.Fragment,{children:(0,E.jsxs)(x.ZP,{container:!0,direction:"row",alignItems:"center",flexGrow:"1",className:Z.topHelpers,children:[i&&(0,E.jsxs)(x.ZP,{item:!0,xs:!0,className:Z.objectsSelected,children:[(null===y||void 0===y?void 0:y.length)||0," Objects selected"]}),oe&&(0,E.jsx)(x.ZP,{item:!0,xs:!0,className:Z.actionsScrollable,flexWrap:"nowrap",children:oe.map((function(e,n){return(0,E.jsx)(Y,{variant:"text",onClick:e.action,disabled:e.disabled,id:"button-option-".concat(e.label),startIcon:e.icon,tooltip:e.tooltip,children:e.label},"tableActon-".concat(n.toString()))}))}),ie&&(0,E.jsx)(x.ZP,{item:!0,xs:!0,children:ie}),re&&(0,E.jsx)(x.ZP,{item:!0,xs:!0,className:Z.globalActions,children:re.map((function(e,n){return(0,E.jsx)(Y,{variant:"contained",onClick:e.action,disabled:e.disabled,id:"button-option-".concat(e.label),endIcon:e.icon,tooltip:e.tooltip,children:e.label},"tableActon-".concat(n.toString()))}))})]})}),T&&!l&&r.length>0&&(0,E.jsx)("div",{className:Z.overlayColumnSelection,children:function(e){return(0,E.jsxs)(a.Fragment,{children:[(0,E.jsx)(h.Z,{"aria-describedby":"columnsSelector",color:"primary",onClick:ge,size:"large",children:(0,E.jsx)(C.Z,{fontSize:"inherit"})}),(0,E.jsxs)(p.ZP,{anchorEl:he,id:"columnsSelector",open:ce,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:me,children:[(0,E.jsx)("div",{className:Z.shownColumnsLabel,children:"Shown Columns"}),(0,E.jsx)("div",{className:Z.popoverContent,children:e.map((function(e){return(0,E.jsx)(D.Z,{label:e.label,checked:L.includes(e.elementKey),onChange:function(n){O(e.elementKey,n.target.checked)},id:"chbox-".concat(e.label),name:"chbox-".concat(e.label),value:e.label},"tableColumns-".concat(e.label))}))})]})]})}(t)}),r&&!l&&r.length>0?(0,E.jsx)(b.b2,{isRowLoaded:function(e){var n=e.index;return!!r[n]},loadMoreRows:q?q.loadMoreRecords:function(){return new Promise((function(){return!0}))},rowCount:q?q.recordsCount:r.length,children:function(e){var o=e.onRowsRendered,l=e.registerChild;return(0,E.jsx)(b.qj,{children:function(e){var s=e.width,u=e.height,h=function(e,n){var t=45*n+15;return t<80?80:t>e?e:t}(s,n?n.filter((function(e){return"view"!==e.type})).length:0),p=!(!i||!y),x=!!(n&&n.length>1||n&&1===n.length&&"view"!==n[0].type);return(0,E.jsxs)(b.iA,{ref:l,disableHeader:!1,headerClassName:"headerItem",headerHeight:40,height:u,noRowsRenderer:function(){return(0,E.jsx)(a.Fragment,{children:""!==R?R:"There are no ".concat(w," yet.")})},overscanRowCount:10,rowHeight:40,width:s,rowCount:r.length,rowGetter:function(e){var n=e.index;return r[n]},onRowClick:function(e){!function(e){if(xe){var n=xe.sendOnlyId?e[S]:e,t=!1;if(xe.disableButtonFunction&&xe.disableButtonFunction(n)&&(t=!0),xe.to&&!t)return void G.Z.push("".concat(xe.to,"/").concat(n));xe.onClick&&!t&&xe.onClick(n)}}(e.rowData)},rowClassName:"rowLine ".concat(xe?"canClick":""," ").concat(!xe&&W?"canSelectText":""),onRowsRendered:o,sort:X?X.triggerSort:void 0,sortBy:X?X.currentSort:void 0,sortDirection:X?X.currentDirection:void 0,scrollToIndex:Q?r.length-1:-1,rowStyle:function(e){if(te){var n=te(e);return"string"===typeof n?c()(V.xS,n,{}):n}return{}},children:[p&&(0,E.jsx)(b.sg,{headerRenderer:function(){return(0,E.jsx)(a.Fragment,{children:ne?(0,E.jsx)("div",{className:Z.checkAllWrapper,children:(0,E.jsx)(D.Z,{label:"",onChange:ne,value:"all",id:"selectAll",name:"selectAll",checked:(null===y||void 0===y?void 0:y.length)===r.length})}):(0,E.jsx)(a.Fragment,{children:"Select"})})},dataKey:"select-".concat(S),width:45,disableSort:!0,cellRenderer:function(e){var n=e.rowData,t=!!y&&y.includes(d()(n)?n:n[S]);return(0,E.jsx)(f.Z,{value:d()(n)?n:n[S],color:"primary",inputProps:{"aria-label":"secondary checkbox"},checked:t,onChange:i,onClick:function(e){e.stopPropagation()},checkedIcon:(0,E.jsx)("span",{className:F?Z.radioSelectedIcon:Z.checkedIcon}),icon:(0,E.jsx)("span",{className:F?Z.radioUnselectedIcon:Z.unCheckedIcon})})}}),U(t,s,h,p,x,y||[],S,T,L,X?X.currentSort:"",X?X.currentDirection:void 0),x&&(0,E.jsx)(b.sg,{headerRenderer:function(){return(0,E.jsx)(a.Fragment,{children:"Options"})},dataKey:S,width:h,headerClassName:"optionsAlignment",className:"optionsAlignment",cellRenderer:function(e){var t=e.rowData,o=!!y&&y.includes(d()(t)?t:t[S]);return function(e,n,t,o){return e.map((function(e,i){if("view"===e.type)return null;var r="string"===typeof n?n:n[o],a=!1;return e.disableButtonFunction&&e.disableButtonFunction(r)&&(a=!0),e.showLoaderFunction&&e.showLoaderFunction(r)?(0,E.jsx)("div",{className:"progress-enabled",children:(0,E.jsx)(j.Z,{color:"primary",size:18,variant:"indeterminate"},"actions-loader-".concat(e.type,"-").concat(i.toString()))}):(0,E.jsx)(M,{label:e.label,type:e.type,onClick:e.onClick,to:e.to,valueToSend:n,selected:t,idField:o,sendOnlyId:!!e.sendOnlyId,disabled:a},"actions-".concat(e.type,"-").concat(i.toString()))}))}(n||[],t,o,S)}})]})}})}}):(0,E.jsx)(a.Fragment,{children:!l&&(0,E.jsx)("div",{children:""!==R?R:"There are no ".concat(w," yet.")})})]})})}))}}]); -//# sourceMappingURL=7777.7ea62662.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/7777.7ea62662.chunk.js.map b/portal-ui/build/static/js/7777.7ea62662.chunk.js.map deleted file mode 100644 index fe5505abe..000000000 --- a/portal-ui/build/static/js/7777.7ea62662.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/7777.7ea62662.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/TopActionButton.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 \"../../../../../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 index?: number;\n checked: boolean;\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 },\n });\n\nconst CheckboxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n tooltip = \"\",\n classes,\n}: CheckBoxProps) => {\n return (\n \n \n
\n }\n icon={}\n disabled={disabled}\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 from \"react\";\nimport { IIcon, selected, unSelected } from \"./common\";\n\nconst FormatDriveIcon = ({ active = false }: IIcon) => {\n return (\n \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, { Component } 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 | Component;\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 >\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) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Button, ButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: \"0 15px\",\n height: 22,\n margin: 0,\n color: \"#5E5E5E\",\n fontWeight: \"normal\",\n fontSize: 14,\n whiteSpace: \"nowrap\",\n borderRight: \"#E5E5E5 1px solid\",\n borderStyle: \"solid\",\n borderRadius: 0,\n \"&:hover\": {\n backgroundColor: \"transparent\",\n color: \"#000\",\n },\n \"& .min-icon\": {\n width: 11,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n \"&\": {\n \"@media (max-width: 1279px)\": {\n padding: 0,\n display: \"flex\",\n justifyContent: \"center\",\n \"& .min-icon\": {\n width: 15,\n },\n },\n },\n },\n contained: {\n borderColor: \"#5E5E5E\",\n background: \"#5E5E5E\",\n color: \"white\",\n borderRadius: 0,\n height: 37,\n fontWeight: \"bold\",\n padding: \"15px 25px\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: \"#4c4c4c\",\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: \"#4c4c4c\",\n color: \"#FFF\",\n },\n \"& .min-icon\": {\n width: 12,\n marginTop: -3,\n },\n \"&\": {\n \"@media (max-width: 1279px)\": {\n padding: 0,\n display: \"flex\",\n justifyContent: \"center\",\n \"& .min-icon\": {\n width: 15,\n },\n },\n },\n },\n });\n\ninterface ITopActionButton extends ButtonProps {\n classes: any;\n children: any;\n variant?: \"text\" | \"contained\";\n tooltip?: string;\n}\n\nconst TopActionButton = ({\n classes,\n children,\n variant = \"text\",\n tooltip,\n ...rest\n}: ITopActionButton) => {\n return (\n \n \n \n {children}\n \n \n \n );\n};\n\nexport default withStyles(styles)(TopActionButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 get from \"lodash/get\";\nimport isString from \"lodash/isString\";\nimport {\n Checkbox,\n Grid,\n IconButton,\n LinearProgress,\n Paper,\n Popover,\n Typography,\n} from \"@mui/material\";\nimport { AutoSizer, Column, InfiniteLoader, Table } from \"react-virtualized\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\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 TopActionButton from \"./TopActionButton\";\nimport history from \"../../../../history\";\nimport {\n checkboxIcons,\n radioIcons,\n TableRowPredefStyles,\n} from \"../FormComponents/common/styleLibrary\";\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 IActionButton {\n label: string;\n icon?: React.ReactNode;\n action: () => void;\n disabled: boolean;\n tooltip?: string;\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 generalTableActions?: () => void;\n actionButtons?: IActionButton[];\n subActions?: React.ReactNode;\n globalActions?: IActionButton[];\n}\n\nconst borderColor = \"#9c9c9c80\";\n\nconst styles = () =>\n createStyles({\n paper: {\n display: \"flex\",\n overflow: \"auto\",\n flexDirection: \"column\",\n padding: \"8px 16px\",\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 \"&.actionsBar\": {\n padding: \"45px 16px 8px\",\n },\n },\n topHelpers: {\n position: \"absolute\",\n top: 0,\n left: 0,\n backgroundColor: \"#F8F8F8\",\n borderBottom: \"#EAEDEE 1px solid\",\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 actionsScrollable: {\n display: \"flex\",\n overflowX: \"auto\",\n overflowY: \"hidden\",\n height: 36,\n alignItems: \"center\",\n \"&::-webkit-scrollbar\": {\n height: 2,\n minHeight: 2,\n borderRadius: 0,\n },\n \"&::-webkit-scrollbar-track\": {\n background: \"#F0F0F0\",\n borderRadius: 0,\n boxShadow: \"inset 0px 0px 0px 0px transparent\",\n height: 2,\n },\n \"&::-webkit-scrollbar-thumb\": {\n background: \"#5E5E5E\",\n borderRadius: 0,\n },\n \"&::-webkit-scrollbar-thumb:hover\": {\n background: \"#4C4C4C\",\n },\n },\n objectsSelected: {\n display: \"flex\",\n flexGrow: 0,\n whiteSpace: \"nowrap\",\n backgroundColor: \"#F4F2F2\",\n color: \"#000\",\n fontWeight: \"bold\",\n fontSize: 14,\n height: 37,\n maxHeight: 37,\n padding: \"0 25px\",\n alignItems: \"center\",\n position: \"relative\",\n \"&::after\": {\n content: \"' '\",\n borderRight: \"#eaeaea 1px solid\",\n width: 1,\n height: 22,\n display: \"block\",\n position: \"absolute\",\n right: 0,\n },\n },\n globalActions: {\n display: \"flex\",\n flexGrow: 0,\n justifyContent: \"flex-end\",\n },\n \"@global\": {\n \".rowLine\": {\n borderBottom: `1px solid ${borderColor}`,\n height: 40,\n color: \"#393939\",\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 color: \"#081C42\",\n fontWeight: 600,\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__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 (\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 actionButtons,\n subActions,\n globalActions,\n}: TableWrapperProps) => {\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 history.push(`${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 {isLoading && (\n \n \n {loadingMessage}\n \n \n \n \n \n )}\n {!isLoading && (\n \n \n {onSelect && (\n \n {selectedItems?.length || 0} Objects selected\n \n )}\n {actionButtons && (\n \n {actionButtons.map((button, index) => {\n return (\n \n {button.label}\n \n );\n })}\n \n )}\n {subActions && (\n \n {subActions}\n \n )}\n {globalActions && (\n \n {globalActions.map((button, index) => {\n return (\n \n {button.label}\n \n );\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 !!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 \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 (\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={`rowLine ${findView ? \"canClick\" : \"\"} ${\n !findView && textSelectable ? \"canSelectText\" : \"\"\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(TableRowPredefStyles, returnElement, {});\n }\n\n return returnElement;\n }\n\n return {};\n }}\n >\n {hasSelect && (\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) ? rowData : 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 Options}\n dataKey={idField}\n width={optionsWidth}\n headerClassName=\"optionsAlignment\"\n className=\"optionsAlignment\"\n cellRenderer={({ rowData }) => {\n const isSelected = selectedItems\n ? selectedItems.includes(\n isString(rowData) ? rowData : 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\nexport default withStyles(styles)(TableWrapper);\n"],"names":["withStyles","theme","createStyles","fieldBasic","tooltipHelper","checkboxIcons","fieldContainer","display","justifyContent","alignItems","margin","marginBottom","flexBasis","label","onChange","value","id","name","checked","disabled","tooltip","classes","item","xs","className","color","inputProps","checkedIcon","icon","unCheckedIcon","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","unSelected","selected","active","xmlns","width","height","viewBox","fill","d","spacing","buttonDisabled","cursor","filter","opacity","type","onClick","valueToSend","idField","to","sendOnlyId","valueClick","EditIcon","TrashIcon","DownloadIcon","DisableIcon","defineIcon","buttonElement","IconButton","size","e","stopPropagation","preventDefault","Tooltip","isString","root","padding","fontWeight","fontSize","whiteSpace","borderRight","borderStyle","borderRadius","backgroundColor","borderColor","contained","background","marginTop","children","variant","rest","Button","clsx","sx","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","boxShadow","border","minHeight","overflowY","position","topHelpers","top","left","borderBottom","noBackground","defaultPaperHeight","loadingBox","paddingTop","paddingBottom","overlayColumnSelection","right","popoverContent","maxHeight","shownColumnsLabel","checkAllWrapper","actionsScrollable","overflowX","objectsSelected","flexGrow","content","globalActions","transitionDuration","outline","userSelect","fontStyle","textTransform","textAlign","radioIcons","itemActions","onSelect","records","isLoading","loadingMessage","Typography","component","entityName","radioSelection","customEmptyMessage","customPaperHeight","textSelectable","onColumnChange","state","infiniteScrollConfig","sortConfig","autoScrollToBottom","onSelectAll","rowStyle","actionButtons","subActions","useState","columnSelectorOpen","setColumnSelectorOpen","React","anchorEl","setAnchorEl","findView","find","openColumnsSelector","event","currentTarget","closeColumnSelector","Grid","Paper","container","style","LinearProgress","direction","flexWrap","button","action","startIcon","endIcon","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","history","clickAction","rowClassName","sort","triggerSort","undefined","sortBy","currentSort","currentDirection","scrollToIndex","r","returnElement","TableRowPredefStyles","Checkbox","radioSelectedIcon","radioUnselectedIcon","actions","vlSend","showLoaderFunction","CircularProgress","elementActions"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/7842.6ec32dd7.chunk.js b/portal-ui/build/static/js/7842.dd1f83af.chunk.js similarity index 98% rename from portal-ui/build/static/js/7842.6ec32dd7.chunk.js rename to portal-ui/build/static/js/7842.dd1f83af.chunk.js index ee33a0bd0..f31d10fd3 100644 --- a/portal-ui/build/static/js/7842.6ec32dd7.chunk.js +++ b/portal-ui/build/static/js/7842.dd1f83af.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[7842],{8235:function(e,n,t){t(50390);var r=t(86509),i=t(4285),o=t(25594),a=t(62559);n.Z=(0,i.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,i=e.help;return(0,a.jsx)("div",{className:n.root,children:(0,a.jsxs)(o.ZP,{container:!0,children:[(0,a.jsxs)(o.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,r]}),(0,a.jsx)(o.ZP,{item:!0,xs:12,className:n.helpText,children:i})]})})}))},53224:function(e,n,t){var r=t(18489),i=t(83738),o=(t(50390),t(70758)),a=t(62449),s=t(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,a.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,r=n.color,i=e.palette.primary.main;return"primary"===r&&"contained"===t?i=e.palette.primary.contrastText:"primary"===r&&"outlined"===t?i=e.palette.primary.main:"secondary"===r&&(i=e.palette.secondary.main),i}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,a=e.text,d=void 0===a?"":a,u=e.disabled,m=void 0!==u&&u,p=e.tooltip,h=e.icon,f=void 0===h?null:h,x=(0,i.Z)(e,l);return(0,s.jsxs)(o.Z,(0,r.Z)((0,r.Z)({classes:n,tooltip:p||d,variant:"outlined",onClick:t,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},x),{},{children:[(0,s.jsx)("span",{children:d})," ",f]}))}},11835:function(e,n,t){var r=t(18489),i=t(83738),o=(t(50390),t(86509)),a=t(4285),s=t(62559),l=["classes","children"];n.Z=(0,a.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,i.Z)(e,l);return(0,s.jsx)("button",(0,r.Z)((0,r.Z)({},o),{},{className:n.root,children:t}))}))},70758:function(e,n,t){var r=t(18489),i=t(36222),o=t(83738),a=(t(50390),t(86509)),s=t(4285),l=t(95467),c=t(94187),d=t(44977),u=t(62559),m=["classes","children","variant","tooltip"];n.Z=(0,s.Z)((function(e){return(0,a.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,a=e.variant,s=void 0===a?"outlined":a,p=e.tooltip,h=(0,o.Z)(e,m),f=(0,u.jsx)(l.Z,(0,r.Z)((0,r.Z)({},h),{},{className:(0,d.Z)(n.root,(0,i.Z)({},n.contained,"contained"===s)),children:t}));return p&&""!==p?(0,u.jsx)(c.Z,{title:p,children:(0,u.jsx)("span",{children:f})}):f}))},37882:function(e,n,t){var r=t(18489),i=t(50390),o=t(62559);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function t(t){return(0,o.jsx)(i.Suspense,{fallback:n,children:(0,o.jsx)(e,(0,r.Z)({},t))})}return t}},10660:function(e,n,t){t(50390);var r=t(25594),i=t(56805),o=t(8235),a=t(62559);n.Z=function(e){var n=e.iconComponent,t=e.entity;return(0,a.jsx)(r.ZP,{container:!0,alignItems:"center",children:(0,a.jsx)(r.ZP,{item:!0,xs:12,children:(0,a.jsx)(o.Z,{title:"".concat(t," not available"),iconComponent:n,help:(0,a.jsxs)(i.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,a.jsx)("div",{children:"This feature is not available for a single-disk setup. "}),(0,a.jsxs)("div",{children:["Please deploy a server in"," ",(0,a.jsx)("a",{href:"https://docs.min.io/minio/baremetal/installation/deploy-minio-distributed.html?ref=con",target:"_blank",rel:"noreferrer",children:"Distributed Mode"})," ","to use this feature."]})]})})})})}},25534:function(e,n,t){var r=t(18489),i=(t(50390),t(25594)),o=t(86509),a=t(4285),s=t(72462),l=t(62559);n.Z=(0,a.Z)((function(e){return(0,o.Z)((0,r.Z)({},s.Bw))}))((function(e){var n=e.classes,t=e.className,r=void 0===t?"":t,o=e.children;return(0,l.jsx)("div",{className:n.contentSpacer,children:(0,l.jsx)(i.ZP,{container:!0,children:(0,l.jsx)(i.ZP,{item:!0,xs:12,className:r,children:o})})})}))},35721:function(e,n,t){t(50390);var r=t(34424),i=t(25594),o=t(86509),a=t(4285),s=t(35477),l=t(95467),c=t(26805),d=t(44078),u=t(5265),m=t(11387),p=t(62559),h={toggleList:u.kQ},f=(0,r.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),h);n.Z=f((0,a.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,r=e.actions,o=e.sidebarOpen,a=e.operatorMode,u=e.managerObjects,h=e.toggleList,f=e.middleComponent;return(0,p.jsxs)(i.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,p.jsx)("div",{className:n.logo,children:a?(0,p.jsx)(c.Z,{}):(0,p.jsx)(d.Z,{})}),(0,p.jsx)(s.Z,{variant:"h4",className:n.labelStyle,children:t})]}),f&&(0,p.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,p.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.rightMenu,children:[r&&r,u&&u.length>0&&(0,p.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){h()},size:"large",children:(0,p.jsx)(m.gx,{})})]})]})})))},23165:function(e,n,t){var r=t(36222),i=t(18489),o=(t(50390),t(65771)),a=t(13336),s=t(12066),l=t(4285),c=t(86509),d=t(72462),u=t(62559);n.Z=(0,l.Z)((function(e){return(0,c.Z)({searchField:(0,i.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,i=e.classes,l=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,m=e.overrideClass,p=e.value,h=(0,r.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(o.Z,{position:d,className:i.adornment,children:(0,u.jsx)(a.Z,{})}));return(0,u.jsx)(s.Z,{placeholder:t,className:m||i.searchField,id:"search-resource",label:"",InputProps:h,onChange:function(e){l(e.target.value)},variant:"standard",value:p})}))},57842:function(e,n,t){t.r(n);var r=t(23430),i=t(18489),o=t(50390),a=t(38342),s=t.n(a),l=t(34424),c=t(86509),d=t(4285),u=t(56805),m=t(81378),p=t(25594),h=t(72462),f=t(11387),x=t(44149),g=t(30324),b=t(17777),Z=t(18221),j=t(35721),v=t(8235),y=t(11835),C=t(25534),P=t(23165),S=t(37882),T=t(10660),F=t(49495),w=t(15607),k=t(51444),E=t(53224),N=t(62559),I=(0,S.Z)(o.lazy((function(){return Promise.all([t.e(5444),t.e(1069)]).then(t.bind(t,81069))}))),O={setErrorSnackMessage:x.Ih},M=(0,l.$j)((function(e){return{distributedSetup:e.system.distributedSetup}}),O);n.default=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.OR),h.qg),h.Je),h.fc),(0,h.Bz)(e.spacing(4))),{},{customConfigurationPage:{minHeight:400},actionsTray:(0,i.Z)({},h.OR.actionsTray),searchField:(0,i.Z)((0,i.Z)({},h.qg.searchField),{},{marginRight:"auto",maxWidth:380}),rightActionButtons:{display:"flex","& button":{whiteSpace:"nowrap"}}},h.VX))}))(M((function(e){var n=e.classes,t=e.history,i=e.setErrorSnackMessage,a=e.distributedSetup,l=(0,o.useState)([]),c=(0,r.Z)(l,2),d=c[0],h=c[1],x=(0,o.useState)(""),S=(0,r.Z)(x,2),O=S[0],M=S[1],L=(0,o.useState)(!0),R=(0,r.Z)(L,2),A=R[0],B=R[1],z=(0,o.useState)(!1),_=(0,r.Z)(z,2),D=_[0],X=_[1],K=(0,o.useState)({type:"unsupported"}),W=(0,r.Z)(K,2),H=W[0],q=W[1];(0,o.useEffect)((function(){if(A)if(a){g.Z.invoke("GET","/api/v1/admin/tiers").then((function(e){h(e.items||[]),B(!1)})).catch((function(e){i(e),B(!1)}))}else B(!1)}),[A,i,a]);var $=d.filter((function(e){if(""===O)return!0;var n=s()(e,"".concat(e.type,".name"),""),t=s()(e,"type","");return n.indexOf(O)>=0||t.indexOf(O)>=0})),G=function(){t.push(F.gA.TIERS_ADD)};return(0,N.jsxs)(o.Fragment,{children:[D&&(0,N.jsx)(I,{open:D,tierData:H,closeModalAndRefresh:function(){X(!1)}}),(0,N.jsx)(j.Z,{label:"Tiers"}),(0,N.jsx)(C.Z,{children:a?(0,N.jsxs)(o.Fragment,{children:[(0,N.jsxs)(p.ZP,{item:!0,xs:12,className:n.actionsTray,children:[(0,N.jsx)(P.Z,{placeholder:"Filter",onChange:M,overrideClass:n.searchField,value:O}),(0,N.jsxs)("div",{className:n.rightActionButtons,children:[(0,N.jsx)(E.Z,{icon:(0,N.jsx)(Z.default,{}),color:"primary",text:"Refresh List",onClick:function(){B(!0)}}),(0,N.jsx)(w.Z,{scopes:[F.Ft.ADMIN_SET_TIER],resource:F.C3,errorProps:{disabled:!0},children:(0,N.jsx)(E.Z,{icon:(0,N.jsx)(f.dt,{}),color:"primary",text:"Create Tier",onClick:G,variant:"contained"})})]})]}),A&&(0,N.jsx)(m.Z,{}),!A&&(0,N.jsxs)(o.Fragment,{children:[d.length>0&&(0,N.jsxs)(o.Fragment,{children:[(0,N.jsx)(p.ZP,{item:!0,xs:12,className:n.tableBlock,children:(0,N.jsx)(w.Z,{scopes:[F.Ft.ADMIN_LIST_TIERS],resource:F.C3,errorProps:{disabled:!0},children:(0,N.jsx)(b.Z,{itemActions:[{type:"edit",onClick:function(e){q(e),X(!0)}}],columns:[{label:"Tier Name",elementKey:"type",renderFunction:function(e){var n=s()(e,"".concat(e.type,".name"),"");return null!==n?(0,N.jsx)("b",{children:n}):""},renderFullObject:!0},{label:"Type",elementKey:"type",renderFunction:function(e){var n=(k.Bh.find((function(n){return n.serviceName===e}))||{}).logoXs;return e?(0,N.jsx)(u.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{width:"18px",height:"22px"}},children:n}):""},width:50},{label:"Endpoint",elementKey:"type",renderFunction:function(e){var n=s()(e,"".concat(e.type,".endpoint"),"");return null!==n?n:""},renderFullObject:!0},{label:"Bucket",elementKey:"type",renderFunction:function(e){var n=s()(e,"".concat(e.type,".bucket"),"");return null!==n?n:""},renderFullObject:!0},{label:"Prefix",elementKey:"type",renderFunction:function(e){var n=s()(e,"".concat(e.type,".prefix"),"");return null!==n?n:""},renderFullObject:!0},{label:"Region",elementKey:"type",renderFunction:function(e){var n=s()(e,"".concat(e.type,".region"),"");return null!==n?n:""},renderFullObject:!0}],isLoading:A,records:$,entityName:"Tiers",idField:"service_name",customPaperHeight:n.customConfigurationPage})})}),(0,N.jsx)(p.ZP,{item:!0,xs:12,sx:{marginTop:"15px"},children:(0,N.jsx)(v.Z,{title:"Learn more about TIERS",iconComponent:(0,N.jsx)(f.y2,{}),help:(0,N.jsxs)(o.Fragment,{children:["Tiers are used by the MinIO Object Lifecycle Management which allows creating rules for time or date based automatic transition or expiry of objects. For object transition, MinIO automatically moves the object to a configured remote storage tier.",(0,N.jsx)("br",{}),(0,N.jsx)("br",{}),"You can learn more at our"," ",(0,N.jsx)("a",{href:"https://docs.min.io/minio/baremetal/lifecycle-management/lifecycle-management-overview.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]}),0===d.length&&(0,N.jsx)(p.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,N.jsx)(p.ZP,{item:!0,xs:8,children:(0,N.jsx)(v.Z,{title:"Tiers",iconComponent:(0,N.jsx)(f.y2,{}),help:(0,N.jsxs)(o.Fragment,{children:["Tiers are used by the MinIO Object Lifecycle Management which allows creating rules for time or date based automatic transition or expiry of objects. For object transition, MinIO automatically moves the object to a configured remote storage tier.",(0,N.jsx)("br",{}),(0,N.jsx)("br",{}),"To get started,"," ",(0,N.jsx)(y.Z,{onClick:G,children:"Add A Tier"}),"."]})})})})]})]}):(0,N.jsx)(T.Z,{entity:"Tiers",iconComponent:(0,N.jsx)(f.gX,{})})})]})})))},51444:function(e,n,t){t.d(n,{Pp:function(){return o},f0:function(){return a},b2:function(){return s},vB:function(){return l},Bh:function(){return c}});var r=t(11387),i=t(62559),o="minio",a="gcs",s="s3",l="azure",c=[{serviceName:o,targetTitle:"MinIO",logo:(0,i.jsx)(r.$E,{}),logoXs:(0,i.jsx)(r.YE,{})},{serviceName:a,targetTitle:"Google Cloud Storage",logo:(0,i.jsx)(r.UQ,{}),logoXs:(0,i.jsx)(r.Vw,{})},{serviceName:s,targetTitle:"AWS S3",logo:(0,i.jsx)(r.fe,{}),logoXs:(0,i.jsx)(r.Xj,{})},{serviceName:l,targetTitle:"Azure",logo:(0,i.jsx)(r.jz,{}),logoXs:(0,i.jsx)(r.nA,{})}]},65771:function(e,n,t){t.d(n,{Z:function(){return y}});var r=t(36222),i=t(1048),o=t(32793),a=t(50390),s=t(44977),l=t(50076),c=t(91442),d=t(35477),u=t(14478),m=t(23060),p=t(8208),h=t(10594);function f(e){return(0,h.Z)("MuiInputAdornment",e)}var x,g=(0,t(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),b=t(15573),Z=t(62559),j=["children","className","component","disablePointerEvents","disableTypography","position","variant"],v=(0,p.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,n["position".concat((0,c.Z)(t.position))],!0===t.disablePointerEvents&&n.disablePointerEvents,n[t.variant]]}})((function(e){var n=e.theme,t=e.ownerState;return(0,o.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:n.palette.action.active},"filled"===t.variant&&(0,r.Z)({},"&.".concat(g.positionStart,"&:not(.").concat(g.hiddenLabel,")"),{marginTop:16}),"start"===t.position&&{marginRight:8},"end"===t.position&&{marginLeft:8},!0===t.disablePointerEvents&&{pointerEvents:"none"})})),y=a.forwardRef((function(e,n){var t=(0,b.Z)({props:e,name:"MuiInputAdornment"}),r=t.children,p=t.className,h=t.component,g=void 0===h?"div":h,y=t.disablePointerEvents,C=void 0!==y&&y,P=t.disableTypography,S=void 0!==P&&P,T=t.position,F=t.variant,w=(0,i.Z)(t,j),k=(0,m.Z)()||{},E=F;F&&k.variant,k&&!E&&(E=k.variant);var N=(0,o.Z)({},t,{hiddenLabel:k.hiddenLabel,size:k.size,disablePointerEvents:C,position:T,variant:E}),I=function(e){var n=e.classes,t=e.disablePointerEvents,r=e.hiddenLabel,i=e.position,o=e.size,a=e.variant,s={root:["root",t&&"disablePointerEvents",i&&"position".concat((0,c.Z)(i)),a,r&&"hiddenLabel",o&&"size".concat((0,c.Z)(o))]};return(0,l.Z)(s,f,n)}(N);return(0,Z.jsx)(u.Z.Provider,{value:null,children:(0,Z.jsx)(v,(0,o.Z)({as:g,ownerState:N,className:(0,s.Z)(I.root,p),ref:n},w,{children:"string"!==typeof r||S?(0,Z.jsxs)(a.Fragment,{children:["start"===T?x||(x=(0,Z.jsx)("span",{className:"notranslate",children:"\u200b"})):null,r]}):(0,Z.jsx)(d.Z,{color:"text.secondary",children:r})}))})}))},83738:function(e,n,t){function r(e,n){if(null==e)return{};var t,r,i=function(e,n){if(null==e)return{};var t,r,i={},o=Object.keys(e);for(r=0;r=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}t.d(n,{Z:function(){return r}})}}]); -//# sourceMappingURL=7842.6ec32dd7.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[7842],{8235:function(e,n,t){t(50390);var r=t(86509),i=t(4285),o=t(25594),a=t(62559);n.Z=(0,i.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,i=e.help;return(0,a.jsx)("div",{className:n.root,children:(0,a.jsxs)(o.ZP,{container:!0,children:[(0,a.jsxs)(o.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,r]}),(0,a.jsx)(o.ZP,{item:!0,xs:12,className:n.helpText,children:i})]})})}))},53224:function(e,n,t){var r=t(18489),i=t(83738),o=(t(50390),t(70758)),a=t(62449),s=t(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,a.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,r=n.color,i=e.palette.primary.main;return"primary"===r&&"contained"===t?i=e.palette.primary.contrastText:"primary"===r&&"outlined"===t?i=e.palette.primary.main:"secondary"===r&&(i=e.palette.secondary.main),i}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,a=e.text,d=void 0===a?"":a,u=e.disabled,m=void 0!==u&&u,p=e.tooltip,h=e.icon,f=void 0===h?null:h,x=(0,i.Z)(e,l);return(0,s.jsxs)(o.Z,(0,r.Z)((0,r.Z)({classes:n,tooltip:p||d,variant:"outlined",onClick:t,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},x),{},{children:[(0,s.jsx)("span",{children:d})," ",f]}))}},11835:function(e,n,t){var r=t(18489),i=t(83738),o=(t(50390),t(86509)),a=t(4285),s=t(62559),l=["classes","children"];n.Z=(0,a.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,i.Z)(e,l);return(0,s.jsx)("button",(0,r.Z)((0,r.Z)({},o),{},{className:n.root,children:t}))}))},70758:function(e,n,t){var r=t(18489),i=t(36222),o=t(83738),a=(t(50390),t(86509)),s=t(4285),l=t(95467),c=t(94187),d=t(44977),u=t(62559),m=["classes","children","variant","tooltip"];n.Z=(0,s.Z)((function(e){return(0,a.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,a=e.variant,s=void 0===a?"outlined":a,p=e.tooltip,h=(0,o.Z)(e,m),f=(0,u.jsx)(l.Z,(0,r.Z)((0,r.Z)({},h),{},{className:(0,d.Z)(n.root,(0,i.Z)({},n.contained,"contained"===s)),children:t}));return p&&""!==p?(0,u.jsx)(c.Z,{title:p,children:(0,u.jsx)("span",{children:f})}):f}))},37882:function(e,n,t){var r=t(18489),i=t(50390),o=t(62559);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function t(t){return(0,o.jsx)(i.Suspense,{fallback:n,children:(0,o.jsx)(e,(0,r.Z)({},t))})}return t}},10660:function(e,n,t){t(50390);var r=t(25594),i=t(56805),o=t(8235),a=t(62559);n.Z=function(e){var n=e.iconComponent,t=e.entity;return(0,a.jsx)(r.ZP,{container:!0,alignItems:"center",children:(0,a.jsx)(r.ZP,{item:!0,xs:12,children:(0,a.jsx)(o.Z,{title:"".concat(t," not available"),iconComponent:n,help:(0,a.jsxs)(i.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,a.jsx)("div",{children:"This feature is not available for a single-disk setup. "}),(0,a.jsxs)("div",{children:["Please deploy a server in"," ",(0,a.jsx)("a",{href:"https://docs.min.io/minio/baremetal/installation/deploy-minio-distributed.html?ref=con",target:"_blank",rel:"noreferrer",children:"Distributed Mode"})," ","to use this feature."]})]})})})})}},25534:function(e,n,t){var r=t(18489),i=(t(50390),t(25594)),o=t(86509),a=t(4285),s=t(72462),l=t(62559);n.Z=(0,a.Z)((function(e){return(0,o.Z)((0,r.Z)({},s.Bw))}))((function(e){var n=e.classes,t=e.className,r=void 0===t?"":t,o=e.children;return(0,l.jsx)("div",{className:n.contentSpacer,children:(0,l.jsx)(i.ZP,{container:!0,children:(0,l.jsx)(i.ZP,{item:!0,xs:12,className:r,children:o})})})}))},35721:function(e,n,t){t(50390);var r=t(34424),i=t(25594),o=t(86509),a=t(4285),s=t(35477),l=t(95467),c=t(26805),d=t(44078),u=t(5265),m=t(98280),p=t(62559),h={toggleList:u.kQ},f=(0,r.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),h);n.Z=f((0,a.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,r=e.actions,o=e.sidebarOpen,a=e.operatorMode,u=e.managerObjects,h=e.toggleList,f=e.middleComponent;return(0,p.jsxs)(i.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,p.jsx)("div",{className:n.logo,children:a?(0,p.jsx)(c.Z,{}):(0,p.jsx)(d.Z,{})}),(0,p.jsx)(s.Z,{variant:"h4",className:n.labelStyle,children:t})]}),f&&(0,p.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,p.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.rightMenu,children:[r&&r,u&&u.length>0&&(0,p.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){h()},size:"large",children:(0,p.jsx)(m.gx,{})})]})]})})))},23165:function(e,n,t){var r=t(36222),i=t(18489),o=(t(50390),t(65771)),a=t(13336),s=t(12066),l=t(4285),c=t(86509),d=t(72462),u=t(62559);n.Z=(0,l.Z)((function(e){return(0,c.Z)({searchField:(0,i.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,i=e.classes,l=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,m=e.overrideClass,p=e.value,h=(0,r.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(o.Z,{position:d,className:i.adornment,children:(0,u.jsx)(a.Z,{})}));return(0,u.jsx)(s.Z,{placeholder:t,className:m||i.searchField,id:"search-resource",label:"",InputProps:h,onChange:function(e){l(e.target.value)},variant:"standard",value:p})}))},57842:function(e,n,t){t.r(n);var r=t(23430),i=t(18489),o=t(50390),a=t(38342),s=t.n(a),l=t(34424),c=t(86509),d=t(4285),u=t(56805),m=t(81378),p=t(25594),h=t(72462),f=t(98280),x=t(44149),g=t(30324),b=t(17777),Z=t(18221),j=t(35721),v=t(8235),y=t(11835),C=t(25534),P=t(23165),S=t(37882),T=t(10660),F=t(49495),w=t(15607),k=t(51444),E=t(53224),N=t(62559),I=(0,S.Z)(o.lazy((function(){return Promise.all([t.e(5444),t.e(1069)]).then(t.bind(t,81069))}))),O={setErrorSnackMessage:x.Ih},M=(0,l.$j)((function(e){return{distributedSetup:e.system.distributedSetup}}),O);n.default=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.OR),h.qg),h.Je),h.fc),(0,h.Bz)(e.spacing(4))),{},{customConfigurationPage:{minHeight:400},actionsTray:(0,i.Z)({},h.OR.actionsTray),searchField:(0,i.Z)((0,i.Z)({},h.qg.searchField),{},{marginRight:"auto",maxWidth:380}),rightActionButtons:{display:"flex","& button":{whiteSpace:"nowrap"}}},h.VX))}))(M((function(e){var n=e.classes,t=e.history,i=e.setErrorSnackMessage,a=e.distributedSetup,l=(0,o.useState)([]),c=(0,r.Z)(l,2),d=c[0],h=c[1],x=(0,o.useState)(""),S=(0,r.Z)(x,2),O=S[0],M=S[1],L=(0,o.useState)(!0),R=(0,r.Z)(L,2),A=R[0],B=R[1],z=(0,o.useState)(!1),_=(0,r.Z)(z,2),D=_[0],X=_[1],K=(0,o.useState)({type:"unsupported"}),W=(0,r.Z)(K,2),H=W[0],q=W[1];(0,o.useEffect)((function(){if(A)if(a){g.Z.invoke("GET","/api/v1/admin/tiers").then((function(e){h(e.items||[]),B(!1)})).catch((function(e){i(e),B(!1)}))}else B(!1)}),[A,i,a]);var $=d.filter((function(e){if(""===O)return!0;var n=s()(e,"".concat(e.type,".name"),""),t=s()(e,"type","");return n.indexOf(O)>=0||t.indexOf(O)>=0})),G=function(){t.push(F.gA.TIERS_ADD)};return(0,N.jsxs)(o.Fragment,{children:[D&&(0,N.jsx)(I,{open:D,tierData:H,closeModalAndRefresh:function(){X(!1)}}),(0,N.jsx)(j.Z,{label:"Tiers"}),(0,N.jsx)(C.Z,{children:a?(0,N.jsxs)(o.Fragment,{children:[(0,N.jsxs)(p.ZP,{item:!0,xs:12,className:n.actionsTray,children:[(0,N.jsx)(P.Z,{placeholder:"Filter",onChange:M,overrideClass:n.searchField,value:O}),(0,N.jsxs)("div",{className:n.rightActionButtons,children:[(0,N.jsx)(E.Z,{icon:(0,N.jsx)(Z.default,{}),color:"primary",text:"Refresh List",onClick:function(){B(!0)}}),(0,N.jsx)(w.Z,{scopes:[F.Ft.ADMIN_SET_TIER],resource:F.C3,errorProps:{disabled:!0},children:(0,N.jsx)(E.Z,{icon:(0,N.jsx)(f.dt,{}),color:"primary",text:"Create Tier",onClick:G,variant:"contained"})})]})]}),A&&(0,N.jsx)(m.Z,{}),!A&&(0,N.jsxs)(o.Fragment,{children:[d.length>0&&(0,N.jsxs)(o.Fragment,{children:[(0,N.jsx)(p.ZP,{item:!0,xs:12,className:n.tableBlock,children:(0,N.jsx)(w.Z,{scopes:[F.Ft.ADMIN_LIST_TIERS],resource:F.C3,errorProps:{disabled:!0},children:(0,N.jsx)(b.Z,{itemActions:[{type:"edit",onClick:function(e){q(e),X(!0)}}],columns:[{label:"Tier Name",elementKey:"type",renderFunction:function(e){var n=s()(e,"".concat(e.type,".name"),"");return null!==n?(0,N.jsx)("b",{children:n}):""},renderFullObject:!0},{label:"Type",elementKey:"type",renderFunction:function(e){var n=(k.Bh.find((function(n){return n.serviceName===e}))||{}).logoXs;return e?(0,N.jsx)(u.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{width:"18px",height:"22px"}},children:n}):""},width:50},{label:"Endpoint",elementKey:"type",renderFunction:function(e){var n=s()(e,"".concat(e.type,".endpoint"),"");return null!==n?n:""},renderFullObject:!0},{label:"Bucket",elementKey:"type",renderFunction:function(e){var n=s()(e,"".concat(e.type,".bucket"),"");return null!==n?n:""},renderFullObject:!0},{label:"Prefix",elementKey:"type",renderFunction:function(e){var n=s()(e,"".concat(e.type,".prefix"),"");return null!==n?n:""},renderFullObject:!0},{label:"Region",elementKey:"type",renderFunction:function(e){var n=s()(e,"".concat(e.type,".region"),"");return null!==n?n:""},renderFullObject:!0}],isLoading:A,records:$,entityName:"Tiers",idField:"service_name",customPaperHeight:n.customConfigurationPage})})}),(0,N.jsx)(p.ZP,{item:!0,xs:12,sx:{marginTop:"15px"},children:(0,N.jsx)(v.Z,{title:"Learn more about TIERS",iconComponent:(0,N.jsx)(f.y2,{}),help:(0,N.jsxs)(o.Fragment,{children:["Tiers are used by the MinIO Object Lifecycle Management which allows creating rules for time or date based automatic transition or expiry of objects. For object transition, MinIO automatically moves the object to a configured remote storage tier.",(0,N.jsx)("br",{}),(0,N.jsx)("br",{}),"You can learn more at our"," ",(0,N.jsx)("a",{href:"https://docs.min.io/minio/baremetal/lifecycle-management/lifecycle-management-overview.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]}),0===d.length&&(0,N.jsx)(p.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,N.jsx)(p.ZP,{item:!0,xs:8,children:(0,N.jsx)(v.Z,{title:"Tiers",iconComponent:(0,N.jsx)(f.y2,{}),help:(0,N.jsxs)(o.Fragment,{children:["Tiers are used by the MinIO Object Lifecycle Management which allows creating rules for time or date based automatic transition or expiry of objects. For object transition, MinIO automatically moves the object to a configured remote storage tier.",(0,N.jsx)("br",{}),(0,N.jsx)("br",{}),"To get started,"," ",(0,N.jsx)(y.Z,{onClick:G,children:"Add A Tier"}),"."]})})})})]})]}):(0,N.jsx)(T.Z,{entity:"Tiers",iconComponent:(0,N.jsx)(f.gX,{})})})]})})))},51444:function(e,n,t){t.d(n,{Pp:function(){return o},f0:function(){return a},b2:function(){return s},vB:function(){return l},Bh:function(){return c}});var r=t(98280),i=t(62559),o="minio",a="gcs",s="s3",l="azure",c=[{serviceName:o,targetTitle:"MinIO",logo:(0,i.jsx)(r.$E,{}),logoXs:(0,i.jsx)(r.YE,{})},{serviceName:a,targetTitle:"Google Cloud Storage",logo:(0,i.jsx)(r.UQ,{}),logoXs:(0,i.jsx)(r.Vw,{})},{serviceName:s,targetTitle:"AWS S3",logo:(0,i.jsx)(r.fe,{}),logoXs:(0,i.jsx)(r.Xj,{})},{serviceName:l,targetTitle:"Azure",logo:(0,i.jsx)(r.jz,{}),logoXs:(0,i.jsx)(r.nA,{})}]},65771:function(e,n,t){t.d(n,{Z:function(){return y}});var r=t(36222),i=t(1048),o=t(32793),a=t(50390),s=t(44977),l=t(50076),c=t(91442),d=t(35477),u=t(14478),m=t(23060),p=t(8208),h=t(10594);function f(e){return(0,h.Z)("MuiInputAdornment",e)}var x,g=(0,t(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),b=t(15573),Z=t(62559),j=["children","className","component","disablePointerEvents","disableTypography","position","variant"],v=(0,p.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,n["position".concat((0,c.Z)(t.position))],!0===t.disablePointerEvents&&n.disablePointerEvents,n[t.variant]]}})((function(e){var n=e.theme,t=e.ownerState;return(0,o.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:n.palette.action.active},"filled"===t.variant&&(0,r.Z)({},"&.".concat(g.positionStart,"&:not(.").concat(g.hiddenLabel,")"),{marginTop:16}),"start"===t.position&&{marginRight:8},"end"===t.position&&{marginLeft:8},!0===t.disablePointerEvents&&{pointerEvents:"none"})})),y=a.forwardRef((function(e,n){var t=(0,b.Z)({props:e,name:"MuiInputAdornment"}),r=t.children,p=t.className,h=t.component,g=void 0===h?"div":h,y=t.disablePointerEvents,C=void 0!==y&&y,P=t.disableTypography,S=void 0!==P&&P,T=t.position,F=t.variant,w=(0,i.Z)(t,j),k=(0,m.Z)()||{},E=F;F&&k.variant,k&&!E&&(E=k.variant);var N=(0,o.Z)({},t,{hiddenLabel:k.hiddenLabel,size:k.size,disablePointerEvents:C,position:T,variant:E}),I=function(e){var n=e.classes,t=e.disablePointerEvents,r=e.hiddenLabel,i=e.position,o=e.size,a=e.variant,s={root:["root",t&&"disablePointerEvents",i&&"position".concat((0,c.Z)(i)),a,r&&"hiddenLabel",o&&"size".concat((0,c.Z)(o))]};return(0,l.Z)(s,f,n)}(N);return(0,Z.jsx)(u.Z.Provider,{value:null,children:(0,Z.jsx)(v,(0,o.Z)({as:g,ownerState:N,className:(0,s.Z)(I.root,p),ref:n},w,{children:"string"!==typeof r||S?(0,Z.jsxs)(a.Fragment,{children:["start"===T?x||(x=(0,Z.jsx)("span",{className:"notranslate",children:"\u200b"})):null,r]}):(0,Z.jsx)(d.Z,{color:"text.secondary",children:r})}))})}))},83738:function(e,n,t){function r(e,n){if(null==e)return{};var t,r,i=function(e,n){if(null==e)return{};var t,r,i={},o=Object.keys(e);for(r=0;r=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}t.d(n,{Z:function(){return r}})}}]); +//# sourceMappingURL=7842.dd1f83af.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/7842.6ec32dd7.chunk.js.map b/portal-ui/build/static/js/7842.dd1f83af.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/7842.6ec32dd7.chunk.js.map rename to portal-ui/build/static/js/7842.dd1f83af.chunk.js.map index 53a3b6bf7..ead676a67 100644 --- a/portal-ui/build/static/js/7842.6ec32dd7.chunk.js.map +++ b/portal-ui/build/static/js/7842.dd1f83af.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/7842.6ec32dd7.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/DistributedOnly/DistributedOnly.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Configurations/TiersConfiguration/ListTiersConfiguration.tsx","screens/Console/Configurations/TiersConfiguration/utils.tsx","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { 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","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\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 get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box, LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n settingsCommon,\n tableStyles,\n typesSelection,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { AddIcon, TiersIcon, TiersNotAvailableIcon } from \"../../../../icons\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ITierElement, ITierResponse } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\n\nimport RefreshIcon from \"../../../../icons/RefreshIcon\";\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\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport { AppState } from \"../../../../store\";\nimport DistributedOnly from \"../../Common/DistributedOnly/DistributedOnly\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_SCOPES,\n} from \"../../../../common/SecureComponent/permissions\";\nimport SecureComponent from \"../../../../common/SecureComponent/SecureComponent\";\nimport { tierTypes } from \"./utils\";\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\nconst UpdateTierCredentialsModal = withSuspense(\n React.lazy(() => import(\"./UpdateTierCredentialsModal\"))\n);\n\ninterface IListTiersConfig {\n classes: any;\n history: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n distributedSetup: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...searchField,\n ...settingsCommon,\n ...typesSelection,\n ...containerForHeader(theme.spacing(4)),\n customConfigurationPage: {\n minHeight: 400,\n },\n actionsTray: {\n ...actionsTray.actionsTray,\n },\n searchField: {\n ...searchField.searchField,\n marginRight: \"auto\",\n maxWidth: 380,\n },\n\n rightActionButtons: {\n display: \"flex\",\n \"& button\": {\n whiteSpace: \"nowrap\",\n },\n },\n ...tableStyles,\n });\n\nconst ListTiersConfiguration = ({\n classes,\n history,\n setErrorSnackMessage,\n distributedSetup,\n}: IListTiersConfig) => {\n const [records, setRecords] = useState([]);\n const [filter, setFilter] = useState(\"\");\n const [isLoading, setIsLoading] = useState(true);\n const [updateCredentialsOpen, setUpdateCredentialsOpen] =\n useState(false);\n const [selectedTier, setSelectedTier] = useState({\n type: \"unsupported\",\n });\n\n useEffect(() => {\n if (isLoading) {\n if (distributedSetup) {\n const fetchRecords = () => {\n api\n .invoke(\"GET\", `/api/v1/admin/tiers`)\n .then((res: ITierResponse) => {\n setRecords(res.items || []);\n setIsLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setIsLoading(false);\n });\n };\n fetchRecords();\n } else {\n setIsLoading(false);\n }\n }\n }, [isLoading, setErrorSnackMessage, distributedSetup]);\n\n const filteredRecords = records.filter((b: ITierElement) => {\n if (filter === \"\") {\n return true;\n }\n const getItemName = get(b, `${b.type}.name`, \"\");\n const getItemType = get(b, `type`, \"\");\n\n return getItemName.indexOf(filter) >= 0 || getItemType.indexOf(filter) >= 0;\n });\n\n const addTier = () => {\n history.push(IAM_PAGES.TIERS_ADD);\n };\n\n const renderTierName = (item: ITierElement) => {\n const name = get(item, `${item.type}.name`, \"\");\n\n if (name !== null) {\n return {name};\n }\n\n return \"\";\n };\n\n const renderTierType = (item: string) => {\n const { logoXs } =\n tierTypes.find((tierConf) => tierConf.serviceName === item) || {};\n if (item) {\n return (\n \n {logoXs}\n \n );\n }\n return \"\";\n };\n\n const renderTierPrefix = (item: ITierElement) => {\n const prefix = get(item, `${item.type}.prefix`, \"\");\n\n if (prefix !== null) {\n return prefix;\n }\n\n return \"\";\n };\n\n const renderTierEndpoint = (item: ITierElement) => {\n const endpoint = get(item, `${item.type}.endpoint`, \"\");\n\n if (endpoint !== null) {\n return endpoint;\n }\n\n return \"\";\n };\n\n const renderTierBucket = (item: ITierElement) => {\n const bucket = get(item, `${item.type}.bucket`, \"\");\n\n if (bucket !== null) {\n return bucket;\n }\n\n return \"\";\n };\n\n const renderTierRegion = (item: ITierElement) => {\n const region = get(item, `${item.type}.region`, \"\");\n\n if (region !== null) {\n return region;\n }\n\n return \"\";\n };\n\n const closeTierCredentials = () => {\n setUpdateCredentialsOpen(false);\n };\n\n return (\n \n {updateCredentialsOpen && (\n \n )}\n \n \n {!distributedSetup ? (\n }\n />\n ) : (\n \n \n \n
\n }\n color=\"primary\"\n text={`Refresh List`}\n onClick={() => {\n setIsLoading(true);\n }}\n />\n\n \n }\n color=\"primary\"\n text={`Create Tier`}\n onClick={addTier}\n variant=\"contained\"\n />\n \n
\n
\n {isLoading && }\n {!isLoading && (\n \n {records.length > 0 && (\n \n \n \n {\n setSelectedTier(tierData);\n setUpdateCredentialsOpen(true);\n },\n },\n ]}\n columns={[\n {\n label: \"Tier Name\",\n elementKey: \"type\",\n renderFunction: renderTierName,\n renderFullObject: true,\n },\n {\n label: \"Type\",\n elementKey: \"type\",\n renderFunction: renderTierType,\n width: 50,\n },\n {\n label: \"Endpoint\",\n elementKey: \"type\",\n renderFunction: renderTierEndpoint,\n renderFullObject: true,\n },\n {\n label: \"Bucket\",\n elementKey: \"type\",\n renderFunction: renderTierBucket,\n renderFullObject: true,\n },\n {\n label: \"Prefix\",\n elementKey: \"type\",\n renderFunction: renderTierPrefix,\n renderFullObject: true,\n },\n {\n label: \"Region\",\n elementKey: \"type\",\n renderFunction: renderTierRegion,\n renderFullObject: true,\n },\n ]}\n isLoading={isLoading}\n records={filteredRecords}\n entityName=\"Tiers\"\n idField=\"service_name\"\n customPaperHeight={classes.customConfigurationPage}\n />\n \n \n \n }\n help={\n \n Tiers are used by the MinIO Object Lifecycle\n Management which allows creating rules for time or\n date based automatic transition or expiry of\n objects. For object transition, MinIO automatically\n moves the object to a configured remote storage\n tier.\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 Tiers are used by the MinIO Object Lifecycle\n Management which allows creating rules for time or\n date based automatic transition or expiry of\n objects. For object transition, MinIO automatically\n moves the object to a configured remote storage\n tier.\n
\n
\n To get started,{\" \"}\n Add A Tier.\n
\n }\n />\n
\n \n )}\n
\n )}\n
\n )}\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n distributedSetup: state.system.distributedSetup,\n});\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(ListTiersConfiguration));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\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 GoogleTierIcon,\n MinIOTierIcon,\n MinIOTierIconXs,\n S3TierIcon,\n GoogleTierIconXs,\n S3TierIconXs,\n AzureTierIconXs,\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","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\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","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","margin","textDecoration","cursor","info","fontFamily","children","rest","borderWidth","borderStyle","opacity","contained","background","dark","light","button","clsx","WrappedComponent","fallback","ComponentWithSuspense","Suspense","entity","flexFlow","md","colors","link","href","target","rel","pageContentStyles","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","label","justifyContent","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","actions","direction","sm","length","component","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","id","InputProps","e","UpdateTierCredentialsModal","withSuspense","React","setErrorSnackMessage","distributedSetup","actionsTray","settingsCommon","typesSelection","containerForHeader","spacing","customConfigurationPage","maxWidth","rightActionButtons","whiteSpace","tableStyles","history","useState","records","setRecords","filter","setFilter","isLoading","setIsLoading","updateCredentialsOpen","setUpdateCredentialsOpen","type","selectedTier","setSelectedTier","useEffect","api","then","res","items","catch","err","filteredRecords","b","getItemName","get","getItemType","indexOf","addTier","push","IAM_PAGES","Fragment","open","tierData","closeModalAndRefresh","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","errorProps","tableBlock","itemActions","columns","elementKey","renderFunction","name","renderFullObject","logoXs","tierTypes","tierConf","serviceName","endpoint","bucket","prefix","region","entityName","idField","customPaperHeight","alignContent","minioServiceName","gcsServiceName","s3ServiceName","azureServiceName","targetTitle","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","maxHeight","action","active","inputAdornmentClasses","pointerEvents","inProps","ref","useThemeProps","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography","_objectWithoutProperties","source","excluded","key","i","sourceKeys","Object","keys","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/7842.dd1f83af.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/DistributedOnly/DistributedOnly.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Configurations/TiersConfiguration/ListTiersConfiguration.tsx","screens/Console/Configurations/TiersConfiguration/utils.tsx","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { 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","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\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 get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box, LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n settingsCommon,\n tableStyles,\n typesSelection,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { AddIcon, TiersIcon, TiersNotAvailableIcon } from \"../../../../icons\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ITierElement, ITierResponse } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\n\nimport RefreshIcon from \"../../../../icons/RefreshIcon\";\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\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport { AppState } from \"../../../../store\";\nimport DistributedOnly from \"../../Common/DistributedOnly/DistributedOnly\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_SCOPES,\n} from \"../../../../common/SecureComponent/permissions\";\nimport SecureComponent from \"../../../../common/SecureComponent/SecureComponent\";\nimport { tierTypes } from \"./utils\";\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\nconst UpdateTierCredentialsModal = withSuspense(\n React.lazy(() => import(\"./UpdateTierCredentialsModal\"))\n);\n\ninterface IListTiersConfig {\n classes: any;\n history: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n distributedSetup: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...searchField,\n ...settingsCommon,\n ...typesSelection,\n ...containerForHeader(theme.spacing(4)),\n customConfigurationPage: {\n minHeight: 400,\n },\n actionsTray: {\n ...actionsTray.actionsTray,\n },\n searchField: {\n ...searchField.searchField,\n marginRight: \"auto\",\n maxWidth: 380,\n },\n\n rightActionButtons: {\n display: \"flex\",\n \"& button\": {\n whiteSpace: \"nowrap\",\n },\n },\n ...tableStyles,\n });\n\nconst ListTiersConfiguration = ({\n classes,\n history,\n setErrorSnackMessage,\n distributedSetup,\n}: IListTiersConfig) => {\n const [records, setRecords] = useState([]);\n const [filter, setFilter] = useState(\"\");\n const [isLoading, setIsLoading] = useState(true);\n const [updateCredentialsOpen, setUpdateCredentialsOpen] =\n useState(false);\n const [selectedTier, setSelectedTier] = useState({\n type: \"unsupported\",\n });\n\n useEffect(() => {\n if (isLoading) {\n if (distributedSetup) {\n const fetchRecords = () => {\n api\n .invoke(\"GET\", `/api/v1/admin/tiers`)\n .then((res: ITierResponse) => {\n setRecords(res.items || []);\n setIsLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setIsLoading(false);\n });\n };\n fetchRecords();\n } else {\n setIsLoading(false);\n }\n }\n }, [isLoading, setErrorSnackMessage, distributedSetup]);\n\n const filteredRecords = records.filter((b: ITierElement) => {\n if (filter === \"\") {\n return true;\n }\n const getItemName = get(b, `${b.type}.name`, \"\");\n const getItemType = get(b, `type`, \"\");\n\n return getItemName.indexOf(filter) >= 0 || getItemType.indexOf(filter) >= 0;\n });\n\n const addTier = () => {\n history.push(IAM_PAGES.TIERS_ADD);\n };\n\n const renderTierName = (item: ITierElement) => {\n const name = get(item, `${item.type}.name`, \"\");\n\n if (name !== null) {\n return {name};\n }\n\n return \"\";\n };\n\n const renderTierType = (item: string) => {\n const { logoXs } =\n tierTypes.find((tierConf) => tierConf.serviceName === item) || {};\n if (item) {\n return (\n \n {logoXs}\n \n );\n }\n return \"\";\n };\n\n const renderTierPrefix = (item: ITierElement) => {\n const prefix = get(item, `${item.type}.prefix`, \"\");\n\n if (prefix !== null) {\n return prefix;\n }\n\n return \"\";\n };\n\n const renderTierEndpoint = (item: ITierElement) => {\n const endpoint = get(item, `${item.type}.endpoint`, \"\");\n\n if (endpoint !== null) {\n return endpoint;\n }\n\n return \"\";\n };\n\n const renderTierBucket = (item: ITierElement) => {\n const bucket = get(item, `${item.type}.bucket`, \"\");\n\n if (bucket !== null) {\n return bucket;\n }\n\n return \"\";\n };\n\n const renderTierRegion = (item: ITierElement) => {\n const region = get(item, `${item.type}.region`, \"\");\n\n if (region !== null) {\n return region;\n }\n\n return \"\";\n };\n\n const closeTierCredentials = () => {\n setUpdateCredentialsOpen(false);\n };\n\n return (\n \n {updateCredentialsOpen && (\n \n )}\n \n \n {!distributedSetup ? (\n }\n />\n ) : (\n \n \n \n
\n }\n color=\"primary\"\n text={`Refresh List`}\n onClick={() => {\n setIsLoading(true);\n }}\n />\n\n \n }\n color=\"primary\"\n text={`Create Tier`}\n onClick={addTier}\n variant=\"contained\"\n />\n \n
\n
\n {isLoading && }\n {!isLoading && (\n \n {records.length > 0 && (\n \n \n \n {\n setSelectedTier(tierData);\n setUpdateCredentialsOpen(true);\n },\n },\n ]}\n columns={[\n {\n label: \"Tier Name\",\n elementKey: \"type\",\n renderFunction: renderTierName,\n renderFullObject: true,\n },\n {\n label: \"Type\",\n elementKey: \"type\",\n renderFunction: renderTierType,\n width: 50,\n },\n {\n label: \"Endpoint\",\n elementKey: \"type\",\n renderFunction: renderTierEndpoint,\n renderFullObject: true,\n },\n {\n label: \"Bucket\",\n elementKey: \"type\",\n renderFunction: renderTierBucket,\n renderFullObject: true,\n },\n {\n label: \"Prefix\",\n elementKey: \"type\",\n renderFunction: renderTierPrefix,\n renderFullObject: true,\n },\n {\n label: \"Region\",\n elementKey: \"type\",\n renderFunction: renderTierRegion,\n renderFullObject: true,\n },\n ]}\n isLoading={isLoading}\n records={filteredRecords}\n entityName=\"Tiers\"\n idField=\"service_name\"\n customPaperHeight={classes.customConfigurationPage}\n />\n \n \n \n }\n help={\n \n Tiers are used by the MinIO Object Lifecycle\n Management which allows creating rules for time or\n date based automatic transition or expiry of\n objects. For object transition, MinIO automatically\n moves the object to a configured remote storage\n tier.\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 Tiers are used by the MinIO Object Lifecycle\n Management which allows creating rules for time or\n date based automatic transition or expiry of\n objects. For object transition, MinIO automatically\n moves the object to a configured remote storage\n tier.\n
\n
\n To get started,{\" \"}\n Add A Tier.\n
\n }\n />\n
\n \n )}\n
\n )}\n
\n )}\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n distributedSetup: state.system.distributedSetup,\n});\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(ListTiersConfiguration));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\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 GoogleTierIcon,\n MinIOTierIcon,\n MinIOTierIconXs,\n S3TierIcon,\n GoogleTierIconXs,\n S3TierIconXs,\n AzureTierIconXs,\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","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\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","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","margin","textDecoration","cursor","info","fontFamily","children","rest","borderWidth","borderStyle","opacity","contained","background","dark","light","button","clsx","WrappedComponent","fallback","ComponentWithSuspense","Suspense","entity","flexFlow","md","colors","link","href","target","rel","pageContentStyles","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","label","justifyContent","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","actions","direction","sm","length","component","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","id","InputProps","e","UpdateTierCredentialsModal","withSuspense","React","setErrorSnackMessage","distributedSetup","actionsTray","settingsCommon","typesSelection","containerForHeader","spacing","customConfigurationPage","maxWidth","rightActionButtons","whiteSpace","tableStyles","history","useState","records","setRecords","filter","setFilter","isLoading","setIsLoading","updateCredentialsOpen","setUpdateCredentialsOpen","type","selectedTier","setSelectedTier","useEffect","api","then","res","items","catch","err","filteredRecords","b","getItemName","get","getItemType","indexOf","addTier","push","IAM_PAGES","Fragment","open","tierData","closeModalAndRefresh","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","errorProps","tableBlock","itemActions","columns","elementKey","renderFunction","name","renderFullObject","logoXs","tierTypes","tierConf","serviceName","endpoint","bucket","prefix","region","entityName","idField","customPaperHeight","alignContent","minioServiceName","gcsServiceName","s3ServiceName","azureServiceName","targetTitle","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","maxHeight","action","active","inputAdornmentClasses","pointerEvents","inProps","ref","useThemeProps","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography","_objectWithoutProperties","source","excluded","key","i","sourceKeys","Object","keys","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/7926.d155ef62.chunk.js b/portal-ui/build/static/js/7926.2a96a6b4.chunk.js similarity index 98% rename from portal-ui/build/static/js/7926.d155ef62.chunk.js rename to portal-ui/build/static/js/7926.2a96a6b4.chunk.js index 75a641846..5d6e15b51 100644 --- a/portal-ui/build/static/js/7926.d155ef62.chunk.js +++ b/portal-ui/build/static/js/7926.2a96a6b4.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[7926],{7926:function(n,o,t){t.r(o);var i=t(23430),a=t(18489),e=(t(50390),t(23473)),r=t(86509),s=t(4285),c=t(72462),d=t(34424),l=t(44149),u=t(21639),g=t(60656),f=t(11387),Z=t(62559),v=(0,d.$j)((function(n){return{session:n.console.session}}),{setErrorSnackMessage:l.Ih});o.default=(0,s.Z)((function(n){return(0,r.Z)((0,a.Z)({},c.oO))}))(v((function(n){var o=n.onClose,t=n.modalOpen,a=n.bucket,r=n.toDelete,s=(0,u.Z)((function(){return o()}),(function(n){return(0,l.Ih)(n)})),c=(0,i.Z)(s,2),d=c[0],v=c[1];return(0,Z.jsx)(g.Z,{title:"Delete Access Rule",confirmText:"Delete",isOpen:t,isLoading:d,onConfirm:function(){v("DELETE","/api/v1/bucket/".concat(a,"/access-rules"),{prefix:r})},titleIcon:(0,Z.jsx)(f.Nv,{}),onClose:o,confirmationContent:(0,Z.jsx)(e.Z,{children:"Are you sure you want to delete this access rule?"})})})))},21639:function(n,o,t){var i=t(23430),a=t(50390),e=t(30324);o.Z=function(n,o){var t=(0,a.useState)(!1),r=(0,i.Z)(t,2),s=r[0],c=r[1];return[s,function(t,i,a){c(!0),e.Z.invoke(t,i,a).then((function(o){c(!1),n(o)})).catch((function(n){c(!1),o(n)}))}]}},60656:function(n,o,t){var i=t(18489),a=t(50390),e=t(84402),r=t(78426),s=t(93085),c=t(7887),d=t(66946),l=t(14476),u=t(95467),g=t(21278),f=t(86509),Z=t(4285),v=t(72462),p=t(62559);o.Z=(0,Z.Z)((function(n){return(0,f.Z)((0,i.Z)({},v.Qw))}))((function(n){var o=n.isOpen,t=void 0!==o&&o,f=n.onClose,Z=n.onCancel,v=n.onConfirm,m=n.classes,h=void 0===m?{}:m,x=n.title,I=void 0===x?"":x,b=n.isLoading,L=n.confirmationContent,S=n.cancelText,P=void 0===S?"Cancel":S,j=n.confirmText,C=void 0===j?"Confirm":j,w=n.confirmButtonProps,y=void 0===w?{}:w,M=n.cancelButtonProps,N=void 0===M?{}:M,k=n.titleIcon,R=void 0===k?null:k;return(0,p.jsxs)(e.Z,{open:t,onClose:function(n,o){"backdropClick"!==o&&f()},className:h.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,p.jsxs)(r.Z,{className:h.title,children:[(0,p.jsxs)("div",{className:h.titleText,children:[R," ",I]}),(0,p.jsx)("div",{className:h.closeContainer,children:(0,p.jsx)(u.Z,{"aria-label":"close",className:h.closeButton,onClick:f,disableRipple:!0,size:"small",children:(0,p.jsx)(g.Z,{})})})]}),(0,p.jsx)(s.Z,{className:h.content,children:L}),(0,p.jsxs)(c.Z,{className:h.actions,children:[(0,p.jsx)(d.Z,(0,i.Z)((0,i.Z)({className:h.cancelButton,onClick:Z||f,disabled:b,type:"button"},N),{},{variant:"outlined",color:"primary",children:P})),(0,p.jsx)(l.Z,(0,i.Z)((0,i.Z)({className:h.confirmButton,type:"button",onClick:v,loading:b,disabled:b,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,p.jsx)(a.Fragment,{}),autoFocus:!0},y),{},{children:C}))]})]})}))},14476:function(n,o,t){t.d(o,{Z:function(){return b}});var i=t(36222),a=t(46633),e=t(18207),r=t(50390),s=t(91442),c=t(4733),d=t(50076),l=t(8208),u=t(15573),g=t(66946),f=t(18201),Z=t(10594);function v(n){return(0,Z.Z)("MuiLoadingButton",n)}var p=(0,t(43349).Z)("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),m=t(62559),h=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],x=(0,l.ZP)(g.Z,{shouldForwardProp:function(n){return function(n){return"ownerState"!==n&&"theme"!==n&&"sx"!==n&&"as"!==n&&"classes"!==n}(n)||"classes"===n},name:"MuiLoadingButton",slot:"Root",overridesResolver:function(n,o){return[o.root,o.startIconLoadingStart&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart),o.startIconLoadingStart),o.endIconLoadingEnd&&(0,i.Z)({},"& .".concat(p.endIconLoadingEnd),o.endIconLoadingEnd)]}})((function(n){var o=n.ownerState,t=n.theme;return(0,e.Z)((0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0}),"center"===o.loadingPosition&&(0,i.Z)({transition:t.transitions.create(["background-color","box-shadow","border-color"],{duration:t.transitions.duration.short})},"&.".concat(p.loading),{color:"transparent"}),"start"===o.loadingPosition&&o.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0,marginRight:-8}),"end"===o.loadingPosition&&o.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0,marginLeft:-8}))})),I=(0,l.ZP)("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:function(n,o){var t=n.ownerState;return[o.loadingIndicator,o["loadingIndicator".concat((0,s.Z)(t.loadingPosition))]]}})((function(n){var o=n.theme,t=n.ownerState;return(0,e.Z)({position:"absolute",visibility:"visible",display:"flex"},"start"===t.loadingPosition&&("outlined"===t.variant||"contained"===t.variant)&&{left:14},"start"===t.loadingPosition&&"text"===t.variant&&{left:6},"center"===t.loadingPosition&&{left:"50%",transform:"translate(-50%)",color:o.palette.action.disabled},"end"===t.loadingPosition&&("outlined"===t.variant||"contained"===t.variant)&&{right:14},"end"===t.loadingPosition&&"text"===t.variant&&{right:6},"start"===t.loadingPosition&&t.fullWidth&&{position:"relative",left:-10},"end"===t.loadingPosition&&t.fullWidth&&{position:"relative",right:-10})})),b=r.forwardRef((function(n,o){var t=(0,u.Z)({props:n,name:"MuiLoadingButton"}),i=t.children,l=t.disabled,g=void 0!==l&&l,Z=t.id,p=t.loading,b=void 0!==p&&p,L=t.loadingIndicator,S=t.loadingPosition,P=void 0===S?"center":S,j=t.variant,C=void 0===j?"text":j,w=(0,a.Z)(t,h),y=(0,c.Z)(Z),M=null!=L?L:(0,m.jsx)(f.Z,{"aria-labelledby":y,color:"inherit",size:16}),N=(0,e.Z)({},t,{disabled:g,loading:b,loadingIndicator:M,loadingPosition:P,variant:C}),k=function(n){var o=n.loading,t=n.loadingPosition,i=n.classes,a={root:["root",o&&"loading"],startIcon:[o&&"startIconLoading".concat((0,s.Z)(t))],endIcon:[o&&"endIconLoading".concat((0,s.Z)(t))],loadingIndicator:["loadingIndicator",o&&"loadingIndicator".concat((0,s.Z)(t))]},r=(0,d.Z)(a,v,i);return(0,e.Z)({},i,r)}(N);return(0,m.jsx)(x,(0,e.Z)({disabled:g||b,id:y,ref:o},w,{variant:C,classes:k,ownerState:N,children:"end"===N.loadingPosition?(0,m.jsxs)(r.Fragment,{children:[i,b&&(0,m.jsx)(I,{className:k.loadingIndicator,ownerState:N,children:M})]}):(0,m.jsxs)(r.Fragment,{children:[b&&(0,m.jsx)(I,{className:k.loadingIndicator,ownerState:N,children:M}),i]})}))}))},7887:function(n,o,t){t.d(o,{Z:function(){return v}});var i=t(1048),a=t(32793),e=t(50390),r=t(44977),s=t(50076),c=t(8208),d=t(15573),l=t(10594);function u(n){return(0,l.Z)("MuiDialogActions",n)}(0,t(43349).Z)("MuiDialogActions",["root","spacing"]);var g=t(62559),f=["className","disableSpacing"],Z=(0,c.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(n,o){var t=n.ownerState;return[o.root,!t.disableSpacing&&o.spacing]}})((function(n){var o=n.ownerState;return(0,a.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!o.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),v=e.forwardRef((function(n,o){var t=(0,d.Z)({props:n,name:"MuiDialogActions"}),e=t.className,c=t.disableSpacing,l=void 0!==c&&c,v=(0,i.Z)(t,f),p=(0,a.Z)({},t,{disableSpacing:l}),m=function(n){var o=n.classes,t={root:["root",!n.disableSpacing&&"spacing"]};return(0,s.Z)(t,u,o)}(p);return(0,g.jsx)(Z,(0,a.Z)({className:(0,r.Z)(m.root,e),ownerState:p,ref:o},v))}))},23473:function(n,o,t){t.d(o,{Z:function(){return v}});var i=t(1048),a=t(32793),e=t(50390),r=t(50076),s=t(8208),c=t(15573),d=t(35477),l=t(10594);function u(n){return(0,l.Z)("MuiDialogContentText",n)}(0,t(43349).Z)("MuiDialogContentText",["root"]);var g=t(62559),f=["children"],Z=(0,s.ZP)(d.Z,{shouldForwardProp:function(n){return(0,s.FO)(n)||"classes"===n},name:"MuiDialogContentText",slot:"Root",overridesResolver:function(n,o){return o.root}})({}),v=e.forwardRef((function(n,o){var t=(0,c.Z)({props:n,name:"MuiDialogContentText"}),e=(0,i.Z)(t,f),s=function(n){var o=n.classes,t=(0,r.Z)({root:["root"]},u,o);return(0,a.Z)({},o,t)}(e);return(0,g.jsx)(Z,(0,a.Z)({component:"p",variant:"body1",color:"text.secondary",ref:o,ownerState:e},t,{classes:s}))}))}}]); -//# sourceMappingURL=7926.d155ef62.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[7926],{7926:function(n,o,t){t.r(o);var i=t(23430),a=t(18489),e=(t(50390),t(23473)),r=t(86509),s=t(4285),c=t(72462),d=t(34424),l=t(44149),u=t(21639),g=t(60656),f=t(98280),Z=t(62559),v=(0,d.$j)((function(n){return{session:n.console.session}}),{setErrorSnackMessage:l.Ih});o.default=(0,s.Z)((function(n){return(0,r.Z)((0,a.Z)({},c.oO))}))(v((function(n){var o=n.onClose,t=n.modalOpen,a=n.bucket,r=n.toDelete,s=(0,u.Z)((function(){return o()}),(function(n){return(0,l.Ih)(n)})),c=(0,i.Z)(s,2),d=c[0],v=c[1];return(0,Z.jsx)(g.Z,{title:"Delete Access Rule",confirmText:"Delete",isOpen:t,isLoading:d,onConfirm:function(){v("DELETE","/api/v1/bucket/".concat(a,"/access-rules"),{prefix:r})},titleIcon:(0,Z.jsx)(f.Nv,{}),onClose:o,confirmationContent:(0,Z.jsx)(e.Z,{children:"Are you sure you want to delete this access rule?"})})})))},21639:function(n,o,t){var i=t(23430),a=t(50390),e=t(30324);o.Z=function(n,o){var t=(0,a.useState)(!1),r=(0,i.Z)(t,2),s=r[0],c=r[1];return[s,function(t,i,a){c(!0),e.Z.invoke(t,i,a).then((function(o){c(!1),n(o)})).catch((function(n){c(!1),o(n)}))}]}},60656:function(n,o,t){var i=t(18489),a=t(50390),e=t(84402),r=t(78426),s=t(93085),c=t(7887),d=t(66946),l=t(14476),u=t(95467),g=t(21278),f=t(86509),Z=t(4285),v=t(72462),p=t(62559);o.Z=(0,Z.Z)((function(n){return(0,f.Z)((0,i.Z)({},v.Qw))}))((function(n){var o=n.isOpen,t=void 0!==o&&o,f=n.onClose,Z=n.onCancel,v=n.onConfirm,m=n.classes,h=void 0===m?{}:m,x=n.title,I=void 0===x?"":x,b=n.isLoading,L=n.confirmationContent,S=n.cancelText,P=void 0===S?"Cancel":S,j=n.confirmText,C=void 0===j?"Confirm":j,w=n.confirmButtonProps,y=void 0===w?{}:w,M=n.cancelButtonProps,N=void 0===M?{}:M,k=n.titleIcon,R=void 0===k?null:k;return(0,p.jsxs)(e.Z,{open:t,onClose:function(n,o){"backdropClick"!==o&&f()},className:h.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,p.jsxs)(r.Z,{className:h.title,children:[(0,p.jsxs)("div",{className:h.titleText,children:[R," ",I]}),(0,p.jsx)("div",{className:h.closeContainer,children:(0,p.jsx)(u.Z,{"aria-label":"close",className:h.closeButton,onClick:f,disableRipple:!0,size:"small",children:(0,p.jsx)(g.Z,{})})})]}),(0,p.jsx)(s.Z,{className:h.content,children:L}),(0,p.jsxs)(c.Z,{className:h.actions,children:[(0,p.jsx)(d.Z,(0,i.Z)((0,i.Z)({className:h.cancelButton,onClick:Z||f,disabled:b,type:"button"},N),{},{variant:"outlined",color:"primary",children:P})),(0,p.jsx)(l.Z,(0,i.Z)((0,i.Z)({className:h.confirmButton,type:"button",onClick:v,loading:b,disabled:b,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,p.jsx)(a.Fragment,{}),autoFocus:!0},y),{},{children:C}))]})]})}))},14476:function(n,o,t){t.d(o,{Z:function(){return b}});var i=t(36222),a=t(46633),e=t(18207),r=t(50390),s=t(91442),c=t(4733),d=t(50076),l=t(8208),u=t(15573),g=t(66946),f=t(18201),Z=t(10594);function v(n){return(0,Z.Z)("MuiLoadingButton",n)}var p=(0,t(43349).Z)("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),m=t(62559),h=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],x=(0,l.ZP)(g.Z,{shouldForwardProp:function(n){return function(n){return"ownerState"!==n&&"theme"!==n&&"sx"!==n&&"as"!==n&&"classes"!==n}(n)||"classes"===n},name:"MuiLoadingButton",slot:"Root",overridesResolver:function(n,o){return[o.root,o.startIconLoadingStart&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart),o.startIconLoadingStart),o.endIconLoadingEnd&&(0,i.Z)({},"& .".concat(p.endIconLoadingEnd),o.endIconLoadingEnd)]}})((function(n){var o=n.ownerState,t=n.theme;return(0,e.Z)((0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0}),"center"===o.loadingPosition&&(0,i.Z)({transition:t.transitions.create(["background-color","box-shadow","border-color"],{duration:t.transitions.duration.short})},"&.".concat(p.loading),{color:"transparent"}),"start"===o.loadingPosition&&o.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0,marginRight:-8}),"end"===o.loadingPosition&&o.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0,marginLeft:-8}))})),I=(0,l.ZP)("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:function(n,o){var t=n.ownerState;return[o.loadingIndicator,o["loadingIndicator".concat((0,s.Z)(t.loadingPosition))]]}})((function(n){var o=n.theme,t=n.ownerState;return(0,e.Z)({position:"absolute",visibility:"visible",display:"flex"},"start"===t.loadingPosition&&("outlined"===t.variant||"contained"===t.variant)&&{left:14},"start"===t.loadingPosition&&"text"===t.variant&&{left:6},"center"===t.loadingPosition&&{left:"50%",transform:"translate(-50%)",color:o.palette.action.disabled},"end"===t.loadingPosition&&("outlined"===t.variant||"contained"===t.variant)&&{right:14},"end"===t.loadingPosition&&"text"===t.variant&&{right:6},"start"===t.loadingPosition&&t.fullWidth&&{position:"relative",left:-10},"end"===t.loadingPosition&&t.fullWidth&&{position:"relative",right:-10})})),b=r.forwardRef((function(n,o){var t=(0,u.Z)({props:n,name:"MuiLoadingButton"}),i=t.children,l=t.disabled,g=void 0!==l&&l,Z=t.id,p=t.loading,b=void 0!==p&&p,L=t.loadingIndicator,S=t.loadingPosition,P=void 0===S?"center":S,j=t.variant,C=void 0===j?"text":j,w=(0,a.Z)(t,h),y=(0,c.Z)(Z),M=null!=L?L:(0,m.jsx)(f.Z,{"aria-labelledby":y,color:"inherit",size:16}),N=(0,e.Z)({},t,{disabled:g,loading:b,loadingIndicator:M,loadingPosition:P,variant:C}),k=function(n){var o=n.loading,t=n.loadingPosition,i=n.classes,a={root:["root",o&&"loading"],startIcon:[o&&"startIconLoading".concat((0,s.Z)(t))],endIcon:[o&&"endIconLoading".concat((0,s.Z)(t))],loadingIndicator:["loadingIndicator",o&&"loadingIndicator".concat((0,s.Z)(t))]},r=(0,d.Z)(a,v,i);return(0,e.Z)({},i,r)}(N);return(0,m.jsx)(x,(0,e.Z)({disabled:g||b,id:y,ref:o},w,{variant:C,classes:k,ownerState:N,children:"end"===N.loadingPosition?(0,m.jsxs)(r.Fragment,{children:[i,b&&(0,m.jsx)(I,{className:k.loadingIndicator,ownerState:N,children:M})]}):(0,m.jsxs)(r.Fragment,{children:[b&&(0,m.jsx)(I,{className:k.loadingIndicator,ownerState:N,children:M}),i]})}))}))},7887:function(n,o,t){t.d(o,{Z:function(){return v}});var i=t(1048),a=t(32793),e=t(50390),r=t(44977),s=t(50076),c=t(8208),d=t(15573),l=t(10594);function u(n){return(0,l.Z)("MuiDialogActions",n)}(0,t(43349).Z)("MuiDialogActions",["root","spacing"]);var g=t(62559),f=["className","disableSpacing"],Z=(0,c.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(n,o){var t=n.ownerState;return[o.root,!t.disableSpacing&&o.spacing]}})((function(n){var o=n.ownerState;return(0,a.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!o.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),v=e.forwardRef((function(n,o){var t=(0,d.Z)({props:n,name:"MuiDialogActions"}),e=t.className,c=t.disableSpacing,l=void 0!==c&&c,v=(0,i.Z)(t,f),p=(0,a.Z)({},t,{disableSpacing:l}),m=function(n){var o=n.classes,t={root:["root",!n.disableSpacing&&"spacing"]};return(0,s.Z)(t,u,o)}(p);return(0,g.jsx)(Z,(0,a.Z)({className:(0,r.Z)(m.root,e),ownerState:p,ref:o},v))}))},23473:function(n,o,t){t.d(o,{Z:function(){return v}});var i=t(1048),a=t(32793),e=t(50390),r=t(50076),s=t(8208),c=t(15573),d=t(35477),l=t(10594);function u(n){return(0,l.Z)("MuiDialogContentText",n)}(0,t(43349).Z)("MuiDialogContentText",["root"]);var g=t(62559),f=["children"],Z=(0,s.ZP)(d.Z,{shouldForwardProp:function(n){return(0,s.FO)(n)||"classes"===n},name:"MuiDialogContentText",slot:"Root",overridesResolver:function(n,o){return o.root}})({}),v=e.forwardRef((function(n,o){var t=(0,c.Z)({props:n,name:"MuiDialogContentText"}),e=(0,i.Z)(t,f),s=function(n){var o=n.classes,t=(0,r.Z)({root:["root"]},u,o);return(0,a.Z)({},o,t)}(e);return(0,g.jsx)(Z,(0,a.Z)({component:"p",variant:"body1",color:"text.secondary",ref:o,ownerState:e},t,{classes:s}))}))}}]); +//# sourceMappingURL=7926.2a96a6b4.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/7926.d155ef62.chunk.js.map b/portal-ui/build/static/js/7926.2a96a6b4.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/7926.d155ef62.chunk.js.map rename to portal-ui/build/static/js/7926.2a96a6b4.chunk.js.map index 539793833..dbbf29d82 100644 --- a/portal-ui/build/static/js/7926.d155ef62.chunk.js.map +++ b/portal-ui/build/static/js/7926.2a96a6b4.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/7926.d155ef62.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/DeleteAccessRule.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","../node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","../node_modules/@mui/lab/LoadingButton/LoadingButton.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.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 { 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 { connect } from \"react-redux\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { AppState } from \"../../../../store\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n});\n\nconst connector = connect(mapState, { setErrorSnackMessage });\n\ninterface IDeleteAccessRule {\n modalOpen: boolean;\n onClose: () => any;\n bucket: string;\n toDelete: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n });\n\nconst DeleteAccessRule = ({\n onClose,\n modalOpen,\n bucket,\n toDelete,\n}: IDeleteAccessRule) => {\n const onDelSuccess = () => onClose();\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\"DELETE\", `/api/v1/bucket/${bucket}/access-rules`, {\n prefix: toDelete,\n });\n };\n\n return (\n }\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete this access rule?\n \n }\n />\n );\n};\n\nexport default withStyles(styles)(connector(DeleteAccessRule));\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLoadingButtonUtilityClass(slot) {\n return generateUtilityClass('MuiLoadingButton', slot);\n}\nconst loadingButtonClasses = generateUtilityClasses('MuiLoadingButton', ['root', 'loading', 'loadingIndicator', 'loadingIndicatorCenter', 'loadingIndicatorStart', 'loadingIndicatorEnd', 'endIconLoadingEnd', 'startIconLoadingStart']);\nexport default loadingButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"disabled\", \"id\", \"loading\", \"loadingIndicator\", \"loadingPosition\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@mui/utils';\nimport { capitalize, unstable_useId as useId } from '@mui/material/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading'],\n startIcon: [loading && `startIconLoading${capitalize(loadingPosition)}`],\n endIcon: [loading && `endIconLoading${capitalize(loadingPosition)}`],\n loadingIndicator: ['loadingIndicator', loading && `loadingIndicator${capitalize(loadingPosition)}`]\n };\n const composedClasses = composeClasses(slots, getLoadingButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n}; // TODO use `import { rootShouldForwardProp } from '../styles/styled';` once move to core\n\n\nconst rootShouldForwardProp = prop => prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as' && prop !== 'classes';\n\nconst LoadingButtonRoot = styled(Button, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiLoadingButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root, styles.startIconLoadingStart && {\n [`& .${loadingButtonClasses.startIconLoadingStart}`]: styles.startIconLoadingStart\n }, styles.endIconLoadingEnd && {\n [`& .${loadingButtonClasses.endIconLoadingEnd}`]: styles.endIconLoadingEnd\n }];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n}, ownerState.loadingPosition === 'center' && {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${loadingButtonClasses.loading}`]: {\n color: 'transparent'\n }\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginRight: -8\n }\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginLeft: -8\n }\n}));\nconst LoadingButtonLoadingIndicator = styled('div', {\n name: 'MuiLoadingButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.loadingIndicator, styles[`loadingIndicator${capitalize(ownerState.loadingPosition)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'absolute',\n visibility: 'visible',\n display: 'flex'\n}, ownerState.loadingPosition === 'start' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n left: 14\n}, ownerState.loadingPosition === 'start' && ownerState.variant === 'text' && {\n left: 6\n}, ownerState.loadingPosition === 'center' && {\n left: '50%',\n transform: 'translate(-50%)',\n color: theme.palette.action.disabled\n}, ownerState.loadingPosition === 'end' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n right: 14\n}, ownerState.loadingPosition === 'end' && ownerState.variant === 'text' && {\n right: 6\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n position: 'relative',\n left: -10\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n position: 'relative',\n right: -10\n}));\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLoadingButton'\n });\n\n const {\n children,\n disabled = false,\n id: idProp,\n loading = false,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp != null ? loadingIndicatorProp : /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n\n const ownerState = _extends({}, props, {\n disabled,\n loading,\n loadingIndicator,\n loadingPosition,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LoadingButtonRoot, _extends({\n disabled: disabled || loading,\n id: id,\n ref: ref\n }, other, {\n variant: variant,\n classes: classes,\n ownerState: ownerState,\n children: ownerState.loadingPosition === 'end' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children, loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n }), children]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LoadingButton.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * @ignore\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the loading indicator is shown.\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default we render a `CircularProgress` that is labelled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: chainPropTypes(PropTypes.oneOf(['start', 'end', 'center']), props => {\n if (props.loadingPosition === 'start' && !props.startIcon) {\n return new Error(`MUI: The loadingPosition=\"start\" should be used in combination with startIcon.`);\n }\n\n if (props.loadingPosition === 'end' && !props.endIcon) {\n return new Error(`MUI: The loadingPosition=\"end\" should be used in combination with endIcon.`);\n }\n\n return null;\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes.oneOf(['contained', 'outlined', 'text'])\n} : void 0;\nexport default LoadingButton;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n\n const ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * 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 DialogContentText;"],"names":["connector","connect","state","session","console","setErrorSnackMessage","withStyles","theme","createStyles","modalBasic","onClose","modalOpen","bucket","toDelete","useApi","err","deleteLoading","invokeDeleteApi","title","confirmText","isOpen","isLoading","onConfirm","prefix","titleIcon","confirmationContent","onSuccess","onError","useState","setIsLoading","method","url","data","api","then","res","catch","deleteDialogStyles","onCancel","classes","cancelText","confirmButtonProps","cancelButtonProps","open","event","reason","className","root","sx","padding","titleText","closeContainer","closeButton","onClick","disableRipple","size","content","actions","cancelButton","disabled","type","variant","color","confirmButton","loading","loadingPosition","startIcon","autoFocus","getLoadingButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","LoadingButtonRoot","styled","Button","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","startIconLoadingStart","loadingButtonClasses","endIconLoadingEnd","ownerState","_extends","transition","transitions","create","duration","short","opacity","fullWidth","marginRight","marginLeft","LoadingButtonLoadingIndicator","loadingIndicator","capitalize","position","visibility","display","left","transform","palette","action","right","React","inProps","ref","useThemeProps","children","idProp","id","loadingIndicatorProp","other","_objectWithoutPropertiesLoose","useId","_jsx","CircularProgress","slots","endIcon","composedClasses","composeClasses","useUtilityClasses","_jsxs","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","spacing","alignItems","justifyContent","flex","clsx","getDialogContentTextUtilityClass","DialogContentTextRoot","Typography","component"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/7926.2a96a6b4.chunk.js","mappings":"qQAkCMA,GAAYC,EAAAA,EAAAA,KAJD,SAACC,GAAD,MAAsB,CACrCC,QAASD,EAAME,QAAQD,WAGW,CAAEE,qBAAAA,EAAAA,KAiDtC,WAAeC,EAAAA,EAAAA,IAxCA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,UACRC,EAAAA,OAsCP,CAAkCT,GAnCT,SAAC,GAKA,IAJxBU,EAIuB,EAJvBA,QACAC,EAGuB,EAHvBA,UACAC,EAEuB,EAFvBA,OACAC,EACuB,EADvBA,SAKA,GAAyCC,EAAAA,EAAAA,IAHpB,kBAAMJ,OACR,SAACK,GAAD,OAA+BV,EAAAA,EAAAA,IAAqBU,MAEvE,eAAOC,EAAP,KAAsBC,EAAtB,KAQA,OACE,SAAC,IAAD,CACEC,MAAK,qBACLC,YAAa,SACbC,OAAQT,EACRU,UAAWL,EACXM,UAZoB,WACtBL,EAAgB,SAAD,yBAA6BL,EAA7B,iBAAoD,CACjEW,OAAQV,KAWRW,WAAW,SAAC,KAAD,IACXd,QAASA,EACTe,qBACE,SAAC,IAAD,uE,2DC5CR,IAvBe,SACbC,EACAC,GAEA,OAAkCC,EAAAA,EAAAA,WAAkB,GAApD,eAAOP,EAAP,KAAkBQ,EAAlB,KAgBA,MAAO,CAACR,EAdQ,SAACS,EAAgBC,EAAaC,GAC5CH,GAAa,GACbI,EAAAA,EAAAA,OACUH,EAAQC,EAAKC,GACpBE,MAAK,SAACC,GACLN,GAAa,GACbH,EAAUS,MAEXC,OAAM,SAACrB,GACNc,GAAa,GACbF,EAAQZ,U,kLCiGhB,KAAeT,EAAAA,EAAAA,IAxGA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,UACR6B,EAAAA,OAsGP,EAnFsB,SAAC,GAcI,IAAD,IAbxBjB,OAAAA,OAawB,SAZxBV,EAYwB,EAZxBA,QACA4B,EAWwB,EAXxBA,SACAhB,EAUwB,EAVxBA,UAUwB,IATxBiB,QAAAA,OASwB,MATd,GASc,MARxBrB,MAAAA,OAQwB,MARhB,GAQgB,EAPxBG,EAOwB,EAPxBA,UACAI,EAMwB,EANxBA,oBAMwB,IALxBe,WAAAA,OAKwB,MALX,SAKW,MAJxBrB,YAAAA,OAIwB,MAJV,UAIU,MAHxBsB,mBAAAA,OAGwB,MAHH,GAGG,MAFxBC,kBAAAA,OAEwB,MAFJ,GAEI,MADxBlB,UAAAA,OACwB,MADZ,KACY,EACxB,OACE,UAAC,IAAD,CACEmB,KAAMvB,EACNV,QAAS,SAACkC,EAAOC,GACA,kBAAXA,GACFnC,KAGJoC,UAAWP,EAAQQ,KACnBC,GAAI,CACF,mBAAoB,CAClBC,QAAS,wBAVf,WAcE,UAAC,IAAD,CAAaH,UAAWP,EAAQrB,MAAhC,WACE,iBAAK4B,UAAWP,EAAQW,UAAxB,UACG1B,EADH,IACeN,MAEf,gBAAK4B,UAAWP,EAAQY,eAAxB,UACE,SAAC,IAAD,CACE,aAAW,QACXL,UAAWP,EAAQa,YACnBC,QAAS3C,EACT4C,eAAa,EACbC,KAAK,QALP,UAOE,SAAC,IAAD,YAKN,SAAC,IAAD,CAAeT,UAAWP,EAAQiB,QAAlC,SACG/B,KAEH,UAAC,IAAD,CAAeqB,UAAWP,EAAQkB,QAAlC,WACE,SAAC,KAAD,gBACEX,UAAWP,EAAQmB,aACnBL,QAASf,GAAY5B,EACrBiD,SAAUtC,EACVuC,KAAK,UACDlB,GALN,IAMEmB,QAAQ,WACRC,MAAM,UAPR,SASGtB,MAGH,SAAC,KAAD,gBACEM,UAAWP,EAAQwB,cACnBH,KAAK,SACLP,QAAS/B,EACT0C,QAAS3C,EACTsC,SAAUtC,EACVwC,QAAQ,WACRC,MAAM,YACNG,gBAAgB,QAChBC,WAAW,SAAC,WAAD,IACXC,WAAS,GACL1B,GAXN,aAaGtB,e,4LCjHJ,SAASiD,EAA6BC,GAC3C,OAAOC,EAAAA,EAAAA,GAAqB,mBAAoBD,GAElD,IACA,GAD6BE,E,SAAAA,GAAuB,mBAAoB,CAAC,OAAQ,UAAW,mBAAoB,yBAA0B,wBAAyB,sBAAuB,oBAAqB,0B,WCFzMC,EAAY,CAAC,WAAY,WAAY,KAAM,UAAW,mBAAoB,kBAAmB,WAgC7FC,GAAoBC,EAAAA,EAAAA,IAAOC,EAAAA,EAAQ,CACvCC,kBAAmB,SAAAC,GAAI,OAHK,SAAAA,GAAI,MAAa,eAATA,GAAkC,UAATA,GAA6B,OAATA,GAA0B,OAATA,GAA0B,YAATA,EAGxFC,CAAsBD,IAAkB,YAATA,GAC1DE,KAAM,mBACNV,KAAM,OACNW,kBAAmB,SAACC,EAAOC,GACzB,MAAO,CAACA,EAAOnC,KAAMmC,EAAOC,wBAAP,uBACZC,EAAAA,uBAA+CF,EAAOC,uBAC5DD,EAAOG,oBAAP,uBACMD,EAAAA,mBAA2CF,EAAOG,sBARrCX,EAWvB,gBACDY,EADC,EACDA,WACA/E,EAFC,EAEDA,MAFC,OAGGgF,EAAAA,EAAAA,IAAS,uBACNH,EAAAA,sBADK,gBAC6CA,EAAAA,mBAA2C,CAClGI,WAAYjF,EAAMkF,YAAYC,OAAO,CAAC,WAAY,CAChDC,SAAUpF,EAAMkF,YAAYE,SAASC,QAEvCC,QAAS,IAEqB,WAA/BP,EAAWrB,kBAAX,QACDuB,WAAYjF,EAAMkF,YAAYC,OAAO,CAAC,mBAAoB,aAAc,gBAAiB,CACvFC,SAAUpF,EAAMkF,YAAYE,SAASC,SAFtC,YAIKR,EAAAA,SAAiC,CACrCtB,MAAO,gBAEuB,UAA/BwB,EAAWrB,iBAA+BqB,EAAWQ,YAArD,uBACMV,EAAAA,sBADN,gBACwDA,EAAAA,mBAA2C,CAClGI,WAAYjF,EAAMkF,YAAYC,OAAO,CAAC,WAAY,CAChDC,SAAUpF,EAAMkF,YAAYE,SAASC,QAEvCC,QAAS,EACTE,aAAc,IAEgB,QAA/BT,EAAWrB,iBAA6BqB,EAAWQ,YAAnD,uBACMV,EAAAA,sBADN,gBACwDA,EAAAA,mBAA2C,CAClGI,WAAYjF,EAAMkF,YAAYC,OAAO,CAAC,WAAY,CAChDC,SAAUpF,EAAMkF,YAAYE,SAASC,QAEvCC,QAAS,EACTG,YAAa,QAGXC,GAAgCvB,EAAAA,EAAAA,IAAO,MAAO,CAClDK,KAAM,mBACNV,KAAM,mBACNW,kBAAmB,SAACC,EAAOC,GACzB,IACEI,EACEL,EADFK,WAEF,MAAO,CAACJ,EAAOgB,iBAAkBhB,EAAO,mBAAD,QAAoBiB,EAAAA,EAAAA,GAAWb,EAAWrB,sBAP/CS,EASnC,gBACDnE,EADC,EACDA,MACA+E,EAFC,EAEDA,WAFC,OAGGC,EAAAA,EAAAA,GAAS,CACba,SAAU,WACVC,WAAY,UACZC,QAAS,QACuB,UAA/BhB,EAAWrB,kBAAuD,aAAvBqB,EAAWzB,SAAiD,cAAvByB,EAAWzB,UAA4B,CACxH0C,KAAM,IAC0B,UAA/BjB,EAAWrB,iBAAsD,SAAvBqB,EAAWzB,SAAsB,CAC5E0C,KAAM,GAC0B,WAA/BjB,EAAWrB,iBAAgC,CAC5CsC,KAAM,MACNC,UAAW,kBACX1C,MAAOvD,EAAMkG,QAAQC,OAAO/C,UACI,QAA/B2B,EAAWrB,kBAAqD,aAAvBqB,EAAWzB,SAAiD,cAAvByB,EAAWzB,UAA4B,CACtH8C,MAAO,IACyB,QAA/BrB,EAAWrB,iBAAoD,SAAvBqB,EAAWzB,SAAsB,CAC1E8C,MAAO,GACyB,UAA/BrB,EAAWrB,iBAA+BqB,EAAWQ,WAAa,CACnEM,SAAU,WACVG,MAAO,IACyB,QAA/BjB,EAAWrB,iBAA6BqB,EAAWQ,WAAa,CACjEM,SAAU,WACVO,OAAQ,QAgIV,EA9HmCC,EAAAA,YAAiB,SAAuBC,EAASC,GAClF,IAAM7B,GAAQ8B,EAAAA,EAAAA,GAAc,CAC1B9B,MAAO4B,EACP9B,KAAM,qBAINiC,EAOE/B,EAPF+B,SADF,EAQI/B,EANFtB,SAAAA,OAFF,SAGMsD,EAKFhC,EALFiC,GAHF,EAQIjC,EAJFjB,QAAAA,OAJF,SAKoBmD,EAGhBlC,EAHFiB,iBALF,EAQIjB,EAFFhB,gBAAAA,OANF,MAMoB,SANpB,IAQIgB,EADFpB,QAAAA,OAPF,MAOY,OAPZ,EASMuD,GAAQC,EAAAA,EAAAA,GAA8BpC,EAAOT,GAE7C0C,GAAKI,EAAAA,EAAAA,GAAML,GACXf,EAA2C,MAAxBiB,EAA+BA,GAAoCI,EAAAA,EAAAA,KAAKC,EAAAA,EAAkB,CACjH,kBAAmBN,EACnBpD,MAAO,UACPP,KAAM,KAGF+B,GAAaC,EAAAA,EAAAA,GAAS,GAAIN,EAAO,CACrCtB,SAAAA,EACAK,QAAAA,EACAkC,iBAAAA,EACAjC,gBAAAA,EACAJ,QAAAA,IAGItB,EAnIkB,SAAA+C,GACxB,IACEtB,EAGEsB,EAHFtB,QACAC,EAEEqB,EAFFrB,gBACA1B,EACE+C,EADF/C,QAEIkF,EAAQ,CACZ1E,KAAM,CAAC,OAAQiB,GAAW,WAC1BE,UAAW,CAACF,GAAW,mBAAJ,QAAuBmC,EAAAA,EAAAA,GAAWlC,KACrDyD,QAAS,CAAC1D,GAAW,iBAAJ,QAAqBmC,EAAAA,EAAAA,GAAWlC,KACjDiC,iBAAkB,CAAC,mBAAoBlC,GAAW,mBAAJ,QAAuBmC,EAAAA,EAAAA,GAAWlC,MAE5E0D,GAAkBC,EAAAA,EAAAA,GAAeH,EAAOrD,EAA8B7B,GAC5E,OAAOgD,EAAAA,EAAAA,GAAS,GAAIhD,EAASoF,GAsHbE,CAAkBvC,GAClC,OAAoBiC,EAAAA,EAAAA,KAAK9C,GAAmBc,EAAAA,EAAAA,GAAS,CACnD5B,SAAUA,GAAYK,EACtBkD,GAAIA,EACJJ,IAAKA,GACJM,EAAO,CACRvD,QAASA,EACTtB,QAASA,EACT+C,WAAYA,EACZ0B,SAAyC,QAA/B1B,EAAWrB,iBAAyC6D,EAAAA,EAAAA,MAAMlB,EAAAA,SAAgB,CAClFI,SAAU,CAACA,EAAUhD,IAAwBuD,EAAAA,EAAAA,KAAKtB,EAA+B,CAC/EnD,UAAWP,EAAQ2D,iBACnBZ,WAAYA,EACZ0B,SAAUd,QAEI4B,EAAAA,EAAAA,MAAMlB,EAAAA,SAAgB,CACtCI,SAAU,CAAChD,IAAwBuD,EAAAA,EAAAA,KAAKtB,EAA+B,CACrEnD,UAAWP,EAAQ2D,iBACnBZ,WAAYA,EACZ0B,SAAUd,IACRc,Y,+ICrKH,SAASe,EAA6B1D,GAC3C,OAAOC,EAAAA,EAAAA,GAAqB,mBAAoBD,IAErBE,E,SAAAA,GAAuB,mBAAoB,CAAC,OAAQ,YAAjF,I,WCFMC,EAAY,CAAC,YAAa,kBAqB1BwD,GAAoBtD,EAAAA,EAAAA,IAAO,MAAO,CACtCK,KAAM,mBACNV,KAAM,OACNW,kBAAmB,SAACC,EAAOC,GACzB,IACEI,EACEL,EADFK,WAEF,MAAO,CAACJ,EAAOnC,MAAOuC,EAAW2C,gBAAkB/C,EAAOgD,WAPpCxD,EASvB,gBACDY,EADC,EACDA,WADC,OAEGC,EAAAA,EAAAA,GAAS,CACbe,QAAS,OACT6B,WAAY,SACZlF,QAAS,EACTmF,eAAgB,WAChBC,KAAM,aACJ/C,EAAW2C,gBAAkB,CAC/B,2BAA4B,CAC1BjC,WAAY,QA4DhB,EAzDmCY,EAAAA,YAAiB,SAAuBC,EAASC,GAClF,IAAM7B,GAAQ8B,EAAAA,EAAAA,GAAc,CAC1B9B,MAAO4B,EACP9B,KAAM,qBAINjC,EAEEmC,EAFFnC,UADF,EAGImC,EADFgD,eAAAA,OAFF,SAIMb,GAAQC,EAAAA,EAAAA,GAA8BpC,EAAOT,GAE7Cc,GAAaC,EAAAA,EAAAA,GAAS,GAAIN,EAAO,CACrCgD,eAAAA,IAGI1F,EAjDkB,SAAA+C,GACxB,IACE/C,EAEE+C,EAFF/C,QAGIkF,EAAQ,CACZ1E,KAAM,CAAC,QAFLuC,EADF2C,gBAGkC,YAEpC,OAAOL,EAAAA,EAAAA,GAAeH,EAAOM,EAA8BxF,GAyC3CsF,CAAkBvC,GAClC,OAAoBiC,EAAAA,EAAAA,KAAKS,GAAmBzC,EAAAA,EAAAA,GAAS,CACnDzC,WAAWwF,EAAAA,EAAAA,GAAK/F,EAAQQ,KAAMD,GAC9BwC,WAAYA,EACZwB,IAAKA,GACJM,Q,gJCjEE,SAASmB,EAAiClE,GAC/C,OAAOC,EAAAA,EAAAA,GAAqB,uBAAwBD,IAErBE,E,SAAAA,GAAuB,uBAAwB,CAAC,SAAjF,I,WCFMC,EAAY,CAAC,YAqBbgE,GAAwB9D,EAAAA,EAAAA,IAAO+D,EAAAA,EAAY,CAC/C7D,kBAAmB,SAAAC,GAAI,OAAIC,EAAAA,EAAAA,IAAsBD,IAAkB,YAATA,GAC1DE,KAAM,uBACNV,KAAM,OACNW,kBAAmB,SAACC,EAAOC,GAAR,OAAmBA,EAAOnC,OAJjB2B,CAK3B,IA2CH,EA1CuCkC,EAAAA,YAAiB,SAA2BC,EAASC,GAC1F,IAAM7B,GAAQ8B,EAAAA,EAAAA,GAAc,CAC1B9B,MAAO4B,EACP9B,KAAM,yBAGFO,GAAa+B,EAAAA,EAAAA,GAA8BpC,EAAOT,GAElDjC,EAzBkB,SAAA+C,GACxB,IACE/C,EACE+C,EADF/C,QAKIoF,GAAkBC,EAAAA,EAAAA,GAHV,CACZ7E,KAAM,CAAC,SAEqCwF,EAAkChG,GAChF,OAAOgD,EAAAA,EAAAA,GAAS,GAAIhD,EAASoF,GAiBbE,CAAkBvC,GAClC,OAAoBiC,EAAAA,EAAAA,KAAKiB,GAAuBjD,EAAAA,EAAAA,GAAS,CACvDmD,UAAW,IACX7E,QAAS,QACTC,MAAO,iBACPgD,IAAKA,EACLxB,WAAYA,GACXL,EAAO,CACR1C,QAASA","sources":["screens/Console/Buckets/BucketDetails/DeleteAccessRule.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","../node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","../node_modules/@mui/lab/LoadingButton/LoadingButton.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.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 { 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 { connect } from \"react-redux\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { AppState } from \"../../../../store\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n});\n\nconst connector = connect(mapState, { setErrorSnackMessage });\n\ninterface IDeleteAccessRule {\n modalOpen: boolean;\n onClose: () => any;\n bucket: string;\n toDelete: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n });\n\nconst DeleteAccessRule = ({\n onClose,\n modalOpen,\n bucket,\n toDelete,\n}: IDeleteAccessRule) => {\n const onDelSuccess = () => onClose();\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\"DELETE\", `/api/v1/bucket/${bucket}/access-rules`, {\n prefix: toDelete,\n });\n };\n\n return (\n }\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete this access rule?\n \n }\n />\n );\n};\n\nexport default withStyles(styles)(connector(DeleteAccessRule));\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLoadingButtonUtilityClass(slot) {\n return generateUtilityClass('MuiLoadingButton', slot);\n}\nconst loadingButtonClasses = generateUtilityClasses('MuiLoadingButton', ['root', 'loading', 'loadingIndicator', 'loadingIndicatorCenter', 'loadingIndicatorStart', 'loadingIndicatorEnd', 'endIconLoadingEnd', 'startIconLoadingStart']);\nexport default loadingButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"disabled\", \"id\", \"loading\", \"loadingIndicator\", \"loadingPosition\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@mui/utils';\nimport { capitalize, unstable_useId as useId } from '@mui/material/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading'],\n startIcon: [loading && `startIconLoading${capitalize(loadingPosition)}`],\n endIcon: [loading && `endIconLoading${capitalize(loadingPosition)}`],\n loadingIndicator: ['loadingIndicator', loading && `loadingIndicator${capitalize(loadingPosition)}`]\n };\n const composedClasses = composeClasses(slots, getLoadingButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n}; // TODO use `import { rootShouldForwardProp } from '../styles/styled';` once move to core\n\n\nconst rootShouldForwardProp = prop => prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as' && prop !== 'classes';\n\nconst LoadingButtonRoot = styled(Button, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiLoadingButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root, styles.startIconLoadingStart && {\n [`& .${loadingButtonClasses.startIconLoadingStart}`]: styles.startIconLoadingStart\n }, styles.endIconLoadingEnd && {\n [`& .${loadingButtonClasses.endIconLoadingEnd}`]: styles.endIconLoadingEnd\n }];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n}, ownerState.loadingPosition === 'center' && {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${loadingButtonClasses.loading}`]: {\n color: 'transparent'\n }\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginRight: -8\n }\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginLeft: -8\n }\n}));\nconst LoadingButtonLoadingIndicator = styled('div', {\n name: 'MuiLoadingButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.loadingIndicator, styles[`loadingIndicator${capitalize(ownerState.loadingPosition)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'absolute',\n visibility: 'visible',\n display: 'flex'\n}, ownerState.loadingPosition === 'start' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n left: 14\n}, ownerState.loadingPosition === 'start' && ownerState.variant === 'text' && {\n left: 6\n}, ownerState.loadingPosition === 'center' && {\n left: '50%',\n transform: 'translate(-50%)',\n color: theme.palette.action.disabled\n}, ownerState.loadingPosition === 'end' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n right: 14\n}, ownerState.loadingPosition === 'end' && ownerState.variant === 'text' && {\n right: 6\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n position: 'relative',\n left: -10\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n position: 'relative',\n right: -10\n}));\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLoadingButton'\n });\n\n const {\n children,\n disabled = false,\n id: idProp,\n loading = false,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp != null ? loadingIndicatorProp : /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n\n const ownerState = _extends({}, props, {\n disabled,\n loading,\n loadingIndicator,\n loadingPosition,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LoadingButtonRoot, _extends({\n disabled: disabled || loading,\n id: id,\n ref: ref\n }, other, {\n variant: variant,\n classes: classes,\n ownerState: ownerState,\n children: ownerState.loadingPosition === 'end' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children, loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n }), children]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LoadingButton.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * @ignore\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the loading indicator is shown.\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default we render a `CircularProgress` that is labelled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: chainPropTypes(PropTypes.oneOf(['start', 'end', 'center']), props => {\n if (props.loadingPosition === 'start' && !props.startIcon) {\n return new Error(`MUI: The loadingPosition=\"start\" should be used in combination with startIcon.`);\n }\n\n if (props.loadingPosition === 'end' && !props.endIcon) {\n return new Error(`MUI: The loadingPosition=\"end\" should be used in combination with endIcon.`);\n }\n\n return null;\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes.oneOf(['contained', 'outlined', 'text'])\n} : void 0;\nexport default LoadingButton;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n\n const ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * 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 DialogContentText;"],"names":["connector","connect","state","session","console","setErrorSnackMessage","withStyles","theme","createStyles","modalBasic","onClose","modalOpen","bucket","toDelete","useApi","err","deleteLoading","invokeDeleteApi","title","confirmText","isOpen","isLoading","onConfirm","prefix","titleIcon","confirmationContent","onSuccess","onError","useState","setIsLoading","method","url","data","api","then","res","catch","deleteDialogStyles","onCancel","classes","cancelText","confirmButtonProps","cancelButtonProps","open","event","reason","className","root","sx","padding","titleText","closeContainer","closeButton","onClick","disableRipple","size","content","actions","cancelButton","disabled","type","variant","color","confirmButton","loading","loadingPosition","startIcon","autoFocus","getLoadingButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","LoadingButtonRoot","styled","Button","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","startIconLoadingStart","loadingButtonClasses","endIconLoadingEnd","ownerState","_extends","transition","transitions","create","duration","short","opacity","fullWidth","marginRight","marginLeft","LoadingButtonLoadingIndicator","loadingIndicator","capitalize","position","visibility","display","left","transform","palette","action","right","React","inProps","ref","useThemeProps","children","idProp","id","loadingIndicatorProp","other","_objectWithoutPropertiesLoose","useId","_jsx","CircularProgress","slots","endIcon","composedClasses","composeClasses","useUtilityClasses","_jsxs","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","spacing","alignItems","justifyContent","flex","clsx","getDialogContentTextUtilityClass","DialogContentTextRoot","Typography","component"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/7950.041ee61e.chunk.js b/portal-ui/build/static/js/7950.041ee61e.chunk.js new file mode 100644 index 000000000..ab4a89efd --- /dev/null +++ b/portal-ui/build/static/js/7950.041ee61e.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[7950],{29316:function(e,t,n){n(50390);var a=n(6369),r=n(86509),i=n(4285),o=n(98280),l=n(62559);t.Z=(0,i.Z)((function(e){return(0,r.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var t=e.to,n=e.label,r=e.classes,i=e.className,c=e.executeOnClick;return(0,l.jsxs)(a.rU,{to:t,className:"".concat(r.link," ").concat(i||""),onClick:function(){c&&c()},children:[(0,l.jsx)("div",{className:r.icon,children:(0,l.jsx)(o.xN,{})}),(0,l.jsx)("div",{className:r.label,children:n})]})}))},57950:function(e,t,n){n.r(t);var a=n(23430),r=n(18489),i=n(50390),o=n(6369),l=n(70971),c=n(34424),s=n(86509),u=n(4285),d=n(25594),m=n(30324),p=n(72462),f=n(44149),x=n(77130),h=n(35721),b=n(62702),g=n(94187),v=n(95467),Z=n(56805),j=n(18221),y=n(49495),C=n(25534),k=n(57647),T=n(29316),E=n(15607),N=n(37882),I=n(53224),S=n(98280),w=n(62559),B=i.lazy((function(){return Promise.resolve().then(n.bind(n,56135))})),P=i.lazy((function(){return Promise.resolve().then(n.bind(n,18342))})),F=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(5444),n.e(7346)]).then(n.bind(n,47346))}))),_=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(3152),n.e(3690),n.e(5399),n.e(7777),n.e(5144)]).then(n.bind(n,5144))}))),A=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(3152),n.e(3690),n.e(5399),n.e(7777),n.e(5125)]).then(n.bind(n,5125))}))),O=(0,N.Z)(i.lazy((function(){return n.e(1973).then(n.bind(n,91973))}))),M=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(3152),n.e(3690),n.e(5399),n.e(7777),n.e(7187)]).then(n.bind(n,67187))}))),R=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(14),n.e(2066),n.e(5444),n.e(3152),n.e(3690),n.e(5399),n.e(4817),n.e(7777),n.e(7335),n.e(6173)]).then(n.bind(n,96173))}))),L=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(14),n.e(2066),n.e(5444),n.e(3152),n.e(3690),n.e(5399),n.e(606),n.e(9769),n.e(7248),n.e(4817),n.e(7777),n.e(7335),n.e(7146)]).then(n.bind(n,57146))}))),U=(0,c.$j)((function(e){return{session:e.console.session,selectedTab:e.buckets.bucketDetails.selectedTab,distributedSetup:e.system.distributedSetup,loadingBucket:e.buckets.bucketDetails.loadingBucket,bucketInfo:e.buckets.bucketDetails.bucketInfo}}),{setErrorSnackMessage:f.Ih,setBucketDetailsLoad:x.d5,setBucketInfo:x.f4});t.default=(0,u.Z)((function(e){return(0,s.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({pageContainer:{height:"100%"},screenTitle:{border:0,paddingTop:0}},p.Bw),{},{breadcrumLink:{textDecoration:"none",color:"black"}},p.qg),{},{capitalize:{textTransform:"capitalize"},deleteBtn:{color:"#f44336",border:"1px solid rgba(244, 67, 54, 0.5)",maxWidth:140}},p.bp),p.Si),(0,p.Bz)(e.spacing(4))))}))(U((function(e){var t=e.classes,n=e.match,r=e.history,c=e.setErrorSnackMessage,s=e.distributedSetup,u=e.setBucketDetailsLoad,p=e.loadingBucket,f=e.setBucketInfo,x=e.bucketInfo,N=(0,i.useState)(!1),U=(0,a.Z)(N,2),z=U[0],D=U[1],W=(0,i.useState)(!1),G=(0,a.Z)(W,2),H=G[0],K=G[1],Y=n.params.bucketName,Q=null===n||void 0===n?void 0:n.params[0];Q=Q||"summary";var $=(0,i.useState)(Q),q=(0,a.Z)($,2),V=q[0],X=q[1];(0,i.useEffect)((function(){X(Q)}),[Q]),(0,i.useEffect)((function(){z||(u(!0),D(!0))}),[z,u,D]),(0,i.useEffect)((function(){p&&m.Z.invoke("GET","/api/v1/buckets/".concat(Y)).then((function(e){u(!1),f(e)})).catch((function(e){u(!1),c(e)}))}),[Y,p,u,f,c]);var J="/buckets/".concat(Y),ee={events:"/admin/events",replication:"/admin/replication",lifecycle:"/admin/lifecycle",access:"/admin/access",prefix:"/admin/prefix"},te=function(e){var t=ee[e];return t=t?"".concat(J).concat(t):"".concat(J).concat("/admin/summary")};return(0,w.jsxs)(i.Fragment,{children:[H&&(0,w.jsx)(F,{deleteOpen:H,selectedBucket:Y,closeDeleteModalAndRefresh:function(e){!function(e){K(!1),e&&r.push("/buckets")}(e)}}),(0,w.jsx)(h.Z,{label:(0,w.jsx)(i.Fragment,{children:(0,w.jsx)(o.rU,{to:"/buckets",className:t.breadcrumLink,children:"Buckets"})}),actions:(0,w.jsx)(i.Fragment,{children:(0,w.jsx)(g.Z,{title:"Browse Bucket",children:(0,w.jsx)(v.Z,{color:"primary","aria-label":"Browse Bucket",component:"span",onClick:function(){r.push("/buckets/".concat(Y,"/browse"))},size:"large",children:(0,w.jsx)(P,{})})})})}),(0,w.jsx)(T.Z,{to:"/buckets",label:"Back to Buckets"}),(0,w.jsxs)(C.Z,{className:t.pageContainer,children:[(0,w.jsx)(d.ZP,{item:!0,xs:12,children:(0,w.jsx)(b.Z,{classes:{screenTitle:t.screenTitle},icon:(0,w.jsx)(i.Fragment,{children:(0,w.jsx)(B,{width:40})}),title:Y,subTitle:(0,w.jsxs)(E.Z,{scopes:[y.Ft.S3_GET_BUCKET_POLICY],resource:Y,children:[(0,w.jsx)("span",{style:{fontSize:15},children:"Access: "}),(0,w.jsx)("span",{className:t.capitalize,style:{fontWeight:600,fontSize:15},children:null===x||void 0===x?void 0:x.access.toLowerCase()})]}),actions:(0,w.jsxs)(i.Fragment,{children:[(0,w.jsx)(E.Z,{scopes:[y.Ft.S3_DELETE_BUCKET,y.Ft.S3_FORCE_DELETE_BUCKET],resource:Y,errorProps:{disabled:!0},children:(0,w.jsx)(I.Z,{tooltip:"Delete Bucket",onClick:function(){K(!0)},text:"Delete Bucket",icon:(0,w.jsx)(S.XH,{}),color:"secondary",variant:"outlined"})}),(0,w.jsx)(I.Z,{onClick:function(){u(!0)},text:"Refresh",icon:(0,w.jsx)(j.default,{}),color:"primary"})]})})}),(0,w.jsx)(Z.Z,{sx:{border:"1px solid #eaeaea"},children:(0,w.jsxs)(k.Z,{selectedTab:V,isRouteTabs:!0,routes:(0,w.jsx)("div",{className:t.contentSpacer,children:(0,w.jsx)(l.F0,{history:r,children:(0,w.jsxs)(l.rs,{children:[(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/summary",component:O}),(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/events",component:M}),s&&(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/replication",component:R}),s&&(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/lifecycle",component:L}),(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/access",component:A}),(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/prefix",component:_}),(0,w.jsx)(l.AW,{path:"/buckets/:bucketName",component:function(){return(0,w.jsx)(l.l_,{to:"/buckets/".concat(Y,"/admin/summary")})}})]})})}),children:[{tabConfig:{label:"Summary",value:"summary",component:o.rU,to:te("summary")}},{tabConfig:{label:"Events",value:"events",component:o.rU,disabled:!(0,E.F)(Y,[y.Ft.S3_GET_BUCKET_NOTIFICATIONS,y.Ft.S3_PUT_BUCKET_NOTIFICATIONS]),to:te("events")}},{tabConfig:{label:"Replication",value:"replication",component:o.rU,disabled:!s||!(0,E.F)(Y,[y.Ft.S3_GET_REPLICATION_CONFIGURATION,y.Ft.S3_PUT_REPLICATION_CONFIGURATION]),to:te("replication")}},{tabConfig:{label:"Lifecycle",value:"lifecycle",component:o.rU,disabled:!s||!(0,E.F)(Y,[y.Ft.S3_GET_LIFECYCLE_CONFIGURATION,y.Ft.S3_PUT_LIFECYCLE_CONFIGURATION]),to:te("lifecycle")}},{tabConfig:{label:"Access Audit",value:"access",component:o.rU,disabled:!(0,E.F)(Y,[y.Ft.ADMIN_GET_POLICY,y.Ft.ADMIN_LIST_USER_POLICIES,y.Ft.ADMIN_LIST_USERS]),to:te("access")}},{tabConfig:{label:"Access Rules",value:"prefix",component:o.rU,disabled:!(0,E.F)(Y,[y.Ft.S3_GET_BUCKET_POLICY]),to:te("prefix")}}]})})]})]})})))},53224:function(e,t,n){var a=n(18489),r=n(83738),i=(n(50390),n(70758)),o=n(62449),l=n(62559),c=["onClick","text","disabled","tooltip","icon"],s=(0,o.Z)((function(e){return{root:{padding:"7px",color:function(t){return function(t){var n=t.variant,a=t.color,r=e.palette.primary.main;return"primary"===a&&"contained"===n?r=e.palette.primary.contrastText:"primary"===a&&"outlined"===n?r=e.palette.primary.main:"secondary"===a&&(r=e.palette.secondary.main),r}(t)},borderColor:function(t){return"secondary"===t.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));t.Z=function(e){var t=s(e),n=e.onClick,o=e.text,u=void 0===o?"":o,d=e.disabled,m=void 0!==d&&d,p=e.tooltip,f=e.icon,x=void 0===f?null:f,h=(0,r.Z)(e,c);return(0,l.jsxs)(i.Z,(0,a.Z)((0,a.Z)({classes:t,tooltip:p||u,variant:"outlined",onClick:n,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},h),{},{children:[(0,l.jsx)("span",{children:u})," ",x]}))}},70758:function(e,t,n){var a=n(18489),r=n(36222),i=n(83738),o=(n(50390),n(86509)),l=n(4285),c=n(95467),s=n(94187),u=n(44977),d=n(62559),m=["classes","children","variant","tooltip"];t.Z=(0,l.Z)((function(e){return(0,o.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var t=e.classes,n=e.children,o=e.variant,l=void 0===o?"outlined":o,p=e.tooltip,f=(0,i.Z)(e,m),x=(0,d.jsx)(c.Z,(0,a.Z)((0,a.Z)({},f),{},{className:(0,u.Z)(t.root,(0,r.Z)({},t.contained,"contained"===l)),children:n}));return p&&""!==p?(0,d.jsx)(s.Z,{title:p,children:(0,d.jsx)("span",{children:x})}):x}))},37882:function(e,t,n){var a=n(18489),r=n(50390),i=n(62559);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,a.Z)({},n))})}return n}},35721:function(e,t,n){n(50390);var a=n(34424),r=n(25594),i=n(86509),o=n(4285),l=n(35477),c=n(95467),s=n(26805),u=n(44078),d=n(5265),m=n(98280),p=n(62559),f={toggleList:d.kQ},x=(0,a.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),f);t.Z=x((0,o.Z)((function(e){return(0,i.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,a=e.actions,i=e.sidebarOpen,o=e.operatorMode,d=e.managerObjects,f=e.toggleList,x=e.middleComponent;return(0,p.jsxs)(r.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!i&&(0,p.jsx)("div",{className:t.logo,children:o?(0,p.jsx)(s.Z,{}):(0,p.jsx)(u.Z,{})}),(0,p.jsx)(l.Z,{variant:"h4",className:t.labelStyle,children:n})]}),x&&(0,p.jsx)(r.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:x}),(0,p.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:t.rightMenu,children:[a&&a,d&&d.length>0&&(0,p.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},size:"large",children:(0,p.jsx)(m.gx,{})})]})]})})))},62702:function(e,t,n){n(50390);var a=n(25594),r=n(86509),i=n(4285),o=n(62559);t.Z=(0,i.Z)((function(e){return(0,r.Z)({headerBarIcon:{marginRight:".7rem",color:e.palette.primary.main,"& .min-icon":{width:44,height:44}},headerBarSubheader:{color:"grey","@media (max-width: 900px)":{maxWidth:200}},screenTitle:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"1rem",borderBottom:"1px solid #EAEAEA","@media (max-width: 600px)":{flexFlow:"column"}},titleColumn:{height:"auto",justifyContent:"center",display:"flex",flexFlow:"column",alignItems:"flex-start","& h1":{fontSize:19}},leftItems:{display:"flex",alignItems:"center","@media (max-width: 600px)":{flexFlow:"column"}},rightItems:{display:"flex",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.icon,r=e.title,i=e.subTitle,l=e.actions,c=e.className;return(0,o.jsx)(a.ZP,{container:!0,children:(0,o.jsxs)(a.ZP,{item:!0,xs:12,className:"".concat(t.screenTitle," ").concat(c||""),children:[(0,o.jsxs)("div",{className:t.leftItems,children:[n?(0,o.jsx)("div",{className:t.headerBarIcon,children:n}):null,(0,o.jsxs)("div",{className:t.titleColumn,children:[(0,o.jsx)("h1",{style:{margin:0},children:r}),(0,o.jsx)("span",{className:t.headerBarSubheader,children:i})]})]}),(0,o.jsx)("div",{className:t.rightItems,children:l})]})})}))},57647:function(e,t,n){var a=n(18489),r=n(23430),i=n(50390),o=n(56805),l=n(49044),c=n(97227),s=n(74564),u=n(669),d=n(4285),m=n(88669),p=n(86509),f=n(13512),x=n(62559),h={minHeight:60};t.Z=(0,d.Z)((function(e){return(0,p.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 t=e.children,n=e.classes,d=e.selectedTab,p=void 0===d?"0":d,b=e.routes,g=e.isRouteTabs,v=i.useState(p),Z=(0,r.Z)(v,2),j=Z[0],y=Z[1],C=(0,m.Z)(),k=(0,f.Z)(C.breakpoints.down("md")),T=[],E=[];return t?(t.forEach((function(e){T.push(e.tabConfig),E.push(e.content)})),(0,x.jsx)(c.ZP,{value:"".concat(j),children:(0,x.jsxs)(o.Z,{className:n.tabsContainer,children:[(0,x.jsx)(o.Z,{className:n.tabsHeaderContainer,children:(0,x.jsx)(s.Z,{onChange:function(e,t){y(t)},orientation:k?"horizontal":"vertical",variant:k?"scrollable":"standard",scrollButtons:"auto",className:n.tabList,children:T.map((function(e,t){return e?(0,x.jsx)(l.Z,(0,a.Z)((0,a.Z)({className:n.tabHeader,value:"".concat(t),style:h},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(t)):null}))})}),(0,x.jsxs)(o.Z,{className:n.tabContentContainer,children:[g?null:E.map((function(e,t){return(0,x.jsx)(u.Z,{classes:(0,a.Z)({},n.tabPanel),value:"".concat(t),children:e||null},"v-tab-p-".concat(t))})),g?(0,x.jsx)("div",{className:n.tabPanel,children:b}):null]})]})})):null}))},97227:function(e,t,n){n.d(t,{ZP:function(){return l},_i:function(){return c},uU:function(){return s},pQ:function(){return u}});var a=n(23430),r=n(50390),i=n(62559),o=r.createContext(null);function l(e){var t=e.children,n=e.value,l=function(){var e=r.useState(null),t=(0,a.Z)(e,2),n=t[0],i=t[1];return r.useEffect((function(){i("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),n}(),c=r.useMemo((function(){return{idPrefix:l,value:n}}),[l,n]);return(0,i.jsx)(o.Provider,{value:c,children:t})}function c(){return r.useContext(o)}function s(e,t){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(t)}function u(e,t){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(t)}},74564:function(e,t,n){var a=n(18207),r=n(46633),i=n(50390),o=n(98247),l=n(97227),c=n(62559),s=["children"],u=i.forwardRef((function(e,t){var n=e.children,u=(0,r.Z)(e,s),d=(0,l._i)();if(null===d)throw new TypeError("No TabContext provided");var m=i.Children.map(n,(function(e){return i.isValidElement(e)?i.cloneElement(e,{"aria-controls":(0,l.uU)(d,e.props.value),id:(0,l.pQ)(d,e.props.value)}):null}));return(0,c.jsx)(o.Z,(0,a.Z)({},u,{ref:t,value:d.value,children:m}))}));t.Z=u},669:function(e,t,n){n.d(t,{Z:function(){return h}});var a=n(18207),r=n(46633),i=n(50390),o=n(44977),l=n(8208),c=n(15573),s=n(50076),u=n(10594);function d(e){return(0,u.Z)("MuiTabPanel",e)}(0,n(43349).Z)("MuiTabPanel",["root"]);var m=n(97227),p=n(62559),f=["children","className","value"],x=(0,l.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,t){return t.root}})((function(e){return{padding:e.theme.spacing(3)}})),h=i.forwardRef((function(e,t){var n=(0,c.Z)({props:e,name:"MuiTabPanel"}),i=n.children,l=n.className,u=n.value,h=(0,r.Z)(n,f),b=(0,a.Z)({},n),g=function(e){var t=e.classes;return(0,s.Z)({root:["root"]},d,t)}(b),v=(0,m._i)();if(null===v)throw new TypeError("No TabContext provided");var Z=(0,m.uU)(v,u),j=(0,m.pQ)(v,u);return(0,p.jsx)(x,(0,a.Z)({"aria-labelledby":j,className:(0,o.Z)(g.root,l),hidden:u!==v.value,id:Z,ref:t,role:"tabpanel",ownerState:b},h,{children:u===v.value&&i}))}))},83738:function(e,t,n){function a(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}n.d(t,{Z:function(){return a}})}}]); +//# sourceMappingURL=7950.041ee61e.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/7950.041ee61e.chunk.js.map b/portal-ui/build/static/js/7950.041ee61e.chunk.js.map new file mode 100644 index 000000000..041ba3773 --- /dev/null +++ b/portal-ui/build/static/js/7950.041ee61e.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/7950.041ee61e.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Buckets/BucketDetails/BucketDetails.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/ScreenTitle/ScreenTitle.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","../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","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Link, Redirect, Route, Router, Switch } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\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 api from \"../../../../common/api\";\nimport { BucketInfo } from \"../types\";\nimport {\n buttonsStyles,\n containerForHeader,\n hrClass,\n pageContentStyles,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { setBucketDetailsLoad, setBucketInfo } from \"../actions\";\nimport { AppState } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\n\nimport ScreenTitle from \"../../Common/ScreenTitle/ScreenTitle\";\nimport { Box, IconButton, Tooltip } from \"@mui/material\";\n\nimport RefreshIcon from \"../../../../icons/RefreshIcon\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport VerticalTabs from \"../../Common/VerticalTabs/VerticalTabs\";\nimport BackLink from \"../../../../common/BackLink\";\nimport SecureComponent, {\n hasPermission,\n} from \"../../../../common/SecureComponent/SecureComponent\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport RBIconButton from \"./SummaryItems/RBIconButton\";\nimport { TrashIcon } from \"../../../../icons\";\n\nconst BucketsIcon = React.lazy(() => import(\"../../../../icons/BucketsIcon\"));\nconst FolderIcon = React.lazy(() => import(\"../../../../icons/FolderIcon\"));\n\nconst DeleteBucket = withSuspense(\n React.lazy(() => import(\"../ListBuckets/DeleteBucket\"))\n);\nconst AccessRulePanel = withSuspense(\n React.lazy(() => import(\"./AccessRulePanel\"))\n);\nconst AccessDetailsPanel = withSuspense(\n React.lazy(() => import(\"./AccessDetailsPanel\"))\n);\nconst BucketSummaryPanel = withSuspense(\n React.lazy(() => import(\"./BucketSummaryPanel\"))\n);\nconst BucketEventsPanel = withSuspense(\n React.lazy(() => import(\"./BucketEventsPanel\"))\n);\nconst BucketReplicationPanel = withSuspense(\n React.lazy(() => import(\"./BucketReplicationPanel\"))\n);\nconst BucketLifecyclePanel = withSuspense(\n React.lazy(() => import(\"./BucketLifecyclePanel\"))\n);\n\nconst styles = (theme: Theme) =>\n createStyles({\n pageContainer: {\n height: \"100%\",\n },\n screenTitle: {\n border: 0,\n paddingTop: 0,\n },\n ...pageContentStyles,\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n ...searchField,\n capitalize: {\n textTransform: \"capitalize\",\n },\n deleteBtn: {\n color: \"#f44336\",\n border: \"1px solid rgba(244, 67, 54, 0.5)\",\n maxWidth: 140,\n },\n ...hrClass,\n ...buttonsStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IBucketDetailsProps {\n classes: any;\n match: any;\n history: any;\n distributedSetup: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n setBucketDetailsLoad: typeof setBucketDetailsLoad;\n loadingBucket: boolean;\n setBucketInfo: typeof setBucketInfo;\n bucketInfo: BucketInfo | null;\n}\n\nconst BucketDetails = ({\n classes,\n match,\n history,\n setErrorSnackMessage,\n distributedSetup,\n setBucketDetailsLoad,\n loadingBucket,\n setBucketInfo,\n bucketInfo,\n}: IBucketDetailsProps) => {\n const [iniLoad, setIniLoad] = useState(false);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const bucketName = match.params[\"bucketName\"];\n\n let selTab = match?.params[\"0\"];\n selTab = selTab ? selTab : \"summary\";\n\n const [activeTab, setActiveTab] = useState(selTab);\n\n useEffect(() => {\n setActiveTab(selTab);\n }, [selTab]);\n\n useEffect(() => {\n if (!iniLoad) {\n setBucketDetailsLoad(true);\n setIniLoad(true);\n }\n }, [iniLoad, setBucketDetailsLoad, setIniLoad]);\n\n useEffect(() => {\n if (loadingBucket) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}`)\n .then((res: BucketInfo) => {\n setBucketDetailsLoad(false);\n setBucketInfo(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setBucketDetailsLoad(false);\n setErrorSnackMessage(err);\n });\n }\n }, [\n bucketName,\n loadingBucket,\n setBucketDetailsLoad,\n setBucketInfo,\n setErrorSnackMessage,\n ]);\n\n let topLevelRoute = `/buckets/${bucketName}`;\n const defaultRoute = \"/admin/summary\";\n\n const manageBucketRoutes: Record = {\n events: \"/admin/events\",\n replication: \"/admin/replication\",\n lifecycle: \"/admin/lifecycle\",\n access: \"/admin/access\",\n prefix: \"/admin/prefix\",\n };\n\n const getRoutePath = (routeKey: string) => {\n let path = manageBucketRoutes[routeKey];\n if (!path) {\n path = `${topLevelRoute}${defaultRoute}`;\n } else {\n path = `${topLevelRoute}${path}`;\n }\n return path;\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n if (refresh) {\n history.push(\"/buckets\");\n }\n };\n\n const openBucketBrowser = () => {\n history.push(`/buckets/${bucketName}/browse`);\n };\n\n return (\n \n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n \n \n Buckets\n \n \n }\n actions={\n \n \n \n \n \n \n \n }\n />\n \n \n \n \n \n \n }\n title={bucketName}\n subTitle={\n \n Access: \n \n {bucketInfo?.access.toLowerCase()}\n \n \n }\n actions={\n \n \n {\n setDeleteOpen(true);\n }}\n text={\"Delete Bucket\"}\n icon={}\n color={\"secondary\"}\n variant={\"outlined\"}\n />\n \n {\n setBucketDetailsLoad(true);\n }}\n text={`Refresh`}\n icon={}\n color={\"primary\"}\n />\n \n }\n />\n \n \n \n \n \n \n \n {distributedSetup && (\n \n )}\n {distributedSetup && (\n \n )}\n\n \n \n (\n \n )}\n />\n \n \n \n }\n >\n {{\n tabConfig: {\n label: \"Summary\",\n value: \"summary\",\n component: Link,\n to: getRoutePath(\"summary\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Events\",\n value: \"events\",\n component: Link,\n disabled: !hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_NOTIFICATIONS,\n IAM_SCOPES.S3_PUT_BUCKET_NOTIFICATIONS,\n ]),\n to: getRoutePath(\"events\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Replication\",\n value: \"replication\",\n component: Link,\n disabled:\n !distributedSetup ||\n !hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_REPLICATION_CONFIGURATION,\n IAM_SCOPES.S3_PUT_REPLICATION_CONFIGURATION,\n ]),\n to: getRoutePath(\"replication\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Lifecycle\",\n value: \"lifecycle\",\n component: Link,\n disabled:\n !distributedSetup ||\n !hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_LIFECYCLE_CONFIGURATION,\n IAM_SCOPES.S3_PUT_LIFECYCLE_CONFIGURATION,\n ]),\n to: getRoutePath(\"lifecycle\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Access Audit\",\n value: \"access\",\n component: Link,\n disabled: !hasPermission(bucketName, [\n IAM_SCOPES.ADMIN_GET_POLICY,\n IAM_SCOPES.ADMIN_LIST_USER_POLICIES,\n IAM_SCOPES.ADMIN_LIST_USERS,\n ]),\n to: getRoutePath(\"access\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Access Rules\",\n value: \"prefix\",\n component: Link,\n disabled: !hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_POLICY,\n ]),\n to: getRoutePath(\"prefix\"),\n },\n }}\n \n \n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n selectedTab: state.buckets.bucketDetails.selectedTab,\n distributedSetup: state.system.distributedSetup,\n loadingBucket: state.buckets.bucketDetails.loadingBucket,\n bucketInfo: state.buckets.bucketDetails.bucketInfo,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n setBucketDetailsLoad,\n setBucketInfo,\n});\n\nexport default withStyles(styles)(connector(BucketDetails));\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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n

\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
\n {icon ?
{icon}
: null}\n
\n

{title}

\n {subTitle}\n
\n
\n\n
{actions}
\n
\n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\n","import React 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\";\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 [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\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","import * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","BucketsIcon","React","FolderIcon","DeleteBucket","withSuspense","AccessRulePanel","AccessDetailsPanel","BucketSummaryPanel","BucketEventsPanel","BucketReplicationPanel","BucketLifecyclePanel","connector","connect","state","session","console","selectedTab","buckets","bucketDetails","distributedSetup","system","loadingBucket","bucketInfo","setErrorSnackMessage","setBucketDetailsLoad","setBucketInfo","pageContainer","height","screenTitle","border","paddingTop","pageContentStyles","breadcrumLink","searchField","capitalize","textTransform","deleteBtn","hrClass","buttonsStyles","containerForHeader","spacing","match","history","useState","iniLoad","setIniLoad","deleteOpen","setDeleteOpen","bucketName","params","selTab","activeTab","setActiveTab","useEffect","api","then","res","catch","err","topLevelRoute","manageBucketRoutes","events","replication","lifecycle","access","prefix","getRoutePath","routeKey","path","Fragment","selectedBucket","closeDeleteModalAndRefresh","refresh","push","actions","title","component","size","item","xs","subTitle","scopes","IAM_SCOPES","resource","style","fontWeight","toLowerCase","errorProps","disabled","tooltip","text","variant","sx","isRouteTabs","routes","contentSpacer","exact","tabConfig","value","Link","hasPermission","useStyles","makeStyles","root","props","tgtColor","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","restProps","borderWidth","borderStyle","borderRadius","backgroundColor","opacity","contained","background","dark","children","rest","button","clsx","WrappedComponent","fallback","ComponentWithSuspense","Suspense","mapDispatchToProps","toggleList","sidebarOpen","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","container","direction","sm","md","length","headerBarIcon","headerBarSubheader","borderBottom","flexFlow","titleColumn","leftItems","rightItems","margin","tabStripStyle","tabsContainer","tabsHeaderContainer","borderRight","marginBottom","tabContentContainer","tabPanel","flexDirection","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","forEach","child","content","onChange","event","newValue","orientation","scrollButtons","tabList","map","index","tabHeader","disableRipple","disableTouchRipple","focusRipple","Context","TabContext","idPrefix","id","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","name","overridesResolver","styles","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","hidden","role","_objectWithoutProperties","source","excluded","key","i","target","sourceKeys","Object","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/7950.455e5528.chunk.js b/portal-ui/build/static/js/7950.455e5528.chunk.js deleted file mode 100644 index 36cd640b5..000000000 --- a/portal-ui/build/static/js/7950.455e5528.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[7950],{29316:function(e,t,n){n(50390);var a=n(6369),r=n(86509),i=n(4285),o=n(11387),l=n(62559);t.Z=(0,i.Z)((function(e){return(0,r.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var t=e.to,n=e.label,r=e.classes,i=e.className,c=e.executeOnClick;return(0,l.jsxs)(a.rU,{to:t,className:"".concat(r.link," ").concat(i||""),onClick:function(){c&&c()},children:[(0,l.jsx)("div",{className:r.icon,children:(0,l.jsx)(o.xN,{})}),(0,l.jsx)("div",{className:r.label,children:n})]})}))},57950:function(e,t,n){n.r(t);var a=n(23430),r=n(18489),i=n(50390),o=n(6369),l=n(70971),c=n(34424),s=n(86509),u=n(4285),d=n(25594),m=n(30324),p=n(72462),f=n(44149),x=n(77130),h=n(35721),b=n(62702),g=n(94187),v=n(95467),Z=n(56805),j=n(18221),y=n(49495),C=n(25534),k=n(57647),T=n(29316),E=n(15607),N=n(37882),I=n(53224),S=n(11387),w=n(62559),B=i.lazy((function(){return Promise.resolve().then(n.bind(n,56135))})),P=i.lazy((function(){return Promise.resolve().then(n.bind(n,18342))})),F=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(5444),n.e(7346)]).then(n.bind(n,47346))}))),_=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(892),n.e(3690),n.e(5399),n.e(7777),n.e(5144)]).then(n.bind(n,5144))}))),A=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(892),n.e(3690),n.e(5399),n.e(7777),n.e(5125)]).then(n.bind(n,5125))}))),O=(0,N.Z)(i.lazy((function(){return n.e(1973).then(n.bind(n,91973))}))),M=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(892),n.e(3690),n.e(5399),n.e(7777),n.e(7187)]).then(n.bind(n,67187))}))),R=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(14),n.e(2066),n.e(5444),n.e(892),n.e(3690),n.e(5399),n.e(4817),n.e(7777),n.e(6173)]).then(n.bind(n,96173))}))),L=(0,N.Z)(i.lazy((function(){return Promise.all([n.e(14),n.e(2066),n.e(5444),n.e(892),n.e(3690),n.e(5399),n.e(606),n.e(9769),n.e(7248),n.e(6851),n.e(7777),n.e(7454),n.e(7146)]).then(n.bind(n,57146))}))),U=(0,c.$j)((function(e){return{session:e.console.session,selectedTab:e.buckets.bucketDetails.selectedTab,distributedSetup:e.system.distributedSetup,loadingBucket:e.buckets.bucketDetails.loadingBucket,bucketInfo:e.buckets.bucketDetails.bucketInfo}}),{setErrorSnackMessage:f.Ih,setBucketDetailsLoad:x.d5,setBucketInfo:x.f4});t.default=(0,u.Z)((function(e){return(0,s.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({pageContainer:{height:"100%"},screenTitle:{border:0,paddingTop:0}},p.Bw),{},{breadcrumLink:{textDecoration:"none",color:"black"}},p.qg),{},{capitalize:{textTransform:"capitalize"},deleteBtn:{color:"#f44336",border:"1px solid rgba(244, 67, 54, 0.5)",maxWidth:140}},p.bp),p.Si),(0,p.Bz)(e.spacing(4))))}))(U((function(e){var t=e.classes,n=e.match,r=e.history,c=e.setErrorSnackMessage,s=e.distributedSetup,u=e.setBucketDetailsLoad,p=e.loadingBucket,f=e.setBucketInfo,x=e.bucketInfo,N=(0,i.useState)(!1),U=(0,a.Z)(N,2),z=U[0],D=U[1],W=(0,i.useState)(!1),G=(0,a.Z)(W,2),H=G[0],K=G[1],Y=n.params.bucketName,Q=null===n||void 0===n?void 0:n.params[0];Q=Q||"summary";var $=(0,i.useState)(Q),q=(0,a.Z)($,2),V=q[0],X=q[1];(0,i.useEffect)((function(){X(Q)}),[Q]),(0,i.useEffect)((function(){z||(u(!0),D(!0))}),[z,u,D]),(0,i.useEffect)((function(){p&&m.Z.invoke("GET","/api/v1/buckets/".concat(Y)).then((function(e){u(!1),f(e)})).catch((function(e){u(!1),c(e)}))}),[Y,p,u,f,c]);var J="/buckets/".concat(Y),ee={events:"/admin/events",replication:"/admin/replication",lifecycle:"/admin/lifecycle",access:"/admin/access",prefix:"/admin/prefix"},te=function(e){var t=ee[e];return t=t?"".concat(J).concat(t):"".concat(J).concat("/admin/summary")};return(0,w.jsxs)(i.Fragment,{children:[H&&(0,w.jsx)(F,{deleteOpen:H,selectedBucket:Y,closeDeleteModalAndRefresh:function(e){!function(e){K(!1),e&&r.push("/buckets")}(e)}}),(0,w.jsx)(h.Z,{label:(0,w.jsx)(i.Fragment,{children:(0,w.jsx)(o.rU,{to:"/buckets",className:t.breadcrumLink,children:"Buckets"})}),actions:(0,w.jsx)(i.Fragment,{children:(0,w.jsx)(g.Z,{title:"Browse Bucket",children:(0,w.jsx)(v.Z,{color:"primary","aria-label":"Browse Bucket",component:"span",onClick:function(){r.push("/buckets/".concat(Y,"/browse"))},size:"large",children:(0,w.jsx)(P,{})})})})}),(0,w.jsx)(T.Z,{to:"/buckets",label:"Back to Buckets"}),(0,w.jsxs)(C.Z,{className:t.pageContainer,children:[(0,w.jsx)(d.ZP,{item:!0,xs:12,children:(0,w.jsx)(b.Z,{classes:{screenTitle:t.screenTitle},icon:(0,w.jsx)(i.Fragment,{children:(0,w.jsx)(B,{width:40})}),title:Y,subTitle:(0,w.jsxs)(E.Z,{scopes:[y.Ft.S3_GET_BUCKET_POLICY],resource:Y,children:[(0,w.jsx)("span",{style:{fontSize:15},children:"Access: "}),(0,w.jsx)("span",{className:t.capitalize,style:{fontWeight:600,fontSize:15},children:null===x||void 0===x?void 0:x.access.toLowerCase()})]}),actions:(0,w.jsxs)(i.Fragment,{children:[(0,w.jsx)(E.Z,{scopes:[y.Ft.S3_DELETE_BUCKET,y.Ft.S3_FORCE_DELETE_BUCKET],resource:Y,errorProps:{disabled:!0},children:(0,w.jsx)(I.Z,{tooltip:"Delete Bucket",onClick:function(){K(!0)},text:"Delete Bucket",icon:(0,w.jsx)(S.XH,{}),color:"secondary",variant:"outlined"})}),(0,w.jsx)(I.Z,{onClick:function(){u(!0)},text:"Refresh",icon:(0,w.jsx)(j.default,{}),color:"primary"})]})})}),(0,w.jsx)(Z.Z,{sx:{border:"1px solid #eaeaea"},children:(0,w.jsxs)(k.Z,{selectedTab:V,isRouteTabs:!0,routes:(0,w.jsx)("div",{className:t.contentSpacer,children:(0,w.jsx)(l.F0,{history:r,children:(0,w.jsxs)(l.rs,{children:[(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/summary",component:O}),(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/events",component:M}),s&&(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/replication",component:R}),s&&(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/lifecycle",component:L}),(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/access",component:A}),(0,w.jsx)(l.AW,{exact:!0,path:"/buckets/:bucketName/admin/prefix",component:_}),(0,w.jsx)(l.AW,{path:"/buckets/:bucketName",component:function(){return(0,w.jsx)(l.l_,{to:"/buckets/".concat(Y,"/admin/summary")})}})]})})}),children:[{tabConfig:{label:"Summary",value:"summary",component:o.rU,to:te("summary")}},{tabConfig:{label:"Events",value:"events",component:o.rU,disabled:!(0,E.F)(Y,[y.Ft.S3_GET_BUCKET_NOTIFICATIONS,y.Ft.S3_PUT_BUCKET_NOTIFICATIONS]),to:te("events")}},{tabConfig:{label:"Replication",value:"replication",component:o.rU,disabled:!s||!(0,E.F)(Y,[y.Ft.S3_GET_REPLICATION_CONFIGURATION,y.Ft.S3_PUT_REPLICATION_CONFIGURATION]),to:te("replication")}},{tabConfig:{label:"Lifecycle",value:"lifecycle",component:o.rU,disabled:!s||!(0,E.F)(Y,[y.Ft.S3_GET_LIFECYCLE_CONFIGURATION,y.Ft.S3_PUT_LIFECYCLE_CONFIGURATION]),to:te("lifecycle")}},{tabConfig:{label:"Access Audit",value:"access",component:o.rU,disabled:!(0,E.F)(Y,[y.Ft.ADMIN_GET_POLICY,y.Ft.ADMIN_LIST_USER_POLICIES,y.Ft.ADMIN_LIST_USERS]),to:te("access")}},{tabConfig:{label:"Access Rules",value:"prefix",component:o.rU,disabled:!(0,E.F)(Y,[y.Ft.S3_GET_BUCKET_POLICY]),to:te("prefix")}}]})})]})]})})))},53224:function(e,t,n){var a=n(18489),r=n(83738),i=(n(50390),n(70758)),o=n(62449),l=n(62559),c=["onClick","text","disabled","tooltip","icon"],s=(0,o.Z)((function(e){return{root:{padding:"7px",color:function(t){return function(t){var n=t.variant,a=t.color,r=e.palette.primary.main;return"primary"===a&&"contained"===n?r=e.palette.primary.contrastText:"primary"===a&&"outlined"===n?r=e.palette.primary.main:"secondary"===a&&(r=e.palette.secondary.main),r}(t)},borderColor:function(t){return"secondary"===t.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));t.Z=function(e){var t=s(e),n=e.onClick,o=e.text,u=void 0===o?"":o,d=e.disabled,m=void 0!==d&&d,p=e.tooltip,f=e.icon,x=void 0===f?null:f,h=(0,r.Z)(e,c);return(0,l.jsxs)(i.Z,(0,a.Z)((0,a.Z)({classes:t,tooltip:p||u,variant:"outlined",onClick:n,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},h),{},{children:[(0,l.jsx)("span",{children:u})," ",x]}))}},70758:function(e,t,n){var a=n(18489),r=n(36222),i=n(83738),o=(n(50390),n(86509)),l=n(4285),c=n(95467),s=n(94187),u=n(44977),d=n(62559),m=["classes","children","variant","tooltip"];t.Z=(0,l.Z)((function(e){return(0,o.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var t=e.classes,n=e.children,o=e.variant,l=void 0===o?"outlined":o,p=e.tooltip,f=(0,i.Z)(e,m),x=(0,d.jsx)(c.Z,(0,a.Z)((0,a.Z)({},f),{},{className:(0,u.Z)(t.root,(0,r.Z)({},t.contained,"contained"===l)),children:n}));return p&&""!==p?(0,d.jsx)(s.Z,{title:p,children:(0,d.jsx)("span",{children:x})}):x}))},37882:function(e,t,n){var a=n(18489),r=n(50390),i=n(62559);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,a.Z)({},n))})}return n}},35721:function(e,t,n){n(50390);var a=n(34424),r=n(25594),i=n(86509),o=n(4285),l=n(35477),c=n(95467),s=n(26805),u=n(44078),d=n(5265),m=n(11387),p=n(62559),f={toggleList:d.kQ},x=(0,a.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),f);t.Z=x((0,o.Z)((function(e){return(0,i.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,a=e.actions,i=e.sidebarOpen,o=e.operatorMode,d=e.managerObjects,f=e.toggleList,x=e.middleComponent;return(0,p.jsxs)(r.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!i&&(0,p.jsx)("div",{className:t.logo,children:o?(0,p.jsx)(s.Z,{}):(0,p.jsx)(u.Z,{})}),(0,p.jsx)(l.Z,{variant:"h4",className:t.labelStyle,children:n})]}),x&&(0,p.jsx)(r.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:x}),(0,p.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:t.rightMenu,children:[a&&a,d&&d.length>0&&(0,p.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},size:"large",children:(0,p.jsx)(m.gx,{})})]})]})})))},62702:function(e,t,n){n(50390);var a=n(25594),r=n(86509),i=n(4285),o=n(62559);t.Z=(0,i.Z)((function(e){return(0,r.Z)({headerBarIcon:{marginRight:".7rem",color:e.palette.primary.main,"& .min-icon":{width:44,height:44}},headerBarSubheader:{color:"grey","@media (max-width: 900px)":{maxWidth:200}},screenTitle:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"1rem",borderBottom:"1px solid #EAEAEA","@media (max-width: 600px)":{flexFlow:"column"}},titleColumn:{height:"auto",justifyContent:"center",display:"flex",flexFlow:"column",alignItems:"flex-start","& h1":{fontSize:19}},leftItems:{display:"flex",alignItems:"center","@media (max-width: 600px)":{flexFlow:"column"}},rightItems:{display:"flex",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.icon,r=e.title,i=e.subTitle,l=e.actions,c=e.className;return(0,o.jsx)(a.ZP,{container:!0,children:(0,o.jsxs)(a.ZP,{item:!0,xs:12,className:"".concat(t.screenTitle," ").concat(c||""),children:[(0,o.jsxs)("div",{className:t.leftItems,children:[n?(0,o.jsx)("div",{className:t.headerBarIcon,children:n}):null,(0,o.jsxs)("div",{className:t.titleColumn,children:[(0,o.jsx)("h1",{style:{margin:0},children:r}),(0,o.jsx)("span",{className:t.headerBarSubheader,children:i})]})]}),(0,o.jsx)("div",{className:t.rightItems,children:l})]})})}))},57647:function(e,t,n){var a=n(18489),r=n(23430),i=n(50390),o=n(56805),l=n(49044),c=n(97227),s=n(74564),u=n(669),d=n(4285),m=n(88669),p=n(86509),f=n(13512),x=n(62559),h={minHeight:60};t.Z=(0,d.Z)((function(e){return(0,p.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 t=e.children,n=e.classes,d=e.selectedTab,p=void 0===d?"0":d,b=e.routes,g=e.isRouteTabs,v=i.useState(p),Z=(0,r.Z)(v,2),j=Z[0],y=Z[1],C=(0,m.Z)(),k=(0,f.Z)(C.breakpoints.down("md")),T=[],E=[];return t?(t.forEach((function(e){T.push(e.tabConfig),E.push(e.content)})),(0,x.jsx)(c.ZP,{value:"".concat(j),children:(0,x.jsxs)(o.Z,{className:n.tabsContainer,children:[(0,x.jsx)(o.Z,{className:n.tabsHeaderContainer,children:(0,x.jsx)(s.Z,{onChange:function(e,t){y(t)},orientation:k?"horizontal":"vertical",variant:k?"scrollable":"standard",scrollButtons:"auto",className:n.tabList,children:T.map((function(e,t){return e?(0,x.jsx)(l.Z,(0,a.Z)((0,a.Z)({className:n.tabHeader,value:"".concat(t),style:h},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(t)):null}))})}),(0,x.jsxs)(o.Z,{className:n.tabContentContainer,children:[g?null:E.map((function(e,t){return(0,x.jsx)(u.Z,{classes:(0,a.Z)({},n.tabPanel),value:"".concat(t),children:e||null},"v-tab-p-".concat(t))})),g?(0,x.jsx)("div",{className:n.tabPanel,children:b}):null]})]})})):null}))},97227:function(e,t,n){n.d(t,{ZP:function(){return l},_i:function(){return c},uU:function(){return s},pQ:function(){return u}});var a=n(23430),r=n(50390),i=n(62559),o=r.createContext(null);function l(e){var t=e.children,n=e.value,l=function(){var e=r.useState(null),t=(0,a.Z)(e,2),n=t[0],i=t[1];return r.useEffect((function(){i("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),n}(),c=r.useMemo((function(){return{idPrefix:l,value:n}}),[l,n]);return(0,i.jsx)(o.Provider,{value:c,children:t})}function c(){return r.useContext(o)}function s(e,t){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(t)}function u(e,t){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(t)}},74564:function(e,t,n){var a=n(18207),r=n(46633),i=n(50390),o=n(98247),l=n(97227),c=n(62559),s=["children"],u=i.forwardRef((function(e,t){var n=e.children,u=(0,r.Z)(e,s),d=(0,l._i)();if(null===d)throw new TypeError("No TabContext provided");var m=i.Children.map(n,(function(e){return i.isValidElement(e)?i.cloneElement(e,{"aria-controls":(0,l.uU)(d,e.props.value),id:(0,l.pQ)(d,e.props.value)}):null}));return(0,c.jsx)(o.Z,(0,a.Z)({},u,{ref:t,value:d.value,children:m}))}));t.Z=u},669:function(e,t,n){n.d(t,{Z:function(){return h}});var a=n(18207),r=n(46633),i=n(50390),o=n(44977),l=n(8208),c=n(15573),s=n(50076),u=n(10594);function d(e){return(0,u.Z)("MuiTabPanel",e)}(0,n(43349).Z)("MuiTabPanel",["root"]);var m=n(97227),p=n(62559),f=["children","className","value"],x=(0,l.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,t){return t.root}})((function(e){return{padding:e.theme.spacing(3)}})),h=i.forwardRef((function(e,t){var n=(0,c.Z)({props:e,name:"MuiTabPanel"}),i=n.children,l=n.className,u=n.value,h=(0,r.Z)(n,f),b=(0,a.Z)({},n),g=function(e){var t=e.classes;return(0,s.Z)({root:["root"]},d,t)}(b),v=(0,m._i)();if(null===v)throw new TypeError("No TabContext provided");var Z=(0,m.uU)(v,u),j=(0,m.pQ)(v,u);return(0,p.jsx)(x,(0,a.Z)({"aria-labelledby":j,className:(0,o.Z)(g.root,l),hidden:u!==v.value,id:Z,ref:t,role:"tabpanel",ownerState:b},h,{children:u===v.value&&i}))}))},83738:function(e,t,n){function a(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}n.d(t,{Z:function(){return a}})}}]); -//# sourceMappingURL=7950.455e5528.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/7950.455e5528.chunk.js.map b/portal-ui/build/static/js/7950.455e5528.chunk.js.map deleted file mode 100644 index 355f84f02..000000000 --- a/portal-ui/build/static/js/7950.455e5528.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/7950.455e5528.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Buckets/BucketDetails/BucketDetails.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/ScreenTitle/ScreenTitle.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","../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","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({ to, label, classes, className, executeOnClick }: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Link, Redirect, Route, Router, Switch } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\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 api from \"../../../../common/api\";\nimport { BucketInfo } from \"../types\";\nimport {\n buttonsStyles,\n containerForHeader,\n hrClass,\n pageContentStyles,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { setBucketDetailsLoad, setBucketInfo } from \"../actions\";\nimport { AppState } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\n\nimport ScreenTitle from \"../../Common/ScreenTitle/ScreenTitle\";\nimport { Box, IconButton, Tooltip } from \"@mui/material\";\n\nimport RefreshIcon from \"../../../../icons/RefreshIcon\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport VerticalTabs from \"../../Common/VerticalTabs/VerticalTabs\";\nimport BackLink from \"../../../../common/BackLink\";\nimport SecureComponent, {\n hasPermission,\n} from \"../../../../common/SecureComponent/SecureComponent\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport RBIconButton from \"./SummaryItems/RBIconButton\";\nimport { TrashIcon } from \"../../../../icons\";\n\nconst BucketsIcon = React.lazy(() => import(\"../../../../icons/BucketsIcon\"));\nconst FolderIcon = React.lazy(() => import(\"../../../../icons/FolderIcon\"));\n\nconst DeleteBucket = withSuspense(\n React.lazy(() => import(\"../ListBuckets/DeleteBucket\"))\n);\nconst AccessRulePanel = withSuspense(\n React.lazy(() => import(\"./AccessRulePanel\"))\n);\nconst AccessDetailsPanel = withSuspense(\n React.lazy(() => import(\"./AccessDetailsPanel\"))\n);\nconst BucketSummaryPanel = withSuspense(\n React.lazy(() => import(\"./BucketSummaryPanel\"))\n);\nconst BucketEventsPanel = withSuspense(\n React.lazy(() => import(\"./BucketEventsPanel\"))\n);\nconst BucketReplicationPanel = withSuspense(\n React.lazy(() => import(\"./BucketReplicationPanel\"))\n);\nconst BucketLifecyclePanel = withSuspense(\n React.lazy(() => import(\"./BucketLifecyclePanel\"))\n);\n\nconst styles = (theme: Theme) =>\n createStyles({\n pageContainer: {\n height: \"100%\",\n },\n screenTitle: {\n border: 0,\n paddingTop: 0,\n },\n ...pageContentStyles,\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n ...searchField,\n capitalize: {\n textTransform: \"capitalize\",\n },\n deleteBtn: {\n color: \"#f44336\",\n border: \"1px solid rgba(244, 67, 54, 0.5)\",\n maxWidth: 140,\n },\n ...hrClass,\n ...buttonsStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IBucketDetailsProps {\n classes: any;\n match: any;\n history: any;\n distributedSetup: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n setBucketDetailsLoad: typeof setBucketDetailsLoad;\n loadingBucket: boolean;\n setBucketInfo: typeof setBucketInfo;\n bucketInfo: BucketInfo | null;\n}\n\nconst BucketDetails = ({\n classes,\n match,\n history,\n setErrorSnackMessage,\n distributedSetup,\n setBucketDetailsLoad,\n loadingBucket,\n setBucketInfo,\n bucketInfo,\n}: IBucketDetailsProps) => {\n const [iniLoad, setIniLoad] = useState(false);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const bucketName = match.params[\"bucketName\"];\n\n let selTab = match?.params[\"0\"];\n selTab = selTab ? selTab : \"summary\";\n\n const [activeTab, setActiveTab] = useState(selTab);\n\n useEffect(() => {\n setActiveTab(selTab);\n }, [selTab]);\n\n useEffect(() => {\n if (!iniLoad) {\n setBucketDetailsLoad(true);\n setIniLoad(true);\n }\n }, [iniLoad, setBucketDetailsLoad, setIniLoad]);\n\n useEffect(() => {\n if (loadingBucket) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}`)\n .then((res: BucketInfo) => {\n setBucketDetailsLoad(false);\n setBucketInfo(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setBucketDetailsLoad(false);\n setErrorSnackMessage(err);\n });\n }\n }, [\n bucketName,\n loadingBucket,\n setBucketDetailsLoad,\n setBucketInfo,\n setErrorSnackMessage,\n ]);\n\n let topLevelRoute = `/buckets/${bucketName}`;\n const defaultRoute = \"/admin/summary\";\n\n const manageBucketRoutes: Record = {\n events: \"/admin/events\",\n replication: \"/admin/replication\",\n lifecycle: \"/admin/lifecycle\",\n access: \"/admin/access\",\n prefix: \"/admin/prefix\",\n };\n\n const getRoutePath = (routeKey: string) => {\n let path = manageBucketRoutes[routeKey];\n if (!path) {\n path = `${topLevelRoute}${defaultRoute}`;\n } else {\n path = `${topLevelRoute}${path}`;\n }\n return path;\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n if (refresh) {\n history.push(\"/buckets\");\n }\n };\n\n const openBucketBrowser = () => {\n history.push(`/buckets/${bucketName}/browse`);\n };\n\n return (\n \n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n \n \n Buckets\n \n \n }\n actions={\n \n \n \n \n \n \n \n }\n />\n \n \n \n \n \n \n }\n title={bucketName}\n subTitle={\n \n Access: \n \n {bucketInfo?.access.toLowerCase()}\n \n \n }\n actions={\n \n \n {\n setDeleteOpen(true);\n }}\n text={\"Delete Bucket\"}\n icon={}\n color={\"secondary\"}\n variant={\"outlined\"}\n />\n \n {\n setBucketDetailsLoad(true);\n }}\n text={`Refresh`}\n icon={}\n color={\"primary\"}\n />\n \n }\n />\n \n \n \n \n \n \n \n {distributedSetup && (\n \n )}\n {distributedSetup && (\n \n )}\n\n \n \n (\n \n )}\n />\n \n \n \n }\n >\n {{\n tabConfig: {\n label: \"Summary\",\n value: \"summary\",\n component: Link,\n to: getRoutePath(\"summary\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Events\",\n value: \"events\",\n component: Link,\n disabled: !hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_NOTIFICATIONS,\n IAM_SCOPES.S3_PUT_BUCKET_NOTIFICATIONS,\n ]),\n to: getRoutePath(\"events\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Replication\",\n value: \"replication\",\n component: Link,\n disabled:\n !distributedSetup ||\n !hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_REPLICATION_CONFIGURATION,\n IAM_SCOPES.S3_PUT_REPLICATION_CONFIGURATION,\n ]),\n to: getRoutePath(\"replication\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Lifecycle\",\n value: \"lifecycle\",\n component: Link,\n disabled:\n !distributedSetup ||\n !hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_LIFECYCLE_CONFIGURATION,\n IAM_SCOPES.S3_PUT_LIFECYCLE_CONFIGURATION,\n ]),\n to: getRoutePath(\"lifecycle\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Access Audit\",\n value: \"access\",\n component: Link,\n disabled: !hasPermission(bucketName, [\n IAM_SCOPES.ADMIN_GET_POLICY,\n IAM_SCOPES.ADMIN_LIST_USER_POLICIES,\n IAM_SCOPES.ADMIN_LIST_USERS,\n ]),\n to: getRoutePath(\"access\"),\n },\n }}\n {{\n tabConfig: {\n label: \"Access Rules\",\n value: \"prefix\",\n component: Link,\n disabled: !hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_POLICY,\n ]),\n to: getRoutePath(\"prefix\"),\n },\n }}\n \n \n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n selectedTab: state.buckets.bucketDetails.selectedTab,\n distributedSetup: state.system.distributedSetup,\n loadingBucket: state.buckets.bucketDetails.loadingBucket,\n bucketInfo: state.buckets.bucketDetails.bucketInfo,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n setBucketDetailsLoad,\n setBucketInfo,\n});\n\nexport default withStyles(styles)(connector(BucketDetails));\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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n

\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
\n {icon ?
{icon}
: null}\n
\n

{title}

\n {subTitle}\n
\n
\n\n
{actions}
\n
\n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\n","import React 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\";\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 [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\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","import * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","BucketsIcon","React","FolderIcon","DeleteBucket","withSuspense","AccessRulePanel","AccessDetailsPanel","BucketSummaryPanel","BucketEventsPanel","BucketReplicationPanel","BucketLifecyclePanel","connector","connect","state","session","console","selectedTab","buckets","bucketDetails","distributedSetup","system","loadingBucket","bucketInfo","setErrorSnackMessage","setBucketDetailsLoad","setBucketInfo","pageContainer","height","screenTitle","border","paddingTop","pageContentStyles","breadcrumLink","searchField","capitalize","textTransform","deleteBtn","hrClass","buttonsStyles","containerForHeader","spacing","match","history","useState","iniLoad","setIniLoad","deleteOpen","setDeleteOpen","bucketName","params","selTab","activeTab","setActiveTab","useEffect","api","then","res","catch","err","topLevelRoute","manageBucketRoutes","events","replication","lifecycle","access","prefix","getRoutePath","routeKey","path","Fragment","selectedBucket","closeDeleteModalAndRefresh","refresh","push","actions","title","component","size","item","xs","subTitle","scopes","IAM_SCOPES","resource","style","fontWeight","toLowerCase","errorProps","disabled","tooltip","text","variant","sx","isRouteTabs","routes","contentSpacer","exact","tabConfig","value","Link","hasPermission","useStyles","makeStyles","root","props","tgtColor","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","restProps","borderWidth","borderStyle","borderRadius","backgroundColor","opacity","contained","background","dark","children","rest","button","clsx","WrappedComponent","fallback","ComponentWithSuspense","Suspense","mapDispatchToProps","toggleList","sidebarOpen","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","container","direction","sm","md","length","headerBarIcon","headerBarSubheader","borderBottom","flexFlow","titleColumn","leftItems","rightItems","margin","tabStripStyle","tabsContainer","tabsHeaderContainer","borderRight","marginBottom","tabContentContainer","tabPanel","flexDirection","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","forEach","child","content","onChange","event","newValue","orientation","scrollButtons","tabList","map","index","tabHeader","disableRipple","disableTouchRipple","focusRipple","Context","TabContext","idPrefix","id","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","name","overridesResolver","styles","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","hidden","role","_objectWithoutProperties","source","excluded","key","i","target","sourceKeys","Object","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/8259.d34a4da6.chunk.js b/portal-ui/build/static/js/8259.096986b8.chunk.js similarity index 98% rename from portal-ui/build/static/js/8259.d34a4da6.chunk.js rename to portal-ui/build/static/js/8259.096986b8.chunk.js index 3dcba02ae..2cf35dabc 100644 --- a/portal-ui/build/static/js/8259.d34a4da6.chunk.js +++ b/portal-ui/build/static/js/8259.096986b8.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[8259],{8235:function(e,t,n){n(50390);var a=n(86509),i=n(4285),r=n(25594),s=n(62559);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})]})})}))},53224:function(e,t,n){var a=n(18489),i=n(83738),r=(n(50390),n(70758)),s=n(62449),o=n(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,s.Z)((function(e){return{root:{padding:"7px",color:function(t){return function(t){var n=t.variant,a=t.color,i=e.palette.primary.main;return"primary"===a&&"contained"===n?i=e.palette.primary.contrastText:"primary"===a&&"outlined"===n?i=e.palette.primary.main:"secondary"===a&&(i=e.palette.secondary.main),i}(t)},borderColor:function(t){return"secondary"===t.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));t.Z=function(e){var t=c(e),n=e.onClick,s=e.text,d=void 0===s?"":s,u=e.disabled,h=void 0!==u&&u,m=e.tooltip,x=e.icon,p=void 0===x?null:x,g=(0,i.Z)(e,l);return(0,o.jsxs)(r.Z,(0,a.Z)((0,a.Z)({classes:t,tooltip:m||d,variant:"outlined",onClick:n,disabled:h,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},g),{},{children:[(0,o.jsx)("span",{children:d})," ",p]}))}},11835:function(e,t,n){var a=n(18489),i=n(83738),r=(n(50390),n(86509)),s=n(4285),o=n(62559),l=["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,l);return(0,o.jsx)("button",(0,a.Z)((0,a.Z)({},r),{},{className:t.root,children:n}))}))},70758:function(e,t,n){var a=n(18489),i=n(36222),r=n(83738),s=(n(50390),n(86509)),o=n(4285),l=n(95467),c=n(94187),d=n(44977),u=n(62559),h=["classes","children","variant","tooltip"];t.Z=(0,o.Z)((function(e){return(0,s.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var t=e.classes,n=e.children,s=e.variant,o=void 0===s?"outlined":s,m=e.tooltip,x=(0,r.Z)(e,h),p=(0,u.jsx)(l.Z,(0,a.Z)((0,a.Z)({},x),{},{className:(0,d.Z)(t.root,(0,i.Z)({},t.contained,"contained"===o)),children:n}));return m&&""!==m?(0,u.jsx)(c.Z,{title:m,children:(0,u.jsx)("span",{children:p})}):p}))},37882:function(e,t,n){var a=n(18489),i=n(50390),r=n(62559);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}},25534:function(e,t,n){var a=n(18489),i=(n(50390),n(25594)),r=n(86509),s=n(4285),o=n(72462),l=n(62559);t.Z=(0,s.Z)((function(e){return(0,r.Z)((0,a.Z)({},o.Bw))}))((function(e){var t=e.classes,n=e.className,a=void 0===n?"":n,r=e.children;return(0,l.jsx)("div",{className:t.contentSpacer,children:(0,l.jsx)(i.ZP,{container:!0,children:(0,l.jsx)(i.ZP,{item:!0,xs:12,className:a,children:r})})})}))},35721:function(e,t,n){n(50390);var a=n(34424),i=n(25594),r=n(86509),s=n(4285),o=n(35477),l=n(95467),c=n(26805),d=n(44078),u=n(5265),h=n(11387),m=n(62559),x={toggleList:u.kQ},p=(0,a.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),x);t.Z=p((0,s.Z)((function(e){return(0,r.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,a=e.actions,r=e.sidebarOpen,s=e.operatorMode,u=e.managerObjects,x=e.toggleList,p=e.middleComponent;return(0,m.jsxs)(i.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,m.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!r&&(0,m.jsx)("div",{className:t.logo,children:s?(0,m.jsx)(c.Z,{}):(0,m.jsx)(d.Z,{})}),(0,m.jsx)(o.Z,{variant:"h4",className:t.labelStyle,children:n})]}),p&&(0,m.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:p}),(0,m.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:t.rightMenu,children:[a&&a,u&&u.length>0&&(0,m.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){x()},size:"large",children:(0,m.jsx)(h.gx,{})})]})]})})))},23165:function(e,t,n){var a=n(36222),i=n(18489),r=(n(50390),n(65771)),s=n(13336),o=n(12066),l=n(4285),c=n(86509),d=n(72462),u=n(62559);t.Z=(0,l.Z)((function(e){return(0,c.Z)({searchField:(0,i.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var t=e.placeholder,n=void 0===t?"":t,i=e.classes,l=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,h=e.overrideClass,m=e.value,x=(0,a.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(r.Z,{position:d,className:i.adornment,children:(0,u.jsx)(s.Z,{})}));return(0,u.jsx)(o.Z,{placeholder:n,className:h||i.searchField,id:"search-resource",label:"",InputProps:x,onChange:function(e){l(e.target.value)},variant:"standard",value:m})}))},18572:function(e,t,n){var a=n(50390),i=n(65742),r=n(10106),s=n(33690),o=n(62559),l={};t.Z=function(e){var t=e.rowRenderFunction,n=e.totalItems,c=e.defaultHeight,d=function(e){var n=e.index,a=e.style;return(0,o.jsx)("div",{style:a,children:t(n)})};return(0,o.jsx)(a.Fragment,{children:(0,o.jsx)(r.Z,{isItemLoaded:function(e){return!!l[e]},loadMoreItems:function(e,t){for(var n=e;n<=t;n++)l[n]=1;for(var a=e;a<=t;a++)l[a]=2},itemCount:n,children:function(e){var t=e.onItemsRendered,a=e.ref;return(0,o.jsx)(s.qj,{children:function(e){var r=e.width,s=e.height;return(0,o.jsx)(i.t7,{itemSize:c||220,height:s,itemCount:n,width:r,ref:a,onItemsRendered:t,children:d})}})}})})}},38259:function(e,t,n){n.r(t),n.d(t,{default:function(){return L}});var a=n(23430),i=n(18489),r=n(50390),s=n(34424),o=n(25594),l=n(81378),c=n(86509),d=n(4285),u=n(28948),h=n(72462),m=n(44149),x=n(11387),p=n(30324),g=n(24442),f=n(18221),Z=n(35721),j=n(10542),v=n(18201),b=n(82981),y=n(62559),S=(0,d.Z)((function(e){return{root:{height:10,borderRadius:5},colorPrimary:{backgroundColor:"#F4F4F4"},bar:{borderRadius:5,backgroundColor:"#081C42"},padChart:{padding:"5px"}}}))(l.Z),C=(0,d.Z)((function(e){return(0,c.Z)({allValue:{fontSize:16,fontWeight:700,marginBottom:8},currentUsage:{fontSize:12,marginTop:8},centerItem:{textAlign:"center"}})}))((function(e){var t=e.classes,n=e.maxValue,a=e.currValue,i=e.label,s=e.renderFunction,l=e.loading,c=e.error,d=e.labels,u=void 0===d||d,h=100*a/n;return(0,y.jsxs)(r.Fragment,{children:[l&&(0,y.jsx)("div",{className:t.padChart,children:(0,y.jsx)(o.ZP,{item:!0,xs:12,className:t.centerItem,children:(0,y.jsx)(v.Z,{color:"primary",size:40,variant:"indeterminate"})})}),l?null:""!==c?(0,y.jsx)(b.Z,{errorMessage:c,withBreak:!1}):(0,y.jsxs)(r.Fragment,{children:[(0,y.jsx)(o.ZP,{item:!0,xs:12,className:t.allValue,children:u&&(0,y.jsxs)(r.Fragment,{children:[i," ",s?s(n.toString()):n]})}),(0,y.jsx)(S,{variant:"determinate",value:h}),(0,y.jsx)(o.ZP,{item:!0,xs:12,className:t.currentUsage,children:u&&(0,y.jsxs)(r.Fragment,{children:["Used:"," ",s?s(a.toString()):a]})})]})]})})),w=n(32120),N=n(53224),P=(0,s.$j)(null,{setErrorSnackMessage:m.Ih}),k=(0,d.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"},healthStatusIcon:{position:"absolute",fontSize:10,top:0,right:-20,height:10},tenantItem:{border:"1px solid #dedede",marginBottom:20,paddingLeft:40,paddingRight:40,paddingTop:30,paddingBottom:30},title:{fontSize:22,fontWeight:"bold"},titleSubKey:{fontSize:14,paddingRight:8},titleSubValue:{fontSize:14,fontWeight:"bold",paddingRight:16},boxyTitle:{fontWeight:"bold"},boxyValue:{fontSize:24,fontWeight:"bold"},boxyUnit:{fontSize:12,color:"#5E5E5E"},manageButton:{marginRight:8,textTransform:"initial"}})}))(P((function(e){var t,n,a=e.tenant,i=e.classes,s={value:"n/a",unit:""},l={value:"n/a",unit:""},c={value:"n/a",unit:""};if(a.capacity_raw){var d=(0,u.ae)("".concat(a.capacity_raw),!0).split(" ");s.value=d[0],s.unit=d[1]}if(a.capacity){var h=(0,u.ae)("".concat(a.capacity),!0).split(" ");l.value=h[0],l.unit=h[1]}if(a.capacity_usage){var m=a.capacity*a.capacity_raw_usage/a.capacity_raw,p=(0,u.ae)("".concat(m),!0).split(" ");c.value=p[0],c.unit=p[1]}return(0,y.jsx)(r.Fragment,{children:(0,y.jsx)("div",{className:i.tenantItem,children:(0,y.jsxs)(o.ZP,{container:!0,children:[(0,y.jsxs)(o.ZP,{item:!0,xs:8,children:[(0,y.jsx)("div",{className:i.title,children:a.name}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{className:i.titleSubKey,children:"Namespace:"}),(0,y.jsx)("span",{className:i.titleSubValue,children:a.namespace}),(0,y.jsx)("span",{className:i.titleSubKey,children:"Pools:"}),(0,y.jsx)("span",{className:i.titleSubValue,children:a.pool_count}),(0,y.jsx)("span",{className:i.titleSubKey,children:"State:"}),(0,y.jsx)("span",{className:i.titleSubValue,children:a.currentState})]})]}),(0,y.jsxs)(o.ZP,{item:!0,xs:4,textAlign:"end",children:[(0,y.jsx)(N.Z,{tooltip:"Manage Tenant",text:"Manage",disabled:!(0,w.Yk)(a),onClick:function(){g.Z.push("/namespaces/".concat(a.namespace,"/tenants/").concat(a.name,"/hop"))},icon:(0,y.jsx)(x.ew,{}),color:"primary",variant:"outlined"}),(0,y.jsx)(N.Z,{tooltip:"View Tenant",text:"View",onClick:function(){g.Z.push("/namespaces/".concat(a.namespace,"/tenants/").concat(a.name))},icon:(0,y.jsx)(x.LZ,{}),color:"primary",variant:"contained"})]}),(0,y.jsx)(o.ZP,{item:!0,xs:12,children:(0,y.jsx)("hr",{})}),(0,y.jsx)(o.ZP,{item:!0,xs:12,children:(0,y.jsxs)(o.ZP,{container:!0,alignItems:"center",children:[(0,y.jsx)(o.ZP,{item:!0,xs:7,children:(0,y.jsxs)(o.ZP,{container:!0,children:[(0,y.jsx)(o.ZP,{item:!0,xs:3,style:{textAlign:"center"},children:(0,y.jsxs)("div",{className:i.tenantIcon,children:[(0,y.jsx)(j.Z,{style:{height:40,width:40}}),(0,y.jsx)("div",{className:i.healthStatusIcon,children:(0,y.jsx)("span",{className:function(e){switch(e){case"red":return i.redState;case"yellow":return i.yellowState;case"green":return i.greenState;default:return i.greyState}}(a.health_status),children:(0,y.jsx)(x.J$,{})})})]})}),(0,y.jsx)(o.ZP,{item:!0,xs:3,children:(0,y.jsxs)(o.ZP,{container:!0,children:[(0,y.jsx)(o.ZP,{item:!0,xs:12,className:i.boxyTitle,children:"Raw Capacity"}),(0,y.jsxs)(o.ZP,{item:!0,className:i.boxyValue,children:[s.value,(0,y.jsx)("span",{className:i.boxyUnit,children:s.unit})]})]})}),(0,y.jsx)(o.ZP,{item:!0,xs:3,children:(0,y.jsxs)(o.ZP,{container:!0,children:[(0,y.jsx)(o.ZP,{item:!0,xs:12,className:i.boxyTitle,children:"Capacity"}),(0,y.jsxs)(o.ZP,{item:!0,className:i.boxyValue,children:[l.value,(0,y.jsx)("span",{className:i.boxyUnit,children:l.unit})]})]})}),(0,y.jsx)(o.ZP,{item:!0,xs:3,children:(0,y.jsxs)(o.ZP,{container:!0,children:[(0,y.jsx)(o.ZP,{item:!0,xs:12,className:i.boxyTitle,children:"Usage"}),(0,y.jsxs)(o.ZP,{item:!0,className:i.boxyValue,children:[c.value,(0,y.jsx)("span",{className:i.boxyUnit,children:c.unit})]})]})})]})}),(0,y.jsx)(o.ZP,{item:!0,xs:5,children:(0,y.jsx)(C,{currValue:null!==(t=a.capacity_raw_usage)&&void 0!==t?t:0,maxValue:null!==(n=a.capacity_raw)&&void 0!==n?n:1,label:"",renderFunction:u.ae,error:"",loading:!1,labels:!1})})]})})]})})})}))),T=n(8235),F=n(11835),I=n(37882),R=n(18572),B=n(23165),z=n(25534),M=(0,I.Z)(r.lazy((function(){return Promise.all([n.e(5444),n.e(1140)]).then(n.bind(n,39080))}))),E=(0,s.$j)(null,{setErrorSnackMessage:m.Ih}),L=(0,d.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))),{},{addTenant:{marginRight:8},theaderSearchLabel:{color:e.palette.grey[400],fontSize:14,fontWeight:"bold"},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},mainActions:{textAlign:"right",marginBottom:8},tenantsList:{marginTop:25,height:"calc(100vh - 195px)"},searchField:(0,i.Z)((0,i.Z)({},h.qg.searchField),{},{marginRight:"auto",maxWidth:380})}))}))(E((function(e){var t=e.classes,n=e.setErrorSnackMessage,i=(0,r.useState)(!1),s=(0,a.Z)(i,2),c=s[0],d=s[1],h=(0,r.useState)(""),m=(0,a.Z)(h,2),j=m[0],v=m[1],b=(0,r.useState)([]),S=(0,a.Z)(b,2),C=S[0],w=S[1],P=(0,r.useState)(!1),I=(0,a.Z)(P,2),E=I[0],L=I[1],_=(0,r.useState)(null),V=(0,a.Z)(_,2),A=V[0],U=V[1],W=C.filter((function(e){return""===j||e.name.indexOf(j)>=0}));(0,r.useEffect)((function(){if(c){p.Z.invoke("GET","/api/v1/tenants").then((function(e){if(null!==e){var t=[];null!==e.tenants&&(t=e.tenants);for(var n=0;n1&&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}},25534:function(e,t,n){var a=n(18489),i=(n(50390),n(25594)),r=n(86509),s=n(4285),o=n(72462),l=n(62559);t.Z=(0,s.Z)((function(e){return(0,r.Z)((0,a.Z)({},o.Bw))}))((function(e){var t=e.classes,n=e.className,a=void 0===n?"":n,r=e.children;return(0,l.jsx)("div",{className:t.contentSpacer,children:(0,l.jsx)(i.ZP,{container:!0,children:(0,l.jsx)(i.ZP,{item:!0,xs:12,className:a,children:r})})})}))},35721:function(e,t,n){n(50390);var a=n(34424),i=n(25594),r=n(86509),s=n(4285),o=n(35477),l=n(95467),c=n(26805),d=n(44078),u=n(5265),h=n(98280),m=n(62559),x={toggleList:u.kQ},p=(0,a.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),x);t.Z=p((0,s.Z)((function(e){return(0,r.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,a=e.actions,r=e.sidebarOpen,s=e.operatorMode,u=e.managerObjects,x=e.toggleList,p=e.middleComponent;return(0,m.jsxs)(i.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,m.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!r&&(0,m.jsx)("div",{className:t.logo,children:s?(0,m.jsx)(c.Z,{}):(0,m.jsx)(d.Z,{})}),(0,m.jsx)(o.Z,{variant:"h4",className:t.labelStyle,children:n})]}),p&&(0,m.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:p}),(0,m.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:t.rightMenu,children:[a&&a,u&&u.length>0&&(0,m.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){x()},size:"large",children:(0,m.jsx)(h.gx,{})})]})]})})))},23165:function(e,t,n){var a=n(36222),i=n(18489),r=(n(50390),n(65771)),s=n(13336),o=n(12066),l=n(4285),c=n(86509),d=n(72462),u=n(62559);t.Z=(0,l.Z)((function(e){return(0,c.Z)({searchField:(0,i.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var t=e.placeholder,n=void 0===t?"":t,i=e.classes,l=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,h=e.overrideClass,m=e.value,x=(0,a.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(r.Z,{position:d,className:i.adornment,children:(0,u.jsx)(s.Z,{})}));return(0,u.jsx)(o.Z,{placeholder:n,className:h||i.searchField,id:"search-resource",label:"",InputProps:x,onChange:function(e){l(e.target.value)},variant:"standard",value:m})}))},18572:function(e,t,n){var a=n(50390),i=n(65742),r=n(10106),s=n(33690),o=n(62559),l={};t.Z=function(e){var t=e.rowRenderFunction,n=e.totalItems,c=e.defaultHeight,d=function(e){var n=e.index,a=e.style;return(0,o.jsx)("div",{style:a,children:t(n)})};return(0,o.jsx)(a.Fragment,{children:(0,o.jsx)(r.Z,{isItemLoaded:function(e){return!!l[e]},loadMoreItems:function(e,t){for(var n=e;n<=t;n++)l[n]=1;for(var a=e;a<=t;a++)l[a]=2},itemCount:n,children:function(e){var t=e.onItemsRendered,a=e.ref;return(0,o.jsx)(s.qj,{children:function(e){var r=e.width,s=e.height;return(0,o.jsx)(i.t7,{itemSize:c||220,height:s,itemCount:n,width:r,ref:a,onItemsRendered:t,children:d})}})}})})}},38259:function(e,t,n){n.r(t),n.d(t,{default:function(){return L}});var a=n(23430),i=n(18489),r=n(50390),s=n(34424),o=n(25594),l=n(81378),c=n(86509),d=n(4285),u=n(28948),h=n(72462),m=n(44149),x=n(98280),p=n(30324),g=n(24442),f=n(18221),Z=n(35721),j=n(10542),v=n(18201),b=n(82981),y=n(62559),S=(0,d.Z)((function(e){return{root:{height:10,borderRadius:5},colorPrimary:{backgroundColor:"#F4F4F4"},bar:{borderRadius:5,backgroundColor:"#081C42"},padChart:{padding:"5px"}}}))(l.Z),C=(0,d.Z)((function(e){return(0,c.Z)({allValue:{fontSize:16,fontWeight:700,marginBottom:8},currentUsage:{fontSize:12,marginTop:8},centerItem:{textAlign:"center"}})}))((function(e){var t=e.classes,n=e.maxValue,a=e.currValue,i=e.label,s=e.renderFunction,l=e.loading,c=e.error,d=e.labels,u=void 0===d||d,h=100*a/n;return(0,y.jsxs)(r.Fragment,{children:[l&&(0,y.jsx)("div",{className:t.padChart,children:(0,y.jsx)(o.ZP,{item:!0,xs:12,className:t.centerItem,children:(0,y.jsx)(v.Z,{color:"primary",size:40,variant:"indeterminate"})})}),l?null:""!==c?(0,y.jsx)(b.Z,{errorMessage:c,withBreak:!1}):(0,y.jsxs)(r.Fragment,{children:[(0,y.jsx)(o.ZP,{item:!0,xs:12,className:t.allValue,children:u&&(0,y.jsxs)(r.Fragment,{children:[i," ",s?s(n.toString()):n]})}),(0,y.jsx)(S,{variant:"determinate",value:h}),(0,y.jsx)(o.ZP,{item:!0,xs:12,className:t.currentUsage,children:u&&(0,y.jsxs)(r.Fragment,{children:["Used:"," ",s?s(a.toString()):a]})})]})]})})),w=n(32120),N=n(53224),P=(0,s.$j)(null,{setErrorSnackMessage:m.Ih}),k=(0,d.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"},healthStatusIcon:{position:"absolute",fontSize:10,top:0,right:-20,height:10},tenantItem:{border:"1px solid #dedede",marginBottom:20,paddingLeft:40,paddingRight:40,paddingTop:30,paddingBottom:30},title:{fontSize:22,fontWeight:"bold"},titleSubKey:{fontSize:14,paddingRight:8},titleSubValue:{fontSize:14,fontWeight:"bold",paddingRight:16},boxyTitle:{fontWeight:"bold"},boxyValue:{fontSize:24,fontWeight:"bold"},boxyUnit:{fontSize:12,color:"#5E5E5E"},manageButton:{marginRight:8,textTransform:"initial"}})}))(P((function(e){var t,n,a=e.tenant,i=e.classes,s={value:"n/a",unit:""},l={value:"n/a",unit:""},c={value:"n/a",unit:""};if(a.capacity_raw){var d=(0,u.ae)("".concat(a.capacity_raw),!0).split(" ");s.value=d[0],s.unit=d[1]}if(a.capacity){var h=(0,u.ae)("".concat(a.capacity),!0).split(" ");l.value=h[0],l.unit=h[1]}if(a.capacity_usage){var m=a.capacity*a.capacity_raw_usage/a.capacity_raw,p=(0,u.ae)("".concat(m),!0).split(" ");c.value=p[0],c.unit=p[1]}return(0,y.jsx)(r.Fragment,{children:(0,y.jsx)("div",{className:i.tenantItem,children:(0,y.jsxs)(o.ZP,{container:!0,children:[(0,y.jsxs)(o.ZP,{item:!0,xs:8,children:[(0,y.jsx)("div",{className:i.title,children:a.name}),(0,y.jsxs)("div",{children:[(0,y.jsx)("span",{className:i.titleSubKey,children:"Namespace:"}),(0,y.jsx)("span",{className:i.titleSubValue,children:a.namespace}),(0,y.jsx)("span",{className:i.titleSubKey,children:"Pools:"}),(0,y.jsx)("span",{className:i.titleSubValue,children:a.pool_count}),(0,y.jsx)("span",{className:i.titleSubKey,children:"State:"}),(0,y.jsx)("span",{className:i.titleSubValue,children:a.currentState})]})]}),(0,y.jsxs)(o.ZP,{item:!0,xs:4,textAlign:"end",children:[(0,y.jsx)(N.Z,{tooltip:"Manage Tenant",text:"Manage",disabled:!(0,w.Yk)(a),onClick:function(){g.Z.push("/namespaces/".concat(a.namespace,"/tenants/").concat(a.name,"/hop"))},icon:(0,y.jsx)(x.ew,{}),color:"primary",variant:"outlined"}),(0,y.jsx)(N.Z,{tooltip:"View Tenant",text:"View",onClick:function(){g.Z.push("/namespaces/".concat(a.namespace,"/tenants/").concat(a.name))},icon:(0,y.jsx)(x.LZ,{}),color:"primary",variant:"contained"})]}),(0,y.jsx)(o.ZP,{item:!0,xs:12,children:(0,y.jsx)("hr",{})}),(0,y.jsx)(o.ZP,{item:!0,xs:12,children:(0,y.jsxs)(o.ZP,{container:!0,alignItems:"center",children:[(0,y.jsx)(o.ZP,{item:!0,xs:7,children:(0,y.jsxs)(o.ZP,{container:!0,children:[(0,y.jsx)(o.ZP,{item:!0,xs:3,style:{textAlign:"center"},children:(0,y.jsxs)("div",{className:i.tenantIcon,children:[(0,y.jsx)(j.Z,{style:{height:40,width:40}}),(0,y.jsx)("div",{className:i.healthStatusIcon,children:(0,y.jsx)("span",{className:function(e){switch(e){case"red":return i.redState;case"yellow":return i.yellowState;case"green":return i.greenState;default:return i.greyState}}(a.health_status),children:(0,y.jsx)(x.J$,{})})})]})}),(0,y.jsx)(o.ZP,{item:!0,xs:3,children:(0,y.jsxs)(o.ZP,{container:!0,children:[(0,y.jsx)(o.ZP,{item:!0,xs:12,className:i.boxyTitle,children:"Raw Capacity"}),(0,y.jsxs)(o.ZP,{item:!0,className:i.boxyValue,children:[s.value,(0,y.jsx)("span",{className:i.boxyUnit,children:s.unit})]})]})}),(0,y.jsx)(o.ZP,{item:!0,xs:3,children:(0,y.jsxs)(o.ZP,{container:!0,children:[(0,y.jsx)(o.ZP,{item:!0,xs:12,className:i.boxyTitle,children:"Capacity"}),(0,y.jsxs)(o.ZP,{item:!0,className:i.boxyValue,children:[l.value,(0,y.jsx)("span",{className:i.boxyUnit,children:l.unit})]})]})}),(0,y.jsx)(o.ZP,{item:!0,xs:3,children:(0,y.jsxs)(o.ZP,{container:!0,children:[(0,y.jsx)(o.ZP,{item:!0,xs:12,className:i.boxyTitle,children:"Usage"}),(0,y.jsxs)(o.ZP,{item:!0,className:i.boxyValue,children:[c.value,(0,y.jsx)("span",{className:i.boxyUnit,children:c.unit})]})]})})]})}),(0,y.jsx)(o.ZP,{item:!0,xs:5,children:(0,y.jsx)(C,{currValue:null!==(t=a.capacity_raw_usage)&&void 0!==t?t:0,maxValue:null!==(n=a.capacity_raw)&&void 0!==n?n:1,label:"",renderFunction:u.ae,error:"",loading:!1,labels:!1})})]})})]})})})}))),T=n(8235),F=n(11835),I=n(37882),R=n(18572),B=n(23165),z=n(25534),M=(0,I.Z)(r.lazy((function(){return Promise.all([n.e(5444),n.e(9080)]).then(n.bind(n,39080))}))),E=(0,s.$j)(null,{setErrorSnackMessage:m.Ih}),L=(0,d.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))),{},{addTenant:{marginRight:8},theaderSearchLabel:{color:e.palette.grey[400],fontSize:14,fontWeight:"bold"},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},mainActions:{textAlign:"right",marginBottom:8},tenantsList:{marginTop:25,height:"calc(100vh - 195px)"},searchField:(0,i.Z)((0,i.Z)({},h.qg.searchField),{},{marginRight:"auto",maxWidth:380})}))}))(E((function(e){var t=e.classes,n=e.setErrorSnackMessage,i=(0,r.useState)(!1),s=(0,a.Z)(i,2),c=s[0],d=s[1],h=(0,r.useState)(""),m=(0,a.Z)(h,2),j=m[0],v=m[1],b=(0,r.useState)([]),S=(0,a.Z)(b,2),C=S[0],w=S[1],P=(0,r.useState)(!1),I=(0,a.Z)(P,2),E=I[0],L=I[1],_=(0,r.useState)(null),V=(0,a.Z)(_,2),A=V[0],U=V[1],W=C.filter((function(e){return""===j||e.name.indexOf(j)>=0}));(0,r.useEffect)((function(){if(c){p.Z.invoke("GET","/api/v1/tenants").then((function(e){if(null!==e){var t=[];null!==e.tenants&&(t=e.tenants);for(var n=0;n.\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n

\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\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 \n {({ width, height }) => {\n return (\n \n {RenderItemLine}\n \n );\n }}\n \n )}\n \n \n );\n};\n\nexport default VirtualizedList;\n","import React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport ErrorBlock from \"../../../shared/ErrorBlock\";\n\ninterface IProgressBar {\n maxValue: number;\n currValue: number;\n label: string;\n renderFunction?: (element: string) => any;\n error: string;\n loading: boolean;\n classes: any;\n labels?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n allValue: {\n fontSize: 16,\n fontWeight: 700,\n marginBottom: 8,\n },\n currentUsage: {\n fontSize: 12,\n marginTop: 8,\n },\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 UsageBarWrapper = ({\n classes,\n maxValue,\n currValue,\n label,\n renderFunction,\n loading,\n error,\n labels = true,\n}: IProgressBar) => {\n const porcentualValue = (currValue * 100) / maxValue;\n\n const renderComponent = () => {\n if (!loading) {\n return error !== \"\" ? (\n \n ) : (\n \n \n {labels && (\n \n {label}{\" \"}\n {renderFunction\n ? renderFunction(maxValue.toString())\n : maxValue}\n \n )}\n \n \n \n {labels && (\n \n Used:{\" \"}\n {renderFunction\n ? renderFunction(currValue.toString())\n : currValue}\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)(UsageBarWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { ITenant, ValueUnit } from \"./types\";\nimport { connect } from \"react-redux\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport Grid from \"@mui/material/Grid\";\nimport { ArrowRightIcon, CircleIcon, SettingsIcon } from \"../../../../icons\";\nimport history from \"../../../../history\";\nimport TenantsIcon from \"../../../../icons/TenantsIcon\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { niceBytes } from \"../../../../common/utils\";\nimport UsageBarWrapper from \"../../Common/UsageBarWrapper/UsageBarWrapper\";\nimport { tenantIsOnline } from \"./utils\";\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\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 healthStatusIcon: {\n position: \"absolute\",\n fontSize: 10,\n top: 0,\n right: -20,\n height: 10,\n },\n tenantItem: {\n border: \"1px solid #dedede\",\n marginBottom: 20,\n paddingLeft: 40,\n paddingRight: 40,\n paddingTop: 30,\n paddingBottom: 30,\n },\n title: {\n fontSize: 22,\n fontWeight: \"bold\",\n },\n titleSubKey: {\n fontSize: 14,\n paddingRight: 8,\n },\n titleSubValue: {\n fontSize: 14,\n fontWeight: \"bold\",\n paddingRight: 16,\n },\n boxyTitle: {\n fontWeight: \"bold\",\n },\n boxyValue: {\n fontSize: 24,\n fontWeight: \"bold\",\n },\n boxyUnit: {\n fontSize: 12,\n color: \"#5E5E5E\",\n },\n manageButton: {\n marginRight: 8,\n textTransform: \"initial\",\n },\n });\n\ninterface ITenantListItem {\n tenant: ITenant;\n classes: any;\n}\n\nconst TenantListItem = ({ tenant, classes }: ITenantListItem) => {\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 var raw: ValueUnit = { value: \"n/a\", unit: \"\" };\n var capacity: ValueUnit = { value: \"n/a\", unit: \"\" };\n var used: 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 usageProportion =\n (tenant.capacity! * tenant.capacity_raw_usage!) / tenant.capacity_raw!;\n const b = niceBytes(`${usageProportion}`, true);\n const parts = b.split(\" \");\n used.value = parts[0];\n used.unit = parts[1];\n }\n\n return (\n \n
\n \n \n
{tenant.name}
\n
\n Namespace:\n {tenant.namespace}\n Pools:\n {tenant.pool_count}\n State:\n \n {tenant.currentState}\n \n
\n
\n \n {\n history.push(\n `/namespaces/${tenant.namespace}/tenants/${tenant.name}/hop`\n );\n }}\n icon={}\n color=\"primary\"\n variant={\"outlined\"}\n />\n {\n history.push(\n `/namespaces/${tenant.namespace}/tenants/${tenant.name}`\n );\n }}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n \n \n
\n
\n \n \n \n \n \n
\n \n
\n \n \n \n
\n
\n
\n \n \n \n Raw Capacity\n \n \n {raw.value}\n {raw.unit}\n \n \n \n \n \n \n Capacity\n \n \n {capacity.value}\n \n {capacity.unit}\n \n \n \n \n \n \n \n Usage\n \n \n {used.value}\n {used.unit}\n \n \n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n );\n};\n\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(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 { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { LinearProgress } 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\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { AddIcon, TenantsIcon } from \"../../../../icons\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport history from \"../../../../history\";\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 RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport SearchBox from \"../../Common/SearchBox\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\n\nconst CredentialsPrompt = withSuspense(\n React.lazy(() => import(\"../../Common/CredentialsPrompt/CredentialsPrompt\"))\n);\n\ninterface ITenantsList {\n classes: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n addTenant: {\n marginRight: 8,\n },\n theaderSearchLabel: {\n color: theme.palette.grey[\"400\"],\n fontSize: 14,\n fontWeight: \"bold\",\n },\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 mainActions: {\n textAlign: \"right\",\n marginBottom: 8,\n },\n tenantsList: {\n marginTop: 25,\n height: \"calc(100vh - 195px)\",\n },\n searchField: {\n ...searchField.searchField,\n marginRight: \"auto\",\n maxWidth: 380,\n },\n });\n\nconst ListTenants = ({ classes, setErrorSnackMessage }: ITenantsList) => {\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\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 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 setErrorSnackMessage(err);\n setIsLoading(false);\n });\n };\n fetchRecords();\n }\n }, [isLoading, setErrorSnackMessage]);\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 {\n setFilterTenants(val);\n }}\n overrideClass={classes.searchField}\n value={filterTenants}\n />\n\n {\n setIsLoading(true);\n }}\n icon={}\n color=\"primary\"\n variant={\"outlined\"}\n />\n {\n history.push(\"/tenants/add\");\n }}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n \n }\n />\n \n \n {isLoading && }\n {!isLoading && (\n \n {filteredRecords.length !== 0 && (\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 history.push(\"/tenants/add\");\n }}\n >\n Create a Tenant.\n \n
\n }\n />\n
\n
\n )}\n
\n )}\n \n \n \n );\n};\n\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ListTenants));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport get from \"lodash/get\";\nimport { ITenant } from \"./types\";\n\nexport interface Opts {\n label: string;\n value: string;\n}\n\nexport interface IQuotaElement {\n hard: number;\n name: string;\n}\n\nexport interface IQuotas {\n elements?: IQuotaElement[];\n name: string;\n}\n\nexport const minMemReq = 2147483648;\n\nexport interface KeyPair {\n id: string;\n encoded_cert: string;\n encoded_key: string;\n cert: string;\n key: string;\n}\n\nexport const ecListTransform = (ecList: string[]): Opts[] => {\n return ecList.map((value) => {\n return { label: value, value };\n });\n};\n\nexport const getLimitSizes = (resourceQuotas: IQuotas) => {\n const quotas: IQuotaElement[] = get(resourceQuotas, \"elements\", []);\n\n const returnQuotas: any = {};\n\n quotas.forEach((rsQuota) => {\n const stCName = rsQuota.name.split(\n \".storageclass.storage.k8s.io/requests.storage\"\n )[0];\n const hard = get(rsQuota, \"hard\", 0);\n const used = get(rsQuota, \"used\", 0);\n\n returnQuotas[stCName] = hard - used;\n });\n\n return returnQuotas;\n};\n\nexport const tenantIsOnline = (tenant: ITenant): boolean => {\n if (tenant.currentState === \"\") {\n return false;\n }\n if (\n !tenant.status &&\n tenant.health_status !== \"green\" &&\n tenant.health_status !== \"yellow\"\n ) {\n return false;\n }\n if (\n tenant.status &&\n tenant.status.health_status !== \"green\" &&\n tenant.status.health_status !== \"yellow\"\n ) {\n return false;\n }\n return true;\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"],"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","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","margin","textDecoration","cursor","info","fontFamily","children","rest","borderWidth","borderStyle","opacity","contained","background","dark","light","button","clsx","WrappedComponent","fallback","ComponentWithSuspense","Suspense","pageContentStyles","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","label","justifyContent","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","actions","direction","sm","md","length","component","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","id","InputProps","e","target","itemStatusMap","rowRenderFunction","totalItems","defaultHeight","RenderItemLine","index","style","Fragment","isItemLoaded","loadMoreItems","startIndex","stopIndex","itemCount","onItemsRendered","ref","itemSize","BorderLinearProgress","colorPrimary","bar","padChart","LinearProgress","allValue","currentUsage","centerItem","maxValue","currValue","renderFunction","loading","error","labels","porcentualValue","Grid","CircularProgress","ErrorBlock","errorMessage","withBreak","toString","setErrorSnackMessage","redState","float","yellowState","warning","greenState","success","greyState","tenantIcon","healthStatusIcon","top","right","tenantItem","titleSubKey","titleSubValue","boxyTitle","boxyValue","boxyUnit","manageButton","textTransform","tenant","raw","unit","capacity","used","capacity_raw","parts","niceBytes","split","capacity_usage","usageProportion","capacity_raw_usage","name","namespace","pool_count","currentState","RBIconButton","tenantIsOnline","history","TenantsIcon","health_status","healthStatusToClass","CredentialsPrompt","withSuspense","React","actionsTray","containerForHeader","spacing","addTenant","theaderSearchLabel","grey","theaderSearch","actionHeaderItems","mainActions","tenantsList","maxWidth","useState","isLoading","setIsLoading","filterTenants","setFilterTenants","records","setRecords","showNewCredentials","setShowNewCredentials","createdAccount","setCreatedAccount","filteredRecords","filter","b","indexOf","useEffect","api","then","res","resTenants","tenants","i","total_capacity","total_size","catch","err","newServiceAccount","open","closeModal","entity","PageHeader","SearchBox","val","RefreshIcon","PageLayout","VirtualizedList","alignContent","HelpBox","AButton","ecListTransform","ecList","map","getLimitSizes","resourceQuotas","quotas","get","returnQuotas","forEach","rsQuota","stCName","hard","status","errorBlock"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/8259.096986b8.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/VirtualizedList/VirtualizedList.tsx","screens/Console/Common/UsageBarWrapper/UsageBarWrapper.tsx","screens/Console/Tenants/ListTenants/TenantListItem.tsx","screens/Console/Tenants/ListTenants/ListTenants.tsx","screens/Console/Tenants/ListTenants/utils.ts","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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n

\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\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 \n {({ width, height }) => {\n return (\n \n {RenderItemLine}\n \n );\n }}\n \n )}\n \n \n );\n};\n\nexport default VirtualizedList;\n","import React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport ErrorBlock from \"../../../shared/ErrorBlock\";\n\ninterface IProgressBar {\n maxValue: number;\n currValue: number;\n label: string;\n renderFunction?: (element: string) => any;\n error: string;\n loading: boolean;\n classes: any;\n labels?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n allValue: {\n fontSize: 16,\n fontWeight: 700,\n marginBottom: 8,\n },\n currentUsage: {\n fontSize: 12,\n marginTop: 8,\n },\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 UsageBarWrapper = ({\n classes,\n maxValue,\n currValue,\n label,\n renderFunction,\n loading,\n error,\n labels = true,\n}: IProgressBar) => {\n const porcentualValue = (currValue * 100) / maxValue;\n\n const renderComponent = () => {\n if (!loading) {\n return error !== \"\" ? (\n \n ) : (\n \n \n {labels && (\n \n {label}{\" \"}\n {renderFunction\n ? renderFunction(maxValue.toString())\n : maxValue}\n \n )}\n \n \n \n {labels && (\n \n Used:{\" \"}\n {renderFunction\n ? renderFunction(currValue.toString())\n : currValue}\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)(UsageBarWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { ITenant, ValueUnit } from \"./types\";\nimport { connect } from \"react-redux\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport Grid from \"@mui/material/Grid\";\nimport { ArrowRightIcon, CircleIcon, SettingsIcon } from \"../../../../icons\";\nimport history from \"../../../../history\";\nimport TenantsIcon from \"../../../../icons/TenantsIcon\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { niceBytes } from \"../../../../common/utils\";\nimport UsageBarWrapper from \"../../Common/UsageBarWrapper/UsageBarWrapper\";\nimport { tenantIsOnline } from \"./utils\";\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\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 healthStatusIcon: {\n position: \"absolute\",\n fontSize: 10,\n top: 0,\n right: -20,\n height: 10,\n },\n tenantItem: {\n border: \"1px solid #dedede\",\n marginBottom: 20,\n paddingLeft: 40,\n paddingRight: 40,\n paddingTop: 30,\n paddingBottom: 30,\n },\n title: {\n fontSize: 22,\n fontWeight: \"bold\",\n },\n titleSubKey: {\n fontSize: 14,\n paddingRight: 8,\n },\n titleSubValue: {\n fontSize: 14,\n fontWeight: \"bold\",\n paddingRight: 16,\n },\n boxyTitle: {\n fontWeight: \"bold\",\n },\n boxyValue: {\n fontSize: 24,\n fontWeight: \"bold\",\n },\n boxyUnit: {\n fontSize: 12,\n color: \"#5E5E5E\",\n },\n manageButton: {\n marginRight: 8,\n textTransform: \"initial\",\n },\n });\n\ninterface ITenantListItem {\n tenant: ITenant;\n classes: any;\n}\n\nconst TenantListItem = ({ tenant, classes }: ITenantListItem) => {\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 var raw: ValueUnit = { value: \"n/a\", unit: \"\" };\n var capacity: ValueUnit = { value: \"n/a\", unit: \"\" };\n var used: 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 usageProportion =\n (tenant.capacity! * tenant.capacity_raw_usage!) / tenant.capacity_raw!;\n const b = niceBytes(`${usageProportion}`, true);\n const parts = b.split(\" \");\n used.value = parts[0];\n used.unit = parts[1];\n }\n\n return (\n \n
\n \n \n
{tenant.name}
\n
\n Namespace:\n {tenant.namespace}\n Pools:\n {tenant.pool_count}\n State:\n \n {tenant.currentState}\n \n
\n
\n \n {\n history.push(\n `/namespaces/${tenant.namespace}/tenants/${tenant.name}/hop`\n );\n }}\n icon={}\n color=\"primary\"\n variant={\"outlined\"}\n />\n {\n history.push(\n `/namespaces/${tenant.namespace}/tenants/${tenant.name}`\n );\n }}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n \n \n
\n
\n \n \n \n \n \n
\n \n
\n \n \n \n
\n
\n
\n \n \n \n Raw Capacity\n \n \n {raw.value}\n {raw.unit}\n \n \n \n \n \n \n Capacity\n \n \n {capacity.value}\n \n {capacity.unit}\n \n \n \n \n \n \n \n Usage\n \n \n {used.value}\n {used.unit}\n \n \n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n );\n};\n\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(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 { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { LinearProgress } 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\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { AddIcon, TenantsIcon } from \"../../../../icons\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport history from \"../../../../history\";\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 RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport SearchBox from \"../../Common/SearchBox\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\n\nconst CredentialsPrompt = withSuspense(\n React.lazy(() => import(\"../../Common/CredentialsPrompt/CredentialsPrompt\"))\n);\n\ninterface ITenantsList {\n classes: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n addTenant: {\n marginRight: 8,\n },\n theaderSearchLabel: {\n color: theme.palette.grey[\"400\"],\n fontSize: 14,\n fontWeight: \"bold\",\n },\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 mainActions: {\n textAlign: \"right\",\n marginBottom: 8,\n },\n tenantsList: {\n marginTop: 25,\n height: \"calc(100vh - 195px)\",\n },\n searchField: {\n ...searchField.searchField,\n marginRight: \"auto\",\n maxWidth: 380,\n },\n });\n\nconst ListTenants = ({ classes, setErrorSnackMessage }: ITenantsList) => {\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\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 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 setErrorSnackMessage(err);\n setIsLoading(false);\n });\n };\n fetchRecords();\n }\n }, [isLoading, setErrorSnackMessage]);\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 {\n setFilterTenants(val);\n }}\n overrideClass={classes.searchField}\n value={filterTenants}\n />\n\n {\n setIsLoading(true);\n }}\n icon={}\n color=\"primary\"\n variant={\"outlined\"}\n />\n {\n history.push(\"/tenants/add\");\n }}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n \n }\n />\n \n \n {isLoading && }\n {!isLoading && (\n \n {filteredRecords.length !== 0 && (\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 history.push(\"/tenants/add\");\n }}\n >\n Create a Tenant.\n \n
\n }\n />\n
\n
\n )}\n
\n )}\n \n \n \n );\n};\n\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ListTenants));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport get from \"lodash/get\";\nimport { ITenant } from \"./types\";\n\nexport interface Opts {\n label: string;\n value: string;\n}\n\nexport interface IQuotaElement {\n hard: number;\n name: string;\n}\n\nexport interface IQuotas {\n elements?: IQuotaElement[];\n name: string;\n}\n\nexport const minMemReq = 2147483648;\n\nexport interface KeyPair {\n id: string;\n encoded_cert: string;\n encoded_key: string;\n cert: string;\n key: string;\n}\n\nexport const ecListTransform = (ecList: string[]): Opts[] => {\n return ecList.map((value) => {\n return { label: value, value };\n });\n};\n\nexport const getLimitSizes = (resourceQuotas: IQuotas) => {\n const quotas: IQuotaElement[] = get(resourceQuotas, \"elements\", []);\n\n const returnQuotas: any = {};\n\n quotas.forEach((rsQuota) => {\n const stCName = rsQuota.name.split(\n \".storageclass.storage.k8s.io/requests.storage\"\n )[0];\n const hard = get(rsQuota, \"hard\", 0);\n const used = get(rsQuota, \"used\", 0);\n\n returnQuotas[stCName] = hard - used;\n });\n\n return returnQuotas;\n};\n\nexport const tenantIsOnline = (tenant: ITenant): boolean => {\n if (tenant.currentState === \"\") {\n return false;\n }\n if (\n !tenant.status &&\n tenant.health_status !== \"green\" &&\n tenant.health_status !== \"yellow\"\n ) {\n return false;\n }\n if (\n tenant.status &&\n tenant.status.health_status !== \"green\" &&\n tenant.status.health_status !== \"yellow\"\n ) {\n return false;\n }\n return true;\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"],"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","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","margin","textDecoration","cursor","info","fontFamily","children","rest","borderWidth","borderStyle","opacity","contained","background","dark","light","button","clsx","WrappedComponent","fallback","ComponentWithSuspense","Suspense","pageContentStyles","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","label","justifyContent","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","actions","direction","sm","md","length","component","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","id","InputProps","e","target","itemStatusMap","rowRenderFunction","totalItems","defaultHeight","RenderItemLine","index","style","Fragment","isItemLoaded","loadMoreItems","startIndex","stopIndex","itemCount","onItemsRendered","ref","itemSize","BorderLinearProgress","colorPrimary","bar","padChart","LinearProgress","allValue","currentUsage","centerItem","maxValue","currValue","renderFunction","loading","error","labels","porcentualValue","Grid","CircularProgress","ErrorBlock","errorMessage","withBreak","toString","setErrorSnackMessage","redState","float","yellowState","warning","greenState","success","greyState","tenantIcon","healthStatusIcon","top","right","tenantItem","titleSubKey","titleSubValue","boxyTitle","boxyValue","boxyUnit","manageButton","textTransform","tenant","raw","unit","capacity","used","capacity_raw","parts","niceBytes","split","capacity_usage","usageProportion","capacity_raw_usage","name","namespace","pool_count","currentState","RBIconButton","tenantIsOnline","history","TenantsIcon","health_status","healthStatusToClass","CredentialsPrompt","withSuspense","React","actionsTray","containerForHeader","spacing","addTenant","theaderSearchLabel","grey","theaderSearch","actionHeaderItems","mainActions","tenantsList","maxWidth","useState","isLoading","setIsLoading","filterTenants","setFilterTenants","records","setRecords","showNewCredentials","setShowNewCredentials","createdAccount","setCreatedAccount","filteredRecords","filter","b","indexOf","useEffect","api","then","res","resTenants","tenants","i","total_capacity","total_size","catch","err","newServiceAccount","open","closeModal","entity","PageHeader","SearchBox","val","RefreshIcon","PageLayout","VirtualizedList","alignContent","HelpBox","AButton","ecListTransform","ecList","map","getLimitSizes","resourceQuotas","quotas","get","returnQuotas","forEach","rsQuota","stCName","hard","status","errorBlock"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/8333.8e8ca78e.chunk.js b/portal-ui/build/static/js/8333.8e8ca78e.chunk.js new file mode 100644 index 000000000..bde5f5518 --- /dev/null +++ b/portal-ui/build/static/js/8333.8e8ca78e.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[8333],{28333:function(e,n,t){t.r(n);var l=t(23430),o=t(50390),a=t(21639),c=t(56805),i=t(18201),r=t(49495),s=t(15607),u=t(38342),d=t.n(u),f=t(63020),v=t(21278),p=t(96152),Z=t(37882),h=t(62559),x=(0,Z.Z)(o.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(5444),t.e(3152),t.e(1666)]).then(t.bind(t,23152))}))),m=(0,Z.Z)(o.lazy((function(){return Promise.all([t.e(5444),t.e(7007)]).then(t.bind(t,37007))})));n.default=function(e){var n=e.setErrorSnackMessage,t=e.bucketName,u=(0,o.useState)(null),Z=(0,l.Z)(u,2),j=Z[0],T=Z[1],k=(0,o.useState)(!1),b=(0,l.Z)(k,2),G=b[0],_=b[1],g=(0,o.useState)([]),S=(0,l.Z)(g,2),y=S[0],C=S[1],A=(0,o.useState)(["",""]),E=(0,l.Z)(A,2),U=E[0],z=E[1],N=(0,o.useState)(!1),P=(0,l.Z)(N,2),I=P[0],F=P[1],w=(0,a.Z)((function(e){var n,t;null!=e&&null!=(null===e||void 0===e?void 0:e.details)&&(T(null===e||void 0===e||null===(n=e.details)||void 0===n?void 0:n.tags),C(Object.keys(null===e||void 0===e||null===(t=e.details)||void 0===t?void 0:t.tags)))}),(function(e){n(e)})),B=(0,l.Z)(w,2),K=B[0],O=B[1],D=function(){O("GET","/api/v1/buckets/".concat(t))};return(0,o.useEffect)((function(){D()}),[t]),(0,h.jsxs)(c.Z,{children:[K?(0,h.jsx)(i.Z,{color:"primary",size:16,variant:"indeterminate"}):null,(0,h.jsx)(s.Z,{scopes:[r.Ft.S3_GET_BUCKET_TAGGING],resource:t,children:(0,h.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,h.jsx)(c.Z,{children:y&&y.map((function(e,n){var l=d()(j,"".concat(e),"");return""!==l?(0,h.jsx)(s.Z,{scopes:[r.Ft.S3_PUT_BUCKET_TAGGING],resource:t,matchAll:!0,errorProps:{deleteIcon:null,onDelete:null},children:(0,h.jsx)(f.Z,{style:{textTransform:"none",marginRight:"5px"},size:"small",label:"".concat(e," : ").concat(l),color:"primary",deleteIcon:(0,h.jsx)(v.Z,{}),onDelete:function(){!function(e,n){z([e,n]),F(!0)}(e,l)}})},"chip-".concat(n)):null}))}),(0,h.jsx)(s.Z,{scopes:[r.Ft.S3_PUT_BUCKET_TAGGING],resource:t,errorProps:{disabled:!0,onClick:null},children:(0,h.jsx)(f.Z,{style:{maxWidth:80,marginTop:"10px"},icon:(0,h.jsx)(p.Z,{}),clickable:!0,size:"small",label:"Add tag",color:"primary",variant:"outlined",onClick:function(){_(!0)}})})]})}),G&&(0,h.jsx)(x,{modalOpen:G,currentTags:j,bucketName:t,onCloseAndUpdate:function(e){_(!1),e&&D()}}),I&&(0,h.jsx)(m,{deleteOpen:I,currentTags:j,bucketName:t,onCloseAndUpdate:function(e){F(!1),e&&D()},selectedTag:U})]})}},21639:function(e,n,t){var l=t(23430),o=t(50390),a=t(30324);n.Z=function(e,n){var t=(0,o.useState)(!1),c=(0,l.Z)(t,2),i=c[0],r=c[1];return[i,function(t,l,o){r(!0),a.Z.invoke(t,l,o).then((function(n){r(!1),e(n)})).catch((function(e){r(!1),n(e)}))}]}},96152:function(e,n,t){var l=t(64119);n.Z=void 0;var o=l(t(66830)),a=t(62559),c=(0,o.default)((0,a.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");n.Z=c}}]); +//# sourceMappingURL=8333.8e8ca78e.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/8333.b0c9e377.chunk.js.map b/portal-ui/build/static/js/8333.8e8ca78e.chunk.js.map similarity index 98% rename from portal-ui/build/static/js/8333.b0c9e377.chunk.js.map rename to portal-ui/build/static/js/8333.8e8ca78e.chunk.js.map index bf8e8564a..f07dd500c 100644 --- a/portal-ui/build/static/js/8333.b0c9e377.chunk.js.map +++ b/portal-ui/build/static/js/8333.8e8ca78e.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/8333.b0c9e377.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/BucketTags.tsx","screens/Console/Common/Hooks/useApi.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, CircularProgress } from \"@mui/material\";\nimport { IAM_SCOPES } from \"../../../../../common/SecureComponent/permissions\";\nimport SecureComponent from \"../../../../../common/SecureComponent/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\";\n\nconst AddBucketTagModal = withSuspense(\n React.lazy(() => import(\"../AddBucketTagModal\"))\n);\nconst DeleteBucketTagModal = withSuspense(\n React.lazy(() => import(\"../DeleteBucketTagModal\"))\n);\n\ntype BucketTagProps = {\n setErrorSnackMessage: (err: ErrorResponseHandler) => void;\n bucketName: string;\n};\n\nconst BucketTags = ({ setErrorSnackMessage, bucketName }: BucketTagProps) => {\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) {\n setTags(res?.details?.tags);\n setTagKeys(Object.keys(res?.details?.tags));\n }\n };\n\n const onTagLoadFailed = (err: ErrorResponseHandler) => {\n 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 ? (\n \n ) : 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","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"\n}), 'Add');\n\nexports.default = _default;"],"names":["AddBucketTagModal","withSuspense","React","DeleteBucketTagModal","setErrorSnackMessage","bucketName","useState","tags","setTags","tagModalOpen","setTagModalOpen","tagKeys","setTagKeys","selectedTag","setSelectedTag","deleteTagModalOpen","setDeleteTagModalOpen","useApi","res","details","Object","keys","err","isLoading","invokeTagsApi","fetchTags","useEffect","color","size","variant","scopes","IAM_SCOPES","resource","sx","display","flexFlow","map","tagKey","index","tag","get","matchAll","errorProps","deleteIcon","onDelete","style","textTransform","marginRight","label","tagLabel","deleteTag","disabled","onClick","maxWidth","marginTop","icon","clickable","modalOpen","currentTags","onCloseAndUpdate","refresh","deleteOpen","onSuccess","onError","setIsLoading","method","url","data","api","then","catch","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/8333.8e8ca78e.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/BucketTags.tsx","screens/Console/Common/Hooks/useApi.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, CircularProgress } from \"@mui/material\";\nimport { IAM_SCOPES } from \"../../../../../common/SecureComponent/permissions\";\nimport SecureComponent from \"../../../../../common/SecureComponent/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\";\n\nconst AddBucketTagModal = withSuspense(\n React.lazy(() => import(\"../AddBucketTagModal\"))\n);\nconst DeleteBucketTagModal = withSuspense(\n React.lazy(() => import(\"../DeleteBucketTagModal\"))\n);\n\ntype BucketTagProps = {\n setErrorSnackMessage: (err: ErrorResponseHandler) => void;\n bucketName: string;\n};\n\nconst BucketTags = ({ setErrorSnackMessage, bucketName }: BucketTagProps) => {\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) {\n setTags(res?.details?.tags);\n setTagKeys(Object.keys(res?.details?.tags));\n }\n };\n\n const onTagLoadFailed = (err: ErrorResponseHandler) => {\n 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 ? (\n \n ) : 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","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"\n}), 'Add');\n\nexports.default = _default;"],"names":["AddBucketTagModal","withSuspense","React","DeleteBucketTagModal","setErrorSnackMessage","bucketName","useState","tags","setTags","tagModalOpen","setTagModalOpen","tagKeys","setTagKeys","selectedTag","setSelectedTag","deleteTagModalOpen","setDeleteTagModalOpen","useApi","res","details","Object","keys","err","isLoading","invokeTagsApi","fetchTags","useEffect","color","size","variant","scopes","IAM_SCOPES","resource","sx","display","flexFlow","map","tagKey","index","tag","get","matchAll","errorProps","deleteIcon","onDelete","style","textTransform","marginRight","label","tagLabel","deleteTag","disabled","onClick","maxWidth","marginTop","icon","clickable","modalOpen","currentTags","onCloseAndUpdate","refresh","deleteOpen","onSuccess","onError","setIsLoading","method","url","data","api","then","catch","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/8333.b0c9e377.chunk.js b/portal-ui/build/static/js/8333.b0c9e377.chunk.js deleted file mode 100644 index 7e05b5b86..000000000 --- a/portal-ui/build/static/js/8333.b0c9e377.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[8333],{28333:function(e,n,t){t.r(n);var l=t(23430),o=t(50390),a=t(21639),c=t(56805),i=t(18201),r=t(49495),s=t(15607),u=t(38342),d=t.n(u),f=t(63020),v=t(21278),p=t(96152),Z=t(37882),h=t(62559),x=(0,Z.Z)(o.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(5444),t.e(892),t.e(3152)]).then(t.bind(t,23152))}))),m=(0,Z.Z)(o.lazy((function(){return Promise.all([t.e(5444),t.e(7007)]).then(t.bind(t,37007))})));n.default=function(e){var n=e.setErrorSnackMessage,t=e.bucketName,u=(0,o.useState)(null),Z=(0,l.Z)(u,2),j=Z[0],T=Z[1],k=(0,o.useState)(!1),b=(0,l.Z)(k,2),G=b[0],_=b[1],g=(0,o.useState)([]),S=(0,l.Z)(g,2),y=S[0],C=S[1],A=(0,o.useState)(["",""]),E=(0,l.Z)(A,2),U=E[0],z=E[1],N=(0,o.useState)(!1),P=(0,l.Z)(N,2),I=P[0],F=P[1],w=(0,a.Z)((function(e){var n,t;null!=e&&null!=(null===e||void 0===e?void 0:e.details)&&(T(null===e||void 0===e||null===(n=e.details)||void 0===n?void 0:n.tags),C(Object.keys(null===e||void 0===e||null===(t=e.details)||void 0===t?void 0:t.tags)))}),(function(e){n(e)})),B=(0,l.Z)(w,2),K=B[0],O=B[1],D=function(){O("GET","/api/v1/buckets/".concat(t))};return(0,o.useEffect)((function(){D()}),[t]),(0,h.jsxs)(c.Z,{children:[K?(0,h.jsx)(i.Z,{color:"primary",size:16,variant:"indeterminate"}):null,(0,h.jsx)(s.Z,{scopes:[r.Ft.S3_GET_BUCKET_TAGGING],resource:t,children:(0,h.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,h.jsx)(c.Z,{children:y&&y.map((function(e,n){var l=d()(j,"".concat(e),"");return""!==l?(0,h.jsx)(s.Z,{scopes:[r.Ft.S3_PUT_BUCKET_TAGGING],resource:t,matchAll:!0,errorProps:{deleteIcon:null,onDelete:null},children:(0,h.jsx)(f.Z,{style:{textTransform:"none",marginRight:"5px"},size:"small",label:"".concat(e," : ").concat(l),color:"primary",deleteIcon:(0,h.jsx)(v.Z,{}),onDelete:function(){!function(e,n){z([e,n]),F(!0)}(e,l)}})},"chip-".concat(n)):null}))}),(0,h.jsx)(s.Z,{scopes:[r.Ft.S3_PUT_BUCKET_TAGGING],resource:t,errorProps:{disabled:!0,onClick:null},children:(0,h.jsx)(f.Z,{style:{maxWidth:80,marginTop:"10px"},icon:(0,h.jsx)(p.Z,{}),clickable:!0,size:"small",label:"Add tag",color:"primary",variant:"outlined",onClick:function(){_(!0)}})})]})}),G&&(0,h.jsx)(x,{modalOpen:G,currentTags:j,bucketName:t,onCloseAndUpdate:function(e){_(!1),e&&D()}}),I&&(0,h.jsx)(m,{deleteOpen:I,currentTags:j,bucketName:t,onCloseAndUpdate:function(e){F(!1),e&&D()},selectedTag:U})]})}},21639:function(e,n,t){var l=t(23430),o=t(50390),a=t(30324);n.Z=function(e,n){var t=(0,o.useState)(!1),c=(0,l.Z)(t,2),i=c[0],r=c[1];return[i,function(t,l,o){r(!0),a.Z.invoke(t,l,o).then((function(n){r(!1),e(n)})).catch((function(e){r(!1),n(e)}))}]}},96152:function(e,n,t){var l=t(64119);n.Z=void 0;var o=l(t(66830)),a=t(62559),c=(0,o.default)((0,a.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add");n.Z=c}}]); -//# sourceMappingURL=8333.b0c9e377.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/8394.c3b5a87f.chunk.js b/portal-ui/build/static/js/8394.c3b5a87f.chunk.js new file mode 100644 index 000000000..198b50c87 --- /dev/null +++ b/portal-ui/build/static/js/8394.c3b5a87f.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[8394],{48394:function(e,t,o){o.r(t);var n=o(23430),a=o(18489),i=o(50390),c=o(34424),r=o(25594),s=o(81378),l=o(56805),d=o(66946),h=o(86509),u=o(4285),p=o(72462),m=o(44149),x=o(76352),Z=o(30324),g=o(70014),f=o(92440),b=o(66964),v=o(98280),k=o(62559),j={setModalErrorSnackMessage:m.zb},w=(0,c.$j)(null,j);t.default=(0,u.Z)((function(e){return(0,h.Z)((0,a.Z)((0,a.Z)({},p.bl),p.ID))}))(w((function(e){var t=e.classes,o=e.open,a=e.closeModalAndRefresh,c=e.setModalErrorSnackMessage,h=(0,i.useState)(!1),u=(0,n.Z)(h,2),p=u[0],m=u[1],j=(0,i.useState)(""),w=(0,n.Z)(j,2),y=w[0],S=w[1],C=(0,i.useState)(""),P=(0,n.Z)(C,2),N=P[0],z=P[1],F=(0,i.useState)(""),R=(0,n.Z)(F,2),B=R[0],A=R[1],M=(0,i.useState)(!1),O=(0,n.Z)(M,2),E=O[0],I=O[1],K=(0,i.useState)(!1),L=(0,n.Z)(K,2),T=L[0],$=L[1];(0,i.useEffect)((function(){p&&(T?Z.Z.invoke("POST","/api/v1/service-account-credentials",{policy:y,accessKey:N,secretKey:B}).then((function(e){m(!1),a(e)})).catch((function(e){m(!1),c(e)})):Z.Z.invoke("POST","/api/v1/service-accounts",{policy:y}).then((function(e){m(!1),a(e)})).catch((function(e){m(!1),c(e)})))}),[p,m,c,y,a,T,N,B]);return(0,k.jsx)(x.Z,{modalOpen:o,onClose:function(){a(null)},title:"Create Service Account",titleIcon:(0,k.jsx)(v.fr,{}),children:(0,k.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault(),m(!0)}(e)},children:[p&&(0,k.jsx)(r.ZP,{item:!0,xs:12,children:(0,k.jsx)(s.Z,{})}),(0,k.jsxs)(r.ZP,{container:!0,className:t.modalFormScrollable,children:[(0,k.jsx)(r.ZP,{item:!0,xs:12,children:(0,k.jsxs)("div",{className:t.infoDetails,children:["Service Accounts inherit the policy explicitly attached to the parent user and the policy attached to each group in which the parent user has membership. You can specify an optional JSON-formatted policy below to restrict the Service Account access to a subset of actions and resources explicitly allowed for the parent user.",(0,k.jsx)(l.Z,{sx:{paddingTop:"15px",paddingBottom:"15px"},children:"You cannot modify the Service Account optional policy after saving."})]})}),(0,k.jsxs)(r.ZP,{item:!0,xs:12,children:[(0,k.jsxs)(r.ZP,{item:!0,xs:12,children:[(0,k.jsx)(f.Z,{value:"locking",id:"locking",name:"locking",checked:T,onChange:function(e){$(e.target.checked)},label:"Customize Credentials"}),T&&(0,k.jsx)(r.ZP,{item:!0,xs:12,children:(0,k.jsxs)("div",{className:t.stackedInputs,children:[(0,k.jsx)(b.Z,{value:N,label:"Access Key",id:"accessKey",name:"accessKey",placeholder:"Enter Access Key",onChange:function(e){z(e.target.value)}}),(0,k.jsx)(b.Z,{value:B,label:"Secret Key",id:"secretKey",name:"secretKey",placeholder:"Enter Secret Key",onChange:function(e){A(e.target.value)}})]})})]}),(0,k.jsxs)(r.ZP,{item:!0,xs:12,children:[(0,k.jsx)(f.Z,{value:"locking",id:"locking",name:"locking",checked:E,onChange:function(e){I(e.target.checked)},label:"Restrict with policy"}),E&&(0,k.jsx)(r.ZP,{item:!0,xs:12,className:t.codeMirrorContainer,children:(0,k.jsx)(g.Z,{label:"Policy ",value:y,onBeforeChange:function(e,t,o){S(o)}})})]})]})]}),(0,k.jsx)(r.ZP,{container:!0,children:(0,k.jsxs)(r.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,k.jsx)(d.Z,{type:"button",color:"primary",variant:"outlined",onClick:function(){S("")},children:"Clear"}),(0,k.jsx)(d.Z,{type:"submit",variant:"contained",color:"primary",disabled:p,children:"Create"})]})})]})})})))},92440:function(e,t,o){var n=o(36222),a=o(18489),i=o(50390),c=o(86509),r=o(4285),s=o(49056),l=o(36554),d=o(94187),h=o(35477),u=o(25594),p=o(72462),m=o(97538),x=o(44977),Z=o(62559),g=(0,r.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(s.Z);t.Z=(0,r.Z)((function(e){return(0,c.Z)((0,a.Z)((0,a.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},p.OR),p.YI))}))((function(e){var t=e.label,o=void 0===t?"":t,a=e.onChange,c=e.value,r=e.id,s=e.name,p=e.checked,f=void 0!==p&&p,b=e.disabled,v=void 0!==b&&b,k=e.switchOnly,j=void 0!==k&&k,w=e.tooltip,y=void 0===w?"":w,S=e.description,C=void 0===S?"":S,P=e.classes,N=e.indicatorLabels,z=(0,Z.jsxs)(i.Fragment,{children:[!j&&(0,Z.jsx)("span",{className:(0,x.Z)(P.indicatorLabel,(0,n.Z)({},P.indicatorLabelOn,!f)),children:N&&N.length>1?N[1]:"OFF"}),(0,Z.jsx)(g,{checked:f,onChange:a,color:"primary",name:s,inputProps:{"aria-label":"primary checkbox"},disabled:v,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:c}),!j&&(0,Z.jsx)("span",{className:(0,x.Z)(P.indicatorLabel,(0,n.Z)({},P.indicatorLabelOn,f)),children:N?N[0]:"ON"})]});return j?z:(0,Z.jsx)("div",{className:P.divContainer,children:(0,Z.jsxs)(u.ZP,{container:!0,alignItems:"center",children:[(0,Z.jsx)(u.ZP,{item:!0,xs:!0,children:(0,Z.jsxs)(u.ZP,{container:!0,children:[(0,Z.jsx)(u.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==o&&(0,Z.jsxs)(l.Z,{htmlFor:r,className:P.inputLabel,children:[(0,Z.jsx)("span",{children:o}),""!==y&&(0,Z.jsx)("div",{className:P.tooltipContainer,children:(0,Z.jsx)(d.Z,{title:y,placement:"top-start",children:(0,Z.jsx)("div",{className:P.tooltip,children:(0,Z.jsx)(m.Z,{})})})})]})}),(0,Z.jsx)(u.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==C&&(0,Z.jsx)(h.Z,{component:"p",className:P.fieldDescription,children:C})})]})}),(0,Z.jsx)(u.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:P.switchContainer,children:z})]})})}))},49056:function(e,t,o){o.d(t,{Z:function(){return w}});var n=o(36222),a=o(1048),i=o(32793),c=o(50390),r=o(44977),s=o(50076),l=o(36128),d=o(91442),h=o(16756),u=o(15573),p=o(8208),m=o(10594);function x(e){return(0,m.Z)("MuiSwitch",e)}var Z=(0,o(43349).Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),g=o(62559),f=["className","color","edge","size","sx"],b=(0,p.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(e,t){var o=e.ownerState;return[t.root,o.edge&&t["edge".concat((0,d.Z)(o.edge))],t["size".concat((0,d.Z)(o.size))]]}})((function(e){var t,o=e.ownerState;return(0,i.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===o.edge&&{marginLeft:-8},"end"===o.edge&&{marginRight:-8},"small"===o.size&&(t={width:40,height:24,padding:7},(0,n.Z)(t,"& .".concat(Z.thumb),{width:16,height:16}),(0,n.Z)(t,"& .".concat(Z.switchBase),(0,n.Z)({padding:4},"&.".concat(Z.checked),{transform:"translateX(16px)"})),t))})),v=(0,p.ZP)(h.Z,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(e,t){var o=e.ownerState;return[t.switchBase,(0,n.Z)({},"& .".concat(Z.input),t.input),"default"!==o.color&&t["color".concat((0,d.Z)(o.color))]]}})((function(e){var t,o=e.theme;return t={position:"absolute",top:0,left:0,zIndex:1,color:"light"===o.palette.mode?o.palette.common.white:o.palette.grey[300],transition:o.transitions.create(["left","transform"],{duration:o.transitions.duration.shortest})},(0,n.Z)(t,"&.".concat(Z.checked),{transform:"translateX(20px)"}),(0,n.Z)(t,"&.".concat(Z.disabled),{color:"light"===o.palette.mode?o.palette.grey[100]:o.palette.grey[600]}),(0,n.Z)(t,"&.".concat(Z.checked," + .").concat(Z.track),{opacity:.5}),(0,n.Z)(t,"&.".concat(Z.disabled," + .").concat(Z.track),{opacity:"light"===o.palette.mode?.12:.2}),(0,n.Z)(t,"& .".concat(Z.input),{left:"-100%",width:"300%"}),t}),(function(e){var t,o=e.theme,a=e.ownerState;return(0,i.Z)({"&:hover":{backgroundColor:(0,l.Fq)(o.palette.action.active,o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==a.color&&(t={},(0,n.Z)(t,"&.".concat(Z.checked),(0,n.Z)({color:o.palette[a.color].main,"&:hover":{backgroundColor:(0,l.Fq)(o.palette[a.color].main,o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(Z.disabled),{color:"light"===o.palette.mode?(0,l.$n)(o.palette[a.color].main,.62):(0,l._j)(o.palette[a.color].main,.55)})),(0,n.Z)(t,"&.".concat(Z.checked," + .").concat(Z.track),{backgroundColor:o.palette[a.color].main}),t))})),k=(0,p.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(e,t){return t.track}})((function(e){var t=e.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:"light"===t.palette.mode?t.palette.common.black:t.palette.common.white,opacity:"light"===t.palette.mode?.38:.3}})),j=(0,p.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(e,t){return t.thumb}})((function(e){return{boxShadow:e.theme.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),w=c.forwardRef((function(e,t){var o=(0,u.Z)({props:e,name:"MuiSwitch"}),n=o.className,c=o.color,l=void 0===c?"primary":c,h=o.edge,p=void 0!==h&&h,m=o.size,Z=void 0===m?"medium":m,w=o.sx,y=(0,a.Z)(o,f),S=(0,i.Z)({},o,{color:l,edge:p,size:Z}),C=function(e){var t=e.classes,o=e.edge,n=e.size,a=e.color,c=e.checked,r=e.disabled,l={root:["root",o&&"edge".concat((0,d.Z)(o)),"size".concat((0,d.Z)(n))],switchBase:["switchBase","color".concat((0,d.Z)(a)),c&&"checked",r&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},h=(0,s.Z)(l,x,t);return(0,i.Z)({},t,h)}(S),P=(0,g.jsx)(j,{className:C.thumb,ownerState:S});return(0,g.jsxs)(b,{className:(0,r.Z)(C.root,n),sx:w,ownerState:S,children:[(0,g.jsx)(v,(0,i.Z)({type:"checkbox",icon:P,checkedIcon:P,ref:t,ownerState:S},y,{classes:(0,i.Z)({},C,{root:C.switchBase})})),(0,g.jsx)(k,{className:C.track,ownerState:S})]})}))}}]); +//# sourceMappingURL=8394.c3b5a87f.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/8394.c3b5a87f.chunk.js.map b/portal-ui/build/static/js/8394.c3b5a87f.chunk.js.map new file mode 100644 index 000000000..48330c41b --- /dev/null +++ b/portal-ui/build/static/js/8394.c3b5a87f.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/8394.c3b5a87f.chunk.js","mappings":"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","sources":["screens/Console/Account/AddServiceAccount.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","../node_modules/@mui/material/Switch/switchClasses.js","../node_modules/@mui/material/Switch/Switch.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, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, Button, LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n modalStyleUtils,\n serviceAccountStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { NewServiceAccount } from \"../Common/CredentialsPrompt/types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../common/api\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { AccountIcon } from \"../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...serviceAccountStyles,\n ...modalStyleUtils,\n });\n\ninterface IAddServiceAccountProps {\n classes: any;\n open: boolean;\n closeModalAndRefresh: (res: NewServiceAccount | null) => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst AddServiceAccount = ({\n classes,\n open,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: IAddServiceAccountProps) => {\n const [addSending, setAddSending] = useState(false);\n const [policyDefinition, setPolicyDefinition] = useState(\"\");\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n const [isRestrictedByPolicy, setIsRestrictedByPolicy] =\n useState(false);\n const [addCredentials, setAddCredentials] = useState(false);\n\n useEffect(() => {\n if (addSending) {\n if (addCredentials) {\n api\n .invoke(\"POST\", `/api/v1/service-account-credentials`, {\n policy: policyDefinition,\n accessKey: accessKey,\n secretKey: secretKey,\n })\n .then((res) => {\n setAddSending(false);\n closeModalAndRefresh(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n api\n .invoke(\"POST\", `/api/v1/service-accounts`, {\n policy: policyDefinition,\n })\n .then((res) => {\n setAddSending(false);\n closeModalAndRefresh(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n setModalErrorSnackMessage(err);\n });\n }\n }\n }, [\n addSending,\n setAddSending,\n setModalErrorSnackMessage,\n policyDefinition,\n closeModalAndRefresh,\n addCredentials,\n accessKey,\n secretKey,\n ]);\n\n const addServiceAccount = (e: React.FormEvent) => {\n e.preventDefault();\n setAddSending(true);\n };\n\n const resetForm = () => {\n setPolicyDefinition(\"\");\n };\n\n return (\n {\n closeModalAndRefresh(null);\n }}\n title={`Create Service Account`}\n titleIcon={}\n >\n ) => {\n addServiceAccount(e);\n }}\n >\n {addSending && (\n \n \n \n )}\n \n \n
\n Service Accounts inherit the policy explicitly attached to the\n parent user and the policy attached to each group in which the\n parent user has membership. You can specify an optional\n JSON-formatted policy below to restrict the Service Account access\n to a subset of actions and resources explicitly allowed for the\n parent user.\n \n You cannot modify the Service Account optional policy after\n saving.\n \n
\n
\n \n \n ) => {\n setAddCredentials(event.target.checked);\n }}\n label={\"Customize Credentials\"}\n />\n {addCredentials && (\n \n
\n {\n setAccessKey(e.target.value);\n }}\n />\n {\n setSecretKey(e.target.value);\n }}\n />\n
\n
\n )}\n
\n \n ) => {\n setIsRestrictedByPolicy(event.target.checked);\n }}\n label={\"Restrict with policy\"}\n />\n {isRestrictedByPolicy && (\n \n {\n setPolicyDefinition(value);\n }}\n />\n \n )}\n \n
\n
\n \n \n \n Clear\n \n \n Create\n \n \n \n \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, darken, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n}, ownerState.edge === 'start' && {\n marginLeft: -8\n}, ownerState.edge === 'end' && {\n marginRight: -8\n}, ownerState.size === 'small' && {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n}));\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.palette.mode === 'light' ? 0.12 : 0.2\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({\n '&:hover': {\n backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${switchClasses.checked}`]: {\n color: theme.palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: theme.palette[ownerState.color].main\n }\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.mode === 'light' ? 0.38 : 0.3\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;"],"names":["mapDispatchToProps","setModalErrorSnackMessage","connector","connect","withStyles","theme","createStyles","serviceAccountStyles","modalStyleUtils","classes","open","closeModalAndRefresh","useState","addSending","setAddSending","policyDefinition","setPolicyDefinition","accessKey","setAccessKey","secretKey","setSecretKey","isRestrictedByPolicy","setIsRestrictedByPolicy","addCredentials","setAddCredentials","useEffect","api","policy","then","res","catch","err","modalOpen","onClose","title","titleIcon","noValidate","autoComplete","onSubmit","e","preventDefault","addServiceAccount","item","xs","container","className","modalFormScrollable","infoDetails","sx","paddingTop","paddingBottom","value","id","name","checked","onChange","event","target","label","stackedInputs","placeholder","codeMirrorContainer","onBeforeChange","editor","data","modalButtonBar","type","color","variant","onClick","disabled","StyledSwitch","root","width","height","padding","margin","switchBase","transform","palette","common","white","backgroundColor","boxShadow","opacity","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","focusVisible","switchContainer","display","alignItems","justifyContent","Switch","divContainer","marginBottom","indicatorLabelOn","fontWeight","indicatorLabel","fontSize","fieldDescription","marginTop","tooltip","actionsTray","fieldBasic","switchOnly","description","indicatorLabels","switchComponent","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","sm","md","htmlFor","inputLabel","tooltipContainer","placement","textAlign","component","getSwitchUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","SwitchRoot","styled","overridesResolver","props","styles","ownerState","edge","capitalize","size","_extends","overflow","boxSizing","position","flexShrink","zIndex","verticalAlign","colorAdjust","marginRight","switchClasses","SwitchSwitchBase","SwitchBase","input","top","left","mode","grey","duration","shortest","alpha","action","active","hoverOpacity","main","lighten","darken","SwitchTrack","black","SwitchThumb","shadows","React","inProps","ref","useThemeProps","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","icon","_jsx","_jsxs","children","checkedIcon"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/8420.68d5dfb4.chunk.js b/portal-ui/build/static/js/8420.68d5dfb4.chunk.js deleted file mode 100644 index 02aa87dee..000000000 --- a/portal-ui/build/static/js/8420.68d5dfb4.chunk.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see 8420.68d5dfb4.chunk.js.LICENSE.txt */ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[8420,3143],{95318:function(t){t.exports=function(t){return t&&t.__esModule?t:{default:t}},t.exports.default=t.exports,t.exports.__esModule=!0},84322:function(t,e,n){t.exports=n(31212)},97715:function(t,e){var n;!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var t=[],e=0;eo)if(Math.abs(h*s-l*f)>o&&a){var d=r-c,y=i-u,v=s*s+l*l,g=d*d+y*y,m=Math.sqrt(v),b=Math.sqrt(p),x=a*Math.tan((n-Math.acos((v+p-g)/(2*m*b)))/2),w=x/b,O=x/m;Math.abs(w-1)>o&&(this._+="L"+(t+w*f)+","+(e+w*h)),this._+="A"+a+","+a+",0,0,"+ +(h*d>f*y)+","+(this._x1=t+O*s)+","+(this._y1=e+O*l)}else this._+="L"+(this._x1=t)+","+(this._y1=e);else;},arc:function(t,e,a,c,u,s){t=+t,e=+e,s=!!s;var l=(a=+a)*Math.cos(c),f=a*Math.sin(c),h=t+l,p=e+f,d=1^s,y=s?c-u:u-c;if(a<0)throw new Error("negative radius: "+a);null===this._x1?this._+="M"+h+","+p:(Math.abs(this._x1-h)>o||Math.abs(this._y1-p)>o)&&(this._+="L"+h+","+p),a&&(y<0&&(y=y%r+r),y>i?this._+="A"+a+","+a+",0,1,"+d+","+(t-l)+","+(e-f)+"A"+a+","+a+",0,1,"+d+","+(this._x1=h)+","+(this._y1=p):y>o&&(this._+="A"+a+","+a+",0,"+ +(y>=n)+","+d+","+(this._x1=t+a*Math.cos(u))+","+(this._y1=e+a*Math.sin(u))))},rect:function(t,e,n,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +r+"h"+-n+"Z"},toString:function(){return this._}},e.Z=c},64868:function(t,e,n){"use strict";n.d(e,{Z:function(){return c},x:function(){return s}});var r=n(23430);function o(t,e,n){t=+t,e=+e,n=(o=arguments.length)<2?(e=t,t=0,1):o<3?1:+n;for(var r=-1,o=0|Math.max(0,Math.ceil((e-t)/n)),i=new Array(o);++r(c=(a=Math.ceil(h/7))>c?a+1:c+1)&&(i=c,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for((c=s.length)-(i=l.length)<0&&(i=c,r=l,l=s,s=r),n=0;i;)n=(s[--i]=s[i]+l[i]+n)/y|0,s[i]%=y;for(n&&(s.unshift(n),++o),c=s.length;0==s[--c];)s.pop();return e.d=s,e.e=o,u?M(e,h):e}function x(t,e,n){if(t!==~~t||tn)throw Error(l+t)}function w(t){var e,n,r,o=t.length-1,i="",a=t[0];if(o>0){for(i+=a,e=1;et.e^i.s<0?1:-1;for(e=0,n=(r=i.d.length)<(o=t.d.length)?r:o;et.d[e]^i.s<0?1:-1;return r===o?0:r>o^i.s<0?1:-1},m.decimalPlaces=m.dp=function(){var t=this,e=t.d.length-1,n=7*(e-t.e);if(e=t.d[e])for(;e%10==0;e/=10)n--;return n<0?0:n},m.dividedBy=m.div=function(t){return O(this,new this.constructor(t))},m.dividedToIntegerBy=m.idiv=function(t){var e=this.constructor;return M(O(this,new e(t),0,1),e.precision)},m.equals=m.eq=function(t){return!this.cmp(t)},m.exponent=function(){return E(this)},m.greaterThan=m.gt=function(t){return this.cmp(t)>0},m.greaterThanOrEqualTo=m.gte=function(t){return this.cmp(t)>=0},m.isInteger=m.isint=function(){return this.e>this.d.length-2},m.isNegative=m.isneg=function(){return this.s<0},m.isPositive=m.ispos=function(){return this.s>0},m.isZero=function(){return 0===this.s},m.lessThan=m.lt=function(t){return this.cmp(t)<0},m.lessThanOrEqualTo=m.lte=function(t){return this.cmp(t)<1},m.logarithm=m.log=function(t){var e,n=this,r=n.constructor,o=r.precision,a=o+5;if(void 0===t)t=new r(10);else if((t=new r(t)).s<1||t.eq(i))throw Error(s+"NaN");if(n.s<1)throw Error(s+(n.s?"NaN":"-Infinity"));return n.eq(i)?new r(0):(u=!1,e=O(j(n,a),j(t,a),a),u=!0,M(e,o))},m.minus=m.sub=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?P(e,t):b(e,(t.s=-t.s,t))},m.modulo=m.mod=function(t){var e,n=this,r=n.constructor,o=r.precision;if(!(t=new r(t)).s)throw Error(s+"NaN");return n.s?(u=!1,e=O(n,t,0,1).times(t),u=!0,n.minus(e)):M(new r(n),o)},m.naturalExponential=m.exp=function(){return _(this)},m.naturalLogarithm=m.ln=function(){return j(this)},m.negated=m.neg=function(){var t=new this.constructor(this);return t.s=-t.s||0,t},m.plus=m.add=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?b(e,t):P(e,(t.s=-t.s,t))},m.precision=m.sd=function(t){var e,n,r,o=this;if(void 0!==t&&t!==!!t&&1!==t&&0!==t)throw Error(l+t);if(e=E(o)+1,n=7*(r=o.d.length-1)+1,r=o.d[r]){for(;r%10==0;r/=10)n--;for(r=o.d[0];r>=10;r/=10)n++}return t&&e>n?e:n},m.squareRoot=m.sqrt=function(){var t,e,n,r,o,i,a,c=this,l=c.constructor;if(c.s<1){if(!c.s)return new l(0);throw Error(s+"NaN")}for(t=E(c),u=!1,0==(o=Math.sqrt(+c))||o==1/0?(((e=w(c.d)).length+t)%2==0&&(e+="0"),o=Math.sqrt(e),t=h((t+1)/2)-(t<0||t%2),r=new l(e=o==1/0?"5e"+t:(e=o.toExponential()).slice(0,e.indexOf("e")+1)+t)):r=new l(o.toString()),o=a=(n=l.precision)+3;;)if(r=(i=r).plus(O(c,i,a+2)).times(.5),w(i.d).slice(0,a)===(e=w(r.d)).slice(0,a)){if(e=e.slice(a-3,a+1),o==a&&"4999"==e){if(M(i,n+1,0),i.times(i).eq(c)){r=i;break}}else if("9999"!=e)break;a+=4}return u=!0,M(r,n)},m.times=m.mul=function(t){var e,n,r,o,i,a,c,s,l,f=this,h=f.constructor,p=f.d,d=(t=new h(t)).d;if(!f.s||!t.s)return new h(0);for(t.s*=f.s,n=f.e+t.e,(s=p.length)<(l=d.length)&&(i=p,p=d,d=i,a=s,s=l,l=a),i=[],r=a=s+l;r--;)i.push(0);for(r=l;--r>=0;){for(e=0,o=s+r;o>r;)c=i[o]+d[r]*p[o-r-1]+e,i[o--]=c%y|0,e=c/y|0;i[o]=(i[o]+e)%y|0}for(;!i[--a];)i.pop();return e?++n:i.shift(),t.d=i,t.e=n,u?M(t,h.precision):t},m.toDecimalPlaces=m.todp=function(t,e){var n=this,r=n.constructor;return n=new r(n),void 0===t?n:(x(t,0,a),void 0===e?e=r.rounding:x(e,0,8),M(n,t+E(n)+1,e))},m.toExponential=function(t,e){var n,r=this,o=r.constructor;return void 0===t?n=T(r,!0):(x(t,0,a),void 0===e?e=o.rounding:x(e,0,8),n=T(r=M(new o(r),t+1,e),!0,t+1)),n},m.toFixed=function(t,e){var n,r,o=this,i=o.constructor;return void 0===t?T(o):(x(t,0,a),void 0===e?e=i.rounding:x(e,0,8),n=T((r=M(new i(o),t+E(o)+1,e)).abs(),!1,t+E(r)+1),o.isneg()&&!o.isZero()?"-"+n:n)},m.toInteger=m.toint=function(){var t=this,e=t.constructor;return M(new e(t),E(t)+1,e.rounding)},m.toNumber=function(){return+this},m.toPower=m.pow=function(t){var e,n,r,o,a,c,l=this,f=l.constructor,p=+(t=new f(t));if(!t.s)return new f(i);if(!(l=new f(l)).s){if(t.s<1)throw Error(s+"Infinity");return l}if(l.eq(i))return l;if(r=f.precision,t.eq(i))return M(l,r);if(c=(e=t.e)>=(n=t.d.length-1),a=l.s,c){if((n=p<0?-p:p)<=v){for(o=new f(i),e=Math.ceil(r/7+4),u=!1;n%2&&C((o=o.times(l)).d,e),0!==(n=h(n/2));)C((l=l.times(l)).d,e);return u=!0,t.s<0?new f(i).div(o):M(o,r)}}else if(a<0)throw Error(s+"NaN");return a=a<0&&1&t.d[Math.max(e,n)]?-1:1,l.s=1,u=!1,o=t.times(j(l,r+12)),u=!0,(o=_(o)).s=a,o},m.toPrecision=function(t,e){var n,r,o=this,i=o.constructor;return void 0===t?r=T(o,(n=E(o))<=i.toExpNeg||n>=i.toExpPos):(x(t,1,a),void 0===e?e=i.rounding:x(e,0,8),r=T(o=M(new i(o),t,e),t<=(n=E(o))||n<=i.toExpNeg,t)),r},m.toSignificantDigits=m.tosd=function(t,e){var n=this.constructor;return void 0===t?(t=n.precision,e=n.rounding):(x(t,1,a),void 0===e?e=n.rounding:x(e,0,8)),M(new n(this),t,e)},m.toString=m.valueOf=m.val=m.toJSON=function(){var t=this,e=E(t),n=t.constructor;return T(t,e<=n.toExpNeg||e>=n.toExpPos)};var O=function(){function t(t,e){var n,r=0,o=t.length;for(t=t.slice();o--;)n=t[o]*e+r,t[o]=n%y|0,r=n/y|0;return r&&t.unshift(r),t}function e(t,e,n,r){var o,i;if(n!=r)i=n>r?1:-1;else for(o=i=0;oe[o]?1:-1;break}return i}function n(t,e,n){for(var r=0;n--;)t[n]-=r,r=t[n]1;)t.shift()}return function(r,o,i,a){var c,u,l,f,h,p,d,v,g,m,b,x,w,O,_,S,k,j,A=r.constructor,P=r.s==o.s?1:-1,T=r.d,C=o.d;if(!r.s)return new A(r);if(!o.s)throw Error(s+"Division by zero");for(u=r.e-o.e,k=C.length,_=T.length,v=(d=new A(P)).d=[],l=0;C[l]==(T[l]||0);)++l;if(C[l]>(T[l]||0)&&--u,(x=null==i?i=A.precision:a?i+(E(r)-E(o))+1:i)<0)return new A(0);if(x=x/7+2|0,l=0,1==k)for(f=0,C=C[0],x++;(l<_||f)&&x--;l++)w=f*y+(T[l]||0),v[l]=w/C|0,f=w%C|0;else{for((f=y/(C[0]+1)|0)>1&&(C=t(C,f),T=t(T,f),k=C.length,_=T.length),O=k,m=(g=T.slice(0,k)).length;m=y/2&&++S;do{f=0,(c=e(C,g,k,m))<0?(b=g[0],k!=m&&(b=b*y+(g[1]||0)),(f=b/S|0)>1?(f>=y&&(f=y-1),1==(c=e(h=t(C,f),g,p=h.length,m=g.length))&&(f--,n(h,k16)throw Error(f+E(t));if(!t.s)return new h(i);for(null==e?(u=!1,c=d):c=e,a=new h(.03125);t.abs().gte(.1);)t=t.times(a),l+=5;for(c+=Math.log(p(2,l))/Math.LN10*2+5|0,n=r=o=new h(i),h.precision=c;;){if(r=M(r.times(t),c),n=n.times(++s),w((a=o.plus(O(r,n,c))).d).slice(0,c)===w(o.d).slice(0,c)){for(;l--;)o=M(o.times(o),c);return h.precision=d,null==e?(u=!0,M(o,d)):o}o=a}}function E(t){for(var e=7*t.e,n=t.d[0];n>=10;n/=10)e++;return e}function S(t,e,n){if(e>t.LN10.sd())throw u=!0,n&&(t.precision=n),Error(s+"LN10 precision limit exceeded");return M(new t(t.LN10),e)}function k(t){for(var e="";t--;)e+="0";return e}function j(t,e){var n,r,o,a,c,l,f,h,p,d=1,y=t,v=y.d,g=y.constructor,m=g.precision;if(y.s<1)throw Error(s+(y.s?"NaN":"-Infinity"));if(y.eq(i))return new g(0);if(null==e?(u=!1,h=m):h=e,y.eq(10))return null==e&&(u=!0),S(g,h);if(h+=10,g.precision=h,r=(n=w(v)).charAt(0),a=E(y),!(Math.abs(a)<15e14))return f=S(g,h+2,m).times(a+""),y=j(new g(r+"."+n.slice(1)),h-10).plus(f),g.precision=m,null==e?(u=!0,M(y,m)):y;for(;r<7&&1!=r||1==r&&n.charAt(1)>3;)r=(n=w((y=y.times(t)).d)).charAt(0),d++;for(a=E(y),r>1?(y=new g("0."+n),a++):y=new g(r+"."+n.slice(1)),l=c=y=O(y.minus(i),y.plus(i),h),p=M(y.times(y),h),o=3;;){if(c=M(c.times(p),h),w((f=l.plus(O(c,new g(o),h))).d).slice(0,h)===w(l.d).slice(0,h))return l=l.times(2),0!==a&&(l=l.plus(S(g,h+2,m).times(a+""))),l=O(l,new g(d),h),g.precision=m,null==e?(u=!0,M(l,m)):l;l=f,o+=2}}function A(t,e){var n,r,o;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;48===e.charCodeAt(r);)++r;for(o=e.length;48===e.charCodeAt(o-1);)--o;if(e=e.slice(r,o)){if(o-=r,n=n-r-1,t.e=h(n/7),t.d=[],r=(n+1)%7,n<0&&(r+=7),rg||t.e<-g))throw Error(f+n)}else t.s=0,t.e=0,t.d=[0];return t}function M(t,e,n){var r,o,i,a,c,s,l,d,v=t.d;for(a=1,i=v[0];i>=10;i/=10)a++;if((r=e-a)<0)r+=7,o=e,l=v[d=0];else{if((d=Math.ceil((r+1)/7))>=(i=v.length))return t;for(l=i=v[d],a=1;i>=10;i/=10)a++;o=(r%=7)-7+a}if(void 0!==n&&(c=l/(i=p(10,a-o-1))%10|0,s=e<0||void 0!==v[d+1]||l%i,s=n<4?(c||s)&&(0==n||n==(t.s<0?3:2)):c>5||5==c&&(4==n||s||6==n&&(r>0?o>0?l/p(10,a-o):0:v[d-1])%10&1||n==(t.s<0?8:7))),e<1||!v[0])return s?(i=E(t),v.length=1,e=e-i-1,v[0]=p(10,(7-e%7)%7),t.e=h(-e/7)||0):(v.length=1,v[0]=t.e=t.s=0),t;if(0==r?(v.length=d,i=1,d--):(v.length=d+1,i=p(10,7-r),v[d]=o>0?(l/p(10,a-o)%p(10,o)|0)*i:0),s)for(;;){if(0==d){(v[0]+=i)==y&&(v[0]=1,++t.e);break}if(v[d]+=i,v[d]!=y)break;v[d--]=0,i=1}for(r=v.length;0===v[--r];)v.pop();if(u&&(t.e>g||t.e<-g))throw Error(f+E(t));return t}function P(t,e){var n,r,o,i,a,c,s,l,f,h,p=t.constructor,d=p.precision;if(!t.s||!e.s)return e.s?e.s=-e.s:e=new p(t),u?M(e,d):e;if(s=t.d,h=e.d,r=e.e,l=t.e,s=s.slice(),a=l-r){for((f=a<0)?(n=s,a=-a,c=h.length):(n=h,r=l,c=s.length),a>(o=Math.max(Math.ceil(d/7),c)+2)&&(a=o,n.length=1),n.reverse(),o=a;o--;)n.push(0);n.reverse()}else{for((f=(o=s.length)<(c=h.length))&&(c=o),o=0;o0;--o)s[c++]=0;for(o=h.length;o>a;){if(s[--o]0?i=i.charAt(0)+"."+i.slice(1)+k(r):a>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(o<0?"e":"e+")+o):o<0?(i="0."+k(-o-1)+i,n&&(r=n-a)>0&&(i+=k(r))):o>=a?(i+=k(o+1-a),n&&(r=n-o-1)>0&&(i=i+"."+k(r))):((r=o+1)0&&(o+1===a&&(i+="."),i+=k(r))),t.s<0?"-"+i:i}function C(t,e){if(t.length>e)return t.length=e,!0}function N(t){if(!t||"object"!==typeof t)throw Error(s+"Object expected");var e,n,r,o=["precision",1,a,"rounding",0,8,"toExpNeg",-1/0,0,"toExpPos",0,1/0];for(e=0;e=o[e+1]&&r<=o[e+2]))throw Error(l+n+": "+r);this[n]=r}if(void 0!==(r=t[n="LN10"])){if(r!=Math.LN10)throw Error(l+n+": "+r);this[n]=new this(r)}return this}c=function t(e){var n,r,o;function i(t){var e=this;if(!(e instanceof i))return new i(t);if(e.constructor=i,t instanceof i)return e.s=t.s,e.e=t.e,void(e.d=(t=t.d)?t.slice():t);if("number"===typeof t){if(0*t!==0)throw Error(l+t);if(t>0)e.s=1;else{if(!(t<0))return e.s=0,e.e=0,void(e.d=[0]);t=-t,e.s=-1}return t===~~t&&t<1e7?(e.e=0,void(e.d=[t])):A(e,t.toString())}if("string"!==typeof t)throw Error(l+t);if(45===t.charCodeAt(0)?(t=t.slice(1),e.s=-1):e.s=1,!d.test(t))throw Error(l+t);A(e,t)}if(i.prototype=m,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=t,i.config=i.set=N,void 0===e&&(e={}),e)for(o=["precision","rounding","toExpNeg","toExpPos","LN10"],n=0;n0;)if(!n(t[o],e[o],r))return!1;return!0}function f(t,e,n,r){var o=t.size===e.size;if(o&&t.size){var i={};t.forEach((function(t,a){if(o){var c=!1,u=0;e.forEach((function(e,o){c||i[u]||(c=n(a,o,r)&&n(t,e,r))&&(i[u]=!0),u++})),o=c}}))}return o}var h="_owner",p=Function.prototype.bind.call(Function.prototype.call,Object.prototype.hasOwnProperty);function d(t,e,r,o){var i=n(t),c=i.length;if(n(e).length!==c)return!1;if(c)for(var u=void 0;c-- >0;){if((u=i[c])===h){var s=a(t),l=a(e);if((s||l)&&s!==l)return!1}if(!p(e,u)||!r(t[u],e[u],o))return!1}return!0}function y(t,e){return t.source===e.source&&t.global===e.global&&t.ignoreCase===e.ignoreCase&&t.multiline===e.multiline&&t.unicode===e.unicode&&t.sticky===e.sticky&&t.lastIndex===e.lastIndex}function v(t,e,n,r){var o=t.size===e.size;if(o&&t.size){var i={};t.forEach((function(t){if(o){var a=!1,c=0;e.forEach((function(e){a||i[c]||(a=n(t,e,r))&&(i[c]=!0),c++})),o=a}}))}return o}var g="function"===typeof Map,m="function"===typeof Set;function b(t){var e="function"===typeof t?t(n):n;function n(t,n,a){if(t===n)return!0;if(t&&n&&"object"===typeof t&&"object"===typeof n){if(o(t)&&o(n))return d(t,n,e,a);var c=Array.isArray(t),u=Array.isArray(n);return c||u?c===u&&l(t,n,e,a):(c=t instanceof Date,u=n instanceof Date,c||u?c===u&&r(t.getTime(),n.getTime()):(c=t instanceof RegExp,u=n instanceof RegExp,c||u?c===u&&y(t,n):i(t)||i(n)?t===n:g&&(c=t instanceof Map,u=n instanceof Map,c||u)?c===u&&f(t,n,e,a):m&&(c=t instanceof Set,u=n instanceof Set,c||u)?c===u&&v(t,n,e,a):d(t,n,e,a)))}return t!==t&&n!==n}return n}var x=b(),w=b((function(){return r})),O=b(s()),_=b(s(r));t.circularDeepEqual=O,t.circularShallowEqual=_,t.createCustomEqual=b,t.deepEqual=x,t.sameValueZeroEqual=r,t.shallowEqual=w,Object.defineProperty(t,"__esModule",{value:!0})}(e)},27063:function(t){t.exports=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}},75142:function(t){t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n-1}},73923:function(t){t.exports=function(t,e,n){for(var r=-1,o=null==t?0:t.length;++r0&&i(l)?n>1?t(l,n-1,i,a,c):r(c,l):a||(c[c.length]=l)}return c}},93534:function(t){t.exports=function(t,e){return t>e}},57523:function(t,e,n){var r=n(13413),o=n(64765),i=n(18687);t.exports=function(t,e,n){return e===e?i(t,e,n):r(t,o,n)}},64765:function(t){t.exports=function(t){return t!==t}},34342:function(t){t.exports=function(t,e){return to?0:o+e),(n=n>o?o:n)<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;for(var i=Array(o);++r=200){var y=e?null:c(t);if(y)return u(y);h=!1,l=a,d=new r}else d=e?[]:p;t:for(;++s=o?t:r(t,e,n)}},55438:function(t,e,n){var r=n(82913);t.exports=function(t,e){if(t!==e){var n=void 0!==t,o=null===t,i=t===t,a=r(t),c=void 0!==e,u=null===e,s=e===e,l=r(e);if(!u&&!l&&!a&&t>e||a&&c&&s&&!u&&!l||o&&c&&s||!n&&s||!i)return 1;if(!o&&!a&&!l&&t=u?s:s*("desc"==n[o]?-1:1)}return t.index-e.index}},88290:function(t,e,n){var r=n(57423),o=n(63919),i=n(95747),a=n(73865);t.exports=function(t){return function(e){e=a(e);var n=o(e)?i(e):void 0,c=n?n[0]:e.charAt(0),u=n?r(n,1).join(""):e.slice(1);return c[t]()+u}}},45711:function(t,e,n){var r=n(60664),o=n(20196),i=n(88405);t.exports=function(t){return function(e,n,a){var c=Object(e);if(!o(e)){var u=r(n,3);e=i(e),n=function(t){return u(c[t],t,c)}}var s=t(e,n,a);return s>-1?c[u?e[s]:s]:void 0}}},24013:function(t,e,n){var r=n(14817),o=n(33009),i=n(37463);t.exports=function(t){return function(e,n,a){return a&&"number"!=typeof a&&o(e,n,a)&&(n=a=void 0),e=i(e),void 0===n?(n=e,e=0):n=i(n),a=void 0===a?e0){if(++n>=800)return arguments[0]}else n=0;return t.apply(void 0,arguments)}}},18687:function(t){t.exports=function(t,e,n){for(var r=n-1,o=t.length;++r=e||n<0||v&&t-d>=l}function w(){var t=o();if(x(t))return O(t);h=setTimeout(w,function(t){var n=e-(t-p);return v?c(n,l-(t-d)):n}(t))}function O(t){return h=void 0,g&&u?m(t):(u=s=void 0,f)}function _(){var t=o(),n=x(t);if(u=arguments,s=this,p=t,n){if(void 0===h)return b(p);if(v)return clearTimeout(h),h=setTimeout(w,e),m(p)}return void 0===h&&(h=setTimeout(w,e)),f}return e=i(e)||0,r(n)&&(y=!!n.leading,l=(v="maxWait"in n)?a(i(n.maxWait)||0,e):l,g="trailing"in n?!!n.trailing:g),_.cancel=function(){void 0!==h&&clearTimeout(h),d=0,u=p=s=h=void 0},_.flush=function(){return void 0===h?f:O(o())},_}},69087:function(t,e,n){var r=n(75142),o=n(32980),i=n(60664),a=n(85809),c=n(33009);t.exports=function(t,e,n){var u=a(t)?r:o;return n&&c(t,e,n)&&(e=void 0),u(t,i(e,3))}},36312:function(t,e,n){var r=n(45711)(n(68650));t.exports=r},68650:function(t,e,n){var r=n(13413),o=n(60664),i=n(51522),a=Math.max;t.exports=function(t,e,n){var c=null==t?0:t.length;if(!c)return-1;var u=null==n?0:i(n);return u<0&&(u=a(c+u,0)),r(t,o(e,3),u)}},78538:function(t,e,n){var r=n(74338),o=n(2251);t.exports=function(t,e){return r(o(t,e),1)}},2130:function(t,e,n){var r=n(28485),o=n(30135);t.exports=function(t){return!0===t||!1===t||o(t)&&"[object Boolean]"==r(t)}},40386:function(t,e,n){var r=n(3374);t.exports=function(t){return r(t)&&t!=+t}},85686:function(t){t.exports=function(t){return null==t}},3374:function(t,e,n){var r=n(28485),o=n(30135);t.exports=function(t){return"number"==typeof t||o(t)&&"[object Number]"==r(t)}},64364:function(t,e,n){var r=n(28485),o=n(85809),i=n(30135);t.exports=function(t){return"string"==typeof t||!o(t)&&i(t)&&"[object String]"==r(t)}},63816:function(t){t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},2251:function(t,e,n){var r=n(56573),o=n(60664),i=n(62019),a=n(85809);t.exports=function(t,e){return(a(t)?r:i)(t,o(e,3))}},89493:function(t,e,n){var r=n(76660),o=n(55410),i=n(60664);t.exports=function(t,e){var n={};return e=i(e,3),o(t,(function(t,o,i){r(n,o,e(t,o,i))})),n}},98398:function(t,e,n){var r=n(51296),o=n(93534),i=n(10733);t.exports=function(t){return t&&t.length?r(t,i,o):void 0}},71441:function(t,e,n){var r=n(51296),o=n(34342),i=n(10733);t.exports=function(t){return t&&t.length?r(t,i,o):void 0}},79930:function(t){t.exports=function(){}},48905:function(t,e,n){var r=n(81683);t.exports=function(){return r.Date.now()}},7e3:function(t,e,n){var r=n(24013)();t.exports=r},34663:function(t,e,n){var r=n(63190),o=n(60664),i=n(6122),a=n(85809),c=n(33009);t.exports=function(t,e,n){var u=a(t)?r:i;return n&&c(t,e,n)&&(e=void 0),u(t,o(e,3))}},58850:function(t,e,n){var r=n(74338),o=n(53161),i=n(818),a=n(33009),c=i((function(t,e){if(null==t)return[];var n=e.length;return n>1&&a(t,e[0],e[1])?e=[]:n>2&&a(e[0],e[1],e[2])&&(e=[e[0]]),o(t,r(e,1),[])}));t.exports=c},94116:function(t,e,n){var r=n(3143),o=n(74216);t.exports=function(t,e,n){var i=!0,a=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return o(n)&&(i="leading"in n?!!n.leading:i,a="trailing"in n?!!n.trailing:a),r(t,e,{leading:i,maxWait:e,trailing:a})}},37463:function(t,e,n){var r=n(9962),o=1/0;t.exports=function(t){return t?(t=r(t))===o||t===-1/0?17976931348623157e292*(t<0?-1:1):t===t?t:0:0===t?t:0}},51522:function(t,e,n){var r=n(37463);t.exports=function(t){var e=r(t),n=e%1;return e===e?n?e-n:e:0}},9962:function(t,e,n){var r=n(93076),o=n(74216),i=n(82913),a=/^[-+]0x[0-9a-f]+$/i,c=/^0b[01]+$/i,u=/^0o[0-7]+$/i,s=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(i(t))return NaN;if(o(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=o(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=r(t);var n=c.test(t);return n||u.test(t)?s(t.slice(2),n?2:8):a.test(t)?NaN:+t}},80213:function(t,e,n){var r=n(60664),o=n(55104);t.exports=function(t,e){return t&&t.length?o(t,r(e,2)):[]}},54088:function(t,e,n){var r=n(88290)("toUpperCase");t.exports=r},82545:function(t){(function(){var e,n,r,o,i,a;"undefined"!==typeof performance&&null!==performance&&performance.now?t.exports=function(){return performance.now()}:"undefined"!==typeof process&&null!==process&&process.hrtime?(t.exports=function(){return(e()-i)/1e6},n=process.hrtime,o=(e=function(){var t;return 1e9*(t=n())[0]+t[1]})(),a=1e9*process.uptime(),i=o-a):Date.now?(t.exports=function(){return Date.now()-r},r=Date.now()):(t.exports=function(){return(new Date).getTime()-r},r=(new Date).getTime())}).call(this)},30396:function(t,e,n){for(var r=n(82545),o="undefined"===typeof window?n.g:window,i=["moz","webkit"],a="AnimationFrame",c=o["request"+a],u=o["cancel"+a]||o["cancelRequest"+a],s=0;!c&&s=e||n<0||f&&t-s>=i}function v(){var t=q();if(y(t))return g(t);c=setTimeout(v,function(t){var n=e-(t-u);return f?X(n,i-(t-s)):n}(t))}function g(t){return c=void 0,h&&r?p(t):(r=o=void 0,a)}function m(){var t=q(),n=y(t);if(r=arguments,o=this,u=t,n){if(void 0===c)return d(u);if(f)return clearTimeout(c),c=setTimeout(v,e),p(u)}return void 0===c&&(c=setTimeout(v,e)),a}return e=Z(e)||0,G(n)&&(l=!!n.leading,i=(f="maxWait"in n)?Y(Z(n.maxWait)||0,e):i,h="trailing"in n?!!n.trailing:h),m.cancel=function(){void 0!==c&&clearTimeout(c),s=0,r=u=o=c=void 0},m.flush=function(){return void 0===c?a:g(q())},m},K=$,J=y;var Q=function(t,e,n){var r=!0,o=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return J(n)&&(r="leading"in n?!!n.leading:r,o="trailing"in n?!!n.trailing:o),K(t,e,{leading:r,maxWait:e,trailing:o})},tt=function(t,e,n,r){switch(e){case"debounce":return $(t,n,r);case"throttle":return Q(t,n,r);default:return t}},et=function(t){return"function"===typeof t},nt=function(){return"undefined"===typeof window},rt=function(t){return t instanceof Element||t instanceof HTMLDocument},ot=function(t,e,n,r){return function(o){var i=o.width,a=o.height;e((function(e){return e.width===i&&e.height===a||e.width===i&&!r||e.height===a&&!n?e:(t&&et(t)&&t(i,a),{width:i,height:a})}))}},it=function(t){function e(e){var n=t.call(this,e)||this;n.cancelHandler=function(){n.resizeHandler&&n.resizeHandler.cancel&&(n.resizeHandler.cancel(),n.resizeHandler=null)},n.attachObserver=function(){var t=n.props,e=t.targetRef,r=t.observerOptions;if(!nt()){e&&e.current&&(n.targetRef.current=e.current);var o=n.getElement();o&&(n.observableElement&&n.observableElement===o||(n.observableElement=o,n.resizeObserver.observe(o,r)))}},n.getElement=function(){var t=n.props,e=t.querySelector,r=t.targetDomEl;if(nt())return null;if(e)return document.querySelector(e);if(r&&rt(r))return r;if(n.targetRef&&rt(n.targetRef.current))return n.targetRef.current;var o=i.findDOMNode(n);if(!o)return null;switch(n.getRenderType()){case"renderProp":case"childFunction":case"child":case"childArray":return o;default:return o.parentElement}},n.createResizeHandler=function(t){var e=n.props,r=e.handleWidth,o=void 0===r||r,i=e.handleHeight,a=void 0===i||i,c=e.onResize;if(o||a){var u=ot(c,n.setState.bind(n),o,a);t.forEach((function(t){var e=t&&t.contentRect||{},r=e.width,o=e.height;!n.skipOnMount&&!nt()&&u({width:r,height:o}),n.skipOnMount=!1}))}},n.getRenderType=function(){var t=n.props,e=t.render,r=t.children;return et(e)?"renderProp":et(r)?"childFunction":o.isValidElement(r)?"child":Array.isArray(r)?"childArray":"parent"};var r=e.skipOnMount,a=e.refreshMode,c=e.refreshRate,s=void 0===c?1e3:c,l=e.refreshOptions;return n.state={width:void 0,height:void 0},n.skipOnMount=r,n.targetRef=o.createRef(),n.observableElement=null,nt()||(n.resizeHandler=tt(n.createResizeHandler,a,s,l),n.resizeObserver=new u.default(n.resizeHandler)),n}return f(e,t),e.prototype.componentDidMount=function(){this.attachObserver()},e.prototype.componentDidUpdate=function(){this.attachObserver()},e.prototype.componentWillUnmount=function(){nt()||(this.resizeObserver.disconnect(),this.cancelHandler())},e.prototype.render=function(){var t,e=this.props,n=e.render,r=e.children,i=e.nodeType,a=void 0===i?"div":i,c=this.state,u={width:c.width,height:c.height,targetRef:this.targetRef};switch(this.getRenderType()){case"renderProp":return n&&n(u);case"childFunction":return(t=r)(u);case"child":if((t=r).type&&"string"===typeof t.type){var l=p(u,["targetRef"]);return o.cloneElement(t,l)}return o.cloneElement(t,u);case"childArray":return(t=r).map((function(t){return!!t&&o.cloneElement(t,u)}));default:return s.createElement(a,null)}},e}(o.PureComponent);var at=nt()?o.useEffect:o.useLayoutEffect;e.ZP=it},97557:function(t,e,n){"use strict";n.d(e,{ZP:function(){return Et},bO:function(){return O}});var r=n(50390),o=n(70188),i=n.n(o),a=n(70039),c=n(30396),u=n.n(c);function s(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=-1,r=function r(o){n<0&&(n=o),o-n>e?(t(o),n=-1):u()(r)};u()(r)}function l(t){return l="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},l(t)}function f(t){return function(t){if(Array.isArray(t))return t}(t)||function(t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"===typeof t)return h(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return h(t,e)}(t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0&&t<=1}));var l=T(r,i),f=T(o,a),h=C(r,i),p=function(t){return t>1?1:t<0?0:t},d=function(t){for(var e=t>1?1:t,n=e,r=0;r<8;++r){var o=l(n)-e,i=h(n);if(Math.abs(o-e)0&&void 0!==arguments[0]?arguments[0]:{},e=t.stiff,n=void 0===e?100:e,r=t.damping,o=void 0===r?8:r,i=t.dt,a=void 0===i?17:i,c=function(t,e,r){var i=r+(-(t-e)*n-r*o)*a/1e3,c=r*a/1e3+t;return Math.abs(c-e)t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function Y(t){return function(t){if(Array.isArray(t))return X(t)}(t)||function(t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"===typeof t)return X(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return X(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function X(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n0?n[o-1]:r,h=s||Object.keys(u);if("function"===typeof c||"spring"===c)return[].concat(Y(t),[e.runJSAnimation.bind(e,{from:f.style,to:u,duration:i,easing:c}),i]);var p=_(h,i,c),d=K(K(K({},f.style),u),{},{transition:p});return[].concat(Y(t),[d,i,l]).filter(x)}),[a,Math.max(u,r)])),[t.onAnimationEnd]))}},{key:"runAnimation",value:function(t){this.manager||(this.manager=p());var e=t.begin,n=t.duration,r=t.attributeName,o=t.to,i=t.easing,a=t.onAnimationStart,c=t.onAnimationEnd,u=t.steps,s=t.children,l=this.manager;if(this.unSubscribe=l.subscribe(this.handleStyleChange),"function"!==typeof i&&"function"!==typeof s&&"spring"!==i)if(u.length>1)this.runStepAnimation(t);else{var f=r?J({},r,o):o,h=_(Object.keys(f),n,i);l.start([a,e,K(K({},f),{},{transition:h}),n,c])}else this.runJSAnimation(t)}},{key:"handleStyleChange",value:function(t){this.changeStyle(t)}},{key:"changeStyle",value:function(t){this.mounted&&this.setState({style:t})}},{key:"render",value:function(){var t=this.props,e=t.children,n=(t.begin,t.duration,t.attributeName,t.easing,t.isActive),o=(t.steps,t.from,t.to,t.canBegin,t.onAnimationEnd,t.shouldReAnimate,t.onAnimationReStart,Z(t,["children","begin","duration","attributeName","easing","isActive","steps","from","to","canBegin","onAnimationEnd","shouldReAnimate","onAnimationReStart"])),i=r.Children.count(e),a=O(this.state.style);if("function"===typeof e)return e(a);if(!n||0===i)return e;var c=function(t){var e=t.props,n=e.style,i=void 0===n?{}:n,c=e.className;return(0,r.cloneElement)(t,K(K({},o),{},{style:K(K({},i),a),className:c}))};return 1===i?c(r.Children.only(e)):r.createElement("div",null,r.Children.map(e,(function(t){return c(t)})))}}],n&&Q(e.prototype,n),o&&Q(e,o),c}(r.PureComponent);it.displayName="Animate",it.propTypes={from:i().oneOfType([i().object,i().string]),to:i().oneOfType([i().object,i().string]),attributeName:i().string,duration:i().number,begin:i().number,easing:i().oneOfType([i().string,i().func]),steps:i().arrayOf(i().shape({duration:i().number.isRequired,style:i().object.isRequired,easing:i().oneOfType([i().oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),i().func]),properties:i().arrayOf("string"),onAnimationEnd:i().func})),children:i().oneOfType([i().node,i().func]),isActive:i().bool,canBegin:i().bool,onAnimationEnd:i().func,shouldReAnimate:i().bool,onAnimationStart:i().func,onAnimationReStart:i().func},it.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};var at=it,ct=n(84153);function ut(t){return ut="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ut(t)}function st(){return st=Object.assign||function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function ft(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ht(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},e=t.steps,n=t.duration;return e&&e.length?e.reduce((function(t,e){return t+(Number.isFinite(e.duration)&&e.duration>0?e.duration:0)}),0):Number.isFinite(n)?n:0},wt=function(t){!function(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&vt(t,e)}(a,t);var e,n,o,i=gt(a);function a(){var t;dt(this,a);for(var e=arguments.length,n=new Array(e),r=0;r=0||(o[n]=t[n]);return o}(t,["children","in"]),a=r.default.Children.toArray(e),c=a[0],u=a[1];return delete o.onEnter,delete o.onEntering,delete o.onEntered,delete o.onExit,delete o.onExiting,delete o.onExited,r.default.createElement(i.default,o,n?r.default.cloneElement(c,{key:"first",onEnter:this.handleEnter,onEntering:this.handleEntering,onEntered:this.handleEntered}):r.default.cloneElement(u,{key:"second",onEnter:this.handleExit,onEntering:this.handleExiting,onEntered:this.handleExited}))},a}(r.default.Component);c.propTypes={};var u=c;e.default=u,t.exports=e.default},14480:function(t,e,n){"use strict";e.__esModule=!0,e.default=e.EXITING=e.ENTERED=e.ENTERING=e.EXITED=e.UNMOUNTED=void 0;var r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(t,n):{};r.get||r.set?Object.defineProperty(e,n,r):e[n]=t[n]}return e.default=t,e}(n(70188)),o=c(n(50390)),i=c(n(86599)),a=n(19705);n(29149);function c(t){return t&&t.__esModule?t:{default:t}}var u="unmounted";e.UNMOUNTED=u;var s="exited";e.EXITED=s;var l="entering";e.ENTERING=l;var f="entered";e.ENTERED=f;var h="exiting";e.EXITING=h;var p=function(t){var e,n;function r(e,n){var r;r=t.call(this,e,n)||this;var o,i=n.transitionGroup,a=i&&!i.isMounting?e.enter:e.appear;return r.appearStatus=null,e.in?a?(o=s,r.appearStatus=l):o=f:o=e.unmountOnExit||e.mountOnEnter?u:s,r.state={status:o},r.nextCallback=null,r}n=t,(e=r).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n;var a=r.prototype;return a.getChildContext=function(){return{transitionGroup:null}},r.getDerivedStateFromProps=function(t,e){return t.in&&e.status===u?{status:s}:null},a.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},a.componentDidUpdate=function(t){var e=null;if(t!==this.props){var n=this.state.status;this.props.in?n!==l&&n!==f&&(e=l):n!==l&&n!==f||(e=h)}this.updateStatus(!1,e)},a.componentWillUnmount=function(){this.cancelNextCallback()},a.getTimeouts=function(){var t,e,n,r=this.props.timeout;return t=e=n=r,null!=r&&"number"!==typeof r&&(t=r.exit,e=r.enter,n=void 0!==r.appear?r.appear:e),{exit:t,enter:e,appear:n}},a.updateStatus=function(t,e){if(void 0===t&&(t=!1),null!==e){this.cancelNextCallback();var n=i.default.findDOMNode(this);e===l?this.performEnter(n,t):this.performExit(n)}else this.props.unmountOnExit&&this.state.status===s&&this.setState({status:u})},a.performEnter=function(t,e){var n=this,r=this.props.enter,o=this.context.transitionGroup?this.context.transitionGroup.isMounting:e,i=this.getTimeouts(),a=o?i.appear:i.enter;e||r?(this.props.onEnter(t,o),this.safeSetState({status:l},(function(){n.props.onEntering(t,o),n.onTransitionEnd(t,a,(function(){n.safeSetState({status:f},(function(){n.props.onEntered(t,o)}))}))}))):this.safeSetState({status:f},(function(){n.props.onEntered(t)}))},a.performExit=function(t){var e=this,n=this.props.exit,r=this.getTimeouts();n?(this.props.onExit(t),this.safeSetState({status:h},(function(){e.props.onExiting(t),e.onTransitionEnd(t,r.exit,(function(){e.safeSetState({status:s},(function(){e.props.onExited(t)}))}))}))):this.safeSetState({status:s},(function(){e.props.onExited(t)}))},a.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},a.safeSetState=function(t,e){e=this.setNextCallback(e),this.setState(t,e)},a.setNextCallback=function(t){var e=this,n=!0;return this.nextCallback=function(r){n&&(n=!1,e.nextCallback=null,t(r))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},a.onTransitionEnd=function(t,e,n){this.setNextCallback(n);var r=null==e&&!this.props.addEndListener;t&&!r?(this.props.addEndListener&&this.props.addEndListener(t,this.nextCallback),null!=e&&setTimeout(this.nextCallback,e)):setTimeout(this.nextCallback,0)},a.render=function(){var t=this.state.status;if(t===u)return null;var e=this.props,n=e.children,r=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(e,["children"]);if(delete r.in,delete r.mountOnEnter,delete r.unmountOnExit,delete r.appear,delete r.enter,delete r.exit,delete r.timeout,delete r.addEndListener,delete r.onEnter,delete r.onEntering,delete r.onEntered,delete r.onExit,delete r.onExiting,delete r.onExited,"function"===typeof n)return n(t,r);var i=o.default.Children.only(n);return o.default.cloneElement(i,r)},r}(o.default.Component);function d(){}p.contextTypes={transitionGroup:r.object},p.childContextTypes={transitionGroup:function(){}},p.propTypes={},p.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:d,onEntering:d,onEntered:d,onExit:d,onExiting:d,onExited:d},p.UNMOUNTED=0,p.EXITED=1,p.ENTERING=2,p.ENTERED=3,p.EXITING=4;var y=(0,a.polyfill)(p);e.default=y},64075:function(t,e,n){"use strict";e.__esModule=!0,e.default=void 0;var r=c(n(70188)),o=c(n(50390)),i=n(19705),a=n(95527);function c(t){return t&&t.__esModule?t:{default:t}}function u(){return u=Object.assign||function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,["component","childFactory"]),i=l(this.state.children).map(n);return delete r.appear,delete r.enter,delete r.exit,null===e?i:o.default.createElement(e,r,i)},r}(o.default.Component);f.childContextTypes={transitionGroup:r.default.object.isRequired},f.propTypes={},f.defaultProps={component:"div",childFactory:function(t){return t}};var h=(0,i.polyfill)(f);e.default=h,t.exports=e.default},84153:function(t,e,n){"use strict";var r=c(n(65024)),o=c(n(23218)),i=c(n(64075)),a=c(n(14480));function c(t){return t&&t.__esModule?t:{default:t}}t.exports={Transition:a.default,TransitionGroup:i.default,ReplaceTransition:o.default,CSSTransition:r.default}},95527:function(t,e,n){"use strict";e.__esModule=!0,e.getChildMapping=o,e.mergeChildMappings=i,e.getInitialChildMapping=function(t,e){return o(t.children,(function(n){return(0,r.cloneElement)(n,{onExited:e.bind(null,n),in:!0,appear:a(n,"appear",t),enter:a(n,"enter",t),exit:a(n,"exit",t)})}))},e.getNextChildMapping=function(t,e,n){var c=o(t.children),u=i(e,c);return Object.keys(u).forEach((function(o){var i=u[o];if((0,r.isValidElement)(i)){var s=o in e,l=o in c,f=e[o],h=(0,r.isValidElement)(f)&&!f.props.in;!l||s&&!h?l||!s||h?l&&s&&(0,r.isValidElement)(f)&&(u[o]=(0,r.cloneElement)(i,{onExited:n.bind(null,i),in:f.props.in,exit:a(i,"exit",t),enter:a(i,"enter",t)})):u[o]=(0,r.cloneElement)(i,{in:!1}):u[o]=(0,r.cloneElement)(i,{onExited:n.bind(null,i),in:!0,exit:a(i,"exit",t),enter:a(i,"enter",t)})}})),u};var r=n(50390);function o(t,e){var n=Object.create(null);return t&&r.Children.map(t,(function(t){return t})).forEach((function(t){n[t.key]=function(t){return e&&(0,r.isValidElement)(t)?e(t):t}(t)})),n}function i(t,e){function n(n){return n in e?e[n]:t[n]}t=t||{},e=e||{};var r,o=Object.create(null),i=[];for(var a in t)a in e?i.length&&(o[a]=i,i=[]):i.push(a);var c={};for(var u in e){if(o[u])for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function T(){return T=Object.assign||function(t){for(var e=1;e0||!o()(u,r)||!o()(s,i))?this.renderAreaWithAnimation(t,e):this.renderAreaStatically(r,i,t,e)}},{key:"render",value:function(){var t=this.props,e=t.hide,n=t.dot,r=t.points,o=t.className,i=t.top,a=t.left,c=t.xAxis,u=t.yAxis,s=t.width,l=t.height,f=t.isAnimationActive,h=t.id;if(e||!r||!r.length)return null;var p=this.state.isAnimationFinished,y=1===r.length,v=b()("recharts-area",o),m=c&&c.allowDataOverflow||u&&u.allowDataOverflow,x=d()(h)?this.id:h;return g.createElement(_.m,{className:v},m?g.createElement("defs",null,g.createElement("clipPath",{id:"clipPath-".concat(x)},g.createElement("rect",{x:a,y:i,width:s,height:Math.floor(l)}))):null,y?null:this.renderArea(m,x),(n||y)&&this.renderDots(m,x),(!f||p)&&E.e.renderCallByParent(this.props,r))}}])&&R(e.prototype,n),r&&R(e,r),c}(g.PureComponent);z.displayName="Area",z.defaultProps={stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!S.x.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"},z.getBaseValue=function(t,e,n){var r=t.layout,o=t.baseValue;if((0,k.hj)(o)&&"number"===typeof o)return o;var i="horizontal"===r?n:e,a=i.scale.domain();if("number"===i.type){var c=Math.max(a[0],a[1]),u=Math.min(a[0],a[1]);return"dataMin"===o?u:"dataMax"===o||c<0?c:Math.max(Math.min(a[0],a[1]),0)}return"dataMin"===o?a[0]:"dataMax"===o?a[1]:a[0]},z.getComposedData=function(t){var e,n=t.props,r=t.xAxis,o=t.yAxis,i=t.xAxisTicks,a=t.yAxisTicks,c=t.bandSize,u=t.dataKey,s=t.stackedData,l=t.dataStartIndex,f=t.displayedData,p=t.offset,y=n.layout,g=s&&s.length,m=z.getBaseValue(n,r,o),b=!1,x=f.map((function(t,e){var n,f=(0,j.F$)(t,u);g?n=s[l+e]:(n=f,v()(n)?b=!0:n=[m,n]);var h=d()(n[1])||g&&d()(f);return"horizontal"===y?{x:(0,j.Hv)({axis:r,ticks:i,bandSize:c,entry:t,index:e}),y:h?null:o.scale(n[1]),value:n,payload:t}:{x:h?null:r.scale(n[1]),y:(0,j.Hv)({axis:o,ticks:a,bandSize:c,entry:t,index:e}),value:n,payload:t}}));return e=g||b?x.map((function(t){return"horizontal"===y?{x:t.x,y:d()(h()(t,"value[0]"))||d()(h()(t,"y"))?null:o.scale(h()(t,"value[0]"))}:{x:d()(h()(t,"value[0]"))?null:r.scale(h()(t,"value[0]")),y:t.y}})):"horizontal"===y?o.scale(m):r.scale(m),N({points:x,baseLine:e,layout:y,isRange:b},p)},z.renderDotItem=function(t,e){return g.isValidElement(t)?g.cloneElement(t,e):l()(t)?t(e):g.createElement(O.o,T({},e,{className:"recharts-area-dot"}))}},84930:function(t,e,n){"use strict";n.d(e,{q:function(){return x}});var r=n(66071),o=n.n(r),i=n(50390),a=n(30631),c=n(54183);function u(t){return u="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},u(t)}function s(){return s=Object.assign||function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function f(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function h(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function rt(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ot(t,e){for(var n=0;n=2?(0,T.uY)(v[1].coordinate-v[0].coordinate):1;if(1===b?(n="width"===y?f:h,r="width"===y?f+p:h+d):(n="width"===y?f+p:h+d,r="width"===y?f:h),e){var x=o[m-1],w=u()(i)?i(x.value,m-1):x.value,O=(0,Z.xE)(w)[y]+g,_=b*(x.coordinate+b*O/2-r);v[m-1]=x=tt(tt({},x),{},{tickCoord:_>0?x.coordinate-_*b:x.coordinate}),b*(x.tickCoord-b*O/2-n)>=0&&b*(x.tickCoord+b*O/2-r)<=0&&(r=x.tickCoord-b*(O/2+s),v[m-1]=tt(tt({},x),{},{isShow:!0}))}for(var E=e?m-1:m,S=0;S=0&&b*(k.tickCoord+b*A/2-r)<=0&&(n=k.tickCoord+b*(A/2+s),v[S]=tt(tt({},k),{},{isShow:!0}))}return v.filter((function(t){return t.isShow}))}},{key:"getTicksEnd",value:function(t){var e,n,r=t.ticks,o=t.tickFormatter,i=t.viewBox,a=t.orientation,c=t.minTickGap,s=t.unit,l=i.x,f=i.y,h=i.width,p=i.height,d="top"===a||"bottom"===a?"width":"height",y=s&&"width"===d?(0,Z.xE)(s)[d]:0,v=(r||[]).slice(),g=v.length,m=g>=2?(0,T.uY)(v[1].coordinate-v[0].coordinate):1;1===m?(e="width"===d?l:f,n="width"===d?l+h:f+p):(e="width"===d?l+h:f+p,n="width"===d?l:f);for(var b=g-1;b>=0;b--){var x=v[b],w=u()(o)?o(x.value,g-b-1):x.value,O=(0,Z.xE)(w)[d]+y;if(b===g-1){var _=m*(x.coordinate+m*O/2-n);v[b]=x=tt(tt({},x),{},{tickCoord:_>0?x.coordinate-_*m:x.coordinate})}else v[b]=x=tt(tt({},x),{},{tickCoord:x.coordinate});m*(x.tickCoord-m*O/2-e)>=0&&m*(x.tickCoord+m*O/2-n)<=0&&(n=x.tickCoord-m*(O/2+c),v[b]=tt(tt({},x),{},{isShow:!0}))}return v.filter((function(t){return t.isShow}))}},{key:"renderTickItem",value:function(t,e,n){return _.isValidElement(t)?_.cloneElement(t,e):u()(t)?t(e):_.createElement(Y.x,J({},e,{className:"recharts-cartesian-axis-tick-value"}),n)}}],(n=[{key:"shouldComponentUpdate",value:function(t){var e=t.viewBox,n=nt(t,["viewBox"]),r=this.props,o=r.viewBox,i=nt(r,["viewBox"]);return!(0,q.w)(e,o)||!(0,q.w)(n,i)}},{key:"getTickLineCoord",value:function(t){var e,n,r,o,i,a,c=this.props,u=c.x,s=c.y,l=c.width,f=c.height,h=c.orientation,p=c.tickSize,d=c.mirror,y=c.tickMargin,v=d?-1:1,g=t.tickSize||p,m=(0,T.hj)(t.tickCoord)?t.tickCoord:t.coordinate;switch(h){case"top":e=n=t.coordinate,a=(r=(o=s+ +!d*f)-v*g)-v*y,i=m;break;case"left":r=o=t.coordinate,i=(e=(n=u+ +!d*l)-v*g)-v*y,a=m;break;case"right":r=o=t.coordinate,i=(e=(n=u+ +d*l)+v*g)+v*y,a=m;break;default:e=n=t.coordinate,a=(r=(o=s+ +d*f)+v*g)+v*y,i=m}return{line:{x1:e,y1:r,x2:n,y2:o},tick:{x:i,y:a}}}},{key:"getTickTextAnchor",value:function(){var t,e=this.props,n=e.orientation,r=e.mirror;switch(n){case"left":t=r?"start":"end";break;case"right":t=r?"end":"start";break;default:t="middle"}return t}},{key:"getTickVerticalAnchor",value:function(){var t=this.props,e=t.orientation,n=t.mirror,r="end";switch(e){case"left":case"right":r="middle";break;case"top":r=n?"start":"end";break;default:r=n?"end":"start"}return r}},{key:"renderAxisLine",value:function(){var t=this.props,e=t.x,n=t.y,r=t.width,o=t.height,i=t.orientation,a=t.mirror,c=t.axisLine,u=tt(tt(tt({},(0,C.L6)(this.props)),(0,C.L6)(c)),{},{fill:"none"});if("top"===i||"bottom"===i){var s=+("top"===i&&!a||"bottom"===i&&a);u=tt(tt({},u),{},{x1:e,y1:n+s*o,x2:e+r,y2:n+s*o})}else{var l=+("left"===i&&!a||"right"===i&&a);u=tt(tt({},u),{},{x1:e+l*r,y1:n,x2:e+l*r,y2:n+o})}return _.createElement("line",J({},u,{className:S()("recharts-cartesian-axis-line",d()(c,"className"))}))}},{key:"renderTicks",value:function(t){var e=this,n=this.props,r=n.tickLine,o=n.stroke,a=n.tick,c=n.tickFormatter,s=n.unit,l=i.getTicks(tt(tt({},this.props),{},{ticks:t})),f=this.getTickTextAnchor(),h=this.getTickVerticalAnchor(),p=(0,C.L6)(this.props),y=(0,C.L6)(a),v=tt(tt({},p),{},{fill:"none"},(0,C.L6)(r)),g=l.map((function(t,n){var g=e.getTickLineCoord(t),m=g.line,b=g.tick,x=tt(tt(tt(tt({textAnchor:f,verticalAnchor:h},p),{},{stroke:"none",fill:o},y),b),{},{index:n,payload:t,visibleTicksCount:l.length,tickFormatter:c});return _.createElement(j.m,J({className:"recharts-cartesian-axis-tick",key:"tick-".concat(n)},(0,C.bw)(e.props,t,n)),r&&_.createElement("line",J({},v,m,{className:S()("recharts-cartesian-axis-tick-line",d()(r,"className"))})),a&&i.renderTickItem(a,x,"".concat(u()(c)?c(t.value,n):t.value).concat(s||"")))}));return _.createElement("g",{className:"recharts-cartesian-axis-ticks"},g)}},{key:"render",value:function(){var t=this.props,e=t.axisLine,n=t.width,r=t.height,o=t.ticksGenerator,i=t.className;if(t.hide)return null;var a=this.props,c=a.ticks,s=nt(a,["ticks"]),l=c;return u()(o)&&(l=c&&c.length>0?o(this.props):o(s)),n<=0||r<=0||!l||!l.length?null:_.createElement(j.m,{className:S()("recharts-cartesian-axis",i)},e&&this.renderAxisLine(),this.renderTicks(l),X._.renderCallByParent(this.props))}}])&&ot(e.prototype,n),r&&ot(e,r),i}(_.Component);st.displayName="CartesianAxis",st.defaultProps={x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"};var lt=n(64868),ft=n(46154);function ht(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function pt(t){for(var e=1;e0&&e.handleDrag(t.changedTouches[0])},e.handleDragEnd=function(){e.setState({isTravellerMoving:!1,isSlideMoving:!1}),e.detachDragEndListener()},e.handleLeaveWrapper=function(){(e.state.isTravellerMoving||e.state.isSlideMoving)&&(e.leaveTimer=window.setTimeout(e.handleDragEnd,e.props.leaveTimeOut))},e.handleEnterSlideOrTraveller=function(){e.setState({isTextActive:!0})},e.handleLeaveSlideOrTraveller=function(){e.setState({isTextActive:!1})},e.handleSlideDragStart=function(t){var n=jt(t)?t.changedTouches[0]:t;e.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:n.pageX}),e.attachDragEndListener()},e.travellerDragStartHandlers={startX:e.handleTravellerDragStart.bind(St(e),"startX"),endX:e.handleTravellerDragStart.bind(St(e),"endX")},e.state={},e}return e=i,r=[{key:"renderDefaultTraveller",value:function(t){var e=t.x,n=t.y,r=t.width,o=t.height,i=t.stroke,a=Math.floor(n+o/2)-1;return _.createElement(_.Fragment,null,_.createElement("rect",{x:e,y:n,width:r,height:o,fill:i,stroke:"none"}),_.createElement("line",{x1:e+1,y1:a,x2:e+r-1,y2:a,fill:"none",stroke:"#fff"}),_.createElement("line",{x1:e+1,y1:a+2,x2:e+r-1,y2:a+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(t,e){return _.isValidElement(t)?_.cloneElement(t,e):u()(t)?t(e):i.renderDefaultTraveller(e)}},{key:"getDerivedStateFromProps",value:function(t,e){var n=t.data,r=t.width,o=t.x,i=t.travellerWidth,a=t.updateId,c=t.startIndex,u=t.endIndex;if(n!==e.prevData||a!==e.prevUpdateId)return bt({prevData:n,prevTravellerWidth:i,prevUpdateId:a,prevX:o,prevWidth:r},n&&n.length?function(t){var e=t.data,n=t.startIndex,r=t.endIndex,o=t.x,i=t.width,a=t.travellerWidth;if(!e||!e.length)return{};var c=e.length,u=(0,lt.x)().domain(v()(0,c)).range([o,o+i-a]),s=u.domain().map((function(t){return u(t)}));return{isTextActive:!1,isSlideMoving:!1,isTravellerMoving:!1,startX:u(n),endX:u(r),scale:u,scaleValues:s}}({data:n,width:r,x:o,travellerWidth:i,startIndex:c,endIndex:u}):{scale:null,scaleValues:null});if(e.scale&&(r!==e.prevWidth||o!==e.prevX||i!==e.prevTravellerWidth)){e.scale.range([o,o+r-i]);var s=e.scale.domain().map((function(t){return e.scale(t)}));return{prevData:n,prevTravellerWidth:i,prevUpdateId:a,prevX:o,prevWidth:r,startX:e.scale(t.startIndex),endX:e.scale(t.endIndex),scaleValues:s}}return null}},{key:"getIndexInRange",value:function(t,e){for(var n=0,r=t.length-1;r-n>1;){var o=Math.floor((n+r)/2);t[o]>e?r=o:n=o}return e>=t[r]?r:n}}],(n=[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(t){var e=t.startX,n=t.endX,r=this.state.scaleValues,o=this.props,a=o.gap,c=o.data.length-1,u=Math.min(e,n),s=Math.max(e,n),l=i.getIndexInRange(r,u),f=i.getIndexInRange(r,s);return{startIndex:l-l%a,endIndex:f===c?c:f-f%a}}},{key:"getTextOfTick",value:function(t){var e=this.props,n=e.data,r=e.tickFormatter,o=e.dataKey,i=(0,ft.F$)(n[t],o,t);return u()(r)?r(i,t):i}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0)}},{key:"handleSlideDrag",value:function(t){var e=this.state,n=e.slideMoveStartX,r=e.startX,o=e.endX,i=this.props,a=i.x,c=i.width,u=i.travellerWidth,s=i.startIndex,l=i.endIndex,f=i.onChange,h=t.pageX-n;h>0?h=Math.min(h,a+c-u-o,a+c-u-r):h<0&&(h=Math.max(h,a-r,a-o));var p=this.getIndex({startX:r+h,endX:o+h});p.startIndex===s&&p.endIndex===l||!f||f(p),this.setState({startX:r+h,endX:o+h,slideMoveStartX:t.pageX})}},{key:"handleTravellerDragStart",value:function(t,e){var n=jt(e)?e.changedTouches[0]:e;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:t,brushMoveStartX:n.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(t){var e,n=this.state,r=n.brushMoveStartX,o=n.movingTravellerId,i=n.endX,a=n.startX,c=this.state[o],u=this.props,s=u.x,l=u.width,f=u.travellerWidth,h=u.onChange,p=u.gap,d=u.data,y={startX:this.state.startX,endX:this.state.endX},v=t.pageX-r;v>0?v=Math.min(v,s+l-f-c):v<0&&(v=Math.max(v,s-c)),y[o]=c+v;var g=this.getIndex(y),m=g.startIndex,b=g.endIndex;this.setState((xt(e={},o,c+v),xt(e,"brushMoveStartX",t.pageX),e),(function(){h&&function(){var t=d.length-1;return"startX"===o&&(i>a?m%p===0:b%p===0)||ia?b%p===0:m%p===0)||i>a&&b===t}()&&h(g)}))}},{key:"renderBackground",value:function(){var t=this.props,e=t.x,n=t.y,r=t.width,o=t.height,i=t.fill,a=t.stroke;return _.createElement("rect",{stroke:a,fill:i,x:e,y:n,width:r,height:o})}},{key:"renderPanorama",value:function(){var t=this.props,e=t.x,n=t.y,r=t.width,o=t.height,i=t.data,a=t.children,c=t.padding,u=_.Children.only(a);return u?_.cloneElement(u,{x:e,y:n,width:r,height:o,margin:c,compact:!0,data:i}):null}},{key:"renderTravellerLayer",value:function(t,e){var n=this.props,r=n.y,o=n.travellerWidth,a=n.height,c=n.traveller,u=Math.max(t,this.props.x),s=bt(bt({},(0,C.L6)(this.props)),{},{x:u,y:r,width:o,height:a});return _.createElement(j.m,{className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[e],onTouchStart:this.travellerDragStartHandlers[e],style:{cursor:"col-resize"}},i.renderTraveller(c,s))}},{key:"renderSlide",value:function(t,e){var n=this.props,r=n.y,o=n.height,i=n.stroke,a=n.travellerWidth,c=Math.min(t,e)+a,u=Math.max(Math.abs(e-t)-a,0);return _.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:i,fillOpacity:.2,x:c,y:r,width:u,height:o})}},{key:"renderText",value:function(){var t=this.props,e=t.startIndex,n=t.endIndex,r=t.y,o=t.height,i=t.travellerWidth,a=t.stroke,c=this.state,u=c.startX,s=c.endX,l={pointerEvents:"none",fill:a};return _.createElement(j.m,{className:"recharts-brush-texts"},_.createElement(Y.x,gt({textAnchor:"end",verticalAnchor:"middle",x:Math.min(u,s)-5,y:r+o/2},l),this.getTextOfTick(e)),_.createElement(Y.x,gt({textAnchor:"start",verticalAnchor:"middle",x:Math.max(u,s)+i+5,y:r+o/2},l),this.getTextOfTick(n)))}},{key:"render",value:function(){var t=this.props,e=t.data,n=t.className,r=t.children,o=t.x,i=t.y,a=t.width,c=t.height,u=t.alwaysShowText,s=this.state,l=s.startX,f=s.endX,h=s.isTextActive,p=s.isSlideMoving,d=s.isTravellerMoving;if(!e||!e.length||!(0,T.hj)(o)||!(0,T.hj)(i)||!(0,T.hj)(a)||!(0,T.hj)(c)||a<=0||c<=0)return null;var y=S()("recharts-brush",n),v=1===_.Children.count(r),g=function(t,e){if(!t)return null;var n=t.replace(/(\w)/,(function(t){return t.toUpperCase()})),r=yt.reduce((function(t,r){return pt(pt({},t),{},dt({},r+n,e))}),{});return r[t]=e,r}("userSelect","none");return _.createElement(j.m,{className:y,onMouseMove:this.handleDrag,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:g},this.renderBackground(),v&&this.renderPanorama(),this.renderSlide(l,f),this.renderTravellerLayer(l,"startX"),this.renderTravellerLayer(f,"endX"),(h||p||d||u)&&this.renderText())}}])&&wt(e.prototype,n),r&&wt(e,r),i}(_.PureComponent);At.displayName="Brush",At.defaultProps={height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1};var Mt=function(t,e){var n=t.alwaysShow,r=t.ifOverflow;return n&&(r="extendDomain"),r===e},Pt=n(49773),Tt=n(17818);function Ct(){return Ct=Object.assign||function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function ae(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n0?a:n&&n.props&&n.props.data&&n.props.data.length>0?n.props.data:t&&t.length&&(0,T.hj)(o)&&(0,T.hj)(i)?t.slice(o,i+1):[]},Ee=function(t,e,n,r){var o=t.graphicalItems,i=t.tooltipAxis,a=_e(e,t);return n<0||!o||!o.length||n>=a.length?null:o.reduce((function(t,e){if(e.props.hide)return t;var o,c=e.props.data;if(i.dataKey&&!i.allowDuplicatedCategory){var u=void 0===c?a:c;o=(0,T.Ap)(u,i.dataKey,r)}else o=c&&c[n]||a[n];return o?[].concat(he(t),[(0,ft.Qo)(e,o)]):t}),[])},Se=function(t,e,n,r){var o=r||{x:t.chartX,y:t.chartY},i=function(t,e){return"horizontal"===e?t.x:"vertical"===e?t.y:"centric"===e?t.angle:t.radius}(o,n),a=t.orderedTooltipTicks,c=t.tooltipAxis,u=t.tooltipTicks,s=(0,ft.VO)(i,a,u,c);if(s>=0&&u){var l=u[s]&&u[s].value,f=Ee(t,e,s,l),h=function(t,e,n,r){var o=e.find((function(t){return t&&t.index===n}));if(o){if("horizontal"===t)return{x:o.coordinate,y:r.y};if("vertical"===t)return{x:r.x,y:o.coordinate};if("centric"===t){var i=o.coordinate,a=r.radius;return ve(ve(ve({},r),(0,Jt.op)(r.cx,r.cy,a,i)),{},{angle:i,radius:a})}var c=o.coordinate,u=r.angle;return ve(ve(ve({},r),(0,Jt.op)(r.cx,r.cy,c,u)),{},{angle:u,radius:c})}return be}(n,a,s,o);return{activeTooltipIndex:s,activeLabel:l,activePayload:f,activeCoordinate:h}}return null},ke=function(t,e){var n=e.axisType,r=void 0===n?"xAxis":n,o=e.AxisComp,i=e.graphicalItems,a=e.stackGroups,c=e.dataStartIndex,u=e.dataEndIndex,s=t.children,l="".concat(r,"Id"),f=(0,G.NN)(s,o),h={};return f&&f.length?h=function(t,e){var n=e.axes,r=e.graphicalItems,o=e.axisType,i=e.axisIdKey,a=e.stackGroups,c=e.dataStartIndex,u=e.dataEndIndex,s=t.layout,l=t.children,f=t.stackOffset,h=(0,ft.NA)(s,o);return n.reduce((function(e,n){var p=n.props,d=p.type,y=p.dataKey,g=p.allowDataOverflow,b=p.allowDuplicatedCategory,x=p.scale,w=p.ticks,O=n.props[i],_=_e(t.data,{graphicalItems:r.filter((function(t){return t.props[i]===O})),dataStartIndex:c,dataEndIndex:u}),E=_.length;if(!e[O]){var S,k,j;if(y){if(S=(0,ft.gF)(_,y,d),"category"===d&&h){var A=(0,T.bv)(S);b&&A?(k=S,S=v()(0,E)):b||(S=(0,ft.ko)(n.props.domain,S,n).reduce((function(t,e){return t.indexOf(e)>=0?t:[].concat(he(t),[e])}),[]))}else if("category"===d)S=b?S.filter((function(t){return""!==t&&!m()(t)})):(0,ft.ko)(n.props.domain,S,n).reduce((function(t,e){return t.indexOf(e)>=0||""===e||m()(e)?t:[].concat(he(t),[e])}),[]);else if("number"===d){var M=(0,ft.ZI)(_,r.filter((function(t){return t.props[i]===O&&!t.props.hide})),y,o);M&&(S=M)}!h||"number"!==d&&"auto"===x||(j=(0,ft.gF)(_,y,"category"))}else S=h?v()(0,E):a&&a[O]&&a[O].hasStack&&"number"===d?"expand"===f?[0,1]:(0,ft.EB)(a[O].stackGroups,c,u):(0,ft.s6)(_,r.filter((function(t){return t.props[i]===O&&!t.props.hide})),d,!0);if("number"===d)S=Kt(l,S,O,o,w),n.props.domain&&(S=(0,ft.LG)(n.props.domain,S,g));else if("category"===d&&n.props.domain){var P=n.props.domain;S.every((function(t){return P.indexOf(t)>=0}))&&(S=P)}return ve(ve({},e),{},ge({},O,ve(ve({},n.props),{},{axisType:o,domain:S,categoricalDomain:j,duplicateDomain:k,originalDomain:n.props.domain,isCategorical:h,layout:s})))}return e}),{})}(t,{axes:f,graphicalItems:i,axisType:r,axisIdKey:l,stackGroups:a,dataStartIndex:c,dataEndIndex:u}):i&&i.length&&(h=function(t,e){var n=e.graphicalItems,r=e.Axis,o=e.axisType,i=e.axisIdKey,a=e.stackGroups,c=e.dataStartIndex,u=e.dataEndIndex,s=t.layout,l=t.children,f=_e(t.data,{graphicalItems:n,dataStartIndex:c,dataEndIndex:u}),h=f.length,p=(0,ft.NA)(s,o),y=-1;return n.reduce((function(t,e){var g,m=e.props[i];return t[m]?t:(y++,p?g=v()(0,h):a&&a[m]&&a[m].hasStack?(g=(0,ft.EB)(a[m].stackGroups,c,u),g=Kt(l,g,m,o)):(g=(0,ft.LG)(r.defaultProps.domain,(0,ft.s6)(f,n.filter((function(t){return t.props[i]===m&&!t.props.hide})),"number"),r.defaultProps.allowDataOverflow),g=Kt(l,g,m,o)),ve(ve({},t),{},ge({},m,ve(ve({axisType:o},r.defaultProps),{},{hide:!0,orientation:d()(me,"".concat(o,".").concat(y%2),null),domain:g,originalDomain:r.defaultProps.domain,isCategorical:p,layout:s}))))}),{})}(t,{Axis:o,graphicalItems:i,axisType:r,axisIdKey:l,stackGroups:a,dataStartIndex:c,dataEndIndex:u})),h},je=function(t){var e=t.children,n=t.defaultShowTooltip,r=(0,G.sP)(e,At.displayName);return{chartX:0,chartY:0,dataStartIndex:r&&r.props&&r.props.startIndex||0,dataEndIndex:r&&r.props&&r.props.endIndex||t.data&&t.data.length-1||0,activeTooltipIndex:-1,isTooltipActive:!m()(n)&&n}},Ae=function(t){return"horizontal"===t?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:"vertical"===t?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:"centric"===t?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},Me=function(t){var e,n,r=t.chartName,i=t.GraphicalChild,c=t.defaultTooltipEventType,s=void 0===c?"axis":c,f=t.validateTooltipEventTypes,p=void 0===f?["axis"]:f,y=t.axisComponents,v=t.legendContent,g=t.formatAxisMap,b=t.defaultProps,w=function(t,e){var n=e.graphicalItems,r=e.stackGroups,o=e.offset,i=e.updateId,a=e.dataStartIndex,c=e.dataEndIndex,u=t.barSize,s=t.layout,l=t.barGap,f=t.barCategoryGap,h=t.maxBarSize,p=Ae(s),d=p.numericAxisName,v=p.cateAxisName,g=function(t){return!(!t||!t.length)&&t.some((function(t){var e=(0,G.Gf)(t&&t.type);return e&&e.indexOf("Bar")>=0}))}(n),b=g&&(0,ft.pt)({barSize:u,stackGroups:r}),x=[];return n.forEach((function(n,u){var p=_e(t.data,{dataStartIndex:a,dataEndIndex:c},n),g=n.props,w=g.dataKey,O=g.maxBarSize,_=n.props["".concat(d,"Id")],E=n.props["".concat(v,"Id")],S=y.reduce((function(t,r){var o,i=e["".concat(r.axisType,"Map")],a=n.props["".concat(r.axisType,"Id")],c=i&&i[a];return ve(ve({},t),{},(ge(o={},r.axisType,c),ge(o,"".concat(r.axisType,"Ticks"),(0,ft.uY)(c)),o))}),{}),k=S[v],j=S["".concat(v,"Ticks")],A=r&&r[_]&&r[_].hasStack&&(0,ft.O3)(n,r[_].stackGroups),M=(0,G.Gf)(n.type).indexOf("Bar")>=0,P=(0,ft.zT)(k,j),T=[];if(M){var C,N,I=m()(O)?h:O,D=null!==(C=null!==(N=(0,ft.zT)(k,j,!0))&&void 0!==N?N:I)&&void 0!==C?C:0;T=(0,ft.qz)({barGap:l,barCategoryGap:f,bandSize:D!==P?D:P,sizeList:b[E],maxBarSize:I}),D!==P&&(T=T.map((function(t){return ve(ve({},t),{},{position:ve(ve({},t.position),{},{offset:t.position.offset-D/2})})})))}var R,L=n&&n.type&&n.type.getComposedData;L&&x.push({props:ve(ve({},L(ve(ve({},S),{},{displayedData:p,props:t,dataKey:w,item:n,bandSize:P,barPosition:T,offset:o,stackedData:A,layout:s,dataStartIndex:a,dataEndIndex:c}))),{},(R={key:n.key||"item-".concat(u)},ge(R,d,S[d]),ge(R,v,S[v]),ge(R,"animationId",i),R)),childIndex:(0,G.$R)(n,t.children),item:n})})),x},E=function(t,e){var n=t.props,o=t.dataStartIndex,a=t.dataEndIndex,c=t.updateId;if(!(0,G.TT)({props:n}))return null;var u=n.children,s=n.layout,l=n.stackOffset,f=n.data,p=n.reverseStackOrder,v=Ae(s),m=v.numericAxisName,b=v.cateAxisName,x=(0,G.NN)(u,i),O=(0,ft.wh)(f,x,"".concat(m,"Id"),"".concat(b,"Id"),l,p),_=y.reduce((function(t,e){var r="".concat(e.axisType,"Map");return ve(ve({},t),{},ge({},r,ke(n,ve(ve({},e),{},{graphicalItems:x,stackGroups:e.axisType===m&&O,dataStartIndex:o,dataEndIndex:a}))))}),{}),E=function(t,e){var n=t.props,r=t.graphicalItems,o=t.xAxisMap,i=void 0===o?{}:o,a=t.yAxisMap,c=void 0===a?{}:a,u=n.width,s=n.height,l=n.children,f=n.margin||{},h=(0,G.sP)(l,At.displayName),p=(0,G.sP)(l,M.D.displayName),y=Object.keys(c).reduce((function(t,e){var n=c[e],r=n.orientation;return n.mirror||n.hide?t:ve(ve({},t),{},ge({},r,t[r]+n.width))}),{left:f.left||0,right:f.right||0}),v=Object.keys(i).reduce((function(t,e){var n=i[e],r=n.orientation;return n.mirror||n.hide?t:ve(ve({},t),{},ge({},r,d()(t,"".concat(r))+n.height))}),{top:f.top||0,bottom:f.bottom||0}),g=ve(ve({},v),y),m=g.bottom;return h&&(g.bottom+=h.props.height||At.defaultProps.height),p&&e&&(g=(0,ft.By)(g,r,n,e)),ve(ve({brushBottom:m},g),{},{width:u-g.left-g.right,height:s-g.top-g.bottom})}(ve(ve({},_),{},{props:n,graphicalItems:x}),null===e||void 0===e?void 0:e.legendBBox);Object.keys(_).forEach((function(t){_[t]=g(n,_[t],E,t.replace("Map",""),r)}));var S=function(t){var e=(0,T.Kt)(t),n=(0,ft.uY)(e,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:h()(n,(function(t){return t.coordinate})),tooltipAxis:e,tooltipAxisBandSize:(0,ft.zT)(e,n)}}(_["".concat(b,"Map")]),k=w(n,ve(ve({},_),{},{dataStartIndex:o,dataEndIndex:a,updateId:c,graphicalItems:x,stackGroups:O,offset:E}));return ve(ve({formattedGraphicalItems:k,graphicalItems:x,offset:E,stackGroups:O},S),_)};return n=e=function(t){!function(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ce(t,e)}(f,t);var e,n,i,c=ue(f);function f(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,f),(e=c.call(this,t)).uniqueChartId=void 0,e.clipPathId=void 0,e.legendInstance=void 0,e.deferId=void 0,e.container=void 0,e.clearDeferId=function(){!m()(e.deferId)&&Oe&&Oe(e.deferId),e.deferId=null},e.handleLegendBBoxUpdate=function(t){if(t&&e.legendInstance){var n=e.state,r=n.dataStartIndex,o=n.dataEndIndex,i=n.updateId;e.setState(ve({legendBBox:t},E({props:e.props,dataStartIndex:r,dataEndIndex:o,updateId:i},ve(ve({},e.state),{},{legendBBox:t}))))}},e.handleReceiveSyncEvent=function(t,n,r){e.props.syncId===t&&n!==e.uniqueChartId&&(e.clearDeferId(),e.deferId=we&&we(e.applySyncEvent.bind(le(e),r)))},e.handleBrushChange=function(t){var n=t.startIndex,r=t.endIndex;if(n!==e.state.dataStartIndex||r!==e.state.dataEndIndex){var o=e.state.updateId;e.setState((function(){return ve({dataStartIndex:n,dataEndIndex:r},E({props:e.props,dataStartIndex:n,dataEndIndex:r,updateId:o},e.state))})),e.triggerSyncEvent({dataStartIndex:n,dataEndIndex:r})}},e.handleMouseEnter=function(t){var n=e.props.onMouseEnter,r=e.getMouseInfo(t);if(r){var o=ve(ve({},r),{},{isTooltipActive:!0});e.setState(o),e.triggerSyncEvent(o),u()(n)&&n(o,t)}},e.triggeredAfterMouseMove=function(t){var n=e.props.onMouseMove,r=e.getMouseInfo(t),o=r?ve(ve({},r),{},{isTooltipActive:!0}):{isTooltipActive:!1};e.setState(o),e.triggerSyncEvent(o),u()(n)&&n(o,t)},e.handleItemMouseEnter=function(t){e.setState((function(){return{isTooltipActive:!0,activeItem:t,activePayload:t.tooltipPayload,activeCoordinate:t.tooltipPosition||{x:t.cx,y:t.cy}}}))},e.handleItemMouseLeave=function(){e.setState((function(){return{isTooltipActive:!1}}))},e.handleMouseMove=function(t){t&&u()(t.persist)&&t.persist(),e.triggeredAfterMouseMove(t)},e.handleMouseLeave=function(t){var n=e.props.onMouseLeave,r={isTooltipActive:!1};e.setState(r),e.triggerSyncEvent(r),u()(n)&&n(r,t),e.cancelThrottledTriggerAfterMouseMove()},e.handleOuterEvent=function(t){var n=(0,G.Bh)(t),r=d()(e.props,"".concat(n));n&&u()(r)&&r(/.*touch.*/i.test(n)?e.getMouseInfo(t.changedTouches[0]):e.getMouseInfo(t),t)},e.handleClick=function(t){var n=e.props.onClick,r=e.getMouseInfo(t);if(r){var o=ve(ve({},r),{},{isTooltipActive:!0});e.setState(o),e.triggerSyncEvent(o),u()(n)&&n(o,t)}},e.handleMouseDown=function(t){var n=e.props.onMouseDown;u()(n)&&n(e.getMouseInfo(t),t)},e.handleMouseUp=function(t){var n=e.props.onMouseUp;u()(n)&&n(e.getMouseInfo(t),t)},e.handleTouchMove=function(t){null!=t.changedTouches&&t.changedTouches.length>0&&e.handleMouseMove(t.changedTouches[0])},e.handleTouchStart=function(t){null!=t.changedTouches&&t.changedTouches.length>0&&e.handleMouseDown(t.changedTouches[0])},e.handleTouchEnd=function(t){null!=t.changedTouches&&t.changedTouches.length>0&&e.handleMouseUp(t.changedTouches[0])},e.verticalCoordinatesGenerator=function(t){var e=t.xAxis,n=t.width,r=t.height,o=t.offset;return(0,ft.Rf)(st.getTicks(ve(ve(ve({},st.defaultProps),e),{},{ticks:(0,ft.uY)(e,!0),viewBox:{x:0,y:0,width:n,height:r}})),o.left,o.left+o.width)},e.horizontalCoordinatesGenerator=function(t){var e=t.yAxis,n=t.width,r=t.height,o=t.offset;return(0,ft.Rf)(st.getTicks(ve(ve(ve({},st.defaultProps),e),{},{ticks:(0,ft.uY)(e,!0),viewBox:{x:0,y:0,width:n,height:r}})),o.top,o.top+o.height)},e.axesTicksGenerator=function(t){return(0,ft.uY)(t,!0)},e.renderCursor=function(t){var n=e.state,o=n.isTooltipActive,i=n.activeCoordinate,a=n.activePayload,c=n.offset,u=n.activeTooltipIndex,s=e.getTooltipEventType();if(!t||!t.props.cursor||!o||!i||"ScatterChart"!==r&&"axis"!==s)return null;var l,f=e.props.layout,h=P.H;if("ScatterChart"===r)l=i,h=z;else if("BarChart"===r)l=e.getCursorRectangle(),h=H.A;else if("radial"===f){var p=e.getCursorPoints(),d=p.cx,y=p.cy,v=p.radius;l={cx:d,cy:y,startAngle:p.startAngle,endAngle:p.endAngle,innerRadius:v,outerRadius:v},h=V.L}else l={points:e.getCursorPoints()},h=P.H;var g=t.key||"_recharts-cursor",m=ve(ve(ve(ve({stroke:"#ccc",pointerEvents:"none"},c),l),(0,C.L6)(t.props.cursor)),{},{payload:a,payloadIndex:u,key:g,className:"recharts-tooltip-cursor"});return(0,_.isValidElement)(t.props.cursor)?(0,_.cloneElement)(t.props.cursor,m):(0,_.createElement)(h,m)},e.renderPolarAxis=function(t,n,r){var o=d()(t,"type.axisType"),i=d()(e.state,"".concat(o,"Map"))[t.props["".concat(o,"Id")]];return(0,_.cloneElement)(t,ve(ve({},i),{},{className:o,key:t.key||"".concat(n,"-").concat(r),ticks:(0,ft.uY)(i,!0)}))},e.renderXAxis=function(t,n,r){var o=e.state.xAxisMap[t.props.xAxisId];return e.renderAxis(o,t,n,r)},e.renderYAxis=function(t,n,r){var o=e.state.yAxisMap[t.props.yAxisId];return e.renderAxis(o,t,n,r)},e.renderGrid=function(t){var n=e.state,r=n.xAxisMap,i=n.yAxisMap,c=n.offset,u=e.props,s=u.width,l=u.height,f=(0,T.Kt)(r),h=a()(i,(function(t){return o()(t.domain,xe)}))||(0,T.Kt)(i),p=t.props||{};return(0,_.cloneElement)(t,{key:t.key||"grid",x:(0,T.hj)(p.x)?p.x:c.left,y:(0,T.hj)(p.y)?p.y:c.top,width:(0,T.hj)(p.width)?p.width:c.width,height:(0,T.hj)(p.height)?p.height:c.height,xAxis:f,yAxis:h,offset:c,chartWidth:s,chartHeight:l,verticalCoordinatesGenerator:p.verticalCoordinatesGenerator||e.verticalCoordinatesGenerator,horizontalCoordinatesGenerator:p.horizontalCoordinatesGenerator||e.horizontalCoordinatesGenerator})},e.renderPolarGrid=function(t){var n=t.props,r=n.radialLines,o=n.polarAngles,i=n.polarRadius,a=e.state,c=a.radiusAxisMap,u=a.angleAxisMap,s=(0,T.Kt)(c),l=(0,T.Kt)(u),f=l.cx,h=l.cy,p=l.innerRadius,d=l.outerRadius;return(0,_.cloneElement)(t,{polarAngles:O()(o)?o:(0,ft.uY)(l,!0).map((function(t){return t.coordinate})),polarRadius:O()(i)?i:(0,ft.uY)(s,!0).map((function(t){return t.coordinate})),cx:f,cy:h,innerRadius:p,outerRadius:d,key:t.key||"polar-grid",radialLines:r})},e.renderLegend=function(){var t=e.state.formattedGraphicalItems,n=e.props,r=n.children,o=n.width,i=n.height,a=e.props.margin||{},c=o-(a.left||0)-(a.right||0),u=(0,ft.zp)({children:r,formattedGraphicalItems:t,legendWidth:c,legendContent:v});if(!u)return null;var s=u.item,l=ie(u,["item"]);return(0,_.cloneElement)(s,ve(ve({},l),{},{chartWidth:o,chartHeight:i,margin:a,ref:function(t){e.legendInstance=t},onBBoxUpdate:e.handleLegendBBoxUpdate}))},e.renderTooltip=function(){var t=e.props.children,n=(0,G.sP)(t,A.u.displayName);if(!n)return null;var r=e.state,o=r.isTooltipActive,i=r.activeCoordinate,a=r.activePayload,c=r.activeLabel,u=r.offset;return(0,_.cloneElement)(n,{viewBox:ve(ve({},u),{},{x:u.left,y:u.top}),active:o,label:c,payload:o?a:[],coordinate:i})},e.renderBrush=function(t){var n=e.props,r=n.margin,o=n.data,i=e.state,a=i.offset,c=i.dataStartIndex,u=i.dataEndIndex,s=i.updateId;return(0,_.cloneElement)(t,{key:t.key||"_recharts-brush",onChange:(0,ft.DO)(e.handleBrushChange,null,t.props.onChange),data:o,x:(0,T.hj)(t.props.x)?t.props.x:a.left,y:(0,T.hj)(t.props.y)?t.props.y:a.top+a.height+a.brushBottom-(r.bottom||0),width:(0,T.hj)(t.props.width)?t.props.width:a.width,startIndex:c,endIndex:u,updateId:"brush-".concat(s)})},e.renderReferenceElement=function(t,n,r){if(!t)return null;var o=le(e).clipPathId,i=e.state,a=i.xAxisMap,c=i.yAxisMap,u=i.offset,s=t.props,l=s.xAxisId,f=s.yAxisId;return(0,_.cloneElement)(t,{key:t.key||"".concat(n,"-").concat(r),xAxis:a[l],yAxis:c[f],viewBox:{x:u.left,y:u.top,width:u.width,height:u.height},clipPathId:o})},e.renderActivePoints=function(t){var e=t.item,n=t.activePoint,r=t.basePoint,o=t.childIndex,i=t.isRange,a=[],c=e.props.key,u=e.item.props,s=u.activeDot,l=ve(ve({index:o,dataKey:u.dataKey,cx:n.x,cy:n.y,r:4,fill:(0,ft.fk)(e.item),strokeWidth:2,stroke:"#fff",payload:n.payload,value:n.value,key:"".concat(c,"-activePoint-").concat(o)},(0,C.L6)(s)),(0,C.Ym)(s));return a.push(f.renderActiveDot(s,l)),r?a.push(f.renderActiveDot(s,ve(ve({},l),{},{cx:r.x,cy:r.y,key:"".concat(c,"-basePoint-").concat(o)}))):i&&a.push(null),a},e.renderGraphicChild=function(t,n,r){var o=e.filterFormatItem(t,n,r);if(!o)return null;var i=e.getTooltipEventType(),a=e.state,c=a.isTooltipActive,u=a.tooltipAxis,s=a.activeTooltipIndex,l=a.activeLabel,f=e.props.children,h=(0,G.sP)(f,A.u.displayName),p=o.props,d=p.points,y=p.isRange,v=p.baseLine,g=o.item.props,b=g.activeDot,x=!g.hide&&c&&h&&b&&s>=0,w={};"axis"!==i&&h&&"click"===h.props.trigger?w={onClick:(0,ft.DO)(e.handleItemMouseEnter,null,t.props.onCLick)}:"axis"!==i&&(w={onMouseLeave:(0,ft.DO)(e.handleItemMouseLeave,null,t.props.onMouseLeave),onMouseEnter:(0,ft.DO)(e.handleItemMouseEnter,null,t.props.onMouseEnter)});var O=(0,_.cloneElement)(t,ve(ve({},o.props),w));if(x){var E,S;if(u.dataKey&&!u.allowDuplicatedCategory){var k="function"===typeof u.dataKey?function(t){return"function"===typeof u.dataKey?u.dataKey(t.payload):null}:"payload.".concat(u.dataKey.toString());E=(0,T.Ap)(d,k,l),S=y&&v&&(0,T.Ap)(v,k,l)}else E=d[s],S=y&&v&&v[s];if(!m()(E))return[O].concat(he(e.renderActivePoints({item:o,activePoint:E,basePoint:S,childIndex:s,isRange:y})))}return y?[O,null,null]:[O,null]},e.renderCustomized=function(t,n,r){return(0,_.cloneElement)(t,ve(ve({key:"recharts-customized-".concat(r)},e.props),e.state))},e.uniqueChartId=m()(t.id)?(0,T.EL)("recharts"):t.id,e.clipPathId="".concat(e.uniqueChartId,"-clip"),t.throttleDelay&&(e.triggeredAfterMouseMove=l()(e.triggeredAfterMouseMove,t.throttleDelay)),e.state={},e}return e=f,(n=[{key:"componentDidMount",value:function(){m()(this.props.syncId)||this.addListener()}},{key:"componentDidUpdate",value:function(t){m()(t.syncId)&&!m()(this.props.syncId)&&this.addListener(),!m()(t.syncId)&&m()(this.props.syncId)&&this.removeListener()}},{key:"componentWillUnmount",value:function(){this.clearDeferId(),m()(this.props.syncId)||this.removeListener(),this.cancelThrottledTriggerAfterMouseMove()}},{key:"cancelThrottledTriggerAfterMouseMove",value:function(){"function"===typeof this.triggeredAfterMouseMove.cancel&&this.triggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var t=(0,G.sP)(this.props.children,A.u.displayName);if(t&&x()(t.props.shared)){var e=t.props.shared?"axis":"item";return p.indexOf(e)>=0?e:s}return s}},{key:"getMouseInfo",value:function(t){if(!this.container)return null;var e=(0,Z.os)(this.container),n=(0,Z.IR)(t,e),r=this.inRange(n.chartX,n.chartY);if(!r)return null;var o=this.state,i=o.xAxisMap,a=o.yAxisMap;if("axis"!==this.getTooltipEventType()&&i&&a){var c=(0,T.Kt)(i).scale,u=(0,T.Kt)(a).scale,s=c&&c.invert?c.invert(n.chartX):null,l=u&&u.invert?u.invert(n.chartY):null;return ve(ve({},n),{},{xValue:s,yValue:l})}var f=Se(this.state,this.props.data,this.props.layout,r);return f?ve(ve({},n),f):null}},{key:"getCursorRectangle",value:function(){var t=this.props.layout,e=this.state,n=e.activeCoordinate,r=e.offset,o=e.tooltipAxisBandSize,i=o/2;return{stroke:"none",fill:"#ccc",x:"horizontal"===t?n.x-i:r.left+.5,y:"horizontal"===t?r.top+.5:n.y-i,width:"horizontal"===t?o:r.width-1,height:"horizontal"===t?r.height-1:o}}},{key:"getCursorPoints",value:function(){var t,e,n,r,o=this.props.layout,i=this.state,a=i.activeCoordinate,c=i.offset;if("horizontal"===o)n=t=a.x,e=c.top,r=c.top+c.height;else if("vertical"===o)r=e=a.y,t=c.left,n=c.left+c.width;else if(!m()(a.cx)||!m()(a.cy)){if("centric"!==o){var u=a.cx,s=a.cy,l=a.radius,f=a.startAngle,h=a.endAngle;return{points:[(0,Jt.op)(u,s,l,f),(0,Jt.op)(u,s,l,h)],cx:u,cy:s,radius:l,startAngle:f,endAngle:h}}var p=a.cx,d=a.cy,y=a.innerRadius,v=a.outerRadius,g=a.angle,b=(0,Jt.op)(p,d,y,g),x=(0,Jt.op)(p,d,v,g);t=b.x,e=b.y,n=x.x,r=x.y}return[{x:t,y:e},{x:n,y:r}]}},{key:"inRange",value:function(t,e){var n=this.props.layout;if("horizontal"===n||"vertical"===n){var r=this.state.offset;return t>=r.left&&t<=r.left+r.width&&e>=r.top&&e<=r.top+r.height?{x:t,y:e}:null}var o=this.state,i=o.angleAxisMap,a=o.radiusAxisMap;if(i&&a){var c=(0,T.Kt)(i);return(0,Jt.z3)({x:t,y:e},c)}return null}},{key:"parseEventsOfWrapper",value:function(){var t=this.props.children,e=this.getTooltipEventType(),n=(0,G.sP)(t,A.u.displayName),r={};return n&&"axis"===e&&(r="click"===n.props.trigger?{onClick:this.handleClick}:{onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd}),ve(ve({},(0,C.Ym)(this.props,this.handleOuterEvent)),r)}},{key:"addListener",value:function(){te.on(ee,this.handleReceiveSyncEvent),te.setMaxListeners&&te._maxListeners&&te.setMaxListeners(te._maxListeners+1)}},{key:"removeListener",value:function(){te.removeListener(ee,this.handleReceiveSyncEvent),te.setMaxListeners&&te._maxListeners&&te.setMaxListeners(te._maxListeners-1)}},{key:"triggerSyncEvent",value:function(t){var e=this.props.syncId;m()(e)||te.emit(ee,e,this.uniqueChartId,t)}},{key:"applySyncEvent",value:function(t){var e=this.props,n=e.layout,r=e.syncMethod,o=this.state.updateId,i=t.dataStartIndex,a=t.dataEndIndex;if(m()(t.dataStartIndex)&&m()(t.dataEndIndex))if(m()(t.activeTooltipIndex))this.setState(t);else{var c=t.chartX,u=t.chartY,s=t.activeTooltipIndex,l=this.state,f=l.offset,h=l.tooltipTicks;if(!f)return;if("function"===typeof r)s=r(h,t);else if("value"===r){s=-1;for(var p=0;pt.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0?1:-1;"insideStart"===i?(r=b+S*c,o=w):"insideEnd"===i?(r=x-S*c,o=!w):"end"===i&&(r=x+S*c,o=w),o=E<=0?o:!o;var k=(0,y.op)(p,v,_,r),j=(0,y.op)(p,v,_,r+359*(o?1:-1)),A="M".concat(k.x,",").concat(k.y,"\n A").concat(_,",").concat(_,",0,1,").concat(o?0:1,",\n ").concat(j.x,",").concat(j.y),M=u()(t.id)?(0,d.EL)("recharts-radial-line-"):t.id;return s.createElement("text",O({},n,{dominantBaseline:"central",className:f()("recharts-radial-bar-label",l)}),s.createElement("defs",null,s.createElement("path",{id:M,d:A})),s.createElement("textPath",{xlinkHref:"#".concat(M)},e))};function E(t){var e,n=t.viewBox,r=t.position,i=t.value,c=t.children,l=t.content,p=t.className,g=void 0===p?"":p,m=t.textBreakAll;if(!n||u()(i)&&u()(c)&&!(0,s.isValidElement)(l)&&!a()(l))return null;if((0,s.isValidElement)(l))return(0,s.cloneElement)(l,t);if(a()(l)){if(e=(0,s.createElement)(l,t),(0,s.isValidElement)(e))return e}else e=function(t){var e=t.value,n=t.formatter,r=u()(t.children)?e:t.children;return a()(n)?n(r):r}(t);var b=function(t){return(0,d.hj)(t.cx)}(n),w=(0,v.L6)(t,!0);if(b&&("insideStart"===r||"insideEnd"===r||"end"===r))return _(t,e,w);var E=b?function(t){var e=t.viewBox,n=t.offset,r=t.position,o=e,i=o.cx,a=o.cy,c=o.innerRadius,u=o.outerRadius,s=(o.startAngle+o.endAngle)/2;if("outside"===r){var l=(0,y.op)(i,a,u+n,s),f=l.x;return{x:f,y:l.y,textAnchor:f>=i?"start":"end",verticalAnchor:"middle"}}if("center"===r)return{x:i,y:a,textAnchor:"middle",verticalAnchor:"middle"};if("centerTop"===r)return{x:i,y:a,textAnchor:"middle",verticalAnchor:"start"};if("centerBottom"===r)return{x:i,y:a,textAnchor:"middle",verticalAnchor:"end"};var h=(c+u)/2,p=(0,y.op)(i,a,h,s);return{x:p.x,y:p.y,textAnchor:"middle",verticalAnchor:"middle"}}(t):function(t){var e=t.viewBox,n=t.parentViewBox,r=t.offset,i=t.position,a=e,c=a.x,u=a.y,s=a.width,l=a.height,f=l>=0?1:-1,h=f*r,p=f>0?"end":"start",y=f>0?"start":"end",v=s>=0?1:-1,g=v*r,m=v>0?"end":"start",b=v>0?"start":"end";if("top"===i)return x(x({},{x:c+s/2,y:u-f*r,textAnchor:"middle",verticalAnchor:p}),n?{height:Math.max(u-n.y,0),width:s}:{});if("bottom"===i)return x(x({},{x:c+s/2,y:u+l+h,textAnchor:"middle",verticalAnchor:y}),n?{height:Math.max(n.y+n.height-(u+l),0),width:s}:{});if("left"===i){var w={x:c-g,y:u+l/2,textAnchor:m,verticalAnchor:"middle"};return x(x({},w),n?{width:Math.max(w.x-n.x,0),height:l}:{})}if("right"===i){var O={x:c+s+g,y:u+l/2,textAnchor:b,verticalAnchor:"middle"};return x(x({},O),n?{width:Math.max(n.x+n.width-O.x,0),height:l}:{})}var _=n?{width:s,height:l}:{};return"insideLeft"===i?x({x:c+g,y:u+l/2,textAnchor:b,verticalAnchor:"middle"},_):"insideRight"===i?x({x:c+s-g,y:u+l/2,textAnchor:m,verticalAnchor:"middle"},_):"insideTop"===i?x({x:c+s/2,y:u+h,textAnchor:"middle",verticalAnchor:y},_):"insideBottom"===i?x({x:c+s/2,y:u+l-h,textAnchor:"middle",verticalAnchor:p},_):"insideTopLeft"===i?x({x:c+g,y:u+h,textAnchor:b,verticalAnchor:y},_):"insideTopRight"===i?x({x:c+s-g,y:u+h,textAnchor:m,verticalAnchor:y},_):"insideBottomLeft"===i?x({x:c+g,y:u+l-h,textAnchor:b,verticalAnchor:p},_):"insideBottomRight"===i?x({x:c+s-g,y:u+l-h,textAnchor:m,verticalAnchor:p},_):o()(i)&&((0,d.hj)(i.x)||(0,d.hU)(i.x))&&((0,d.hj)(i.y)||(0,d.hU)(i.y))?x({x:c+(0,d.h1)(i.x,s),y:u+(0,d.h1)(i.y,l),textAnchor:"end",verticalAnchor:"end"},_):x({x:c+s/2,y:u+l/2,textAnchor:"middle",verticalAnchor:"middle"},_)}(t);return s.createElement(h.x,O({className:f()("recharts-label",g)},w,E,{breakAll:m}),e)}E.displayName="Label",E.defaultProps={offset:5};var S=function(t){var e=t.cx,n=t.cy,r=t.angle,o=t.startAngle,i=t.endAngle,a=t.r,c=t.radius,u=t.innerRadius,s=t.outerRadius,l=t.x,f=t.y,h=t.top,p=t.left,y=t.width,v=t.height,g=t.clockWise,m=t.labelViewBox;if(m)return m;if((0,d.hj)(y)&&(0,d.hj)(v)){if((0,d.hj)(l)&&(0,d.hj)(f))return{x:l,y:f,width:y,height:v};if((0,d.hj)(h)&&(0,d.hj)(p))return{x:h,y:p,width:y,height:v}}return(0,d.hj)(l)&&(0,d.hj)(f)?{x:l,y:f,width:0,height:0}:(0,d.hj)(e)&&(0,d.hj)(n)?{cx:e,cy:n,startAngle:o||r||0,endAngle:i||r||0,innerRadius:u||0,outerRadius:s||c||a||0,clockWise:g}:t.viewBox?t.viewBox:{}},k=function(t,e){return t?!0===t?s.createElement(E,{key:"label-implicit",viewBox:e}):(0,d.P2)(t)?s.createElement(E,{key:"label-implicit",viewBox:e,value:t}):(0,s.isValidElement)(t)?t.type===E?(0,s.cloneElement)(t,{key:"label-implicit",viewBox:e}):s.createElement(E,{key:"label-implicit",content:t,viewBox:e}):a()(t)?s.createElement(E,{key:"label-implicit",content:t,viewBox:e}):o()(t)?s.createElement(E,O({viewBox:e},t,{key:"label-implicit"})):null:null};E.parseViewBox=S,E.renderCallByParent=function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!t||!t.children&&n&&!t.label)return null;var r=t.children,o=S(t),i=(0,p.NN)(r,E.displayName).map((function(t,n){return(0,s.cloneElement)(t,{viewBox:e||o,key:"label-".concat(n)})}));if(!n)return i;var a=k(t.label,e||o);return[a].concat(g(i))}},87741:function(t,e,n){"use strict";n.d(e,{e:function(){return j}});var r=n(74216),o=n.n(r),i=n(66071),a=n.n(i),c=n(85686),u=n.n(c),s=n(63816),l=n.n(s),f=n(85809),h=n.n(f),p=n(50390),d=n(71572),y=n(18775),v=n(79853),g=n(46154),m=n(54183);function b(t){return function(t){if(Array.isArray(t))return x(t)}(t)||function(t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"===typeof t)return x(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return x(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function x(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var k={valueAccessor:function(t){return h()(t.value)?l()(t.value):t.value}};function j(t){var e=t.data,n=t.valueAccessor,r=t.dataKey,o=t.clockWise,i=t.id,a=t.textBreakAll,c=S(t,["data","valueAccessor","dataKey","clockWise","id","textBreakAll"]);return e&&e.length?p.createElement(y.m,{className:"recharts-label-list"},e.map((function(t,e){var s=u()(r)?n(t,e):(0,g.F$)(t&&t.payload,r),l=u()(i)?{}:{id:"".concat(i,"-").concat(e)};return p.createElement(d._,w({},(0,m.L6)(t,!0),c,l,{parentViewBox:t.parentViewBox,index:e,value:s,textBreakAll:a,viewBox:d._.parseViewBox(u()(o)?t:_(_({},t),{},{clockWise:o})),key:"label-".concat(e)}))}))):null}function A(t,e){return t?!0===t?p.createElement(j,{key:"labelList-implicit",data:e}):p.isValidElement(t)||a()(t)?p.createElement(j,{key:"labelList-implicit",data:e,content:t}):o()(t)?p.createElement(j,w({data:e},t,{key:"labelList-implicit"})):null:null}j.displayName="LabelList",j.renderCallByParent=function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!t||!t.children&&n&&!t.label)return null;var r=t.children,o=(0,v.NN)(r,j.displayName).map((function(t,n){return(0,p.cloneElement)(t,{data:e,key:"labelList-".concat(n)})}));if(!n)return o;var i=A(t.label,e);return[i].concat(b(o))},j.defaultProps=k},79692:function(t,e,n){"use strict";n.d(e,{D:function(){return mt}});var r=n(66071),o=n.n(r),i=n(80213),a=n.n(i),c=n(50390),u=n(97715),s=n.n(u),l=n(47142),f=n(54088),h=n.n(f),p=(Math.abs,Math.atan2,Math.cos,Math.max,Math.min,Math.sin,Math.sqrt,Math.PI),d=2*p;var y={draw:function(t,e){var n=Math.sqrt(e/p);t.moveTo(n,0),t.arc(0,0,n,0,d)}},v={draw:function(t,e){var n=Math.sqrt(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}},g=Math.sqrt(1/3),m=2*g,b={draw:function(t,e){var n=Math.sqrt(e/m),r=n*g;t.moveTo(0,-n),t.lineTo(r,0),t.lineTo(0,n),t.lineTo(-r,0),t.closePath()}},x={draw:function(t,e){var n=Math.sqrt(e),r=-n/2;t.rect(r,r,n,n)}},w=Math.sin(p/10)/Math.sin(7*p/10),O=Math.sin(d/10)*w,_=-Math.cos(d/10)*w,E={draw:function(t,e){var n=Math.sqrt(.8908130915292852*e),r=O*n,o=_*n;t.moveTo(0,-n),t.lineTo(r,o);for(var i=1;i<5;++i){var a=d*i/5,c=Math.cos(a),u=Math.sin(a);t.lineTo(u*n,-c*n),t.lineTo(c*r-u*o,u*r+c*o)}t.closePath()}},S=Math.sqrt(3),k={draw:function(t,e){var n=-Math.sqrt(e/(3*S));t.moveTo(0,2*n),t.lineTo(-S*n,-n),t.lineTo(S*n,-n),t.closePath()}},j=-.5,A=Math.sqrt(3)/2,M=1/Math.sqrt(12),P=3*(M/2+1),T={draw:function(t,e){var n=Math.sqrt(e/P),r=n/2,o=n*M,i=r,a=n*M+n,c=-i,u=a;t.moveTo(r,o),t.lineTo(i,a),t.lineTo(c,u),t.lineTo(j*r-A*o,A*r+j*o),t.lineTo(j*i-A*a,A*i+j*a),t.lineTo(j*c-A*u,A*c+j*u),t.lineTo(j*r+A*o,j*o-A*r),t.lineTo(j*i+A*a,j*a-A*i),t.lineTo(j*c+A*u,j*u-A*c),t.closePath()}},C=n(18117),N=n(49555);var I=n(54183);function D(t){return D="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},D(t)}function R(){return R=Object.assign||function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function vt(t){return t.value}function gt(t,e){return!0===t?a()(e,vt):o()(t)?a()(e,t):e}var mt=function(t){!function(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ft(t,e)}(a,t);var e,n,r,i=ht(a);function a(){var t;st(this,a);for(var e=arguments.length,n=new Array(e),r=0;r=0&&n>=0?{width:e,height:n}:null}},{key:"getDefaultPosition",value:function(t){var e,n,r=this.props,o=r.layout,i=r.align,a=r.verticalAlign,c=r.margin,u=r.chartWidth,s=r.chartHeight;return t&&(void 0!==t.left&&null!==t.left||void 0!==t.right&&null!==t.right)||(e="center"===i&&"vertical"===o?{left:((u||0)-(this.getBBoxSnapshot()||{width:0}).width)/2}:"right"===i?{right:c&&c.right||0}:{left:c&&c.left||0}),t&&(void 0!==t.top&&null!==t.top||void 0!==t.bottom&&null!==t.bottom)||(n="middle"===a?{top:((s||0)-(this.getBBoxSnapshot()||{height:0}).height)/2}:"bottom"===a?{bottom:c&&c.bottom||0}:{top:c&&c.top||0}),ct(ct({},e),n)}},{key:"updateBBox",value:function(){var t=this.state,e=t.boxWidth,n=t.boxHeight,r=this.props.onBBoxUpdate;if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var o=this.wrapperNode.getBoundingClientRect();(Math.abs(o.width-e)>1||Math.abs(o.height-n)>1)&&this.setState({boxWidth:o.width,boxHeight:o.height},(function(){r&&r(o)}))}else-1===e&&-1===n||this.setState({boxWidth:-1,boxHeight:-1},(function(){r&&r(null)}))}},{key:"render",value:function(){var t=this,e=this.props,n=e.content,r=e.width,i=e.height,a=e.wrapperStyle,u=e.payloadUniqBy,s=e.payload,l=ct(ct({position:"absolute",width:r||"auto",height:i||"auto"},this.getDefaultPosition(a)),a);return c.createElement("div",{className:"recharts-legend-wrapper",style:l,ref:function(e){t.wrapperNode=e}},function(t,e){if(c.isValidElement(t))return c.cloneElement(t,e);if(o()(t))return c.createElement(t,e);e.ref;var n=yt(e,["ref"]);return c.createElement(rt,n)}(n,ct(ct({},this.props),{},{payload:gt(u,s)})))}}])&<(e.prototype,n),r&<(e,r),a}(c.PureComponent);mt.displayName="Legend",mt.defaultProps={iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"}},88970:function(t,e,n){"use strict";n.d(e,{h:function(){return d}});var r=n(3143),o=n.n(r),i=n(97715),a=n.n(i),c=n(50390),u=n(34923),s=n(30631),l=n(17818);function f(){return f=Object.assign||function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n0?o()(T,x):T;(0,c.useEffect)((function(){if(A){var t=P();t&&S(t)}}),[A]),(0,c.useEffect)((function(){M(!0)}),[]);var N={width:i,height:d,minWidth:y,minHeight:v,maxHeight:g};return c.createElement(u.ZP,{handleWidth:!0,handleHeight:!0,onResize:C,targetRef:k},c.createElement("div",f({},null!=w?{id:"".concat(w)}:{},{className:a()("recharts-responsive-container",O),style:N,ref:k}),function(){var t=E.containerWidth,e=E.containerHeight;if(t<0||e<0)return null;(0,l.Z)((0,s.hU)(i)||(0,s.hU)(d),"The width(%s) and height(%s) are both fixed numbers,\n maybe you don't need to use a ResponsiveContainer.",i,d),(0,l.Z)(!n||n>0,"The aspect(%s) must be greater than zero.",n);var r=(0,s.hU)(i)?t:i,o=(0,s.hU)(d)?e:d;return n&&n>0&&(r?o=r/n:o&&(r=o*n),g&&o>g&&(o=g)),(0,l.Z)(r>0||o>0,"The width(%s) and height(%s) of chart should be greater than 0,\n please check the style of container, or the props width(%s) and height(%s),\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\n height and width.",r,o,i,d,y,v,n),(0,c.cloneElement)(m,{width:r,height:o})}()))}))},67855:function(t,e,n){"use strict";n.d(e,{x:function(){return C}});var r=n(85686),o=n.n(r),i=n(50390),a=n(31344),c=n.n(a),u=n(97715),s=n.n(u),l=n(30631),f=n(29728),h=n(54183),p=n(53203);function d(t){return d="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},d(t)}function y(){return y=Object.assign||function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function g(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function m(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n0&&void 0!==arguments[0]?arguments[0]:[]).reduce((function(t,e){var i=e.word,a=e.width,c=t[t.length-1];if(c&&(null==r||o||c.width+a+nt.maxLines||function(t){return t.reduce((function(t,e){return t.width>e.width?t:e}))}(i).width>r;return[u,i]},h=0,p=a.length-1,d=0;h<=p&&d<=a.length-1;){var y=Math.floor((h+p)/2),v=_(f(y-1),2),g=v[0],m=v[1],b=_(f(y),1)[0];if(g||b||(h=y+1),g&&b&&(p=y-1),!g&&b){s=m;break}d++}return s||u}(t,n.wordsWithComputedWidth,n.spaceWidth,t.width,t.scaleToFit):P(t.children)}return P(t.children)},C=function(t){!function(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&b(t,e)}(a,t);var e,n,r,o=x(a);function a(){var t;g(this,a);for(var e=arguments.length,n=new Array(e),r=0;rt.length)&&(e=t.length);for(var n=0,r=new Array(e);nl[n]+o?Math.max(f,l[n]):Math.max(h,l[n])},t}return e=c,(n=[{key:"componentDidMount",value:function(){this.updateBBox()}},{key:"componentDidUpdate",value:function(){this.updateBBox()}},{key:"updateBBox",value:function(){var t=this.state,e=t.boxWidth,n=t.boxHeight;if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var r=this.wrapperNode.getBoundingClientRect();(Math.abs(r.width-e)>1||Math.abs(r.height-n)>1)&&this.setState({boxWidth:r.width,boxHeight:r.height})}else-1===e&&-1===n||this.setState({boxWidth:-1,boxHeight:-1})}},{key:"render",value:function(){var t,e,n,r=this,i=this.props,c=i.payload,f=i.isAnimationActive,p=i.animationDuration,d=i.animationEasing,y=i.filterNull,v=function(t,e){return!0===t?u()(e,H):a()(t)?u()(e,t):e}(i.payloadUniqBy,y&&c&&c.length?c.filter((function(t){return!o()(t.value)})):c),m=v&&v.length,b=this.props,x=b.content,w=b.viewBox,O=b.coordinate,_=b.position,E=b.active,S=D({pointerEvents:"none",visibility:E&&m?"visible":"hidden",position:"absolute",top:0,left:0},b.wrapperStyle);if(_&&(0,g.hj)(_.x)&&(0,g.hj)(_.y))e=_.x,n=_.y;else{var k=this.state,j=k.boxWidth,A=k.boxHeight;j>0&&A>0&&O?(e=this.getTranslate({key:"x",tooltipDimension:j,viewBoxDimension:w.width}),n=this.getTranslate({key:"y",tooltipDimension:A,viewBoxDimension:w.height})):S.visibility="hidden"}S=D(D({},(0,l.bO)({transform:this.props.useTranslate3d?"translate3d(".concat(e,"px, ").concat(n,"px, 0)"):"translate(".concat(e,"px, ").concat(n,"px)")})),S),f&&E&&(S=D(D({},(0,l.bO)({transition:"transform ".concat(p,"ms ").concat(d)})),S));var M=h()(W,(R(t={},"".concat(W,"-right"),(0,g.hj)(e)&&O&&(0,g.hj)(O.x)&&e>=O.x),R(t,"".concat(W,"-left"),(0,g.hj)(e)&&O&&(0,g.hj)(O.x)&&e=O.y),R(t,"".concat(W,"-top"),(0,g.hj)(n)&&O&&(0,g.hj)(O.y)&&n=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function s(t){var e=t.children,n=t.className,o=u(t,["children","className"]),s=i()("recharts-layer",n);return r.createElement("g",c({className:s},(0,a.L6)(o,!0)),e)}},47142:function(t,e,n){"use strict";n.d(e,{T:function(){return s}});var r=n(50390),o=n(97715),i=n.n(o),a=n(54183);function c(){return c=Object.assign||function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function s(t){var e=t.children,n=t.width,o=t.height,s=t.viewBox,l=t.className,f=t.style,h=u(t,["children","width","height","viewBox","className","style"]),p=s||{width:n,height:o,x:0,y:0},d=i()("recharts-surface",l);return r.createElement("svg",c({},(0,a.L6)(h,!0,!0),{className:d,width:n,height:o,style:f,viewBox:"".concat(p.x," ").concat(p.y," ").concat(p.width," ").concat(p.height),version:"1.1"}),e)}},27775:function(t,e,n){"use strict";n.d(e,{H:function(){return tt}});var r=n(85809),o=n.n(r),i=n(54088),a=n.n(i),c=n(66071),u=n.n(c),s=n(50390);function l(){}function f(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function h(t){this._context=t}function p(t){this._context=t}function d(t){this._context=t}function y(t){this._context=t}function v(t){this._context=t}function g(t){return new v(t)}function m(t){return t<0?-1:1}function b(t,e,n){var r=t._x1-t._x0,o=e-t._x1,i=(t._y1-t._y0)/(r||o<0&&-0),a=(n-t._y1)/(o||r<0&&-0),c=(i*o+a*r)/(r+o);return(m(i)+m(a))*Math.min(Math.abs(i),Math.abs(a),.5*Math.abs(c))||0}function x(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function w(t,e,n){var r=t._x0,o=t._y0,i=t._x1,a=t._y1,c=(i-r)/3;t._context.bezierCurveTo(r+c,o+c*e,i-c,a-c*n,i,a)}function O(t){this._context=t}function _(t){this._context=new E(t)}function E(t){this._context=t}function S(t){this._context=t}function k(t){var e,n,r=t.length-1,o=new Array(r),i=new Array(r),a=new Array(r);for(o[0]=0,i[0]=2,a[0]=t[0]+2*t[1],e=1;e=0;--e)o[e]=(a[e]-o[e+1])/i[e];for(i[r-1]=(t[r]+o[r-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}};var A=n(18117),M=n(58462),P=n(49555);function T(t){return t[0]}function C(t){return t[1]}function N(t,e){var n=(0,P.Z)(!0),r=null,o=g,i=null;function a(a){var c,u,s,l=(a=(0,M.Z)(a)).length,f=!1;for(null==r&&(i=o(s=(0,A.Z)())),c=0;c<=l;++c)!(c=l;--f)c.point(v[f],g[f]);c.lineEnd(),c.areaEnd()}y&&(v[s]=+t(h,s,u),g[s]=+e(h,s,u),c.point(r?+r(h,s,u):v[s],n?+n(h,s,u):g[s]))}if(p)return c=null,p+""||null}function s(){return N().defined(o).curve(a).context(i)}return t="function"===typeof t?t:void 0===t?T:(0,P.Z)(+t),e="function"===typeof e?e:void 0===e?(0,P.Z)(0):(0,P.Z)(+e),n="function"===typeof n?n:void 0===n?C:(0,P.Z)(+n),u.x=function(e){return arguments.length?(t="function"===typeof e?e:(0,P.Z)(+e),r=null,u):t},u.x0=function(e){return arguments.length?(t="function"===typeof e?e:(0,P.Z)(+e),u):t},u.x1=function(t){return arguments.length?(r=null==t?null:"function"===typeof t?t:(0,P.Z)(+t),u):r},u.y=function(t){return arguments.length?(e="function"===typeof t?t:(0,P.Z)(+t),n=null,u):e},u.y0=function(t){return arguments.length?(e="function"===typeof t?t:(0,P.Z)(+t),u):e},u.y1=function(t){return arguments.length?(n=null==t?null:"function"===typeof t?t:(0,P.Z)(+t),u):n},u.lineX0=u.lineY0=function(){return s().x(t).y(e)},u.lineY1=function(){return s().x(t).y(n)},u.lineX1=function(){return s().x(r).y(e)},u.defined=function(t){return arguments.length?(o="function"===typeof t?t:(0,P.Z)(!!t),u):o},u.curve=function(t){return arguments.length?(a=t,null!=i&&(c=a(i)),u):a},u.context=function(t){return arguments.length?(null==t?i=c=null:c=a(i=t),u):i},u}var D=n(97715),R=n.n(D),L=n(54183),B=n(30631);function F(t){return F="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},F(t)}function U(){return U=Object.assign||function(t){for(var e=1;e=0?1:-1,u=n>=0?1:-1,s=r>=0&&n>=0||r<0&&n<0?1:0;if(a>0&&o instanceof Array){for(var l=[0,0,0,0],f=0;f<4;f++)l[f]=o[f]>a?a:o[f];i="M".concat(t,",").concat(e+c*l[0]),l[0]>0&&(i+="A ".concat(l[0],",").concat(l[0],",0,0,").concat(s,",").concat(t+u*l[0],",").concat(e)),i+="L ".concat(t+n-u*l[1],",").concat(e),l[1]>0&&(i+="A ".concat(l[1],",").concat(l[1],",0,0,").concat(s,",\n ").concat(t+n,",").concat(e+c*l[1])),i+="L ".concat(t+n,",").concat(e+r-c*l[2]),l[2]>0&&(i+="A ".concat(l[2],",").concat(l[2],",0,0,").concat(s,",\n ").concat(t+n-u*l[2],",").concat(e+r)),i+="L ".concat(t+u*l[3],",").concat(e+r),l[3]>0&&(i+="A ".concat(l[3],",").concat(l[3],",0,0,").concat(s,",\n ").concat(t,",").concat(e+r-c*l[3])),i+="Z"}else if(a>0&&o===+o&&o>0){var h=Math.min(a,o);i="M ".concat(t,",").concat(e+c*h,"\n A ").concat(h,",").concat(h,",0,0,").concat(s,",").concat(t+u*h,",").concat(e,"\n L ").concat(t+n-u*h,",").concat(e,"\n A ").concat(h,",").concat(h,",0,0,").concat(s,",").concat(t+n,",").concat(e+c*h,"\n L ").concat(t+n,",").concat(e+r-c*h,"\n A ").concat(h,",").concat(h,",0,0,").concat(s,",").concat(t+n-u*h,",").concat(e+r,"\n L ").concat(t+u*h,",").concat(e+r,"\n A ").concat(h,",").concat(h,",0,0,").concat(s,",").concat(t,",").concat(e+r-c*h," Z")}else i="M ".concat(t,",").concat(e," h ").concat(n," v ").concat(r," h ").concat(-n," Z");return i},g=function(t,e){if(!t||!e)return!1;var n=t.x,r=t.y,o=e.x,i=e.y,a=e.width,c=e.height;if(Math.abs(a)>0&&Math.abs(c)>0){var u=Math.min(o,o+a),s=Math.max(o,o+a),l=Math.min(i,i+c),f=Math.max(i,i+c);return n>=u&&n<=s&&r>=l&&r<=f}return!1},m=function(t){!function(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&h(t,e)}(d,t);var e,n,o,u=p(d);function d(){var t;l(this,d);for(var e=arguments.length,n=new Array(e),r=0;r0,from:{width:u,height:l,x:n,y:o},to:{width:u,height:l,x:n,y:o},duration:g,animationEasing:y,isActive:x},(function(e){var n=e.width,o=e.height,i=e.x,u=e.y;return r.createElement(a.ZP,{canBegin:p>0,from:"0px ".concat(-1===p?1:p,"px"),to:"".concat(p,"px 0px"),attributeName:"strokeDasharray",begin:m,duration:g,isActive:b,easing:y},r.createElement("path",s({},(0,c.L6)(t.props,!0),{className:w,d:v(i,u,n,o,f),ref:function(e){t.node=e}})))})):r.createElement("path",s({},(0,c.L6)(this.props,!0),{className:w,d:v(n,o,u,l,f)}))}}])&&f(e.prototype,n),o&&f(e,o),d}(r.PureComponent);m.defaultProps={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"}},19139:function(t,e,n){"use strict";n.d(e,{L:function(){return b}});var r=n(50390),o=n(97715),i=n.n(o),a=n(54183),c=n(6182),u=n(30631);function s(t){return s="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s(t)}function l(){return l=Object.assign||function(t){for(var e=1;e180),",").concat(+(i>s),",\n ").concat(f.x,",").concat(f.y,"\n ");if(r>0){var p=(0,c.op)(e,n,r,i),d=(0,c.op)(e,n,r,s);h+="L ".concat(d.x,",").concat(d.y,"\n A ").concat(r,",").concat(r,",0,\n ").concat(+(Math.abs(a)>180),",").concat(+(i<=s),",\n ").concat(p.x,",").concat(p.y," Z")}else h+="L ".concat(e,",").concat(n," Z");return h},b=function(t){!function(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&p(t,e)}(s,t);var e,n,o,c=d(s);function s(){return f(this,s),c.apply(this,arguments)}return e=s,(n=[{key:"render",value:function(){var t=this.props,e=t.cx,n=t.cy,o=t.innerRadius,c=t.outerRadius,s=t.cornerRadius,f=t.forceCornerRadius,h=t.cornerIsExternal,p=t.startAngle,d=t.endAngle,y=t.className;if(c0&&Math.abs(p-d)<360?function(t){var e=t.cx,n=t.cy,r=t.innerRadius,o=t.outerRadius,i=t.cornerRadius,a=t.forceCornerRadius,c=t.cornerIsExternal,s=t.startAngle,l=t.endAngle,f=(0,u.uY)(l-s),h=g({cx:e,cy:n,radius:o,angle:s,sign:f,cornerRadius:i,cornerIsExternal:c}),p=h.circleTangency,d=h.lineTangency,y=h.theta,v=g({cx:e,cy:n,radius:o,angle:l,sign:-f,cornerRadius:i,cornerIsExternal:c}),b=v.circleTangency,x=v.lineTangency,w=v.theta,O=c?Math.abs(s-l):Math.abs(s-l)-y-w;if(O<0)return a?"M ".concat(d.x,",").concat(d.y,"\n a").concat(i,",").concat(i,",0,0,1,").concat(2*i,",0\n a").concat(i,",").concat(i,",0,0,1,").concat(2*-i,",0\n "):m({cx:e,cy:n,innerRadius:r,outerRadius:o,startAngle:s,endAngle:l});var _="M ".concat(d.x,",").concat(d.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(f<0),",").concat(p.x,",").concat(p.y,"\n A").concat(o,",").concat(o,",0,").concat(+(O>180),",").concat(+(f<0),",").concat(b.x,",").concat(b.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(f<0),",").concat(x.x,",").concat(x.y,"\n ");if(r>0){var E=g({cx:e,cy:n,radius:r,angle:s,sign:f,isExternal:!0,cornerRadius:i,cornerIsExternal:c}),S=E.circleTangency,k=E.lineTangency,j=E.theta,A=g({cx:e,cy:n,radius:r,angle:l,sign:-f,isExternal:!0,cornerRadius:i,cornerIsExternal:c}),M=A.circleTangency,P=A.lineTangency,T=A.theta,C=c?Math.abs(s-l):Math.abs(s-l)-j-T;if(C<0&&0===i)return"".concat(_,"L").concat(e,",").concat(n,"Z");_+="L".concat(P.x,",").concat(P.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(f<0),",").concat(M.x,",").concat(M.y,"\n A").concat(r,",").concat(r,",0,").concat(+(C>180),",").concat(+(f>0),",").concat(S.x,",").concat(S.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(f<0),",").concat(k.x,",").concat(k.y,"Z")}else _+="L".concat(e,",").concat(n,"Z");return _}({cx:e,cy:n,innerRadius:o,outerRadius:c,cornerRadius:Math.min(w,x/2),forceCornerRadius:f,cornerIsExternal:h,startAngle:p,endAngle:d}):m({cx:e,cy:n,innerRadius:o,outerRadius:c,startAngle:p,endAngle:d}),r.createElement("path",l({},(0,a.L6)(this.props,!0),{className:b,d:v}))}}])&&h(e.prototype,n),o&&h(e,o),s}(r.PureComponent);b.defaultProps={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1}},49773:function(t,e,n){"use strict";n.d(e,{t9:function(){return d},O1:function(){return y},_b:function(){return v},Ky:function(){return m}});var r=n(69087),o=n.n(r),i=n(89493),a=n.n(i),c=n(46154),u=n(79853),s=n(30631);function l(t,e){for(var n=0;n0&&(A=Math.min((t||0)-(M[e-1]||0),A))}));var P=A/j,T="vertical"===b.layout?n.height:n.width;if("gap"===b.padding&&(u=P*T/2),"no-gap"===b.padding){var C=(0,s.h1)(t.barCategoryGap,P*T),N=P*T/2;u=N-C-(N-C)/T*C}}f="xAxis"===r?[n.left+(_.left||0)+(u||0),n.left+n.width-(_.right||0)-(u||0)]:"yAxis"===r?"horizontal"===l?[n.top+n.height-(_.bottom||0),n.top+(_.top||0)]:[n.top+(_.top||0)+(u||0),n.top+n.height-(_.bottom||0)-(u||0)]:b.range,S&&(f=[f[1],f[0]]);var I=(0,c.Hq)(b,o,v),D=I.scale,R=I.realScaleType;D.domain(w).range(f),(0,c.zF)(D);var L=(0,c.g$)(D,h(h({},b),{},{realScaleType:R}));"xAxis"===r?(m="top"===x&&!E||"bottom"===x&&E,d=n.left,g=y[k]-m*b.height):"yAxis"===r&&(m="left"===x&&!E||"right"===x&&E,d=y[k]-m*b.width,g=n.top);var B=h(h(h({},b),L),{},{realScaleType:R,x:d,y:g,scale:D,width:"xAxis"===r?n.width:b.width,height:"yAxis"===r?n.height:b.height});return B.bandSize=(0,c.zT)(B,L),b.hide||"xAxis"!==r?b.hide||(y[k]+=(m?-1:1)*B.width):y[k]+=(m?-1:1)*B.height,h(h({},i),{},p({},a,B))}),{})},y=function(t,e){var n=t.x,r=t.y,o=e.x,i=e.y;return{x:Math.min(n,o),y:Math.min(r,i),width:Math.abs(o-n),height:Math.abs(i-r)}},v=function(t){var e=t.x1,n=t.y1,r=t.x2,o=t.y2;return y({x:e,y:n},{x:r,y:o})},g=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.scale=void 0,this.scale=e}var e,n,r;return e=t,n=[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.bandAware,r=e.position;if(void 0!==t){if(r)switch(r){case"start":default:return this.scale(t);case"middle":var o=this.bandwidth?this.bandwidth()/2:0;return this.scale(t)+o;case"end":var i=this.bandwidth?this.bandwidth():0;return this.scale(t)+i}if(n){var a=this.bandwidth?this.bandwidth()/2:0;return this.scale(t)+a}return this.scale(t)}}},{key:"isInRange",value:function(t){var e=this.range(),n=e[0],r=e[e.length-1];return n<=r?t>=n&&t<=r:t>=r&&t<=n}}],r=[{key:"create",value:function(e){return new t(e)}}],n&&l(e.prototype,n),r&&l(e,r),t}();g.EPS=1e-4;var m=function(t){var e=Object.keys(t).reduce((function(e,n){return h(h({},e),{},p({},n,g.create(t[n])))}),{});return h(h({},e),{},{apply:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.bandAware,o=n.position;return a()(t,(function(t,n){return e[n].apply(t,{bandAware:r,position:o})}))},isInRange:function(t){return o()(t,(function(t,n){return e[n].isInRange(t)}))}})}},46154:function(t,e,n){"use strict";n.d(e,{By:function(){return Bi},VO:function(){return Ni},zF:function(){return Yi},DO:function(){return Gi},Bu:function(){return Xi},zT:function(){return sa},qz:function(){return Li},pt:function(){return Ri},Yj:function(){return ra},Fy:function(){return na},Hv:function(){return ea},Rf:function(){return Wi},gF:function(){return Ci},s6:function(){return zi},EB:function(){return ia},zp:function(){return Di},fk:function(){return Ii},wh:function(){return Qi},O3:function(){return oa},uY:function(){return Hi},g$:function(){return ta},Qo:function(){return fa},F$:function(){return Ti},NA:function(){return Vi},ko:function(){return la},ZI:function(){return Ui},Hq:function(){return qi},LG:function(){return ua},Vv:function(){return $i}});var r={};n.r(r),n.d(r,{scaleBand:function(){return tt.Z},scaleDiverging:function(){return fi},scaleDivergingLog:function(){return hi},scaleDivergingPow:function(){return di},scaleDivergingSqrt:function(){return yi},scaleDivergingSymlog:function(){return pi},scaleIdentity:function(){return Ue},scaleImplicit:function(){return tn.O},scaleLinear:function(){return Fe},scaleLog:function(){return Xe},scaleOrdinal:function(){return tn.Z},scalePoint:function(){return tt.x},scalePow:function(){return an},scaleQuantile:function(){return gn},scaleQuantize:function(){return bn},scaleRadial:function(){return ln},scaleSequential:function(){return ri},scaleSequentialLog:function(){return oi},scaleSequentialPow:function(){return ai},scaleSequentialQuantile:function(){return ui},scaleSequentialSqrt:function(){return ci},scaleSequentialSymlog:function(){return ii},scaleSqrt:function(){return cn},scaleSymlog:function(){return Qe},scaleThreshold:function(){return xn},scaleTime:function(){return Qo},scaleUtc:function(){return ti},tickFormat:function(){return Le}});var o=n(52891),i=n.n(o),a=n(58850),c=n.n(a),u=n(40386),s=n.n(u),l=n(54088),f=n.n(l),h=n(64364),p=n.n(h),d=n(85809),y=n.n(d),v=n(98398),g=n.n(v),m=n(71441),b=n.n(m),x=n(78538),w=n.n(x),O=n(66071),_=n.n(O),E=n(38342),S=n.n(E),k=n(85686),j=n.n(k),A=n(68831),M=n.n(A);function P(t){return function(t){if(Array.isArray(t))return T(t)}(t)||function(t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"===typeof t)return T(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return T(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=e?n.apply(void 0,o):t(e-a,D((function(){for(var t=arguments.length,e=new Array(t),r=0;rt.length)&&(e=t.length);for(var n=0,r=new Array(e);nr&&(o=r,i=n),[o,i]}function X(t,e,n){if(t.lte(0))return new(M())(0);var r=W.getDigitCount(t.toNumber()),o=new(M())(10).pow(r),i=t.div(o),a=1!==r?.05:.1,c=new(M())(Math.ceil(i.div(a).toNumber())).add(n).mul(a).mul(o);return e?c:new(M())(Math.ceil(c))}function $(t,e,n){var r=1,o=new(M())(t);if(!o.isint()&&n){var i=Math.abs(t);i<1?(r=new(M())(10).pow(W.getDigitCount(t)-1),o=new(M())(Math.floor(o.div(r).toNumber())).mul(r)):i>1&&(o=new(M())(Math.floor(t)))}else 0===t?o=new(M())(Math.floor((e-1)/2)):n||(o=new(M())(Math.floor(t)));var a=Math.floor((e-1)/2);return U(F((function(t){return o.add(new(M())(t-a).mul(r)).toNumber()})),B)(0,e)}function K(t,e,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(!Number.isFinite((e-t)/(n-1)))return{step:new(M())(0),tickMin:new(M())(0),tickMax:new(M())(0)};var i,a=X(new(M())(e).sub(t).div(n-1),r,o);i=t<=0&&e>=0?new(M())(0):(i=new(M())(t).add(e).div(2)).sub(new(M())(i).mod(a));var c=Math.ceil(i.sub(t).div(a).toNumber()),u=Math.ceil(new(M())(e).sub(i).div(a).toNumber()),s=c+u+1;return s>n?K(t,e,n,r,o+1):(s0?u+(n-s):u,c=e>0?c:c+(n-s)),{step:a,tickMin:i.sub(new(M())(c).mul(a)),tickMax:i.add(new(M())(u).mul(a))})}var J=V((function(t){var e=G(t,2),n=e[0],r=e[1],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=Math.max(o,2),c=Y([n,r]),u=G(c,2),s=u[0],l=u[1];if(s===-1/0||l===1/0){var f=l===1/0?[s].concat(H(B(0,o-1).map((function(){return 1/0})))):[].concat(H(B(0,o-1).map((function(){return-1/0}))),[l]);return n>r?z(f):f}if(s===l)return $(s,o,i);var h=K(s,l,a,i),p=h.step,d=h.tickMin,y=h.tickMax,v=W.rangeStep(d,y.add(new(M())(.1).mul(p)),p);return n>r?z(v):v})),Q=(V((function(t){var e=G(t,2),n=e[0],r=e[1],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=Math.max(o,2),c=Y([n,r]),u=G(c,2),s=u[0],l=u[1];if(s===-1/0||l===1/0)return[n,r];if(s===l)return $(s,o,i);var f=X(new(M())(l).sub(s).div(a-1),i,0),h=U(F((function(t){return new(M())(s).add(new(M())(t).mul(f)).toNumber()})),B),p=h(0,a).filter((function(t){return t>=s&&t<=l}));return n>r?z(p):p})),V((function(t,e){var n=G(t,2),r=n[0],o=n[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=Y([r,o]),c=G(a,2),u=c[0],s=c[1];if(u===-1/0||s===1/0)return[r,o];if(u===s)return[u];var l=Math.max(e,2),f=X(new(M())(s).sub(u).div(l-1),i,0),h=[].concat(H(W.rangeStep(new(M())(u),new(M())(s).sub(new(M())(.99).mul(f)),f)),[s]);return r>o?z(h):h}))),tt=n(64868),et=Math.sqrt(50),nt=Math.sqrt(10),rt=Math.sqrt(2);function ot(t,e,n){var r,o,i,a,c=-1;if(n=+n,(t=+t)===(e=+e)&&n>0)return[t];if((r=e0){var u=Math.round(t/a),s=Math.round(e/a);for(u*ae&&--s,i=new Array(o=s-u+1);++ce&&--f,i=new Array(o=f-l+1);++c=0?(i>=et?10:i>=nt?5:i>=rt?2:1)*Math.pow(10,o):-Math.pow(10,-o)/(i>=et?10:i>=nt?5:i>=rt?2:1)}function at(t,e,n){var r=Math.abs(e-t)/Math.max(0,n),o=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),i=r/o;return i>=et?o*=10:i>=nt?o*=5:i>=rt&&(o*=2),ee?1:t>=e?0:NaN}function ut(t){var e=t,n=t;function r(t,e,r,o){for(null==r&&(r=0),null==o&&(o=t.length);r>>1;n(t[i],e)<0?r=i+1:o=i}return r}return 1===t.length&&(e=function(e,n){return t(e)-n},n=function(t){return function(e,n){return ct(t(e),n)}}(t)),{left:r,center:function(t,n,o,i){null==o&&(o=0),null==i&&(i=t.length);var a=r(t,n,o,i-1);return a>o&&e(t[a-1],n)>-e(t[a],n)?a-1:a},right:function(t,e,r,o){for(null==r&&(r=0),null==o&&(o=t.length);r>>1;n(t[i],e)>0?o=i:r=i+1}return r}}}var st=n(89472),lt=n(84322),ft=n.n(lt),ht=ft().mark(dt);function pt(t){return null===t?NaN:+t}function dt(t,e){var n,r,o,i,a,c,u;return ft().wrap((function(s){for(;;)switch(s.prev=s.next){case 0:if(void 0!==e){s.next=21;break}n=(0,st.Z)(t),s.prev=2,n.s();case 4:if((r=n.n()).done){s.next=11;break}if(!(null!=(o=r.value)&&(o=+o)>=o)){s.next=9;break}return s.next=9,o;case 9:s.next=4;break;case 11:s.next=16;break;case 13:s.prev=13,s.t0=s.catch(2),n.e(s.t0);case 16:return s.prev=16,n.f(),s.finish(16);case 19:s.next=40;break;case 21:i=-1,a=(0,st.Z)(t),s.prev=23,a.s();case 25:if((c=a.n()).done){s.next=32;break}if(u=c.value,!(null!=(u=e(u,++i,t))&&(u=+u)>=u)){s.next=30;break}return s.next=30,u;case 30:s.next=25;break;case 32:s.next=37;break;case 34:s.prev=34,s.t1=s.catch(23),a.e(s.t1);case 37:return s.prev=37,a.f(),s.finish(37);case 40:case"end":return s.stop()}}),ht,null,[[2,13,16,19],[23,34,37,40]])}var yt=ut(ct),vt=yt.right,gt=(yt.left,ut(pt).center,vt);function mt(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function bt(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function xt(){}var wt=.7,Ot=1/wt,_t="\\s*([+-]?\\d+)\\s*",Et="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",St="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",kt=/^#([0-9a-f]{3,8})$/,jt=new RegExp("^rgb\\("+[_t,_t,_t]+"\\)$"),At=new RegExp("^rgb\\("+[St,St,St]+"\\)$"),Mt=new RegExp("^rgba\\("+[_t,_t,_t,Et]+"\\)$"),Pt=new RegExp("^rgba\\("+[St,St,St,Et]+"\\)$"),Tt=new RegExp("^hsl\\("+[Et,St,St]+"\\)$"),Ct=new RegExp("^hsla\\("+[Et,St,St,Et]+"\\)$"),Nt={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function It(){return this.rgb().formatHex()}function Dt(){return this.rgb().formatRgb()}function Rt(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=kt.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?Lt(e):3===n?new zt(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?Bt(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?Bt(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=jt.exec(t))?new zt(e[1],e[2],e[3],1):(e=At.exec(t))?new zt(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=Mt.exec(t))?Bt(e[1],e[2],e[3],e[4]):(e=Pt.exec(t))?Bt(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=Tt.exec(t))?Gt(e[1],e[2]/100,e[3]/100,1):(e=Ct.exec(t))?Gt(e[1],e[2]/100,e[3]/100,e[4]):Nt.hasOwnProperty(t)?Lt(Nt[t]):"transparent"===t?new zt(NaN,NaN,NaN,0):null}function Lt(t){return new zt(t>>16&255,t>>8&255,255&t,1)}function Bt(t,e,n,r){return r<=0&&(t=e=n=NaN),new zt(t,e,n,r)}function Ft(t){return t instanceof xt||(t=Rt(t)),t?new zt((t=t.rgb()).r,t.g,t.b,t.opacity):new zt}function Ut(t,e,n,r){return 1===arguments.length?Ft(t):new zt(t,e,n,null==r?1:r)}function zt(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function Vt(){return"#"+Ht(this.r)+Ht(this.g)+Ht(this.b)}function Wt(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function Ht(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function Gt(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Zt(t,e,n,r)}function qt(t){if(t instanceof Zt)return new Zt(t.h,t.s,t.l,t.opacity);if(t instanceof xt||(t=Rt(t)),!t)return new Zt;if(t instanceof Zt)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,o=Math.min(e,n,r),i=Math.max(e,n,r),a=NaN,c=i-o,u=(i+o)/2;return c?(a=e===i?(n-r)/c+6*(n0&&u<1?0:a,new Zt(a,c,u,t.opacity)}function Zt(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function Yt(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}function Xt(t,e,n,r,o){var i=t*t,a=i*t;return((1-3*t+3*i-a)*e+(4-6*i+3*a)*n+(1+3*t+3*i-3*a)*r+a*o)/6}mt(xt,Rt,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:It,formatHex:It,formatHsl:function(){return qt(this).formatHsl()},formatRgb:Dt,toString:Dt}),mt(zt,Ut,bt(xt,{brighter:function(t){return t=null==t?Ot:Math.pow(Ot,t),new zt(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?wt:Math.pow(wt,t),new zt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Vt,formatHex:Vt,formatRgb:Wt,toString:Wt})),mt(Zt,(function(t,e,n,r){return 1===arguments.length?qt(t):new Zt(t,e,n,null==r?1:r)}),bt(xt,{brighter:function(t){return t=null==t?Ot:Math.pow(Ot,t),new Zt(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?wt:Math.pow(wt,t),new Zt(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,o=2*n-r;return new zt(Yt(t>=240?t-240:t+120,o,r),Yt(t,o,r),Yt(t<120?t+240:t-120,o,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));var $t=function(t){return function(){return t}};function Kt(t,e){return function(n){return t+n*e}}function Jt(t){return 1===(t=+t)?Qt:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}(e,n,t):$t(isNaN(e)?n:e)}}function Qt(t,e){var n=e-t;return n?Kt(t,n):$t(isNaN(t)?e:t)}var te=function t(e){var n=Jt(e);function r(t,e){var r=n((t=Ut(t)).r,(e=Ut(e)).r),o=n(t.g,e.g),i=n(t.b,e.b),a=Qt(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=o(e),t.b=i(e),t.opacity=a(e),t+""}}return r.gamma=t,r}(1);function ee(t){return function(e){var n,r,o=e.length,i=new Array(o),a=new Array(o),c=new Array(o);for(n=0;n=1?(n=1,e-1):Math.floor(n*e),o=t[r],i=t[r+1],a=r>0?t[r-1]:2*o-i,c=ri&&(o=e.slice(i,o),c[a]?c[a]+=o:c[++a]=o),(n=n[0])===(r=r[0])?c[a]?c[a]+=r:c[++a]=r:(c[++a]=null,u.push({i:a,x:oe(n,r)})),i=ce.lastIndex;return ie&&(n=t,t=e,e=n),function(n){return Math.max(t,Math.min(e,n))}}(a[0],a[t-1])),r=t>2?ge:ve,o=i=null,f}function f(e){return null==e||isNaN(e=+e)?n:(o||(o=r(a.map(t),c,u)))(t(s(e)))}return f.invert=function(n){return s(e((i||(i=r(c,a.map(t),oe)))(n)))},f.domain=function(t){return arguments.length?(a=Array.from(t,he),l()):a.slice()},f.range=function(t){return arguments.length?(c=Array.from(t),l()):c.slice()},f.rangeRound=function(t){return c=Array.from(t),u=fe,l()},f.clamp=function(t){return arguments.length?(s=!!t||de,l()):s!==de},f.interpolate=function(t){return arguments.length?(u=t,l()):u},f.unknown=function(t){return arguments.length?(n=t,f):n},function(n,r){return t=n,e=r,l()}}function xe(){return be()(de,de)}var we,Oe=n(22281),_e=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Ee(t){if(!(e=_e.exec(t)))throw new Error("invalid format: "+t);var e;return new Se({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function Se(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function ke(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function je(t){return(t=ke(Math.abs(t)))?t[1]:NaN}function Ae(t,e){var n=ke(t,e);if(!n)return t+"";var r=n[0],o=n[1];return o<0?"0."+new Array(-o).join("0")+r:r.length>o+1?r.slice(0,o+1)+"."+r.slice(o+1):r+new Array(o-r.length+2).join("0")}Ee.prototype=Se.prototype,Se.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var Me={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return Ae(100*t,e)},r:Ae,s:function(t,e){var n=ke(t,e);if(!n)return t+"";var r=n[0],o=n[1],i=o-(we=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,a=r.length;return i===a?r:i>a?r+new Array(i-a+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+new Array(1-i).join("0")+ke(t,Math.max(0,e+i-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function Pe(t){return t}var Te,Ce,Ne,Ie=Array.prototype.map,De=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function Re(t){var e,n,r=void 0===t.grouping||void 0===t.thousands?Pe:(e=Ie.call(t.grouping,Number),n=t.thousands+"",function(t,r){for(var o=t.length,i=[],a=0,c=e[0],u=0;o>0&&c>0&&(u+c+1>r&&(c=Math.max(1,r-u)),i.push(t.substring(o-=c,o+c)),!((u+=c+1)>r));)c=e[a=(a+1)%e.length];return i.reverse().join(n)}),o=void 0===t.currency?"":t.currency[0]+"",i=void 0===t.currency?"":t.currency[1]+"",a=void 0===t.decimal?".":t.decimal+"",c=void 0===t.numerals?Pe:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(Ie.call(t.numerals,String)),u=void 0===t.percent?"%":t.percent+"",s=void 0===t.minus?"\u2212":t.minus+"",l=void 0===t.nan?"NaN":t.nan+"";function f(t){var e=(t=Ee(t)).fill,n=t.align,f=t.sign,h=t.symbol,p=t.zero,d=t.width,y=t.comma,v=t.precision,g=t.trim,m=t.type;"n"===m?(y=!0,m="g"):Me[m]||(void 0===v&&(v=12),g=!0,m="g"),(p||"0"===e&&"="===n)&&(p=!0,e="0",n="=");var b="$"===h?o:"#"===h&&/[boxX]/.test(m)?"0"+m.toLowerCase():"",x="$"===h?i:/[%p]/.test(m)?u:"",w=Me[m],O=/[defgprs%]/.test(m);function _(t){var o,i,u,h=b,_=x;if("c"===m)_=w(t)+_,t="";else{var E=(t=+t)<0||1/t<0;if(t=isNaN(t)?l:w(Math.abs(t),v),g&&(t=function(t){t:for(var e,n=t.length,r=1,o=-1;r0&&(o=0)}return o>0?t.slice(0,o)+t.slice(e+1):t}(t)),E&&0===+t&&"+"!==f&&(E=!1),h=(E?"("===f?f:s:"-"===f||"("===f?"":f)+h,_=("s"===m?De[8+we/3]:"")+_+(E&&"("===f?")":""),O)for(o=-1,i=t.length;++o(u=t.charCodeAt(o))||u>57){_=(46===u?a+t.slice(o+1):t.slice(o))+_,t=t.slice(0,o);break}}y&&!p&&(t=r(t,1/0));var S=h.length+t.length+_.length,k=S>1)+h+t+_+k.slice(S);break;default:t=k+h+t+_}return c(t)}return v=void 0===v?6:/[gprs]/.test(m)?Math.max(1,Math.min(21,v)):Math.max(0,Math.min(20,v)),_.toString=function(){return t+""},_}return{format:f,formatPrefix:function(t,e){var n=f(((t=Ee(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(je(e)/3))),o=Math.pow(10,-r),i=De[8+r/3];return function(t){return n(o*t)+i}}}}function Le(t,e,n,r){var o,i=at(t,e,n);switch((r=Ee(null==r?",f":r)).type){case"s":var a=Math.max(Math.abs(t),Math.abs(e));return null!=r.precision||isNaN(o=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(je(e)/3)))-je(Math.abs(t)))}(i,a))||(r.precision=o),Ne(r,a);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(o=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,je(e)-je(t))+1}(i,Math.max(Math.abs(t),Math.abs(e))))||(r.precision=o-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(o=function(t){return Math.max(0,-je(Math.abs(t)))}(i))||(r.precision=o-2*("%"===r.type))}return Ce(r)}function Be(t){var e=t.domain;return t.ticks=function(t){var n=e();return ot(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){var r=e();return Le(r[0],r[r.length-1],null==t?10:t,n)},t.nice=function(n){null==n&&(n=10);var r,o,i=e(),a=0,c=i.length-1,u=i[a],s=i[c],l=10;for(s0;){if((o=it(u,s,n))===r)return i[a]=u,i[c]=s,e(i);if(o>0)u=Math.floor(u/o)*o,s=Math.ceil(s/o)*o;else{if(!(o<0))break;u=Math.ceil(u*o)/o,s=Math.floor(s*o)/o}r=o}return t},t}function Fe(){var t=xe();return t.copy=function(){return me(t,Fe())},Oe.o.apply(t,arguments),Be(t)}function Ue(t){var e;function n(t){return null==t||isNaN(t=+t)?e:t}return n.invert=n,n.domain=n.range=function(e){return arguments.length?(t=Array.from(e,he),n):t.slice()},n.unknown=function(t){return arguments.length?(e=t,n):e},n.copy=function(){return Ue(t).unknown(e)},t=arguments.length?Array.from(t,he):[0,1],Be(n)}function ze(t,e){var n,r=0,o=(t=t.slice()).length-1,i=t[r],a=t[o];return a0){for(;h<=p;++h)for(l=1,s=n(h);lu)break;y.push(f)}}else for(;h<=p;++h)for(l=i-1,s=n(h);l>=1;--l)if(!((f=s*l)u)break;y.push(f)}2*y.length=i)&&(n=i)}}catch(l){o.e(l)}finally{o.f()}}else{var a,c=-1,u=(0,st.Z)(t);try{for(u.s();!(a=u.n()).done;){var s=a.value;null!=(s=e(s,++c,t))&&(n=s)&&(n=s)}}catch(l){u.e(l)}finally{u.f()}}return n}function hn(t,e){var n;if(void 0===e){var r,o=(0,st.Z)(t);try{for(o.s();!(r=o.n()).done;){var i=r.value;null!=i&&(n>i||void 0===n&&i>=i)&&(n=i)}}catch(l){o.e(l)}finally{o.f()}}else{var a,c=-1,u=(0,st.Z)(t);try{for(u.s();!(a=u.n()).done;){var s=a.value;null!=(s=e(s,++c,t))&&(n>s||void 0===n&&s>=s)&&(n=s)}}catch(l){u.e(l)}finally{u.f()}}return n}function pn(t,e){for(var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t.length-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:ct;r>n;){if(r-n>600){var i=r-n+1,a=e-n+1,c=Math.log(i),u=.5*Math.exp(2*c/3),s=.5*Math.sqrt(c*u*(i-u)/i)*(a-i/2<0?-1:1),l=Math.max(n,Math.floor(e-a*u/i+s)),f=Math.min(r,Math.floor(e+(i-a)*u/i+s));pn(t,e,l,f,o)}var h=t[e],p=n,d=r;for(dn(t,n,e),o(t[r],h)>0&&dn(t,n,r);p0;)--d}0===o(t[n],h)?dn(t,n,d):dn(t,++d,r),d<=e&&(n=d+1),e<=d&&(r=d-1)}return t}function dn(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function yn(t,e,n){if(r=(t=Float64Array.from(dt(t,n))).length){if((e=+e)<=0||r<2)return hn(t);if(e>=1)return fn(t);var r,o=(r-1)*e,i=Math.floor(o),a=fn(pn(t,i).subarray(0,i+1));return a+(hn(t.subarray(i+1))-a)*(o-i)}}function vn(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:pt;if(r=t.length){if((e=+e)<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,o=(r-1)*e,i=Math.floor(o),a=+n(t[i],i,t),c=+n(t[i+1],i+1,t);return a+(c-a)*(o-i)}}function gn(){var t,e=[],n=[],r=[];function o(){var t=0,o=Math.max(1,n.length);for(r=new Array(o-1);++t0?r[o-1]:e[0],o=r?[o[r-1],n]:[o[a-1],o[a]]},a.unknown=function(e){return arguments.length?(t=e,a):a},a.thresholds=function(){return o.slice()},a.copy=function(){return bn().domain([e,n]).range(i).unknown(t)},Oe.o.apply(Be(a),arguments)}function xn(){var t,e=[.5],n=[0,1],r=1;function o(o){return null!=o&&o<=o?n[gt(e,o,0,r)]:t}return o.domain=function(t){return arguments.length?(e=Array.from(t),r=Math.min(e.length,n.length-1),o):e.slice()},o.range=function(t){return arguments.length?(n=Array.from(t),r=Math.min(e.length,n.length-1),o):n.slice()},o.invertExtent=function(t){var r=n.indexOf(t);return[e[r-1],e[r]]},o.unknown=function(e){return arguments.length?(t=e,o):t},o.copy=function(){return xn().domain(e).range(n).unknown(t)},Oe.o.apply(o,arguments)}var wn=1e3,On=6e4,_n=36e5,En=864e5,Sn=6048e5,kn=2592e6,jn=31536e6,An=new Date,Mn=new Date;function Pn(t,e,n,r){function o(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return o.floor=function(e){return t(e=new Date(+e)),e},o.ceil=function(n){return t(n=new Date(n-1)),e(n,1),t(n),n},o.round=function(t){var e=o(t),n=o.ceil(t);return t-e0))return c;do{c.push(a=new Date(+n)),e(n,i),t(n)}while(a=e)for(;t(e),!n(e);)e.setTime(e-1)}),(function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););}))},n&&(o.count=function(e,r){return An.setTime(+e),Mn.setTime(+r),t(An),t(Mn),Math.floor(n(An,Mn))},o.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?o.filter(r?function(e){return r(e)%t===0}:function(e){return o.count(0,e)%t===0}):o:null}),o}var Tn=Pn((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));Tn.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?Pn((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,n){e.setTime(+e+n*t)}),(function(e,n){return(n-e)/t})):Tn:null};var Cn=Tn,Nn=(Tn.range,Pn((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+e*wn)}),(function(t,e){return(e-t)/wn}),(function(t){return t.getUTCSeconds()}))),In=Nn,Dn=(Nn.range,Pn((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*wn)}),(function(t,e){t.setTime(+t+e*On)}),(function(t,e){return(e-t)/On}),(function(t){return t.getMinutes()}))),Rn=Dn,Ln=(Dn.range,Pn((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*wn-t.getMinutes()*On)}),(function(t,e){t.setTime(+t+e*_n)}),(function(t,e){return(e-t)/_n}),(function(t){return t.getHours()}))),Bn=Ln,Fn=(Ln.range,Pn((function(t){return t.setHours(0,0,0,0)}),(function(t,e){return t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*On)/En}),(function(t){return t.getDate()-1}))),Un=Fn;Fn.range;function zn(t){return Pn((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*On)/Sn}))}var Vn=zn(0),Wn=zn(1),Hn=zn(2),Gn=zn(3),qn=zn(4),Zn=zn(5),Yn=zn(6),Xn=(Vn.range,Wn.range,Hn.range,Gn.range,qn.range,Zn.range,Yn.range,Pn((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()}))),$n=Xn,Kn=(Xn.range,Pn((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()})));Kn.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Pn((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,n){e.setFullYear(e.getFullYear()+n*t)})):null};var Jn=Kn,Qn=(Kn.range,Pn((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*On)}),(function(t,e){return(e-t)/On}),(function(t){return t.getUTCMinutes()}))),tr=Qn,er=(Qn.range,Pn((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+e*_n)}),(function(t,e){return(e-t)/_n}),(function(t){return t.getUTCHours()}))),nr=er,rr=(er.range,Pn((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/En}),(function(t){return t.getUTCDate()-1}))),or=rr;rr.range;function ir(t){return Pn((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/Sn}))}var ar=ir(0),cr=ir(1),ur=ir(2),sr=ir(3),lr=ir(4),fr=ir(5),hr=ir(6),pr=(ar.range,cr.range,ur.range,sr.range,lr.range,fr.range,hr.range,Pn((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()}))),dr=pr,yr=(pr.range,Pn((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()})));yr.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Pn((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,n){e.setUTCFullYear(e.getUTCFullYear()+n*t)})):null};var vr=yr;yr.range;function gr(t,e,n,r,o,i){var a=[[In,1,wn],[In,5,5e3],[In,15,15e3],[In,30,3e4],[i,1,On],[i,5,3e5],[i,15,9e5],[i,30,18e5],[o,1,_n],[o,3,108e5],[o,6,216e5],[o,12,432e5],[r,1,En],[r,2,1728e5],[n,1,Sn],[e,1,kn],[e,3,7776e6],[t,1,jn]];function c(e,n,r){var o=Math.abs(n-e)/r,i=ut((function(t){return(0,mn.Z)(t,3)[2]})).right(a,o);if(i===a.length)return t.every(at(e/jn,n/jn,r));if(0===i)return Cn.every(Math.max(at(e,n,r),1));var c=(0,mn.Z)(a[o/a[i-1][2]68?1900:2e3),n+r[0].length):-1}function Zr(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Yr(t,e,n){var r=Nr.exec(e.slice(n,n+1));return r?(t.q=3*r[0]-3,n+r[0].length):-1}function Xr(t,e,n){var r=Nr.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function $r(t,e,n){var r=Nr.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Kr(t,e,n){var r=Nr.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Jr(t,e,n){var r=Nr.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Qr(t,e,n){var r=Nr.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function to(t,e,n){var r=Nr.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function eo(t,e,n){var r=Nr.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function no(t,e,n){var r=Nr.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function ro(t,e,n){var r=Ir.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function oo(t,e,n){var r=Nr.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function io(t,e,n){var r=Nr.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function ao(t,e){return Rr(t.getDate(),e,2)}function co(t,e){return Rr(t.getHours(),e,2)}function uo(t,e){return Rr(t.getHours()%12||12,e,2)}function so(t,e){return Rr(1+Un.count(Jn(t),t),e,3)}function lo(t,e){return Rr(t.getMilliseconds(),e,3)}function fo(t,e){return lo(t,e)+"000"}function ho(t,e){return Rr(t.getMonth()+1,e,2)}function po(t,e){return Rr(t.getMinutes(),e,2)}function yo(t,e){return Rr(t.getSeconds(),e,2)}function vo(t){var e=t.getDay();return 0===e?7:e}function go(t,e){return Rr(Vn.count(Jn(t)-1,t),e,2)}function mo(t){var e=t.getDay();return e>=4||0===e?qn(t):qn.ceil(t)}function bo(t,e){return t=mo(t),Rr(qn.count(Jn(t),t)+(4===Jn(t).getDay()),e,2)}function xo(t){return t.getDay()}function wo(t,e){return Rr(Wn.count(Jn(t)-1,t),e,2)}function Oo(t,e){return Rr(t.getFullYear()%100,e,2)}function _o(t,e){return Rr((t=mo(t)).getFullYear()%100,e,2)}function Eo(t,e){return Rr(t.getFullYear()%1e4,e,4)}function So(t,e){var n=t.getDay();return Rr((t=n>=4||0===n?qn(t):qn.ceil(t)).getFullYear()%1e4,e,4)}function ko(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Rr(e/60|0,"0",2)+Rr(e%60,"0",2)}function jo(t,e){return Rr(t.getUTCDate(),e,2)}function Ao(t,e){return Rr(t.getUTCHours(),e,2)}function Mo(t,e){return Rr(t.getUTCHours()%12||12,e,2)}function Po(t,e){return Rr(1+or.count(vr(t),t),e,3)}function To(t,e){return Rr(t.getUTCMilliseconds(),e,3)}function Co(t,e){return To(t,e)+"000"}function No(t,e){return Rr(t.getUTCMonth()+1,e,2)}function Io(t,e){return Rr(t.getUTCMinutes(),e,2)}function Do(t,e){return Rr(t.getUTCSeconds(),e,2)}function Ro(t){var e=t.getUTCDay();return 0===e?7:e}function Lo(t,e){return Rr(ar.count(vr(t)-1,t),e,2)}function Bo(t){var e=t.getUTCDay();return e>=4||0===e?lr(t):lr.ceil(t)}function Fo(t,e){return t=Bo(t),Rr(lr.count(vr(t),t)+(4===vr(t).getUTCDay()),e,2)}function Uo(t){return t.getUTCDay()}function zo(t,e){return Rr(cr.count(vr(t)-1,t),e,2)}function Vo(t,e){return Rr(t.getUTCFullYear()%100,e,2)}function Wo(t,e){return Rr((t=Bo(t)).getUTCFullYear()%100,e,2)}function Ho(t,e){return Rr(t.getUTCFullYear()%1e4,e,4)}function Go(t,e){var n=t.getUTCDay();return Rr((t=n>=4||0===n?lr(t):lr.ceil(t)).getUTCFullYear()%1e4,e,4)}function qo(){return"+0000"}function Zo(){return"%"}function Yo(t){return+t}function Xo(t){return Math.floor(+t/1e3)}function $o(t){return new Date(t)}function Ko(t){return t instanceof Date?+t:+new Date(+t)}function Jo(t,e,n,r,o,i,a,c,u,s){var l=xe(),f=l.invert,h=l.domain,p=s(".%L"),d=s(":%S"),y=s("%I:%M"),v=s("%I %p"),g=s("%a %d"),m=s("%b %d"),b=s("%B"),x=s("%Y");function w(t){return(u(t)1)for(var n,r,o,i=1,a=t[e[0]],c=a.length;i=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:Yo,s:Xo,S:yo,u:vo,U:go,V:bo,w:xo,W:wo,x:null,X:null,y:Oo,Y:Eo,Z:ko,"%":Zo},x={a:function(t){return a[t.getUTCDay()]},A:function(t){return i[t.getUTCDay()]},b:function(t){return u[t.getUTCMonth()]},B:function(t){return c[t.getUTCMonth()]},c:null,d:jo,e:jo,f:Co,g:Wo,G:Go,H:Ao,I:Mo,j:Po,L:To,m:No,M:Io,p:function(t){return o[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:Yo,s:Xo,S:Do,u:Ro,U:Lo,V:Fo,w:Uo,W:zo,x:null,X:null,y:Vo,Y:Ho,Z:qo,"%":Zo},w={a:function(t,e,n){var r=p.exec(e.slice(n));return r?(t.w=d.get(r[0].toLowerCase()),n+r[0].length):-1},A:function(t,e,n){var r=f.exec(e.slice(n));return r?(t.w=h.get(r[0].toLowerCase()),n+r[0].length):-1},b:function(t,e,n){var r=g.exec(e.slice(n));return r?(t.m=m.get(r[0].toLowerCase()),n+r[0].length):-1},B:function(t,e,n){var r=y.exec(e.slice(n));return r?(t.m=v.get(r[0].toLowerCase()),n+r[0].length):-1},c:function(t,n,r){return E(t,e,n,r)},d:$r,e:$r,f:no,g:qr,G:Gr,H:Jr,I:Jr,j:Kr,L:eo,m:Xr,M:Qr,p:function(t,e,n){var r=s.exec(e.slice(n));return r?(t.p=l.get(r[0].toLowerCase()),n+r[0].length):-1},q:Yr,Q:oo,s:io,S:to,u:zr,U:Vr,V:Wr,w:Ur,W:Hr,x:function(t,e,r){return E(t,n,e,r)},X:function(t,e,n){return E(t,r,e,n)},y:qr,Y:Gr,Z:Zr,"%":ro};function O(t,e){return function(n){var r,o,i,a=[],c=-1,u=0,s=t.length;for(n instanceof Date||(n=new Date(+n));++c53)return null;"w"in i||(i.w=1),"Z"in i?(o=(r=jr(Ar(i.y,0,1))).getUTCDay(),r=o>4||0===o?cr.ceil(r):cr(r),r=or.offset(r,7*(i.V-1)),i.y=r.getUTCFullYear(),i.m=r.getUTCMonth(),i.d=r.getUTCDate()+(i.w+6)%7):(o=(r=kr(Ar(i.y,0,1))).getDay(),r=o>4||0===o?Wn.ceil(r):Wn(r),r=Un.offset(r,7*(i.V-1)),i.y=r.getFullYear(),i.m=r.getMonth(),i.d=r.getDate()+(i.w+6)%7)}else("W"in i||"U"in i)&&("w"in i||(i.w="u"in i?i.u%7:"W"in i?1:0),o="Z"in i?jr(Ar(i.y,0,1)).getUTCDay():kr(Ar(i.y,0,1)).getDay(),i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(o+5)%7:i.w+7*i.U-(o+6)%7);return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,jr(i)):kr(i)}}function E(t,e,n,r){for(var o,i,a=0,c=e.length,u=n.length;a=u)return-1;if(37===(o=e.charCodeAt(a++))){if(o=e.charAt(a++),!(i=w[o in Cr?e.charAt(a++):o])||(r=i(t,n,r))<0)return-1}else if(o!=n.charCodeAt(r++))return-1}return r}return b.x=O(n,b),b.X=O(r,b),b.c=O(e,b),x.x=O(n,x),x.X=O(r,x),x.c=O(e,x),{format:function(t){var e=O(t+="",b);return e.toString=function(){return t},e},parse:function(t){var e=_(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=O(t+="",x);return e.toString=function(){return t},e},utcParse:function(t){var e=_(t+="",!0);return e.toString=function(){return t},e}}}(t),Pr=Mr.format,Mr.parse,Tr=Mr.utcFormat,Mr.utcParse}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});var gi=n(58462),mi=n(49555);function bi(t){for(var e=t.length,n=new Array(e);--e>=0;)n[e]=e;return n}function xi(t,e){return t[e]}function wi(t){var e=[];return e.key=t,e}var Oi=n(30631),_i=n(79692),Ei=n(79853),Si=n(54183);function ki(t){return function(t){if(Array.isArray(t))return ji(t)}(t)||function(t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"===typeof t)return ji(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ji(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ji(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=-1,a=null!==(e=null===n||void 0===n?void 0:n.length)&&void 0!==e?e:0;if(a>1){if(o&&"angleAxis"===o.axisType&&Math.abs(Math.abs(o.range[1]-o.range[0])-360)<=1e-6)for(var c=o.range,u=0;u0?r[u-1].coordinate:r[a-1].coordinate,l=r[u].coordinate,f=u>=a-1?r[0].coordinate:r[u+1].coordinate,h=void 0;if((0,Oi.uY)(l-s)!==(0,Oi.uY)(f-l)){var p=[];if((0,Oi.uY)(f-l)===(0,Oi.uY)(c[1]-c[0])){h=f;var d=l+c[1]-c[0];p[0]=Math.min(d,(d+s)/2),p[1]=Math.max(d,(d+s)/2)}else{h=s;var y=f+c[1]-c[0];p[0]=Math.min(l,(y+l)/2),p[1]=Math.max(l,(y+l)/2)}var v=[Math.min(l,(h+l)/2),Math.max(l,(h+l)/2)];if(t>v[0]&&t<=v[1]||t>=p[0]&&t<=p[1]){i=r[u].index;break}}else{var g=Math.min(s,f),m=Math.max(s,f);if(t>(g+l)/2&&t<=(m+l)/2){i=r[u].index;break}}}else for(var b=0;b0&&b(n[b].coordinate+n[b-1].coordinate)/2&&t<=(n[b].coordinate+n[b+1].coordinate)/2||b===a-1&&t>(n[b].coordinate+n[b-1].coordinate)/2){i=n[b].index;break}}else i=0;return i},Ii=function(t){var e,n=t.type.displayName,r=t.props,o=r.stroke,i=r.fill;switch(n){case"Line":e=o;break;case"Area":case"Radar":e=o&&"none"!==o?o:i;break;default:e=i}return e},Di=function(t){var e,n=t.children,r=t.formattedGraphicalItems,o=t.legendWidth,i=t.legendContent,a=(0,Ei.sP)(n,_i.D.displayName);return a?(e=a.props&&a.props.payload?a.props&&a.props.payload:"children"===i?(r||[]).reduce((function(t,e){var n=e.item,r=e.props,o=r.sectors||r.data||[];return t.concat(o.map((function(t){return{type:a.props.iconType||n.props.legendType,value:t.name,color:t.fill,payload:t}})))}),[]):(r||[]).map((function(t){var e=t.item,n=e.props,r=n.dataKey,o=n.name,i=n.legendType;return{inactive:n.hide,dataKey:r,type:a.props.iconType||i||"square",color:Ii(e),value:o||r,payload:e.props}})),Mi(Mi(Mi({},a.props),_i.D.getWithHeight(a,o)),{},{payload:e,item:a})):null},Ri=function(t){var e=t.barSize,n=t.stackGroups,r=void 0===n?{}:n;if(!r)return{};for(var o={},i=Object.keys(r),a=0,c=i.length;a=0}));if(y&&y.length){var v=y[0].props.barSize,g=y[0].props[d];o[g]||(o[g]=[]),o[g].push({item:y[0],stackList:y.slice(1),barSize:j()(v)?e:v})}}return o},Li=function(t){var e=t.barGap,n=t.barCategoryGap,r=t.bandSize,o=t.sizeList,i=void 0===o?[]:o,a=t.maxBarSize,c=i.length;if(c<1)return null;var u,s=(0,Oi.h1)(e,r,0,!0);if(i[0].barSize===+i[0].barSize){var l=!1,f=r/c,h=i.reduce((function(t,e){return t+e.barSize||0}),0);(h+=(c-1)*s)>=r&&(h-=(c-1)*s,s=0),h>=r&&f>0&&(l=!0,h=c*(f*=.9));var p={offset:((r-h)/2>>0)-s,size:0};u=i.reduce((function(t,e){var n=[].concat(ki(t),[{item:e.item,position:{offset:p.offset+p.size+s,size:l?f:e.barSize}}]);return p=n[n.length-1].position,e.stackList&&e.stackList.length&&e.stackList.forEach((function(t){n.push({item:t,position:p})})),n}),[])}else{var d=(0,Oi.h1)(n,r,0,!0);r-2*d-(c-1)*s<=0&&(s=0);var y=(r-2*d-(c-1)*s)/c;y>1&&(y>>=0);var v=a===+a?Math.min(y,a):y;u=i.reduce((function(t,e,n){var r=[].concat(ki(t),[{item:e.item,position:{offset:d+(y+s)*n+(y-v)/2,size:v}}]);return e.stackList&&e.stackList.length&&e.stackList.forEach((function(t){r.push({item:t,position:r[r.length-1].position})})),r}),[])}return u},Bi=function(t,e,n,r){var o=n.children,i=n.width,a=n.margin,c=i-(a.left||0)-(a.right||0),u=Di({children:o,legendWidth:c}),s=t;if(u){var l=r||{},f=u.align,h=u.verticalAlign,p=u.layout;("vertical"===p||"horizontal"===p&&"center"===h)&&(0,Oi.hj)(t[f])&&(s=Mi(Mi({},t),{},Pi({},f,s[f]+(l.width||0)))),("horizontal"===p||"vertical"===p&&"center"===f)&&(0,Oi.hj)(t[h])&&(s=Mi(Mi({},t),{},Pi({},h,s[h]+(l.height||0))))}return s},Fi=function(t,e,n,r){var o=e.props.children,i=(0,Ei.NN)(o,"ErrorBar").filter((function(t){var e=t.props.direction;return!(!j()(e)&&!j()(r))||r.indexOf(e)>=0}));if(i&&i.length){var a=i.map((function(t){return t.props.dataKey}));return t.reduce((function(t,e){var r=Ti(e,n,0),o=y()(r)?[b()(r),g()(r)]:[r,r],i=a.reduce((function(t,n){var r=Ti(e,n,0),i=o[0]-Math.abs(y()(r)?r[0]:r),a=o[1]+Math.abs(y()(r)?r[1]:r);return[Math.min(i,t[0]),Math.max(a,t[1])]}),[1/0,-1/0]);return[Math.min(i[0],t[0]),Math.max(i[1],t[1])]}),[1/0,-1/0])}return null},Ui=function(t,e,n,r){var o=e.map((function(e){return Fi(t,e,n,r)})).filter((function(t){return!j()(t)}));return o&&o.length?o.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0]):null},zi=function(t,e,n,r){var o=e.map((function(e){var o=e.props.dataKey;return"number"===n&&o&&Fi(t,e,o)||Ci(t,o,n,r)}));if("number"===n)return o.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0]);var i={};return o.reduce((function(t,e){for(var n=0,r=e.length;n=0||e.indexOf("AreaChart")>=0||e.indexOf("ComposedChart")>=0&&!n)?{scale:tt.x(),realScaleType:"point"}:"category"===i?{scale:tt.Z(),realScaleType:"band"}:{scale:Fe(),realScaleType:"linear"};if(p()(o)){var u="scale".concat(f()(o));return{scale:(r[u]||tt.x)(),realScaleType:r[u]?u:"point"}}return _()(o)?{scale:o}:{scale:tt.x(),realScaleType:"point"}},Zi=1e-4,Yi=function(t){var e=t.domain();if(e&&!(e.length<=2)){var n=e.length,r=t.range(),o=Math.min(r[0],r[1])-Zi,i=Math.max(r[0],r[1])+Zi,a=t(e[0]),c=t(e[n-1]);(ai||ci)&&t.domain([e[0],e[n-1]])}},Xi=function(t,e){if(!t)return null;for(var n=0,r=t.length;nr)&&(o[1]=r),o[0]>r&&(o[0]=r),o[1]=0?(t[a][n][0]=o,t[a][n][1]=o+c,o=t[a][n][1]):(t[a][n][0]=i,t[a][n][1]=i+c,i=t[a][n][1])}},expand:function(t,e){if((r=t.length)>0){for(var n,r,o,i=0,a=t[0].length;i0){for(var n,r=0,o=t[e[0]],i=o.length;r0&&(r=(n=t[e[0]]).length)>0){for(var n,r,o,i=0,a=1;a=0?(t[i][n][0]=o,t[i][n][1]=o+a,o=t[i][n][1]):(t[i][n][0]=0,t[i][n][1]=0)}}},Ji=function(t,e,n){var r=e.map((function(t){return t.props.dataKey})),o=function(){var t=(0,mi.Z)([]),e=bi,n=vi,r=xi;function o(o){var i,a,c,u=Array.from(t.apply(this,arguments),wi),s=u.length,l=-1,f=(0,st.Z)(o);try{for(f.s();!(c=f.n()).done;){var h=c.value;for(i=0,++l;i=0?0:o<0?o:r}return n[0]},oa=function(t,e){var n=t.props.stackId;if((0,Oi.P2)(n)){var r=e[n];if(r&&r.items.length){for(var o=-1,i=0,a=r.items.length;i=0?r.stackedData[o]:null}}return null},ia=function(t,e,n){return Object.keys(t).reduce((function(r,o){var i=t[o].stackedData.reduce((function(t,r){var o=r.slice(e,n+1).reduce((function(t,e){return[b()(e.concat([t[0]]).filter(Oi.hj)),g()(e.concat([t[1]]).filter(Oi.hj))]}),[1/0,-1/0]);return[Math.min(t[0],o[0]),Math.max(t[1],o[1])]}),[1/0,-1/0]);return[Math.min(i[0],r[0]),Math.max(i[1],r[1])]}),[1/0,-1/0]).map((function(t){return t===1/0||t===-1/0?0:t}))},aa=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,ca=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,ua=function(t,e,n){if(!y()(t))return e;var r=[];if((0,Oi.hj)(t[0]))r[0]=n?t[0]:Math.min(t[0],e[0]);else if(aa.test(t[0])){var o=+aa.exec(t[0])[1];r[0]=e[0]-o}else _()(t[0])?r[0]=t[0](e[0]):r[0]=e[0];if((0,Oi.hj)(t[1]))r[1]=n?t[1]:Math.max(t[1],e[1]);else if(ca.test(t[1])){var i=+ca.exec(t[1])[1];r[1]=e[1]+i}else _()(t[1])?r[1]=t[1](e[1]):r[1]=e[1];return r},sa=function(t,e,n){if(t&&t.scale&&t.scale.bandwidth){var r=t.scale.bandwidth();if(!n||r>0)return r}if(t&&e&&e.length>=2){for(var o=c()(e,(function(t){return t.coordinate})),i=1/0,a=1,u=o.length;at.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0&&o===+o?"".concat(o,"px"):o),";");var r,o,i}),"")},d=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0===t||null===t||r.x.isSsr)return{width:0,height:0};var n="".concat(t),o=p(e),a="".concat(n,"-").concat(o);if(s.widthCache[a])return s.widthCache[a];try{var c=document.getElementById(h);c||((c=document.createElement("span")).setAttribute("id",h),c.setAttribute("aria-hidden","true"),document.body.appendChild(c));var u=i(i({},l),e);Object.keys(u).map((function(t){return c.style[t]=u[t],t})),c.textContent=n;var f=c.getBoundingClientRect(),d={width:f.width,height:f.height};return s.widthCache[a]=d,++s.cacheCount>2e3&&(s.cacheCount=0,s.widthCache={}),d}catch(y){return{width:0,height:0}}},y=function(t){var e=t.ownerDocument.documentElement,n={top:0,left:0};return"undefined"!==typeof t.getBoundingClientRect&&(n=t.getBoundingClientRect()),{top:n.top+window.pageYOffset-e.clientTop,left:n.left+window.pageXOffset-e.clientLeft}},v=function(t,e){return{chartX:Math.round(t.pageX-e.left),chartY:Math.round(t.pageY-e.top)}}},30631:function(t,e,n){"use strict";n.d(e,{uY:function(){return p},hU:function(){return d},hj:function(){return y},P2:function(){return v},EL:function(){return m},h1:function(){return b},Kt:function(){return x},bv:function(){return w},k4:function(){return O},Ap:function(){return _}});var r=n(38342),o=n.n(r),i=n(85809),a=n.n(i),c=n(40386),u=n.n(c),s=n(3374),l=n.n(s),f=n(64364),h=n.n(f),p=function(t){return 0===t?0:t>0?1:-1},d=function(t){return h()(t)&&t.indexOf("%")===t.length-1},y=function(t){return l()(t)&&!u()(t)},v=function(t){return y(t)||h()(t)},g=0,m=function(t){var e=++g;return"".concat(t||"").concat(e)},b=function(t,e){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!y(t)&&!h()(t))return r;if(d(t)){var i=t.indexOf("%");n=e*parseFloat(t.slice(0,i))/100}else n=+t;return u()(n)&&(n=r),o&&n>e&&(n=e),n},x=function(t){if(!t)return null;var e=Object.keys(t);return e&&e.length?t[e[0]]:null},w=function(t){if(!a()(t))return!1;for(var e=t.length,n={},r=0;r2?n-2:0),o=2;ot.length)&&(e=t.length);for(var n=0,r=new Array(e);n2&&void 0!==arguments[2]?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(e-(n.top||0)-(n.bottom||0)))/2},v=function(t,e,n,r,c){var f=t.width,h=t.height,p=t.startAngle,d=t.endAngle,v=(0,i.h1)(t.cx,f,f/2),g=(0,i.h1)(t.cy,h,h/2),m=y(f,h,n),b=(0,i.h1)(t.innerRadius,m,0),x=(0,i.h1)(t.outerRadius,m,.8*m);return Object.keys(e).reduce((function(t,n){var i,f=e[n],h=f.domain,y=f.reversed;if(o()(f.range))"angleAxis"===r?i=[p,d]:"radiusAxis"===r&&(i=[b,x]),y&&(i=[i[1],i[0]]);else{var m=l(i=f.range,2);p=m[0],d=m[1]}var w=(0,a.Hq)(f,c),O=w.realScaleType,_=w.scale;_.domain(h).range(i),(0,a.zF)(_);var E=(0,a.g$)(_,u(u({},f),{},{realScaleType:O})),S=u(u(u({},f),E),{},{range:i,radius:x,realScaleType:O,scale:_,cx:v,cy:g,innerRadius:b,outerRadius:x,startAngle:p,endAngle:d});return u(u({},t),{},s({},n,S))}),{})},g=function(t,e){var n=t.x,r=t.y,o=e.cx,i=e.cy,a=function(t,e){var n=t.x,r=t.y,o=e.x,i=e.y;return Math.sqrt(Math.pow(n-o,2)+Math.pow(r-i,2))}({x:n,y:r},{x:o,y:i});if(a<=0)return{radius:a};var c=(n-o)/a,u=Math.acos(c);return r>i&&(u=2*Math.PI-u),{radius:a,angle:p(u),angleInRadian:u}},m=function(t,e){var n=e.startAngle,r=e.endAngle,o=Math.floor(n/360),i=Math.floor(r/360);return t+360*Math.min(o,i)},b=function(t,e){var n=t.x,r=t.y,o=g({x:n,y:r},e),i=o.radius,a=o.angle,c=e.innerRadius,s=e.outerRadius;if(is)return!1;if(0===i)return!0;var l,f=function(t){var e=t.startAngle,n=t.endAngle,r=Math.floor(e/360),o=Math.floor(n/360),i=Math.min(r,o);return{startAngle:e-360*i,endAngle:n-360*i}}(e),h=f.startAngle,p=f.endAngle,d=a;if(h<=p){for(;d>p;)d-=360;for(;d=h&&d<=p}else{for(;d>h;)d-=360;for(;d=p&&d<=h}return l?u(u({},e),{},{radius:i,angle:m(d,e)}):null}},79853:function(t,e,n){"use strict";n.d(e,{Gf:function(){return g},NN:function(){return w},sP:function(){return O},TT:function(){return _},rL:function(){return k},eu:function(){return A},Bh:function(){return M},$R:function(){return P}});var r=n(64364),o=n.n(r),i=n(38342),a=n.n(i),c=n(85686),u=n.n(c),s=n(85809),l=n.n(s),f=n(50390),h=n(19832),p=n(30631),d=n(20896);function y(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var v={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart"},g=function(t){return"string"===typeof t?t:t?t.displayName||t.name||"Component":""},m=null,b=null,x=function t(e){if(e===m&&l()(b))return b;var n=[];return f.Children.forEach(e,(function(e){u()(e)||((0,h.isFragment)(e)?n=n.concat(t(e.props.children)):n.push(e))})),b=n,m=e,n},w=function(t,e){var n=[],r=[];return r=l()(e)?e.map((function(t){return g(t)})):[g(e)],x(t).forEach((function(t){var e=a()(t,"type.displayName")||a()(t,"type.name");-1!==r.indexOf(e)&&n.push(t)})),n},O=function(t,e){var n=w(t,e);return n&&n[0]},_=function(t){if(!t||!t.props)return!1;var e=t.props,n=e.width,r=e.height;return!(!(0,p.hj)(n)||n<=0||!(0,p.hj)(r)||r<=0)},E=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],S=function(t){return t&&t.type&&o()(t.type)&&E.indexOf(t.type)>=0},k=function t(e,n){if(e===n)return!0;var r=f.Children.count(e);if(r!==f.Children.count(n))return!1;if(0===r)return!0;if(1===r)return j(l()(e)?e[0]:e,l()(n)?n[0]:n);for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:5;return(0,r.default)(t).walk((function(t){if("function"===t.type&&u.test(t.value)){var n=r.default.stringify(t.nodes);if(!(n.indexOf("constant")>=0||n.indexOf("env")>=0)){var c=o.parser.parse(n),s=(0,i.default)(c,e);t.type="word",t.value=(0,a.default)(t.value,s,e)}}}),!0).toString()},t.exports=e.default},59833:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,o=n(19411),i=(r=o)&&r.__esModule?r:{default:r};e.default=function(t,e,n){switch(t.type){case"LengthValue":case"AngleValue":case"TimeValue":case"FrequencyValue":case"ResolutionValue":return function(t,e,n){e.type===t.type&&(e={type:t.type,value:(0,i.default)(e.value,e.unit,t.unit,n),unit:t.unit});return{left:t,right:e}}(t,e,n);default:return{left:t,right:e}}},t.exports=e.default},31409:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.flip=s;var r,o=n(59833),i=(r=o)&&r.__esModule?r:{default:r};function a(t,e){return"MathExpression"===t.type?function(t,e){switch(t=function(t,e){var n=(0,i.default)(t.left,t.right,e),r=a(n.left,e),o=a(n.right,e);"MathExpression"===r.type&&"MathExpression"===o.type&&("/"===r.operator&&"*"===o.operator||"-"===r.operator&&"+"===o.operator||"*"===r.operator&&"/"===o.operator||"+"===r.operator&&"-"===o.operator)&&(c(r.right,o.right)?n=(0,i.default)(r.left,o.left,e):c(r.right,o.left)&&(n=(0,i.default)(r.left,o.right,e)),r=a(n.left,e),o=a(n.right,e));return t.left=r,t.right=o,t}(t,e),t.operator){case"+":case"-":return function(t,e){var n=t,r=n.left,o=n.right,i=n.operator;if("CssVariable"===r.type||"CssVariable"===o.type)return t;if(0===o.value)return r;if(0===r.value&&"+"===i)return o;if(0===r.value&&"-"===i)return l(o);r.type===o.type&&u(r.type)&&((t=Object.assign({},r)).value="+"===i?r.value+o.value:r.value-o.value);if(u(r.type)&&("+"===o.operator||"-"===o.operator)&&"MathExpression"===o.type){if(r.type===o.left.type)return(t=Object.assign({},t)).left=a({type:"MathExpression",operator:i,left:r,right:o.left},e),t.right=o.right,t.operator="-"===i?s(o.operator):o.operator,a(t,e);if(r.type===o.right.type)return(t=Object.assign({},t)).left=a({type:"MathExpression",operator:"-"===i?s(o.operator):o.operator,left:r,right:o.right},e),t.right=o.left,a(t,e)}if("MathExpression"===r.type&&("+"===r.operator||"-"===r.operator)&&u(o.type)){if(o.type===r.left.type)return(t=Object.assign({},r)).left=a({type:"MathExpression",operator:i,left:r.left,right:o},e),a(t,e);if(o.type===r.right.type)return t=Object.assign({},r),"-"===r.operator?(t.right=a({type:"MathExpression",operator:"-"===i?"+":"-",left:o,right:r.right},e),t.operator="-"===i?"-":"+"):t.right=a({type:"MathExpression",operator:i,left:r.right,right:o},e),t.right.value<0&&(t.right.value*=-1,t.operator="-"===t.operator?"+":"-"),a(t,e)}return t}(t,e);case"/":return function(t,e){if(!u(t.right.type))return t;if("Value"!==t.right.type)throw new Error('Cannot divide by "'+t.right.unit+'", number expected');if(0===t.right.value)throw new Error("Cannot divide by zero");if("MathExpression"===t.left.type)return u(t.left.left.type)&&u(t.left.right.type)?(t.left.left.value/=t.right.value,t.left.right.value/=t.right.value,a(t.left,e)):t;if(u(t.left.type))return t.left.value/=t.right.value,t.left;return t}(t,e);case"*":return function(t){if("MathExpression"===t.left.type&&"Value"===t.right.type){if(u(t.left.left.type)&&u(t.left.right.type))return t.left.left.value*=t.right.value,t.left.right.value*=t.right.value,t.left}else{if(u(t.left.type)&&"Value"===t.right.type)return t.left.value*=t.right.value,t.left;if("Value"===t.left.type&&"MathExpression"===t.right.type){if(u(t.right.left.type)&&u(t.right.right.type))return t.right.left.value*=t.left.value,t.right.right.value*=t.left.value,t.right}else if("Value"===t.left.type&&u(t.right.type))return t.right.value*=t.left.value,t.right}return t}(t)}return t}(t,e):"Calc"===t.type?a(t.value,e):t}function c(t,e){return t.type===e.type&&t.value===e.value}function u(t){switch(t){case"LengthValue":case"AngleValue":case"TimeValue":case"FrequencyValue":case"ResolutionValue":case"EmValue":case"ExValue":case"ChValue":case"RemValue":case"VhValue":case"VwValue":case"VminValue":case"VmaxValue":case"PercentageValue":case"Value":return!0}return!1}function s(t){return"+"===t?"-":"+"}function l(t){return u(t.type)?t.value=-t.value:"MathExpression"==t.type&&(t.left=l(t.left),t.right=l(t.right)),t}e.default=a},28736:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e,n){var r=a(e,n);return"MathExpression"===e.type&&(r=t+"("+r+")"),r};var r=n(31409),o={"*":0,"/":0,"+":1,"-":1};function i(t,e){if(!1!==e){var n=Math.pow(10,e);return Math.round(t*n)/n}return t}function a(t,e){switch(t.type){case"MathExpression":var n=t.left,c=t.right,u=t.operator,s="";return"MathExpression"===n.type&&o[u]1)return t;if(e.cleanupAfterLex&&e.cleanupAfterLex(a),f&&(f.lexer=void 0,f.parser=void 0,e.yy===f&&(e.yy=void 0)),f=void 0,this.parseError=this.originalParseError,this.quoteName=this.originalQuoteName,r.length=0,o.length=0,i.length=0,c=0,!a){for(var l=this.__error_infos.length-1;l>=0;l--){var h=this.__error_infos[l];h&&"function"===typeof h.destroy&&h.destroy()}this.__error_infos.length=0}return t},this.constructParseErrorInfo=function(t,n,a,s){var l={errStr:t,exception:n,text:e.match,value:e.yytext,token:this.describeSymbol(u)||u,token_id:u,line:e.yylineno,expected:a,recoverable:s,state:p,action:d,new_state:x,symbol_stack:r,state_stack:o,value_stack:i,stack_pointer:c,yy:f,lexer:e,parser:this,destroy:function(){var t=!!this.recoverable;for(var e in this)this.hasOwnProperty(e)&&"object"===typeof e&&(this[e]=void 0);this.recoverable=t}};return this.__error_infos.push(l),l};var p,d,y,v,g,m,b,x,w=function(){var t=e.lex();return"number"!==typeof t&&(t=n.symbols_[t]||t),t||s},O={$:!0,_$:void 0,yy:f},_=!1;try{if(this.__reentrant_call_depth++,e.setInput(t,f),"function"===typeof e.canIUse)e.canIUse().fastLex&&(w=h);for(i[c]=null,o[c]=0,r[c]=0,++c,this.pre_parse&&this.pre_parse.call(this,f),f.pre_parse&&f.pre_parse.call(this,f),x=o[c-1];;){if(p=x,this.defaultActions[p])d=2,x=this.defaultActions[p];else if(u||(u=w()),v=a[p]&&a[p][u]||l,x=v[1],!(d=v[0])){var E,S=this.describeSymbol(u)||u,k=this.collect_expected_token_set(p);E="number"===typeof e.yylineno?"Parse error on line "+(e.yylineno+1)+": ":"Parse error: ","function"===typeof e.showPosition&&(E+="\n"+e.showPosition(69,10)+"\n"),k.length?E+="Expecting "+k.join(", ")+", got unexpected "+S:E+="Unexpected "+S,g=this.constructParseErrorInfo(E,null,k,!1),"undefined"!==typeof(y=this.parseError(g.errStr,g,this.JisonParserError))&&(_=y);break}switch(d){default:if(d instanceof Array){g=this.constructParseErrorInfo("Parse Error: multiple actions possible at state: "+p+", token: "+u,null,null,!1),"undefined"!==typeof(y=this.parseError(g.errStr,g,this.JisonParserError))&&(_=y);break}g=this.constructParseErrorInfo("Parsing halted. No viable error recovery approach available due to internal system failure.",null,null,!1),"undefined"!==typeof(y=this.parseError(g.errStr,g,this.JisonParserError))&&(_=y);break;case 1:r[c]=u,i[c]=e.yytext,o[c]=x,++c,u=0;continue;case 2:if(m=(b=this.productions_[x-1])[1],"undefined"!==typeof(y=this.performAction.call(O,x,c-1,i))){_=y;break}c-=m;var j=b[0];r[c]=j,i[c]=O.$,x=a[o[c-1]][j],o[c]=x,++c;continue;case 3:-2!==c&&(_=!0,c--,"undefined"!==typeof i[c]&&(_=i[c]))}break}}catch(A){if(A instanceof this.JisonParserError)throw A;if(e&&"function"===typeof e.JisonLexerError&&A instanceof e.JisonLexerError)throw A;g=this.constructParseErrorInfo("Parsing aborted due to exception.",A,null,!1),_=!1,"undefined"!==typeof(y=this.parseError(g.errStr,g,this.JisonParserError))&&(_=y)}finally{_=this.cleanupAfterParse(_,!0,!0),this.__reentrant_call_depth--}return _}};o.originalParseError=o.parseError,o.originalQuoteName=o.quoteName;var i=function(){function t(t,e){var n;if(Object.defineProperty(this,"name",{enumerable:!1,writable:!1,value:"JisonLexerError"}),null==t&&(t="???"),Object.defineProperty(this,"message",{enumerable:!1,writable:!0,value:t}),this.hash=e,e&&e.exception instanceof Error){var r=e.exception;this.message=r.message||t,n=r.stack}n||(Error.hasOwnProperty("captureStackTrace")?Error.captureStackTrace(this,this.constructor):n=new Error(t).stack),n&&Object.defineProperty(this,"stack",{enumerable:!1,writable:!1,value:n})}"function"===typeof Object.setPrototypeOf?Object.setPrototypeOf(t.prototype,Error.prototype):t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t.prototype.name="JisonLexerError";var e={EOF:1,ERROR:2,__currentRuleSet__:null,__error_infos:[],__decompressed:!1,done:!1,_backtrack:!1,_input:"",_more:!1,_signaled_error_token:!1,conditionStack:[],match:"",matched:"",matches:!1,yytext:"",offset:0,yyleng:0,yylineno:0,yylloc:null,constructLexErrorInfo:function(t,e,n){if(t=""+t,void 0==n&&(n=!(t.indexOf("\n")>0&&t.indexOf("^")>0)),this.yylloc&&n)if("function"===typeof this.prettyPrintRange){this.prettyPrintRange(this.yylloc);/\n\s*$/.test(t)||(t+="\n"),t+="\n Erroneous area:\n"+this.prettyPrintRange(this.yylloc)}else if("function"===typeof this.showPosition){var r=this.showPosition();r&&(t.length&&"\n"!==t[t.length-1]&&"\n"!==r[0]?t+="\n"+r:t+=r)}var o={errStr:t,recoverable:!!e,text:this.match,token:null,line:this.yylineno,loc:this.yylloc,yy:this.yy,lexer:this,destroy:function(){var t=!!this.recoverable;for(var e in this)this.hasOwnProperty(e)&&"object"===typeof e&&(this[e]=void 0);this.recoverable=t}};return this.__error_infos.push(o),o},parseError:function(t,e,n){if(n||(n=this.JisonLexerError),this.yy){if(this.yy.parser&&"function"===typeof this.yy.parser.parseError)return this.yy.parser.parseError.call(this,t,e,n)||this.ERROR;if("function"===typeof this.yy.parseError)return this.yy.parseError.call(this,t,e,n)||this.ERROR}throw new n(t,e)},yyerror:function(t){var e="";this.yylloc&&(e=" on line "+(this.yylineno+1));var n=this.constructLexErrorInfo("Lexical error"+e+": "+t,this.options.lexerErrorsAreRecoverable),r=Array.prototype.slice.call(arguments,1);return r.length&&(n.extra_error_attributes=r),this.parseError(n.errStr,n,this.JisonLexerError)||this.ERROR},cleanupAfterLex:function(t){if(this.setInput("",{}),!t){for(var e=this.__error_infos.length-1;e>=0;e--){var n=this.__error_infos[e];n&&"function"===typeof n.destroy&&n.destroy()}this.__error_infos.length=0}return this},clear:function(){this.yytext="",this.yyleng=0,this.match="",this.matches=!1,this._more=!1,this._backtrack=!1;var t=this.yylloc?this.yylloc.last_column:0;this.yylloc={first_line:this.yylineno+1,first_column:t,last_line:this.yylineno+1,last_column:t,range:[this.offset,this.offset]}},setInput:function(t,e){if(this.yy=e||this.yy||{},!this.__decompressed){for(var n=this.rules,r=0,o=n.length;r1){this.yylineno-=n.length-1,this.yylloc.last_line=this.yylineno+1;var r=this.match,o=r.split(/(?:\r\n?|\n)/g);1===o.length&&(o=(r=this.matched).split(/(?:\r\n?|\n)/g)),this.yylloc.last_column=o[o.length-1].length}else this.yylloc.last_column-=e;return this.yylloc.range[1]=this.yylloc.range[0]+this.yyleng,this.done=!1,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else{var t="";this.yylloc&&(t=" on line "+(this.yylineno+1));var e=this.constructLexErrorInfo("Lexical error"+t+": You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).",!1);this._signaled_error_token=this.parseError(e.errStr,e,this.JisonLexerError)||this.ERROR}return this},less:function(t){return this.unput(this.match.slice(t))},pastInput:function(t,e){var n=this.matched.substring(0,this.matched.length-this.match.length);t<0?t=n.length:t||(t=20),e<0?e=n.length:e||(e=1);var r=(n=n.substr(2*-t-2)).replace(/\r\n|\r/g,"\n").split("\n");return(n=(r=r.slice(-e)).join("\n")).length>t&&(n="..."+n.substr(-t)),n},upcomingInput:function(t,e){var n=this.match;t<0?t=n.length+this._input.length:t||(t=20),e<0?e=t:e||(e=1),n.length<2*t+2&&(n+=this._input.substring(0,2*t+2));var r=n.replace(/\r\n|\r/g,"\n").split("\n");return(n=(r=r.slice(0,e)).join("\n")).length>t&&(n=n.substring(0,t)+"..."),n},showPosition:function(t,e){var n=this.pastInput(t).replace(/\s/g," "),r=new Array(n.length+1).join("-");return n+this.upcomingInput(e).replace(/\s/g," ")+"\n"+r+"^"},deriveLocationInfo:function(t,e,n,r){var o={first_line:1,first_column:0,last_line:1,last_column:0,range:[0,0]};return t&&(o.first_line=0|t.first_line,o.last_line=0|t.last_line,o.first_column=0|t.first_column,o.last_column=0|t.last_column,t.range&&(o.range[0]=0|t.range[0],o.range[1]=0|t.range[1])),(o.first_line<=0||o.last_line=o.first_line)&&(o.last_line=0|r.last_line,o.last_column=0|r.last_column,r.range&&(o.range[1]=0|r.range[1]))),o.last_line<=0&&(o.first_line<=0?(o.first_line=this.yylloc.first_line,o.last_line=this.yylloc.last_line,o.first_column=this.yylloc.first_column,o.last_column=this.yylloc.last_column,o.range[0]=this.yylloc.range[0],o.range[1]=this.yylloc.range[1]):(o.last_line=this.yylloc.last_line,o.last_column=this.yylloc.last_column,o.range[1]=this.yylloc.range[1])),o.first_line<=0&&(o.first_line=o.last_line,o.first_column=0,o.range[1]=o.range[0]),o.first_column<0&&(o.first_column=0),o.last_column<0&&(o.last_column=o.first_column>0?o.first_column:80),o},prettyPrintRange:function(t,e,n){t=this.deriveLocationInfo(t,e,n);var r=(this.matched+this._input).split("\n"),o=Math.max(1,e?e.first_line:t.first_line-3),i=Math.max(1,n?n.last_line:t.last_line+1),a=1+Math.log10(1|i)|0,c=new Array(a).join(" "),u=[],s=r.slice(o-1,i+1).map((function(e,n){var r=n+o,i=(c+r).substr(-a)+": "+e,s=new Array(a+1).join("^"),l=3,f=0;(r===t.first_line?(l+=t.first_column,f=Math.max(2,(r===t.last_line?t.last_column:e.length)-t.first_column+1)):r===t.last_line?f=Math.max(2,t.last_column+1):r>t.first_line&&r0&&u.push(n));return i=i.replace(/\t/g," ")}));if(u.length>4){var l=u[1]+1,f=u[u.length-2]-1,h=new Array(a+1).join(" ")+" (...continued...)";h+="\n"+new Array(a+1).join("-")+" (---------------)",s.splice(l,f-l+1,h)}return s.join("\n")},describeYYLLOC:function(t,e){var n,r=t.first_line,o=t.last_line,i=t.first_column,a=t.last_column;if(0===o-r?(n="line "+r+", ",n+=a-i<=1?"column "+i:"columns "+i+" .. "+a):n="lines "+r+"(column "+i+") .. "+o+"(column "+a+")",t.range&&e){var c=t.range[0],u=t.range[1]-1;n+=u<=c?" {String Offset: "+c+"}":" {String Offset range: "+c+" .. "+u+"}"}return n},test_match:function(t,e){var n,r,o,i,a;if(this.options.backtrack_lexer&&(o={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.yylloc.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column,range:this.yylloc.range.slice(0)},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done}),a=(i=t[0]).length,(r=i.split(/(?:\r\n?|\n)/g)).length>1?(this.yylineno+=r.length-1,this.yylloc.last_line=this.yylineno+1,this.yylloc.last_column=r[r.length-1].length):this.yylloc.last_column+=a,this.yytext+=i,this.match+=i,this.matched+=i,this.matches=t,this.yyleng=this.yytext.length,this.yylloc.range[1]+=a,this.offset+=a,this._more=!1,this._backtrack=!1,this._input=this._input.slice(a),n=this.performAction.call(this,this.yy,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var c in o)this[c]=o[c];return this.__currentRuleSet__=null,!1}return!!this._signaled_error_token&&(n=this._signaled_error_token,this._signaled_error_token=!1,n)},next:function(){if(this.done)return this.clear(),this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||this.clear();var o=this.__currentRuleSet__;if(!o&&(!(o=this.__currentRuleSet__=this._currentRules())||!o.rules)){var i="";this.options.trackPosition&&(i=" on line "+(this.yylineno+1));var a=this.constructLexErrorInfo("Internal lexer engine error"+i+': The lex grammar programmer pushed a non-existing condition name "'+this.topState()+'"; this is a fatal error and should be reported to the application programmer team!',!1);return this.parseError(a.errStr,a,this.JisonLexerError)||this.ERROR}for(var c=o.rules,u=o.__rule_regexes,s=o.__rule_count,l=1;l<=s;l++)if((n=this._input.match(u[l]))&&(!e||n[0].length>e[0].length)){if(e=n,r=l,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,c[l])))return t;if(this._backtrack){e=void 0;continue}return!1}if(!this.options.flex)break}if(e)return!1!==(t=this.test_match(e,c[r]))&&t;if(this._input){i="";this.options.trackPosition&&(i=" on line "+(this.yylineno+1));a=this.constructLexErrorInfo("Lexical error"+i+": Unrecognized text.",this.options.lexerErrorsAreRecoverable);var f=this._input,h=this.topState(),p=this.conditionStack.length;return(t=this.parseError(a.errStr,a,this.JisonLexerError)||this.ERROR)===this.ERROR&&(this.matches||f!==this._input||h!==this.topState()||p!==this.conditionStack.length||this.input()),t}return this.done=!0,this.clear(),this.EOF},lex:function(){var t;for("function"===typeof this.pre_lex&&(t=this.pre_lex.call(this,0)),"function"===typeof this.options.pre_lex&&(t=this.options.pre_lex.call(this,t)||t),this.yy&&"function"===typeof this.yy.pre_lex&&(t=this.yy.pre_lex.call(this,t)||t);!t;)t=this.next();return this.yy&&"function"===typeof this.yy.post_lex&&(t=this.yy.post_lex.call(this,t)||t),"function"===typeof this.options.post_lex&&(t=this.options.post_lex.call(this,t)||t),"function"===typeof this.post_lex&&(t=this.post_lex.call(this,t)||t),t},fastLex:function(){for(var t;!t;)t=this.next();return t},canIUse:function(){return{fastLex:!("function"===typeof this.pre_lex||"function"===typeof this.options.pre_lex||this.yy&&"function"===typeof this.yy.pre_lex||this.yy&&"function"===typeof this.yy.post_lex||"function"===typeof this.options.post_lex||"function"===typeof this.post_lex)&&"function"===typeof this.fastLex}},begin:function(t){return this.pushState(t)},pushState:function(t){return this.conditionStack.push(t),this.__currentRuleSet__=null,this},popState:function(){return this.conditionStack.length-1>0?(this.__currentRuleSet__=null,this.conditionStack.pop()):this.conditionStack[0]},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL},stateStackSize:function(){return this.conditionStack.length},options:{trackPosition:!0},JisonLexerError:t,performAction:function(t,e,n){if(1!==e)return this.simpleCaseActionClusters[e]},simpleCaseActionClusters:{0:13,2:5,3:6,4:3,5:4,6:15,7:15,8:15,9:15,10:15,11:15,12:16,13:16,14:16,15:16,16:17,17:17,18:18,19:18,20:19,21:19,22:19,23:20,24:21,25:22,26:23,27:25,28:24,29:26,30:27,31:28,32:11,33:9,34:12,35:10,36:7,37:8,38:14,39:1},rules:[/^(?:(--[\d\-A-Za-z]*))/,/^(?:\s+)/,/^(?:\*)/,/^(?:\/)/,/^(?:\+)/,/^(?:-)/,/^(?:(\d+(\.\d*)?|\.\d+)px\b)/,/^(?:(\d+(\.\d*)?|\.\d+)cm\b)/,/^(?:(\d+(\.\d*)?|\.\d+)mm\b)/,/^(?:(\d+(\.\d*)?|\.\d+)in\b)/,/^(?:(\d+(\.\d*)?|\.\d+)pt\b)/,/^(?:(\d+(\.\d*)?|\.\d+)pc\b)/,/^(?:(\d+(\.\d*)?|\.\d+)deg\b)/,/^(?:(\d+(\.\d*)?|\.\d+)grad\b)/,/^(?:(\d+(\.\d*)?|\.\d+)rad\b)/,/^(?:(\d+(\.\d*)?|\.\d+)turn\b)/,/^(?:(\d+(\.\d*)?|\.\d+)s\b)/,/^(?:(\d+(\.\d*)?|\.\d+)ms\b)/,/^(?:(\d+(\.\d*)?|\.\d+)Hz\b)/,/^(?:(\d+(\.\d*)?|\.\d+)kHz\b)/,/^(?:(\d+(\.\d*)?|\.\d+)dpi\b)/,/^(?:(\d+(\.\d*)?|\.\d+)dpcm\b)/,/^(?:(\d+(\.\d*)?|\.\d+)dppx\b)/,/^(?:(\d+(\.\d*)?|\.\d+)em\b)/,/^(?:(\d+(\.\d*)?|\.\d+)ex\b)/,/^(?:(\d+(\.\d*)?|\.\d+)ch\b)/,/^(?:(\d+(\.\d*)?|\.\d+)rem\b)/,/^(?:(\d+(\.\d*)?|\.\d+)vw\b)/,/^(?:(\d+(\.\d*)?|\.\d+)vh\b)/,/^(?:(\d+(\.\d*)?|\.\d+)vmin\b)/,/^(?:(\d+(\.\d*)?|\.\d+)vmax\b)/,/^(?:(\d+(\.\d*)?|\.\d+)%)/,/^(?:(\d+(\.\d*)?|\.\d+)\b)/,/^(?:(calc))/,/^(?:(var))/,/^(?:([a-z]+))/,/^(?:\()/,/^(?:\))/,/^(?:,)/,/^(?:$)/],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],inclusive:!0}}};return e}();function a(){this.yy={}}return o.lexer=i,a.prototype=o,o.Parser=a,new a}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)}},91204:function(t,e,n){var r=n(39391),o=n(4244),i=n(5443);function a(t){return this instanceof a?(this.nodes=r(t),this):new a(t)}a.prototype.toString=function(){return Array.isArray(this.nodes)?i(this.nodes):""},a.prototype.walk=function(t,e){return o(this.nodes,t,e),this},a.unit=n(34326),a.walk=o,a.stringify=i,t.exports=a},39391:function(t){var e="(".charCodeAt(0),n=")".charCodeAt(0),r="'".charCodeAt(0),o='"'.charCodeAt(0),i="\\".charCodeAt(0),a="/".charCodeAt(0),c=",".charCodeAt(0),u=":".charCodeAt(0),s="*".charCodeAt(0);t.exports=function(t){for(var l,f,h,p,d,y,v,g,m=[],b=t,x=0,w=b.charCodeAt(x),O=b.length,_=[{nodes:m}],E=0,S="",k="",j="";x=48&&a<=57)f=!0;else if(a===o||a===i){if(l>-1)break;l=c}else if(a===r){if(s)break;s=!0}else{if(a!==n&&a!==e)break;if(0!==c)break}c+=1}return l+1===c&&c--,!!f&&{number:t.slice(0,c),unit:t.slice(c)}}},4244:function(t){t.exports=function t(e,n,r){var o,i,a,c;for(o=0,i=e.length;o=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),s=r.call(a,"finallyLoc");if(u&&s){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),j(n),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;j(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:M(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),y}},t}(t.exports);try{regeneratorRuntime=e}catch(n){"object"===typeof globalThis?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}},21132:function(t,e,n){"use strict";n.r(e);var r=function(){if("undefined"!==typeof Map)return Map;function t(t,e){var n=-1;return t.some((function(t,r){return t[0]===e&&(n=r,!0)})),n}return function(){function e(){this.__entries__=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),e.prototype.get=function(e){var n=t(this.__entries__,e),r=this.__entries__[n];return r&&r[1]},e.prototype.set=function(e,n){var r=t(this.__entries__,e);~r?this.__entries__[r][1]=n:this.__entries__.push([e,n])},e.prototype.delete=function(e){var n=this.__entries__,r=t(n,e);~r&&n.splice(r,1)},e.prototype.has=function(e){return!!~t(this.__entries__,e)},e.prototype.clear=function(){this.__entries__.splice(0)},e.prototype.forEach=function(t,e){void 0===e&&(e=null);for(var n=0,r=this.__entries__;n0},t.prototype.connect_=function(){o&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),u?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){o&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(t){var e=t.propertyName,n=void 0===e?"":e;c.some((function(t){return!!~n.indexOf(t)}))&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),l=function(t,e){for(var n=0,r=Object.keys(e);n0},t}(),O="undefined"!==typeof WeakMap?new WeakMap:new r,_=function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=s.getInstance(),r=new w(e,n,this);O.set(this,r)};["observe","unobserve","disconnect"].forEach((function(t){_.prototype[t]=function(){var e;return(e=O.get(this))[t].apply(e,arguments)}}));var E="undefined"!==typeof i.ResizeObserver?i.ResizeObserver:_;e.default=E},89472:function(t,e,n){"use strict";n.d(e,{Z:function(){return o}});var r=n(72327);function o(t,e){var n="undefined"!==typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=(0,r.Z)(t))||e&&t&&"number"===typeof t.length){n&&(t=n);var o=0,i=function(){};return{s:i,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,c=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){u=!0,a=t},f:function(){try{c||null==n.return||n.return()}finally{if(u)throw a}}}}},83738:function(t,e,n){"use strict";function r(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}n.d(e,{Z:function(){return r}})}}]); -//# sourceMappingURL=8420.68d5dfb4.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/8420.68d5dfb4.chunk.js.map b/portal-ui/build/static/js/8420.68d5dfb4.chunk.js.map deleted file mode 100644 index 854973518..000000000 --- a/portal-ui/build/static/js/8420.68d5dfb4.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/8420.68d5dfb4.chunk.js","mappings":"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EA0eZuC,CAAG,CACRt4F,IAAK2yE,EAAE,CACP,GACA,EACA,EACA,GACA,EACA,GACAtyE,EACA,CAAC,EAAG,GACJ,EACAA,EACA,CAAC,EAAG,IACJA,EACA,CAAC,GAAI,GACL4G,EACA,CAAC,GAAI,GACL,EACA,EACA,GACA,EACA,EACA,EACA5G,EACA,CAAC,EAAG,GACJ,EACA,EACA,EACA4G,EACA,CAAC,GAAI,GACLA,EACA,CAAC,GAAI,GACL,EACA,EACA,IAEAukD,OAAQmnB,EAAE,CACV,EACA,EACA,EACA,GACA,GACAtyE,EACA,CAAC,GAAI,GAAI,GACT,EACA,EACAA,EACA,CAAC,EAAG,EAAG,GACP4G,EACA,CAAC,GAAI,IACLA,EACA,CAAC,GAAI,GACL,EACA,EACA,GACA,GACAA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,GAAI,GACLA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,IAAK,GACN,EACAA,EACA,CAAC,GAAI,IACL,EACAA,EACA,CAAC,IAAK,IACN,GACAA,EACA,CAAC,IAAK,GACN,EACAA,EACA,CAAC,EAAG,GACJA,EACA,CAAC,EAAG,GACJ,EACA,EACA,GACAA,EACA,CAAC,IAAK,IACNA,EACA,CAAC,GAAI,MAELiO,KAAMy9D,EAAE,CACRtyE,EACA,CAAC,EAAG,IACJA,EACA,CAAC,EAAG,GACJ,EACAA,EACA,CAAC,EAAG,IACJA,EACA,CAAC,EAAG,GACJ4G,EACA,CAAC,GAAI,IACLA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,GAAI,IACLA,EACA,CAAC,IAAK,MAEN+U,MAAO22D,EAAE,CACT,EACA,EACA,EACA,EACA,EACA,GACA1rE,EACA,CAAC,EAAG,GACJ,GACA,GACAA,EACA,CAAC,EAAG,GACJ,GACAA,EACA,CAAC,EAAG,GACJ,GACAA,EACA,CAAC,EAAG,GACJ,GACAA,EACA,CAAC,EAAG,GACJ,GACAA,EACA,CAAC,GAAI,GACL,GACAA,EA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","sources":["../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator/index.js","../node_modules/classnames/index.js","../node_modules/css-unit-converter/index.js","../node_modules/d3-path/src/path.js","../node_modules/d3-array/src/range.js","../node_modules/d3-scale/src/band.js","../node_modules/d3-scale/src/init.js","../node_modules/d3-scale/src/ordinal.js","../node_modules/d3-shape/src/array.js","../node_modules/d3-shape/src/constant.js","../node_modules/decimal.js-light/decimal.js","../node_modules/eventemitter3/index.js","../node_modules/fast-equals/src/utils.ts","../node_modules/fast-equals/src/comparator.ts","../node_modules/fast-equals/src/index.ts","../node_modules/lodash/_apply.js","../node_modules/lodash/_arrayEvery.js","../node_modules/lodash/_arrayIncludes.js","../node_modules/lodash/_arrayIncludesWith.js","../node_modules/lodash/_asciiToArray.js","../node_modules/lodash/_baseEvery.js","../node_modules/lodash/_baseExtremum.js","../node_modules/lodash/_baseFindIndex.js","../node_modules/lodash/_baseFlatten.js","../node_modules/lodash/_baseGt.js","../node_modules/lodash/_baseIndexOf.js","../node_modules/lodash/_baseIsNaN.js","../node_modules/lodash/_baseLt.js","../node_modules/lodash/_baseMap.js","../node_modules/lodash/_baseOrderBy.js","../node_modules/lodash/_baseRange.js","../node_modules/lodash/_baseRest.js","../node_modules/lodash/_baseSetToString.js","../node_modules/lodash/_baseSlice.js","../node_modules/lodash/_baseSome.js","../node_modules/lodash/_baseSortBy.js","../node_modules/lodash/_baseTrim.js","../node_modules/lodash/_baseUniq.js","../node_modules/lodash/_castSlice.js","../node_modules/lodash/_compareAscending.js","../node_modules/lodash/_compareMultiple.js","../node_modules/lodash/_createCaseFirst.js","../node_modules/lodash/_createFind.js","../node_modules/lodash/_createRange.js","../node_modules/lodash/_createSet.js","../node_modules/lodash/_hasUnicode.js","../node_modules/lodash/_isFlattenable.js","../node_modules/lodash/_isIterateeCall.js","../node_modules/lodash/_overRest.js","../node_modules/lodash/_setToString.js","../node_modules/lodash/_shortOut.js","../node_modules/lodash/_strictIndexOf.js","../node_modules/lodash/_stringToArray.js","../node_modules/lodash/_trimmedEndIndex.js","../node_modules/lodash/_unicodeToArray.js","../node_modules/lodash/constant.js","../node_modules/lodash/debounce.js","../node_modules/lodash/every.js","../node_modules/lodash/find.js","../node_modules/lodash/findIndex.js","../node_modules/lodash/flatMap.js","../node_modules/lodash/isBoolean.js","../node_modules/lodash/isNaN.js","../node_modules/lodash/isNil.js","../node_modules/lodash/isNumber.js","../node_modules/lodash/isString.js","../node_modules/lodash/last.js","../node_modules/lodash/map.js","../node_modules/lodash/mapValues.js","../node_modules/lodash/max.js","../node_modules/lodash/min.js","../node_modules/lodash/noop.js","../node_modules/lodash/now.js","../node_modules/lodash/range.js","../node_modules/lodash/some.js","../node_modules/lodash/sortBy.js","../node_modules/lodash/throttle.js","../node_modules/lodash/toFinite.js","../node_modules/lodash/toInteger.js","../node_modules/lodash/toNumber.js","../node_modules/lodash/uniqBy.js","../node_modules/lodash/upperFirst.js","../node_modules/performance-now/src/performance-now.coffee","../node_modules/raf/index.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/react-resize-detector/node_modules/tslib/tslib.es6.js","../node_modules/react-resize-detector/node_modules/lodash/isObject.js","../node_modules/react-resize-detector/node_modules/lodash/_root.js","../node_modules/react-resize-detector/node_modules/lodash/_freeGlobal.js","../node_modules/react-resize-detector/node_modules/lodash/now.js","../node_modules/react-resize-detector/node_modules/lodash/_trimmedEndIndex.js","../node_modules/react-resize-detector/node_modules/lodash/_baseTrim.js","../node_modules/react-resize-detector/node_modules/lodash/_Symbol.js","../node_modules/react-resize-detector/node_modules/lodash/_getRawTag.js","../node_modules/react-resize-detector/node_modules/lodash/_objectToString.js","../node_modules/react-resize-detector/node_modules/lodash/_baseGetTag.js","../node_modules/react-resize-detector/node_modules/lodash/isSymbol.js","../node_modules/react-resize-detector/node_modules/lodash/isObjectLike.js","../node_modules/react-resize-detector/node_modules/lodash/toNumber.js","../node_modules/react-resize-detector/node_modules/lodash/debounce.js","../node_modules/react-resize-detector/node_modules/lodash/throttle.js","../node_modules/react-resize-detector/src/utils.ts","../node_modules/react-resize-detector/src/ResizeDetector.tsx","../node_modules/react-resize-detector/src/useResizeDetector.ts","../node_modules/react-smooth/es6/setRafTimeout.js","../node_modules/react-smooth/es6/AnimateManager.js","../node_modules/react-smooth/es6/util.js","../node_modules/react-smooth/es6/easing.js","../node_modules/react-smooth/es6/configUpdate.js","../node_modules/react-smooth/es6/Animate.js","../node_modules/react-smooth/es6/AnimateGroupChild.js","../node_modules/react-smooth/es6/AnimateGroup.js","../node_modules/react-smooth/es6/index.js","../node_modules/react-smooth/node_modules/dom-helpers/class/addClass.js","../node_modules/react-smooth/node_modules/dom-helpers/class/hasClass.js","../node_modules/react-smooth/node_modules/dom-helpers/class/removeClass.js","../node_modules/react-smooth/node_modules/react-transition-group/CSSTransition.js","../node_modules/react-smooth/node_modules/react-transition-group/ReplaceTransition.js","../node_modules/react-smooth/node_modules/react-transition-group/Transition.js","../node_modules/react-smooth/node_modules/react-transition-group/TransitionGroup.js","../node_modules/react-smooth/node_modules/react-transition-group/index.js","../node_modules/react-smooth/node_modules/react-transition-group/utils/ChildMapping.js","../node_modules/react-smooth/node_modules/react-transition-group/utils/PropTypes.js","../node_modules/recharts/es6/cartesian/Area.js","../node_modules/recharts/es6/cartesian/CartesianGrid.js","../node_modules/recharts/es6/cartesian/XAxis.js","../node_modules/recharts/es6/cartesian/YAxis.js","../node_modules/recharts/es6/chart/AreaChart.js","../node_modules/recharts/es6/shape/Cross.js","../node_modules/recharts/es6/cartesian/CartesianAxis.js","../node_modules/recharts/es6/util/CssPrefixUtils.js","../node_modules/recharts/es6/cartesian/Brush.js","../node_modules/recharts/es6/util/IfOverflowMatches.js","../node_modules/recharts/es6/cartesian/ReferenceDot.js","../node_modules/recharts/es6/cartesian/ReferenceLine.js","../node_modules/recharts/es6/cartesian/ReferenceArea.js","../node_modules/recharts/es6/util/DetectReferenceElementsDomain.js","../node_modules/recharts/es6/util/Events.js","../node_modules/recharts/es6/chart/generateCategoricalChart.js","../node_modules/recharts/es6/component/Label.js","../node_modules/recharts/es6/component/LabelList.js","../node_modules/d3-shape/src/math.js","../node_modules/d3-shape/src/symbol/circle.js","../node_modules/d3-shape/src/symbol/cross.js","../node_modules/d3-shape/src/symbol/diamond.js","../node_modules/d3-shape/src/symbol/square.js","../node_modules/d3-shape/src/symbol/star.js","../node_modules/d3-shape/src/symbol/triangle.js","../node_modules/d3-shape/src/symbol/wye.js","../node_modules/recharts/es6/shape/Symbols.js","../node_modules/d3-shape/src/symbol.js","../node_modules/recharts/es6/component/DefaultLegendContent.js","../node_modules/recharts/es6/component/Legend.js","../node_modules/recharts/es6/component/ResponsiveContainer.js","../node_modules/recharts/es6/component/Text.js","../node_modules/recharts/es6/component/DefaultTooltipContent.js","../node_modules/recharts/es6/component/Tooltip.js","../node_modules/recharts/es6/container/Layer.js","../node_modules/recharts/es6/container/Surface.js","../node_modules/d3-shape/src/noop.js","../node_modules/d3-shape/src/curve/basis.js","../node_modules/d3-shape/src/curve/basisClosed.js","../node_modules/d3-shape/src/curve/basisOpen.js","../node_modules/d3-shape/src/curve/linearClosed.js","../node_modules/d3-shape/src/curve/linear.js","../node_modules/d3-shape/src/curve/monotone.js","../node_modules/d3-shape/src/curve/natural.js","../node_modules/d3-shape/src/curve/step.js","../node_modules/d3-shape/src/point.js","../node_modules/d3-shape/src/line.js","../node_modules/d3-shape/src/area.js","../node_modules/recharts/es6/shape/Curve.js","../node_modules/recharts/es6/shape/Dot.js","../node_modules/recharts/es6/shape/Rectangle.js","../node_modules/recharts/es6/shape/Sector.js","../node_modules/recharts/es6/util/CartesianUtils.js","../node_modules/recharts-scale/es6/util/utils.js","../node_modules/recharts-scale/es6/util/arithmetic.js","../node_modules/recharts-scale/es6/getNiceTickValues.js","../node_modules/d3-array/src/ticks.js","../node_modules/d3-array/src/ascending.js","../node_modules/d3-array/src/bisector.js","../node_modules/d3-array/src/number.js","../node_modules/d3-array/src/bisect.js","../node_modules/d3-color/src/define.js","../node_modules/d3-color/src/color.js","../node_modules/d3-interpolate/src/basis.js","../node_modules/d3-interpolate/src/constant.js","../node_modules/d3-interpolate/src/color.js","../node_modules/d3-interpolate/src/rgb.js","../node_modules/d3-interpolate/src/basisClosed.js","../node_modules/d3-interpolate/src/array.js","../node_modules/d3-interpolate/src/date.js","../node_modules/d3-interpolate/src/number.js","../node_modules/d3-interpolate/src/object.js","../node_modules/d3-interpolate/src/string.js","../node_modules/d3-interpolate/src/numberArray.js","../node_modules/d3-interpolate/src/value.js","../node_modules/d3-interpolate/src/round.js","../node_modules/d3-scale/src/number.js","../node_modules/d3-scale/src/continuous.js","../node_modules/d3-scale/src/constant.js","../node_modules/d3-format/src/formatPrefixAuto.js","../node_modules/d3-format/src/formatSpecifier.js","../node_modules/d3-format/src/formatDecimal.js","../node_modules/d3-format/src/exponent.js","../node_modules/d3-format/src/formatRounded.js","../node_modules/d3-format/src/formatTypes.js","../node_modules/d3-format/src/identity.js","../node_modules/d3-format/src/locale.js","../node_modules/d3-format/src/defaultLocale.js","../node_modules/d3-format/src/formatGroup.js","../node_modules/d3-format/src/formatNumerals.js","../node_modules/d3-format/src/formatTrim.js","../node_modules/d3-scale/src/tickFormat.js","../node_modules/d3-format/src/precisionPrefix.js","../node_modules/d3-format/src/precisionRound.js","../node_modules/d3-format/src/precisionFixed.js","../node_modules/d3-scale/src/linear.js","../node_modules/d3-scale/src/identity.js","../node_modules/d3-scale/src/nice.js","../node_modules/d3-scale/src/log.js","../node_modules/d3-scale/src/symlog.js","../node_modules/d3-scale/src/pow.js","../node_modules/d3-scale/src/radial.js","../node_modules/d3-array/src/max.js","../node_modules/d3-array/src/min.js","../node_modules/d3-array/src/quickselect.js","../node_modules/d3-array/src/quantile.js","../node_modules/d3-scale/src/quantile.js","../node_modules/d3-scale/src/quantize.js","../node_modules/d3-scale/src/threshold.js","../node_modules/d3-time/src/duration.js","../node_modules/d3-time/src/interval.js","../node_modules/d3-time/src/millisecond.js","../node_modules/d3-time/src/second.js","../node_modules/d3-time/src/minute.js","../node_modules/d3-time/src/hour.js","../node_modules/d3-time/src/day.js","../node_modules/d3-time/src/week.js","../node_modules/d3-time/src/month.js","../node_modules/d3-time/src/year.js","../node_modules/d3-time/src/utcMinute.js","../node_modules/d3-time/src/utcHour.js","../node_modules/d3-time/src/utcDay.js","../node_modules/d3-time/src/utcWeek.js","../node_modules/d3-time/src/utcMonth.js","../node_modules/d3-time/src/utcYear.js","../node_modules/d3-time/src/ticks.js","../node_modules/d3-time-format/src/locale.js","../node_modules/d3-time-format/src/defaultLocale.js","../node_modules/d3-scale/src/time.js","../node_modules/d3-scale/src/utcTime.js","../node_modules/d3-scale/src/sequential.js","../node_modules/d3-scale/src/sequentialQuantile.js","../node_modules/d3-interpolate/src/piecewise.js","../node_modules/d3-scale/src/diverging.js","../node_modules/d3-shape/src/offset/none.js","../node_modules/d3-shape/src/order/none.js","../node_modules/d3-shape/src/stack.js","../node_modules/recharts/es6/util/ChartUtils.js","../node_modules/d3-shape/src/offset/expand.js","../node_modules/d3-shape/src/offset/silhouette.js","../node_modules/d3-shape/src/offset/wiggle.js","../node_modules/recharts/es6/util/DOMUtils.js","../node_modules/recharts/es6/util/DataUtils.js","../node_modules/recharts/es6/util/Global.js","../node_modules/recharts/es6/util/LogUtils.js","../node_modules/recharts/es6/util/PolarUtils.js","../node_modules/recharts/es6/util/ReactUtils.js","../node_modules/recharts/es6/util/ShallowEqual.js","../node_modules/recharts/es6/util/types.js","../node_modules/recharts/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/recharts/node_modules/react-is/index.js","../node_modules/reduce-css-calc/dist/index.js","../node_modules/reduce-css-calc/dist/lib/convert.js","../node_modules/reduce-css-calc/dist/lib/reducer.js","../node_modules/reduce-css-calc/dist/lib/stringifier.js","../node_modules/reduce-css-calc/dist/parser.js","../node_modules/reduce-css-calc/node_modules/postcss-value-parser/lib/index.js","../node_modules/reduce-css-calc/node_modules/postcss-value-parser/lib/parse.js","../node_modules/reduce-css-calc/node_modules/postcss-value-parser/lib/stringify.js","../node_modules/reduce-css-calc/node_modules/postcss-value-parser/lib/unit.js","../node_modules/reduce-css-calc/node_modules/postcss-value-parser/lib/walk.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","module.exports = require(\"regenerator-runtime\");\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","var conversions = {\r\n // length\r\n 'px': {\r\n 'px': 1,\r\n 'cm': 96.0/2.54,\r\n 'mm': 96.0/25.4,\r\n 'in': 96,\r\n 'pt': 96.0/72.0,\r\n 'pc': 16\r\n },\r\n 'cm': {\r\n 'px': 2.54/96.0,\r\n 'cm': 1,\r\n 'mm': 0.1,\r\n 'in': 2.54,\r\n 'pt': 2.54/72.0,\r\n 'pc': 2.54/6.0\r\n },\r\n 'mm': {\r\n 'px': 25.4/96.0,\r\n 'cm': 10,\r\n 'mm': 1,\r\n 'in': 25.4,\r\n 'pt': 25.4/72.0,\r\n 'pc': 25.4/6.0\r\n },\r\n 'in': {\r\n 'px': 1.0/96.0,\r\n 'cm': 1.0/2.54,\r\n 'mm': 1.0/25.4,\r\n 'in': 1,\r\n 'pt': 1.0/72.0,\r\n 'pc': 1.0/6.0\r\n },\r\n 'pt': {\r\n 'px': 0.75,\r\n 'cm': 72.0/2.54,\r\n 'mm': 72.0/25.4,\r\n 'in': 72,\r\n 'pt': 1,\r\n 'pc': 12\r\n },\r\n 'pc': {\r\n 'px': 6.0/96.0,\r\n 'cm': 6.0/2.54,\r\n 'mm': 6.0/25.4,\r\n 'in': 6,\r\n 'pt': 6.0/72.0,\r\n 'pc': 1\r\n },\r\n // angle\r\n 'deg': {\r\n 'deg': 1,\r\n 'grad': 0.9,\r\n 'rad': 180/Math.PI,\r\n 'turn': 360\r\n },\r\n 'grad': {\r\n 'deg': 400/360,\r\n 'grad': 1,\r\n 'rad': 200/Math.PI,\r\n 'turn': 400\r\n },\r\n 'rad': {\r\n 'deg': Math.PI/180,\r\n 'grad': Math.PI/200,\r\n 'rad': 1,\r\n 'turn': Math.PI*2\r\n },\r\n 'turn': {\r\n 'deg': 1/360,\r\n 'grad': 1/400,\r\n 'rad': 0.5/Math.PI,\r\n 'turn': 1\r\n },\r\n // time\r\n 's': {\r\n 's': 1,\r\n 'ms': 1/1000\r\n },\r\n 'ms': {\r\n 's': 1000,\r\n 'ms': 1\r\n },\r\n // frequency\r\n 'Hz': {\r\n 'Hz': 1,\r\n 'kHz': 1000\r\n },\r\n 'kHz': {\r\n 'Hz': 1/1000,\r\n 'kHz': 1\r\n },\r\n // resolution\r\n 'dpi': {\r\n 'dpi': 1,\r\n 'dpcm': 1.0/2.54,\r\n 'dppx': 1/96\r\n },\r\n 'dpcm': {\r\n 'dpi': 2.54,\r\n 'dpcm': 1,\r\n 'dppx': 2.54/96.0\r\n },\r\n 'dppx': {\r\n 'dpi': 96,\r\n 'dpcm': 96.0/2.54,\r\n 'dppx': 1\r\n }\r\n};\r\n\r\nmodule.exports = function (value, sourceUnit, targetUnit, precision) {\r\n if (!conversions.hasOwnProperty(targetUnit))\r\n throw new Error(\"Cannot convert to \" + targetUnit);\r\n\r\n if (!conversions[targetUnit].hasOwnProperty(sourceUnit))\r\n throw new Error(\"Cannot convert from \" + sourceUnit + \" to \" + targetUnit);\r\n \r\n var converted = conversions[targetUnit][sourceUnit] * value;\r\n \r\n if (precision !== false) {\r\n precision = Math.pow(10, parseInt(precision) || 5);\r\n return Math.round(converted * precision) / precision;\r\n }\r\n \r\n return converted;\r\n};\r\n","const pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","export default function(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","import {range as sequence} from \"d3-array\";\nimport {initRange} from \"./init.js\";\nimport ordinal from \"./ordinal.js\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n r0 = 0,\n r1 = 1,\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = r1 < r0,\n start = reverse ? r1 : r0,\n stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n\n scale.rangeRound = function(_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band(domain(), [r0, r1])\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return initRange.apply(rescale(), arguments);\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","import {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new Map(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n var key = d + \"\", i = index.get(key);\n if (!i) {\n if (unknown !== implicit) return unknown;\n index.set(key, i = domain.push(d));\n }\n return range[(i - 1) % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new Map();\n for (const value of _) {\n const key = value + \"\";\n if (index.has(key)) continue;\n index.set(key, domain.push(value));\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","export var slice = Array.prototype.slice;\n\nexport default function(x) {\n return typeof x === \"object\" && \"length\" in x\n ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","/*! decimal.js-light v2.5.1 https://github.com/MikeMcl/decimal.js-light/LICENCE */\r\n;(function (globalScope) {\r\n 'use strict';\r\n\r\n\r\n /*\r\n * decimal.js-light v2.5.1\r\n * An arbitrary-precision Decimal type for JavaScript.\r\n * https://github.com/MikeMcl/decimal.js-light\r\n * Copyright (c) 2020 Michael Mclaughlin \r\n * MIT Expat Licence\r\n */\r\n\r\n\r\n // ----------------------------------- EDITABLE DEFAULTS ------------------------------------ //\r\n\r\n\r\n // The limit on the value of `precision`, and on the value of the first argument to\r\n // `toDecimalPlaces`, `toExponential`, `toFixed`, `toPrecision` and `toSignificantDigits`.\r\n var MAX_DIGITS = 1e9, // 0 to 1e9\r\n\r\n\r\n // The initial configuration properties of the Decimal constructor.\r\n Decimal = {\r\n\r\n // These values must be integers within the stated ranges (inclusive).\r\n // Most of these values can be changed during run-time using `Decimal.config`.\r\n\r\n // The maximum number of significant digits of the result of a calculation or base conversion.\r\n // E.g. `Decimal.config({ precision: 20 });`\r\n precision: 20, // 1 to MAX_DIGITS\r\n\r\n // The rounding mode used by default by `toInteger`, `toDecimalPlaces`, `toExponential`,\r\n // `toFixed`, `toPrecision` and `toSignificantDigits`.\r\n //\r\n // ROUND_UP 0 Away from zero.\r\n // ROUND_DOWN 1 Towards zero.\r\n // ROUND_CEIL 2 Towards +Infinity.\r\n // ROUND_FLOOR 3 Towards -Infinity.\r\n // ROUND_HALF_UP 4 Towards nearest neighbour. If equidistant, up.\r\n // ROUND_HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\r\n // ROUND_HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\r\n // ROUND_HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\r\n // ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\r\n //\r\n // E.g.\r\n // `Decimal.rounding = 4;`\r\n // `Decimal.rounding = Decimal.ROUND_HALF_UP;`\r\n rounding: 4, // 0 to 8\r\n\r\n // The exponent value at and beneath which `toString` returns exponential notation.\r\n // JavaScript numbers: -7\r\n toExpNeg: -7, // 0 to -MAX_E\r\n\r\n // The exponent value at and above which `toString` returns exponential notation.\r\n // JavaScript numbers: 21\r\n toExpPos: 21, // 0 to MAX_E\r\n\r\n // The natural logarithm of 10.\r\n // 115 digits\r\n LN10: '2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286'\r\n },\r\n\r\n\r\n // ----------------------------------- END OF EDITABLE DEFAULTS ------------------------------- //\r\n\r\n\r\n external = true,\r\n\r\n decimalError = '[DecimalError] ',\r\n invalidArgument = decimalError + 'Invalid argument: ',\r\n exponentOutOfRange = decimalError + 'Exponent out of range: ',\r\n\r\n mathfloor = Math.floor,\r\n mathpow = Math.pow,\r\n\r\n isDecimal = /^(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,\r\n\r\n ONE,\r\n BASE = 1e7,\r\n LOG_BASE = 7,\r\n MAX_SAFE_INTEGER = 9007199254740991,\r\n MAX_E = mathfloor(MAX_SAFE_INTEGER / LOG_BASE), // 1286742750677284\r\n\r\n // Decimal.prototype object\r\n P = {};\r\n\r\n\r\n // Decimal prototype methods\r\n\r\n\r\n /*\r\n * absoluteValue abs\r\n * comparedTo cmp\r\n * decimalPlaces dp\r\n * dividedBy div\r\n * dividedToIntegerBy idiv\r\n * equals eq\r\n * exponent\r\n * greaterThan gt\r\n * greaterThanOrEqualTo gte\r\n * isInteger isint\r\n * isNegative isneg\r\n * isPositive ispos\r\n * isZero\r\n * lessThan lt\r\n * lessThanOrEqualTo lte\r\n * logarithm log\r\n * minus sub\r\n * modulo mod\r\n * naturalExponential exp\r\n * naturalLogarithm ln\r\n * negated neg\r\n * plus add\r\n * precision sd\r\n * squareRoot sqrt\r\n * times mul\r\n * toDecimalPlaces todp\r\n * toExponential\r\n * toFixed\r\n * toInteger toint\r\n * toNumber\r\n * toPower pow\r\n * toPrecision\r\n * toSignificantDigits tosd\r\n * toString\r\n * valueOf val\r\n */\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the absolute value of this Decimal.\r\n *\r\n */\r\n P.absoluteValue = P.abs = function () {\r\n var x = new this.constructor(this);\r\n if (x.s) x.s = 1;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if the value of this Decimal is greater than the value of `y`,\r\n * -1 if the value of this Decimal is less than the value of `y`,\r\n * 0 if they have the same value\r\n *\r\n */\r\n P.comparedTo = P.cmp = function (y) {\r\n var i, j, xdL, ydL,\r\n x = this;\r\n\r\n y = new x.constructor(y);\r\n\r\n // Signs differ?\r\n if (x.s !== y.s) return x.s || -y.s;\r\n\r\n // Compare exponents.\r\n if (x.e !== y.e) return x.e > y.e ^ x.s < 0 ? 1 : -1;\r\n\r\n xdL = x.d.length;\r\n ydL = y.d.length;\r\n\r\n // Compare digit by digit.\r\n for (i = 0, j = xdL < ydL ? xdL : ydL; i < j; ++i) {\r\n if (x.d[i] !== y.d[i]) return x.d[i] > y.d[i] ^ x.s < 0 ? 1 : -1;\r\n }\r\n\r\n // Compare lengths.\r\n return xdL === ydL ? 0 : xdL > ydL ^ x.s < 0 ? 1 : -1;\r\n };\r\n\r\n\r\n /*\r\n * Return the number of decimal places of the value of this Decimal.\r\n *\r\n */\r\n P.decimalPlaces = P.dp = function () {\r\n var x = this,\r\n w = x.d.length - 1,\r\n dp = (w - x.e) * LOG_BASE;\r\n\r\n // Subtract the number of trailing zeros of the last word.\r\n w = x.d[w];\r\n if (w) for (; w % 10 == 0; w /= 10) dp--;\r\n\r\n return dp < 0 ? 0 : dp;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal divided by `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.dividedBy = P.div = function (y) {\r\n return divide(this, new this.constructor(y));\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the integer part of dividing the value of this Decimal\r\n * by the value of `y`, truncated to `precision` significant digits.\r\n *\r\n */\r\n P.dividedToIntegerBy = P.idiv = function (y) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n return round(divide(x, new Ctor(y), 0, 1), Ctor.precision);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is equal to the value of `y`, otherwise return false.\r\n *\r\n */\r\n P.equals = P.eq = function (y) {\r\n return !this.cmp(y);\r\n };\r\n\r\n\r\n /*\r\n * Return the (base 10) exponent value of this Decimal (this.e is the base 10000000 exponent).\r\n *\r\n */\r\n P.exponent = function () {\r\n return getBase10Exponent(this);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is greater than the value of `y`, otherwise return\r\n * false.\r\n *\r\n */\r\n P.greaterThan = P.gt = function (y) {\r\n return this.cmp(y) > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is greater than or equal to the value of `y`,\r\n * otherwise return false.\r\n *\r\n */\r\n P.greaterThanOrEqualTo = P.gte = function (y) {\r\n return this.cmp(y) >= 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is an integer, otherwise return false.\r\n *\r\n */\r\n P.isInteger = P.isint = function () {\r\n return this.e > this.d.length - 2;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is negative, otherwise return false.\r\n *\r\n */\r\n P.isNegative = P.isneg = function () {\r\n return this.s < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is positive, otherwise return false.\r\n *\r\n */\r\n P.isPositive = P.ispos = function () {\r\n return this.s > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is 0, otherwise return false.\r\n *\r\n */\r\n P.isZero = function () {\r\n return this.s === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is less than `y`, otherwise return false.\r\n *\r\n */\r\n P.lessThan = P.lt = function (y) {\r\n return this.cmp(y) < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is less than or equal to `y`, otherwise return false.\r\n *\r\n */\r\n P.lessThanOrEqualTo = P.lte = function (y) {\r\n return this.cmp(y) < 1;\r\n };\r\n\r\n\r\n /*\r\n * Return the logarithm of the value of this Decimal to the specified base, truncated to\r\n * `precision` significant digits.\r\n *\r\n * If no base is specified, return log[10](x).\r\n *\r\n * log[base](x) = ln(x) / ln(base)\r\n *\r\n * The maximum error of the result is 1 ulp (unit in the last place).\r\n *\r\n * [base] {number|string|Decimal} The base of the logarithm.\r\n *\r\n */\r\n P.logarithm = P.log = function (base) {\r\n var r,\r\n x = this,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision,\r\n wpr = pr + 5;\r\n\r\n // Default base is 10.\r\n if (base === void 0) {\r\n base = new Ctor(10);\r\n } else {\r\n base = new Ctor(base);\r\n\r\n // log[-b](x) = NaN\r\n // log[0](x) = NaN\r\n // log[1](x) = NaN\r\n if (base.s < 1 || base.eq(ONE)) throw Error(decimalError + 'NaN');\r\n }\r\n\r\n // log[b](-x) = NaN\r\n // log[b](0) = -Infinity\r\n if (x.s < 1) throw Error(decimalError + (x.s ? 'NaN' : '-Infinity'));\r\n\r\n // log[b](1) = 0\r\n if (x.eq(ONE)) return new Ctor(0);\r\n\r\n external = false;\r\n r = divide(ln(x, wpr), ln(base, wpr), wpr);\r\n external = true;\r\n\r\n return round(r, pr);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal minus `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.minus = P.sub = function (y) {\r\n var x = this;\r\n y = new x.constructor(y);\r\n return x.s == y.s ? subtract(x, y) : add(x, (y.s = -y.s, y));\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal modulo `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.modulo = P.mod = function (y) {\r\n var q,\r\n x = this,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n y = new Ctor(y);\r\n\r\n // x % 0 = NaN\r\n if (!y.s) throw Error(decimalError + 'NaN');\r\n\r\n // Return x if x is 0.\r\n if (!x.s) return round(new Ctor(x), pr);\r\n\r\n // Prevent rounding of intermediate calculations.\r\n external = false;\r\n q = divide(x, y, 0, 1).times(y);\r\n external = true;\r\n\r\n return x.minus(q);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of the value of this Decimal,\r\n * i.e. the base e raised to the power the value of this Decimal, truncated to `precision`\r\n * significant digits.\r\n *\r\n */\r\n P.naturalExponential = P.exp = function () {\r\n return exp(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of the value of this Decimal,\r\n * truncated to `precision` significant digits.\r\n *\r\n */\r\n P.naturalLogarithm = P.ln = function () {\r\n return ln(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal negated, i.e. as if multiplied by\r\n * -1.\r\n *\r\n */\r\n P.negated = P.neg = function () {\r\n var x = new this.constructor(this);\r\n x.s = -x.s || 0;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal plus `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.plus = P.add = function (y) {\r\n var x = this;\r\n y = new x.constructor(y);\r\n return x.s == y.s ? add(x, y) : subtract(x, (y.s = -y.s, y));\r\n };\r\n\r\n\r\n /*\r\n * Return the number of significant digits of the value of this Decimal.\r\n *\r\n * [z] {boolean|number} Whether to count integer-part trailing zeros: true, false, 1 or 0.\r\n *\r\n */\r\n P.precision = P.sd = function (z) {\r\n var e, sd, w,\r\n x = this;\r\n\r\n if (z !== void 0 && z !== !!z && z !== 1 && z !== 0) throw Error(invalidArgument + z);\r\n\r\n e = getBase10Exponent(x) + 1;\r\n w = x.d.length - 1;\r\n sd = w * LOG_BASE + 1;\r\n w = x.d[w];\r\n\r\n // If non-zero...\r\n if (w) {\r\n\r\n // Subtract the number of trailing zeros of the last word.\r\n for (; w % 10 == 0; w /= 10) sd--;\r\n\r\n // Add the number of digits of the first word.\r\n for (w = x.d[0]; w >= 10; w /= 10) sd++;\r\n }\r\n\r\n return z && e > sd ? e : sd;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the square root of this Decimal, truncated to `precision`\r\n * significant digits.\r\n *\r\n */\r\n P.squareRoot = P.sqrt = function () {\r\n var e, n, pr, r, s, t, wpr,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n // Negative or zero?\r\n if (x.s < 1) {\r\n if (!x.s) return new Ctor(0);\r\n\r\n // sqrt(-x) = NaN\r\n throw Error(decimalError + 'NaN');\r\n }\r\n\r\n e = getBase10Exponent(x);\r\n external = false;\r\n\r\n // Initial estimate.\r\n s = Math.sqrt(+x);\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\r\n if (s == 0 || s == 1 / 0) {\r\n n = digitsToString(x.d);\r\n if ((n.length + e) % 2 == 0) n += '0';\r\n s = Math.sqrt(n);\r\n e = mathfloor((e + 1) / 2) - (e < 0 || e % 2);\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new Ctor(n);\r\n } else {\r\n r = new Ctor(s.toString());\r\n }\r\n\r\n pr = Ctor.precision;\r\n s = wpr = pr + 3;\r\n\r\n // Newton-Raphson iteration.\r\n for (;;) {\r\n t = r;\r\n r = t.plus(divide(x, t, wpr + 2)).times(0.5);\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === (n = digitsToString(r.d)).slice(0, wpr)) {\r\n n = n.slice(wpr - 3, wpr + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits are 9999 or\r\n // 4999, i.e. approaching a rounding boundary, continue the iteration.\r\n if (s == wpr && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the exact result as the\r\n // nines may infinitely repeat.\r\n round(t, pr + 1, 0);\r\n\r\n if (t.times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n } else if (n != '9999') {\r\n break;\r\n }\r\n\r\n wpr += 4;\r\n }\r\n }\r\n\r\n external = true;\r\n\r\n return round(r, pr);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal times `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.times = P.mul = function (y) {\r\n var carry, e, i, k, r, rL, t, xdL, ydL,\r\n x = this,\r\n Ctor = x.constructor,\r\n xd = x.d,\r\n yd = (y = new Ctor(y)).d;\r\n\r\n // Return 0 if either is 0.\r\n if (!x.s || !y.s) return new Ctor(0);\r\n\r\n y.s *= x.s;\r\n e = x.e + y.e;\r\n xdL = xd.length;\r\n ydL = yd.length;\r\n\r\n // Ensure xd points to the longer array.\r\n if (xdL < ydL) {\r\n r = xd;\r\n xd = yd;\r\n yd = r;\r\n rL = xdL;\r\n xdL = ydL;\r\n ydL = rL;\r\n }\r\n\r\n // Initialise the result array with zeros.\r\n r = [];\r\n rL = xdL + ydL;\r\n for (i = rL; i--;) r.push(0);\r\n\r\n // Multiply!\r\n for (i = ydL; --i >= 0;) {\r\n carry = 0;\r\n for (k = xdL + i; k > i;) {\r\n t = r[k] + yd[i] * xd[k - i - 1] + carry;\r\n r[k--] = t % BASE | 0;\r\n carry = t / BASE | 0;\r\n }\r\n\r\n r[k] = (r[k] + carry) % BASE | 0;\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; !r[--rL];) r.pop();\r\n\r\n if (carry) ++e;\r\n else r.shift();\r\n\r\n y.d = r;\r\n y.e = e;\r\n\r\n return external ? round(y, Ctor.precision) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `dp`\r\n * decimal places using rounding mode `rm` or `rounding` if `rm` is omitted.\r\n *\r\n * If `dp` is omitted, return a new Decimal whose value is the value of this Decimal.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toDecimalPlaces = P.todp = function (dp, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n x = new Ctor(x);\r\n if (dp === void 0) return x;\r\n\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n return round(x, dp + getBase10Exponent(x) + 1, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in exponential notation rounded to\r\n * `dp` fixed decimal places using rounding mode `rounding`.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toExponential = function (dp, rm) {\r\n var str,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (dp === void 0) {\r\n str = toString(x, true);\r\n } else {\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n x = round(new Ctor(x), dp + 1, rm);\r\n str = toString(x, true, dp + 1);\r\n }\r\n\r\n return str;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in normal (fixed-point) notation to\r\n * `dp` fixed decimal places and rounded using rounding mode `rm` or `rounding` if `rm` is\r\n * omitted.\r\n *\r\n * As with JavaScript numbers, (-0).toFixed(0) is '0', but e.g. (-0.00001).toFixed(0) is '-0'.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.\r\n * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.\r\n * (-0).toFixed(3) is '0.000'.\r\n * (-0.5).toFixed(0) is '-0'.\r\n *\r\n */\r\n P.toFixed = function (dp, rm) {\r\n var str, y,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (dp === void 0) return toString(x);\r\n\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n y = round(new Ctor(x), dp + getBase10Exponent(x) + 1, rm);\r\n str = toString(y.abs(), false, dp + getBase10Exponent(y) + 1);\r\n\r\n // To determine whether to add the minus sign look at the value before it was rounded,\r\n // i.e. look at `x` rather than `y`.\r\n return x.isneg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a whole number using\r\n * rounding mode `rounding`.\r\n *\r\n */\r\n P.toInteger = P.toint = function () {\r\n var x = this,\r\n Ctor = x.constructor;\r\n return round(new Ctor(x), getBase10Exponent(x) + 1, Ctor.rounding);\r\n };\r\n\r\n\r\n /*\r\n * Return the value of this Decimal converted to a number primitive.\r\n *\r\n */\r\n P.toNumber = function () {\r\n return +this;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal raised to the power `y`,\r\n * truncated to `precision` significant digits.\r\n *\r\n * For non-integer or very large exponents pow(x, y) is calculated using\r\n *\r\n * x^y = exp(y*ln(x))\r\n *\r\n * The maximum error is 1 ulp (unit in last place).\r\n *\r\n * y {number|string|Decimal} The power to which to raise this Decimal.\r\n *\r\n */\r\n P.toPower = P.pow = function (y) {\r\n var e, k, pr, r, sign, yIsInt,\r\n x = this,\r\n Ctor = x.constructor,\r\n guard = 12,\r\n yn = +(y = new Ctor(y));\r\n\r\n // pow(x, 0) = 1\r\n if (!y.s) return new Ctor(ONE);\r\n\r\n x = new Ctor(x);\r\n\r\n // pow(0, y > 0) = 0\r\n // pow(0, y < 0) = Infinity\r\n if (!x.s) {\r\n if (y.s < 1) throw Error(decimalError + 'Infinity');\r\n return x;\r\n }\r\n\r\n // pow(1, y) = 1\r\n if (x.eq(ONE)) return x;\r\n\r\n pr = Ctor.precision;\r\n\r\n // pow(x, 1) = x\r\n if (y.eq(ONE)) return round(x, pr);\r\n\r\n e = y.e;\r\n k = y.d.length - 1;\r\n yIsInt = e >= k;\r\n sign = x.s;\r\n\r\n if (!yIsInt) {\r\n\r\n // pow(x < 0, y non-integer) = NaN\r\n if (sign < 0) throw Error(decimalError + 'NaN');\r\n\r\n // If y is a small integer use the 'exponentiation by squaring' algorithm.\r\n } else if ((k = yn < 0 ? -yn : yn) <= MAX_SAFE_INTEGER) {\r\n r = new Ctor(ONE);\r\n\r\n // Max k of 9007199254740991 takes 53 loop iterations.\r\n // Maximum digits array length; leaves [28, 34] guard digits.\r\n e = Math.ceil(pr / LOG_BASE + 4);\r\n\r\n external = false;\r\n\r\n for (;;) {\r\n if (k % 2) {\r\n r = r.times(x);\r\n truncate(r.d, e);\r\n }\r\n\r\n k = mathfloor(k / 2);\r\n if (k === 0) break;\r\n\r\n x = x.times(x);\r\n truncate(x.d, e);\r\n }\r\n\r\n external = true;\r\n\r\n return y.s < 0 ? new Ctor(ONE).div(r) : round(r, pr);\r\n }\r\n\r\n // Result is negative if x is negative and the last digit of integer y is odd.\r\n sign = sign < 0 && y.d[Math.max(e, k)] & 1 ? -1 : 1;\r\n\r\n x.s = 1;\r\n external = false;\r\n r = y.times(ln(x, pr + guard));\r\n external = true;\r\n r = exp(r);\r\n r.s = sign;\r\n\r\n return r;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal rounded to `sd` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * Return exponential notation if `sd` is less than the number of digits necessary to represent\r\n * the integer part of the value in normal notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toPrecision = function (sd, rm) {\r\n var e, str,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (sd === void 0) {\r\n e = getBase10Exponent(x);\r\n str = toString(x, e <= Ctor.toExpNeg || e >= Ctor.toExpPos);\r\n } else {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n x = round(new Ctor(x), sd, rm);\r\n e = getBase10Exponent(x);\r\n str = toString(x, sd <= e || e <= Ctor.toExpNeg, sd);\r\n }\r\n\r\n return str;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `sd`\r\n * significant digits using rounding mode `rm`, or to `precision` and `rounding` respectively if\r\n * omitted.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toSignificantDigits = P.tosd = function (sd, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n if (sd === void 0) {\r\n sd = Ctor.precision;\r\n rm = Ctor.rounding;\r\n } else {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n }\r\n\r\n return round(new Ctor(x), sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal.\r\n *\r\n * Return exponential notation if this Decimal has a positive exponent equal to or greater than\r\n * `toExpPos`, or a negative exponent equal to or less than `toExpNeg`.\r\n *\r\n */\r\n P.toString = P.valueOf = P.val = P.toJSON = function () {\r\n var x = this,\r\n e = getBase10Exponent(x),\r\n Ctor = x.constructor;\r\n\r\n return toString(x, e <= Ctor.toExpNeg || e >= Ctor.toExpPos);\r\n };\r\n\r\n\r\n // Helper functions for Decimal.prototype (P) and/or Decimal methods, and their callers.\r\n\r\n\r\n /*\r\n * add P.minus, P.plus\r\n * checkInt32 P.todp, P.toExponential, P.toFixed, P.toPrecision, P.tosd\r\n * digitsToString P.log, P.sqrt, P.pow, toString, exp, ln\r\n * divide P.div, P.idiv, P.log, P.mod, P.sqrt, exp, ln\r\n * exp P.exp, P.pow\r\n * getBase10Exponent P.exponent, P.sd, P.toint, P.sqrt, P.todp, P.toFixed, P.toPrecision,\r\n * P.toString, divide, round, toString, exp, ln\r\n * getLn10 P.log, ln\r\n * getZeroString digitsToString, toString\r\n * ln P.log, P.ln, P.pow, exp\r\n * parseDecimal Decimal\r\n * round P.abs, P.idiv, P.log, P.minus, P.mod, P.neg, P.plus, P.toint, P.sqrt,\r\n * P.times, P.todp, P.toExponential, P.toFixed, P.pow, P.toPrecision, P.tosd,\r\n * divide, getLn10, exp, ln\r\n * subtract P.minus, P.plus\r\n * toString P.toExponential, P.toFixed, P.toPrecision, P.toString, P.valueOf\r\n * truncate P.pow\r\n *\r\n * Throws: P.log, P.mod, P.sd, P.sqrt, P.pow, checkInt32, divide, round,\r\n * getLn10, exp, ln, parseDecimal, Decimal, config\r\n */\r\n\r\n\r\n function add(x, y) {\r\n var carry, d, e, i, k, len, xd, yd,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n // If either is zero...\r\n if (!x.s || !y.s) {\r\n\r\n // Return x if y is zero.\r\n // Return y if y is non-zero.\r\n if (!y.s) y = new Ctor(x);\r\n return external ? round(y, pr) : y;\r\n }\r\n\r\n xd = x.d;\r\n yd = y.d;\r\n\r\n // x and y are finite, non-zero numbers with the same sign.\r\n\r\n k = x.e;\r\n e = y.e;\r\n xd = xd.slice();\r\n i = k - e;\r\n\r\n // If base 1e7 exponents differ...\r\n if (i) {\r\n if (i < 0) {\r\n d = xd;\r\n i = -i;\r\n len = yd.length;\r\n } else {\r\n d = yd;\r\n e = k;\r\n len = xd.length;\r\n }\r\n\r\n // Limit number of zeros prepended to max(ceil(pr / LOG_BASE), len) + 1.\r\n k = Math.ceil(pr / LOG_BASE);\r\n len = k > len ? k + 1 : len + 1;\r\n\r\n if (i > len) {\r\n i = len;\r\n d.length = 1;\r\n }\r\n\r\n // Prepend zeros to equalise exponents. Note: Faster to use reverse then do unshifts.\r\n d.reverse();\r\n for (; i--;) d.push(0);\r\n d.reverse();\r\n }\r\n\r\n len = xd.length;\r\n i = yd.length;\r\n\r\n // If yd is longer than xd, swap xd and yd so xd points to the longer array.\r\n if (len - i < 0) {\r\n i = len;\r\n d = yd;\r\n yd = xd;\r\n xd = d;\r\n }\r\n\r\n // Only start adding at yd.length - 1 as the further digits of xd can be left as they are.\r\n for (carry = 0; i;) {\r\n carry = (xd[--i] = xd[i] + yd[i] + carry) / BASE | 0;\r\n xd[i] %= BASE;\r\n }\r\n\r\n if (carry) {\r\n xd.unshift(carry);\r\n ++e;\r\n }\r\n\r\n // Remove trailing zeros.\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n for (len = xd.length; xd[--len] == 0;) xd.pop();\r\n\r\n y.d = xd;\r\n y.e = e;\r\n\r\n return external ? round(y, pr) : y;\r\n }\r\n\r\n\r\n function checkInt32(i, min, max) {\r\n if (i !== ~~i || i < min || i > max) {\r\n throw Error(invalidArgument + i);\r\n }\r\n }\r\n\r\n\r\n function digitsToString(d) {\r\n var i, k, ws,\r\n indexOfLastWord = d.length - 1,\r\n str = '',\r\n w = d[0];\r\n\r\n if (indexOfLastWord > 0) {\r\n str += w;\r\n for (i = 1; i < indexOfLastWord; i++) {\r\n ws = d[i] + '';\r\n k = LOG_BASE - ws.length;\r\n if (k) str += getZeroString(k);\r\n str += ws;\r\n }\r\n\r\n w = d[i];\r\n ws = w + '';\r\n k = LOG_BASE - ws.length;\r\n if (k) str += getZeroString(k);\r\n } else if (w === 0) {\r\n return '0';\r\n }\r\n\r\n // Remove trailing zeros of last w.\r\n for (; w % 10 === 0;) w /= 10;\r\n\r\n return str + w;\r\n }\r\n\r\n\r\n var divide = (function () {\r\n\r\n // Assumes non-zero x and k, and hence non-zero result.\r\n function multiplyInteger(x, k) {\r\n var temp,\r\n carry = 0,\r\n i = x.length;\r\n\r\n for (x = x.slice(); i--;) {\r\n temp = x[i] * k + carry;\r\n x[i] = temp % BASE | 0;\r\n carry = temp / BASE | 0;\r\n }\r\n\r\n if (carry) x.unshift(carry);\r\n\r\n return x;\r\n }\r\n\r\n function compare(a, b, aL, bL) {\r\n var i, r;\r\n\r\n if (aL != bL) {\r\n r = aL > bL ? 1 : -1;\r\n } else {\r\n for (i = r = 0; i < aL; i++) {\r\n if (a[i] != b[i]) {\r\n r = a[i] > b[i] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return r;\r\n }\r\n\r\n function subtract(a, b, aL) {\r\n var i = 0;\r\n\r\n // Subtract b from a.\r\n for (; aL--;) {\r\n a[aL] -= i;\r\n i = a[aL] < b[aL] ? 1 : 0;\r\n a[aL] = i * BASE + a[aL] - b[aL];\r\n }\r\n\r\n // Remove leading zeros.\r\n for (; !a[0] && a.length > 1;) a.shift();\r\n }\r\n\r\n return function (x, y, pr, dp) {\r\n var cmp, e, i, k, prod, prodL, q, qd, rem, remL, rem0, sd, t, xi, xL, yd0, yL, yz,\r\n Ctor = x.constructor,\r\n sign = x.s == y.s ? 1 : -1,\r\n xd = x.d,\r\n yd = y.d;\r\n\r\n // Either 0?\r\n if (!x.s) return new Ctor(x);\r\n if (!y.s) throw Error(decimalError + 'Division by zero');\r\n\r\n e = x.e - y.e;\r\n yL = yd.length;\r\n xL = xd.length;\r\n q = new Ctor(sign);\r\n qd = q.d = [];\r\n\r\n // Result exponent may be one less than e.\r\n for (i = 0; yd[i] == (xd[i] || 0); ) ++i;\r\n if (yd[i] > (xd[i] || 0)) --e;\r\n\r\n if (pr == null) {\r\n sd = pr = Ctor.precision;\r\n } else if (dp) {\r\n sd = pr + (getBase10Exponent(x) - getBase10Exponent(y)) + 1;\r\n } else {\r\n sd = pr;\r\n }\r\n\r\n if (sd < 0) return new Ctor(0);\r\n\r\n // Convert precision in number of base 10 digits to base 1e7 digits.\r\n sd = sd / LOG_BASE + 2 | 0;\r\n i = 0;\r\n\r\n // divisor < 1e7\r\n if (yL == 1) {\r\n k = 0;\r\n yd = yd[0];\r\n sd++;\r\n\r\n // k is the carry.\r\n for (; (i < xL || k) && sd--; i++) {\r\n t = k * BASE + (xd[i] || 0);\r\n qd[i] = t / yd | 0;\r\n k = t % yd | 0;\r\n }\r\n\r\n // divisor >= 1e7\r\n } else {\r\n\r\n // Normalise xd and yd so highest order digit of yd is >= BASE/2\r\n k = BASE / (yd[0] + 1) | 0;\r\n\r\n if (k > 1) {\r\n yd = multiplyInteger(yd, k);\r\n xd = multiplyInteger(xd, k);\r\n yL = yd.length;\r\n xL = xd.length;\r\n }\r\n\r\n xi = yL;\r\n rem = xd.slice(0, yL);\r\n remL = rem.length;\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; remL < yL;) rem[remL++] = 0;\r\n\r\n yz = yd.slice();\r\n yz.unshift(0);\r\n yd0 = yd[0];\r\n\r\n if (yd[1] >= BASE / 2) ++yd0;\r\n\r\n do {\r\n k = 0;\r\n\r\n // Compare divisor and remainder.\r\n cmp = compare(yd, rem, yL, remL);\r\n\r\n // If divisor < remainder.\r\n if (cmp < 0) {\r\n\r\n // Calculate trial digit, k.\r\n rem0 = rem[0];\r\n if (yL != remL) rem0 = rem0 * BASE + (rem[1] || 0);\r\n\r\n // k will be how many times the divisor goes into the current remainder.\r\n k = rem0 / yd0 | 0;\r\n\r\n // Algorithm:\r\n // 1. product = divisor * trial digit (k)\r\n // 2. if product > remainder: product -= divisor, k--\r\n // 3. remainder -= product\r\n // 4. if product was < remainder at 2:\r\n // 5. compare new remainder and divisor\r\n // 6. If remainder > divisor: remainder -= divisor, k++\r\n\r\n if (k > 1) {\r\n if (k >= BASE) k = BASE - 1;\r\n\r\n // product = divisor * trial digit.\r\n prod = multiplyInteger(yd, k);\r\n prodL = prod.length;\r\n remL = rem.length;\r\n\r\n // Compare product and remainder.\r\n cmp = compare(prod, rem, prodL, remL);\r\n\r\n // product > remainder.\r\n if (cmp == 1) {\r\n k--;\r\n\r\n // Subtract divisor from product.\r\n subtract(prod, yL < prodL ? yz : yd, prodL);\r\n }\r\n } else {\r\n\r\n // cmp is -1.\r\n // If k is 0, there is no need to compare yd and rem again below, so change cmp to 1\r\n // to avoid it. If k is 1 there is a need to compare yd and rem again below.\r\n if (k == 0) cmp = k = 1;\r\n prod = yd.slice();\r\n }\r\n\r\n prodL = prod.length;\r\n if (prodL < remL) prod.unshift(0);\r\n\r\n // Subtract product from remainder.\r\n subtract(rem, prod, remL);\r\n\r\n // If product was < previous remainder.\r\n if (cmp == -1) {\r\n remL = rem.length;\r\n\r\n // Compare divisor and new remainder.\r\n cmp = compare(yd, rem, yL, remL);\r\n\r\n // If divisor < new remainder, subtract divisor from remainder.\r\n if (cmp < 1) {\r\n k++;\r\n\r\n // Subtract divisor from remainder.\r\n subtract(rem, yL < remL ? yz : yd, remL);\r\n }\r\n }\r\n\r\n remL = rem.length;\r\n } else if (cmp === 0) {\r\n k++;\r\n rem = [0];\r\n } // if cmp === 1, k will be 0\r\n\r\n // Add the next digit, k, to the result array.\r\n qd[i++] = k;\r\n\r\n // Update the remainder.\r\n if (cmp && rem[0]) {\r\n rem[remL++] = xd[xi] || 0;\r\n } else {\r\n rem = [xd[xi]];\r\n remL = 1;\r\n }\r\n\r\n } while ((xi++ < xL || rem[0] !== void 0) && sd--);\r\n }\r\n\r\n // Leading zero?\r\n if (!qd[0]) qd.shift();\r\n\r\n q.e = e;\r\n\r\n return round(q, dp ? pr + getBase10Exponent(q) + 1 : pr);\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of `x` truncated to `sd`\r\n * significant digits.\r\n *\r\n * Taylor/Maclaurin series.\r\n *\r\n * exp(x) = x^0/0! + x^1/1! + x^2/2! + x^3/3! + ...\r\n *\r\n * Argument reduction:\r\n * Repeat x = x / 32, k += 5, until |x| < 0.1\r\n * exp(x) = exp(x / 2^k)^(2^k)\r\n *\r\n * Previously, the argument was initially reduced by\r\n * exp(x) = exp(r) * 10^k where r = x - k * ln10, k = floor(x / ln10)\r\n * to first put r in the range [0, ln10], before dividing by 32 until |x| < 0.1, but this was\r\n * found to be slower than just dividing repeatedly by 32 as above.\r\n *\r\n * (Math object integer min/max: Math.exp(709) = 8.2e+307, Math.exp(-745) = 5e-324)\r\n *\r\n * exp(x) is non-terminating for any finite, non-zero x.\r\n *\r\n */\r\n function exp(x, sd) {\r\n var denominator, guard, pow, sum, t, wpr,\r\n i = 0,\r\n k = 0,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n if (getBase10Exponent(x) > 16) throw Error(exponentOutOfRange + getBase10Exponent(x));\r\n\r\n // exp(0) = 1\r\n if (!x.s) return new Ctor(ONE);\r\n\r\n if (sd == null) {\r\n external = false;\r\n wpr = pr;\r\n } else {\r\n wpr = sd;\r\n }\r\n\r\n t = new Ctor(0.03125);\r\n\r\n while (x.abs().gte(0.1)) {\r\n x = x.times(t); // x = x / 2^5\r\n k += 5;\r\n }\r\n\r\n // Estimate the precision increase necessary to ensure the first 4 rounding digits are correct.\r\n guard = Math.log(mathpow(2, k)) / Math.LN10 * 2 + 5 | 0;\r\n wpr += guard;\r\n denominator = pow = sum = new Ctor(ONE);\r\n Ctor.precision = wpr;\r\n\r\n for (;;) {\r\n pow = round(pow.times(x), wpr);\r\n denominator = denominator.times(++i);\r\n t = sum.plus(divide(pow, denominator, wpr));\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\r\n while (k--) sum = round(sum.times(sum), wpr);\r\n Ctor.precision = pr;\r\n return sd == null ? (external = true, round(sum, pr)) : sum;\r\n }\r\n\r\n sum = t;\r\n }\r\n }\r\n\r\n\r\n // Calculate the base 10 exponent from the base 1e7 exponent.\r\n function getBase10Exponent(x) {\r\n var e = x.e * LOG_BASE,\r\n w = x.d[0];\r\n\r\n // Add the number of digits of the first word of the digits array.\r\n for (; w >= 10; w /= 10) e++;\r\n return e;\r\n }\r\n\r\n\r\n function getLn10(Ctor, sd, pr) {\r\n\r\n if (sd > Ctor.LN10.sd()) {\r\n\r\n\r\n // Reset global state in case the exception is caught.\r\n external = true;\r\n if (pr) Ctor.precision = pr;\r\n throw Error(decimalError + 'LN10 precision limit exceeded');\r\n }\r\n\r\n return round(new Ctor(Ctor.LN10), sd);\r\n }\r\n\r\n\r\n function getZeroString(k) {\r\n var zs = '';\r\n for (; k--;) zs += '0';\r\n return zs;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of `x` truncated to `sd` significant\r\n * digits.\r\n *\r\n * ln(n) is non-terminating (n != 1)\r\n *\r\n */\r\n function ln(y, sd) {\r\n var c, c0, denominator, e, numerator, sum, t, wpr, x2,\r\n n = 1,\r\n guard = 10,\r\n x = y,\r\n xd = x.d,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n // ln(-x) = NaN\r\n // ln(0) = -Infinity\r\n if (x.s < 1) throw Error(decimalError + (x.s ? 'NaN' : '-Infinity'));\r\n\r\n // ln(1) = 0\r\n if (x.eq(ONE)) return new Ctor(0);\r\n\r\n if (sd == null) {\r\n external = false;\r\n wpr = pr;\r\n } else {\r\n wpr = sd;\r\n }\r\n\r\n if (x.eq(10)) {\r\n if (sd == null) external = true;\r\n return getLn10(Ctor, wpr);\r\n }\r\n\r\n wpr += guard;\r\n Ctor.precision = wpr;\r\n c = digitsToString(xd);\r\n c0 = c.charAt(0);\r\n e = getBase10Exponent(x);\r\n\r\n if (Math.abs(e) < 1.5e15) {\r\n\r\n // Argument reduction.\r\n // The series converges faster the closer the argument is to 1, so using\r\n // ln(a^b) = b * ln(a), ln(a) = ln(a^b) / b\r\n // multiply the argument by itself until the leading digits of the significand are 7, 8, 9,\r\n // 10, 11, 12 or 13, recording the number of multiplications so the sum of the series can\r\n // later be divided by this number, then separate out the power of 10 using\r\n // ln(a*10^b) = ln(a) + b*ln(10).\r\n\r\n // max n is 21 (gives 0.9, 1.0 or 1.1) (9e15 / 21 = 4.2e14).\r\n //while (c0 < 9 && c0 != 1 || c0 == 1 && c.charAt(1) > 1) {\r\n // max n is 6 (gives 0.7 - 1.3)\r\n while (c0 < 7 && c0 != 1 || c0 == 1 && c.charAt(1) > 3) {\r\n x = x.times(y);\r\n c = digitsToString(x.d);\r\n c0 = c.charAt(0);\r\n n++;\r\n }\r\n\r\n e = getBase10Exponent(x);\r\n\r\n if (c0 > 1) {\r\n x = new Ctor('0.' + c);\r\n e++;\r\n } else {\r\n x = new Ctor(c0 + '.' + c.slice(1));\r\n }\r\n } else {\r\n\r\n // The argument reduction method above may result in overflow if the argument y is a massive\r\n // number with exponent >= 1500000000000000 (9e15 / 6 = 1.5e15), so instead recall this\r\n // function using ln(x*10^e) = ln(x) + e*ln(10).\r\n t = getLn10(Ctor, wpr + 2, pr).times(e + '');\r\n x = ln(new Ctor(c0 + '.' + c.slice(1)), wpr - guard).plus(t);\r\n\r\n Ctor.precision = pr;\r\n return sd == null ? (external = true, round(x, pr)) : x;\r\n }\r\n\r\n // x is reduced to a value near 1.\r\n\r\n // Taylor series.\r\n // ln(y) = ln((1 + x)/(1 - x)) = 2(x + x^3/3 + x^5/5 + x^7/7 + ...)\r\n // where x = (y - 1)/(y + 1) (|x| < 1)\r\n sum = numerator = x = divide(x.minus(ONE), x.plus(ONE), wpr);\r\n x2 = round(x.times(x), wpr);\r\n denominator = 3;\r\n\r\n for (;;) {\r\n numerator = round(numerator.times(x2), wpr);\r\n t = sum.plus(divide(numerator, new Ctor(denominator), wpr));\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\r\n sum = sum.times(2);\r\n\r\n // Reverse the argument reduction.\r\n if (e !== 0) sum = sum.plus(getLn10(Ctor, wpr + 2, pr).times(e + ''));\r\n sum = divide(sum, new Ctor(n), wpr);\r\n\r\n Ctor.precision = pr;\r\n return sd == null ? (external = true, round(sum, pr)) : sum;\r\n }\r\n\r\n sum = t;\r\n denominator += 2;\r\n }\r\n }\r\n\r\n\r\n /*\r\n * Parse the value of a new Decimal `x` from string `str`.\r\n */\r\n function parseDecimal(x, str) {\r\n var e, i, len;\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = str.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +str.slice(i + 1);\r\n str = str.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = str.length;\r\n }\r\n\r\n // Determine leading zeros.\r\n for (i = 0; str.charCodeAt(i) === 48;) ++i;\r\n\r\n // Determine trailing zeros.\r\n for (len = str.length; str.charCodeAt(len - 1) === 48;) --len;\r\n str = str.slice(i, len);\r\n\r\n if (str) {\r\n len -= i;\r\n e = e - i - 1;\r\n x.e = mathfloor(e / LOG_BASE);\r\n x.d = [];\r\n\r\n // Transform base\r\n\r\n // e is the base 10 exponent.\r\n // i is where to slice str to get the first word of the digits array.\r\n i = (e + 1) % LOG_BASE;\r\n if (e < 0) i += LOG_BASE;\r\n\r\n if (i < len) {\r\n if (i) x.d.push(+str.slice(0, i));\r\n for (len -= LOG_BASE; i < len;) x.d.push(+str.slice(i, i += LOG_BASE));\r\n str = str.slice(i);\r\n i = LOG_BASE - str.length;\r\n } else {\r\n i -= len;\r\n }\r\n\r\n for (; i--;) str += '0';\r\n x.d.push(+str);\r\n\r\n if (external && (x.e > MAX_E || x.e < -MAX_E)) throw Error(exponentOutOfRange + e);\r\n } else {\r\n\r\n // Zero.\r\n x.s = 0;\r\n x.e = 0;\r\n x.d = [0];\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Round `x` to `sd` significant digits, using rounding mode `rm` if present (truncate otherwise).\r\n */\r\n function round(x, sd, rm) {\r\n var i, j, k, n, rd, doRound, w, xdi,\r\n xd = x.d;\r\n\r\n // rd: the rounding digit, i.e. the digit after the digit that may be rounded up.\r\n // w: the word of xd which contains the rounding digit, a base 1e7 number.\r\n // xdi: the index of w within xd.\r\n // n: the number of digits of w.\r\n // i: what would be the index of rd within w if all the numbers were 7 digits long (i.e. if\r\n // they had leading zeros)\r\n // j: if > 0, the actual index of rd within w (if < 0, rd is a leading zero).\r\n\r\n // Get the length of the first word of the digits array xd.\r\n for (n = 1, k = xd[0]; k >= 10; k /= 10) n++;\r\n i = sd - n;\r\n\r\n // Is the rounding digit in the first word of xd?\r\n if (i < 0) {\r\n i += LOG_BASE;\r\n j = sd;\r\n w = xd[xdi = 0];\r\n } else {\r\n xdi = Math.ceil((i + 1) / LOG_BASE);\r\n k = xd.length;\r\n if (xdi >= k) return x;\r\n w = k = xd[xdi];\r\n\r\n // Get the number of digits of w.\r\n for (n = 1; k >= 10; k /= 10) n++;\r\n\r\n // Get the index of rd within w.\r\n i %= LOG_BASE;\r\n\r\n // Get the index of rd within w, adjusted for leading zeros.\r\n // The number of leading zeros of w is given by LOG_BASE - n.\r\n j = i - LOG_BASE + n;\r\n }\r\n\r\n if (rm !== void 0) {\r\n k = mathpow(10, n - j - 1);\r\n\r\n // Get the rounding digit at index j of w.\r\n rd = w / k % 10 | 0;\r\n\r\n // Are there any non-zero digits after the rounding digit?\r\n doRound = sd < 0 || xd[xdi + 1] !== void 0 || w % k;\r\n\r\n // The expression `w % mathpow(10, n - j - 1)` returns all the digits of w to the right of the\r\n // digit at (left-to-right) index j, e.g. if w is 908714 and j is 2, the expression will give\r\n // 714.\r\n\r\n doRound = rm < 4\r\n ? (rd || doRound) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : rd > 5 || rd == 5 && (rm == 4 || doRound || rm == 6 &&\r\n\r\n // Check whether the digit to the left of the rounding digit is odd.\r\n ((i > 0 ? j > 0 ? w / mathpow(10, n - j) : 0 : xd[xdi - 1]) % 10) & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n }\r\n\r\n if (sd < 1 || !xd[0]) {\r\n if (doRound) {\r\n k = getBase10Exponent(x);\r\n xd.length = 1;\r\n\r\n // Convert sd to decimal places.\r\n sd = sd - k - 1;\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n xd[0] = mathpow(10, (LOG_BASE - sd % LOG_BASE) % LOG_BASE);\r\n x.e = mathfloor(-sd / LOG_BASE) || 0;\r\n } else {\r\n xd.length = 1;\r\n\r\n // Zero.\r\n xd[0] = x.e = x.s = 0;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n // Remove excess digits.\r\n if (i == 0) {\r\n xd.length = xdi;\r\n k = 1;\r\n xdi--;\r\n } else {\r\n xd.length = xdi + 1;\r\n k = mathpow(10, LOG_BASE - i);\r\n\r\n // E.g. 56700 becomes 56000 if 7 is the rounding digit.\r\n // j > 0 means i > number of leading zeros of w.\r\n xd[xdi] = j > 0 ? (w / mathpow(10, n - j) % mathpow(10, j) | 0) * k : 0;\r\n }\r\n\r\n if (doRound) {\r\n for (;;) {\r\n\r\n // Is the digit to be rounded up in the first word of xd?\r\n if (xdi == 0) {\r\n if ((xd[0] += k) == BASE) {\r\n xd[0] = 1;\r\n ++x.e;\r\n }\r\n\r\n break;\r\n } else {\r\n xd[xdi] += k;\r\n if (xd[xdi] != BASE) break;\r\n xd[xdi--] = 0;\r\n k = 1;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (i = xd.length; xd[--i] === 0;) xd.pop();\r\n\r\n if (external && (x.e > MAX_E || x.e < -MAX_E)) {\r\n throw Error(exponentOutOfRange + getBase10Exponent(x));\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n function subtract(x, y) {\r\n var d, e, i, j, k, len, xd, xe, xLTy, yd,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n // Return y negated if x is zero.\r\n // Return x if y is zero and x is non-zero.\r\n if (!x.s || !y.s) {\r\n if (y.s) y.s = -y.s;\r\n else y = new Ctor(x);\r\n return external ? round(y, pr) : y;\r\n }\r\n\r\n xd = x.d;\r\n yd = y.d;\r\n\r\n // x and y are non-zero numbers with the same sign.\r\n\r\n e = y.e;\r\n xe = x.e;\r\n xd = xd.slice();\r\n k = xe - e;\r\n\r\n // If exponents differ...\r\n if (k) {\r\n xLTy = k < 0;\r\n\r\n if (xLTy) {\r\n d = xd;\r\n k = -k;\r\n len = yd.length;\r\n } else {\r\n d = yd;\r\n e = xe;\r\n len = xd.length;\r\n }\r\n\r\n // Numbers with massively different exponents would result in a very high number of zeros\r\n // needing to be prepended, but this can be avoided while still ensuring correct rounding by\r\n // limiting the number of zeros to `Math.ceil(pr / LOG_BASE) + 2`.\r\n i = Math.max(Math.ceil(pr / LOG_BASE), len) + 2;\r\n\r\n if (k > i) {\r\n k = i;\r\n d.length = 1;\r\n }\r\n\r\n // Prepend zeros to equalise exponents.\r\n d.reverse();\r\n for (i = k; i--;) d.push(0);\r\n d.reverse();\r\n\r\n // Base 1e7 exponents equal.\r\n } else {\r\n\r\n // Check digits to determine which is the bigger number.\r\n\r\n i = xd.length;\r\n len = yd.length;\r\n xLTy = i < len;\r\n if (xLTy) len = i;\r\n\r\n for (i = 0; i < len; i++) {\r\n if (xd[i] != yd[i]) {\r\n xLTy = xd[i] < yd[i];\r\n break;\r\n }\r\n }\r\n\r\n k = 0;\r\n }\r\n\r\n if (xLTy) {\r\n d = xd;\r\n xd = yd;\r\n yd = d;\r\n y.s = -y.s;\r\n }\r\n\r\n len = xd.length;\r\n\r\n // Append zeros to xd if shorter.\r\n // Don't add zeros to yd if shorter as subtraction only needs to start at yd length.\r\n for (i = yd.length - len; i > 0; --i) xd[len++] = 0;\r\n\r\n // Subtract yd from xd.\r\n for (i = yd.length; i > k;) {\r\n if (xd[--i] < yd[i]) {\r\n for (j = i; j && xd[--j] === 0;) xd[j] = BASE - 1;\r\n --xd[j];\r\n xd[i] += BASE;\r\n }\r\n\r\n xd[i] -= yd[i];\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; xd[--len] === 0;) xd.pop();\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xd[0] === 0; xd.shift()) --e;\r\n\r\n // Zero?\r\n if (!xd[0]) return new Ctor(0);\r\n\r\n y.d = xd;\r\n y.e = e;\r\n\r\n //return external && xd.length >= pr / LOG_BASE ? round(y, pr) : y;\r\n return external ? round(y, pr) : y;\r\n }\r\n\r\n\r\n function toString(x, isExp, sd) {\r\n var k,\r\n e = getBase10Exponent(x),\r\n str = digitsToString(x.d),\r\n len = str.length;\r\n\r\n if (isExp) {\r\n if (sd && (k = sd - len) > 0) {\r\n str = str.charAt(0) + '.' + str.slice(1) + getZeroString(k);\r\n } else if (len > 1) {\r\n str = str.charAt(0) + '.' + str.slice(1);\r\n }\r\n\r\n str = str + (e < 0 ? 'e' : 'e+') + e;\r\n } else if (e < 0) {\r\n str = '0.' + getZeroString(-e - 1) + str;\r\n if (sd && (k = sd - len) > 0) str += getZeroString(k);\r\n } else if (e >= len) {\r\n str += getZeroString(e + 1 - len);\r\n if (sd && (k = sd - e - 1) > 0) str = str + '.' + getZeroString(k);\r\n } else {\r\n if ((k = e + 1) < len) str = str.slice(0, k) + '.' + str.slice(k);\r\n if (sd && (k = sd - len) > 0) {\r\n if (e + 1 === len) str += '.';\r\n str += getZeroString(k);\r\n }\r\n }\r\n\r\n return x.s < 0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // Does not strip trailing zeros.\r\n function truncate(arr, len) {\r\n if (arr.length > len) {\r\n arr.length = len;\r\n return true;\r\n }\r\n }\r\n\r\n\r\n // Decimal methods\r\n\r\n\r\n /*\r\n * clone\r\n * config/set\r\n */\r\n\r\n\r\n /*\r\n * Create and return a Decimal constructor with the same configuration properties as this Decimal\r\n * constructor.\r\n *\r\n */\r\n function clone(obj) {\r\n var i, p, ps;\r\n\r\n /*\r\n * The Decimal constructor and exported function.\r\n * Return a new Decimal instance.\r\n *\r\n * value {number|string|Decimal} A numeric value.\r\n *\r\n */\r\n function Decimal(value) {\r\n var x = this;\r\n\r\n // Decimal called without new.\r\n if (!(x instanceof Decimal)) return new Decimal(value);\r\n\r\n // Retain a reference to this Decimal constructor, and shadow Decimal.prototype.constructor\r\n // which points to Object.\r\n x.constructor = Decimal;\r\n\r\n // Duplicate.\r\n if (value instanceof Decimal) {\r\n x.s = value.s;\r\n x.e = value.e;\r\n x.d = (value = value.d) ? value.slice() : value;\r\n return;\r\n }\r\n\r\n if (typeof value === 'number') {\r\n\r\n // Reject Infinity/NaN.\r\n if (value * 0 !== 0) {\r\n throw Error(invalidArgument + value);\r\n }\r\n\r\n if (value > 0) {\r\n x.s = 1;\r\n } else if (value < 0) {\r\n value = -value;\r\n x.s = -1;\r\n } else {\r\n x.s = 0;\r\n x.e = 0;\r\n x.d = [0];\r\n return;\r\n }\r\n\r\n // Fast path for small integers.\r\n if (value === ~~value && value < 1e7) {\r\n x.e = 0;\r\n x.d = [value];\r\n return;\r\n }\r\n\r\n return parseDecimal(x, value.toString());\r\n } else if (typeof value !== 'string') {\r\n throw Error(invalidArgument + value);\r\n }\r\n\r\n // Minus sign?\r\n if (value.charCodeAt(0) === 45) {\r\n value = value.slice(1);\r\n x.s = -1;\r\n } else {\r\n x.s = 1;\r\n }\r\n\r\n if (isDecimal.test(value)) parseDecimal(x, value);\r\n else throw Error(invalidArgument + value);\r\n }\r\n\r\n Decimal.prototype = P;\r\n\r\n Decimal.ROUND_UP = 0;\r\n Decimal.ROUND_DOWN = 1;\r\n Decimal.ROUND_CEIL = 2;\r\n Decimal.ROUND_FLOOR = 3;\r\n Decimal.ROUND_HALF_UP = 4;\r\n Decimal.ROUND_HALF_DOWN = 5;\r\n Decimal.ROUND_HALF_EVEN = 6;\r\n Decimal.ROUND_HALF_CEIL = 7;\r\n Decimal.ROUND_HALF_FLOOR = 8;\r\n\r\n Decimal.clone = clone;\r\n Decimal.config = Decimal.set = config;\r\n\r\n if (obj === void 0) obj = {};\r\n if (obj) {\r\n ps = ['precision', 'rounding', 'toExpNeg', 'toExpPos', 'LN10'];\r\n for (i = 0; i < ps.length;) if (!obj.hasOwnProperty(p = ps[i++])) obj[p] = this[p];\r\n }\r\n\r\n Decimal.config(obj);\r\n\r\n return Decimal;\r\n }\r\n\r\n\r\n /*\r\n * Configure global settings for a Decimal constructor.\r\n *\r\n * `obj` is an object with one or more of the following properties,\r\n *\r\n * precision {number}\r\n * rounding {number}\r\n * toExpNeg {number}\r\n * toExpPos {number}\r\n *\r\n * E.g. Decimal.config({ precision: 20, rounding: 4 })\r\n *\r\n */\r\n function config(obj) {\r\n if (!obj || typeof obj !== 'object') {\r\n throw Error(decimalError + 'Object expected');\r\n }\r\n var i, p, v,\r\n ps = [\r\n 'precision', 1, MAX_DIGITS,\r\n 'rounding', 0, 8,\r\n 'toExpNeg', -1 / 0, 0,\r\n 'toExpPos', 0, 1 / 0\r\n ];\r\n\r\n for (i = 0; i < ps.length; i += 3) {\r\n if ((v = obj[p = ps[i]]) !== void 0) {\r\n if (mathfloor(v) === v && v >= ps[i + 1] && v <= ps[i + 2]) this[p] = v;\r\n else throw Error(invalidArgument + p + ': ' + v);\r\n }\r\n }\r\n\r\n if ((v = obj[p = 'LN10']) !== void 0) {\r\n if (v == Math.LN10) this[p] = new this(v);\r\n else throw Error(invalidArgument + p + ': ' + v);\r\n }\r\n\r\n return this;\r\n }\r\n\r\n\r\n // Create and configure initial Decimal constructor.\r\n Decimal = clone(Decimal);\r\n\r\n Decimal['default'] = Decimal.Decimal = Decimal;\r\n\r\n // Internal constant.\r\n ONE = new Decimal(1);\r\n\r\n\r\n // Export.\r\n\r\n\r\n // AMD.\r\n if (typeof define == 'function' && define.amd) {\r\n define(function () {\r\n return Decimal;\r\n });\r\n\r\n // Node and other environments that support module.exports.\r\n } else if (typeof module != 'undefined' && module.exports) {\r\n module.exports = Decimal;\r\n\r\n // Browser.\r\n } else {\r\n if (!globalScope) {\r\n globalScope = typeof self != 'undefined' && self && self.self == self\r\n ? self : Function('return this')();\r\n }\r\n\r\n globalScope.Decimal = Decimal;\r\n }\r\n})(this);\r\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","const HAS_WEAKSET_SUPPORT = typeof WeakSet === 'function';\n\nconst { keys } = Object;\n\ntype Cache = {\n add: (value: any) => void;\n has: (value: any) => boolean;\n};\n\nexport type EqualityComparator = (a: any, b: any, meta?: any) => boolean;\n\n/**\n * are the values passed strictly equal or both NaN\n *\n * @param a the value to compare against\n * @param b the value to test\n * @returns are the values equal by the SameValueZero principle\n */\nexport function sameValueZeroEqual(a: any, b: any) {\n return a === b || (a !== a && b !== b);\n}\n\n/**\n * is the value a plain object\n *\n * @param value the value to test\n * @returns is the value a plain object\n */\nexport function isPlainObject(value: any) {\n return value.constructor === Object || value.constructor == null;\n}\n\n/**\n * is the value promise-like (meaning it is thenable)\n *\n * @param value the value to test\n * @returns is the value promise-like\n */\nexport function isPromiseLike(value: any) {\n return !!value && typeof value.then === 'function';\n}\n\n/**\n * is the value passed a react element\n *\n * @param value the value to test\n * @returns is the value a react element\n */\nexport function isReactElement(value: any) {\n return !!(value && value.$$typeof);\n}\n\n/**\n * in cases where WeakSet is not supported, creates a new custom\n * object that mimics the necessary API aspects for cache purposes\n *\n * @returns the new cache object\n */\nexport function getNewCacheFallback(): Cache {\n const values: any[] = [];\n\n return {\n add(value: any) {\n values.push(value);\n },\n\n has(value: any) {\n return values.indexOf(value) !== -1;\n },\n };\n}\n\n/**\n * get a new cache object to prevent circular references\n *\n * @returns the new cache object\n */\nexport const getNewCache = ((canUseWeakMap: boolean) => {\n if (canUseWeakMap) {\n return function _getNewCache(): Cache {\n return new WeakSet();\n };\n }\n\n return getNewCacheFallback;\n})(HAS_WEAKSET_SUPPORT);\n\n/**\n * create a custom isEqual handler specific to circular objects\n *\n * @param [isEqual] the isEqual comparator to use instead of isDeepEqual\n * @returns the method to create the `isEqual` function\n */\nexport function createCircularEqualCreator(isEqual?: EqualityComparator) {\n return function createCircularEqual(comparator: EqualityComparator) {\n const _comparator = isEqual || comparator;\n\n return function circularEqual(\n a: any,\n b: any,\n cache: Cache = getNewCache(),\n ) {\n const isCacheableA = !!a && typeof a === 'object';\n const isCacheableB = !!b && typeof b === 'object';\n\n if (isCacheableA || isCacheableB) {\n const hasA = isCacheableA && cache.has(a);\n const hasB = isCacheableB && cache.has(b);\n\n if (hasA || hasB) {\n return hasA && hasB;\n }\n\n if (isCacheableA) {\n cache.add(a);\n }\n\n if (isCacheableB) {\n cache.add(b);\n }\n }\n\n return _comparator(a, b, cache);\n };\n };\n}\n\n/**\n * are the arrays equal in value\n *\n * @param a the array to test\n * @param b the array to test against\n * @param isEqual the comparator to determine equality\n * @param meta the meta object to pass through\n * @returns are the arrays equal\n */\nexport function areArraysEqual(\n a: any[],\n b: any[],\n isEqual: EqualityComparator,\n meta: any,\n) {\n let index = a.length;\n\n if (b.length !== index) {\n return false;\n }\n\n while (index-- > 0) {\n if (!isEqual(a[index], b[index], meta)) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * are the maps equal in value\n *\n * @param a the map to test\n * @param b the map to test against\n * @param isEqual the comparator to determine equality\n * @param meta the meta map to pass through\n * @returns are the maps equal\n */\nexport function areMapsEqual(\n a: Map,\n b: Map,\n isEqual: EqualityComparator,\n meta: any,\n) {\n let isValueEqual = a.size === b.size;\n\n if (isValueEqual && a.size) {\n const matchedIndices: Record = {};\n\n a.forEach((aValue, aKey) => {\n if (isValueEqual) {\n let hasMatch = false;\n let matchIndex = 0;\n\n b.forEach((bValue, bKey) => {\n if (!hasMatch && !matchedIndices[matchIndex]) {\n hasMatch =\n isEqual(aKey, bKey, meta) && isEqual(aValue, bValue, meta);\n\n if (hasMatch) {\n matchedIndices[matchIndex] = true;\n }\n }\n\n matchIndex++;\n });\n\n isValueEqual = hasMatch;\n }\n });\n }\n\n return isValueEqual;\n}\n\ntype Dictionary = {\n [key: string]: Type;\n [index: number]: Type;\n};\n\nconst OWNER = '_owner';\n\nconst hasOwnProperty = Function.prototype.bind.call(\n Function.prototype.call,\n Object.prototype.hasOwnProperty,\n);\n\n/**\n * are the objects equal in value\n *\n * @param a the object to test\n * @param b the object to test against\n * @param isEqual the comparator to determine equality\n * @param meta the meta object to pass through\n * @returns are the objects equal\n */\nexport function areObjectsEqual(\n a: Dictionary,\n b: Dictionary,\n isEqual: EqualityComparator,\n meta: any,\n) {\n const keysA = keys(a);\n\n let index = keysA.length;\n\n if (keys(b).length !== index) {\n return false;\n }\n\n if (index) {\n let key: string;\n\n while (index-- > 0) {\n key = keysA[index];\n\n if (key === OWNER) {\n const reactElementA = isReactElement(a);\n const reactElementB = isReactElement(b);\n\n if (\n (reactElementA || reactElementB) &&\n reactElementA !== reactElementB\n ) {\n return false;\n }\n }\n\n if (!hasOwnProperty(b, key) || !isEqual(a[key], b[key], meta)) {\n return false;\n }\n }\n }\n\n return true;\n}\n\n/**\n * are the regExps equal in value\n *\n * @param a the regExp to test\n * @param b the regExp to test agains\n * @returns are the regExps equal\n */\nexport function areRegExpsEqual(a: RegExp, b: RegExp) {\n return (\n a.source === b.source &&\n a.global === b.global &&\n a.ignoreCase === b.ignoreCase &&\n a.multiline === b.multiline &&\n a.unicode === b.unicode &&\n a.sticky === b.sticky &&\n a.lastIndex === b.lastIndex\n );\n}\n\n/**\n * are the sets equal in value\n *\n * @param a the set to test\n * @param b the set to test against\n * @param isEqual the comparator to determine equality\n * @param meta the meta set to pass through\n * @returns are the sets equal\n */\nexport function areSetsEqual(\n a: Set,\n b: Set,\n isEqual: EqualityComparator,\n meta: any,\n) {\n let isValueEqual = a.size === b.size;\n\n if (isValueEqual && a.size) {\n const matchedIndices: Record = {};\n\n a.forEach((aValue) => {\n if (isValueEqual) {\n let hasMatch = false;\n let matchIndex = 0;\n\n b.forEach((bValue) => {\n if (!hasMatch && !matchedIndices[matchIndex]) {\n hasMatch = isEqual(aValue, bValue, meta);\n\n if (hasMatch) {\n matchedIndices[matchIndex] = true;\n }\n }\n\n matchIndex++;\n });\n\n isValueEqual = hasMatch;\n }\n });\n }\n\n return isValueEqual;\n}\n","import {\n EqualityComparator,\n areArraysEqual,\n areMapsEqual,\n areObjectsEqual,\n areRegExpsEqual,\n areSetsEqual,\n isPlainObject,\n isPromiseLike,\n sameValueZeroEqual,\n} from './utils';\n\nconst HAS_MAP_SUPPORT = typeof Map === 'function';\nconst HAS_SET_SUPPORT = typeof Set === 'function';\n\ntype EqualityComparatorCreator = (fn: EqualityComparator) => EqualityComparator;\n\nexport function createComparator(createIsEqual?: EqualityComparatorCreator) {\n const isEqual: EqualityComparator =\n /* eslint-disable no-use-before-define */\n typeof createIsEqual === 'function'\n ? createIsEqual(comparator)\n : comparator;\n /* eslint-enable */\n\n /**\n * compare the value of the two objects and return true if they are equivalent in values\n *\n * @param a the value to test against\n * @param b the value to test\n * @param [meta] an optional meta object that is passed through to all equality test calls\n * @returns are a and b equivalent in value\n */\n function comparator(a: any, b: any, meta?: any) {\n if (a === b) {\n return true;\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n if (isPlainObject(a) && isPlainObject(b)) {\n return areObjectsEqual(a, b, isEqual, meta);\n }\n\n let aShape = Array.isArray(a);\n let bShape = Array.isArray(b);\n\n if (aShape || bShape) {\n return aShape === bShape && areArraysEqual(a, b, isEqual, meta);\n }\n\n aShape = a instanceof Date;\n bShape = b instanceof Date;\n\n if (aShape || bShape) {\n return (\n aShape === bShape && sameValueZeroEqual(a.getTime(), b.getTime())\n );\n }\n\n aShape = a instanceof RegExp;\n bShape = b instanceof RegExp;\n\n if (aShape || bShape) {\n return aShape === bShape && areRegExpsEqual(a, b);\n }\n\n if (isPromiseLike(a) || isPromiseLike(b)) {\n return a === b;\n }\n\n if (HAS_MAP_SUPPORT) {\n aShape = a instanceof Map;\n bShape = b instanceof Map;\n\n if (aShape || bShape) {\n return aShape === bShape && areMapsEqual(a, b, isEqual, meta);\n }\n }\n\n if (HAS_SET_SUPPORT) {\n aShape = a instanceof Set;\n bShape = b instanceof Set;\n\n if (aShape || bShape) {\n return aShape === bShape && areSetsEqual(a, b, isEqual, meta);\n }\n }\n\n return areObjectsEqual(a, b, isEqual, meta);\n }\n\n return a !== a && b !== b;\n }\n\n return comparator;\n}\n","import { createComparator } from './comparator';\nimport { createCircularEqualCreator, sameValueZeroEqual } from './utils';\n\nexport { createComparator as createCustomEqual, sameValueZeroEqual };\n\nexport const deepEqual = createComparator();\nexport const shallowEqual = createComparator(() => sameValueZeroEqual);\n\nexport const circularDeepEqual = createComparator(createCircularEqualCreator());\nexport const circularShallowEqual = createComparator(\n createCircularEqualCreator(sameValueZeroEqual),\n);\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","/**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\nfunction arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = arrayEvery;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nmodule.exports = asciiToArray;\n","var baseEach = require('./_baseEach');\n\n/**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\nfunction baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n}\n\nmodule.exports = baseEvery;\n","var isSymbol = require('./isSymbol');\n\n/**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\nfunction baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseExtremum;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","/**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\nfunction baseGt(value, other) {\n return value > other;\n}\n\nmodule.exports = baseGt;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","/**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\nfunction baseLt(value, other) {\n return value < other;\n}\n\nmodule.exports = baseLt;\n","var baseEach = require('./_baseEach'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nmodule.exports = baseMap;\n","var arrayMap = require('./_arrayMap'),\n baseGet = require('./_baseGet'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n baseSortBy = require('./_baseSortBy'),\n baseUnary = require('./_baseUnary'),\n compareMultiple = require('./_compareMultiple'),\n identity = require('./identity'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(baseIteratee));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n}\n\nmodule.exports = baseOrderBy;\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeMax = Math.max;\n\n/**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\nfunction baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n}\n\nmodule.exports = baseRange;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","var baseEach = require('./_baseEach');\n\n/**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n}\n\nmodule.exports = baseSome;\n","/**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\nfunction baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n}\n\nmodule.exports = baseSortBy;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","var baseSlice = require('./_baseSlice');\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nmodule.exports = castSlice;\n","var isSymbol = require('./isSymbol');\n\n/**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\nfunction compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n}\n\nmodule.exports = compareAscending;\n","var compareAscending = require('./_compareAscending');\n\n/**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\nfunction compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n}\n\nmodule.exports = compareMultiple;\n","var castSlice = require('./_castSlice'),\n hasUnicode = require('./_hasUnicode'),\n stringToArray = require('./_stringToArray'),\n toString = require('./toString');\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n}\n\nmodule.exports = createCaseFirst;\n","var baseIteratee = require('./_baseIteratee'),\n isArrayLike = require('./isArrayLike'),\n keys = require('./keys');\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\nmodule.exports = createFind;\n","var baseRange = require('./_baseRange'),\n isIterateeCall = require('./_isIterateeCall'),\n toFinite = require('./toFinite');\n\n/**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\nfunction createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n}\n\nmodule.exports = createRange;\n","var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nmodule.exports = hasUnicode;\n","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","var asciiToArray = require('./_asciiToArray'),\n hasUnicode = require('./_hasUnicode'),\n unicodeToArray = require('./_unicodeToArray');\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nmodule.exports = stringToArray;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nmodule.exports = unicodeToArray;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","var arrayEvery = require('./_arrayEvery'),\n baseEvery = require('./_baseEvery'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\nfunction every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = every;\n","var createFind = require('./_createFind'),\n findIndex = require('./findIndex');\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\nmodule.exports = find;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIteratee = require('./_baseIteratee'),\n toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nmodule.exports = findIndex;\n","var baseFlatten = require('./_baseFlatten'),\n map = require('./map');\n\n/**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\nfunction flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n}\n\nmodule.exports = flatMap;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]';\n\n/**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\nfunction isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && baseGetTag(value) == boolTag);\n}\n\nmodule.exports = isBoolean;\n","var isNumber = require('./isNumber');\n\n/**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\nfunction isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n}\n\nmodule.exports = isNaN;\n","/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nmodule.exports = isNil;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nmodule.exports = isNumber;\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","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n isArray = require('./isArray');\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, baseIteratee(iteratee, 3));\n}\n\nmodule.exports = map;\n","var baseAssignValue = require('./_baseAssignValue'),\n baseForOwn = require('./_baseForOwn'),\n baseIteratee = require('./_baseIteratee');\n\n/**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\nfunction mapValues(object, iteratee) {\n var result = {};\n iteratee = baseIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n}\n\nmodule.exports = mapValues;\n","var baseExtremum = require('./_baseExtremum'),\n baseGt = require('./_baseGt'),\n identity = require('./identity');\n\n/**\n * Computes the maximum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * _.max([4, 2, 8, 6]);\n * // => 8\n *\n * _.max([]);\n * // => undefined\n */\nfunction max(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseGt)\n : undefined;\n}\n\nmodule.exports = max;\n","var baseExtremum = require('./_baseExtremum'),\n baseLt = require('./_baseLt'),\n identity = require('./identity');\n\n/**\n * Computes the minimum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * _.min([4, 2, 8, 6]);\n * // => 2\n *\n * _.min([]);\n * // => undefined\n */\nfunction min(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseLt)\n : undefined;\n}\n\nmodule.exports = min;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var createRange = require('./_createRange');\n\n/**\n * Creates an array of numbers (positive and/or negative) progressing from\n * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n * `start` is specified without an `end` or `step`. If `end` is not specified,\n * it's set to `start` with `start` then set to `0`.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.rangeRight\n * @example\n *\n * _.range(4);\n * // => [0, 1, 2, 3]\n *\n * _.range(-4);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 5);\n * // => [1, 2, 3, 4]\n *\n * _.range(0, 20, 5);\n * // => [0, 5, 10, 15]\n *\n * _.range(0, -4, -1);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.range(0);\n * // => []\n */\nvar range = createRange();\n\nmodule.exports = range;\n","var arraySome = require('./_arraySome'),\n baseIteratee = require('./_baseIteratee'),\n baseSome = require('./_baseSome'),\n isArray = require('./isArray'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\nfunction some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = some;\n","var baseFlatten = require('./_baseFlatten'),\n baseOrderBy = require('./_baseOrderBy'),\n baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\nvar sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n});\n\nmodule.exports = sortBy;\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n","var createCaseFirst = require('./_createCaseFirst');\n\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\nmodule.exports = upperFirst;\n","if performance? and performance.now\n module.exports = -> performance.now()\nelse if process? and process.hrtime\n module.exports = -> (getNanoSeconds() - nodeLoadTime) / 1e6\n hrtime = process.hrtime\n getNanoSeconds = ->\n hr = hrtime()\n hr[0] * 1e9 + hr[1]\n moduleLoadTime = getNanoSeconds()\n upTime = process.uptime() * 1e9\n nodeLoadTime = moduleLoadTime - upTime\nelse if Date.now\n module.exports = -> Date.now() - loadTime\n loadTime = Date.now()\nelse\n module.exports = -> new Date().getTime() - loadTime\n loadTime = new Date().getTime()\n","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n","/**\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","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","import debounce from 'lodash/debounce';\nimport throttle from 'lodash/throttle';\n\nimport { Props, ReactResizeDetectorDimensions } from './ResizeDetector';\n\nexport type patchResizeHandlerType = ReturnType | ReturnType | ResizeObserverCallback;\n\nexport const patchResizeHandler = (\n resizeCallback: ResizeObserverCallback,\n refreshMode: Props['refreshMode'],\n refreshRate: Props['refreshRate'],\n refreshOptions: Props['refreshOptions']\n): patchResizeHandlerType => {\n switch (refreshMode) {\n case 'debounce':\n return debounce(resizeCallback, refreshRate, refreshOptions);\n case 'throttle':\n return throttle(resizeCallback, refreshRate, refreshOptions);\n default:\n return resizeCallback;\n }\n};\n\nexport const isFunction = (fn: any): boolean => typeof fn === 'function';\n\nexport const isSSR = (): boolean => typeof window === 'undefined';\n\nexport const isDOMElement = (element: any): boolean => element instanceof Element || element instanceof HTMLDocument;\n\nexport const createNotifier =\n (\n onResize: Props['onResize'],\n setSize: React.Dispatch>,\n handleWidth: boolean,\n handleHeight: boolean\n ) =>\n ({ width, height }: ReactResizeDetectorDimensions): void => {\n setSize(prev => {\n if (prev.width === width && prev.height === height) {\n // skip if dimensions haven't changed\n return prev;\n }\n\n if ((prev.width === width && !handleHeight) || (prev.height === height && !handleWidth)) {\n // process `handleHeight/handleWidth` props\n return prev;\n }\n\n if (onResize && isFunction(onResize)) {\n onResize(width, height);\n }\n\n return { width, height };\n });\n };\n","import * as React from 'react';\nimport { PureComponent, isValidElement, cloneElement, createRef, ReactNode, ReactElement, RefObject } from 'react';\nimport { findDOMNode } from 'react-dom';\n\nimport { patchResizeHandler, isFunction, isSSR, isDOMElement, createNotifier } from './utils';\n\nexport interface ReactResizeDetectorDimensions {\n height?: number;\n width?: number;\n}\n\ninterface ChildFunctionProps extends ReactResizeDetectorDimensions {\n targetRef?: RefObject;\n}\n\nexport interface Props {\n /**\n * Function that will be invoked with observable element's width and height.\n * Default: undefined\n */\n onResize?: (width?: number, height?: number) => void;\n /**\n * Trigger update on height change.\n * Default: true\n */\n handleHeight?: boolean;\n /**\n * Trigger onResize on width change.\n * Default: true\n */\n handleWidth?: boolean;\n /**\n * Do not trigger update when a component mounts.\n * Default: false\n */\n skipOnMount?: boolean;\n /**\n * Changes the update strategy. Possible values: \"throttle\" and \"debounce\".\n * See `lodash` docs for more information https://lodash.com/docs/\n * undefined - callback will be fired for every frame.\n * Default: undefined\n */\n refreshMode?: 'throttle' | 'debounce';\n /**\n * Set the timeout/interval for `refreshMode` strategy\n * Default: undefined\n */\n refreshRate?: number;\n /**\n * Pass additional params to `refreshMode` according to lodash docs\n * Default: undefined\n */\n refreshOptions?: { leading?: boolean; trailing?: boolean };\n /**\n * These options will be used as a second parameter of `resizeObserver.observe` method\n * @see https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver/observe\n * Default: undefined\n */\n observerOptions?: ResizeObserverOptions;\n}\n\nexport interface ComponentsProps extends Props {\n /**\n * A selector of an element to observe.\n * You can use this property to attach resize-observer to any DOM element.\n * Please refer to the querySelector docs.\n * Default: undefined\n * @deprecated since version 5.0.0. It will be removed in version 7.0.0.\n * Use targetRef instead\n */\n querySelector?: string;\n /**\n * Valid only for a callback-pattern.\n * Ignored for other render types.\n * Set resize-detector's node type.\n * You can pass any valid React node: string with node's name or element.\n * Can be useful when you need to handle table's or paragraph's resizes.\n * Default: \"div\"\n * @deprecated since version 5.0.0. It will be removed in version 7.0.0.\n * Use targetRef instead\n */\n nodeType?: keyof JSX.IntrinsicElements; // will be passed to React.createElement()\n /**\n * A DOM element to observe.\n * By default it's a parent element in relation to the ReactResizeDetector component.\n * But you can pass any DOM element to observe.\n * This property is omitted when you pass querySelector.\n * Default: undefined\n * @deprecated since version 5.0.0. It will be removed in version 6.0.0.\n * Use targetRef instead\n */\n targetDomEl?: ElementT;\n /**\n * A React reference of the element to observe.\n * Pass a reference to the element you want to attach resize handlers to.\n * It must be an instance of React.useRef or React.createRef functions\n * Default: undefined\n */\n targetRef?: RefObject;\n\n render?: (props: ReactResizeDetectorDimensions) => ReactNode;\n\n children?: ReactNode | ((props: ChildFunctionProps) => ReactNode);\n}\n\nclass ResizeDetector extends PureComponent<\n ComponentsProps,\n ReactResizeDetectorDimensions\n> {\n skipOnMount: boolean | undefined;\n targetRef;\n observableElement;\n resizeHandler;\n resizeObserver;\n constructor(props: ComponentsProps) {\n super(props);\n\n const { skipOnMount, refreshMode, refreshRate = 1000, refreshOptions } = props;\n\n this.state = {\n width: undefined,\n height: undefined\n };\n\n this.skipOnMount = skipOnMount;\n this.targetRef = createRef();\n this.observableElement = null;\n\n if (isSSR()) {\n return;\n }\n\n this.resizeHandler = patchResizeHandler(this.createResizeHandler, refreshMode, refreshRate, refreshOptions);\n this.resizeObserver = new window.ResizeObserver(this.resizeHandler);\n }\n\n componentDidMount(): void {\n this.attachObserver();\n }\n\n componentDidUpdate(): void {\n this.attachObserver();\n }\n\n componentWillUnmount(): void {\n if (isSSR()) {\n return;\n }\n this.resizeObserver.disconnect();\n this.cancelHandler();\n }\n\n cancelHandler = (): void => {\n if (this.resizeHandler && this.resizeHandler.cancel) {\n // cancel debounced handler\n this.resizeHandler.cancel();\n this.resizeHandler = null;\n }\n };\n\n attachObserver = (): void => {\n const { targetRef, observerOptions } = this.props;\n\n if (isSSR()) {\n return;\n }\n\n if (targetRef && targetRef.current) {\n this.targetRef.current = targetRef.current;\n }\n\n const element = this.getElement();\n if (!element) {\n // can't find element to observe\n return;\n }\n\n if (this.observableElement && this.observableElement === element) {\n // element is already observed\n return;\n }\n\n this.observableElement = element;\n this.resizeObserver.observe(element, observerOptions);\n };\n\n getElement = (): Element | Text | null => {\n const { querySelector, targetDomEl } = this.props;\n\n if (isSSR()) return null;\n\n // in case we pass a querySelector\n if (querySelector) return document.querySelector(querySelector);\n // in case we pass a DOM element\n if (targetDomEl && isDOMElement(targetDomEl)) return targetDomEl;\n // in case we pass a React ref using React.createRef()\n if (this.targetRef && isDOMElement(this.targetRef.current)) return this.targetRef.current;\n\n // the worse case when we don't receive any information from the parent and the library doesn't add any wrappers\n // we have to use a deprecated `findDOMNode` method in order to find a DOM element to attach to\n const currentElement = findDOMNode(this);\n\n if (!currentElement) return null;\n\n const renderType = this.getRenderType();\n switch (renderType) {\n case 'renderProp':\n return currentElement;\n case 'childFunction':\n return currentElement;\n case 'child':\n return currentElement;\n case 'childArray':\n return currentElement;\n default:\n return currentElement.parentElement;\n }\n };\n\n createResizeHandler: ResizeObserverCallback = (entries): void => {\n const { handleWidth = true, handleHeight = true, onResize } = this.props;\n\n if (!handleWidth && !handleHeight) return;\n\n const notifyResize = createNotifier(onResize, this.setState.bind(this), handleWidth, handleHeight);\n\n entries.forEach(entry => {\n const { width, height } = (entry && entry.contentRect) || {};\n\n const shouldSetSize = !this.skipOnMount && !isSSR();\n if (shouldSetSize) {\n notifyResize({ width, height });\n }\n\n this.skipOnMount = false;\n });\n };\n\n getRenderType = (): string => {\n const { render, children } = this.props;\n if (isFunction(render)) {\n // DEPRECATED. Use `Child Function Pattern` instead\n return 'renderProp';\n }\n\n if (isFunction(children)) {\n return 'childFunction';\n }\n\n if (isValidElement(children)) {\n return 'child';\n }\n\n if (Array.isArray(children)) {\n // DEPRECATED. Wrap children with a single parent\n return 'childArray';\n }\n\n // DEPRECATED. Use `Child Function Pattern` instead\n return 'parent';\n };\n\n render() {\n const { render, children, nodeType: WrapperTag = 'div' } = this.props;\n const { width, height } = this.state;\n\n const childProps = { width, height, targetRef: this.targetRef };\n const renderType = this.getRenderType();\n\n let typedChildren: any;\n\n switch (renderType) {\n case 'renderProp':\n return render && render(childProps);\n case 'childFunction':\n typedChildren = children as (props: ChildFunctionProps) => ReactNode;\n return typedChildren(childProps);\n case 'child':\n // @TODO bug prone logic\n typedChildren = children as ReactElement;\n if (typedChildren.type && typeof typedChildren.type === 'string') {\n // child is a native DOM elements such as div, span etc\n const { targetRef, ...nativeProps } = childProps;\n return cloneElement(typedChildren, nativeProps);\n }\n // class or functional component otherwise\n return cloneElement(typedChildren, childProps);\n case 'childArray':\n typedChildren = children as [ReactElement];\n return typedChildren.map((el: ReactElement) => !!el && cloneElement(el, childProps));\n default:\n return ;\n }\n }\n}\n\nexport default ResizeDetector;\n","import { useLayoutEffect, useEffect, useState, useRef, MutableRefObject } from 'react';\n\nimport { patchResizeHandler, createNotifier, isSSR } from './utils';\n\nimport { Props, ReactResizeDetectorDimensions } from './ResizeDetector';\n\nconst useEnhancedEffect = isSSR() ? useEffect : useLayoutEffect;\n\ninterface FunctionProps extends Props {\n targetRef?: ReturnType;\n}\n\nfunction useResizeDetector(props: FunctionProps = {}): UseResizeDetectorReturn {\n const {\n skipOnMount = false,\n refreshMode,\n refreshRate = 1000,\n refreshOptions,\n handleWidth = true,\n handleHeight = true,\n targetRef,\n observerOptions,\n onResize\n } = props;\n\n const skipResize: MutableRefObject = useRef(skipOnMount);\n const localRef = useRef(null);\n const ref = (targetRef ?? localRef) as MutableRefObject;\n const resizeHandler = useRef();\n\n const [size, setSize] = useState({\n width: undefined,\n height: undefined\n });\n\n useEnhancedEffect(() => {\n if (isSSR()) {\n return;\n }\n\n const notifyResize = createNotifier(onResize, setSize, handleWidth, handleHeight);\n\n const resizeCallback: ResizeObserverCallback = entries => {\n if (!handleWidth && !handleHeight) return;\n\n entries.forEach(entry => {\n const { width, height } = (entry && entry.contentRect) || {};\n\n const shouldSetSize = !skipResize.current && !isSSR();\n if (shouldSetSize) {\n notifyResize({ width, height });\n }\n\n skipResize.current = false;\n });\n };\n\n resizeHandler.current = patchResizeHandler(resizeCallback, refreshMode, refreshRate, refreshOptions);\n\n const resizeObserver = new window.ResizeObserver(resizeHandler.current as ResizeObserverCallback);\n\n if (ref.current) {\n // Something wrong with typings here...\n resizeObserver.observe(ref.current as any, observerOptions);\n }\n\n return () => {\n resizeObserver.disconnect();\n const patchedResizeHandler = resizeHandler.current as any;\n if (patchedResizeHandler && patchedResizeHandler.cancel) {\n patchedResizeHandler.cancel();\n }\n };\n }, [refreshMode, refreshRate, refreshOptions, handleWidth, handleHeight, onResize, observerOptions, ref.current]);\n\n return { ref, ...size };\n}\n\nexport default useResizeDetector;\n\nexport interface UseResizeDetectorReturn extends ReactResizeDetectorDimensions {\n ref: MutableRefObject;\n}\n","import raf from 'raf';\nexport default function setRafTimeout(callback) {\n var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var currTime = -1;\n\n var shouldUpdate = function shouldUpdate(now) {\n if (currTime < 0) {\n currTime = now;\n }\n\n if (now - currTime > timeout) {\n callback(now);\n currTime = -1;\n } else {\n raf(shouldUpdate);\n }\n };\n\n raf(shouldUpdate);\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\nfunction _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport setRafTimeout from './setRafTimeout';\nexport default function createAnimateManager() {\n var currStyle = {};\n\n var handleChange = function handleChange() {\n return null;\n };\n\n var shouldStop = false;\n\n var setStyle = function setStyle(_style) {\n if (shouldStop) {\n return;\n }\n\n if (Array.isArray(_style)) {\n if (!_style.length) {\n return;\n }\n\n var styles = _style;\n\n var _styles = _toArray(styles),\n curr = _styles[0],\n restStyles = _styles.slice(1);\n\n if (typeof curr === 'number') {\n setRafTimeout(setStyle.bind(null, restStyles), curr);\n return;\n }\n\n setStyle(curr);\n setRafTimeout(setStyle.bind(null, restStyles));\n return;\n }\n\n if (_typeof(_style) === 'object') {\n currStyle = _style;\n handleChange(currStyle);\n }\n\n if (typeof _style === 'function') {\n _style();\n }\n };\n\n return {\n stop: function stop() {\n shouldStop = true;\n },\n start: function start(style) {\n shouldStop = false;\n setStyle(style);\n },\n subscribe: function subscribe(_handleChange) {\n handleChange = _handleChange;\n return function () {\n handleChange = function handleChange() {\n return null;\n };\n };\n }\n };\n}","function 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\n/* eslint no-console: 0 */\nvar PREFIX_LIST = ['Webkit', 'Moz', 'O', 'ms'];\nvar IN_LINE_PREFIX_LIST = ['-webkit-', '-moz-', '-o-', '-ms-'];\nvar IN_COMPATIBLE_PROPERTY = ['transform', 'transformOrigin', 'transition'];\nexport var getIntersectionKeys = function getIntersectionKeys(preObj, nextObj) {\n return [Object.keys(preObj), Object.keys(nextObj)].reduce(function (a, b) {\n return a.filter(function (c) {\n return b.includes(c);\n });\n });\n};\nexport var identity = function identity(param) {\n return param;\n};\n/*\n * @description: convert camel case to dash case\n * string => string\n */\n\nexport var getDashCase = function getDashCase(name) {\n return name.replace(/([A-Z])/g, function (v) {\n return \"-\".concat(v.toLowerCase());\n });\n};\n/*\n * @description: add compatible style prefix\n * (string, string) => object\n */\n\nexport var generatePrefixStyle = function generatePrefixStyle(name, value) {\n if (IN_COMPATIBLE_PROPERTY.indexOf(name) === -1) {\n return _defineProperty({}, name, value);\n }\n\n var isTransition = name === 'transition';\n var camelName = name.replace(/(\\w)/, function (v) {\n return v.toUpperCase();\n });\n var styleVal = value;\n return PREFIX_LIST.reduce(function (result, property, i) {\n if (isTransition) {\n styleVal = value.replace(/(transform|transform-origin)/gim, \"\".concat(IN_LINE_PREFIX_LIST[i], \"$1\"));\n }\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, property + camelName, styleVal));\n }, {});\n};\nexport var log = function log() {\n var _console;\n\n (_console = console).log.apply(_console, arguments);\n};\n/*\n * @description: log the value of a varible\n * string => any => any\n */\n\nexport var debug = function debug(name) {\n return function (item) {\n log(name, item);\n return item;\n };\n};\n/*\n * @description: log name, args, return value of a function\n * function => function\n */\n\nexport var debugf = function debugf(tag, f) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var res = f.apply(void 0, args);\n var name = tag || f.name || 'anonymous function';\n var argNames = \"(\".concat(args.map(JSON.stringify).join(', '), \")\");\n log(\"\".concat(name, \": \").concat(argNames, \" => \").concat(JSON.stringify(res)));\n return res;\n };\n};\n/*\n * @description: map object on every element in this object.\n * (function, object) => object\n */\n\nexport var mapObject = function mapObject(fn, obj) {\n return Object.keys(obj).reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, key, fn(key, obj[key])));\n }, {});\n};\n/*\n * @description: add compatible prefix to style\n * object => object\n */\n\nexport var translateStyle = function translateStyle(style) {\n return Object.keys(style).reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), generatePrefixStyle(key, res[key]));\n }, style);\n};\nexport var compose = function compose() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (!args.length) {\n return identity;\n }\n\n var fns = args.reverse(); // first function can receive multiply arguments\n\n var firstFn = fns[0];\n var tailsFn = fns.slice(1);\n return function () {\n return tailsFn.reduce(function (res, fn) {\n return fn(res);\n }, firstFn.apply(void 0, arguments));\n };\n};\nexport var getTransitionVal = function getTransitionVal(props, duration, easing) {\n return props.map(function (prop) {\n return \"\".concat(getDashCase(prop), \" \").concat(duration, \"ms \").concat(easing);\n }).join(',');\n};\nvar isDev = process.env.NODE_ENV !== 'production';\nexport var warn = function warn(condition, format, a, b, c, d, e, f) {\n if (isDev && typeof console !== 'undefined' && console.warn) {\n if (format === undefined) {\n console.warn('LogUtils requires an error message argument');\n }\n\n if (!condition) {\n if (format === undefined) {\n console.warn('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n console.warn(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n }\n }\n }\n};","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\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\nimport { warn } from './util';\nvar ACCURACY = 1e-4;\n\nvar cubicBezierFactor = function cubicBezierFactor(c1, c2) {\n return [0, 3 * c1, 3 * c2 - 6 * c1, 3 * c1 - 3 * c2 + 1];\n};\n\nvar multyTime = function multyTime(params, t) {\n return params.map(function (param, i) {\n return param * Math.pow(t, i);\n }).reduce(function (pre, curr) {\n return pre + curr;\n });\n};\n\nvar cubicBezier = function cubicBezier(c1, c2) {\n return function (t) {\n var params = cubicBezierFactor(c1, c2);\n return multyTime(params, t);\n };\n};\n\nvar derivativeCubicBezier = function derivativeCubicBezier(c1, c2) {\n return function (t) {\n var params = cubicBezierFactor(c1, c2);\n var newParams = [].concat(_toConsumableArray(params.map(function (param, i) {\n return param * i;\n }).slice(1)), [0]);\n return multyTime(newParams, t);\n };\n}; // calculate cubic-bezier using Newton's method\n\n\nexport var configBezier = function configBezier() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var x1 = args[0],\n y1 = args[1],\n x2 = args[2],\n y2 = args[3];\n\n if (args.length === 1) {\n switch (args[0]) {\n case 'linear':\n x1 = 0.0;\n y1 = 0.0;\n x2 = 1.0;\n y2 = 1.0;\n break;\n\n case 'ease':\n x1 = 0.25;\n y1 = 0.1;\n x2 = 0.25;\n y2 = 1.0;\n break;\n\n case 'ease-in':\n x1 = 0.42;\n y1 = 0.0;\n x2 = 1.0;\n y2 = 1.0;\n break;\n\n case 'ease-out':\n x1 = 0.42;\n y1 = 0.0;\n x2 = 0.58;\n y2 = 1.0;\n break;\n\n case 'ease-in-out':\n x1 = 0.0;\n y1 = 0.0;\n x2 = 0.58;\n y2 = 1.0;\n break;\n\n default:\n {\n var easing = args[0].split('(');\n\n if (easing[0] === 'cubic-bezier' && easing[1].split(')')[0].split(',').length === 4) {\n var _easing$1$split$0$spl = easing[1].split(')')[0].split(',').map(function (x) {\n return parseFloat(x);\n });\n\n var _easing$1$split$0$spl2 = _slicedToArray(_easing$1$split$0$spl, 4);\n\n x1 = _easing$1$split$0$spl2[0];\n y1 = _easing$1$split$0$spl2[1];\n x2 = _easing$1$split$0$spl2[2];\n y2 = _easing$1$split$0$spl2[3];\n } else {\n warn(false, '[configBezier]: arguments should be one of ' + 'oneOf \\'linear\\', \\'ease\\', \\'ease-in\\', \\'ease-out\\', ' + '\\'ease-in-out\\',\\'cubic-bezier(x1,y1,x2,y2)\\', instead received %s', args);\n }\n }\n }\n }\n\n warn([x1, x2, y1, y2].every(function (num) {\n return typeof num === 'number' && num >= 0 && num <= 1;\n }), '[configBezier]: arguments should be x1, y1, x2, y2 of [0, 1] instead received %s', args);\n var curveX = cubicBezier(x1, x2);\n var curveY = cubicBezier(y1, y2);\n var derCurveX = derivativeCubicBezier(x1, x2);\n\n var rangeValue = function rangeValue(value) {\n if (value > 1) {\n return 1;\n } else if (value < 0) {\n return 0;\n }\n\n return value;\n };\n\n var bezier = function bezier(_t) {\n var t = _t > 1 ? 1 : _t;\n var x = t;\n\n for (var i = 0; i < 8; ++i) {\n var evalT = curveX(x) - t;\n var derVal = derCurveX(x);\n\n if (Math.abs(evalT - t) < ACCURACY || derVal < ACCURACY) {\n return curveY(x);\n }\n\n x = rangeValue(x - evalT / derVal);\n }\n\n return curveY(x);\n };\n\n bezier.isStepper = false;\n return bezier;\n};\nexport var configSpring = function configSpring() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _config$stiff = config.stiff,\n stiff = _config$stiff === void 0 ? 100 : _config$stiff,\n _config$damping = config.damping,\n damping = _config$damping === void 0 ? 8 : _config$damping,\n _config$dt = config.dt,\n dt = _config$dt === void 0 ? 17 : _config$dt;\n\n var stepper = function stepper(currX, destX, currV) {\n var FSpring = -(currX - destX) * stiff;\n var FDamping = currV * damping;\n var newV = currV + (FSpring - FDamping) * dt / 1000;\n var newX = currV * dt / 1000 + currX;\n\n if (Math.abs(newX - destX) < ACCURACY && Math.abs(newV) < ACCURACY) {\n return [destX, 0];\n }\n\n return [newX, newV];\n };\n\n stepper.isStepper = true;\n stepper.dt = dt;\n return stepper;\n};\nexport var configEasing = function configEasing() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var easing = args[0];\n\n if (typeof easing === 'string') {\n switch (easing) {\n case 'ease':\n case 'ease-in-out':\n case 'ease-out':\n case 'ease-in':\n case 'linear':\n return configBezier(easing);\n\n case 'spring':\n return configSpring();\n\n default:\n if (easing.split('(')[0] === 'cubic-bezier') {\n return configBezier(easing);\n }\n\n warn(false, '[configEasing]: first argument should be one of \\'ease\\', \\'ease-in\\', ' + '\\'ease-out\\', \\'ease-in-out\\',\\'cubic-bezier(x1,y1,x2,y2)\\', \\'linear\\' and \\'spring\\', instead received %s', args);\n }\n }\n\n if (typeof easing === 'function') {\n return easing;\n }\n\n warn(false, '[configEasing]: first argument type should be function or ' + 'string, instead received %s', args);\n return null;\n};","function _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 _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 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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport raf, { cancel as caf } from 'raf';\nimport { getIntersectionKeys, mapObject } from './util';\n\nvar alpha = function alpha(begin, end, k) {\n return begin + (end - begin) * k;\n};\n\nvar needContinue = function needContinue(_ref) {\n var from = _ref.from,\n to = _ref.to;\n return from !== to;\n};\n/*\n * @description: cal new from value and velocity in each stepper\n * @return: { [styleProperty]: { from, to, velocity } }\n */\n\n\nvar calStepperVals = function calStepperVals(easing, preVals, steps) {\n var nextStepVals = mapObject(function (key, val) {\n if (needContinue(val)) {\n var _easing = easing(val.from, val.to, val.velocity),\n _easing2 = _slicedToArray(_easing, 2),\n newX = _easing2[0],\n newV = _easing2[1];\n\n return _objectSpread(_objectSpread({}, val), {}, {\n from: newX,\n velocity: newV\n });\n }\n\n return val;\n }, preVals);\n\n if (steps < 1) {\n return mapObject(function (key, val) {\n if (needContinue(val)) {\n return _objectSpread(_objectSpread({}, val), {}, {\n velocity: alpha(val.velocity, nextStepVals[key].velocity, steps),\n from: alpha(val.from, nextStepVals[key].from, steps)\n });\n }\n\n return val;\n }, preVals);\n }\n\n return calStepperVals(easing, nextStepVals, steps - 1);\n}; // configure update function\n\n\nexport default (function (from, to, easing, duration, render) {\n var interKeys = getIntersectionKeys(from, to);\n var timingStyle = interKeys.reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, key, [from[key], to[key]]));\n }, {});\n var stepperStyle = interKeys.reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, key, {\n from: from[key],\n velocity: 0,\n to: to[key]\n }));\n }, {});\n var cafId = -1;\n var preTime;\n var beginTime;\n\n var update = function update() {\n return null;\n };\n\n var getCurrStyle = function getCurrStyle() {\n return mapObject(function (key, val) {\n return val.from;\n }, stepperStyle);\n };\n\n var shouldStopAnimation = function shouldStopAnimation() {\n return !Object.values(stepperStyle).filter(needContinue).length;\n }; // stepper timing function like spring\n\n\n var stepperUpdate = function stepperUpdate(now) {\n if (!preTime) {\n preTime = now;\n }\n\n var deltaTime = now - preTime;\n var steps = deltaTime / easing.dt;\n stepperStyle = calStepperVals(easing, stepperStyle, steps); // get union set and add compatible prefix\n\n render(_objectSpread(_objectSpread(_objectSpread({}, from), to), getCurrStyle(stepperStyle)));\n preTime = now;\n\n if (!shouldStopAnimation()) {\n cafId = raf(update);\n }\n }; // t => val timing function like cubic-bezier\n\n\n var timingUpdate = function timingUpdate(now) {\n if (!beginTime) {\n beginTime = now;\n }\n\n var t = (now - beginTime) / duration;\n var currStyle = mapObject(function (key, val) {\n return alpha.apply(void 0, _toConsumableArray(val).concat([easing(t)]));\n }, timingStyle); // get union set and add compatible prefix\n\n render(_objectSpread(_objectSpread(_objectSpread({}, from), to), currStyle));\n\n if (t < 1) {\n cafId = raf(update);\n } else {\n var finalStyle = mapObject(function (key, val) {\n return alpha.apply(void 0, _toConsumableArray(val).concat([easing(1)]));\n }, timingStyle);\n render(_objectSpread(_objectSpread(_objectSpread({}, from), to), finalStyle));\n }\n };\n\n update = easing.isStepper ? stepperUpdate : timingUpdate; // return start animation method\n\n return function () {\n raf(update); // return stop animation method\n\n return function () {\n caf(cafId);\n };\n };\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\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 _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 ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport React, { PureComponent, cloneElement, Children } from 'react';\nimport PropTypes from 'prop-types';\nimport { deepEqual } from 'fast-equals';\nimport createAnimateManager from './AnimateManager';\nimport { configEasing } from './easing';\nimport configUpdate from './configUpdate';\nimport { getTransitionVal, identity, translateStyle } from './util';\n\nvar Animate = /*#__PURE__*/function (_PureComponent) {\n _inherits(Animate, _PureComponent);\n\n var _super = _createSuper(Animate);\n\n function Animate(props, context) {\n var _this;\n\n _classCallCheck(this, Animate);\n\n _this = _super.call(this, props, context);\n var _this$props = _this.props,\n isActive = _this$props.isActive,\n attributeName = _this$props.attributeName,\n from = _this$props.from,\n to = _this$props.to,\n steps = _this$props.steps,\n children = _this$props.children;\n _this.handleStyleChange = _this.handleStyleChange.bind(_assertThisInitialized(_this));\n _this.changeStyle = _this.changeStyle.bind(_assertThisInitialized(_this));\n\n if (!isActive) {\n _this.state = {\n style: {}\n }; // if children is a function and animation is not active, set style to 'to'\n\n if (typeof children === 'function') {\n _this.state = {\n style: to\n };\n }\n\n return _possibleConstructorReturn(_this);\n }\n\n if (steps && steps.length) {\n _this.state = {\n style: steps[0].style\n };\n } else if (from) {\n if (typeof children === 'function') {\n _this.state = {\n style: from\n };\n return _possibleConstructorReturn(_this);\n }\n\n _this.state = {\n style: attributeName ? _defineProperty({}, attributeName, from) : from\n };\n } else {\n _this.state = {\n style: {}\n };\n }\n\n return _this;\n }\n\n _createClass(Animate, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props2 = this.props,\n isActive = _this$props2.isActive,\n canBegin = _this$props2.canBegin;\n this.mounted = true;\n\n if (!isActive || !canBegin) {\n return;\n }\n\n this.runAnimation(this.props);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props3 = this.props,\n isActive = _this$props3.isActive,\n canBegin = _this$props3.canBegin,\n attributeName = _this$props3.attributeName,\n shouldReAnimate = _this$props3.shouldReAnimate;\n\n if (!canBegin) {\n return;\n }\n\n if (!isActive) {\n var newState = {\n style: attributeName ? _defineProperty({}, attributeName, this.props.to) : this.props.to\n };\n\n if (this.state && this.state.style) {\n if (attributeName && this.state.style[attributeName] !== this.props.to || !attributeName && this.state.style !== this.props.to) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState(newState);\n }\n }\n\n return;\n }\n\n if (deepEqual(prevProps.to, this.props.to) && prevProps.canBegin && prevProps.isActive) {\n return;\n }\n\n var isTriggered = !prevProps.canBegin || !prevProps.isActive;\n\n if (this.manager) {\n this.manager.stop();\n }\n\n if (this.stopJSAnimation) {\n this.stopJSAnimation();\n }\n\n var from = isTriggered || shouldReAnimate ? this.props.from : prevProps.to;\n\n if (this.state && this.state.style) {\n var _newState = {\n style: attributeName ? _defineProperty({}, attributeName, from) : from\n };\n\n if (attributeName && this.state.style[attributeName] !== from || !attributeName && this.state.style !== from) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState(_newState);\n }\n }\n\n this.runAnimation(_objectSpread(_objectSpread({}, this.props), {}, {\n from: from,\n begin: 0\n }));\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n\n if (this.unSubscribe) {\n this.unSubscribe();\n }\n\n if (this.manager) {\n this.manager.stop();\n this.manager = null;\n }\n\n if (this.stopJSAnimation) {\n this.stopJSAnimation();\n }\n }\n }, {\n key: \"runJSAnimation\",\n value: function runJSAnimation(props) {\n var _this2 = this;\n\n var from = props.from,\n to = props.to,\n duration = props.duration,\n easing = props.easing,\n begin = props.begin,\n onAnimationEnd = props.onAnimationEnd,\n onAnimationStart = props.onAnimationStart;\n var startAnimation = configUpdate(from, to, configEasing(easing), duration, this.changeStyle);\n\n var finalStartAnimation = function finalStartAnimation() {\n _this2.stopJSAnimation = startAnimation();\n };\n\n this.manager.start([onAnimationStart, begin, finalStartAnimation, duration, onAnimationEnd]);\n }\n }, {\n key: \"runStepAnimation\",\n value: function runStepAnimation(props) {\n var _this3 = this;\n\n var steps = props.steps,\n begin = props.begin,\n onAnimationStart = props.onAnimationStart;\n var _steps$ = steps[0],\n initialStyle = _steps$.style,\n _steps$$duration = _steps$.duration,\n initialTime = _steps$$duration === void 0 ? 0 : _steps$$duration;\n\n var addStyle = function addStyle(sequence, nextItem, index) {\n if (index === 0) {\n return sequence;\n }\n\n var duration = nextItem.duration,\n _nextItem$easing = nextItem.easing,\n easing = _nextItem$easing === void 0 ? 'ease' : _nextItem$easing,\n style = nextItem.style,\n nextProperties = nextItem.properties,\n onAnimationEnd = nextItem.onAnimationEnd;\n var preItem = index > 0 ? steps[index - 1] : nextItem;\n var properties = nextProperties || Object.keys(style);\n\n if (typeof easing === 'function' || easing === 'spring') {\n return [].concat(_toConsumableArray(sequence), [_this3.runJSAnimation.bind(_this3, {\n from: preItem.style,\n to: style,\n duration: duration,\n easing: easing\n }), duration]);\n }\n\n var transition = getTransitionVal(properties, duration, easing);\n\n var newStyle = _objectSpread(_objectSpread(_objectSpread({}, preItem.style), style), {}, {\n transition: transition\n });\n\n return [].concat(_toConsumableArray(sequence), [newStyle, duration, onAnimationEnd]).filter(identity);\n };\n\n return this.manager.start([onAnimationStart].concat(_toConsumableArray(steps.reduce(addStyle, [initialStyle, Math.max(initialTime, begin)])), [props.onAnimationEnd]));\n }\n }, {\n key: \"runAnimation\",\n value: function runAnimation(props) {\n if (!this.manager) {\n this.manager = createAnimateManager();\n }\n\n var begin = props.begin,\n duration = props.duration,\n attributeName = props.attributeName,\n propsTo = props.to,\n easing = props.easing,\n onAnimationStart = props.onAnimationStart,\n onAnimationEnd = props.onAnimationEnd,\n steps = props.steps,\n children = props.children;\n var manager = this.manager;\n this.unSubscribe = manager.subscribe(this.handleStyleChange);\n\n if (typeof easing === 'function' || typeof children === 'function' || easing === 'spring') {\n this.runJSAnimation(props);\n return;\n }\n\n if (steps.length > 1) {\n this.runStepAnimation(props);\n return;\n }\n\n var to = attributeName ? _defineProperty({}, attributeName, propsTo) : propsTo;\n var transition = getTransitionVal(Object.keys(to), duration, easing);\n manager.start([onAnimationStart, begin, _objectSpread(_objectSpread({}, to), {}, {\n transition: transition\n }), duration, onAnimationEnd]);\n }\n }, {\n key: \"handleStyleChange\",\n value: function handleStyleChange(style) {\n this.changeStyle(style);\n }\n }, {\n key: \"changeStyle\",\n value: function changeStyle(style) {\n if (this.mounted) {\n this.setState({\n style: style\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props4 = this.props,\n children = _this$props4.children,\n begin = _this$props4.begin,\n duration = _this$props4.duration,\n attributeName = _this$props4.attributeName,\n easing = _this$props4.easing,\n isActive = _this$props4.isActive,\n steps = _this$props4.steps,\n from = _this$props4.from,\n to = _this$props4.to,\n canBegin = _this$props4.canBegin,\n onAnimationEnd = _this$props4.onAnimationEnd,\n shouldReAnimate = _this$props4.shouldReAnimate,\n onAnimationReStart = _this$props4.onAnimationReStart,\n others = _objectWithoutProperties(_this$props4, [\"children\", \"begin\", \"duration\", \"attributeName\", \"easing\", \"isActive\", \"steps\", \"from\", \"to\", \"canBegin\", \"onAnimationEnd\", \"shouldReAnimate\", \"onAnimationReStart\"]);\n\n var count = Children.count(children);\n var stateStyle = translateStyle(this.state.style);\n\n if (typeof children === 'function') {\n return children(stateStyle);\n }\n\n if (!isActive || count === 0) {\n return children;\n }\n\n var cloneContainer = function cloneContainer(container) {\n var _container$props = container.props,\n _container$props$styl = _container$props.style,\n style = _container$props$styl === void 0 ? {} : _container$props$styl,\n className = _container$props.className;\n var res = /*#__PURE__*/cloneElement(container, _objectSpread(_objectSpread({}, others), {}, {\n style: _objectSpread(_objectSpread({}, style), stateStyle),\n className: className\n }));\n return res;\n };\n\n if (count === 1) {\n return cloneContainer(Children.only(children));\n }\n\n return /*#__PURE__*/React.createElement(\"div\", null, Children.map(children, function (child) {\n return cloneContainer(child);\n }));\n }\n }]);\n\n return Animate;\n}(PureComponent);\n\nAnimate.displayName = 'Animate';\nAnimate.propTypes = {\n from: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n to: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n attributeName: PropTypes.string,\n // animation duration\n duration: PropTypes.number,\n begin: PropTypes.number,\n easing: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n steps: PropTypes.arrayOf(PropTypes.shape({\n duration: PropTypes.number.isRequired,\n style: PropTypes.object.isRequired,\n easing: PropTypes.oneOfType([PropTypes.oneOf(['ease', 'ease-in', 'ease-out', 'ease-in-out', 'linear']), PropTypes.func]),\n // transition css properties(dash case), optional\n properties: PropTypes.arrayOf('string'),\n onAnimationEnd: PropTypes.func\n })),\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n isActive: PropTypes.bool,\n canBegin: PropTypes.bool,\n onAnimationEnd: PropTypes.func,\n // decide if it should reanimate with initial from style when props change\n shouldReAnimate: PropTypes.bool,\n onAnimationStart: PropTypes.func,\n onAnimationReStart: PropTypes.func\n};\nAnimate.defaultProps = {\n begin: 0,\n duration: 1000,\n from: '',\n to: '',\n attributeName: '',\n easing: 'ease',\n isActive: true,\n canBegin: true,\n steps: [],\n onAnimationEnd: function onAnimationEnd() {},\n onAnimationStart: function onAnimationStart() {}\n};\nexport default Animate;","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\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport React, { Component, Children } from 'react';\nimport { Transition } from 'react-transition-group';\nimport PropTypes from 'prop-types';\nimport Animate from './Animate';\n\nif (Number.isFinite === undefined) {\n Number.isFinite = function (value) {\n return typeof value === 'number' && isFinite(value);\n };\n}\n\nvar parseDurationOfSingleTransition = function parseDurationOfSingleTransition() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var steps = options.steps,\n duration = options.duration;\n\n if (steps && steps.length) {\n return steps.reduce(function (result, entry) {\n return result + (Number.isFinite(entry.duration) && entry.duration > 0 ? entry.duration : 0);\n }, 0);\n }\n\n if (Number.isFinite(duration)) {\n return duration;\n }\n\n return 0;\n};\n\nvar AnimateGroupChild = /*#__PURE__*/function (_Component) {\n _inherits(AnimateGroupChild, _Component);\n\n var _super = _createSuper(AnimateGroupChild);\n\n function AnimateGroupChild() {\n var _this;\n\n _classCallCheck(this, AnimateGroupChild);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n isActive: false\n };\n\n _this.handleEnter = function (node, isAppearing) {\n var _this$props = _this.props,\n appearOptions = _this$props.appearOptions,\n enterOptions = _this$props.enterOptions;\n\n _this.handleStyleActive(isAppearing ? appearOptions : enterOptions);\n };\n\n _this.handleExit = function () {\n _this.handleStyleActive(_this.props.leaveOptions);\n };\n\n return _this;\n }\n\n _createClass(AnimateGroupChild, [{\n key: \"handleStyleActive\",\n value: function handleStyleActive(style) {\n if (style) {\n var onAnimationEnd = style.onAnimationEnd ? function () {\n style.onAnimationEnd();\n } : null;\n this.setState(_objectSpread(_objectSpread({}, style), {}, {\n onAnimationEnd: onAnimationEnd,\n isActive: true\n }));\n }\n }\n }, {\n key: \"parseTimeout\",\n value: function parseTimeout() {\n var _this$props2 = this.props,\n appearOptions = _this$props2.appearOptions,\n enterOptions = _this$props2.enterOptions,\n leaveOptions = _this$props2.leaveOptions;\n return parseDurationOfSingleTransition(appearOptions) + parseDurationOfSingleTransition(enterOptions) + parseDurationOfSingleTransition(leaveOptions);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props3 = this.props,\n children = _this$props3.children,\n appearOptions = _this$props3.appearOptions,\n enterOptions = _this$props3.enterOptions,\n leaveOptions = _this$props3.leaveOptions,\n props = _objectWithoutProperties(_this$props3, [\"children\", \"appearOptions\", \"enterOptions\", \"leaveOptions\"]);\n\n return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n onEnter: this.handleEnter,\n onExit: this.handleExit,\n timeout: this.parseTimeout()\n }), function () {\n return /*#__PURE__*/React.createElement(Animate, _this2.state, Children.only(children));\n });\n }\n }]);\n\n return AnimateGroupChild;\n}(Component);\n\nAnimateGroupChild.propTypes = {\n appearOptions: PropTypes.object,\n enterOptions: PropTypes.object,\n leaveOptions: PropTypes.object,\n children: PropTypes.element\n};\nexport default AnimateGroupChild;","import React, { Children } from 'react';\nimport { TransitionGroup } from 'react-transition-group';\nimport PropTypes from 'prop-types';\nimport AnimateGroupChild from './AnimateGroupChild';\n\nfunction AnimateGroup(props) {\n var component = props.component,\n children = props.children,\n appear = props.appear,\n enter = props.enter,\n leave = props.leave;\n return /*#__PURE__*/React.createElement(TransitionGroup, {\n component: component\n }, Children.map(children, function (child, index) {\n return /*#__PURE__*/React.createElement(AnimateGroupChild, {\n appearOptions: appear,\n enterOptions: enter,\n leaveOptions: leave,\n key: \"child-\".concat(index) // eslint-disable-line\n\n }, child);\n }));\n}\n\nAnimateGroup.propTypes = {\n appear: PropTypes.object,\n enter: PropTypes.object,\n leave: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.element]),\n component: PropTypes.any\n};\nAnimateGroup.defaultProps = {\n component: 'span'\n};\nexport default AnimateGroup;","import Animate from './Animate';\nimport { configBezier, configSpring } from './easing';\nimport { translateStyle } from './util';\nimport AnimateGroup from './AnimateGroup';\nexport { configSpring, configBezier, AnimateGroup, translateStyle };\nexport default Animate;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = addClass;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nfunction addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hasClass;\n\nfunction hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\n\nmodule.exports = exports[\"default\"];","'use strict';\n\nfunction replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp('(^|\\\\s)' + classToRemove + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nmodule.exports = function removeClass(element, className) {\n if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _addClass = _interopRequireDefault(require(\"dom-helpers/class/addClass\"));\n\nvar _removeClass = _interopRequireDefault(require(\"dom-helpers/class/removeClass\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\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 _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return (0, _addClass.default)(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return (0, _removeClass.default)(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](http://www.nganimate.org/) library, you should use it if you're\n * using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n *
\n * {\"I'll receive my-node-* classes\"}\n *
\n *
\n * \n *
\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity: 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**.\n */\n\n\nvar CSSTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\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 = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _this.onEnter = function (node, appearing) {\n var _this$getClassNames = _this.getClassNames(appearing ? 'appear' : 'enter'),\n className = _this$getClassNames.className;\n\n _this.removeClasses(node, 'exit');\n\n addClass(node, className);\n\n if (_this.props.onEnter) {\n _this.props.onEnter(node, appearing);\n }\n };\n\n _this.onEntering = function (node, appearing) {\n var _this$getClassNames2 = _this.getClassNames(appearing ? 'appear' : 'enter'),\n activeClassName = _this$getClassNames2.activeClassName;\n\n _this.reflowAndAddClass(node, activeClassName);\n\n if (_this.props.onEntering) {\n _this.props.onEntering(node, appearing);\n }\n };\n\n _this.onEntered = function (node, appearing) {\n var appearClassName = _this.getClassNames('appear').doneClassName;\n\n var enterClassName = _this.getClassNames('enter').doneClassName;\n\n var doneClassName = appearing ? appearClassName + \" \" + enterClassName : enterClassName;\n\n _this.removeClasses(node, appearing ? 'appear' : 'enter');\n\n addClass(node, doneClassName);\n\n if (_this.props.onEntered) {\n _this.props.onEntered(node, appearing);\n }\n };\n\n _this.onExit = function (node) {\n var _this$getClassNames3 = _this.getClassNames('exit'),\n className = _this$getClassNames3.className;\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n addClass(node, className);\n\n if (_this.props.onExit) {\n _this.props.onExit(node);\n }\n };\n\n _this.onExiting = function (node) {\n var _this$getClassNames4 = _this.getClassNames('exit'),\n activeClassName = _this$getClassNames4.activeClassName;\n\n _this.reflowAndAddClass(node, activeClassName);\n\n if (_this.props.onExiting) {\n _this.props.onExiting(node);\n }\n };\n\n _this.onExited = function (node) {\n var _this$getClassNames5 = _this.getClassNames('exit'),\n doneClassName = _this$getClassNames5.doneClassName;\n\n _this.removeClasses(node, 'exit');\n\n addClass(node, doneClassName);\n\n if (_this.props.onExited) {\n _this.props.onExited(node);\n }\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + '-' : '';\n var className = isStringClassNames ? prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? className + '-active' : classNames[type + 'Active'];\n var doneClassName = isStringClassNames ? className + '-done' : classNames[type + 'Done'];\n return {\n className: className,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$getClassNames6 = this.getClassNames(type),\n className = _this$getClassNames6.className,\n activeClassName = _this$getClassNames6.activeClassName,\n doneClassName = _this$getClassNames6.doneClassName;\n\n className && removeClass(node, className);\n activeClassName && removeClass(node, activeClassName);\n doneClassName && removeClass(node, doneClassName);\n };\n\n _proto.reflowAndAddClass = function reflowAndAddClass(node, className) {\n // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n if (className) {\n /* eslint-disable no-unused-expressions */\n node && node.scrollTop;\n /* eslint-enable no-unused-expressions */\n\n addClass(node, className);\n }\n };\n\n _proto.render = function render() {\n var props = _extends({}, this.props);\n\n delete props.classNames;\n return _react.default.createElement(_Transition.default, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(_react.default.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, _Transition.default.propTypes, {\n /**\n * The animation classNames applied to the component as it enters, exits or\n * has finished the transition. A single name can be provided and it will be\n * suffixed for each stage: e.g.\n *\n * `classNames=\"fade\"` applies `fade-enter`, `fade-enter-active`,\n * `fade-enter-done`, `fade-exit`, `fade-exit-active`, `fade-exit-done`,\n * `fade-appear`, `fade-appear-active`, and `fade-appear-done`.\n *\n * **Note**: `fade-appear-done` and `fade-enter-done` will _both_ be applied.\n * This allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply an\n * epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: _PropTypes.classNamesShape,\n\n /**\n * A `` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' class is\n * applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit-active' is applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nvar _default = CSSTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = require(\"react-dom\");\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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 _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\n/**\n * The `` component is a specialized `Transition` component\n * that animates between two children.\n *\n * ```jsx\n * \n *
I appear first
\n *
I replace the above
\n *
\n * ```\n */\nvar ReplaceTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(ReplaceTransition, _React$Component);\n\n function ReplaceTransition() {\n var _this;\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 = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;\n\n _this.handleEnter = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _this.handleLifecycle('onEnter', 0, args);\n };\n\n _this.handleEntering = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _this.handleLifecycle('onEntering', 0, args);\n };\n\n _this.handleEntered = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _this.handleLifecycle('onEntered', 0, args);\n };\n\n _this.handleExit = function () {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n return _this.handleLifecycle('onExit', 1, args);\n };\n\n _this.handleExiting = function () {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n return _this.handleLifecycle('onExiting', 1, args);\n };\n\n _this.handleExited = function () {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n return _this.handleLifecycle('onExited', 1, args);\n };\n\n return _this;\n }\n\n var _proto = ReplaceTransition.prototype;\n\n _proto.handleLifecycle = function handleLifecycle(handler, idx, originalArgs) {\n var _child$props;\n\n var children = this.props.children;\n\n var child = _react.default.Children.toArray(children)[idx];\n\n if (child.props[handler]) (_child$props = child.props)[handler].apply(_child$props, originalArgs);\n if (this.props[handler]) this.props[handler]((0, _reactDom.findDOMNode)(this));\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n inProp = _this$props.in,\n props = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\"]);\n\n var _React$Children$toArr = _react.default.Children.toArray(children),\n first = _React$Children$toArr[0],\n second = _React$Children$toArr[1];\n\n delete props.onEnter;\n delete props.onEntering;\n delete props.onEntered;\n delete props.onExit;\n delete props.onExiting;\n delete props.onExited;\n return _react.default.createElement(_TransitionGroup.default, props, inProp ? _react.default.cloneElement(first, {\n key: 'first',\n onEnter: this.handleEnter,\n onEntering: this.handleEntering,\n onEntered: this.handleEntered\n }) : _react.default.cloneElement(second, {\n key: 'second',\n onEnter: this.handleExit,\n onEntering: this.handleExiting,\n onEntered: this.handleExited\n }));\n };\n\n return ReplaceTransition;\n}(_react.default.Component);\n\nReplaceTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n in: _propTypes.default.bool.isRequired,\n children: function children(props, propName) {\n if (_react.default.Children.count(props[propName]) !== 2) return new Error(\"\\\"\" + propName + \"\\\" must be exactly two transition components.\");\n return null;\n }\n} : {};\nvar _default = ReplaceTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\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 _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar UNMOUNTED = 'unmounted';\nexports.UNMOUNTED = UNMOUNTED;\nvar EXITED = 'exited';\nexports.EXITED = EXITED;\nvar ENTERING = 'entering';\nexports.ENTERING = ENTERING;\nvar ENTERED = 'entered';\nexports.ENTERED = ENTERED;\nvar EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 0 },\n * entered: { opacity: 1 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nexports.EXITING = EXITING;\n\nvar Transition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context.transitionGroup; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n var _proto = Transition.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: null // allows for nested Transitions\n\n };\n };\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n }; // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n var node = _reactDom.default.findDOMNode(this);\n\n if (nextStatus === ENTERING) {\n this.performEnter(node, mounting);\n } else {\n this.performExit(node);\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(node, mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node);\n });\n return;\n }\n\n this.props.onEnter(node, appearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(node, appearing);\n\n _this2.onTransitionEnd(node, enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node, appearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit(node) {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED\n\n if (!exit) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n return;\n }\n\n this.props.onExit(node);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(node);\n\n _this3.onTransitionEnd(node, timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {\n this.setNextCallback(handler);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n this.props.addEndListener(node, this.nextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\"]); // filter props for Transtition\n\n\n delete childProps.in;\n delete childProps.mountOnEnter;\n delete childProps.unmountOnExit;\n delete childProps.appear;\n delete childProps.enter;\n delete childProps.exit;\n delete childProps.timeout;\n delete childProps.addEndListener;\n delete childProps.onEnter;\n delete childProps.onEntering;\n delete childProps.onEntered;\n delete childProps.onExit;\n delete childProps.onExiting;\n delete childProps.onExited;\n\n if (typeof children === 'function') {\n return children(status, childProps);\n }\n\n var child = _react.default.Children.only(children);\n\n return _react.default.cloneElement(child, childProps);\n };\n\n return Transition;\n}(_react.default.Component);\n\nTransition.contextTypes = {\n transitionGroup: PropTypes.object\n};\nTransition.childContextTypes = {\n transitionGroup: function transitionGroup() {}\n};\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`, `'unmounted'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * Normally a component is not transitioned if it is shown when the `` component mounts.\n * If you want to transition on the first mount set `appear` to `true`, and the\n * component will transition in as soon as the `` mounts.\n *\n * > Note: there are no specific \"appear\" states. `appear` only adds an additional `enter` transition.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = _PropTypes.timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. **Note:** Timeouts are still used as a fallback if provided.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func // Name the function so it is clearer in the documentation\n\n} : {};\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = 0;\nTransition.EXITED = 1;\nTransition.ENTERING = 2;\nTransition.ENTERED = 3;\nTransition.EXITING = 4;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(Transition);\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _ChildMapping = require(\"./utils/ChildMapping\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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 _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n /**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\n};\n\nvar TransitionGroup =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this))); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: {\n isMounting: !this.appeared\n }\n };\n };\n\n _proto.componentDidMount = function componentDidMount() {\n this.appeared = true;\n this.mounted = true;\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? (0, _ChildMapping.getInitialChildMapping)(nextProps, handleExited) : (0, _ChildMapping.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n };\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return children;\n }\n\n return _react.default.createElement(Component, props, children);\n };\n\n return TransitionGroup;\n}(_react.default.Component);\n\nTransitionGroup.childContextTypes = {\n transitionGroup: _propTypes.default.object.isRequired\n};\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: _propTypes.default.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: _propTypes.default.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: _propTypes.default.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: _propTypes.default.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _CSSTransition = _interopRequireDefault(require(\"./CSSTransition\"));\n\nvar _ReplaceTransition = _interopRequireDefault(require(\"./ReplaceTransition\"));\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = {\n Transition: _Transition.default,\n TransitionGroup: _TransitionGroup.default,\n ReplaceTransition: _ReplaceTransition.default,\n CSSTransition: _CSSTransition.default\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.getChildMapping = getChildMapping;\nexports.mergeChildMappings = mergeChildMappings;\nexports.getInitialChildMapping = getInitialChildMapping;\nexports.getNextChildMapping = getNextChildMapping;\n\nvar _react = require(\"react\");\n\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\nfunction getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && (0, _react.isValidElement)(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) _react.Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\n\nfunction mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nfunction getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\n\nfunction getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!(0, _react.isValidElement)(child)) return;\n var hasPrev = key in prevChildMapping;\n var hasNext = key in nextChildMapping;\n var prevChild = prevChildMapping[key];\n var isLeaving = (0, _react.isValidElement)(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = (0, _react.cloneElement)(child, {\n in: false\n });\n } else if (hasNext && hasPrev && (0, _react.isValidElement)(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.classNamesShape = exports.timeoutsShape = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar timeoutsShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number,\n appear: _propTypes.default.number\n}).isRequired]) : null;\nexports.timeoutsShape = timeoutsShape;\nvar classNamesShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({\n enter: _propTypes.default.string,\n exit: _propTypes.default.string,\n active: _propTypes.default.string\n}), _propTypes.default.shape({\n enter: _propTypes.default.string,\n enterDone: _propTypes.default.string,\n enterActive: _propTypes.default.string,\n exit: _propTypes.default.string,\n exitDone: _propTypes.default.string,\n exitActive: _propTypes.default.string\n})]) : null;\nexports.classNamesShape = classNamesShape;","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport _isEqual from \"lodash/isEqual\";\nimport _isNaN from \"lodash/isNaN\";\nimport _max from \"lodash/max\";\nimport _isFunction from \"lodash/isFunction\";\nimport _get from \"lodash/get\";\nimport _isNil from \"lodash/isNil\";\nimport _isArray from \"lodash/isArray\";\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * @fileOverview Area\n */\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport Animate from 'react-smooth';\nimport { Curve } from '../shape/Curve';\nimport { Dot } from '../shape/Dot';\nimport { Layer } from '../container/Layer';\nimport { LabelList } from '../component/LabelList';\nimport { Global } from '../util/Global';\nimport { isNumber, uniqueId, interpolateNumber } from '../util/DataUtils';\nimport { getCateCoordinateOfLine, getValueByDataKey } from '../util/ChartUtils';\nimport { filterProps } from '../util/types';\nexport var Area = /*#__PURE__*/function (_PureComponent) {\n _inherits(Area, _PureComponent);\n\n var _super = _createSuper(Area);\n\n function Area() {\n var _this;\n\n _classCallCheck(this, Area);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n isAnimationFinished: true\n };\n _this.id = uniqueId('recharts-area-');\n\n _this.handleAnimationEnd = function () {\n var onAnimationEnd = _this.props.onAnimationEnd;\n\n _this.setState({\n isAnimationFinished: true\n });\n\n if (_isFunction(onAnimationEnd)) {\n onAnimationEnd();\n }\n };\n\n _this.handleAnimationStart = function () {\n var onAnimationStart = _this.props.onAnimationStart;\n\n _this.setState({\n isAnimationFinished: false\n });\n\n if (_isFunction(onAnimationStart)) {\n onAnimationStart();\n }\n };\n\n return _this;\n }\n\n _createClass(Area, [{\n key: \"renderDots\",\n value: function renderDots(needClip, clipPathId) {\n var isAnimationActive = this.props.isAnimationActive;\n var isAnimationFinished = this.state.isAnimationFinished;\n\n if (isAnimationActive && !isAnimationFinished) {\n return null;\n }\n\n var _this$props = this.props,\n dot = _this$props.dot,\n points = _this$props.points,\n dataKey = _this$props.dataKey;\n var areaProps = filterProps(this.props);\n var customDotProps = filterProps(dot, true);\n var dots = points.map(function (entry, i) {\n var dotProps = _objectSpread(_objectSpread(_objectSpread({\n key: \"dot-\".concat(i),\n r: 3\n }, areaProps), customDotProps), {}, {\n dataKey: dataKey,\n cx: entry.x,\n cy: entry.y,\n index: i,\n value: entry.value,\n payload: entry.payload\n });\n\n return Area.renderDotItem(dot, dotProps);\n });\n var dotsProps = {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n };\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-area-dots\"\n }, dotsProps), dots);\n }\n }, {\n key: \"renderHorizontalRect\",\n value: function renderHorizontalRect(alpha) {\n var _this$props2 = this.props,\n baseLine = _this$props2.baseLine,\n points = _this$props2.points,\n strokeWidth = _this$props2.strokeWidth;\n var startX = points[0].x;\n var endX = points[points.length - 1].x;\n var width = alpha * Math.abs(startX - endX);\n\n var maxY = _max(points.map(function (entry) {\n return entry.y || 0;\n }));\n\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n maxY = Math.max(baseLine, maxY);\n } else if (baseLine && _isArray(baseLine) && baseLine.length) {\n maxY = Math.max(_max(baseLine.map(function (entry) {\n return entry.y || 0;\n })), maxY);\n }\n\n if (isNumber(maxY)) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: startX < endX ? startX : startX - width,\n y: 0,\n width: width,\n height: Math.floor(maxY + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1))\n });\n }\n\n return null;\n }\n }, {\n key: \"renderVerticalRect\",\n value: function renderVerticalRect(alpha) {\n var _this$props3 = this.props,\n baseLine = _this$props3.baseLine,\n points = _this$props3.points,\n strokeWidth = _this$props3.strokeWidth;\n var startY = points[0].y;\n var endY = points[points.length - 1].y;\n var height = alpha * Math.abs(startY - endY);\n\n var maxX = _max(points.map(function (entry) {\n return entry.x || 0;\n }));\n\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n maxX = Math.max(baseLine, maxX);\n } else if (baseLine && _isArray(baseLine) && baseLine.length) {\n maxX = Math.max(_max(baseLine.map(function (entry) {\n return entry.x || 0;\n })), maxX);\n }\n\n if (isNumber(maxX)) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: 0,\n y: startY < endY ? startY : startY - height,\n width: maxX + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1),\n height: Math.floor(height)\n });\n }\n\n return null;\n }\n }, {\n key: \"renderClipRect\",\n value: function renderClipRect(alpha) {\n var layout = this.props.layout;\n\n if (layout === 'vertical') {\n return this.renderVerticalRect(alpha);\n }\n\n return this.renderHorizontalRect(alpha);\n }\n }, {\n key: \"renderAreaStatically\",\n value: function renderAreaStatically(points, baseLine, needClip, clipPathId) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n var _this$props4 = this.props,\n layout = _this$props4.layout,\n type = _this$props4.type,\n stroke = _this$props4.stroke,\n connectNulls = _this$props4.connectNulls,\n isRange = _this$props4.isRange,\n ref = _this$props4.ref,\n others = _objectWithoutProperties(_this$props4, [\"layout\", \"type\", \"stroke\", \"connectNulls\", \"isRange\", \"ref\"]);\n\n return /*#__PURE__*/React.createElement(Layer, {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n }, /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(others, true), {\n points: points,\n connectNulls: connectNulls,\n type: type,\n baseLine: baseLine,\n layout: layout,\n stroke: \"none\",\n className: \"recharts-area-area\"\n })), stroke !== 'none' && /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(this.props), {\n className: \"recharts-area-curve\",\n layout: layout,\n type: type,\n connectNulls: connectNulls,\n fill: \"none\",\n points: points\n })), stroke !== 'none' && isRange && /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(this.props), {\n className: \"recharts-area-curve\",\n layout: layout,\n type: type,\n connectNulls: connectNulls,\n fill: \"none\",\n points: baseLine\n })));\n }\n }, {\n key: \"renderAreaWithAnimation\",\n value: function renderAreaWithAnimation(needClip, clipPathId) {\n var _this2 = this;\n\n var _this$props5 = this.props,\n points = _this$props5.points,\n baseLine = _this$props5.baseLine,\n isAnimationActive = _this$props5.isAnimationActive,\n animationBegin = _this$props5.animationBegin,\n animationDuration = _this$props5.animationDuration,\n animationEasing = _this$props5.animationEasing,\n animationId = _this$props5.animationId;\n var _this$state = this.state,\n prevPoints = _this$state.prevPoints,\n prevBaseLine = _this$state.prevBaseLine; // const clipPathId = _.isNil(id) ? this.id : id;\n\n return /*#__PURE__*/React.createElement(Animate, {\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n from: {\n t: 0\n },\n to: {\n t: 1\n },\n key: \"area-\".concat(animationId),\n onAnimationEnd: this.handleAnimationEnd,\n onAnimationStart: this.handleAnimationStart\n }, function (_ref) {\n var t = _ref.t;\n\n if (prevPoints) {\n var prevPointsDiffFactor = prevPoints.length / points.length; // update animtaion\n\n var stepPoints = points.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n\n if (prevPoints[prevPointIndex]) {\n var prev = prevPoints[prevPointIndex];\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t)\n });\n }\n\n return entry;\n });\n var stepBaseLine;\n\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n var interpolator = interpolateNumber(prevBaseLine, baseLine);\n stepBaseLine = interpolator(t);\n } else if (_isNil(baseLine) || _isNaN(baseLine)) {\n var _interpolator = interpolateNumber(prevBaseLine, 0);\n\n stepBaseLine = _interpolator(t);\n } else {\n stepBaseLine = baseLine.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n\n if (prevBaseLine[prevPointIndex]) {\n var prev = prevBaseLine[prevPointIndex];\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t)\n });\n }\n\n return entry;\n });\n }\n\n return _this2.renderAreaStatically(stepPoints, stepBaseLine, needClip, clipPathId);\n }\n\n return /*#__PURE__*/React.createElement(Layer, null, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"animationClipPath-\".concat(clipPathId)\n }, _this2.renderClipRect(t))), /*#__PURE__*/React.createElement(Layer, {\n clipPath: \"url(#animationClipPath-\".concat(clipPathId, \")\")\n }, _this2.renderAreaStatically(points, baseLine, needClip, clipPathId)));\n });\n }\n }, {\n key: \"renderArea\",\n value: function renderArea(needClip, clipPathId) {\n var _this$props6 = this.props,\n points = _this$props6.points,\n baseLine = _this$props6.baseLine,\n isAnimationActive = _this$props6.isAnimationActive;\n var _this$state2 = this.state,\n prevPoints = _this$state2.prevPoints,\n prevBaseLine = _this$state2.prevBaseLine,\n totalLength = _this$state2.totalLength;\n\n if (isAnimationActive && points && points.length && (!prevPoints && totalLength > 0 || !_isEqual(prevPoints, points) || !_isEqual(prevBaseLine, baseLine))) {\n return this.renderAreaWithAnimation(needClip, clipPathId);\n }\n\n return this.renderAreaStatically(points, baseLine, needClip, clipPathId);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props7 = this.props,\n hide = _this$props7.hide,\n dot = _this$props7.dot,\n points = _this$props7.points,\n className = _this$props7.className,\n top = _this$props7.top,\n left = _this$props7.left,\n xAxis = _this$props7.xAxis,\n yAxis = _this$props7.yAxis,\n width = _this$props7.width,\n height = _this$props7.height,\n isAnimationActive = _this$props7.isAnimationActive,\n id = _this$props7.id;\n\n if (hide || !points || !points.length) {\n return null;\n }\n\n var isAnimationFinished = this.state.isAnimationFinished;\n var hasSinglePoint = points.length === 1;\n var layerClass = classNames('recharts-area', className);\n var needClip = xAxis && xAxis.allowDataOverflow || yAxis && yAxis.allowDataOverflow;\n var clipPathId = _isNil(id) ? this.id : id;\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass\n }, needClip ? /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left,\n y: top,\n width: width,\n height: Math.floor(height)\n }))) : null, !hasSinglePoint ? this.renderArea(needClip, clipPathId) : null, (dot || hasSinglePoint) && this.renderDots(needClip, clipPathId), (!isAnimationActive || isAnimationFinished) && LabelList.renderCallByParent(this.props, points));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.animationId !== prevState.prevAnimationId) {\n return {\n prevAnimationId: nextProps.animationId,\n curPoints: nextProps.points,\n curBaseLine: nextProps.baseLine,\n prevPoints: prevState.curPoints,\n prevBaseLine: prevState.curBaseLine\n };\n }\n\n if (nextProps.points !== prevState.curPoints || nextProps.baseLine !== prevState.curBaseLine) {\n return {\n curPoints: nextProps.points,\n curBaseLine: nextProps.baseLine\n };\n }\n\n return null;\n }\n }]);\n\n return Area;\n}(PureComponent);\nArea.displayName = 'Area';\nArea.defaultProps = {\n stroke: '#3182bd',\n fill: '#3182bd',\n fillOpacity: 0.6,\n xAxisId: 0,\n yAxisId: 0,\n legendType: 'line',\n connectNulls: false,\n // points of area\n points: [],\n dot: false,\n activeDot: true,\n hide: false,\n isAnimationActive: !Global.isSsr,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease'\n};\n\nArea.getBaseValue = function (props, xAxis, yAxis) {\n var layout = props.layout,\n baseValue = props.baseValue;\n\n if (isNumber(baseValue) && typeof baseValue === 'number') {\n return baseValue;\n }\n\n var numericAxis = layout === 'horizontal' ? yAxis : xAxis;\n var domain = numericAxis.scale.domain();\n\n if (numericAxis.type === 'number') {\n var max = Math.max(domain[0], domain[1]);\n var min = Math.min(domain[0], domain[1]);\n\n if (baseValue === 'dataMin') {\n return min;\n }\n\n if (baseValue === 'dataMax') {\n return max;\n }\n\n return max < 0 ? max : Math.max(Math.min(domain[0], domain[1]), 0);\n }\n\n if (baseValue === 'dataMin') {\n return domain[0];\n }\n\n if (baseValue === 'dataMax') {\n return domain[1];\n }\n\n return domain[0];\n};\n\nArea.getComposedData = function (_ref2) {\n var props = _ref2.props,\n xAxis = _ref2.xAxis,\n yAxis = _ref2.yAxis,\n xAxisTicks = _ref2.xAxisTicks,\n yAxisTicks = _ref2.yAxisTicks,\n bandSize = _ref2.bandSize,\n dataKey = _ref2.dataKey,\n stackedData = _ref2.stackedData,\n dataStartIndex = _ref2.dataStartIndex,\n displayedData = _ref2.displayedData,\n offset = _ref2.offset;\n var layout = props.layout;\n var hasStack = stackedData && stackedData.length;\n var baseValue = Area.getBaseValue(props, xAxis, yAxis);\n var isRange = false;\n var points = displayedData.map(function (entry, index) {\n var originalValue = getValueByDataKey(entry, dataKey);\n var value;\n\n if (hasStack) {\n value = stackedData[dataStartIndex + index];\n } else {\n value = originalValue;\n\n if (!_isArray(value)) {\n value = [baseValue, value];\n } else {\n isRange = true;\n }\n }\n\n var isBreakPoint = _isNil(value[1]) || hasStack && _isNil(originalValue);\n\n if (layout === 'horizontal') {\n return {\n x: getCateCoordinateOfLine({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n y: isBreakPoint ? null : yAxis.scale(value[1]),\n value: value,\n payload: entry\n };\n }\n\n return {\n x: isBreakPoint ? null : xAxis.scale(value[1]),\n y: getCateCoordinateOfLine({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n value: value,\n payload: entry\n };\n });\n var baseLine;\n\n if (hasStack || isRange) {\n baseLine = points.map(function (entry) {\n if (layout === 'horizontal') {\n return {\n x: entry.x,\n y: !_isNil(_get(entry, 'value[0]')) && !_isNil(_get(entry, 'y')) ? yAxis.scale(_get(entry, 'value[0]')) : null\n };\n }\n\n return {\n x: !_isNil(_get(entry, 'value[0]')) ? xAxis.scale(_get(entry, 'value[0]')) : null,\n y: entry.y\n };\n });\n } else if (layout === 'horizontal') {\n baseLine = yAxis.scale(baseValue);\n } else {\n baseLine = xAxis.scale(baseValue);\n }\n\n return _objectSpread({\n points: points,\n baseLine: baseLine,\n layout: layout,\n isRange: isRange\n }, offset);\n};\n\nArea.renderDotItem = function (option, props) {\n var dotItem;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n dotItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n dotItem = option(props);\n } else {\n dotItem = /*#__PURE__*/React.createElement(Dot, _extends({}, props, {\n className: \"recharts-area-dot\"\n }));\n }\n\n return dotItem;\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport _isFunction from \"lodash/isFunction\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * @fileOverview Cartesian Grid\n */\nimport React, { PureComponent } from 'react';\nimport { isNumber } from '../util/DataUtils';\nimport { filterProps } from '../util/types';\nexport var CartesianGrid = /*#__PURE__*/function (_PureComponent) {\n _inherits(CartesianGrid, _PureComponent);\n\n var _super = _createSuper(CartesianGrid);\n\n function CartesianGrid() {\n _classCallCheck(this, CartesianGrid);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(CartesianGrid, [{\n key: \"renderHorizontal\",\n value:\n /**\n * Draw the horizontal grid lines\n * @param {Array} horizontalPoints either passed in as props or generated from function\n * @return {Group} Horizontal lines\n */\n function renderHorizontal(horizontalPoints) {\n var _this = this;\n\n var _this$props = this.props,\n x = _this$props.x,\n width = _this$props.width,\n horizontal = _this$props.horizontal;\n\n if (!horizontalPoints || !horizontalPoints.length) {\n return null;\n }\n\n var items = horizontalPoints.map(function (entry, i) {\n var props = _objectSpread(_objectSpread({}, _this.props), {}, {\n x1: x,\n y1: entry,\n x2: x + width,\n y2: entry,\n key: \"line-\".concat(i),\n index: i\n });\n\n return CartesianGrid.renderLineItem(horizontal, props);\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-grid-horizontal\"\n }, items);\n }\n /**\n * Draw vertical grid lines\n * @param {Array} verticalPoints either passed in as props or generated from function\n * @return {Group} Vertical lines\n */\n\n }, {\n key: \"renderVertical\",\n value: function renderVertical(verticalPoints) {\n var _this2 = this;\n\n var _this$props2 = this.props,\n y = _this$props2.y,\n height = _this$props2.height,\n vertical = _this$props2.vertical;\n\n if (!verticalPoints || !verticalPoints.length) {\n return null;\n }\n\n var items = verticalPoints.map(function (entry, i) {\n var props = _objectSpread(_objectSpread({}, _this2.props), {}, {\n x1: entry,\n y1: y,\n x2: entry,\n y2: y + height,\n key: \"line-\".concat(i),\n index: i\n });\n\n return CartesianGrid.renderLineItem(vertical, props);\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-grid-vertical\"\n }, items);\n }\n /**\n * Draw vertical grid stripes filled by colors\n * @param {Array} verticalPoints either passed in as props or generated from function\n * @return {Group} Vertical stripes\n */\n\n }, {\n key: \"renderVerticalStripes\",\n value: function renderVerticalStripes(verticalPoints) {\n var verticalFill = this.props.verticalFill;\n\n if (!verticalFill || !verticalFill.length) {\n return null;\n }\n\n var _this$props3 = this.props,\n fillOpacity = _this$props3.fillOpacity,\n x = _this$props3.x,\n y = _this$props3.y,\n width = _this$props3.width,\n height = _this$props3.height;\n var verticalPointsUpdated = verticalPoints.slice().sort(function (a, b) {\n return a - b;\n });\n\n if (x !== verticalPointsUpdated[0]) {\n verticalPointsUpdated.unshift(0);\n }\n\n var items = verticalPointsUpdated.map(function (entry, i) {\n var lineWidth = verticalPointsUpdated[i + 1] ? verticalPointsUpdated[i + 1] - entry : x + width - entry;\n\n if (lineWidth <= 0) {\n return null;\n }\n\n var colorIndex = i % verticalFill.length;\n return /*#__PURE__*/React.createElement(\"rect\", {\n key: \"react-\".concat(i) // eslint-disable-line react/no-array-index-key\n ,\n x: Math.round(entry + x - x),\n y: y,\n width: lineWidth,\n height: height,\n stroke: \"none\",\n fill: verticalFill[colorIndex],\n fillOpacity: fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-gridstripes-vertical\"\n }, items);\n }\n /**\n * Draw horizontal grid stripes filled by colors\n * @param {Array} horizontalPoints either passed in as props or generated from function\n * @return {Group} Horizontal stripes\n */\n\n }, {\n key: \"renderHorizontalStripes\",\n value: function renderHorizontalStripes(horizontalPoints) {\n var horizontalFill = this.props.horizontalFill;\n\n if (!horizontalFill || !horizontalFill.length) {\n return null;\n }\n\n var _this$props4 = this.props,\n fillOpacity = _this$props4.fillOpacity,\n x = _this$props4.x,\n y = _this$props4.y,\n width = _this$props4.width,\n height = _this$props4.height;\n var horizontalPointsUpdated = horizontalPoints.slice().sort(function (a, b) {\n return a - b;\n });\n\n if (y !== horizontalPointsUpdated[0]) {\n horizontalPointsUpdated.unshift(0);\n }\n\n var items = horizontalPointsUpdated.map(function (entry, i) {\n var lineHeight = horizontalPointsUpdated[i + 1] ? horizontalPointsUpdated[i + 1] - entry : y + height - entry;\n\n if (lineHeight <= 0) {\n return null;\n }\n\n var colorIndex = i % horizontalFill.length;\n return /*#__PURE__*/React.createElement(\"rect\", {\n key: \"react-\".concat(i) // eslint-disable-line react/no-array-index-key\n ,\n y: Math.round(entry + y - y),\n x: x,\n height: lineHeight,\n width: width,\n stroke: \"none\",\n fill: horizontalFill[colorIndex],\n fillOpacity: fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-gridstripes-horizontal\"\n }, items);\n }\n }, {\n key: \"renderBackground\",\n value: function renderBackground() {\n var fill = this.props.fill;\n\n if (!fill || fill === 'none') {\n return null;\n }\n\n var _this$props5 = this.props,\n fillOpacity = _this$props5.fillOpacity,\n x = _this$props5.x,\n y = _this$props5.y,\n width = _this$props5.width,\n height = _this$props5.height;\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: x,\n y: y,\n width: width,\n height: height,\n stroke: \"none\",\n fill: fill,\n fillOpacity: fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props6 = this.props,\n x = _this$props6.x,\n y = _this$props6.y,\n width = _this$props6.width,\n height = _this$props6.height,\n horizontal = _this$props6.horizontal,\n vertical = _this$props6.vertical,\n horizontalCoordinatesGenerator = _this$props6.horizontalCoordinatesGenerator,\n verticalCoordinatesGenerator = _this$props6.verticalCoordinatesGenerator,\n xAxis = _this$props6.xAxis,\n yAxis = _this$props6.yAxis,\n offset = _this$props6.offset,\n chartWidth = _this$props6.chartWidth,\n chartHeight = _this$props6.chartHeight;\n\n if (!isNumber(width) || width <= 0 || !isNumber(height) || height <= 0 || !isNumber(x) || x !== +x || !isNumber(y) || y !== +y) {\n return null;\n }\n\n var _this$props7 = this.props,\n horizontalPoints = _this$props7.horizontalPoints,\n verticalPoints = _this$props7.verticalPoints; // No horizontal points are specified\n\n if ((!horizontalPoints || !horizontalPoints.length) && _isFunction(horizontalCoordinatesGenerator)) {\n horizontalPoints = horizontalCoordinatesGenerator({\n yAxis: yAxis,\n width: chartWidth,\n height: chartHeight,\n offset: offset\n });\n } // No vertical points are specified\n\n\n if ((!verticalPoints || !verticalPoints.length) && _isFunction(verticalCoordinatesGenerator)) {\n verticalPoints = verticalCoordinatesGenerator({\n xAxis: xAxis,\n width: chartWidth,\n height: chartHeight,\n offset: offset\n });\n }\n\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-grid\"\n }, this.renderBackground(), horizontal && this.renderHorizontal(horizontalPoints), vertical && this.renderVertical(verticalPoints), horizontal && this.renderHorizontalStripes(horizontalPoints), vertical && this.renderVerticalStripes(verticalPoints));\n }\n }], [{\n key: \"renderLineItem\",\n value: function renderLineItem(option, props) {\n var lineItem;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n lineItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n lineItem = option(props);\n } else {\n var x1 = props.x1,\n y1 = props.y1,\n x2 = props.x2,\n y2 = props.y2,\n key = props.key,\n others = _objectWithoutProperties(props, [\"x1\", \"y1\", \"x2\", \"y2\", \"key\"]);\n\n lineItem = /*#__PURE__*/React.createElement(\"line\", _extends({}, filterProps(others), {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2,\n fill: \"none\",\n key: key\n }));\n }\n\n return lineItem;\n }\n }]);\n\n return CartesianGrid;\n}(PureComponent);\nCartesianGrid.displayName = 'CartesianGrid';\nCartesianGrid.defaultProps = {\n horizontal: true,\n vertical: true,\n // The ordinates of horizontal grid lines\n horizontalPoints: [],\n // The abscissas of vertical grid lines\n verticalPoints: [],\n stroke: '#ccc',\n fill: 'none',\n // The fill of colors of grid lines\n verticalFill: [],\n horizontalFill: []\n};","/**\n * @fileOverview X Axis\n */\n\n/** Define of XAxis props */\nexport var XAxis = function XAxis() {\n return null;\n};\nXAxis.displayName = 'XAxis';\nXAxis.defaultProps = {\n allowDecimals: true,\n hide: false,\n orientation: 'bottom',\n width: 0,\n height: 30,\n mirror: false,\n xAxisId: 0,\n tickCount: 5,\n type: 'category',\n domain: [0, 'auto'],\n padding: {\n left: 0,\n right: 0\n },\n allowDataOverflow: false,\n scale: 'auto',\n reversed: false,\n allowDuplicatedCategory: true\n};","/**\n * @fileOverview Y Axis\n */\nexport var YAxis = function YAxis() {\n return null;\n};\nYAxis.displayName = 'YAxis';\nYAxis.defaultProps = {\n allowDuplicatedCategory: true,\n allowDecimals: true,\n hide: false,\n orientation: 'left',\n width: 60,\n height: 0,\n mirror: false,\n yAxisId: 0,\n tickCount: 5,\n type: 'number',\n domain: [0, 'auto'],\n padding: {\n top: 0,\n bottom: 0\n },\n allowDataOverflow: false,\n scale: 'auto',\n reversed: false\n};","/**\n * @fileOverview Area Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Area } from '../cartesian/Area';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var AreaChart = generateCategoricalChart({\n chartName: 'AreaChart',\n GraphicalChild: Area,\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});","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\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 _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 Cross\n */\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { isNumber } from '../util/DataUtils';\nimport { filterProps } from '../util/types';\nexport var Cross = /*#__PURE__*/function (_PureComponent) {\n _inherits(Cross, _PureComponent);\n\n var _super = _createSuper(Cross);\n\n function Cross() {\n _classCallCheck(this, Cross);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Cross, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n x = _this$props.x,\n y = _this$props.y,\n width = _this$props.width,\n height = _this$props.height,\n top = _this$props.top,\n left = _this$props.left,\n className = _this$props.className;\n\n if (!isNumber(x) || !isNumber(y) || !isNumber(width) || !isNumber(height) || !isNumber(top) || !isNumber(left)) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(this.props, true), {\n className: classNames('recharts-cross', className),\n d: Cross.getPath(x, y, width, height, top, left)\n }));\n }\n }], [{\n key: \"getPath\",\n value: function getPath(x, y, width, height, top, left) {\n return \"M\".concat(x, \",\").concat(top, \"v\").concat(height, \"M\").concat(left, \",\").concat(y, \"h\").concat(width);\n }\n }]);\n\n return Cross;\n}(PureComponent);\nCross.defaultProps = {\n x: 0,\n y: 0,\n top: 0,\n left: 0,\n width: 0,\n height: 0\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 _get from \"lodash/get\";\nimport _isFunction from \"lodash/isFunction\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * @fileOverview Cartesian Axis\n */\nimport React, { Component } from 'react';\nimport classNames from 'classnames';\nimport { shallowEqual } from '../util/ShallowEqual';\nimport { getStringSize } from '../util/DOMUtils';\nimport { Layer } from '../container/Layer';\nimport { Text } from '../component/Text';\nimport { Label } from '../component/Label';\nimport { Global } from '../util/Global';\nimport { isNumber, mathSign } from '../util/DataUtils';\nimport { filterProps, adaptEventsOfChild } from '../util/types';\nexport var CartesianAxis = /*#__PURE__*/function (_Component) {\n _inherits(CartesianAxis, _Component);\n\n var _super = _createSuper(CartesianAxis);\n\n function CartesianAxis() {\n _classCallCheck(this, CartesianAxis);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(CartesianAxis, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(_ref) {\n var viewBox = _ref.viewBox,\n restProps = _objectWithoutProperties(_ref, [\"viewBox\"]);\n\n // props.viewBox is sometimes generated every time -\n // check that specially as object equality is likely to fail\n var _this$props = this.props,\n viewBoxOld = _this$props.viewBox,\n restPropsOld = _objectWithoutProperties(_this$props, [\"viewBox\"]);\n\n return !shallowEqual(viewBox, viewBoxOld) || !shallowEqual(restProps, restPropsOld);\n }\n /**\n * Calculate the coordinates of endpoints in ticks\n * @param {Object} data The data of a simple tick\n * @return {Object} (x1, y1): The coordinate of endpoint close to tick text\n * (x2, y2): The coordinate of endpoint close to axis\n */\n\n }, {\n key: \"getTickLineCoord\",\n value: function getTickLineCoord(data) {\n var _this$props2 = this.props,\n x = _this$props2.x,\n y = _this$props2.y,\n width = _this$props2.width,\n height = _this$props2.height,\n orientation = _this$props2.orientation,\n tickSize = _this$props2.tickSize,\n mirror = _this$props2.mirror,\n tickMargin = _this$props2.tickMargin;\n var x1, x2, y1, y2, tx, ty;\n var sign = mirror ? -1 : 1;\n var finalTickSize = data.tickSize || tickSize;\n var tickCoord = isNumber(data.tickCoord) ? data.tickCoord : data.coordinate;\n\n switch (orientation) {\n case 'top':\n x1 = x2 = data.coordinate;\n y2 = y + +!mirror * height;\n y1 = y2 - sign * finalTickSize;\n ty = y1 - sign * tickMargin;\n tx = tickCoord;\n break;\n\n case 'left':\n y1 = y2 = data.coordinate;\n x2 = x + +!mirror * width;\n x1 = x2 - sign * finalTickSize;\n tx = x1 - sign * tickMargin;\n ty = tickCoord;\n break;\n\n case 'right':\n y1 = y2 = data.coordinate;\n x2 = x + +mirror * width;\n x1 = x2 + sign * finalTickSize;\n tx = x1 + sign * tickMargin;\n ty = tickCoord;\n break;\n\n default:\n x1 = x2 = data.coordinate;\n y2 = y + +mirror * height;\n y1 = y2 + sign * finalTickSize;\n ty = y1 + sign * tickMargin;\n tx = tickCoord;\n break;\n }\n\n return {\n line: {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n },\n tick: {\n x: tx,\n y: ty\n }\n };\n }\n }, {\n key: \"getTickTextAnchor\",\n value: function getTickTextAnchor() {\n var _this$props3 = this.props,\n orientation = _this$props3.orientation,\n mirror = _this$props3.mirror;\n var textAnchor;\n\n switch (orientation) {\n case 'left':\n textAnchor = mirror ? 'start' : 'end';\n break;\n\n case 'right':\n textAnchor = mirror ? 'end' : 'start';\n break;\n\n default:\n textAnchor = 'middle';\n break;\n }\n\n return textAnchor;\n }\n }, {\n key: \"getTickVerticalAnchor\",\n value: function getTickVerticalAnchor() {\n var _this$props4 = this.props,\n orientation = _this$props4.orientation,\n mirror = _this$props4.mirror;\n var verticalAnchor = 'end';\n\n switch (orientation) {\n case 'left':\n case 'right':\n verticalAnchor = 'middle';\n break;\n\n case 'top':\n verticalAnchor = mirror ? 'start' : 'end';\n break;\n\n default:\n verticalAnchor = mirror ? 'end' : 'start';\n break;\n }\n\n return verticalAnchor;\n }\n }, {\n key: \"renderAxisLine\",\n value: function renderAxisLine() {\n var _this$props5 = this.props,\n x = _this$props5.x,\n y = _this$props5.y,\n width = _this$props5.width,\n height = _this$props5.height,\n orientation = _this$props5.orientation,\n mirror = _this$props5.mirror,\n axisLine = _this$props5.axisLine;\n\n var props = _objectSpread(_objectSpread(_objectSpread({}, filterProps(this.props)), filterProps(axisLine)), {}, {\n fill: 'none'\n });\n\n if (orientation === 'top' || orientation === 'bottom') {\n var needHeight = +(orientation === 'top' && !mirror || orientation === 'bottom' && mirror);\n props = _objectSpread(_objectSpread({}, props), {}, {\n x1: x,\n y1: y + needHeight * height,\n x2: x + width,\n y2: y + needHeight * height\n });\n } else {\n var needWidth = +(orientation === 'left' && !mirror || orientation === 'right' && mirror);\n props = _objectSpread(_objectSpread({}, props), {}, {\n x1: x + needWidth * width,\n y1: y,\n x2: x + needWidth * width,\n y2: y + height\n });\n }\n\n return /*#__PURE__*/React.createElement(\"line\", _extends({}, props, {\n className: classNames('recharts-cartesian-axis-line', _get(axisLine, 'className'))\n }));\n }\n }, {\n key: \"renderTicks\",\n value:\n /**\n * render the ticks\n * @param {Array} ticks The ticks to actually render (overrides what was passed in props)\n * @return {ReactComponent} renderedTicks\n */\n function renderTicks(ticks) {\n var _this = this;\n\n var _this$props6 = this.props,\n tickLine = _this$props6.tickLine,\n stroke = _this$props6.stroke,\n tick = _this$props6.tick,\n tickFormatter = _this$props6.tickFormatter,\n unit = _this$props6.unit;\n var finalTicks = CartesianAxis.getTicks(_objectSpread(_objectSpread({}, this.props), {}, {\n ticks: ticks\n }));\n var textAnchor = this.getTickTextAnchor();\n var verticalAnchor = this.getTickVerticalAnchor();\n var axisProps = filterProps(this.props);\n var customTickProps = filterProps(tick);\n\n var tickLineProps = _objectSpread(_objectSpread({}, axisProps), {}, {\n fill: 'none'\n }, filterProps(tickLine));\n\n var items = finalTicks.map(function (entry, i) {\n var _this$getTickLineCoor = _this.getTickLineCoord(entry),\n lineCoord = _this$getTickLineCoor.line,\n tickCoord = _this$getTickLineCoor.tick;\n\n var tickProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n textAnchor: textAnchor,\n verticalAnchor: verticalAnchor\n }, axisProps), {}, {\n stroke: 'none',\n fill: stroke\n }, customTickProps), tickCoord), {}, {\n index: i,\n payload: entry,\n visibleTicksCount: finalTicks.length,\n tickFormatter: tickFormatter\n });\n\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-cartesian-axis-tick\",\n key: \"tick-\".concat(i) // eslint-disable-line react/no-array-index-key\n\n }, adaptEventsOfChild(_this.props, entry, i)), tickLine && /*#__PURE__*/React.createElement(\"line\", _extends({}, tickLineProps, lineCoord, {\n className: classNames('recharts-cartesian-axis-tick-line', _get(tickLine, 'className'))\n })), tick && CartesianAxis.renderTickItem(tick, tickProps, \"\".concat(_isFunction(tickFormatter) ? tickFormatter(entry.value, i) : entry.value).concat(unit || '')));\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-axis-ticks\"\n }, items);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props7 = this.props,\n axisLine = _this$props7.axisLine,\n width = _this$props7.width,\n height = _this$props7.height,\n ticksGenerator = _this$props7.ticksGenerator,\n className = _this$props7.className,\n hide = _this$props7.hide;\n\n if (hide) {\n return null;\n }\n\n var _this$props8 = this.props,\n ticks = _this$props8.ticks,\n noTicksProps = _objectWithoutProperties(_this$props8, [\"ticks\"]);\n\n var finalTicks = ticks;\n\n if (_isFunction(ticksGenerator)) {\n finalTicks = ticks && ticks.length > 0 ? ticksGenerator(this.props) : ticksGenerator(noTicksProps);\n }\n\n if (width <= 0 || height <= 0 || !finalTicks || !finalTicks.length) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: classNames('recharts-cartesian-axis', className)\n }, axisLine && this.renderAxisLine(), this.renderTicks(finalTicks), Label.renderCallByParent(this.props));\n }\n }], [{\n key: \"getTicks\",\n value: // todo Array\n function getTicks(props) {\n var tick = props.tick,\n ticks = props.ticks,\n viewBox = props.viewBox,\n minTickGap = props.minTickGap,\n orientation = props.orientation,\n interval = props.interval,\n tickFormatter = props.tickFormatter,\n unit = props.unit;\n\n if (!ticks || !ticks.length || !tick) {\n return [];\n }\n\n if (isNumber(interval) || Global.isSsr) {\n return CartesianAxis.getNumberIntervalTicks(ticks, typeof interval === 'number' && isNumber(interval) ? interval : 0);\n }\n\n if (interval === 'preserveStartEnd') {\n return CartesianAxis.getTicksStart({\n ticks: ticks,\n tickFormatter: tickFormatter,\n viewBox: viewBox,\n orientation: orientation,\n minTickGap: minTickGap,\n unit: unit\n }, true);\n }\n\n if (interval === 'preserveStart') {\n return CartesianAxis.getTicksStart({\n ticks: ticks,\n tickFormatter: tickFormatter,\n viewBox: viewBox,\n orientation: orientation,\n minTickGap: minTickGap,\n unit: unit\n });\n }\n\n return CartesianAxis.getTicksEnd({\n ticks: ticks,\n tickFormatter: tickFormatter,\n viewBox: viewBox,\n orientation: orientation,\n minTickGap: minTickGap,\n unit: unit\n });\n }\n }, {\n key: \"getNumberIntervalTicks\",\n value: function getNumberIntervalTicks(ticks, interval) {\n return ticks.filter(function (entry, i) {\n return i % (interval + 1) === 0;\n });\n }\n }, {\n key: \"getTicksStart\",\n value: function getTicksStart(_ref2, preserveEnd) {\n var ticks = _ref2.ticks,\n tickFormatter = _ref2.tickFormatter,\n viewBox = _ref2.viewBox,\n orientation = _ref2.orientation,\n minTickGap = _ref2.minTickGap,\n unit = _ref2.unit;\n var x = viewBox.x,\n y = viewBox.y,\n width = viewBox.width,\n height = viewBox.height;\n var sizeKey = orientation === 'top' || orientation === 'bottom' ? 'width' : 'height';\n var result = (ticks || []).slice(); // we need add the width of 'unit' only when sizeKey === 'width'\n\n var unitSize = unit && sizeKey === 'width' ? getStringSize(unit)[sizeKey] : 0;\n var len = result.length;\n var sign = len >= 2 ? mathSign(result[1].coordinate - result[0].coordinate) : 1;\n var start, end;\n\n if (sign === 1) {\n start = sizeKey === 'width' ? x : y;\n end = sizeKey === 'width' ? x + width : y + height;\n } else {\n start = sizeKey === 'width' ? x + width : y + height;\n end = sizeKey === 'width' ? x : y;\n }\n\n if (preserveEnd) {\n // Try to guarantee the tail to be displayed\n var tail = ticks[len - 1];\n var tailContent = _isFunction(tickFormatter) ? tickFormatter(tail.value, len - 1) : tail.value;\n var tailSize = getStringSize(tailContent)[sizeKey] + unitSize;\n var tailGap = sign * (tail.coordinate + sign * tailSize / 2 - end);\n result[len - 1] = tail = _objectSpread(_objectSpread({}, tail), {}, {\n tickCoord: tailGap > 0 ? tail.coordinate - tailGap * sign : tail.coordinate\n });\n var isTailShow = sign * (tail.tickCoord - sign * tailSize / 2 - start) >= 0 && sign * (tail.tickCoord + sign * tailSize / 2 - end) <= 0;\n\n if (isTailShow) {\n end = tail.tickCoord - sign * (tailSize / 2 + minTickGap);\n result[len - 1] = _objectSpread(_objectSpread({}, tail), {}, {\n isShow: true\n });\n }\n }\n\n var count = preserveEnd ? len - 1 : len;\n\n for (var i = 0; i < count; i++) {\n var entry = result[i];\n var content = _isFunction(tickFormatter) ? tickFormatter(entry.value, i) : entry.value;\n var size = getStringSize(content)[sizeKey] + unitSize;\n\n if (i === 0) {\n var gap = sign * (entry.coordinate - sign * size / 2 - start);\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: gap < 0 ? entry.coordinate - gap * sign : entry.coordinate\n });\n } else {\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: entry.coordinate\n });\n }\n\n var isShow = sign * (entry.tickCoord - sign * size / 2 - start) >= 0 && sign * (entry.tickCoord + sign * size / 2 - end) <= 0;\n\n if (isShow) {\n start = entry.tickCoord + sign * (size / 2 + minTickGap);\n result[i] = _objectSpread(_objectSpread({}, entry), {}, {\n isShow: true\n });\n }\n }\n\n return result.filter(function (entry) {\n return entry.isShow;\n });\n }\n }, {\n key: \"getTicksEnd\",\n value: function getTicksEnd(_ref3) {\n var ticks = _ref3.ticks,\n tickFormatter = _ref3.tickFormatter,\n viewBox = _ref3.viewBox,\n orientation = _ref3.orientation,\n minTickGap = _ref3.minTickGap,\n unit = _ref3.unit;\n var x = viewBox.x,\n y = viewBox.y,\n width = viewBox.width,\n height = viewBox.height;\n var sizeKey = orientation === 'top' || orientation === 'bottom' ? 'width' : 'height'; // we need add the width of 'unit' only when sizeKey === 'width'\n\n var unitSize = unit && sizeKey === 'width' ? getStringSize(unit)[sizeKey] : 0;\n var result = (ticks || []).slice();\n var len = result.length;\n var sign = len >= 2 ? mathSign(result[1].coordinate - result[0].coordinate) : 1;\n var start, end;\n\n if (sign === 1) {\n start = sizeKey === 'width' ? x : y;\n end = sizeKey === 'width' ? x + width : y + height;\n } else {\n start = sizeKey === 'width' ? x + width : y + height;\n end = sizeKey === 'width' ? x : y;\n }\n\n for (var i = len - 1; i >= 0; i--) {\n var entry = result[i];\n var content = _isFunction(tickFormatter) ? tickFormatter(entry.value, len - i - 1) : entry.value;\n var size = getStringSize(content)[sizeKey] + unitSize;\n\n if (i === len - 1) {\n var gap = sign * (entry.coordinate + sign * size / 2 - end);\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: gap > 0 ? entry.coordinate - gap * sign : entry.coordinate\n });\n } else {\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: entry.coordinate\n });\n }\n\n var isShow = sign * (entry.tickCoord - sign * size / 2 - start) >= 0 && sign * (entry.tickCoord + sign * size / 2 - end) <= 0;\n\n if (isShow) {\n end = entry.tickCoord - sign * (size / 2 + minTickGap);\n result[i] = _objectSpread(_objectSpread({}, entry), {}, {\n isShow: true\n });\n }\n }\n\n return result.filter(function (entry) {\n return entry.isShow;\n });\n }\n }, {\n key: \"renderTickItem\",\n value: function renderTickItem(option, props, value) {\n var tickItem;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n tickItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n tickItem = option(props);\n } else {\n tickItem = /*#__PURE__*/React.createElement(Text, _extends({}, props, {\n className: \"recharts-cartesian-axis-tick-value\"\n }), value);\n }\n\n return tickItem;\n }\n }]);\n\n return CartesianAxis;\n}(Component);\nCartesianAxis.displayName = 'CartesianAxis';\nCartesianAxis.defaultProps = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n viewBox: {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n },\n // The orientation of axis\n orientation: 'bottom',\n // The ticks\n ticks: [],\n stroke: '#666',\n tickLine: true,\n axisLine: true,\n tick: true,\n mirror: false,\n minTickGap: 5,\n // The width or height of tick\n tickSize: 6,\n tickMargin: 2,\n interval: 'preserveEnd'\n};","function 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\nvar PREFIX_LIST = ['Webkit', 'Moz', 'O', 'ms'];\nexport var generatePrefixStyle = function generatePrefixStyle(name, value) {\n if (!name) {\n return null;\n }\n\n var camelName = name.replace(/(\\w)/, function (v) {\n return v.toUpperCase();\n });\n var result = PREFIX_LIST.reduce(function (res, entry) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, entry + camelName, value));\n }, {});\n result[name] = value;\n return result;\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport _isFunction from \"lodash/isFunction\";\nimport _range from \"lodash/range\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * @fileOverview Brush\n */\nimport React, { PureComponent, Children } from 'react';\nimport classNames from 'classnames';\nimport { scalePoint } from 'd3-scale';\nimport { Layer } from '../container/Layer';\nimport { Text } from '../component/Text';\nimport { getValueByDataKey } from '../util/ChartUtils';\nimport { isNumber } from '../util/DataUtils';\nimport { generatePrefixStyle } from '../util/CssPrefixUtils';\nimport { filterProps } from '../util/types';\n\nvar createScale = function createScale(_ref) {\n var data = _ref.data,\n startIndex = _ref.startIndex,\n endIndex = _ref.endIndex,\n x = _ref.x,\n width = _ref.width,\n travellerWidth = _ref.travellerWidth;\n\n if (!data || !data.length) {\n return {};\n }\n\n var len = data.length;\n var scale = scalePoint().domain(_range(0, len)).range([x, x + width - travellerWidth]);\n var scaleValues = scale.domain().map(function (entry) {\n return scale(entry);\n });\n return {\n isTextActive: false,\n isSlideMoving: false,\n isTravellerMoving: false,\n startX: scale(startIndex),\n endX: scale(endIndex),\n scale: scale,\n scaleValues: scaleValues\n };\n};\n\nvar isTouch = function isTouch(e) {\n return e.changedTouches && !!e.changedTouches.length;\n};\n\nexport var Brush = /*#__PURE__*/function (_PureComponent) {\n _inherits(Brush, _PureComponent);\n\n var _super = _createSuper(Brush);\n\n function Brush(props) {\n var _this;\n\n _classCallCheck(this, Brush);\n\n _this = _super.call(this, props);\n _this.leaveTimer = void 0;\n _this.travellerDragStartHandlers = void 0;\n\n _this.handleDrag = function (e) {\n if (_this.leaveTimer) {\n clearTimeout(_this.leaveTimer);\n _this.leaveTimer = null;\n }\n\n if (_this.state.isTravellerMoving) {\n _this.handleTravellerMove(e);\n } else if (_this.state.isSlideMoving) {\n _this.handleSlideDrag(e);\n }\n };\n\n _this.handleTouchMove = function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleDrag(e.changedTouches[0]);\n }\n };\n\n _this.handleDragEnd = function () {\n _this.setState({\n isTravellerMoving: false,\n isSlideMoving: false\n });\n\n _this.detachDragEndListener();\n };\n\n _this.handleLeaveWrapper = function () {\n if (_this.state.isTravellerMoving || _this.state.isSlideMoving) {\n _this.leaveTimer = window.setTimeout(_this.handleDragEnd, _this.props.leaveTimeOut);\n }\n };\n\n _this.handleEnterSlideOrTraveller = function () {\n _this.setState({\n isTextActive: true\n });\n };\n\n _this.handleLeaveSlideOrTraveller = function () {\n _this.setState({\n isTextActive: false\n });\n };\n\n _this.handleSlideDragStart = function (e) {\n var event = isTouch(e) ? e.changedTouches[0] : e;\n\n _this.setState({\n isTravellerMoving: false,\n isSlideMoving: true,\n slideMoveStartX: event.pageX\n });\n\n _this.attachDragEndListener();\n };\n\n _this.travellerDragStartHandlers = {\n startX: _this.handleTravellerDragStart.bind(_assertThisInitialized(_this), 'startX'),\n endX: _this.handleTravellerDragStart.bind(_assertThisInitialized(_this), 'endX')\n };\n _this.state = {};\n return _this;\n }\n\n _createClass(Brush, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.leaveTimer) {\n clearTimeout(this.leaveTimer);\n this.leaveTimer = null;\n }\n\n this.detachDragEndListener();\n }\n }, {\n key: \"getIndex\",\n value: function getIndex(_ref2) {\n var startX = _ref2.startX,\n endX = _ref2.endX;\n var scaleValues = this.state.scaleValues;\n var _this$props = this.props,\n gap = _this$props.gap,\n data = _this$props.data;\n var lastIndex = data.length - 1;\n var min = Math.min(startX, endX);\n var max = Math.max(startX, endX);\n var minIndex = Brush.getIndexInRange(scaleValues, min);\n var maxIndex = Brush.getIndexInRange(scaleValues, max);\n return {\n startIndex: minIndex - minIndex % gap,\n endIndex: maxIndex === lastIndex ? lastIndex : maxIndex - maxIndex % gap\n };\n }\n }, {\n key: \"getTextOfTick\",\n value: function getTextOfTick(index) {\n var _this$props2 = this.props,\n data = _this$props2.data,\n tickFormatter = _this$props2.tickFormatter,\n dataKey = _this$props2.dataKey;\n var text = getValueByDataKey(data[index], dataKey, index);\n return _isFunction(tickFormatter) ? tickFormatter(text, index) : text;\n }\n }, {\n key: \"attachDragEndListener\",\n value: function attachDragEndListener() {\n window.addEventListener('mouseup', this.handleDragEnd, true);\n window.addEventListener('touchend', this.handleDragEnd, true);\n }\n }, {\n key: \"detachDragEndListener\",\n value: function detachDragEndListener() {\n window.removeEventListener('mouseup', this.handleDragEnd, true);\n window.removeEventListener('touchend', this.handleDragEnd, true);\n }\n }, {\n key: \"handleSlideDrag\",\n value: function handleSlideDrag(e) {\n var _this$state = this.state,\n slideMoveStartX = _this$state.slideMoveStartX,\n startX = _this$state.startX,\n endX = _this$state.endX;\n var _this$props3 = this.props,\n x = _this$props3.x,\n width = _this$props3.width,\n travellerWidth = _this$props3.travellerWidth,\n startIndex = _this$props3.startIndex,\n endIndex = _this$props3.endIndex,\n onChange = _this$props3.onChange;\n var delta = e.pageX - slideMoveStartX;\n\n if (delta > 0) {\n delta = Math.min(delta, x + width - travellerWidth - endX, x + width - travellerWidth - startX);\n } else if (delta < 0) {\n delta = Math.max(delta, x - startX, x - endX);\n }\n\n var newIndex = this.getIndex({\n startX: startX + delta,\n endX: endX + delta\n });\n\n if ((newIndex.startIndex !== startIndex || newIndex.endIndex !== endIndex) && onChange) {\n onChange(newIndex);\n }\n\n this.setState({\n startX: startX + delta,\n endX: endX + delta,\n slideMoveStartX: e.pageX\n });\n }\n }, {\n key: \"handleTravellerDragStart\",\n value: function handleTravellerDragStart(id, e) {\n var event = isTouch(e) ? e.changedTouches[0] : e;\n this.setState({\n isSlideMoving: false,\n isTravellerMoving: true,\n movingTravellerId: id,\n brushMoveStartX: event.pageX\n });\n this.attachDragEndListener();\n }\n }, {\n key: \"handleTravellerMove\",\n value: function handleTravellerMove(e) {\n var _this$setState;\n\n var _this$state2 = this.state,\n brushMoveStartX = _this$state2.brushMoveStartX,\n movingTravellerId = _this$state2.movingTravellerId,\n endX = _this$state2.endX,\n startX = _this$state2.startX;\n var prevValue = this.state[movingTravellerId];\n var _this$props4 = this.props,\n x = _this$props4.x,\n width = _this$props4.width,\n travellerWidth = _this$props4.travellerWidth,\n onChange = _this$props4.onChange,\n gap = _this$props4.gap,\n data = _this$props4.data;\n var params = {\n startX: this.state.startX,\n endX: this.state.endX\n };\n var delta = e.pageX - brushMoveStartX;\n\n if (delta > 0) {\n delta = Math.min(delta, x + width - travellerWidth - prevValue);\n } else if (delta < 0) {\n delta = Math.max(delta, x - prevValue);\n }\n\n params[movingTravellerId] = prevValue + delta;\n var newIndex = this.getIndex(params);\n var startIndex = newIndex.startIndex,\n endIndex = newIndex.endIndex;\n\n var isFullGap = function isFullGap() {\n var lastIndex = data.length - 1;\n\n if (movingTravellerId === 'startX' && (endX > startX ? startIndex % gap === 0 : endIndex % gap === 0) || endX < startX && endIndex === lastIndex || movingTravellerId === 'endX' && (endX > startX ? endIndex % gap === 0 : startIndex % gap === 0) || endX > startX && endIndex === lastIndex) {\n return true;\n }\n\n return false;\n };\n\n this.setState((_this$setState = {}, _defineProperty(_this$setState, movingTravellerId, prevValue + delta), _defineProperty(_this$setState, \"brushMoveStartX\", e.pageX), _this$setState), function () {\n if (onChange) {\n if (isFullGap()) {\n onChange(newIndex);\n }\n }\n });\n }\n }, {\n key: \"renderBackground\",\n value: function renderBackground() {\n var _this$props5 = this.props,\n x = _this$props5.x,\n y = _this$props5.y,\n width = _this$props5.width,\n height = _this$props5.height,\n fill = _this$props5.fill,\n stroke = _this$props5.stroke;\n return /*#__PURE__*/React.createElement(\"rect\", {\n stroke: stroke,\n fill: fill,\n x: x,\n y: y,\n width: width,\n height: height\n });\n }\n }, {\n key: \"renderPanorama\",\n value: function renderPanorama() {\n var _this$props6 = this.props,\n x = _this$props6.x,\n y = _this$props6.y,\n width = _this$props6.width,\n height = _this$props6.height,\n data = _this$props6.data,\n children = _this$props6.children,\n padding = _this$props6.padding;\n var chartElement = Children.only(children);\n\n if (!chartElement) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(chartElement, {\n x: x,\n y: y,\n width: width,\n height: height,\n margin: padding,\n compact: true,\n data: data\n });\n }\n }, {\n key: \"renderTravellerLayer\",\n value: function renderTravellerLayer(travellerX, id) {\n var _this$props7 = this.props,\n y = _this$props7.y,\n travellerWidth = _this$props7.travellerWidth,\n height = _this$props7.height,\n traveller = _this$props7.traveller;\n var x = Math.max(travellerX, this.props.x);\n\n var travellerProps = _objectSpread(_objectSpread({}, filterProps(this.props)), {}, {\n x: x,\n y: y,\n width: travellerWidth,\n height: height\n });\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-brush-traveller\",\n onMouseEnter: this.handleEnterSlideOrTraveller,\n onMouseLeave: this.handleLeaveSlideOrTraveller,\n onMouseDown: this.travellerDragStartHandlers[id],\n onTouchStart: this.travellerDragStartHandlers[id],\n style: {\n cursor: 'col-resize'\n }\n }, Brush.renderTraveller(traveller, travellerProps));\n }\n }, {\n key: \"renderSlide\",\n value: function renderSlide(startX, endX) {\n var _this$props8 = this.props,\n y = _this$props8.y,\n height = _this$props8.height,\n stroke = _this$props8.stroke,\n travellerWidth = _this$props8.travellerWidth;\n var x = Math.min(startX, endX) + travellerWidth;\n var width = Math.max(Math.abs(endX - startX) - travellerWidth, 0);\n return /*#__PURE__*/React.createElement(\"rect\", {\n className: \"recharts-brush-slide\",\n onMouseEnter: this.handleEnterSlideOrTraveller,\n onMouseLeave: this.handleLeaveSlideOrTraveller,\n onMouseDown: this.handleSlideDragStart,\n onTouchStart: this.handleSlideDragStart,\n style: {\n cursor: 'move'\n },\n stroke: \"none\",\n fill: stroke,\n fillOpacity: 0.2,\n x: x,\n y: y,\n width: width,\n height: height\n });\n }\n }, {\n key: \"renderText\",\n value: function renderText() {\n var _this$props9 = this.props,\n startIndex = _this$props9.startIndex,\n endIndex = _this$props9.endIndex,\n y = _this$props9.y,\n height = _this$props9.height,\n travellerWidth = _this$props9.travellerWidth,\n stroke = _this$props9.stroke;\n var _this$state3 = this.state,\n startX = _this$state3.startX,\n endX = _this$state3.endX;\n var offset = 5;\n var attrs = {\n pointerEvents: 'none',\n fill: stroke\n };\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-brush-texts\"\n }, /*#__PURE__*/React.createElement(Text, _extends({\n textAnchor: \"end\",\n verticalAnchor: \"middle\",\n x: Math.min(startX, endX) - offset,\n y: y + height / 2\n }, attrs), this.getTextOfTick(startIndex)), /*#__PURE__*/React.createElement(Text, _extends({\n textAnchor: \"start\",\n verticalAnchor: \"middle\",\n x: Math.max(startX, endX) + travellerWidth + offset,\n y: y + height / 2\n }, attrs), this.getTextOfTick(endIndex)));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props10 = this.props,\n data = _this$props10.data,\n className = _this$props10.className,\n children = _this$props10.children,\n x = _this$props10.x,\n y = _this$props10.y,\n width = _this$props10.width,\n height = _this$props10.height,\n alwaysShowText = _this$props10.alwaysShowText;\n var _this$state4 = this.state,\n startX = _this$state4.startX,\n endX = _this$state4.endX,\n isTextActive = _this$state4.isTextActive,\n isSlideMoving = _this$state4.isSlideMoving,\n isTravellerMoving = _this$state4.isTravellerMoving;\n\n if (!data || !data.length || !isNumber(x) || !isNumber(y) || !isNumber(width) || !isNumber(height) || width <= 0 || height <= 0) {\n return null;\n }\n\n var layerClass = classNames('recharts-brush', className);\n var isPanoramic = React.Children.count(children) === 1;\n var style = generatePrefixStyle('userSelect', 'none');\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass,\n onMouseMove: this.handleDrag,\n onMouseLeave: this.handleLeaveWrapper,\n onTouchMove: this.handleTouchMove,\n style: style\n }, this.renderBackground(), isPanoramic && this.renderPanorama(), this.renderSlide(startX, endX), this.renderTravellerLayer(startX, 'startX'), this.renderTravellerLayer(endX, 'endX'), (isTextActive || isSlideMoving || isTravellerMoving || alwaysShowText) && this.renderText());\n }\n }], [{\n key: \"renderDefaultTraveller\",\n value: function renderDefaultTraveller(props) {\n var x = props.x,\n y = props.y,\n width = props.width,\n height = props.height,\n stroke = props.stroke;\n var lineY = Math.floor(y + height / 2) - 1;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"rect\", {\n x: x,\n y: y,\n width: width,\n height: height,\n fill: stroke,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: x + 1,\n y1: lineY,\n x2: x + width - 1,\n y2: lineY,\n fill: \"none\",\n stroke: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: x + 1,\n y1: lineY + 2,\n x2: x + width - 1,\n y2: lineY + 2,\n fill: \"none\",\n stroke: \"#fff\"\n }));\n }\n }, {\n key: \"renderTraveller\",\n value: function renderTraveller(option, props) {\n var rectangle;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n rectangle = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n rectangle = option(props);\n } else {\n rectangle = Brush.renderDefaultTraveller(props);\n }\n\n return rectangle;\n }\n }, {\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n var data = nextProps.data,\n width = nextProps.width,\n x = nextProps.x,\n travellerWidth = nextProps.travellerWidth,\n updateId = nextProps.updateId,\n startIndex = nextProps.startIndex,\n endIndex = nextProps.endIndex;\n\n if (data !== prevState.prevData || updateId !== prevState.prevUpdateId) {\n return _objectSpread({\n prevData: data,\n prevTravellerWidth: travellerWidth,\n prevUpdateId: updateId,\n prevX: x,\n prevWidth: width\n }, data && data.length ? createScale({\n data: data,\n width: width,\n x: x,\n travellerWidth: travellerWidth,\n startIndex: startIndex,\n endIndex: endIndex\n }) : {\n scale: null,\n scaleValues: null\n });\n }\n\n if (prevState.scale && (width !== prevState.prevWidth || x !== prevState.prevX || travellerWidth !== prevState.prevTravellerWidth)) {\n prevState.scale.range([x, x + width - travellerWidth]);\n var scaleValues = prevState.scale.domain().map(function (entry) {\n return prevState.scale(entry);\n });\n return {\n prevData: data,\n prevTravellerWidth: travellerWidth,\n prevUpdateId: updateId,\n prevX: x,\n prevWidth: width,\n startX: prevState.scale(nextProps.startIndex),\n endX: prevState.scale(nextProps.endIndex),\n scaleValues: scaleValues\n };\n }\n\n return null;\n }\n }, {\n key: \"getIndexInRange\",\n value: function getIndexInRange(range, x) {\n var len = range.length;\n var start = 0;\n var end = len - 1;\n\n while (end - start > 1) {\n var middle = Math.floor((start + end) / 2);\n\n if (range[middle] > x) {\n end = middle;\n } else {\n start = middle;\n }\n }\n\n return x >= range[end] ? end : start;\n }\n }]);\n\n return Brush;\n}(PureComponent);\nBrush.displayName = 'Brush';\nBrush.defaultProps = {\n height: 40,\n travellerWidth: 5,\n gap: 1,\n fill: '#fff',\n stroke: '#666',\n padding: {\n top: 1,\n right: 1,\n bottom: 1,\n left: 1\n },\n leaveTimeOut: 1000,\n alwaysShowText: false\n};","export var ifOverflowMatches = function ifOverflowMatches(props, value) {\n var alwaysShow = props.alwaysShow;\n var ifOverflow = props.ifOverflow;\n\n if (alwaysShow) {\n ifOverflow = 'extendDomain';\n }\n\n return ifOverflow === value;\n};","import _isFunction from \"lodash/isFunction\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction 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\n/**\n * @fileOverview Reference Dot\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { Layer } from '../container/Layer';\nimport { Dot } from '../shape/Dot';\nimport { Label } from '../component/Label';\nimport { isNumOrStr } from '../util/DataUtils';\nimport { ifOverflowMatches } from '../util/IfOverflowMatches';\nimport { createLabeledScales } from '../util/CartesianUtils';\nimport { warn } from '../util/LogUtils';\nimport { filterProps } from '../util/types';\n\nvar getCoordinate = function getCoordinate(props) {\n var x = props.x,\n y = props.y,\n xAxis = props.xAxis,\n yAxis = props.yAxis;\n var scales = createLabeledScales({\n x: xAxis.scale,\n y: yAxis.scale\n });\n var result = scales.apply({\n x: x,\n y: y\n }, {\n bandAware: true\n });\n\n if (ifOverflowMatches(props, 'discard') && !scales.isInRange(result)) {\n return null;\n }\n\n return result;\n};\n\nexport function ReferenceDot(props) {\n var x = props.x,\n y = props.y,\n r = props.r,\n alwaysShow = props.alwaysShow,\n clipPathId = props.clipPathId;\n var isX = isNumOrStr(x);\n var isY = isNumOrStr(y);\n warn(alwaysShow === undefined, 'The alwaysShow prop is deprecated. Please use ifOverflow=\"extendDomain\" instead.');\n\n if (!isX || !isY) {\n return null;\n }\n\n var coordinate = getCoordinate(props);\n\n if (!coordinate) {\n return null;\n }\n\n var cx = coordinate.x,\n cy = coordinate.y;\n var shape = props.shape,\n className = props.className;\n var clipPath = ifOverflowMatches(props, 'hidden') ? \"url(#\".concat(clipPathId, \")\") : undefined;\n\n var dotProps = _objectSpread(_objectSpread({\n clipPath: clipPath\n }, filterProps(props, true)), {}, {\n cx: cx,\n cy: cy\n });\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: classNames('recharts-reference-dot', className)\n }, ReferenceDot.renderDot(shape, dotProps), Label.renderCallByParent(props, {\n x: cx - r,\n y: cy - r,\n width: 2 * r,\n height: 2 * r\n }));\n}\nReferenceDot.displayName = 'ReferenceDot';\nReferenceDot.defaultProps = {\n isFront: false,\n ifOverflow: 'discard',\n xAxisId: 0,\n yAxisId: 0,\n r: 10,\n fill: '#fff',\n stroke: '#ccc',\n fillOpacity: 1,\n strokeWidth: 1\n};\n\nReferenceDot.renderDot = function (option, props) {\n var dot;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n dot = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n dot = option(props);\n } else {\n dot = /*#__PURE__*/React.createElement(Dot, _extends({}, props, {\n cx: props.cx,\n cy: props.cy,\n className: \"recharts-reference-dot-dot\"\n }));\n }\n\n return dot;\n};","import _some from \"lodash/some\";\nimport _isFunction from \"lodash/isFunction\";\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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\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\n/**\n * @fileOverview Reference Line\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { Layer } from '../container/Layer';\nimport { Label } from '../component/Label';\nimport { ifOverflowMatches } from '../util/IfOverflowMatches';\nimport { isNumOrStr } from '../util/DataUtils';\nimport { createLabeledScales, rectWithCoords } from '../util/CartesianUtils';\nimport { warn } from '../util/LogUtils';\nimport { filterProps } from '../util/types';\n\nvar renderLine = function renderLine(option, props) {\n var line;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n line = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n line = option(props);\n } else {\n line = /*#__PURE__*/React.createElement(\"line\", _extends({}, props, {\n className: \"recharts-reference-line-line\"\n }));\n }\n\n return line;\n}; // TODO: ScaleHelper\n\n\nvar getEndPoints = function getEndPoints(scales, isFixedX, isFixedY, isSegment, props) {\n var _props$viewBox = props.viewBox,\n x = _props$viewBox.x,\n y = _props$viewBox.y,\n width = _props$viewBox.width,\n height = _props$viewBox.height,\n position = props.position;\n\n if (isFixedY) {\n var yCoord = props.y,\n orientation = props.yAxis.orientation;\n var coord = scales.y.apply(yCoord, {\n position: position\n });\n\n if (ifOverflowMatches(props, 'discard') && !scales.y.isInRange(coord)) {\n return null;\n }\n\n var points = [{\n x: x + width,\n y: coord\n }, {\n x: x,\n y: coord\n }];\n return orientation === 'left' ? points.reverse() : points;\n }\n\n if (isFixedX) {\n var xCoord = props.x,\n _orientation = props.xAxis.orientation;\n\n var _coord = scales.x.apply(xCoord, {\n position: position\n });\n\n if (ifOverflowMatches(props, 'discard') && !scales.x.isInRange(_coord)) {\n return null;\n }\n\n var _points = [{\n x: _coord,\n y: y + height\n }, {\n x: _coord,\n y: y\n }];\n return _orientation === 'top' ? _points.reverse() : _points;\n }\n\n if (isSegment) {\n var segment = props.segment;\n\n var _points2 = segment.map(function (p) {\n return scales.apply(p, {\n position: position\n });\n });\n\n if (ifOverflowMatches(props, 'discard') && _some(_points2, function (p) {\n return !scales.isInRange(p);\n })) {\n return null;\n }\n\n return _points2;\n }\n\n return null;\n};\n\nexport function ReferenceLine(props) {\n var fixedX = props.x,\n fixedY = props.y,\n segment = props.segment,\n xAxis = props.xAxis,\n yAxis = props.yAxis,\n shape = props.shape,\n className = props.className,\n alwaysShow = props.alwaysShow,\n clipPathId = props.clipPathId;\n warn(alwaysShow === undefined, 'The alwaysShow prop is deprecated. Please use ifOverflow=\"extendDomain\" instead.');\n var scales = createLabeledScales({\n x: xAxis.scale,\n y: yAxis.scale\n });\n var isX = isNumOrStr(fixedX);\n var isY = isNumOrStr(fixedY);\n var isSegment = segment && segment.length === 2;\n var endPoints = getEndPoints(scales, isX, isY, isSegment, props);\n\n if (!endPoints) {\n return null;\n }\n\n var _endPoints = _slicedToArray(endPoints, 2),\n _endPoints$ = _endPoints[0],\n x1 = _endPoints$.x,\n y1 = _endPoints$.y,\n _endPoints$2 = _endPoints[1],\n x2 = _endPoints$2.x,\n y2 = _endPoints$2.y;\n\n var clipPath = ifOverflowMatches(props, 'hidden') ? \"url(#\".concat(clipPathId, \")\") : undefined;\n\n var lineProps = _objectSpread(_objectSpread({\n clipPath: clipPath\n }, filterProps(props, true)), {}, {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n });\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: classNames('recharts-reference-line', className)\n }, renderLine(shape, lineProps), Label.renderCallByParent(props, rectWithCoords({\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n })));\n}\nReferenceLine.displayName = 'ReferenceLine';\nReferenceLine.defaultProps = {\n isFront: false,\n ifOverflow: 'discard',\n xAxisId: 0,\n yAxisId: 0,\n fill: 'none',\n stroke: '#ccc',\n fillOpacity: 1,\n strokeWidth: 1,\n position: 'middle'\n};","import _isFunction from \"lodash/isFunction\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction 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\n/**\n * @fileOverview Reference Line\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { Layer } from '../container/Layer';\nimport { Label } from '../component/Label';\nimport { createLabeledScales, rectWithPoints } from '../util/CartesianUtils';\nimport { ifOverflowMatches } from '../util/IfOverflowMatches';\nimport { isNumOrStr } from '../util/DataUtils';\nimport { warn } from '../util/LogUtils';\nimport { Rectangle } from '../shape/Rectangle';\nimport { filterProps } from '../util/types';\n\nvar getRect = function getRect(hasX1, hasX2, hasY1, hasY2, props) {\n var xValue1 = props.x1,\n xValue2 = props.x2,\n yValue1 = props.y1,\n yValue2 = props.y2,\n xAxis = props.xAxis,\n yAxis = props.yAxis;\n if (!xAxis || !yAxis) return null;\n var scales = createLabeledScales({\n x: xAxis.scale,\n y: yAxis.scale\n });\n var p1 = {\n x: hasX1 ? scales.x.apply(xValue1, {\n position: 'start'\n }) : scales.x.rangeMin,\n y: hasY1 ? scales.y.apply(yValue1, {\n position: 'start'\n }) : scales.y.rangeMin\n };\n var p2 = {\n x: hasX2 ? scales.x.apply(xValue2, {\n position: 'end'\n }) : scales.x.rangeMax,\n y: hasY2 ? scales.y.apply(yValue2, {\n position: 'end'\n }) : scales.y.rangeMax\n };\n\n if (ifOverflowMatches(props, 'discard') && (!scales.isInRange(p1) || !scales.isInRange(p2))) {\n return null;\n }\n\n return rectWithPoints(p1, p2);\n};\n\nexport function ReferenceArea(props) {\n var x1 = props.x1,\n x2 = props.x2,\n y1 = props.y1,\n y2 = props.y2,\n className = props.className,\n alwaysShow = props.alwaysShow,\n clipPathId = props.clipPathId;\n warn(alwaysShow === undefined, 'The alwaysShow prop is deprecated. Please use ifOverflow=\"extendDomain\" instead.');\n var hasX1 = isNumOrStr(x1);\n var hasX2 = isNumOrStr(x2);\n var hasY1 = isNumOrStr(y1);\n var hasY2 = isNumOrStr(y2);\n var shape = props.shape;\n\n if (!hasX1 && !hasX2 && !hasY1 && !hasY2 && !shape) {\n return null;\n }\n\n var rect = getRect(hasX1, hasX2, hasY1, hasY2, props);\n\n if (!rect && !shape) {\n return null;\n }\n\n var clipPath = ifOverflowMatches(props, 'hidden') ? \"url(#\".concat(clipPathId, \")\") : undefined;\n return /*#__PURE__*/React.createElement(Layer, {\n className: classNames('recharts-reference-area', className)\n }, ReferenceArea.renderRect(shape, _objectSpread(_objectSpread({\n clipPath: clipPath\n }, filterProps(props, true)), rect)), Label.renderCallByParent(props, rect));\n}\nReferenceArea.displayName = 'ReferenceArea';\nReferenceArea.defaultProps = {\n isFront: false,\n ifOverflow: 'discard',\n xAxisId: 0,\n yAxisId: 0,\n r: 10,\n fill: '#ccc',\n fillOpacity: 0.5,\n stroke: 'none',\n strokeWidth: 1\n};\n\nReferenceArea.renderRect = function (option, props) {\n var rect;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n rect = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n rect = option(props);\n } else {\n rect = /*#__PURE__*/React.createElement(Rectangle, _extends({}, props, {\n className: \"recharts-reference-area-rect\"\n }));\n }\n\n return rect;\n};","import { ReferenceDot } from '../cartesian/ReferenceDot';\nimport { ReferenceLine } from '../cartesian/ReferenceLine';\nimport { ReferenceArea } from '../cartesian/ReferenceArea';\nimport { ifOverflowMatches } from './IfOverflowMatches';\nimport { findAllByType } from './ReactUtils';\nimport { isNumber } from './DataUtils';\nexport var detectReferenceElementsDomain = function detectReferenceElementsDomain(children, domain, axisId, axisType, specifiedTicks) {\n var lines = findAllByType(children, ReferenceLine.displayName);\n var dots = findAllByType(children, ReferenceDot.displayName);\n var elements = lines.concat(dots);\n var areas = findAllByType(children, ReferenceArea.displayName);\n var idKey = \"\".concat(axisType, \"Id\");\n var valueKey = axisType[0];\n var finalDomain = domain;\n\n if (elements.length) {\n finalDomain = elements.reduce(function (result, el) {\n if (el.props[idKey] === axisId && ifOverflowMatches(el.props, 'extendDomain') && isNumber(el.props[valueKey])) {\n var value = el.props[valueKey];\n return [Math.min(result[0], value), Math.max(result[1], value)];\n }\n\n return result;\n }, finalDomain);\n }\n\n if (areas.length) {\n var key1 = \"\".concat(valueKey, \"1\");\n var key2 = \"\".concat(valueKey, \"2\");\n finalDomain = areas.reduce(function (result, el) {\n if (el.props[idKey] === axisId && ifOverflowMatches(el.props, 'extendDomain') && isNumber(el.props[key1]) && isNumber(el.props[key2])) {\n var value1 = el.props[key1];\n var value2 = el.props[key2];\n return [Math.min(result[0], value1, value2), Math.max(result[1], value1, value2)];\n }\n\n return result;\n }, finalDomain);\n }\n\n if (specifiedTicks && specifiedTicks.length) {\n finalDomain = specifiedTicks.reduce(function (result, tick) {\n if (isNumber(tick)) {\n return [Math.min(result[0], tick), Math.max(result[1], tick)];\n }\n\n return result;\n }, finalDomain);\n }\n\n return finalDomain;\n};","import EventEmitter from 'eventemitter3';\nvar eventCenter = new EventEmitter();\n\nif (eventCenter.setMaxListeners) {\n eventCenter.setMaxListeners(10);\n}\n\nexport { eventCenter };\nexport var SYNC_EVENT = 'recharts.syncMouseEvents'; // eslint-disable-next-line no-redeclare","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 _every from \"lodash/every\";\nimport _find from \"lodash/find\";\nimport _isFunction from \"lodash/isFunction\";\nimport _throttle from \"lodash/throttle\";\nimport _sortBy from \"lodash/sortBy\";\nimport _get from \"lodash/get\";\nimport _range from \"lodash/range\";\nimport _isNil from \"lodash/isNil\";\nimport _isBoolean from \"lodash/isBoolean\";\nimport _isArray from \"lodash/isArray\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _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\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 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\nimport React, { Component, cloneElement, isValidElement, createElement } from 'react';\nimport classNames from 'classnames';\nimport { Surface } from '../container/Surface';\nimport { Layer } from '../container/Layer';\nimport { Tooltip } from '../component/Tooltip';\nimport { Legend } from '../component/Legend';\nimport { Curve } from '../shape/Curve';\nimport { Cross } from '../shape/Cross';\nimport { Sector } from '../shape/Sector';\nimport { Dot } from '../shape/Dot';\nimport { isInRectangle, Rectangle } from '../shape/Rectangle';\nimport { findAllByType, findChildByType, getDisplayName, parseChildIndex, validateWidthHeight, isChildrenEqual, renderByOrder, getReactEventByType } from '../util/ReactUtils';\nimport { CartesianAxis } from '../cartesian/CartesianAxis';\nimport { Brush } from '../cartesian/Brush';\nimport { getOffset, calculateChartCoordinate } from '../util/DOMUtils';\nimport { getAnyElementOfObject, hasDuplicate, uniqueId, isNumber, findEntryInArray } from '../util/DataUtils';\nimport { calculateActiveTickIndex, getMainColorOfGraphicItem, getBarSizeList, getBarPosition, appendOffsetOfLegend, getLegendProps, combineEventHandlers, getTicksOfAxis, getCoordinatesOfGrid, getStackedDataOfItem, parseErrorBarsOfAxis, getBandSizeOfAxis, getStackGroupsByAxisId, isCategoricalAxis, getDomainOfItemsWithSameAxis, getDomainOfStackGroups, getDomainOfDataByKey, parseSpecifiedDomain, parseDomainOfCategoryAxis, getTooltipItem } from '../util/ChartUtils';\nimport { detectReferenceElementsDomain } from '../util/DetectReferenceElementsDomain';\nimport { inRangeOfSector, polarToCartesian } from '../util/PolarUtils';\nimport { shallowEqual } from '../util/ShallowEqual';\nimport { eventCenter, SYNC_EVENT } from '../util/Events';\nimport { filterProps, adaptEventHandlers } from '../util/types';\nvar ORIENT_MAP = {\n xAxis: ['bottom', 'top'],\n yAxis: ['left', 'right']\n};\nvar originCoordinate = {\n x: 0,\n y: 0\n}; // use legacy isFinite only if there is a problem (aka IE)\n// eslint-disable-next-line no-restricted-globals\n\nvar isFinit = Number.isFinite ? Number.isFinite : isFinite;\nvar defer = // eslint-disable-next-line no-nested-ternary\ntypeof requestAnimationFrame === 'function' ? requestAnimationFrame : typeof setImmediate === 'function' ? setImmediate : setTimeout;\nvar deferClear = // eslint-disable-next-line no-nested-ternary\ntypeof cancelAnimationFrame === 'function' ? cancelAnimationFrame : typeof clearImmediate === 'function' ? clearImmediate : clearTimeout;\n\nvar calculateTooltipPos = function calculateTooltipPos(rangeObj, layout) {\n if (layout === 'horizontal') {\n return rangeObj.x;\n }\n\n if (layout === 'vertical') {\n return rangeObj.y;\n }\n\n if (layout === 'centric') {\n return rangeObj.angle;\n }\n\n return rangeObj.radius;\n};\n\nvar getActiveCoordinate = function getActiveCoordinate(layout, tooltipTicks, activeIndex, rangeObj) {\n var entry = tooltipTicks.find(function (tick) {\n return tick && tick.index === activeIndex;\n });\n\n if (entry) {\n if (layout === 'horizontal') {\n return {\n x: entry.coordinate,\n y: rangeObj.y\n };\n }\n\n if (layout === 'vertical') {\n return {\n x: rangeObj.x,\n y: entry.coordinate\n };\n }\n\n if (layout === 'centric') {\n var _angle = entry.coordinate;\n var _radius = rangeObj.radius;\n return _objectSpread(_objectSpread(_objectSpread({}, rangeObj), polarToCartesian(rangeObj.cx, rangeObj.cy, _radius, _angle)), {}, {\n angle: _angle,\n radius: _radius\n });\n }\n\n var radius = entry.coordinate;\n var angle = rangeObj.angle;\n return _objectSpread(_objectSpread(_objectSpread({}, rangeObj), polarToCartesian(rangeObj.cx, rangeObj.cy, radius, angle)), {}, {\n angle: angle,\n radius: radius\n });\n }\n\n return originCoordinate;\n};\n\nvar getDisplayedData = function getDisplayedData(data, _ref, item) {\n var graphicalItems = _ref.graphicalItems,\n dataStartIndex = _ref.dataStartIndex,\n dataEndIndex = _ref.dataEndIndex;\n var itemsData = (graphicalItems || []).reduce(function (result, child) {\n var itemData = child.props.data;\n\n if (itemData && itemData.length) {\n return [].concat(_toConsumableArray(result), _toConsumableArray(itemData));\n }\n\n return result;\n }, []);\n\n if (itemsData && itemsData.length > 0) {\n return itemsData;\n }\n\n if (item && item.props && item.props.data && item.props.data.length > 0) {\n return item.props.data;\n }\n\n if (data && data.length && isNumber(dataStartIndex) && isNumber(dataEndIndex)) {\n return data.slice(dataStartIndex, dataEndIndex + 1);\n }\n\n return [];\n};\n/**\n * Get the content to be displayed in the tooltip\n * @param {Object} state Current state\n * @param {Array} chartData The data defined in chart\n * @param {Number} activeIndex Active index of data\n * @param {String} activeLabel Active label of data\n * @return {Array} The content of tooltip\n */\n\n\nvar getTooltipContent = function getTooltipContent(state, chartData, activeIndex, activeLabel) {\n var graphicalItems = state.graphicalItems,\n tooltipAxis = state.tooltipAxis;\n var displayedData = getDisplayedData(chartData, state);\n\n if (activeIndex < 0 || !graphicalItems || !graphicalItems.length || activeIndex >= displayedData.length) {\n return null;\n } // get data by activeIndex when the axis don't allow duplicated category\n\n\n return graphicalItems.reduce(function (result, child) {\n var hide = child.props.hide;\n\n if (hide) {\n return result;\n }\n\n var data = child.props.data;\n var payload;\n\n if (tooltipAxis.dataKey && !tooltipAxis.allowDuplicatedCategory) {\n // graphic child has data props\n var entries = data === undefined ? displayedData : data;\n payload = findEntryInArray(entries, tooltipAxis.dataKey, activeLabel);\n } else {\n payload = data && data[activeIndex] || displayedData[activeIndex];\n }\n\n if (!payload) {\n return result;\n }\n\n return [].concat(_toConsumableArray(result), [getTooltipItem(child, payload)]);\n }, []);\n};\n/**\n * Returns tooltip data based on a mouse position (as a parameter or in state)\n * @param {Object} state current state\n * @param {Array} chartData the data defined in chart\n * @param {String} layout The layout type of chart\n * @param {Object} rangeObj { x, y } coordinates\n * @return {Object} Tooltip data data\n */\n\n\nvar getTooltipData = function getTooltipData(state, chartData, layout, rangeObj) {\n var rangeData = rangeObj || {\n x: state.chartX,\n y: state.chartY\n };\n var pos = calculateTooltipPos(rangeData, layout);\n var ticks = state.orderedTooltipTicks,\n axis = state.tooltipAxis,\n tooltipTicks = state.tooltipTicks;\n var activeIndex = calculateActiveTickIndex(pos, ticks, tooltipTicks, axis);\n\n if (activeIndex >= 0 && tooltipTicks) {\n var activeLabel = tooltipTicks[activeIndex] && tooltipTicks[activeIndex].value;\n var activePayload = getTooltipContent(state, chartData, activeIndex, activeLabel);\n var activeCoordinate = getActiveCoordinate(layout, ticks, activeIndex, rangeData);\n return {\n activeTooltipIndex: activeIndex,\n activeLabel: activeLabel,\n activePayload: activePayload,\n activeCoordinate: activeCoordinate\n };\n }\n\n return null;\n};\n/**\n * Get the configuration of axis by the options of axis instance\n * @param {Object} props Latest props\n * @param {Array} axes The instance of axes\n * @param {Array} graphicalItems The instances of item\n * @param {String} axisType The type of axis, xAxis - x-axis, yAxis - y-axis\n * @param {String} axisIdKey The unique id of an axis\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @param {Number} dataStartIndex The start index of the data series when a brush is applied\n * @param {Number} dataEndIndex The end index of the data series when a brush is applied\n * @return {Object} Configuration\n */\n\n\nvar getAxisMapByAxes = function getAxisMapByAxes(props, _ref2) {\n var axes = _ref2.axes,\n graphicalItems = _ref2.graphicalItems,\n axisType = _ref2.axisType,\n axisIdKey = _ref2.axisIdKey,\n stackGroups = _ref2.stackGroups,\n dataStartIndex = _ref2.dataStartIndex,\n dataEndIndex = _ref2.dataEndIndex;\n var layout = props.layout,\n children = props.children,\n stackOffset = props.stackOffset;\n var isCategorical = isCategoricalAxis(layout, axisType); // Eliminate duplicated axes\n\n var axisMap = axes.reduce(function (result, child) {\n var _child$props = child.props,\n type = _child$props.type,\n dataKey = _child$props.dataKey,\n allowDataOverflow = _child$props.allowDataOverflow,\n allowDuplicatedCategory = _child$props.allowDuplicatedCategory,\n scale = _child$props.scale,\n ticks = _child$props.ticks;\n var axisId = child.props[axisIdKey];\n var displayedData = getDisplayedData(props.data, {\n graphicalItems: graphicalItems.filter(function (item) {\n return item.props[axisIdKey] === axisId;\n }),\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n var len = displayedData.length;\n\n if (!result[axisId]) {\n var domain, duplicateDomain, categoricalDomain;\n\n if (dataKey) {\n // has dataKey in \n domain = getDomainOfDataByKey(displayedData, dataKey, type);\n\n if (type === 'category' && isCategorical) {\n // the field type is category data and this axis is catrgorical axis\n var duplicate = hasDuplicate(domain);\n\n if (allowDuplicatedCategory && duplicate) {\n duplicateDomain = domain; // When category axis has duplicated text, serial numbers are used to generate scale\n\n domain = _range(0, len);\n } else if (!allowDuplicatedCategory) {\n // remove duplicated category\n domain = parseDomainOfCategoryAxis(child.props.domain, domain, child).reduce(function (finalDomain, entry) {\n return finalDomain.indexOf(entry) >= 0 ? finalDomain : [].concat(_toConsumableArray(finalDomain), [entry]);\n }, []);\n }\n } else if (type === 'category') {\n // the field type is category data and this axis is numerical axis\n if (!allowDuplicatedCategory) {\n domain = parseDomainOfCategoryAxis(child.props.domain, domain, child).reduce(function (finalDomain, entry) {\n return finalDomain.indexOf(entry) >= 0 || entry === '' || _isNil(entry) ? finalDomain : [].concat(_toConsumableArray(finalDomain), [entry]);\n }, []);\n } else {\n // eliminate undefined or null or empty string\n domain = domain.filter(function (entry) {\n return entry !== '' && !_isNil(entry);\n });\n }\n } else if (type === 'number') {\n // the field type is numerical\n var errorBarsDomain = parseErrorBarsOfAxis(displayedData, graphicalItems.filter(function (item) {\n return item.props[axisIdKey] === axisId && !item.props.hide;\n }), dataKey, axisType);\n\n if (errorBarsDomain) {\n domain = errorBarsDomain;\n }\n }\n\n if (isCategorical && (type === 'number' || scale !== 'auto')) {\n categoricalDomain = getDomainOfDataByKey(displayedData, dataKey, 'category');\n }\n } else if (isCategorical) {\n // the axis is a categorical axis\n domain = _range(0, len);\n } else if (stackGroups && stackGroups[axisId] && stackGroups[axisId].hasStack && type === 'number') {\n // when stackOffset is 'expand', the domain may be calculated as [0, 1.000000000002]\n domain = stackOffset === 'expand' ? [0, 1] : getDomainOfStackGroups(stackGroups[axisId].stackGroups, dataStartIndex, dataEndIndex);\n } else {\n domain = getDomainOfItemsWithSameAxis(displayedData, graphicalItems.filter(function (item) {\n return item.props[axisIdKey] === axisId && !item.props.hide;\n }), type, true);\n }\n\n if (type === 'number') {\n // To detect wether there is any reference lines whose props alwaysShow is true\n domain = detectReferenceElementsDomain(children, domain, axisId, axisType, ticks);\n\n if (child.props.domain) {\n domain = parseSpecifiedDomain(child.props.domain, domain, allowDataOverflow);\n }\n } else if (type === 'category' && child.props.domain) {\n var axisDomain = child.props.domain;\n var isDomainValidate = domain.every(function (entry) {\n return axisDomain.indexOf(entry) >= 0;\n });\n\n if (isDomainValidate) {\n domain = axisDomain;\n }\n }\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, _objectSpread(_objectSpread({}, child.props), {}, {\n axisType: axisType,\n domain: domain,\n categoricalDomain: categoricalDomain,\n duplicateDomain: duplicateDomain,\n originalDomain: child.props.domain,\n isCategorical: isCategorical,\n layout: layout\n })));\n }\n\n return result;\n }, {});\n return axisMap;\n};\n/**\n * Get the configuration of axis by the options of item,\n * this kind of axis does not display in chart\n * @param {Object} props Latest props\n * @param {Array} graphicalItems The instances of item\n * @param {ReactElement} Axis Axis Component\n * @param {String} axisType The type of axis, xAxis - x-axis, yAxis - y-axis\n * @param {String} axisIdKey The unique id of an axis\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @param {Number} dataStartIndex The start index of the data series when a brush is applied\n * @param {Number} dataEndIndex The end index of the data series when a brush is applied\n * @return {Object} Configuration\n */\n\n\nvar getAxisMapByItems = function getAxisMapByItems(props, _ref3) {\n var graphicalItems = _ref3.graphicalItems,\n Axis = _ref3.Axis,\n axisType = _ref3.axisType,\n axisIdKey = _ref3.axisIdKey,\n stackGroups = _ref3.stackGroups,\n dataStartIndex = _ref3.dataStartIndex,\n dataEndIndex = _ref3.dataEndIndex;\n var layout = props.layout,\n children = props.children;\n var displayedData = getDisplayedData(props.data, {\n graphicalItems: graphicalItems,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n var len = displayedData.length;\n var isCategorical = isCategoricalAxis(layout, axisType);\n var index = -1; // The default type of x-axis is category axis,\n // The default contents of x-axis is the serial numbers of data\n // The default type of y-axis is number axis\n // The default contents of y-axis is the domain of data\n\n var axisMap = graphicalItems.reduce(function (result, child) {\n var axisId = child.props[axisIdKey];\n\n if (!result[axisId]) {\n index++;\n var domain;\n\n if (isCategorical) {\n domain = _range(0, len);\n } else if (stackGroups && stackGroups[axisId] && stackGroups[axisId].hasStack) {\n domain = getDomainOfStackGroups(stackGroups[axisId].stackGroups, dataStartIndex, dataEndIndex);\n domain = detectReferenceElementsDomain(children, domain, axisId, axisType);\n } else {\n domain = parseSpecifiedDomain(Axis.defaultProps.domain, getDomainOfItemsWithSameAxis(displayedData, graphicalItems.filter(function (item) {\n return item.props[axisIdKey] === axisId && !item.props.hide;\n }), 'number'), Axis.defaultProps.allowDataOverflow);\n domain = detectReferenceElementsDomain(children, domain, axisId, axisType);\n }\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, _objectSpread(_objectSpread({\n axisType: axisType\n }, Axis.defaultProps), {}, {\n hide: true,\n orientation: _get(ORIENT_MAP, \"\".concat(axisType, \".\").concat(index % 2), null),\n domain: domain,\n originalDomain: Axis.defaultProps.domain,\n isCategorical: isCategorical,\n layout: layout // specify scale when no Axis\n // scale: isCategorical ? 'band' : 'linear',\n\n })));\n }\n\n return result;\n }, {});\n return axisMap;\n};\n/**\n * Get the configuration of all x-axis or y-axis\n * @param {Object} props Latest props\n * @param {String} axisType The type of axis\n * @param {Array} graphicalItems The instances of item\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @param {Number} dataStartIndex The start index of the data series when a brush is applied\n * @param {Number} dataEndIndex The end index of the data series when a brush is applied\n * @return {Object} Configuration\n */\n\n\nvar getAxisMap = function getAxisMap(props, _ref4) {\n var _ref4$axisType = _ref4.axisType,\n axisType = _ref4$axisType === void 0 ? 'xAxis' : _ref4$axisType,\n AxisComp = _ref4.AxisComp,\n graphicalItems = _ref4.graphicalItems,\n stackGroups = _ref4.stackGroups,\n dataStartIndex = _ref4.dataStartIndex,\n dataEndIndex = _ref4.dataEndIndex;\n var children = props.children;\n var axisIdKey = \"\".concat(axisType, \"Id\"); // Get all the instance of Axis\n\n var axes = findAllByType(children, AxisComp);\n var axisMap = {};\n\n if (axes && axes.length) {\n axisMap = getAxisMapByAxes(props, {\n axes: axes,\n graphicalItems: graphicalItems,\n axisType: axisType,\n axisIdKey: axisIdKey,\n stackGroups: stackGroups,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n } else if (graphicalItems && graphicalItems.length) {\n axisMap = getAxisMapByItems(props, {\n Axis: AxisComp,\n graphicalItems: graphicalItems,\n axisType: axisType,\n axisIdKey: axisIdKey,\n stackGroups: stackGroups,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n }\n\n return axisMap;\n};\n\nvar tooltipTicksGenerator = function tooltipTicksGenerator(axisMap) {\n var axis = getAnyElementOfObject(axisMap);\n var tooltipTicks = getTicksOfAxis(axis, false, true);\n return {\n tooltipTicks: tooltipTicks,\n orderedTooltipTicks: _sortBy(tooltipTicks, function (o) {\n return o.coordinate;\n }),\n tooltipAxis: axis,\n tooltipAxisBandSize: getBandSizeOfAxis(axis, tooltipTicks)\n };\n};\n/**\n * Returns default, reset state for the categorical chart.\n * @param {Object} props Props object to use when creating the default state\n * @return {Object} Whole new state\n */\n\n\nvar createDefaultState = function createDefaultState(props) {\n var children = props.children,\n defaultShowTooltip = props.defaultShowTooltip;\n var brushItem = findChildByType(children, Brush.displayName);\n var startIndex = brushItem && brushItem.props && brushItem.props.startIndex || 0;\n var endIndex = brushItem && brushItem.props && brushItem.props.endIndex || props.data && props.data.length - 1 || 0;\n return {\n chartX: 0,\n chartY: 0,\n dataStartIndex: startIndex,\n dataEndIndex: endIndex,\n activeTooltipIndex: -1,\n isTooltipActive: !_isNil(defaultShowTooltip) ? defaultShowTooltip : false\n };\n};\n\nvar hasGraphicalBarItem = function hasGraphicalBarItem(graphicalItems) {\n if (!graphicalItems || !graphicalItems.length) {\n return false;\n }\n\n return graphicalItems.some(function (item) {\n var name = getDisplayName(item && item.type);\n return name && name.indexOf('Bar') >= 0;\n });\n};\n\nvar getAxisNameByLayout = function getAxisNameByLayout(layout) {\n if (layout === 'horizontal') {\n return {\n numericAxisName: 'yAxis',\n cateAxisName: 'xAxis'\n };\n }\n\n if (layout === 'vertical') {\n return {\n numericAxisName: 'xAxis',\n cateAxisName: 'yAxis'\n };\n }\n\n if (layout === 'centric') {\n return {\n numericAxisName: 'radiusAxis',\n cateAxisName: 'angleAxis'\n };\n }\n\n return {\n numericAxisName: 'angleAxis',\n cateAxisName: 'radiusAxis'\n };\n};\n/**\n * Calculate the offset of main part in the svg element\n * @param {Object} props Latest props\n * graphicalItems The instances of item\n * xAxisMap The configuration of x-axis\n * yAxisMap The configuration of y-axis\n * @param {Object} prevLegendBBox the boundary box of legend\n * @return {Object} The offset of main part in the svg element\n */\n\n\nvar calculateOffset = function calculateOffset(_ref5, prevLegendBBox) {\n var props = _ref5.props,\n graphicalItems = _ref5.graphicalItems,\n _ref5$xAxisMap = _ref5.xAxisMap,\n xAxisMap = _ref5$xAxisMap === void 0 ? {} : _ref5$xAxisMap,\n _ref5$yAxisMap = _ref5.yAxisMap,\n yAxisMap = _ref5$yAxisMap === void 0 ? {} : _ref5$yAxisMap;\n var width = props.width,\n height = props.height,\n children = props.children;\n var margin = props.margin || {};\n var brushItem = findChildByType(children, Brush.displayName);\n var legendItem = findChildByType(children, Legend.displayName);\n var offsetH = Object.keys(yAxisMap).reduce(function (result, id) {\n var entry = yAxisMap[id];\n var orientation = entry.orientation;\n\n if (!entry.mirror && !entry.hide) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, orientation, result[orientation] + entry.width));\n }\n\n return result;\n }, {\n left: margin.left || 0,\n right: margin.right || 0\n });\n var offsetV = Object.keys(xAxisMap).reduce(function (result, id) {\n var entry = xAxisMap[id];\n var orientation = entry.orientation;\n\n if (!entry.mirror && !entry.hide) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, orientation, _get(result, \"\".concat(orientation)) + entry.height));\n }\n\n return result;\n }, {\n top: margin.top || 0,\n bottom: margin.bottom || 0\n });\n\n var offset = _objectSpread(_objectSpread({}, offsetV), offsetH);\n\n var brushBottom = offset.bottom;\n\n if (brushItem) {\n offset.bottom += brushItem.props.height || Brush.defaultProps.height;\n }\n\n if (legendItem && prevLegendBBox) {\n offset = appendOffsetOfLegend(offset, graphicalItems, props, prevLegendBBox);\n }\n\n return _objectSpread(_objectSpread({\n brushBottom: brushBottom\n }, offset), {}, {\n width: width - offset.left - offset.right,\n height: height - offset.top - offset.bottom\n });\n};\n\nexport var generateCategoricalChart = function generateCategoricalChart(_ref6) {\n var _class, _temp;\n\n var chartName = _ref6.chartName,\n GraphicalChild = _ref6.GraphicalChild,\n _ref6$defaultTooltipE = _ref6.defaultTooltipEventType,\n defaultTooltipEventType = _ref6$defaultTooltipE === void 0 ? 'axis' : _ref6$defaultTooltipE,\n _ref6$validateTooltip = _ref6.validateTooltipEventTypes,\n validateTooltipEventTypes = _ref6$validateTooltip === void 0 ? ['axis'] : _ref6$validateTooltip,\n axisComponents = _ref6.axisComponents,\n legendContent = _ref6.legendContent,\n formatAxisMap = _ref6.formatAxisMap,\n defaultProps = _ref6.defaultProps;\n\n var getFormatItems = function getFormatItems(props, currentState) {\n var graphicalItems = currentState.graphicalItems,\n stackGroups = currentState.stackGroups,\n offset = currentState.offset,\n updateId = currentState.updateId,\n dataStartIndex = currentState.dataStartIndex,\n dataEndIndex = currentState.dataEndIndex;\n var barSize = props.barSize,\n layout = props.layout,\n barGap = props.barGap,\n barCategoryGap = props.barCategoryGap,\n globalMaxBarSize = props.maxBarSize;\n\n var _getAxisNameByLayout = getAxisNameByLayout(layout),\n numericAxisName = _getAxisNameByLayout.numericAxisName,\n cateAxisName = _getAxisNameByLayout.cateAxisName;\n\n var hasBar = hasGraphicalBarItem(graphicalItems);\n var sizeList = hasBar && getBarSizeList({\n barSize: barSize,\n stackGroups: stackGroups\n });\n var formattedItems = [];\n graphicalItems.forEach(function (item, index) {\n var displayedData = getDisplayedData(props.data, {\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }, item);\n var _item$props = item.props,\n dataKey = _item$props.dataKey,\n childMaxBarSize = _item$props.maxBarSize;\n var numericAxisId = item.props[\"\".concat(numericAxisName, \"Id\")];\n var cateAxisId = item.props[\"\".concat(cateAxisName, \"Id\")];\n var axisObj = axisComponents.reduce(function (result, entry) {\n var _objectSpread6;\n\n var axisMap = currentState[\"\".concat(entry.axisType, \"Map\")];\n var id = item.props[\"\".concat(entry.axisType, \"Id\")];\n var axis = axisMap && axisMap[id];\n return _objectSpread(_objectSpread({}, result), {}, (_objectSpread6 = {}, _defineProperty(_objectSpread6, entry.axisType, axis), _defineProperty(_objectSpread6, \"\".concat(entry.axisType, \"Ticks\"), getTicksOfAxis(axis)), _objectSpread6));\n }, {});\n var cateAxis = axisObj[cateAxisName];\n var cateTicks = axisObj[\"\".concat(cateAxisName, \"Ticks\")];\n var stackedData = stackGroups && stackGroups[numericAxisId] && stackGroups[numericAxisId].hasStack && getStackedDataOfItem(item, stackGroups[numericAxisId].stackGroups);\n var itemIsBar = getDisplayName(item.type).indexOf('Bar') >= 0;\n var bandSize = getBandSizeOfAxis(cateAxis, cateTicks);\n var barPosition = [];\n\n if (itemIsBar) {\n var _ref7, _getBandSizeOfAxis;\n\n // 如果是bar,计算bar的位置\n var maxBarSize = _isNil(childMaxBarSize) ? globalMaxBarSize : childMaxBarSize;\n var barBandSize = (_ref7 = (_getBandSizeOfAxis = getBandSizeOfAxis(cateAxis, cateTicks, true)) !== null && _getBandSizeOfAxis !== void 0 ? _getBandSizeOfAxis : maxBarSize) !== null && _ref7 !== void 0 ? _ref7 : 0;\n barPosition = getBarPosition({\n barGap: barGap,\n barCategoryGap: barCategoryGap,\n bandSize: barBandSize !== bandSize ? barBandSize : bandSize,\n sizeList: sizeList[cateAxisId],\n maxBarSize: maxBarSize\n });\n\n if (barBandSize !== bandSize) {\n barPosition = barPosition.map(function (pos) {\n return _objectSpread(_objectSpread({}, pos), {}, {\n position: _objectSpread(_objectSpread({}, pos.position), {}, {\n offset: pos.position.offset - barBandSize / 2\n })\n });\n });\n }\n }\n\n var composedFn = item && item.type && item.type.getComposedData;\n\n if (composedFn) {\n var _objectSpread7;\n\n formattedItems.push({\n props: _objectSpread(_objectSpread({}, composedFn(_objectSpread(_objectSpread({}, axisObj), {}, {\n displayedData: displayedData,\n props: props,\n dataKey: dataKey,\n item: item,\n bandSize: bandSize,\n barPosition: barPosition,\n offset: offset,\n stackedData: stackedData,\n layout: layout,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }))), {}, (_objectSpread7 = {\n key: item.key || \"item-\".concat(index)\n }, _defineProperty(_objectSpread7, numericAxisName, axisObj[numericAxisName]), _defineProperty(_objectSpread7, cateAxisName, axisObj[cateAxisName]), _defineProperty(_objectSpread7, \"animationId\", updateId), _objectSpread7)),\n childIndex: parseChildIndex(item, props.children),\n item: item\n });\n }\n });\n return formattedItems;\n };\n /**\n * The AxisMaps are expensive to render on large data sets\n * so provide the ability to store them in state and only update them when necessary\n * they are dependent upon the start and end index of\n * the brush so it's important that this method is called _after_\n * the state is updated with any new start/end indices\n *\n * @param {Object} props The props object to be used for updating the axismaps\n * dataStartIndex: The start index of the data series when a brush is applied\n * dataEndIndex: The end index of the data series when a brush is applied\n * updateId: The update id\n * @param {Object} prevState Prev state\n * @return {Object} state New state to set\n */\n\n\n var updateStateOfAxisMapsOffsetAndStackGroups = function updateStateOfAxisMapsOffsetAndStackGroups(_ref8, prevState) {\n var props = _ref8.props,\n dataStartIndex = _ref8.dataStartIndex,\n dataEndIndex = _ref8.dataEndIndex,\n updateId = _ref8.updateId;\n\n if (!validateWidthHeight({\n props: props\n })) {\n return null;\n }\n\n var children = props.children,\n layout = props.layout,\n stackOffset = props.stackOffset,\n data = props.data,\n reverseStackOrder = props.reverseStackOrder;\n\n var _getAxisNameByLayout2 = getAxisNameByLayout(layout),\n numericAxisName = _getAxisNameByLayout2.numericAxisName,\n cateAxisName = _getAxisNameByLayout2.cateAxisName;\n\n var graphicalItems = findAllByType(children, GraphicalChild);\n var stackGroups = getStackGroupsByAxisId(data, graphicalItems, \"\".concat(numericAxisName, \"Id\"), \"\".concat(cateAxisName, \"Id\"), stackOffset, reverseStackOrder);\n var axisObj = axisComponents.reduce(function (result, entry) {\n var name = \"\".concat(entry.axisType, \"Map\");\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, name, getAxisMap(props, _objectSpread(_objectSpread({}, entry), {}, {\n graphicalItems: graphicalItems,\n stackGroups: entry.axisType === numericAxisName && stackGroups,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }))));\n }, {});\n var offset = calculateOffset(_objectSpread(_objectSpread({}, axisObj), {}, {\n props: props,\n graphicalItems: graphicalItems\n }), prevState === null || prevState === void 0 ? void 0 : prevState.legendBBox);\n Object.keys(axisObj).forEach(function (key) {\n axisObj[key] = formatAxisMap(props, axisObj[key], offset, key.replace('Map', ''), chartName);\n });\n var cateAxisMap = axisObj[\"\".concat(cateAxisName, \"Map\")];\n var ticksObj = tooltipTicksGenerator(cateAxisMap);\n var formattedGraphicalItems = getFormatItems(props, _objectSpread(_objectSpread({}, axisObj), {}, {\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex,\n updateId: updateId,\n graphicalItems: graphicalItems,\n stackGroups: stackGroups,\n offset: offset\n }));\n return _objectSpread(_objectSpread({\n formattedGraphicalItems: formattedGraphicalItems,\n graphicalItems: graphicalItems,\n offset: offset,\n stackGroups: stackGroups\n }, ticksObj), axisObj);\n };\n\n return _temp = _class = /*#__PURE__*/function (_Component) {\n _inherits(CategoricalChartWrapper, _Component);\n\n var _super = _createSuper(CategoricalChartWrapper);\n\n // todo join specific chart propTypes\n function CategoricalChartWrapper(_props) {\n var _this;\n\n _classCallCheck(this, CategoricalChartWrapper);\n\n _this = _super.call(this, _props);\n _this.uniqueChartId = void 0;\n _this.clipPathId = void 0;\n _this.legendInstance = void 0;\n _this.deferId = void 0;\n _this.container = void 0;\n\n _this.clearDeferId = function () {\n if (!_isNil(_this.deferId) && deferClear) {\n deferClear(_this.deferId);\n }\n\n _this.deferId = null;\n };\n\n _this.handleLegendBBoxUpdate = function (box) {\n if (box && _this.legendInstance) {\n var _this$state = _this.state,\n dataStartIndex = _this$state.dataStartIndex,\n dataEndIndex = _this$state.dataEndIndex,\n updateId = _this$state.updateId;\n\n _this.setState(_objectSpread({\n legendBBox: box\n }, updateStateOfAxisMapsOffsetAndStackGroups({\n props: _this.props,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex,\n updateId: updateId\n }, _objectSpread(_objectSpread({}, _this.state), {}, {\n legendBBox: box\n }))));\n }\n };\n\n _this.handleReceiveSyncEvent = function (cId, chartId, data) {\n var syncId = _this.props.syncId;\n\n if (syncId === cId && chartId !== _this.uniqueChartId) {\n _this.clearDeferId();\n\n _this.deferId = defer && defer(_this.applySyncEvent.bind(_assertThisInitialized(_this), data));\n }\n };\n\n _this.handleBrushChange = function (_ref9) {\n var startIndex = _ref9.startIndex,\n endIndex = _ref9.endIndex;\n\n // Only trigger changes if the extents of the brush have actually changed\n if (startIndex !== _this.state.dataStartIndex || endIndex !== _this.state.dataEndIndex) {\n var updateId = _this.state.updateId;\n\n _this.setState(function () {\n return _objectSpread({\n dataStartIndex: startIndex,\n dataEndIndex: endIndex\n }, updateStateOfAxisMapsOffsetAndStackGroups({\n props: _this.props,\n dataStartIndex: startIndex,\n dataEndIndex: endIndex,\n updateId: updateId\n }, _this.state));\n });\n\n _this.triggerSyncEvent({\n dataStartIndex: startIndex,\n dataEndIndex: endIndex\n });\n }\n };\n\n _this.handleMouseEnter = function (e) {\n var onMouseEnter = _this.props.onMouseEnter;\n\n var mouse = _this.getMouseInfo(e);\n\n if (mouse) {\n var nextState = _objectSpread(_objectSpread({}, mouse), {}, {\n isTooltipActive: true\n });\n\n _this.setState(nextState);\n\n _this.triggerSyncEvent(nextState);\n\n if (_isFunction(onMouseEnter)) {\n onMouseEnter(nextState, e);\n }\n }\n };\n\n _this.triggeredAfterMouseMove = function (e) {\n var onMouseMove = _this.props.onMouseMove;\n\n var mouse = _this.getMouseInfo(e);\n\n var nextState = mouse ? _objectSpread(_objectSpread({}, mouse), {}, {\n isTooltipActive: true\n }) : {\n isTooltipActive: false\n };\n\n _this.setState(nextState);\n\n _this.triggerSyncEvent(nextState);\n\n if (_isFunction(onMouseMove)) {\n onMouseMove(nextState, e);\n }\n };\n\n _this.handleItemMouseEnter = function (el) {\n _this.setState(function () {\n return {\n isTooltipActive: true,\n activeItem: el,\n activePayload: el.tooltipPayload,\n activeCoordinate: el.tooltipPosition || {\n x: el.cx,\n y: el.cy\n }\n };\n });\n };\n\n _this.handleItemMouseLeave = function () {\n _this.setState(function () {\n return {\n isTooltipActive: false\n };\n });\n };\n\n _this.handleMouseMove = function (e) {\n if (e && _isFunction(e.persist)) {\n e.persist();\n }\n\n _this.triggeredAfterMouseMove(e);\n };\n\n _this.handleMouseLeave = function (e) {\n var onMouseLeave = _this.props.onMouseLeave;\n var nextState = {\n isTooltipActive: false\n };\n\n _this.setState(nextState);\n\n _this.triggerSyncEvent(nextState);\n\n if (_isFunction(onMouseLeave)) {\n onMouseLeave(nextState, e);\n }\n\n _this.cancelThrottledTriggerAfterMouseMove();\n };\n\n _this.handleOuterEvent = function (e) {\n var eventName = getReactEventByType(e);\n\n var event = _get(_this.props, \"\".concat(eventName));\n\n if (eventName && _isFunction(event)) {\n var mouse;\n\n if (/.*touch.*/i.test(eventName)) {\n mouse = _this.getMouseInfo(e.changedTouches[0]);\n } else {\n mouse = _this.getMouseInfo(e);\n }\n\n var handler = event;\n handler(mouse, e);\n }\n };\n\n _this.handleClick = function (e) {\n var onClick = _this.props.onClick;\n\n var mouse = _this.getMouseInfo(e);\n\n if (mouse) {\n var nextState = _objectSpread(_objectSpread({}, mouse), {}, {\n isTooltipActive: true\n });\n\n _this.setState(nextState);\n\n _this.triggerSyncEvent(nextState);\n\n if (_isFunction(onClick)) {\n onClick(nextState, e);\n }\n }\n };\n\n _this.handleMouseDown = function (e) {\n var onMouseDown = _this.props.onMouseDown;\n\n if (_isFunction(onMouseDown)) {\n var mouse = _this.getMouseInfo(e);\n\n onMouseDown(mouse, e);\n }\n };\n\n _this.handleMouseUp = function (e) {\n var onMouseUp = _this.props.onMouseUp;\n\n if (_isFunction(onMouseUp)) {\n var mouse = _this.getMouseInfo(e);\n\n onMouseUp(mouse, e);\n }\n };\n\n _this.handleTouchMove = function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleMouseMove(e.changedTouches[0]);\n }\n };\n\n _this.handleTouchStart = function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleMouseDown(e.changedTouches[0]);\n }\n };\n\n _this.handleTouchEnd = function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleMouseUp(e.changedTouches[0]);\n }\n };\n\n _this.verticalCoordinatesGenerator = function (_ref10) {\n var xAxis = _ref10.xAxis,\n width = _ref10.width,\n height = _ref10.height,\n offset = _ref10.offset;\n return getCoordinatesOfGrid(CartesianAxis.getTicks(_objectSpread(_objectSpread(_objectSpread({}, CartesianAxis.defaultProps), xAxis), {}, {\n ticks: getTicksOfAxis(xAxis, true),\n viewBox: {\n x: 0,\n y: 0,\n width: width,\n height: height\n }\n })), offset.left, offset.left + offset.width);\n };\n\n _this.horizontalCoordinatesGenerator = function (_ref11) {\n var yAxis = _ref11.yAxis,\n width = _ref11.width,\n height = _ref11.height,\n offset = _ref11.offset;\n return getCoordinatesOfGrid(CartesianAxis.getTicks(_objectSpread(_objectSpread(_objectSpread({}, CartesianAxis.defaultProps), yAxis), {}, {\n ticks: getTicksOfAxis(yAxis, true),\n viewBox: {\n x: 0,\n y: 0,\n width: width,\n height: height\n }\n })), offset.top, offset.top + offset.height);\n };\n\n _this.axesTicksGenerator = function (axis) {\n return getTicksOfAxis(axis, true);\n };\n\n _this.renderCursor = function (element) {\n var _this$state2 = _this.state,\n isTooltipActive = _this$state2.isTooltipActive,\n activeCoordinate = _this$state2.activeCoordinate,\n activePayload = _this$state2.activePayload,\n offset = _this$state2.offset,\n activeTooltipIndex = _this$state2.activeTooltipIndex;\n\n var tooltipEventType = _this.getTooltipEventType();\n\n if (!element || !element.props.cursor || !isTooltipActive || !activeCoordinate || chartName !== 'ScatterChart' && tooltipEventType !== 'axis') {\n return null;\n }\n\n var layout = _this.props.layout;\n var restProps;\n var cursorComp = Curve;\n\n if (chartName === 'ScatterChart') {\n restProps = activeCoordinate;\n cursorComp = Cross;\n } else if (chartName === 'BarChart') {\n restProps = _this.getCursorRectangle();\n cursorComp = Rectangle;\n } else if (layout === 'radial') {\n var _this$getCursorPoints = _this.getCursorPoints(),\n cx = _this$getCursorPoints.cx,\n cy = _this$getCursorPoints.cy,\n radius = _this$getCursorPoints.radius,\n startAngle = _this$getCursorPoints.startAngle,\n endAngle = _this$getCursorPoints.endAngle;\n\n restProps = {\n cx: cx,\n cy: cy,\n startAngle: startAngle,\n endAngle: endAngle,\n innerRadius: radius,\n outerRadius: radius\n };\n cursorComp = Sector;\n } else {\n restProps = {\n points: _this.getCursorPoints()\n };\n cursorComp = Curve;\n }\n\n var key = element.key || '_recharts-cursor';\n\n var cursorProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n stroke: '#ccc',\n pointerEvents: 'none'\n }, offset), restProps), filterProps(element.props.cursor)), {}, {\n payload: activePayload,\n payloadIndex: activeTooltipIndex,\n key: key,\n className: 'recharts-tooltip-cursor'\n });\n\n return /*#__PURE__*/isValidElement(element.props.cursor) ? /*#__PURE__*/cloneElement(element.props.cursor, cursorProps) : /*#__PURE__*/createElement(cursorComp, cursorProps);\n };\n\n _this.renderPolarAxis = function (element, displayName, index) {\n var axisType = _get(element, 'type.axisType');\n\n var axisMap = _get(_this.state, \"\".concat(axisType, \"Map\"));\n\n var axisOption = axisMap[element.props[\"\".concat(axisType, \"Id\")]];\n return /*#__PURE__*/cloneElement(element, _objectSpread(_objectSpread({}, axisOption), {}, {\n className: axisType,\n key: element.key || \"\".concat(displayName, \"-\").concat(index),\n ticks: getTicksOfAxis(axisOption, true)\n }));\n };\n\n _this.renderXAxis = function (element, displayName, index) {\n var xAxisMap = _this.state.xAxisMap;\n var axisObj = xAxisMap[element.props.xAxisId];\n return _this.renderAxis(axisObj, element, displayName, index);\n };\n\n _this.renderYAxis = function (element, displayName, index) {\n var yAxisMap = _this.state.yAxisMap;\n var axisObj = yAxisMap[element.props.yAxisId];\n return _this.renderAxis(axisObj, element, displayName, index);\n };\n\n _this.renderGrid = function (element) {\n var _this$state3 = _this.state,\n xAxisMap = _this$state3.xAxisMap,\n yAxisMap = _this$state3.yAxisMap,\n offset = _this$state3.offset;\n var _this$props = _this.props,\n width = _this$props.width,\n height = _this$props.height;\n var xAxis = getAnyElementOfObject(xAxisMap);\n\n var yAxisWithFiniteDomain = _find(yAxisMap, function (axis) {\n return _every(axis.domain, isFinit);\n });\n\n var yAxis = yAxisWithFiniteDomain || getAnyElementOfObject(yAxisMap);\n var props = element.props || {};\n return /*#__PURE__*/cloneElement(element, {\n key: element.key || 'grid',\n x: isNumber(props.x) ? props.x : offset.left,\n y: isNumber(props.y) ? props.y : offset.top,\n width: isNumber(props.width) ? props.width : offset.width,\n height: isNumber(props.height) ? props.height : offset.height,\n xAxis: xAxis,\n yAxis: yAxis,\n offset: offset,\n chartWidth: width,\n chartHeight: height,\n verticalCoordinatesGenerator: props.verticalCoordinatesGenerator || _this.verticalCoordinatesGenerator,\n horizontalCoordinatesGenerator: props.horizontalCoordinatesGenerator || _this.horizontalCoordinatesGenerator\n });\n };\n\n _this.renderPolarGrid = function (element) {\n var _element$props = element.props,\n radialLines = _element$props.radialLines,\n polarAngles = _element$props.polarAngles,\n polarRadius = _element$props.polarRadius;\n var _this$state4 = _this.state,\n radiusAxisMap = _this$state4.radiusAxisMap,\n angleAxisMap = _this$state4.angleAxisMap;\n var radiusAxis = getAnyElementOfObject(radiusAxisMap);\n var angleAxis = getAnyElementOfObject(angleAxisMap);\n var cx = angleAxis.cx,\n cy = angleAxis.cy,\n innerRadius = angleAxis.innerRadius,\n outerRadius = angleAxis.outerRadius;\n return /*#__PURE__*/cloneElement(element, {\n polarAngles: _isArray(polarAngles) ? polarAngles : getTicksOfAxis(angleAxis, true).map(function (entry) {\n return entry.coordinate;\n }),\n polarRadius: _isArray(polarRadius) ? polarRadius : getTicksOfAxis(radiusAxis, true).map(function (entry) {\n return entry.coordinate;\n }),\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n key: element.key || 'polar-grid',\n radialLines: radialLines\n });\n };\n\n _this.renderLegend = function () {\n var formattedGraphicalItems = _this.state.formattedGraphicalItems;\n var _this$props2 = _this.props,\n children = _this$props2.children,\n width = _this$props2.width,\n height = _this$props2.height;\n var margin = _this.props.margin || {};\n var legendWidth = width - (margin.left || 0) - (margin.right || 0);\n var props = getLegendProps({\n children: children,\n formattedGraphicalItems: formattedGraphicalItems,\n legendWidth: legendWidth,\n legendContent: legendContent\n });\n\n if (!props) {\n return null;\n }\n\n var item = props.item,\n otherProps = _objectWithoutProperties(props, [\"item\"]);\n\n return /*#__PURE__*/cloneElement(item, _objectSpread(_objectSpread({}, otherProps), {}, {\n chartWidth: width,\n chartHeight: height,\n margin: margin,\n ref: function ref(legend) {\n _this.legendInstance = legend;\n },\n onBBoxUpdate: _this.handleLegendBBoxUpdate\n }));\n };\n\n _this.renderTooltip = function () {\n var children = _this.props.children;\n var tooltipItem = findChildByType(children, Tooltip.displayName);\n\n if (!tooltipItem) {\n return null;\n }\n\n var _this$state5 = _this.state,\n isTooltipActive = _this$state5.isTooltipActive,\n activeCoordinate = _this$state5.activeCoordinate,\n activePayload = _this$state5.activePayload,\n activeLabel = _this$state5.activeLabel,\n offset = _this$state5.offset;\n return /*#__PURE__*/cloneElement(tooltipItem, {\n viewBox: _objectSpread(_objectSpread({}, offset), {}, {\n x: offset.left,\n y: offset.top\n }),\n active: isTooltipActive,\n label: activeLabel,\n payload: isTooltipActive ? activePayload : [],\n coordinate: activeCoordinate\n });\n };\n\n _this.renderBrush = function (element) {\n var _this$props3 = _this.props,\n margin = _this$props3.margin,\n data = _this$props3.data;\n var _this$state6 = _this.state,\n offset = _this$state6.offset,\n dataStartIndex = _this$state6.dataStartIndex,\n dataEndIndex = _this$state6.dataEndIndex,\n updateId = _this$state6.updateId; // TODO: update brush when children update\n\n return /*#__PURE__*/cloneElement(element, {\n key: element.key || '_recharts-brush',\n onChange: combineEventHandlers(_this.handleBrushChange, null, element.props.onChange),\n data: data,\n x: isNumber(element.props.x) ? element.props.x : offset.left,\n y: isNumber(element.props.y) ? element.props.y : offset.top + offset.height + offset.brushBottom - (margin.bottom || 0),\n width: isNumber(element.props.width) ? element.props.width : offset.width,\n startIndex: dataStartIndex,\n endIndex: dataEndIndex,\n updateId: \"brush-\".concat(updateId)\n });\n };\n\n _this.renderReferenceElement = function (element, displayName, index) {\n if (!element) {\n return null;\n }\n\n var _assertThisInitialize = _assertThisInitialized(_this),\n clipPathId = _assertThisInitialize.clipPathId;\n\n var _this$state7 = _this.state,\n xAxisMap = _this$state7.xAxisMap,\n yAxisMap = _this$state7.yAxisMap,\n offset = _this$state7.offset;\n var _element$props2 = element.props,\n xAxisId = _element$props2.xAxisId,\n yAxisId = _element$props2.yAxisId;\n return /*#__PURE__*/cloneElement(element, {\n key: element.key || \"\".concat(displayName, \"-\").concat(index),\n xAxis: xAxisMap[xAxisId],\n yAxis: yAxisMap[yAxisId],\n viewBox: {\n x: offset.left,\n y: offset.top,\n width: offset.width,\n height: offset.height\n },\n clipPathId: clipPathId\n });\n };\n\n _this.renderActivePoints = function (_ref12) {\n var item = _ref12.item,\n activePoint = _ref12.activePoint,\n basePoint = _ref12.basePoint,\n childIndex = _ref12.childIndex,\n isRange = _ref12.isRange;\n var result = [];\n var key = item.props.key;\n var _item$item$props = item.item.props,\n activeDot = _item$item$props.activeDot,\n dataKey = _item$item$props.dataKey;\n\n var dotProps = _objectSpread(_objectSpread({\n index: childIndex,\n dataKey: dataKey,\n cx: activePoint.x,\n cy: activePoint.y,\n r: 4,\n fill: getMainColorOfGraphicItem(item.item),\n strokeWidth: 2,\n stroke: '#fff',\n payload: activePoint.payload,\n value: activePoint.value,\n key: \"\".concat(key, \"-activePoint-\").concat(childIndex)\n }, filterProps(activeDot)), adaptEventHandlers(activeDot));\n\n result.push(CategoricalChartWrapper.renderActiveDot(activeDot, dotProps));\n\n if (basePoint) {\n result.push(CategoricalChartWrapper.renderActiveDot(activeDot, _objectSpread(_objectSpread({}, dotProps), {}, {\n cx: basePoint.x,\n cy: basePoint.y,\n key: \"\".concat(key, \"-basePoint-\").concat(childIndex)\n })));\n } else if (isRange) {\n result.push(null);\n }\n\n return result;\n };\n\n _this.renderGraphicChild = function (element, displayName, index) {\n var item = _this.filterFormatItem(element, displayName, index);\n\n if (!item) {\n return null;\n }\n\n var tooltipEventType = _this.getTooltipEventType();\n\n var _this$state8 = _this.state,\n isTooltipActive = _this$state8.isTooltipActive,\n tooltipAxis = _this$state8.tooltipAxis,\n activeTooltipIndex = _this$state8.activeTooltipIndex,\n activeLabel = _this$state8.activeLabel;\n var children = _this.props.children;\n var tooltipItem = findChildByType(children, Tooltip.displayName);\n var _item$props2 = item.props,\n points = _item$props2.points,\n isRange = _item$props2.isRange,\n baseLine = _item$props2.baseLine;\n var _item$item$props2 = item.item.props,\n activeDot = _item$item$props2.activeDot,\n hide = _item$item$props2.hide;\n var hasActive = !hide && isTooltipActive && tooltipItem && activeDot && activeTooltipIndex >= 0;\n var itemEvents = {};\n\n if (tooltipEventType !== 'axis' && tooltipItem && tooltipItem.props.trigger === 'click') {\n itemEvents = {\n onClick: combineEventHandlers(_this.handleItemMouseEnter, null, element.props.onCLick)\n };\n } else if (tooltipEventType !== 'axis') {\n itemEvents = {\n onMouseLeave: combineEventHandlers(_this.handleItemMouseLeave, null, element.props.onMouseLeave),\n onMouseEnter: combineEventHandlers(_this.handleItemMouseEnter, null, element.props.onMouseEnter)\n };\n }\n\n var graphicalItem = /*#__PURE__*/cloneElement(element, _objectSpread(_objectSpread({}, item.props), itemEvents));\n\n function findWithPayload(entry) {\n // TODO needs to verify dataKey is Function\n return typeof tooltipAxis.dataKey === 'function' ? tooltipAxis.dataKey(entry.payload) : null;\n }\n\n if (hasActive) {\n var activePoint, basePoint;\n\n if (tooltipAxis.dataKey && !tooltipAxis.allowDuplicatedCategory) {\n // number transform to string\n var specifiedKey = typeof tooltipAxis.dataKey === 'function' ? findWithPayload : 'payload.'.concat(tooltipAxis.dataKey.toString());\n activePoint = findEntryInArray(points, specifiedKey, activeLabel);\n basePoint = isRange && baseLine && findEntryInArray(baseLine, specifiedKey, activeLabel);\n } else {\n activePoint = points[activeTooltipIndex];\n basePoint = isRange && baseLine && baseLine[activeTooltipIndex];\n }\n\n if (!_isNil(activePoint)) {\n return [graphicalItem].concat(_toConsumableArray(_this.renderActivePoints({\n item: item,\n activePoint: activePoint,\n basePoint: basePoint,\n childIndex: activeTooltipIndex,\n isRange: isRange\n })));\n }\n }\n\n if (isRange) {\n return [graphicalItem, null, null];\n }\n\n return [graphicalItem, null];\n };\n\n _this.renderCustomized = function (element, displayName, index) {\n return /*#__PURE__*/cloneElement(element, _objectSpread(_objectSpread({\n key: \"recharts-customized-\".concat(index)\n }, _this.props), _this.state));\n };\n\n _this.uniqueChartId = _isNil(_props.id) ? uniqueId('recharts') : _props.id;\n _this.clipPathId = \"\".concat(_this.uniqueChartId, \"-clip\");\n\n if (_props.throttleDelay) {\n _this.triggeredAfterMouseMove = _throttle(_this.triggeredAfterMouseMove, _props.throttleDelay);\n }\n\n _this.state = {};\n return _this;\n }\n /* eslint-disable react/no-did-mount-set-state */\n\n\n _createClass(CategoricalChartWrapper, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!_isNil(this.props.syncId)) {\n this.addListener();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n // add syncId\n if (_isNil(prevProps.syncId) && !_isNil(this.props.syncId)) {\n this.addListener();\n } // remove syncId\n\n\n if (!_isNil(prevProps.syncId) && _isNil(this.props.syncId)) {\n this.removeListener();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.clearDeferId();\n\n if (!_isNil(this.props.syncId)) {\n this.removeListener();\n }\n\n this.cancelThrottledTriggerAfterMouseMove();\n }\n }, {\n key: \"cancelThrottledTriggerAfterMouseMove\",\n value: function cancelThrottledTriggerAfterMouseMove() {\n if (typeof this.triggeredAfterMouseMove.cancel === 'function') {\n this.triggeredAfterMouseMove.cancel();\n }\n }\n }, {\n key: \"getTooltipEventType\",\n value: function getTooltipEventType() {\n var tooltipItem = findChildByType(this.props.children, Tooltip.displayName);\n\n if (tooltipItem && _isBoolean(tooltipItem.props.shared)) {\n var eventType = tooltipItem.props.shared ? 'axis' : 'item';\n return validateTooltipEventTypes.indexOf(eventType) >= 0 ? eventType : defaultTooltipEventType;\n }\n\n return defaultTooltipEventType;\n }\n /**\n * Get the information of mouse in chart, return null when the mouse is not in the chart\n * @param {Object} event The event object\n * @return {Object} Mouse data\n */\n\n }, {\n key: \"getMouseInfo\",\n value: function getMouseInfo(event) {\n if (!this.container) {\n return null;\n }\n\n var containerOffset = getOffset(this.container);\n var e = calculateChartCoordinate(event, containerOffset);\n var rangeObj = this.inRange(e.chartX, e.chartY);\n\n if (!rangeObj) {\n return null;\n }\n\n var _this$state9 = this.state,\n xAxisMap = _this$state9.xAxisMap,\n yAxisMap = _this$state9.yAxisMap;\n var tooltipEventType = this.getTooltipEventType();\n\n if (tooltipEventType !== 'axis' && xAxisMap && yAxisMap) {\n var xScale = getAnyElementOfObject(xAxisMap).scale;\n var yScale = getAnyElementOfObject(yAxisMap).scale;\n var xValue = xScale && xScale.invert ? xScale.invert(e.chartX) : null;\n var yValue = yScale && yScale.invert ? yScale.invert(e.chartY) : null;\n return _objectSpread(_objectSpread({}, e), {}, {\n xValue: xValue,\n yValue: yValue\n });\n }\n\n var toolTipData = getTooltipData(this.state, this.props.data, this.props.layout, rangeObj);\n\n if (toolTipData) {\n return _objectSpread(_objectSpread({}, e), toolTipData);\n }\n\n return null;\n }\n }, {\n key: \"getCursorRectangle\",\n value: function getCursorRectangle() {\n var layout = this.props.layout;\n var _this$state10 = this.state,\n activeCoordinate = _this$state10.activeCoordinate,\n offset = _this$state10.offset,\n tooltipAxisBandSize = _this$state10.tooltipAxisBandSize;\n var halfSize = tooltipAxisBandSize / 2;\n return {\n stroke: 'none',\n fill: '#ccc',\n x: layout === 'horizontal' ? activeCoordinate.x - halfSize : offset.left + 0.5,\n y: layout === 'horizontal' ? offset.top + 0.5 : activeCoordinate.y - halfSize,\n width: layout === 'horizontal' ? tooltipAxisBandSize : offset.width - 1,\n height: layout === 'horizontal' ? offset.height - 1 : tooltipAxisBandSize\n };\n }\n }, {\n key: \"getCursorPoints\",\n value: function getCursorPoints() {\n var layout = this.props.layout;\n var _this$state11 = this.state,\n activeCoordinate = _this$state11.activeCoordinate,\n offset = _this$state11.offset;\n var x1, y1, x2, y2;\n\n if (layout === 'horizontal') {\n x1 = activeCoordinate.x;\n x2 = x1;\n y1 = offset.top;\n y2 = offset.top + offset.height;\n } else if (layout === 'vertical') {\n y1 = activeCoordinate.y;\n y2 = y1;\n x1 = offset.left;\n x2 = offset.left + offset.width;\n } else if (!_isNil(activeCoordinate.cx) || !_isNil(activeCoordinate.cy)) {\n if (layout === 'centric') {\n var cx = activeCoordinate.cx,\n cy = activeCoordinate.cy,\n innerRadius = activeCoordinate.innerRadius,\n outerRadius = activeCoordinate.outerRadius,\n angle = activeCoordinate.angle;\n var innerPoint = polarToCartesian(cx, cy, innerRadius, angle);\n var outerPoint = polarToCartesian(cx, cy, outerRadius, angle);\n x1 = innerPoint.x;\n y1 = innerPoint.y;\n x2 = outerPoint.x;\n y2 = outerPoint.y;\n } else {\n var _cx = activeCoordinate.cx,\n _cy = activeCoordinate.cy,\n radius = activeCoordinate.radius,\n startAngle = activeCoordinate.startAngle,\n endAngle = activeCoordinate.endAngle;\n var startPoint = polarToCartesian(_cx, _cy, radius, startAngle);\n var endPoint = polarToCartesian(_cx, _cy, radius, endAngle);\n return {\n points: [startPoint, endPoint],\n cx: _cx,\n cy: _cy,\n radius: radius,\n startAngle: startAngle,\n endAngle: endAngle\n };\n }\n }\n\n return [{\n x: x1,\n y: y1\n }, {\n x: x2,\n y: y2\n }];\n }\n }, {\n key: \"inRange\",\n value: function inRange(x, y) {\n var layout = this.props.layout;\n\n if (layout === 'horizontal' || layout === 'vertical') {\n var offset = this.state.offset;\n var isInRange = x >= offset.left && x <= offset.left + offset.width && y >= offset.top && y <= offset.top + offset.height;\n return isInRange ? {\n x: x,\n y: y\n } : null;\n }\n\n var _this$state12 = this.state,\n angleAxisMap = _this$state12.angleAxisMap,\n radiusAxisMap = _this$state12.radiusAxisMap;\n\n if (angleAxisMap && radiusAxisMap) {\n var angleAxis = getAnyElementOfObject(angleAxisMap);\n return inRangeOfSector({\n x: x,\n y: y\n }, angleAxis);\n }\n\n return null;\n }\n }, {\n key: \"parseEventsOfWrapper\",\n value: function parseEventsOfWrapper() {\n var children = this.props.children;\n var tooltipEventType = this.getTooltipEventType();\n var tooltipItem = findChildByType(children, Tooltip.displayName);\n var tooltipEvents = {};\n\n if (tooltipItem && tooltipEventType === 'axis') {\n if (tooltipItem.props.trigger === 'click') {\n tooltipEvents = {\n onClick: this.handleClick\n };\n } else {\n tooltipEvents = {\n onMouseEnter: this.handleMouseEnter,\n onMouseMove: this.handleMouseMove,\n onMouseLeave: this.handleMouseLeave,\n onTouchMove: this.handleTouchMove,\n onTouchStart: this.handleTouchStart,\n onTouchEnd: this.handleTouchEnd\n };\n }\n }\n\n var outerEvents = adaptEventHandlers(this.props, this.handleOuterEvent);\n return _objectSpread(_objectSpread({}, outerEvents), tooltipEvents);\n }\n /* eslint-disable no-underscore-dangle */\n\n }, {\n key: \"addListener\",\n value: function addListener() {\n eventCenter.on(SYNC_EVENT, this.handleReceiveSyncEvent);\n\n if (eventCenter.setMaxListeners && eventCenter._maxListeners) {\n eventCenter.setMaxListeners(eventCenter._maxListeners + 1);\n }\n }\n }, {\n key: \"removeListener\",\n value: function removeListener() {\n eventCenter.removeListener(SYNC_EVENT, this.handleReceiveSyncEvent);\n\n if (eventCenter.setMaxListeners && eventCenter._maxListeners) {\n eventCenter.setMaxListeners(eventCenter._maxListeners - 1);\n }\n }\n }, {\n key: \"triggerSyncEvent\",\n value: function triggerSyncEvent(data) {\n var syncId = this.props.syncId;\n\n if (!_isNil(syncId)) {\n eventCenter.emit(SYNC_EVENT, syncId, this.uniqueChartId, data);\n }\n }\n }, {\n key: \"applySyncEvent\",\n value: function applySyncEvent(data) {\n var _this$props4 = this.props,\n layout = _this$props4.layout,\n syncMethod = _this$props4.syncMethod;\n var updateId = this.state.updateId;\n var dataStartIndex = data.dataStartIndex,\n dataEndIndex = data.dataEndIndex;\n\n if (!_isNil(data.dataStartIndex) || !_isNil(data.dataEndIndex)) {\n this.setState(_objectSpread({\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }, updateStateOfAxisMapsOffsetAndStackGroups({\n props: this.props,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex,\n updateId: updateId\n }, this.state)));\n } else if (!_isNil(data.activeTooltipIndex)) {\n var chartX = data.chartX,\n chartY = data.chartY;\n var activeTooltipIndex = data.activeTooltipIndex;\n var _this$state13 = this.state,\n offset = _this$state13.offset,\n tooltipTicks = _this$state13.tooltipTicks;\n\n if (!offset) {\n return;\n }\n\n if (typeof syncMethod === 'function') {\n // Call a callback function. If there is an application specific algorithm\n activeTooltipIndex = syncMethod(tooltipTicks, data);\n } else if (syncMethod === 'value') {\n // Set activeTooltipIndex to the index with the same value as data.activeLabel\n // For loop instead of findIndex because the latter is very slow in some browsers\n activeTooltipIndex = -1; // in case we cannot find the element\n\n for (var i = 0; i < tooltipTicks.length; i++) {\n if (tooltipTicks[i].value === data.activeLabel) {\n activeTooltipIndex = i;\n break;\n }\n }\n }\n\n var viewBox = _objectSpread(_objectSpread({}, offset), {}, {\n x: offset.left,\n y: offset.top\n }); // When a categotical chart is combined with another chart, the value of chartX\n // and chartY may beyond the boundaries.\n\n\n var validateChartX = Math.min(chartX, viewBox.x + viewBox.width);\n var validateChartY = Math.min(chartY, viewBox.y + viewBox.height);\n var activeLabel = tooltipTicks[activeTooltipIndex] && tooltipTicks[activeTooltipIndex].value;\n var activePayload = getTooltipContent(this.state, this.props.data, activeTooltipIndex);\n var activeCoordinate = tooltipTicks[activeTooltipIndex] ? {\n x: layout === 'horizontal' ? tooltipTicks[activeTooltipIndex].coordinate : validateChartX,\n y: layout === 'horizontal' ? validateChartY : tooltipTicks[activeTooltipIndex].coordinate\n } : originCoordinate;\n this.setState(_objectSpread(_objectSpread({}, data), {}, {\n activeLabel: activeLabel,\n activeCoordinate: activeCoordinate,\n activePayload: activePayload,\n activeTooltipIndex: activeTooltipIndex\n }));\n } else {\n this.setState(data);\n }\n }\n }, {\n key: \"filterFormatItem\",\n value: function filterFormatItem(item, displayName, childIndex) {\n var formattedGraphicalItems = this.state.formattedGraphicalItems;\n\n for (var i = 0, len = formattedGraphicalItems.length; i < len; i++) {\n var entry = formattedGraphicalItems[i];\n\n if (entry.item === item || entry.props.key === item.key || displayName === getDisplayName(entry.item.type) && childIndex === entry.childIndex) {\n return entry;\n }\n }\n\n return null;\n }\n }, {\n key: \"renderAxis\",\n value:\n /**\n * Draw axis\n * @param {Object} axisOptions The options of axis\n * @param {Object} element The axis element\n * @param {String} displayName The display name of axis\n * @param {Number} index The index of element\n * @return {ReactElement} The instance of x-axes\n */\n function renderAxis(axisOptions, element, displayName, index) {\n var _this$props5 = this.props,\n width = _this$props5.width,\n height = _this$props5.height;\n return /*#__PURE__*/React.createElement(CartesianAxis, _extends({}, axisOptions, {\n className: \"recharts-\".concat(axisOptions.axisType, \" \").concat(axisOptions.axisType),\n key: element.key || \"\".concat(displayName, \"-\").concat(index),\n viewBox: {\n x: 0,\n y: 0,\n width: width,\n height: height\n },\n ticksGenerator: this.axesTicksGenerator\n }));\n }\n /**\n * Draw grid\n * @param {ReactElement} element the grid item\n * @return {ReactElement} The instance of grid\n */\n\n }, {\n key: \"renderClipPath\",\n value: function renderClipPath() {\n var clipPathId = this.clipPathId;\n var _this$state$offset = this.state.offset,\n left = _this$state$offset.left,\n top = _this$state$offset.top,\n height = _this$state$offset.height,\n width = _this$state$offset.width;\n return /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: clipPathId\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left,\n y: top,\n height: height,\n width: width\n })));\n }\n }, {\n key: \"getXScales\",\n value: function getXScales() {\n var xAxisMap = this.state.xAxisMap;\n return xAxisMap ? Object.entries(xAxisMap).reduce(function (res, _ref13) {\n var _ref14 = _slicedToArray(_ref13, 2),\n axisId = _ref14[0],\n axisProps = _ref14[1];\n\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, axisId, axisProps.scale));\n }, {}) : null;\n }\n }, {\n key: \"getYScales\",\n value: function getYScales() {\n var yAxisMap = this.state.yAxisMap;\n return yAxisMap ? Object.entries(yAxisMap).reduce(function (res, _ref15) {\n var _ref16 = _slicedToArray(_ref15, 2),\n axisId = _ref16[0],\n axisProps = _ref16[1];\n\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, axisId, axisProps.scale));\n }, {}) : null;\n }\n }, {\n key: \"getXScaleByAxisId\",\n value: function getXScaleByAxisId(axisId) {\n var _this$state$xAxisMap, _this$state$xAxisMap$;\n\n return (_this$state$xAxisMap = this.state.xAxisMap) === null || _this$state$xAxisMap === void 0 ? void 0 : (_this$state$xAxisMap$ = _this$state$xAxisMap[axisId]) === null || _this$state$xAxisMap$ === void 0 ? void 0 : _this$state$xAxisMap$.scale;\n }\n }, {\n key: \"getYScaleByAxisId\",\n value: function getYScaleByAxisId(axisId) {\n var _this$state$yAxisMap, _this$state$yAxisMap$;\n\n return (_this$state$yAxisMap = this.state.yAxisMap) === null || _this$state$yAxisMap === void 0 ? void 0 : (_this$state$yAxisMap$ = _this$state$yAxisMap[axisId]) === null || _this$state$yAxisMap$ === void 0 ? void 0 : _this$state$yAxisMap$.scale;\n }\n }, {\n key: \"getItemByXY\",\n value: function getItemByXY(chartXY) {\n var formattedGraphicalItems = this.state.formattedGraphicalItems;\n\n if (formattedGraphicalItems && formattedGraphicalItems.length) {\n for (var i = 0, len = formattedGraphicalItems.length; i < len; i++) {\n var graphicalItem = formattedGraphicalItems[i];\n var props = graphicalItem.props,\n item = graphicalItem.item;\n var itemDisplayName = getDisplayName(item.type);\n\n if (itemDisplayName === 'Bar') {\n var activeBarItem = (props.data || []).find(function (entry) {\n return isInRectangle(chartXY, entry);\n });\n\n if (activeBarItem) {\n return {\n graphicalItem: graphicalItem,\n payload: activeBarItem\n };\n }\n } else if (itemDisplayName === 'RadialBar') {\n var _activeBarItem = (props.data || []).find(function (entry) {\n return inRangeOfSector(chartXY, entry);\n });\n\n if (_activeBarItem) {\n return {\n graphicalItem: graphicalItem,\n payload: _activeBarItem\n };\n }\n }\n }\n }\n\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n if (!validateWidthHeight(this)) {\n return null;\n }\n\n var _this$props6 = this.props,\n children = _this$props6.children,\n className = _this$props6.className,\n width = _this$props6.width,\n height = _this$props6.height,\n style = _this$props6.style,\n compact = _this$props6.compact,\n others = _objectWithoutProperties(_this$props6, [\"children\", \"className\", \"width\", \"height\", \"style\", \"compact\"]);\n\n var attrs = filterProps(others);\n var map = {\n CartesianGrid: {\n handler: this.renderGrid,\n once: true\n },\n ReferenceArea: {\n handler: this.renderReferenceElement\n },\n ReferenceLine: {\n handler: this.renderReferenceElement\n },\n ReferenceDot: {\n handler: this.renderReferenceElement\n },\n XAxis: {\n handler: this.renderXAxis\n },\n YAxis: {\n handler: this.renderYAxis\n },\n Brush: {\n handler: this.renderBrush,\n once: true\n },\n Bar: {\n handler: this.renderGraphicChild\n },\n Line: {\n handler: this.renderGraphicChild\n },\n Area: {\n handler: this.renderGraphicChild\n },\n Radar: {\n handler: this.renderGraphicChild\n },\n RadialBar: {\n handler: this.renderGraphicChild\n },\n Scatter: {\n handler: this.renderGraphicChild\n },\n Pie: {\n handler: this.renderGraphicChild\n },\n Funnel: {\n handler: this.renderGraphicChild\n },\n Tooltip: {\n handler: this.renderCursor,\n once: true\n },\n PolarGrid: {\n handler: this.renderPolarGrid,\n once: true\n },\n PolarAngleAxis: {\n handler: this.renderPolarAxis\n },\n PolarRadiusAxis: {\n handler: this.renderPolarAxis\n },\n Customized: {\n handler: this.renderCustomized\n }\n }; // The \"compact\" mode is mainly used as the panorama within Brush\n\n if (compact) {\n return /*#__PURE__*/React.createElement(Surface, _extends({}, attrs, {\n width: width,\n height: height\n }), this.renderClipPath(), renderByOrder(children, map));\n }\n\n var events = this.parseEventsOfWrapper();\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames('recharts-wrapper', className),\n style: _objectSpread({\n position: 'relative',\n cursor: 'default',\n width: width,\n height: height\n }, style)\n }, events, {\n ref: function ref(node) {\n _this2.container = node;\n }\n }), /*#__PURE__*/React.createElement(Surface, _extends({}, attrs, {\n width: width,\n height: height\n }), this.renderClipPath(), renderByOrder(children, map)), this.renderLegend(), this.renderTooltip());\n }\n }]);\n\n return CategoricalChartWrapper;\n }(Component), _class.displayName = chartName, _class.defaultProps = _objectSpread({\n layout: 'horizontal',\n stackOffset: 'none',\n barCategoryGap: '10%',\n barGap: 4,\n margin: {\n top: 5,\n right: 5,\n bottom: 5,\n left: 5\n },\n reverseStackOrder: false,\n syncMethod: 'index'\n }, defaultProps), _class.getDerivedStateFromProps = function (nextProps, prevState) {\n var data = nextProps.data,\n children = nextProps.children,\n width = nextProps.width,\n height = nextProps.height,\n layout = nextProps.layout,\n stackOffset = nextProps.stackOffset,\n margin = nextProps.margin;\n\n if (_isNil(prevState.updateId)) {\n var defaultState = createDefaultState(nextProps);\n return _objectSpread(_objectSpread(_objectSpread({}, defaultState), {}, {\n updateId: 0\n }, updateStateOfAxisMapsOffsetAndStackGroups(_objectSpread(_objectSpread({\n props: nextProps\n }, defaultState), {}, {\n updateId: 0\n }), prevState)), {}, {\n prevData: data,\n prevWidth: width,\n prevHeight: height,\n prevLayout: layout,\n prevStackOffset: stackOffset,\n prevMargin: margin,\n prevChildren: children\n });\n }\n\n if (data !== prevState.prevData || width !== prevState.prevWidth || height !== prevState.prevHeight || layout !== prevState.prevLayout || stackOffset !== prevState.prevStackOffset || !shallowEqual(margin, prevState.prevMargin)) {\n var _defaultState = createDefaultState(nextProps); // Fixes https://github.com/recharts/recharts/issues/2143\n\n\n var keepFromPrevState = {\n // (chartX, chartY) are (0,0) in default state, but we want to keep the last mouse position to avoid\n // any flickering\n chartX: prevState.chartX,\n chartY: prevState.chartY,\n // The tooltip should stay active when it was active in the previous render. If this is not\n // the case, the tooltip disappears and immediately re-appears, causing a flickering effect\n isTooltipActive: prevState.isTooltipActive\n };\n\n var updatesToState = _objectSpread(_objectSpread({}, getTooltipData(prevState, data, layout)), {}, {\n updateId: prevState.updateId + 1\n });\n\n var newState = _objectSpread(_objectSpread(_objectSpread({}, _defaultState), keepFromPrevState), updatesToState);\n\n return _objectSpread(_objectSpread(_objectSpread({}, newState), updateStateOfAxisMapsOffsetAndStackGroups(_objectSpread({\n props: nextProps\n }, newState), prevState)), {}, {\n prevData: data,\n prevWidth: width,\n prevHeight: height,\n prevLayout: layout,\n prevStackOffset: stackOffset,\n prevMargin: margin,\n prevChildren: children\n });\n }\n\n if (!isChildrenEqual(children, prevState.prevChildren)) {\n // update configuration in chilren\n var hasGlobalData = !_isNil(data);\n var newUpdateId = hasGlobalData ? prevState.updateId : prevState.updateId + 1;\n return _objectSpread(_objectSpread({\n updateId: newUpdateId\n }, updateStateOfAxisMapsOffsetAndStackGroups(_objectSpread(_objectSpread({\n props: nextProps\n }, prevState), {}, {\n updateId: newUpdateId\n }), prevState)), {}, {\n prevChildren: children\n });\n }\n\n return null;\n }, _class.renderActiveDot = function (option, props) {\n var dot;\n\n if ( /*#__PURE__*/isValidElement(option)) {\n dot = /*#__PURE__*/cloneElement(option, props);\n } else if (_isFunction(option)) {\n dot = option(props);\n } else {\n dot = /*#__PURE__*/React.createElement(Dot, props);\n }\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-active-dot\",\n key: props.key\n }, dot);\n }, _temp;\n};","import _isObject from \"lodash/isObject\";\nimport _isFunction from \"lodash/isFunction\";\nimport _isNil from \"lodash/isNil\";\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 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 _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\nimport React, { cloneElement, isValidElement, createElement } from 'react';\nimport classNames from 'classnames';\nimport { Text } from './Text';\nimport { findAllByType } from '../util/ReactUtils';\nimport { isNumOrStr, isNumber, isPercent, getPercentValue, uniqueId, mathSign } from '../util/DataUtils';\nimport { polarToCartesian } from '../util/PolarUtils';\nimport { filterProps } from '../util/types';\n\nvar getLabel = function getLabel(props) {\n var value = props.value,\n formatter = props.formatter;\n var label = _isNil(props.children) ? value : props.children;\n\n if (_isFunction(formatter)) {\n return formatter(label);\n }\n\n return label;\n};\n\nvar getDeltaAngle = function getDeltaAngle(startAngle, endAngle) {\n var sign = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 360);\n return sign * deltaAngle;\n};\n\nvar renderRadialLabel = function renderRadialLabel(labelProps, label, attrs) {\n var position = labelProps.position,\n viewBox = labelProps.viewBox,\n offset = labelProps.offset,\n className = labelProps.className;\n var _ref = viewBox,\n cx = _ref.cx,\n cy = _ref.cy,\n innerRadius = _ref.innerRadius,\n outerRadius = _ref.outerRadius,\n startAngle = _ref.startAngle,\n endAngle = _ref.endAngle,\n clockWise = _ref.clockWise;\n var radius = (innerRadius + outerRadius) / 2;\n var deltaAngle = getDeltaAngle(startAngle, endAngle);\n var sign = deltaAngle >= 0 ? 1 : -1;\n var labelAngle, direction;\n\n if (position === 'insideStart') {\n labelAngle = startAngle + sign * offset;\n direction = clockWise;\n } else if (position === 'insideEnd') {\n labelAngle = endAngle - sign * offset;\n direction = !clockWise;\n } else if (position === 'end') {\n labelAngle = endAngle + sign * offset;\n direction = clockWise;\n }\n\n direction = deltaAngle <= 0 ? direction : !direction;\n var startPoint = polarToCartesian(cx, cy, radius, labelAngle);\n var endPoint = polarToCartesian(cx, cy, radius, labelAngle + (direction ? 1 : -1) * 359);\n var path = \"M\".concat(startPoint.x, \",\").concat(startPoint.y, \"\\n A\").concat(radius, \",\").concat(radius, \",0,1,\").concat(direction ? 0 : 1, \",\\n \").concat(endPoint.x, \",\").concat(endPoint.y);\n var id = _isNil(labelProps.id) ? uniqueId('recharts-radial-line-') : labelProps.id;\n return /*#__PURE__*/React.createElement(\"text\", _extends({}, attrs, {\n dominantBaseline: \"central\",\n className: classNames('recharts-radial-bar-label', className)\n }), /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n id: id,\n d: path\n })), /*#__PURE__*/React.createElement(\"textPath\", {\n xlinkHref: \"#\".concat(id)\n }, label));\n};\n\nvar getAttrsOfPolarLabel = function getAttrsOfPolarLabel(props) {\n var viewBox = props.viewBox,\n offset = props.offset,\n position = props.position;\n var _ref2 = viewBox,\n cx = _ref2.cx,\n cy = _ref2.cy,\n innerRadius = _ref2.innerRadius,\n outerRadius = _ref2.outerRadius,\n startAngle = _ref2.startAngle,\n endAngle = _ref2.endAngle;\n var midAngle = (startAngle + endAngle) / 2;\n\n if (position === 'outside') {\n var _polarToCartesian = polarToCartesian(cx, cy, outerRadius + offset, midAngle),\n _x = _polarToCartesian.x,\n _y = _polarToCartesian.y;\n\n return {\n x: _x,\n y: _y,\n textAnchor: _x >= cx ? 'start' : 'end',\n verticalAnchor: 'middle'\n };\n }\n\n if (position === 'center') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n };\n }\n\n if (position === 'centerTop') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'start'\n };\n }\n\n if (position === 'centerBottom') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'end'\n };\n }\n\n var r = (innerRadius + outerRadius) / 2;\n\n var _polarToCartesian2 = polarToCartesian(cx, cy, r, midAngle),\n x = _polarToCartesian2.x,\n y = _polarToCartesian2.y;\n\n return {\n x: x,\n y: y,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n };\n};\n\nvar getAttrsOfCartesianLabel = function getAttrsOfCartesianLabel(props) {\n var viewBox = props.viewBox,\n parentViewBox = props.parentViewBox,\n offset = props.offset,\n position = props.position;\n var _ref3 = viewBox,\n x = _ref3.x,\n y = _ref3.y,\n width = _ref3.width,\n height = _ref3.height; // Define vertical offsets and position inverts based on the value being positive or negative\n\n var verticalSign = height >= 0 ? 1 : -1;\n var verticalOffset = verticalSign * offset;\n var verticalEnd = verticalSign > 0 ? 'end' : 'start';\n var verticalStart = verticalSign > 0 ? 'start' : 'end'; // Define horizontal offsets and position inverts based on the value being positive or negative\n\n var horizontalSign = width >= 0 ? 1 : -1;\n var horizontalOffset = horizontalSign * offset;\n var horizontalEnd = horizontalSign > 0 ? 'end' : 'start';\n var horizontalStart = horizontalSign > 0 ? 'start' : 'end';\n\n if (position === 'top') {\n var attrs = {\n x: x + width / 2,\n y: y - verticalSign * offset,\n textAnchor: 'middle',\n verticalAnchor: verticalEnd\n };\n return _objectSpread(_objectSpread({}, attrs), parentViewBox ? {\n height: Math.max(y - parentViewBox.y, 0),\n width: width\n } : {});\n }\n\n if (position === 'bottom') {\n var _attrs = {\n x: x + width / 2,\n y: y + height + verticalOffset,\n textAnchor: 'middle',\n verticalAnchor: verticalStart\n };\n return _objectSpread(_objectSpread({}, _attrs), parentViewBox ? {\n height: Math.max(parentViewBox.y + parentViewBox.height - (y + height), 0),\n width: width\n } : {});\n }\n\n if (position === 'left') {\n var _attrs2 = {\n x: x - horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalEnd,\n verticalAnchor: 'middle'\n };\n return _objectSpread(_objectSpread({}, _attrs2), parentViewBox ? {\n width: Math.max(_attrs2.x - parentViewBox.x, 0),\n height: height\n } : {});\n }\n\n if (position === 'right') {\n var _attrs3 = {\n x: x + width + horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalStart,\n verticalAnchor: 'middle'\n };\n return _objectSpread(_objectSpread({}, _attrs3), parentViewBox ? {\n width: Math.max(parentViewBox.x + parentViewBox.width - _attrs3.x, 0),\n height: height\n } : {});\n }\n\n var sizeAttrs = parentViewBox ? {\n width: width,\n height: height\n } : {};\n\n if (position === 'insideLeft') {\n return _objectSpread({\n x: x + horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalStart,\n verticalAnchor: 'middle'\n }, sizeAttrs);\n }\n\n if (position === 'insideRight') {\n return _objectSpread({\n x: x + width - horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalEnd,\n verticalAnchor: 'middle'\n }, sizeAttrs);\n }\n\n if (position === 'insideTop') {\n return _objectSpread({\n x: x + width / 2,\n y: y + verticalOffset,\n textAnchor: 'middle',\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n\n if (position === 'insideBottom') {\n return _objectSpread({\n x: x + width / 2,\n y: y + height - verticalOffset,\n textAnchor: 'middle',\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n\n if (position === 'insideTopLeft') {\n return _objectSpread({\n x: x + horizontalOffset,\n y: y + verticalOffset,\n textAnchor: horizontalStart,\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n\n if (position === 'insideTopRight') {\n return _objectSpread({\n x: x + width - horizontalOffset,\n y: y + verticalOffset,\n textAnchor: horizontalEnd,\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n\n if (position === 'insideBottomLeft') {\n return _objectSpread({\n x: x + horizontalOffset,\n y: y + height - verticalOffset,\n textAnchor: horizontalStart,\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n\n if (position === 'insideBottomRight') {\n return _objectSpread({\n x: x + width - horizontalOffset,\n y: y + height - verticalOffset,\n textAnchor: horizontalEnd,\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n\n if (_isObject(position) && (isNumber(position.x) || isPercent(position.x)) && (isNumber(position.y) || isPercent(position.y))) {\n return _objectSpread({\n x: x + getPercentValue(position.x, width),\n y: y + getPercentValue(position.y, height),\n textAnchor: 'end',\n verticalAnchor: 'end'\n }, sizeAttrs);\n }\n\n return _objectSpread({\n x: x + width / 2,\n y: y + height / 2,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n }, sizeAttrs);\n};\n\nvar isPolar = function isPolar(viewBox) {\n return isNumber(viewBox.cx);\n};\n\nexport function Label(props) {\n var viewBox = props.viewBox,\n position = props.position,\n value = props.value,\n children = props.children,\n content = props.content,\n _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n textBreakAll = props.textBreakAll;\n\n if (!viewBox || _isNil(value) && _isNil(children) && ! /*#__PURE__*/isValidElement(content) && !_isFunction(content)) {\n return null;\n }\n\n if ( /*#__PURE__*/isValidElement(content)) {\n return /*#__PURE__*/cloneElement(content, props);\n }\n\n var label;\n\n if (_isFunction(content)) {\n label = /*#__PURE__*/createElement(content, props);\n\n if ( /*#__PURE__*/isValidElement(label)) {\n return label;\n }\n } else {\n label = getLabel(props);\n }\n\n var isPolarLabel = isPolar(viewBox);\n var attrs = filterProps(props, true);\n\n if (isPolarLabel && (position === 'insideStart' || position === 'insideEnd' || position === 'end')) {\n return renderRadialLabel(props, label, attrs);\n }\n\n var positionAttrs = isPolarLabel ? getAttrsOfPolarLabel(props) : getAttrsOfCartesianLabel(props);\n return /*#__PURE__*/React.createElement(Text, _extends({\n className: classNames('recharts-label', className)\n }, attrs, positionAttrs, {\n breakAll: textBreakAll\n }), label);\n}\nLabel.displayName = 'Label';\nLabel.defaultProps = {\n offset: 5\n};\n\nvar parseViewBox = function parseViewBox(props) {\n var cx = props.cx,\n cy = props.cy,\n angle = props.angle,\n startAngle = props.startAngle,\n endAngle = props.endAngle,\n r = props.r,\n radius = props.radius,\n innerRadius = props.innerRadius,\n outerRadius = props.outerRadius,\n x = props.x,\n y = props.y,\n top = props.top,\n left = props.left,\n width = props.width,\n height = props.height,\n clockWise = props.clockWise,\n labelViewBox = props.labelViewBox;\n\n if (labelViewBox) {\n return labelViewBox;\n }\n\n if (isNumber(width) && isNumber(height)) {\n if (isNumber(x) && isNumber(y)) {\n return {\n x: x,\n y: y,\n width: width,\n height: height\n };\n }\n\n if (isNumber(top) && isNumber(left)) {\n return {\n x: top,\n y: left,\n width: width,\n height: height\n };\n }\n }\n\n if (isNumber(x) && isNumber(y)) {\n return {\n x: x,\n y: y,\n width: 0,\n height: 0\n };\n }\n\n if (isNumber(cx) && isNumber(cy)) {\n return {\n cx: cx,\n cy: cy,\n startAngle: startAngle || angle || 0,\n endAngle: endAngle || angle || 0,\n innerRadius: innerRadius || 0,\n outerRadius: outerRadius || radius || r || 0,\n clockWise: clockWise\n };\n }\n\n if (props.viewBox) {\n return props.viewBox;\n }\n\n return {};\n};\n\nvar parseLabel = function parseLabel(label, viewBox) {\n if (!label) {\n return null;\n }\n\n if (label === true) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n viewBox: viewBox\n });\n }\n\n if (isNumOrStr(label)) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n viewBox: viewBox,\n value: label\n });\n }\n\n if ( /*#__PURE__*/isValidElement(label)) {\n if (label.type === Label) {\n return /*#__PURE__*/cloneElement(label, {\n key: 'label-implicit',\n viewBox: viewBox\n });\n }\n\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n content: label,\n viewBox: viewBox\n });\n }\n\n if (_isFunction(label)) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n content: label,\n viewBox: viewBox\n });\n }\n\n if (_isObject(label)) {\n return /*#__PURE__*/React.createElement(Label, _extends({\n viewBox: viewBox\n }, label, {\n key: \"label-implicit\"\n }));\n }\n\n return null;\n};\n\nvar renderCallByParent = function renderCallByParent(parentProps, viewBox) {\n var checkPropsLabel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n if (!parentProps || !parentProps.children && checkPropsLabel && !parentProps.label) {\n return null;\n }\n\n var children = parentProps.children;\n var parentViewBox = parseViewBox(parentProps);\n var explicitChildren = findAllByType(children, Label.displayName).map(function (child, index) {\n return /*#__PURE__*/cloneElement(child, {\n viewBox: viewBox || parentViewBox,\n key: \"label-\".concat(index)\n });\n });\n\n if (!checkPropsLabel) {\n return explicitChildren;\n }\n\n var implicitLabel = parseLabel(parentProps.label, viewBox || parentViewBox);\n return [implicitLabel].concat(_toConsumableArray(explicitChildren));\n};\n\nLabel.parseViewBox = parseViewBox;\nLabel.renderCallByParent = renderCallByParent;","import _isObject from \"lodash/isObject\";\nimport _isFunction from \"lodash/isFunction\";\nimport _isNil from \"lodash/isNil\";\nimport _last from \"lodash/last\";\nimport _isArray from \"lodash/isArray\";\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 _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 _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\nimport React, { cloneElement } from 'react';\nimport { Label } from './Label';\nimport { Layer } from '../container/Layer';\nimport { findAllByType } from '../util/ReactUtils';\nimport { getValueByDataKey } from '../util/ChartUtils';\nimport { filterProps } from '../util/types';\nvar defaultProps = {\n valueAccessor: function valueAccessor(entry) {\n return _isArray(entry.value) ? _last(entry.value) : entry.value;\n }\n};\nexport function LabelList(props) {\n var data = props.data,\n valueAccessor = props.valueAccessor,\n dataKey = props.dataKey,\n clockWise = props.clockWise,\n id = props.id,\n textBreakAll = props.textBreakAll,\n others = _objectWithoutProperties(props, [\"data\", \"valueAccessor\", \"dataKey\", \"clockWise\", \"id\", \"textBreakAll\"]);\n\n if (!data || !data.length) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-label-list\"\n }, data.map(function (entry, index) {\n var value = _isNil(dataKey) ? valueAccessor(entry, index) : getValueByDataKey(entry && entry.payload, dataKey);\n var idProps = _isNil(id) ? {} : {\n id: \"\".concat(id, \"-\").concat(index)\n };\n return /*#__PURE__*/React.createElement(Label, _extends({}, filterProps(entry, true), others, idProps, {\n parentViewBox: entry.parentViewBox,\n index: index,\n value: value,\n textBreakAll: textBreakAll,\n viewBox: Label.parseViewBox(_isNil(clockWise) ? entry : _objectSpread(_objectSpread({}, entry), {}, {\n clockWise: clockWise\n })),\n key: \"label-\".concat(index) // eslint-disable-line react/no-array-index-key\n\n }));\n }));\n}\nLabelList.displayName = 'LabelList';\n\nfunction parseLabelList(label, data) {\n if (!label) {\n return null;\n }\n\n if (label === true) {\n return /*#__PURE__*/React.createElement(LabelList, {\n key: \"labelList-implicit\",\n data: data\n });\n }\n\n if ( /*#__PURE__*/React.isValidElement(label) || _isFunction(label)) {\n return /*#__PURE__*/React.createElement(LabelList, {\n key: \"labelList-implicit\",\n data: data,\n content: label\n });\n }\n\n if (_isObject(label)) {\n return /*#__PURE__*/React.createElement(LabelList, _extends({\n data: data\n }, label, {\n key: \"labelList-implicit\"\n }));\n }\n\n return null;\n}\n\nfunction renderCallByParent(parentProps, data) {\n var ckeckPropsLabel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n if (!parentProps || !parentProps.children && ckeckPropsLabel && !parentProps.label) {\n return null;\n }\n\n var children = parentProps.children;\n var explicitChilren = findAllByType(children, LabelList.displayName).map(function (child, index) {\n return /*#__PURE__*/cloneElement(child, {\n data: data,\n key: \"labelList-\".concat(index)\n });\n });\n\n if (!ckeckPropsLabel) {\n return explicitChilren;\n }\n\n var implicitLabelList = parseLabelList(parentProps.label, data);\n return [implicitLabelList].concat(_toConsumableArray(explicitChilren));\n}\n\nLabelList.renderCallByParent = renderCallByParent;\nLabelList.defaultProps = defaultProps;","export var abs = Math.abs;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var max = Math.max;\nexport var min = Math.min;\nexport var sin = Math.sin;\nexport var sqrt = Math.sqrt;\n\nexport var epsilon = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","import {pi, tau} from \"../math.js\";\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / pi);\n context.moveTo(r, 0);\n context.arc(0, 0, r, 0, tau);\n }\n};\n","export default {\n draw: function(context, size) {\n var r = Math.sqrt(size / 5) / 2;\n context.moveTo(-3 * r, -r);\n context.lineTo(-r, -r);\n context.lineTo(-r, -3 * r);\n context.lineTo(r, -3 * r);\n context.lineTo(r, -r);\n context.lineTo(3 * r, -r);\n context.lineTo(3 * r, r);\n context.lineTo(r, r);\n context.lineTo(r, 3 * r);\n context.lineTo(-r, 3 * r);\n context.lineTo(-r, r);\n context.lineTo(-3 * r, r);\n context.closePath();\n }\n};\n","var tan30 = Math.sqrt(1 / 3),\n tan30_2 = tan30 * 2;\n\nexport default {\n draw: function(context, size) {\n var y = Math.sqrt(size / tan30_2),\n x = y * tan30;\n context.moveTo(0, -y);\n context.lineTo(x, 0);\n context.lineTo(0, y);\n context.lineTo(-x, 0);\n context.closePath();\n }\n};\n","export default {\n draw: function(context, size) {\n var w = Math.sqrt(size),\n x = -w / 2;\n context.rect(x, x, w, w);\n }\n};\n","import {pi, tau} from \"../math.js\";\n\nvar ka = 0.89081309152928522810,\n kr = Math.sin(pi / 10) / Math.sin(7 * pi / 10),\n kx = Math.sin(tau / 10) * kr,\n ky = -Math.cos(tau / 10) * kr;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size * ka),\n x = kx * r,\n y = ky * r;\n context.moveTo(0, -r);\n context.lineTo(x, y);\n for (var i = 1; i < 5; ++i) {\n var a = tau * i / 5,\n c = Math.cos(a),\n s = Math.sin(a);\n context.lineTo(s * r, -c * r);\n context.lineTo(c * x - s * y, s * x + c * y);\n }\n context.closePath();\n }\n};\n","var sqrt3 = Math.sqrt(3);\n\nexport default {\n draw: function(context, size) {\n var y = -Math.sqrt(size / (sqrt3 * 3));\n context.moveTo(0, y * 2);\n context.lineTo(-sqrt3 * y, -y);\n context.lineTo(sqrt3 * y, -y);\n context.closePath();\n }\n};\n","var c = -0.5,\n s = Math.sqrt(3) / 2,\n k = 1 / Math.sqrt(12),\n a = (k / 2 + 1) * 3;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / a),\n x0 = r / 2,\n y0 = r * k,\n x1 = x0,\n y1 = r * k + r,\n x2 = -x1,\n y2 = y1;\n context.moveTo(x0, y0);\n context.lineTo(x1, y1);\n context.lineTo(x2, y2);\n context.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n context.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n context.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n context.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n context.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n context.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n context.closePath();\n }\n};\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 _upperFirst from \"lodash/upperFirst\";\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 _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 Curve\n */\nimport React, { PureComponent } from 'react';\nimport { symbol as shapeSymbol, symbolCircle, symbolCross, symbolDiamond, symbolSquare, symbolStar, symbolTriangle, symbolWye } from 'd3-shape';\nimport classNames from 'classnames';\nimport { filterProps } from '../util/types';\nvar symbolFactories = {\n symbolCircle: symbolCircle,\n symbolCross: symbolCross,\n symbolDiamond: symbolDiamond,\n symbolSquare: symbolSquare,\n symbolStar: symbolStar,\n symbolTriangle: symbolTriangle,\n symbolWye: symbolWye\n};\nvar RADIAN = Math.PI / 180;\n\nvar getSymbolFactory = function getSymbolFactory(type) {\n var name = \"symbol\".concat(_upperFirst(type));\n return symbolFactories[name] || symbolCircle;\n};\n\nvar calculateAreaSize = function calculateAreaSize(size, sizeType, type) {\n if (sizeType === 'area') {\n return size;\n }\n\n switch (type) {\n case 'cross':\n return 5 * size * size / 9;\n\n case 'diamond':\n return 0.5 * size * size / Math.sqrt(3);\n\n case 'square':\n return size * size;\n\n case 'star':\n {\n var angle = 18 * RADIAN;\n return 1.25 * size * size * (Math.tan(angle) - Math.tan(angle * 2) * Math.pow(Math.tan(angle), 2));\n }\n\n case 'triangle':\n return Math.sqrt(3) * size * size / 4;\n\n case 'wye':\n return (21 - 10 * Math.sqrt(3)) * size * size / 8;\n\n default:\n return Math.PI * size * size / 4;\n }\n};\n\nexport var Symbols = /*#__PURE__*/function (_PureComponent) {\n _inherits(Symbols, _PureComponent);\n\n var _super = _createSuper(Symbols);\n\n function Symbols() {\n _classCallCheck(this, Symbols);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Symbols, [{\n key: \"getPath\",\n value:\n /**\n * Calculate the path of curve\n * @return {String} path\n */\n function getPath() {\n var _this$props = this.props,\n size = _this$props.size,\n sizeType = _this$props.sizeType,\n type = _this$props.type;\n var symbolFactory = getSymbolFactory(type);\n var symbol = shapeSymbol().type(symbolFactory).size(calculateAreaSize(size, sizeType, type));\n return symbol();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n className = _this$props2.className,\n cx = _this$props2.cx,\n cy = _this$props2.cy,\n size = _this$props2.size;\n\n if (cx === +cx && cy === +cy && size === +size) {\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(this.props, true), {\n className: classNames('recharts-symbols', className),\n transform: \"translate(\".concat(cx, \", \").concat(cy, \")\"),\n d: this.getPath()\n }));\n }\n\n return null;\n }\n }]);\n\n return Symbols;\n}(PureComponent);\nSymbols.defaultProps = {\n type: 'circle',\n size: 64,\n sizeType: 'area'\n};\n\nSymbols.registerSymbol = function (key, factory) {\n symbolFactories[\"symbol\".concat(_upperFirst(key))] = factory;\n};","import {path} from \"d3-path\";\nimport circle from \"./symbol/circle.js\";\nimport cross from \"./symbol/cross.js\";\nimport diamond from \"./symbol/diamond.js\";\nimport star from \"./symbol/star.js\";\nimport square from \"./symbol/square.js\";\nimport triangle from \"./symbol/triangle.js\";\nimport wye from \"./symbol/wye.js\";\nimport constant from \"./constant.js\";\n\nexport var symbols = [\n circle,\n cross,\n diamond,\n square,\n star,\n triangle,\n wye\n];\n\nexport default function(type, size) {\n var context = null;\n type = typeof type === \"function\" ? type : constant(type || circle);\n size = typeof size === \"function\" ? size : constant(size === undefined ? 64 : +size);\n\n function symbol() {\n var buffer;\n if (!context) context = buffer = path();\n type.apply(this, arguments).draw(context, +size.apply(this, arguments));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n symbol.type = function(_) {\n return arguments.length ? (type = typeof _ === \"function\" ? _ : constant(_), symbol) : type;\n };\n\n symbol.size = function(_) {\n return arguments.length ? (size = typeof _ === \"function\" ? _ : constant(+_), symbol) : size;\n };\n\n symbol.context = function(_) {\n return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n };\n\n return symbol;\n}\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\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * @fileOverview Default Legend Content\n */\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { Surface } from '../container/Surface';\nimport { Symbols } from '../shape/Symbols';\nimport { adaptEventsOfChild } from '../util/types';\nvar SIZE = 32;\nexport var DefaultLegendContent = /*#__PURE__*/function (_PureComponent) {\n _inherits(DefaultLegendContent, _PureComponent);\n\n var _super = _createSuper(DefaultLegendContent);\n\n function DefaultLegendContent() {\n _classCallCheck(this, DefaultLegendContent);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(DefaultLegendContent, [{\n key: \"renderIcon\",\n value:\n /**\n * Render the path of icon\n * @param {Object} data Data of each legend item\n * @return {String} Path element\n */\n function renderIcon(data) {\n var inactiveColor = this.props.inactiveColor;\n var halfSize = SIZE / 2;\n var sixthSize = SIZE / 6;\n var thirdSize = SIZE / 3;\n var color = data.inactive ? inactiveColor : data.color;\n\n if (data.type === 'plainline') {\n return /*#__PURE__*/React.createElement(\"line\", {\n strokeWidth: 4,\n fill: \"none\",\n stroke: color,\n strokeDasharray: data.payload.strokeDasharray,\n x1: 0,\n y1: halfSize,\n x2: SIZE,\n y2: halfSize,\n className: \"recharts-legend-icon\"\n });\n }\n\n if (data.type === 'line') {\n return /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: 4,\n fill: \"none\",\n stroke: color,\n d: \"M0,\".concat(halfSize, \"h\").concat(thirdSize, \"\\n A\").concat(sixthSize, \",\").concat(sixthSize, \",0,1,1,\").concat(2 * thirdSize, \",\").concat(halfSize, \"\\n H\").concat(SIZE, \"M\").concat(2 * thirdSize, \",\").concat(halfSize, \"\\n A\").concat(sixthSize, \",\").concat(sixthSize, \",0,1,1,\").concat(thirdSize, \",\").concat(halfSize),\n className: \"recharts-legend-icon\"\n });\n }\n\n if (data.type === 'rect') {\n return /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"none\",\n fill: color,\n d: \"M0,\".concat(SIZE / 8, \"h\").concat(SIZE, \"v\").concat(SIZE * 3 / 4, \"h\").concat(-SIZE, \"z\"),\n className: \"recharts-legend-icon\"\n });\n }\n\n if ( /*#__PURE__*/React.isValidElement(data.legendIcon)) {\n var iconProps = _objectSpread({}, data);\n\n delete iconProps.legendIcon;\n return /*#__PURE__*/React.cloneElement(data.legendIcon, iconProps);\n }\n\n return /*#__PURE__*/React.createElement(Symbols, {\n fill: color,\n cx: halfSize,\n cy: halfSize,\n size: SIZE,\n sizeType: \"diameter\",\n type: data.type\n });\n }\n /**\n * Draw items of legend\n * @return {ReactElement} Items\n */\n\n }, {\n key: \"renderItems\",\n value: function renderItems() {\n var _this = this;\n\n var _this$props = this.props,\n payload = _this$props.payload,\n iconSize = _this$props.iconSize,\n layout = _this$props.layout,\n formatter = _this$props.formatter,\n inactiveColor = _this$props.inactiveColor;\n var viewBox = {\n x: 0,\n y: 0,\n width: SIZE,\n height: SIZE\n };\n var itemStyle = {\n display: layout === 'horizontal' ? 'inline-block' : 'block',\n marginRight: 10\n };\n var svgStyle = {\n display: 'inline-block',\n verticalAlign: 'middle',\n marginRight: 4\n };\n return payload.map(function (entry, i) {\n var _classNames;\n\n var finalFormatter = entry.formatter || formatter;\n var className = classNames((_classNames = {\n 'recharts-legend-item': true\n }, _defineProperty(_classNames, \"legend-item-\".concat(i), true), _defineProperty(_classNames, \"inactive\", entry.inactive), _classNames));\n\n if (entry.type === 'none') {\n return null;\n }\n\n var color = entry.inactive ? inactiveColor : entry.color;\n return /*#__PURE__*/React.createElement(\"li\", _extends({\n className: className,\n style: itemStyle,\n key: \"legend-item-\".concat(i) // eslint-disable-line react/no-array-index-key\n\n }, adaptEventsOfChild(_this.props, entry, i)), /*#__PURE__*/React.createElement(Surface, {\n width: iconSize,\n height: iconSize,\n viewBox: viewBox,\n style: svgStyle\n }, _this.renderIcon(entry)), /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-legend-item-text\",\n style: {\n color: color\n }\n }, finalFormatter ? finalFormatter(entry.value, entry, i) : entry.value));\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n payload = _this$props2.payload,\n layout = _this$props2.layout,\n align = _this$props2.align;\n\n if (!payload || !payload.length) {\n return null;\n }\n\n var finalStyle = {\n padding: 0,\n margin: 0,\n textAlign: layout === 'horizontal' ? align : 'left'\n };\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: \"recharts-default-legend\",\n style: finalStyle\n }, this.renderItems());\n }\n }]);\n\n return DefaultLegendContent;\n}(PureComponent);\nDefaultLegendContent.displayName = 'Legend';\nDefaultLegendContent.defaultProps = {\n iconSize: 14,\n layout: 'horizontal',\n align: 'center',\n verticalAlign: 'middle',\n inactiveColor: '#ccc'\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport _isFunction from \"lodash/isFunction\";\nimport _uniqBy from \"lodash/uniqBy\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\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\n/**\n * @fileOverview Legend\n */\nimport React, { PureComponent } from 'react';\nimport { DefaultLegendContent } from './DefaultLegendContent';\nimport { isNumber } from '../util/DataUtils';\n\nfunction defaultUniqBy(entry) {\n return entry.value;\n}\n\nfunction getUniqPayload(option, payload) {\n if (option === true) {\n return _uniqBy(payload, defaultUniqBy);\n }\n\n if (_isFunction(option)) {\n return _uniqBy(payload, option);\n }\n\n return payload;\n}\n\nfunction renderContent(content, props) {\n if ( /*#__PURE__*/React.isValidElement(content)) {\n return /*#__PURE__*/React.cloneElement(content, props);\n }\n\n if (_isFunction(content)) {\n return /*#__PURE__*/React.createElement(content, props);\n }\n\n var ref = props.ref,\n otherProps = _objectWithoutProperties(props, [\"ref\"]);\n\n return /*#__PURE__*/React.createElement(DefaultLegendContent, otherProps);\n}\n\nvar EPS = 1;\nexport var Legend = /*#__PURE__*/function (_PureComponent) {\n _inherits(Legend, _PureComponent);\n\n var _super = _createSuper(Legend);\n\n function Legend() {\n var _this;\n\n _classCallCheck(this, Legend);\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.wrapperNode = void 0;\n _this.state = {\n boxWidth: -1,\n boxHeight: -1\n };\n return _this;\n }\n\n _createClass(Legend, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateBBox();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.updateBBox();\n }\n }, {\n key: \"getBBox\",\n value: function getBBox() {\n if (this.wrapperNode && this.wrapperNode.getBoundingClientRect) {\n return this.wrapperNode.getBoundingClientRect();\n }\n\n return null;\n }\n }, {\n key: \"getBBoxSnapshot\",\n value: function getBBoxSnapshot() {\n var _this$state = this.state,\n boxWidth = _this$state.boxWidth,\n boxHeight = _this$state.boxHeight;\n\n if (boxWidth >= 0 && boxHeight >= 0) {\n return {\n width: boxWidth,\n height: boxHeight\n };\n }\n\n return null;\n }\n }, {\n key: \"getDefaultPosition\",\n value: function getDefaultPosition(style) {\n var _this$props = this.props,\n layout = _this$props.layout,\n align = _this$props.align,\n verticalAlign = _this$props.verticalAlign,\n margin = _this$props.margin,\n chartWidth = _this$props.chartWidth,\n chartHeight = _this$props.chartHeight;\n var hPos, vPos;\n\n if (!style || (style.left === undefined || style.left === null) && (style.right === undefined || style.right === null)) {\n if (align === 'center' && layout === 'vertical') {\n var _box = this.getBBoxSnapshot() || {\n width: 0\n };\n\n hPos = {\n left: ((chartWidth || 0) - _box.width) / 2\n };\n } else {\n hPos = align === 'right' ? {\n right: margin && margin.right || 0\n } : {\n left: margin && margin.left || 0\n };\n }\n }\n\n if (!style || (style.top === undefined || style.top === null) && (style.bottom === undefined || style.bottom === null)) {\n if (verticalAlign === 'middle') {\n var _box2 = this.getBBoxSnapshot() || {\n height: 0\n };\n\n vPos = {\n top: ((chartHeight || 0) - _box2.height) / 2\n };\n } else {\n vPos = verticalAlign === 'bottom' ? {\n bottom: margin && margin.bottom || 0\n } : {\n top: margin && margin.top || 0\n };\n }\n }\n\n return _objectSpread(_objectSpread({}, hPos), vPos);\n }\n }, {\n key: \"updateBBox\",\n value: function updateBBox() {\n var _this$state2 = this.state,\n boxWidth = _this$state2.boxWidth,\n boxHeight = _this$state2.boxHeight;\n var onBBoxUpdate = this.props.onBBoxUpdate;\n\n if (this.wrapperNode && this.wrapperNode.getBoundingClientRect) {\n var _box3 = this.wrapperNode.getBoundingClientRect();\n\n if (Math.abs(_box3.width - boxWidth) > EPS || Math.abs(_box3.height - boxHeight) > EPS) {\n this.setState({\n boxWidth: _box3.width,\n boxHeight: _box3.height\n }, function () {\n if (onBBoxUpdate) {\n onBBoxUpdate(_box3);\n }\n });\n }\n } else if (boxWidth !== -1 || boxHeight !== -1) {\n this.setState({\n boxWidth: -1,\n boxHeight: -1\n }, function () {\n if (onBBoxUpdate) {\n onBBoxUpdate(null);\n }\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n content = _this$props2.content,\n width = _this$props2.width,\n height = _this$props2.height,\n wrapperStyle = _this$props2.wrapperStyle,\n payloadUniqBy = _this$props2.payloadUniqBy,\n payload = _this$props2.payload;\n\n var outerStyle = _objectSpread(_objectSpread({\n position: 'absolute',\n width: width || 'auto',\n height: height || 'auto'\n }, this.getDefaultPosition(wrapperStyle)), wrapperStyle);\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"recharts-legend-wrapper\",\n style: outerStyle,\n ref: function ref(node) {\n _this2.wrapperNode = node;\n }\n }, renderContent(content, _objectSpread(_objectSpread({}, this.props), {}, {\n payload: getUniqPayload(payloadUniqBy, payload)\n })));\n }\n }], [{\n key: \"getWithHeight\",\n value: function getWithHeight(item, chartWidth) {\n var layout = item.props.layout;\n\n if (layout === 'vertical' && isNumber(item.props.height)) {\n return {\n height: item.props.height\n };\n }\n\n if (layout === 'horizontal') {\n return {\n width: item.props.width || chartWidth\n };\n }\n\n return null;\n }\n }]);\n\n return Legend;\n}(PureComponent);\nLegend.displayName = 'Legend';\nLegend.defaultProps = {\n iconSize: 14,\n layout: 'horizontal',\n align: 'center',\n verticalAlign: 'bottom'\n};","import _debounce from \"lodash/debounce\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n/**\n * @fileOverview Wrapper component to make charts adapt to the size of parent * DOM\n */\nimport classNames from 'classnames';\nimport React, { forwardRef, cloneElement, useState, useImperativeHandle, useRef, useEffect } from 'react';\nimport ReactResizeDetector from 'react-resize-detector/build/withPolyfill';\nimport { isPercent } from '../util/DataUtils';\nimport { warn } from '../util/LogUtils';\nexport var ResponsiveContainer = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var aspect = _ref.aspect,\n _ref$width = _ref.width,\n width = _ref$width === void 0 ? '100%' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? '100%' : _ref$height,\n minWidth = _ref.minWidth,\n minHeight = _ref.minHeight,\n maxHeight = _ref.maxHeight,\n children = _ref.children,\n _ref$debounce = _ref.debounce,\n debounce = _ref$debounce === void 0 ? 0 : _ref$debounce,\n id = _ref.id,\n className = _ref.className;\n\n var _useState = useState({\n containerWidth: -1,\n containerHeight: -1\n }),\n _useState2 = _slicedToArray(_useState, 2),\n sizes = _useState2[0],\n setSizes = _useState2[1];\n\n var containerRef = useRef(null);\n useImperativeHandle(ref, function () {\n return containerRef;\n }, [containerRef]);\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n mounted = _useState4[0],\n setMounted = _useState4[1];\n\n var getContainerSize = function getContainerSize() {\n if (!containerRef.current) {\n return null;\n }\n\n return {\n containerWidth: containerRef.current.clientWidth,\n containerHeight: containerRef.current.clientHeight\n };\n };\n\n var updateDimensionsImmediate = function updateDimensionsImmediate() {\n if (!mounted) {\n return;\n }\n\n var newSize = getContainerSize();\n\n if (newSize) {\n var oldWidth = sizes.containerWidth,\n oldHeight = sizes.containerHeight;\n var containerWidth = newSize.containerWidth,\n containerHeight = newSize.containerHeight;\n\n if (containerWidth !== oldWidth || containerHeight !== oldHeight) {\n setSizes({\n containerWidth: containerWidth,\n containerHeight: containerHeight\n });\n }\n }\n };\n\n var handleResize = debounce > 0 ? _debounce(updateDimensionsImmediate, debounce) : updateDimensionsImmediate;\n\n var renderChart = function renderChart() {\n var containerWidth = sizes.containerWidth,\n containerHeight = sizes.containerHeight;\n\n if (containerWidth < 0 || containerHeight < 0) {\n return null;\n }\n\n warn(isPercent(width) || isPercent(height), \"The width(%s) and height(%s) are both fixed numbers,\\n maybe you don't need to use a ResponsiveContainer.\", width, height);\n warn(!aspect || aspect > 0, 'The aspect(%s) must be greater than zero.', aspect);\n var calculatedWidth = isPercent(width) ? containerWidth : width;\n var calculatedHeight = isPercent(height) ? containerHeight : height;\n\n if (aspect && aspect > 0) {\n // Preserve the desired aspect ratio\n if (calculatedWidth) {\n // Will default to using width for aspect ratio\n calculatedHeight = calculatedWidth / aspect;\n } else if (calculatedHeight) {\n // But we should also take height into consideration\n calculatedWidth = calculatedHeight * aspect;\n } // if maxHeight is set, overwrite if calculatedHeight is greater than maxHeight\n\n\n if (maxHeight && calculatedHeight > maxHeight) {\n calculatedHeight = maxHeight;\n }\n }\n\n warn(calculatedWidth > 0 || calculatedHeight > 0, \"The width(%s) and height(%s) of chart should be greater than 0,\\n please check the style of container, or the props width(%s) and height(%s),\\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\\n height and width.\", calculatedWidth, calculatedHeight, width, height, minWidth, minHeight, aspect);\n return /*#__PURE__*/cloneElement(children, {\n width: calculatedWidth,\n height: calculatedHeight\n });\n };\n\n useEffect(function () {\n if (mounted) {\n var size = getContainerSize();\n\n if (size) {\n setSizes(size);\n }\n }\n }, [mounted]);\n useEffect(function () {\n setMounted(true);\n }, []);\n var style = {\n width: width,\n height: height,\n minWidth: minWidth,\n minHeight: minHeight,\n maxHeight: maxHeight\n };\n return /*#__PURE__*/React.createElement(ReactResizeDetector, {\n handleWidth: true,\n handleHeight: true,\n onResize: handleResize,\n targetRef: containerRef\n }, /*#__PURE__*/React.createElement(\"div\", _extends({}, id != null ? {\n id: \"\".concat(id)\n } : {}, {\n className: classNames('recharts-responsive-container', className),\n style: style,\n ref: containerRef\n }), renderChart()));\n});","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 _isNil from \"lodash/isNil\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _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\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\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\nimport React, { Component } from 'react';\nimport reduceCSSCalc from 'reduce-css-calc';\nimport classNames from 'classnames';\nimport { isNumber, isNumOrStr } from '../util/DataUtils';\nimport { Global } from '../util/Global';\nimport { filterProps } from '../util/types';\nimport { getStringSize } from '../util/DOMUtils';\nvar BREAKING_SPACES = /[ \\f\\n\\r\\t\\v\\u2028\\u2029]+/;\n\nvar calculateWordWidths = function calculateWordWidths(props) {\n try {\n var words = [];\n\n if (!_isNil(props.children)) {\n if (props.breakAll) {\n words = props.children.toString().split('');\n } else {\n words = props.children.toString().split(BREAKING_SPACES);\n }\n }\n\n var wordsWithComputedWidth = words.map(function (word) {\n return {\n word: word,\n width: getStringSize(word, props.style).width\n };\n });\n var spaceWidth = props.breakAll ? 0 : getStringSize(\"\\xA0\", props.style).width;\n return {\n wordsWithComputedWidth: wordsWithComputedWidth,\n spaceWidth: spaceWidth\n };\n } catch (e) {\n return null;\n }\n};\n\nvar calculateWordsByLines = function calculateWordsByLines(props, initialWordsWithComputedWith, spaceWidth, lineWidth, scaleToFit) {\n var shouldLimitLines = isNumber(props.maxLines);\n var text = props.children;\n\n var calculate = function calculate() {\n var words = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return words.reduce(function (result, _ref) {\n var word = _ref.word,\n width = _ref.width;\n var currentLine = result[result.length - 1];\n\n if (currentLine && (lineWidth == null || scaleToFit || currentLine.width + width + spaceWidth < lineWidth)) {\n // Word can be added to an existing line\n currentLine.words.push(word);\n currentLine.width += width + spaceWidth;\n } else {\n // Add first word to line or word is too long to scaleToFit on existing line\n var newLine = {\n words: [word],\n width: width\n };\n result.push(newLine);\n }\n\n return result;\n }, []);\n };\n\n var originalResult = calculate(initialWordsWithComputedWith);\n\n var findLongestLine = function findLongestLine(words) {\n return words.reduce(function (a, b) {\n return a.width > b.width ? a : b;\n });\n };\n\n if (!shouldLimitLines) {\n return originalResult;\n }\n\n var suffix = '…';\n\n var checkOverflow = function checkOverflow(index) {\n var tempText = text.slice(0, index);\n var words = calculateWordWidths(_objectSpread(_objectSpread({}, props), {}, {\n children: tempText + suffix\n })).wordsWithComputedWidth;\n var result = calculate(words);\n var doesOverflow = result.length > props.maxLines || findLongestLine(result).width > lineWidth;\n return [doesOverflow, result];\n };\n\n var start = 0;\n var end = text.length - 1;\n var iterations = 0;\n var trimmedResult;\n\n while (start <= end && iterations <= text.length - 1) {\n var middle = Math.floor((start + end) / 2);\n var prev = middle - 1;\n\n var _checkOverflow = checkOverflow(prev),\n _checkOverflow2 = _slicedToArray(_checkOverflow, 2),\n doesPrevOverflow = _checkOverflow2[0],\n result = _checkOverflow2[1];\n\n var _checkOverflow3 = checkOverflow(middle),\n _checkOverflow4 = _slicedToArray(_checkOverflow3, 1),\n doesMiddleOverflow = _checkOverflow4[0];\n\n if (!doesPrevOverflow && !doesMiddleOverflow) {\n start = middle + 1;\n }\n\n if (doesPrevOverflow && doesMiddleOverflow) {\n end = middle - 1;\n }\n\n if (!doesPrevOverflow && doesMiddleOverflow) {\n trimmedResult = result;\n break;\n }\n\n iterations++;\n } // Fallback to originalResult (result without trimming) if we cannot find the\n // where to trim. This should not happen :tm:\n\n\n return trimmedResult || originalResult;\n};\n\nvar getWordsWithoutCalculate = function getWordsWithoutCalculate(children) {\n var words = !_isNil(children) ? children.toString().split(BREAKING_SPACES) : [];\n return [{\n words: words\n }];\n};\n\nvar getWordsByLines = function getWordsByLines(props, needCalculate) {\n // Only perform calculations if using features that require them (multiline, scaleToFit)\n if ((props.width || props.scaleToFit) && !Global.isSsr) {\n var wordsWithComputedWidth, spaceWidth;\n\n if (needCalculate) {\n var wordWidths = calculateWordWidths(props);\n\n if (wordWidths) {\n var wcw = wordWidths.wordsWithComputedWidth,\n sw = wordWidths.spaceWidth;\n wordsWithComputedWidth = wcw;\n spaceWidth = sw;\n } else {\n return getWordsWithoutCalculate(props.children);\n }\n\n return calculateWordsByLines(props, wordsWithComputedWidth, spaceWidth, props.width, props.scaleToFit);\n }\n }\n\n return getWordsWithoutCalculate(props.children);\n};\n\nexport var Text = /*#__PURE__*/function (_Component) {\n _inherits(Text, _Component);\n\n var _super = _createSuper(Text);\n\n function Text() {\n var _this;\n\n _classCallCheck(this, Text);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {};\n return _this;\n }\n\n _createClass(Text, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n dx = _this$props.dx,\n dy = _this$props.dy,\n textAnchor = _this$props.textAnchor,\n verticalAnchor = _this$props.verticalAnchor,\n scaleToFit = _this$props.scaleToFit,\n angle = _this$props.angle,\n lineHeight = _this$props.lineHeight,\n capHeight = _this$props.capHeight,\n className = _this$props.className,\n breakAll = _this$props.breakAll,\n textProps = _objectWithoutProperties(_this$props, [\"dx\", \"dy\", \"textAnchor\", \"verticalAnchor\", \"scaleToFit\", \"angle\", \"lineHeight\", \"capHeight\", \"className\", \"breakAll\"]);\n\n var wordsByLines = this.state.wordsByLines;\n\n if (!isNumOrStr(textProps.x) || !isNumOrStr(textProps.y)) {\n return null;\n }\n\n var x = textProps.x + (isNumber(dx) ? dx : 0);\n var y = textProps.y + (isNumber(dy) ? dy : 0);\n var startDy;\n\n switch (verticalAnchor) {\n case 'start':\n startDy = reduceCSSCalc(\"calc(\".concat(capHeight, \")\"));\n break;\n\n case 'middle':\n startDy = reduceCSSCalc(\"calc(\".concat((wordsByLines.length - 1) / 2, \" * -\").concat(lineHeight, \" + (\").concat(capHeight, \" / 2))\"));\n break;\n\n default:\n startDy = reduceCSSCalc(\"calc(\".concat(wordsByLines.length - 1, \" * -\").concat(lineHeight, \")\"));\n break;\n }\n\n var transforms = [];\n\n if (scaleToFit) {\n var lineWidth = wordsByLines[0].width;\n var width = this.props.width;\n transforms.push(\"scale(\".concat((isNumber(width) ? width / lineWidth : 1) / lineWidth, \")\"));\n }\n\n if (angle) {\n transforms.push(\"rotate(\".concat(angle, \", \").concat(x, \", \").concat(y, \")\"));\n }\n\n if (transforms.length) {\n textProps.transform = transforms.join(' ');\n }\n\n return /*#__PURE__*/React.createElement(\"text\", _extends({}, filterProps(textProps, true), {\n x: x,\n y: y,\n className: classNames('recharts-text', className),\n textAnchor: textAnchor\n }), wordsByLines.map(function (line, index) {\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"tspan\", {\n x: x,\n dy: index === 0 ? startDy : lineHeight,\n key: index\n }, line.words.join(breakAll ? '' : ' '))\n );\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.width !== prevState.prevWidth || nextProps.scaleToFit !== prevState.prevScaleToFit || nextProps.children !== prevState.prevChildren || nextProps.style !== prevState.prevStyle || nextProps.breakAll !== prevState.prevBreakAll) {\n var needCalculate = nextProps.children !== prevState.prevChildren || nextProps.style !== prevState.prevStyle || nextProps.breakAll !== prevState.prevBreakAll;\n return {\n prevWidth: nextProps.width,\n prevScaleToFit: nextProps.scaleToFit,\n prevChildren: nextProps.children,\n prevStyle: nextProps.style,\n wordsByLines: getWordsByLines(nextProps, needCalculate)\n };\n }\n\n return null;\n }\n }]);\n\n return Text;\n}(Component);\nText.defaultProps = {\n x: 0,\n y: 0,\n lineHeight: '1em',\n capHeight: '0.71em',\n // Magic number from d3\n scaleToFit: false,\n textAnchor: 'start',\n verticalAnchor: 'end' // Maintain compat with existing charts / default SVG behavior\n\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 _isNil from \"lodash/isNil\";\nimport _sortBy from \"lodash/sortBy\";\nimport _isArray from \"lodash/isArray\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { isNumOrStr } from '../util/DataUtils';\n\nfunction defaultFormatter(value) {\n return _isArray(value) && isNumOrStr(value[0]) && isNumOrStr(value[1]) ? value.join(' ~ ') : value;\n}\n\nexport var DefaultTooltipContent = /*#__PURE__*/function (_PureComponent) {\n _inherits(DefaultTooltipContent, _PureComponent);\n\n var _super = _createSuper(DefaultTooltipContent);\n\n function DefaultTooltipContent() {\n _classCallCheck(this, DefaultTooltipContent);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(DefaultTooltipContent, [{\n key: \"renderContent\",\n value: function renderContent() {\n var _this$props = this.props,\n payload = _this$props.payload,\n separator = _this$props.separator,\n formatter = _this$props.formatter,\n itemStyle = _this$props.itemStyle,\n itemSorter = _this$props.itemSorter;\n\n if (payload && payload.length) {\n var listStyle = {\n padding: 0,\n margin: 0\n };\n var items = (itemSorter ? _sortBy(payload, itemSorter) : payload).map(function (entry, i) {\n if (entry.type === 'none') {\n return null;\n }\n\n var finalItemStyle = _objectSpread({\n display: 'block',\n paddingTop: 4,\n paddingBottom: 4,\n color: entry.color || '#000'\n }, itemStyle);\n\n var finalFormatter = entry.formatter || formatter || defaultFormatter;\n var name = entry.name,\n value = entry.value;\n\n if (finalFormatter) {\n var formatted = finalFormatter(value, name, entry, i, payload);\n\n if (Array.isArray(formatted)) {\n var _formatted = _slicedToArray(formatted, 2);\n\n value = _formatted[0];\n name = _formatted[1];\n } else {\n value = formatted;\n }\n }\n\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"li\", {\n className: \"recharts-tooltip-item\",\n key: \"tooltip-item-\".concat(i),\n style: finalItemStyle\n }, isNumOrStr(name) ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-name\"\n }, name) : null, isNumOrStr(name) ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-separator\"\n }, separator) : null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-value\"\n }, value), /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-unit\"\n }, entry.unit || ''))\n );\n });\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: \"recharts-tooltip-item-list\",\n style: listStyle\n }, items);\n }\n\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n wrapperClassName = _this$props2.wrapperClassName,\n contentStyle = _this$props2.contentStyle,\n labelClassName = _this$props2.labelClassName,\n labelStyle = _this$props2.labelStyle,\n label = _this$props2.label,\n labelFormatter = _this$props2.labelFormatter,\n payload = _this$props2.payload;\n\n var finalStyle = _objectSpread({\n margin: 0,\n padding: 10,\n backgroundColor: '#fff',\n border: '1px solid #ccc',\n whiteSpace: 'nowrap'\n }, contentStyle);\n\n var finalLabelStyle = _objectSpread({\n margin: 0\n }, labelStyle);\n\n var hasLabel = !_isNil(label);\n var finalLabel = hasLabel ? label : '';\n var wrapperCN = classNames('recharts-default-tooltip', wrapperClassName);\n var labelCN = classNames('recharts-tooltip-label', labelClassName);\n\n if (hasLabel && labelFormatter) {\n finalLabel = labelFormatter(label, payload);\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: wrapperCN,\n style: finalStyle\n }, /*#__PURE__*/React.createElement(\"p\", {\n className: labelCN,\n style: finalLabelStyle\n }, /*#__PURE__*/React.isValidElement(finalLabel) ? finalLabel : \"\".concat(finalLabel)), this.renderContent());\n }\n }]);\n\n return DefaultTooltipContent;\n}(PureComponent);\nDefaultTooltipContent.displayName = 'DefaultTooltipContent';\nDefaultTooltipContent.defaultProps = {\n separator: ' : ',\n contentStyle: {},\n itemStyle: {},\n labelStyle: {}\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 _isNil from \"lodash/isNil\";\nimport _isFunction from \"lodash/isFunction\";\nimport _uniqBy from \"lodash/uniqBy\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * @fileOverview Tooltip\n */\nimport React, { PureComponent } from 'react';\nimport { translateStyle } from 'react-smooth';\nimport classNames from 'classnames';\nimport { DefaultTooltipContent } from './DefaultTooltipContent';\nimport { Global } from '../util/Global';\nimport { isNumber } from '../util/DataUtils';\nvar CLS_PREFIX = 'recharts-tooltip-wrapper';\nvar EPS = 1;\n\nfunction defaultUniqBy(entry) {\n return entry.dataKey;\n}\n\nfunction getUniqPayload(option, payload) {\n if (option === true) {\n return _uniqBy(payload, defaultUniqBy);\n }\n\n if (_isFunction(option)) {\n return _uniqBy(payload, option);\n }\n\n return payload;\n}\n\nfunction renderContent(content, props) {\n if ( /*#__PURE__*/React.isValidElement(content)) {\n return /*#__PURE__*/React.cloneElement(content, props);\n }\n\n if (_isFunction(content)) {\n return /*#__PURE__*/React.createElement(content, props);\n }\n\n return /*#__PURE__*/React.createElement(DefaultTooltipContent, props);\n}\n\nexport var Tooltip = /*#__PURE__*/function (_PureComponent) {\n _inherits(Tooltip, _PureComponent);\n\n var _super = _createSuper(Tooltip);\n\n function Tooltip() {\n var _this;\n\n _classCallCheck(this, Tooltip);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n boxWidth: -1,\n boxHeight: -1\n };\n _this.wrapperNode = void 0;\n\n _this.getTranslate = function (_ref) {\n var key = _ref.key,\n tooltipDimension = _ref.tooltipDimension,\n viewBoxDimension = _ref.viewBoxDimension;\n var _this$props = _this.props,\n allowEscapeViewBox = _this$props.allowEscapeViewBox,\n coordinate = _this$props.coordinate,\n offset = _this$props.offset,\n position = _this$props.position,\n viewBox = _this$props.viewBox;\n\n if (position && isNumber(position[key])) {\n return position[key];\n }\n\n var restricted = coordinate[key] - tooltipDimension - offset;\n var unrestricted = coordinate[key] + offset;\n\n if (allowEscapeViewBox[key]) {\n return unrestricted;\n }\n\n var tooltipBoundary = coordinate[key] + tooltipDimension + offset;\n var viewBoxBoundary = viewBox[key] + viewBoxDimension;\n\n if (tooltipBoundary > viewBoxBoundary) {\n return Math.max(restricted, viewBox[key]);\n }\n\n return Math.max(unrestricted, viewBox[key]);\n };\n\n return _this;\n }\n\n _createClass(Tooltip, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateBBox();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.updateBBox();\n }\n }, {\n key: \"updateBBox\",\n value: function updateBBox() {\n var _this$state = this.state,\n boxWidth = _this$state.boxWidth,\n boxHeight = _this$state.boxHeight;\n\n if (this.wrapperNode && this.wrapperNode.getBoundingClientRect) {\n var box = this.wrapperNode.getBoundingClientRect();\n\n if (Math.abs(box.width - boxWidth) > EPS || Math.abs(box.height - boxHeight) > EPS) {\n this.setState({\n boxWidth: box.width,\n boxHeight: box.height\n });\n }\n } else if (boxWidth !== -1 || boxHeight !== -1) {\n this.setState({\n boxWidth: -1,\n boxHeight: -1\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames,\n _this2 = this;\n\n var _this$props2 = this.props,\n payload = _this$props2.payload,\n isAnimationActive = _this$props2.isAnimationActive,\n animationDuration = _this$props2.animationDuration,\n animationEasing = _this$props2.animationEasing,\n filterNull = _this$props2.filterNull,\n payloadUniqBy = _this$props2.payloadUniqBy;\n var finalPayload = getUniqPayload(payloadUniqBy, filterNull && payload && payload.length ? payload.filter(function (entry) {\n return !_isNil(entry.value);\n }) : payload);\n var hasPayload = finalPayload && finalPayload.length;\n var _this$props3 = this.props,\n content = _this$props3.content,\n viewBox = _this$props3.viewBox,\n coordinate = _this$props3.coordinate,\n position = _this$props3.position,\n active = _this$props3.active,\n wrapperStyle = _this$props3.wrapperStyle;\n\n var outerStyle = _objectSpread({\n pointerEvents: 'none',\n visibility: active && hasPayload ? 'visible' : 'hidden',\n position: 'absolute',\n top: 0,\n left: 0\n }, wrapperStyle);\n\n var translateX, translateY;\n\n if (position && isNumber(position.x) && isNumber(position.y)) {\n translateX = position.x;\n translateY = position.y;\n } else {\n var _this$state2 = this.state,\n boxWidth = _this$state2.boxWidth,\n boxHeight = _this$state2.boxHeight;\n\n if (boxWidth > 0 && boxHeight > 0 && coordinate) {\n translateX = this.getTranslate({\n key: 'x',\n tooltipDimension: boxWidth,\n viewBoxDimension: viewBox.width\n });\n translateY = this.getTranslate({\n key: 'y',\n tooltipDimension: boxHeight,\n viewBoxDimension: viewBox.height\n });\n } else {\n outerStyle.visibility = 'hidden';\n }\n }\n\n outerStyle = _objectSpread(_objectSpread({}, translateStyle({\n transform: this.props.useTranslate3d ? \"translate3d(\".concat(translateX, \"px, \").concat(translateY, \"px, 0)\") : \"translate(\".concat(translateX, \"px, \").concat(translateY, \"px)\")\n })), outerStyle);\n\n if (isAnimationActive && active) {\n outerStyle = _objectSpread(_objectSpread({}, translateStyle({\n transition: \"transform \".concat(animationDuration, \"ms \").concat(animationEasing)\n })), outerStyle);\n }\n\n var cls = classNames(CLS_PREFIX, (_classNames = {}, _defineProperty(_classNames, \"\".concat(CLS_PREFIX, \"-right\"), isNumber(translateX) && coordinate && isNumber(coordinate.x) && translateX >= coordinate.x), _defineProperty(_classNames, \"\".concat(CLS_PREFIX, \"-left\"), isNumber(translateX) && coordinate && isNumber(coordinate.x) && translateX < coordinate.x), _defineProperty(_classNames, \"\".concat(CLS_PREFIX, \"-bottom\"), isNumber(translateY) && coordinate && isNumber(coordinate.y) && translateY >= coordinate.y), _defineProperty(_classNames, \"\".concat(CLS_PREFIX, \"-top\"), isNumber(translateY) && coordinate && isNumber(coordinate.y) && translateY < coordinate.y), _classNames));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: cls,\n style: outerStyle,\n ref: function ref(node) {\n _this2.wrapperNode = node;\n }\n }, renderContent(content, _objectSpread(_objectSpread({}, this.props), {}, {\n payload: finalPayload\n })));\n }\n }]);\n\n return Tooltip;\n}(PureComponent);\nTooltip.displayName = 'Tooltip';\nTooltip.defaultProps = {\n active: false,\n allowEscapeViewBox: {\n x: false,\n y: false\n },\n offset: 10,\n viewBox: {\n x1: 0,\n x2: 0,\n y1: 0,\n y2: 0\n },\n coordinate: {\n x: 0,\n y: 0\n },\n cursorStyle: {},\n separator: ' : ',\n wrapperStyle: {},\n contentStyle: {},\n itemStyle: {},\n labelStyle: {},\n cursor: true,\n trigger: 'hover',\n isAnimationActive: !Global.isSsr,\n animationEasing: 'ease',\n animationDuration: 400,\n filterNull: true,\n useTranslate3d: false\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/**\n * @fileOverview Layer\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { filterProps } from '../util/types';\nexport function Layer(props) {\n var children = props.children,\n className = props.className,\n others = _objectWithoutProperties(props, [\"children\", \"className\"]);\n\n var layerClass = classNames('recharts-layer', className);\n return /*#__PURE__*/React.createElement(\"g\", _extends({\n className: layerClass\n }, filterProps(others, true)), children);\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/**\n * @fileOverview Surface\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { filterProps } from '../util/types';\nexport function Surface(props) {\n var children = props.children,\n width = props.width,\n height = props.height,\n viewBox = props.viewBox,\n className = props.className,\n style = props.style,\n others = _objectWithoutProperties(props, [\"children\", \"width\", \"height\", \"viewBox\", \"className\", \"style\"]);\n\n var svgView = viewBox || {\n width: width,\n height: height,\n x: 0,\n y: 0\n };\n var layerClass = classNames('recharts-surface', className);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({}, filterProps(others, true, true), {\n className: layerClass,\n width: width,\n height: height,\n style: style,\n viewBox: \"\".concat(svgView.x, \" \").concat(svgView.y, \" \").concat(svgView.width, \" \").concat(svgView.height),\n version: \"1.1\"\n }), children);\n}","export default function() {}\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // proceed\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n","import noop from \"../noop.js\";\nimport {point} from \"./basis.js\";\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x2 = x, this._y2 = y; break;\n case 1: this._point = 2; this._x3 = x, this._y3 = y; break;\n case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisClosed(context);\n}\n","import {point} from \"./basis.js\";\n\nfunction BasisOpen(context) {\n this._context = context;\n}\n\nBasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisOpen(context);\n}\n","import noop from \"../noop.js\";\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point) this._context.closePath();\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) this._context.lineTo(x, y);\n else this._point = 1, this._context.moveTo(x, y);\n }\n};\n\nexport default function(context) {\n return new LinearClosed(context);\n}\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n","function Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n// See https://www.particleincell.com/2012/bezier-splines/ for derivation.\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\n\nexport default function(context) {\n return new Natural(context);\n}\n","function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import {path} from \"d3-path\";\nimport array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x, y) {\n var defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n x = typeof x === \"function\" ? x : (x === undefined) ? pointX : constant(x);\n y = typeof y === \"function\" ? y : (y === undefined) ? pointY : constant(y);\n\n function line(data) {\n var i,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n","import {path} from \"d3-path\";\nimport array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport line from \"./line.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x0, y0, y1) {\n var x1 = null,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n x0 = typeof x0 === \"function\" ? x0 : (x0 === undefined) ? pointX : constant(+x0);\n y0 = typeof y0 === \"function\" ? y0 : (y0 === undefined) ? constant(0) : constant(+y0);\n y1 = typeof y1 === \"function\" ? y1 : (y1 === undefined) ? pointY : constant(+y1);\n\n function area(data) {\n var i,\n j,\n k,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n function arealine() {\n return line().defined(defined).curve(curve).context(context);\n }\n\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), area) : x0;\n };\n\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : x1;\n };\n\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), area) : y0;\n };\n\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : y1;\n };\n\n area.lineX0 =\n area.lineY0 = function() {\n return arealine().x(x0).y(y0);\n };\n\n area.lineY1 = function() {\n return arealine().x(x0).y(y1);\n };\n\n area.lineX1 = function() {\n return arealine().x(x1).y(y0);\n };\n\n area.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), area) : defined;\n };\n\n area.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n\n area.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n\n return area;\n}\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 _isArray from \"lodash/isArray\";\nimport _upperFirst from \"lodash/upperFirst\";\nimport _isFunction from \"lodash/isFunction\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * @fileOverview Curve\n */\nimport React, { PureComponent } from 'react';\nimport { line as shapeLine, area as shapeArea, curveBasisClosed, curveBasisOpen, curveBasis, curveLinearClosed, curveLinear, curveMonotoneX, curveMonotoneY, curveNatural, curveStep, curveStepAfter, curveStepBefore } from 'd3-shape';\nimport classNames from 'classnames';\nimport { adaptEventHandlers, filterProps } from '../util/types';\nimport { isNumber } from '../util/DataUtils';\nvar CURVE_FACTORIES = {\n curveBasisClosed: curveBasisClosed,\n curveBasisOpen: curveBasisOpen,\n curveBasis: curveBasis,\n curveLinearClosed: curveLinearClosed,\n curveLinear: curveLinear,\n curveMonotoneX: curveMonotoneX,\n curveMonotoneY: curveMonotoneY,\n curveNatural: curveNatural,\n curveStep: curveStep,\n curveStepAfter: curveStepAfter,\n curveStepBefore: curveStepBefore\n};\n\nvar defined = function defined(p) {\n return p.x === +p.x && p.y === +p.y;\n};\n\nvar getX = function getX(p) {\n return p.x;\n};\n\nvar getY = function getY(p) {\n return p.y;\n};\n\nvar getCurveFactory = function getCurveFactory(type, layout) {\n if (_isFunction(type)) {\n return type;\n }\n\n var name = \"curve\".concat(_upperFirst(type));\n\n if (name === 'curveMonotone' && layout) {\n return CURVE_FACTORIES[\"\".concat(name).concat(layout === 'vertical' ? 'Y' : 'X')];\n }\n\n return CURVE_FACTORIES[name] || curveLinear;\n};\n\nexport var Curve = /*#__PURE__*/function (_PureComponent) {\n _inherits(Curve, _PureComponent);\n\n var _super = _createSuper(Curve);\n\n function Curve() {\n _classCallCheck(this, Curve);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Curve, [{\n key: \"getPath\",\n value:\n /**\n * Calculate the path of curve\n * @return {String} path\n */\n function getPath() {\n var _this$props = this.props,\n type = _this$props.type,\n points = _this$props.points,\n baseLine = _this$props.baseLine,\n layout = _this$props.layout,\n connectNulls = _this$props.connectNulls;\n var curveFactory = getCurveFactory(type, layout);\n var formatPoints = connectNulls ? points.filter(function (entry) {\n return defined(entry);\n }) : points;\n var lineFunction;\n\n if (_isArray(baseLine)) {\n var formatBaseLine = connectNulls ? baseLine.filter(function (base) {\n return defined(base);\n }) : baseLine;\n var areaPoints = formatPoints.map(function (entry, index) {\n return _objectSpread(_objectSpread({}, entry), {}, {\n base: formatBaseLine[index]\n });\n });\n\n if (layout === 'vertical') {\n lineFunction = shapeArea().y(getY).x1(getX).x0(function (d) {\n return d.base.x;\n });\n } else {\n lineFunction = shapeArea().x(getX).y1(getY).y0(function (d) {\n return d.base.y;\n });\n }\n\n lineFunction.defined(defined).curve(curveFactory);\n return lineFunction(areaPoints);\n }\n\n if (layout === 'vertical' && isNumber(baseLine)) {\n lineFunction = shapeArea().y(getY).x1(getX).x0(baseLine);\n } else if (isNumber(baseLine)) {\n lineFunction = shapeArea().x(getX).y1(getY).y0(baseLine);\n } else {\n lineFunction = shapeLine().x(getX).y(getY);\n }\n\n lineFunction.defined(defined).curve(curveFactory);\n return lineFunction(formatPoints);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n className = _this$props2.className,\n points = _this$props2.points,\n path = _this$props2.path,\n pathRef = _this$props2.pathRef;\n\n if ((!points || !points.length) && !path) {\n return null;\n }\n\n var realPath = points && points.length ? this.getPath() : path;\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(this.props), adaptEventHandlers(this.props), {\n className: classNames('recharts-curve', className),\n d: realPath,\n ref: pathRef\n }));\n }\n }]);\n\n return Curve;\n}(PureComponent);\nCurve.defaultProps = {\n type: 'linear',\n points: [],\n connectNulls: false\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\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 _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 Dot\n */\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { adaptEventHandlers, filterProps } from '../util/types';\nexport var Dot = /*#__PURE__*/function (_PureComponent) {\n _inherits(Dot, _PureComponent);\n\n var _super = _createSuper(Dot);\n\n function Dot() {\n _classCallCheck(this, Dot);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Dot, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n cx = _this$props.cx,\n cy = _this$props.cy,\n r = _this$props.r,\n className = _this$props.className;\n var layerClass = classNames('recharts-dot', className);\n\n if (cx === +cx && cy === +cy && r === +r) {\n return /*#__PURE__*/React.createElement(\"circle\", _extends({}, filterProps(this.props), adaptEventHandlers(this.props), {\n className: layerClass,\n cx: cx,\n cy: cy,\n r: r\n }));\n }\n\n return null;\n }\n }]);\n\n return Dot;\n}(PureComponent);","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\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 _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 Rectangle\n */\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport Animate from 'react-smooth';\nimport { filterProps } from '../util/types';\n\nvar getRectanglePath = function getRectanglePath(x, y, width, height, radius) {\n var maxRadius = Math.min(Math.abs(width) / 2, Math.abs(height) / 2);\n var ySign = height >= 0 ? 1 : -1;\n var xSign = width >= 0 ? 1 : -1;\n var clockWise = height >= 0 && width >= 0 || height < 0 && width < 0 ? 1 : 0;\n var path;\n\n if (maxRadius > 0 && radius instanceof Array) {\n var newRadius = [0, 0, 0, 0];\n\n for (var i = 0, len = 4; i < len; i++) {\n newRadius[i] = radius[i] > maxRadius ? maxRadius : radius[i];\n }\n\n path = \"M\".concat(x, \",\").concat(y + ySign * newRadius[0]);\n\n if (newRadius[0] > 0) {\n path += \"A \".concat(newRadius[0], \",\").concat(newRadius[0], \",0,0,\").concat(clockWise, \",\").concat(x + xSign * newRadius[0], \",\").concat(y);\n }\n\n path += \"L \".concat(x + width - xSign * newRadius[1], \",\").concat(y);\n\n if (newRadius[1] > 0) {\n path += \"A \".concat(newRadius[1], \",\").concat(newRadius[1], \",0,0,\").concat(clockWise, \",\\n \").concat(x + width, \",\").concat(y + ySign * newRadius[1]);\n }\n\n path += \"L \".concat(x + width, \",\").concat(y + height - ySign * newRadius[2]);\n\n if (newRadius[2] > 0) {\n path += \"A \".concat(newRadius[2], \",\").concat(newRadius[2], \",0,0,\").concat(clockWise, \",\\n \").concat(x + width - xSign * newRadius[2], \",\").concat(y + height);\n }\n\n path += \"L \".concat(x + xSign * newRadius[3], \",\").concat(y + height);\n\n if (newRadius[3] > 0) {\n path += \"A \".concat(newRadius[3], \",\").concat(newRadius[3], \",0,0,\").concat(clockWise, \",\\n \").concat(x, \",\").concat(y + height - ySign * newRadius[3]);\n }\n\n path += 'Z';\n } else if (maxRadius > 0 && radius === +radius && radius > 0) {\n var _newRadius = Math.min(maxRadius, radius);\n\n path = \"M \".concat(x, \",\").concat(y + ySign * _newRadius, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x + xSign * _newRadius, \",\").concat(y, \"\\n L \").concat(x + width - xSign * _newRadius, \",\").concat(y, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x + width, \",\").concat(y + ySign * _newRadius, \"\\n L \").concat(x + width, \",\").concat(y + height - ySign * _newRadius, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x + width - xSign * _newRadius, \",\").concat(y + height, \"\\n L \").concat(x + xSign * _newRadius, \",\").concat(y + height, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x, \",\").concat(y + height - ySign * _newRadius, \" Z\");\n } else {\n path = \"M \".concat(x, \",\").concat(y, \" h \").concat(width, \" v \").concat(height, \" h \").concat(-width, \" Z\");\n }\n\n return path;\n};\n\nexport var isInRectangle = function isInRectangle(point, rect) {\n if (!point || !rect) {\n return false;\n }\n\n var px = point.x,\n py = point.y;\n var x = rect.x,\n y = rect.y,\n width = rect.width,\n height = rect.height;\n\n if (Math.abs(width) > 0 && Math.abs(height) > 0) {\n var minX = Math.min(x, x + width);\n var maxX = Math.max(x, x + width);\n var minY = Math.min(y, y + height);\n var maxY = Math.max(y, y + height);\n return px >= minX && px <= maxX && py >= minY && py <= maxY;\n }\n\n return false;\n};\nexport var Rectangle = /*#__PURE__*/function (_PureComponent) {\n _inherits(Rectangle, _PureComponent);\n\n var _super = _createSuper(Rectangle);\n\n function Rectangle() {\n var _this;\n\n _classCallCheck(this, Rectangle);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n totalLength: -1\n };\n _this.node = void 0;\n return _this;\n }\n\n _createClass(Rectangle, [{\n key: \"componentDidMount\",\n value:\n /* eslint-disable react/no-did-mount-set-state */\n function componentDidMount() {\n if (this.node && this.node.getTotalLength) {\n try {\n var totalLength = this.node.getTotalLength();\n\n if (totalLength) {\n this.setState({\n totalLength: totalLength\n });\n }\n } catch (err) {// calculate total length error\n }\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n x = _this$props.x,\n y = _this$props.y,\n width = _this$props.width,\n height = _this$props.height,\n radius = _this$props.radius,\n className = _this$props.className;\n var totalLength = this.state.totalLength;\n var _this$props2 = this.props,\n animationEasing = _this$props2.animationEasing,\n animationDuration = _this$props2.animationDuration,\n animationBegin = _this$props2.animationBegin,\n isAnimationActive = _this$props2.isAnimationActive,\n isUpdateAnimationActive = _this$props2.isUpdateAnimationActive;\n\n if (x !== +x || y !== +y || width !== +width || height !== +height || width === 0 || height === 0) {\n return null;\n }\n\n var layerClass = classNames('recharts-rectangle', className);\n\n if (!isUpdateAnimationActive) {\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(this.props, true), {\n className: layerClass,\n d: getRectanglePath(x, y, width, height, radius)\n }));\n }\n\n return /*#__PURE__*/React.createElement(Animate, {\n canBegin: totalLength > 0,\n from: {\n width: width,\n height: height,\n x: x,\n y: y\n },\n to: {\n width: width,\n height: height,\n x: x,\n y: y\n },\n duration: animationDuration,\n animationEasing: animationEasing,\n isActive: isUpdateAnimationActive\n }, function (_ref) {\n var currWidth = _ref.width,\n currHeight = _ref.height,\n currX = _ref.x,\n currY = _ref.y;\n return /*#__PURE__*/React.createElement(Animate, {\n canBegin: totalLength > 0,\n from: \"0px \".concat(totalLength === -1 ? 1 : totalLength, \"px\"),\n to: \"\".concat(totalLength, \"px 0px\"),\n attributeName: \"strokeDasharray\",\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing\n }, /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(_this2.props, true), {\n className: layerClass,\n d: getRectanglePath(currX, currY, currWidth, currHeight, radius),\n ref: function ref(node) {\n _this2.node = node;\n }\n })));\n });\n }\n }]);\n\n return Rectangle;\n}(PureComponent);\nRectangle.defaultProps = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n // The radius of border\n // The radius of four corners when radius is a number\n // The radius of left-top, right-top, right-bottom, left-bottom when radius is an array\n radius: 0,\n isAnimationActive: false,\n isUpdateAnimationActive: false,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease'\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\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 _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 Sector\n */\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { filterProps } from '../util/types';\nimport { polarToCartesian, RADIAN } from '../util/PolarUtils';\nimport { getPercentValue, mathSign } from '../util/DataUtils';\n\nvar getDeltaAngle = function getDeltaAngle(startAngle, endAngle) {\n var sign = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 359.999);\n return sign * deltaAngle;\n};\n\nvar getTangentCircle = function getTangentCircle(_ref) {\n var cx = _ref.cx,\n cy = _ref.cy,\n radius = _ref.radius,\n angle = _ref.angle,\n sign = _ref.sign,\n isExternal = _ref.isExternal,\n cornerRadius = _ref.cornerRadius,\n cornerIsExternal = _ref.cornerIsExternal;\n var centerRadius = cornerRadius * (isExternal ? 1 : -1) + radius;\n var theta = Math.asin(cornerRadius / centerRadius) / RADIAN;\n var centerAngle = cornerIsExternal ? angle : angle + sign * theta;\n var center = polarToCartesian(cx, cy, centerRadius, centerAngle); // The coordinate of point which is tangent to the circle\n\n var circleTangency = polarToCartesian(cx, cy, radius, centerAngle); // The coordinate of point which is tangent to the radius line\n\n var lineTangencyAngle = cornerIsExternal ? angle - sign * theta : angle;\n var lineTangency = polarToCartesian(cx, cy, centerRadius * Math.cos(theta * RADIAN), lineTangencyAngle);\n return {\n center: center,\n circleTangency: circleTangency,\n lineTangency: lineTangency,\n theta: theta\n };\n};\n\nvar getSectorPath = function getSectorPath(_ref2) {\n var cx = _ref2.cx,\n cy = _ref2.cy,\n innerRadius = _ref2.innerRadius,\n outerRadius = _ref2.outerRadius,\n startAngle = _ref2.startAngle,\n endAngle = _ref2.endAngle;\n var angle = getDeltaAngle(startAngle, endAngle); // When the angle of sector equals to 360, star point and end point coincide\n\n var tempEndAngle = startAngle + angle;\n var outerStartPoint = polarToCartesian(cx, cy, outerRadius, startAngle);\n var outerEndPoint = polarToCartesian(cx, cy, outerRadius, tempEndAngle);\n var path = \"M \".concat(outerStartPoint.x, \",\").concat(outerStartPoint.y, \"\\n A \").concat(outerRadius, \",\").concat(outerRadius, \",0,\\n \").concat(+(Math.abs(angle) > 180), \",\").concat(+(startAngle > tempEndAngle), \",\\n \").concat(outerEndPoint.x, \",\").concat(outerEndPoint.y, \"\\n \");\n\n if (innerRadius > 0) {\n var innerStartPoint = polarToCartesian(cx, cy, innerRadius, startAngle);\n var innerEndPoint = polarToCartesian(cx, cy, innerRadius, tempEndAngle);\n path += \"L \".concat(innerEndPoint.x, \",\").concat(innerEndPoint.y, \"\\n A \").concat(innerRadius, \",\").concat(innerRadius, \",0,\\n \").concat(+(Math.abs(angle) > 180), \",\").concat(+(startAngle <= tempEndAngle), \",\\n \").concat(innerStartPoint.x, \",\").concat(innerStartPoint.y, \" Z\");\n } else {\n path += \"L \".concat(cx, \",\").concat(cy, \" Z\");\n }\n\n return path;\n};\n\nvar getSectorWithCorner = function getSectorWithCorner(_ref3) {\n var cx = _ref3.cx,\n cy = _ref3.cy,\n innerRadius = _ref3.innerRadius,\n outerRadius = _ref3.outerRadius,\n cornerRadius = _ref3.cornerRadius,\n forceCornerRadius = _ref3.forceCornerRadius,\n cornerIsExternal = _ref3.cornerIsExternal,\n startAngle = _ref3.startAngle,\n endAngle = _ref3.endAngle;\n var sign = mathSign(endAngle - startAngle);\n\n var _getTangentCircle = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: outerRadius,\n angle: startAngle,\n sign: sign,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n soct = _getTangentCircle.circleTangency,\n solt = _getTangentCircle.lineTangency,\n sot = _getTangentCircle.theta;\n\n var _getTangentCircle2 = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: outerRadius,\n angle: endAngle,\n sign: -sign,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n eoct = _getTangentCircle2.circleTangency,\n eolt = _getTangentCircle2.lineTangency,\n eot = _getTangentCircle2.theta;\n\n var outerArcAngle = cornerIsExternal ? Math.abs(startAngle - endAngle) : Math.abs(startAngle - endAngle) - sot - eot;\n\n if (outerArcAngle < 0) {\n if (forceCornerRadius) {\n return \"M \".concat(solt.x, \",\").concat(solt.y, \"\\n a\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,1,\").concat(cornerRadius * 2, \",0\\n a\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,1,\").concat(-cornerRadius * 2, \",0\\n \");\n }\n\n return getSectorPath({\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n startAngle: startAngle,\n endAngle: endAngle\n });\n }\n\n var path = \"M \".concat(solt.x, \",\").concat(solt.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(soct.x, \",\").concat(soct.y, \"\\n A\").concat(outerRadius, \",\").concat(outerRadius, \",0,\").concat(+(outerArcAngle > 180), \",\").concat(+(sign < 0), \",\").concat(eoct.x, \",\").concat(eoct.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(eolt.x, \",\").concat(eolt.y, \"\\n \");\n\n if (innerRadius > 0) {\n var _getTangentCircle3 = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: innerRadius,\n angle: startAngle,\n sign: sign,\n isExternal: true,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n sict = _getTangentCircle3.circleTangency,\n silt = _getTangentCircle3.lineTangency,\n sit = _getTangentCircle3.theta;\n\n var _getTangentCircle4 = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: innerRadius,\n angle: endAngle,\n sign: -sign,\n isExternal: true,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n eict = _getTangentCircle4.circleTangency,\n eilt = _getTangentCircle4.lineTangency,\n eit = _getTangentCircle4.theta;\n\n var innerArcAngle = cornerIsExternal ? Math.abs(startAngle - endAngle) : Math.abs(startAngle - endAngle) - sit - eit;\n\n if (innerArcAngle < 0 && cornerRadius === 0) {\n return \"\".concat(path, \"L\").concat(cx, \",\").concat(cy, \"Z\");\n }\n\n path += \"L\".concat(eilt.x, \",\").concat(eilt.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(eict.x, \",\").concat(eict.y, \"\\n A\").concat(innerRadius, \",\").concat(innerRadius, \",0,\").concat(+(innerArcAngle > 180), \",\").concat(+(sign > 0), \",\").concat(sict.x, \",\").concat(sict.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(silt.x, \",\").concat(silt.y, \"Z\");\n } else {\n path += \"L\".concat(cx, \",\").concat(cy, \"Z\");\n }\n\n return path;\n};\n\nexport var Sector = /*#__PURE__*/function (_PureComponent) {\n _inherits(Sector, _PureComponent);\n\n var _super = _createSuper(Sector);\n\n function Sector() {\n _classCallCheck(this, Sector);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Sector, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n cx = _this$props.cx,\n cy = _this$props.cy,\n innerRadius = _this$props.innerRadius,\n outerRadius = _this$props.outerRadius,\n cornerRadius = _this$props.cornerRadius,\n forceCornerRadius = _this$props.forceCornerRadius,\n cornerIsExternal = _this$props.cornerIsExternal,\n startAngle = _this$props.startAngle,\n endAngle = _this$props.endAngle,\n className = _this$props.className;\n\n if (outerRadius < innerRadius || startAngle === endAngle) {\n return null;\n }\n\n var layerClass = classNames('recharts-sector', className);\n var deltaRadius = outerRadius - innerRadius;\n var cr = getPercentValue(cornerRadius, deltaRadius, 0, true);\n var path;\n\n if (cr > 0 && Math.abs(startAngle - endAngle) < 360) {\n path = getSectorWithCorner({\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n cornerRadius: Math.min(cr, deltaRadius / 2),\n forceCornerRadius: forceCornerRadius,\n cornerIsExternal: cornerIsExternal,\n startAngle: startAngle,\n endAngle: endAngle\n });\n } else {\n path = getSectorPath({\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n startAngle: startAngle,\n endAngle: endAngle\n });\n }\n\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(this.props, true), {\n className: layerClass,\n d: path\n }));\n }\n }]);\n\n return Sector;\n}(PureComponent);\nSector.defaultProps = {\n cx: 0,\n cy: 0,\n innerRadius: 0,\n outerRadius: 0,\n startAngle: 0,\n endAngle: 0,\n cornerRadius: 0,\n forceCornerRadius: false,\n cornerIsExternal: false\n};","import _every from \"lodash/every\";\nimport _mapValues from \"lodash/mapValues\";\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 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\nimport { getTicksOfScale, parseScale, checkDomainOfScale, getBandSizeOfAxis } from './ChartUtils';\nimport { findChildByType } from './ReactUtils';\nimport { getPercentValue } from './DataUtils';\n/**\n * Calculate the scale function, position, width, height of axes\n * @param {Object} props Latest props\n * @param {Object} axisMap The configuration of axes\n * @param {Object} offset The offset of main part in the svg element\n * @param {String} axisType The type of axes, x-axis or y-axis\n * @param {String} chartName The name of chart\n * @return {Object} Configuration\n */\n\nexport var formatAxisMap = function formatAxisMap(props, axisMap, offset, axisType, chartName) {\n var width = props.width,\n height = props.height,\n layout = props.layout,\n children = props.children;\n var ids = Object.keys(axisMap);\n var steps = {\n left: offset.left,\n leftMirror: offset.left,\n right: width - offset.right,\n rightMirror: width - offset.right,\n top: offset.top,\n topMirror: offset.top,\n bottom: height - offset.bottom,\n bottomMirror: height - offset.bottom\n };\n var hasBar = !!findChildByType(children, 'Bar');\n return ids.reduce(function (result, id) {\n var axis = axisMap[id];\n var orientation = axis.orientation,\n domain = axis.domain,\n _axis$padding = axis.padding,\n padding = _axis$padding === void 0 ? {} : _axis$padding,\n mirror = axis.mirror,\n reversed = axis.reversed;\n var offsetKey = \"\".concat(orientation).concat(mirror ? 'Mirror' : '');\n var calculatedPadding, range, x, y, needSpace;\n\n if (axis.type === 'number' && (axis.padding === 'gap' || axis.padding === 'no-gap')) {\n var diff = domain[1] - domain[0];\n var smallestDistanceBetweenValues = Infinity;\n var sortedValues = axis.categoricalDomain.sort();\n sortedValues.forEach(function (value, index) {\n if (index > 0) {\n smallestDistanceBetweenValues = Math.min((value || 0) - (sortedValues[index - 1] || 0), smallestDistanceBetweenValues);\n }\n });\n var smallestDistanceInPercent = smallestDistanceBetweenValues / diff;\n var rangeWidth = axis.layout === 'vertical' ? offset.height : offset.width;\n\n if (axis.padding === 'gap') {\n calculatedPadding = smallestDistanceInPercent * rangeWidth / 2;\n }\n\n if (axis.padding === 'no-gap') {\n var gap = getPercentValue(props.barCategoryGap, smallestDistanceInPercent * rangeWidth);\n var halfBand = smallestDistanceInPercent * rangeWidth / 2;\n calculatedPadding = halfBand - gap - (halfBand - gap) / rangeWidth * gap;\n }\n }\n\n if (axisType === 'xAxis') {\n range = [offset.left + (padding.left || 0) + (calculatedPadding || 0), offset.left + offset.width - (padding.right || 0) - (calculatedPadding || 0)];\n } else if (axisType === 'yAxis') {\n range = layout === 'horizontal' ? [offset.top + offset.height - (padding.bottom || 0), offset.top + (padding.top || 0)] : [offset.top + (padding.top || 0) + (calculatedPadding || 0), offset.top + offset.height - (padding.bottom || 0) - (calculatedPadding || 0)];\n } else {\n range = axis.range;\n }\n\n if (reversed) {\n range = [range[1], range[0]];\n }\n\n var _parseScale = parseScale(axis, chartName, hasBar),\n scale = _parseScale.scale,\n realScaleType = _parseScale.realScaleType;\n\n scale.domain(domain).range(range);\n checkDomainOfScale(scale);\n var ticks = getTicksOfScale(scale, _objectSpread(_objectSpread({}, axis), {}, {\n realScaleType: realScaleType\n }));\n\n if (axisType === 'xAxis') {\n needSpace = orientation === 'top' && !mirror || orientation === 'bottom' && mirror;\n x = offset.left;\n y = steps[offsetKey] - needSpace * axis.height;\n } else if (axisType === 'yAxis') {\n needSpace = orientation === 'left' && !mirror || orientation === 'right' && mirror;\n x = steps[offsetKey] - needSpace * axis.width;\n y = offset.top;\n }\n\n var finalAxis = _objectSpread(_objectSpread(_objectSpread({}, axis), ticks), {}, {\n realScaleType: realScaleType,\n x: x,\n y: y,\n scale: scale,\n width: axisType === 'xAxis' ? offset.width : axis.width,\n height: axisType === 'yAxis' ? offset.height : axis.height\n });\n\n finalAxis.bandSize = getBandSizeOfAxis(finalAxis, ticks);\n\n if (!axis.hide && axisType === 'xAxis') {\n steps[offsetKey] += (needSpace ? -1 : 1) * finalAxis.height;\n } else if (!axis.hide) {\n steps[offsetKey] += (needSpace ? -1 : 1) * finalAxis.width;\n }\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, id, finalAxis));\n }, {});\n};\nexport var rectWithPoints = function rectWithPoints(_ref, _ref2) {\n var x1 = _ref.x,\n y1 = _ref.y;\n var x2 = _ref2.x,\n y2 = _ref2.y;\n return {\n x: Math.min(x1, x2),\n y: Math.min(y1, y2),\n width: Math.abs(x2 - x1),\n height: Math.abs(y2 - y1)\n };\n};\n/**\n * Compute the x, y, width, and height of a box from two reference points.\n * @param {Object} coords x1, x2, y1, and y2\n * @return {Object} object\n */\n\nexport var rectWithCoords = function rectWithCoords(_ref3) {\n var x1 = _ref3.x1,\n y1 = _ref3.y1,\n x2 = _ref3.x2,\n y2 = _ref3.y2;\n return rectWithPoints({\n x: x1,\n y: y1\n }, {\n x: x2,\n y: y2\n });\n};\nexport var ScaleHelper = /*#__PURE__*/function () {\n function ScaleHelper(scale) {\n _classCallCheck(this, ScaleHelper);\n\n this.scale = void 0;\n this.scale = scale;\n }\n\n _createClass(ScaleHelper, [{\n key: \"domain\",\n get: function get() {\n return this.scale.domain;\n }\n }, {\n key: \"range\",\n get: function get() {\n return this.scale.range;\n }\n }, {\n key: \"rangeMin\",\n get: function get() {\n return this.range()[0];\n }\n }, {\n key: \"rangeMax\",\n get: function get() {\n return this.range()[1];\n }\n }, {\n key: \"bandwidth\",\n get: function get() {\n return this.scale.bandwidth;\n }\n }, {\n key: \"apply\",\n value: function apply(value) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n bandAware = _ref4.bandAware,\n position = _ref4.position;\n\n if (value === undefined) {\n return undefined;\n }\n\n if (position) {\n switch (position) {\n case 'start':\n {\n return this.scale(value);\n }\n\n case 'middle':\n {\n var offset = this.bandwidth ? this.bandwidth() / 2 : 0;\n return this.scale(value) + offset;\n }\n\n case 'end':\n {\n var _offset = this.bandwidth ? this.bandwidth() : 0;\n\n return this.scale(value) + _offset;\n }\n\n default:\n {\n return this.scale(value);\n }\n }\n }\n\n if (bandAware) {\n var _offset2 = this.bandwidth ? this.bandwidth() / 2 : 0;\n\n return this.scale(value) + _offset2;\n }\n\n return this.scale(value);\n }\n }, {\n key: \"isInRange\",\n value: function isInRange(value) {\n var range = this.range();\n var first = range[0];\n var last = range[range.length - 1];\n return first <= last ? value >= first && value <= last : value >= last && value <= first;\n }\n }], [{\n key: \"create\",\n value: function create(obj) {\n return new ScaleHelper(obj);\n }\n }]);\n\n return ScaleHelper;\n}();\nScaleHelper.EPS = 1e-4;\nexport var createLabeledScales = function createLabeledScales(options) {\n var scales = Object.keys(options).reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, key, ScaleHelper.create(options[key])));\n }, {});\n return _objectSpread(_objectSpread({}, scales), {}, {\n apply: function apply(coord) {\n var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n bandAware = _ref5.bandAware,\n position = _ref5.position;\n\n return _mapValues(coord, function (value, label) {\n return scales[label].apply(value, {\n bandAware: bandAware,\n position: position\n });\n });\n },\n isInRange: function isInRange(coord) {\n return _every(coord, function (value, label) {\n return scales[label].isInRange(value);\n });\n }\n });\n};","function _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\nvar identity = function identity(i) {\n return i;\n};\n\nexport var PLACE_HOLDER = {\n '@@functional/placeholder': true\n};\n\nvar isPlaceHolder = function isPlaceHolder(val) {\n return val === PLACE_HOLDER;\n};\n\nvar curry0 = function curry0(fn) {\n return function _curried() {\n if (arguments.length === 0 || arguments.length === 1 && isPlaceHolder(arguments.length <= 0 ? undefined : arguments[0])) {\n return _curried;\n }\n\n return fn.apply(void 0, arguments);\n };\n};\n\nvar curryN = function curryN(n, fn) {\n if (n === 1) {\n return fn;\n }\n\n return curry0(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var argsLength = args.filter(function (arg) {\n return arg !== PLACE_HOLDER;\n }).length;\n\n if (argsLength >= n) {\n return fn.apply(void 0, args);\n }\n\n return curryN(n - argsLength, curry0(function () {\n for (var _len2 = arguments.length, restArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n restArgs[_key2] = arguments[_key2];\n }\n\n var newArgs = args.map(function (arg) {\n return isPlaceHolder(arg) ? restArgs.shift() : arg;\n });\n return fn.apply(void 0, _toConsumableArray(newArgs).concat(restArgs));\n }));\n });\n};\n\nexport var curry = function curry(fn) {\n return curryN(fn.length, fn);\n};\nexport var range = function range(begin, end) {\n var arr = [];\n\n for (var i = begin; i < end; ++i) {\n arr[i - begin] = i;\n }\n\n return arr;\n};\nexport var map = curry(function (fn, arr) {\n if (Array.isArray(arr)) {\n return arr.map(fn);\n }\n\n return Object.keys(arr).map(function (key) {\n return arr[key];\n }).map(fn);\n});\nexport var compose = function compose() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n if (!args.length) {\n return identity;\n }\n\n var fns = args.reverse(); // first function can receive multiply arguments\n\n var firstFn = fns[0];\n var tailsFn = fns.slice(1);\n return function () {\n return tailsFn.reduce(function (res, fn) {\n return fn(res);\n }, firstFn.apply(void 0, arguments));\n };\n};\nexport var reverse = function reverse(arr) {\n if (Array.isArray(arr)) {\n return arr.reverse();\n } // can be string\n\n\n return arr.split('').reverse.join('');\n};\nexport var memoize = function memoize(fn) {\n var lastArgs = null;\n var lastResult = null;\n return function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n if (lastArgs && args.every(function (val, i) {\n return val === lastArgs[i];\n })) {\n return lastResult;\n }\n\n lastArgs = args;\n lastResult = fn.apply(void 0, args);\n return lastResult;\n };\n};","/**\n * @fileOverview 一些公用的运算方法\n * @author xile611\n * @date 2015-09-17\n */\nimport Decimal from 'decimal.js-light';\nimport { curry } from './utils';\n/**\n * 获取数值的位数\n * 其中绝对值属于区间[0.1, 1), 得到的值为0\n * 绝对值属于区间[0.01, 0.1),得到的位数为 -1\n * 绝对值属于区间[0.001, 0.01),得到的位数为 -2\n *\n * @param {Number} value 数值\n * @return {Integer} 位数\n */\n\nfunction getDigitCount(value) {\n var result;\n\n if (value === 0) {\n result = 1;\n } else {\n result = Math.floor(new Decimal(value).abs().log(10).toNumber()) + 1;\n }\n\n return result;\n}\n/**\n * 按照固定的步长获取[start, end)这个区间的数据\n * 并且需要处理js计算精度的问题\n *\n * @param {Decimal} start 起点\n * @param {Decimal} end 终点,不包含该值\n * @param {Decimal} step 步长\n * @return {Array} 若干数值\n */\n\n\nfunction rangeStep(start, end, step) {\n var num = new Decimal(start);\n var i = 0;\n var result = []; // magic number to prevent infinite loop\n\n while (num.lt(end) && i < 100000) {\n result.push(num.toNumber());\n num = num.add(step);\n i++;\n }\n\n return result;\n}\n/**\n * 对数值进行线性插值\n *\n * @param {Number} a 定义域的极点\n * @param {Number} b 定义域的极点\n * @param {Number} t [0, 1]内的某个值\n * @return {Number} 定义域内的某个值\n */\n\n\nvar interpolateNumber = curry(function (a, b, t) {\n var newA = +a;\n var newB = +b;\n return newA + t * (newB - newA);\n});\n/**\n * 线性插值的逆运算\n *\n * @param {Number} a 定义域的极点\n * @param {Number} b 定义域的极点\n * @param {Number} x 可以认为是插值后的一个输出值\n * @return {Number} 当x在 a ~ b这个范围内时,返回值属于[0, 1]\n */\n\nvar uninterpolateNumber = curry(function (a, b, x) {\n var diff = b - +a;\n diff = diff || Infinity;\n return (x - a) / diff;\n});\n/**\n * 线性插值的逆运算,并且有截断的操作\n *\n * @param {Number} a 定义域的极点\n * @param {Number} b 定义域的极点\n * @param {Number} x 可以认为是插值后的一个输出值\n * @return {Number} 当x在 a ~ b这个区间内时,返回值属于[0, 1],\n * 当x不在 a ~ b这个区间时,会截断到 a ~ b 这个区间\n */\n\nvar uninterpolateTruncation = curry(function (a, b, x) {\n var diff = b - +a;\n diff = diff || Infinity;\n return Math.max(0, Math.min(1, (x - a) / diff));\n});\nexport default {\n rangeStep: rangeStep,\n getDigitCount: getDigitCount,\n interpolateNumber: interpolateNumber,\n uninterpolateNumber: uninterpolateNumber,\n uninterpolateTruncation: uninterpolateTruncation\n};","function _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 _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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n/**\n * @fileOverview calculate tick values of scale\n * @author xile611, arcthur\n * @date 2015-09-17\n */\nimport Decimal from 'decimal.js-light';\nimport { compose, range, memoize, map, reverse } from './util/utils';\nimport Arithmetic from './util/arithmetic';\n/**\n * Calculate a interval of a minimum value and a maximum value\n *\n * @param {Number} min The minimum value\n * @param {Number} max The maximum value\n * @return {Array} An interval\n */\n\nfunction getValidInterval(_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n min = _ref2[0],\n max = _ref2[1];\n\n var validMin = min,\n validMax = max; // exchange\n\n if (min > max) {\n validMin = max;\n validMax = min;\n }\n\n return [validMin, validMax];\n}\n/**\n * Calculate the step which is easy to understand between ticks, like 10, 20, 25\n *\n * @param {Decimal} roughStep The rough step calculated by deviding the\n * difference by the tickCount\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @param {Integer} correctionFactor A correction factor\n * @return {Decimal} The step which is easy to understand between two ticks\n */\n\n\nfunction getFormatStep(roughStep, allowDecimals, correctionFactor) {\n if (roughStep.lte(0)) {\n return new Decimal(0);\n }\n\n var digitCount = Arithmetic.getDigitCount(roughStep.toNumber()); // The ratio between the rough step and the smallest number which has a bigger\n // order of magnitudes than the rough step\n\n var digitCountValue = new Decimal(10).pow(digitCount);\n var stepRatio = roughStep.div(digitCountValue); // When an integer and a float multiplied, the accuracy of result may be wrong\n\n var stepRatioScale = digitCount !== 1 ? 0.05 : 0.1;\n var amendStepRatio = new Decimal(Math.ceil(stepRatio.div(stepRatioScale).toNumber())).add(correctionFactor).mul(stepRatioScale);\n var formatStep = amendStepRatio.mul(digitCountValue);\n return allowDecimals ? formatStep : new Decimal(Math.ceil(formatStep));\n}\n/**\n * calculate the ticks when the minimum value equals to the maximum value\n *\n * @param {Number} value The minimum valuue which is also the maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getTickOfSingleValue(value, tickCount, allowDecimals) {\n var step = 1; // calculate the middle value of ticks\n\n var middle = new Decimal(value);\n\n if (!middle.isint() && allowDecimals) {\n var absVal = Math.abs(value);\n\n if (absVal < 1) {\n // The step should be a float number when the difference is smaller than 1\n step = new Decimal(10).pow(Arithmetic.getDigitCount(value) - 1);\n middle = new Decimal(Math.floor(middle.div(step).toNumber())).mul(step);\n } else if (absVal > 1) {\n // Return the maximum integer which is smaller than 'value' when 'value' is greater than 1\n middle = new Decimal(Math.floor(value));\n }\n } else if (value === 0) {\n middle = new Decimal(Math.floor((tickCount - 1) / 2));\n } else if (!allowDecimals) {\n middle = new Decimal(Math.floor(value));\n }\n\n var middleIndex = Math.floor((tickCount - 1) / 2);\n var fn = compose(map(function (n) {\n return middle.add(new Decimal(n - middleIndex).mul(step)).toNumber();\n }), range);\n return fn(0, tickCount);\n}\n/**\n * Calculate the step\n *\n * @param {Number} min The minimum value of an interval\n * @param {Number} max The maximum value of an interval\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @param {Number} correctionFactor A correction factor\n * @return {Object} The step, minimum value of ticks, maximum value of ticks\n */\n\n\nfunction calculateStep(min, max, tickCount, allowDecimals) {\n var correctionFactor = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n\n // dirty hack (for recharts' test)\n if (!Number.isFinite((max - min) / (tickCount - 1))) {\n return {\n step: new Decimal(0),\n tickMin: new Decimal(0),\n tickMax: new Decimal(0)\n };\n } // The step which is easy to understand between two ticks\n\n\n var step = getFormatStep(new Decimal(max).sub(min).div(tickCount - 1), allowDecimals, correctionFactor); // A medial value of ticks\n\n var middle; // When 0 is inside the interval, 0 should be a tick\n\n if (min <= 0 && max >= 0) {\n middle = new Decimal(0);\n } else {\n // calculate the middle value\n middle = new Decimal(min).add(max).div(2); // minus modulo value\n\n middle = middle.sub(new Decimal(middle).mod(step));\n }\n\n var belowCount = Math.ceil(middle.sub(min).div(step).toNumber());\n var upCount = Math.ceil(new Decimal(max).sub(middle).div(step).toNumber());\n var scaleCount = belowCount + upCount + 1;\n\n if (scaleCount > tickCount) {\n // When more ticks need to cover the interval, step should be bigger.\n return calculateStep(min, max, tickCount, allowDecimals, correctionFactor + 1);\n }\n\n if (scaleCount < tickCount) {\n // When less ticks can cover the interval, we should add some additional ticks\n upCount = max > 0 ? upCount + (tickCount - scaleCount) : upCount;\n belowCount = max > 0 ? belowCount : belowCount + (tickCount - scaleCount);\n }\n\n return {\n step: step,\n tickMin: middle.sub(new Decimal(belowCount).mul(step)),\n tickMax: middle.add(new Decimal(upCount).mul(step))\n };\n}\n/**\n * Calculate the ticks of an interval, the count of ticks will be guraranteed\n *\n * @param {Number} min, max min: The minimum value, max: The maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getNiceTickValuesFn(_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n min = _ref4[0],\n max = _ref4[1];\n\n var tickCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 6;\n var allowDecimals = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n // More than two ticks should be return\n var count = Math.max(tickCount, 2);\n\n var _getValidInterval = getValidInterval([min, max]),\n _getValidInterval2 = _slicedToArray(_getValidInterval, 2),\n cormin = _getValidInterval2[0],\n cormax = _getValidInterval2[1];\n\n if (cormin === -Infinity || cormax === Infinity) {\n var _values = cormax === Infinity ? [cormin].concat(_toConsumableArray(range(0, tickCount - 1).map(function () {\n return Infinity;\n }))) : [].concat(_toConsumableArray(range(0, tickCount - 1).map(function () {\n return -Infinity;\n })), [cormax]);\n\n return min > max ? reverse(_values) : _values;\n }\n\n if (cormin === cormax) {\n return getTickOfSingleValue(cormin, tickCount, allowDecimals);\n } // Get the step between two ticks\n\n\n var _calculateStep = calculateStep(cormin, cormax, count, allowDecimals),\n step = _calculateStep.step,\n tickMin = _calculateStep.tickMin,\n tickMax = _calculateStep.tickMax;\n\n var values = Arithmetic.rangeStep(tickMin, tickMax.add(new Decimal(0.1).mul(step)), step);\n return min > max ? reverse(values) : values;\n}\n/**\n * Calculate the ticks of an interval, the count of ticks won't be guraranteed\n *\n * @param {Number} min, max min: The minimum value, max: The maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getTickValuesFn(_ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n min = _ref6[0],\n max = _ref6[1];\n\n var tickCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 6;\n var allowDecimals = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n // More than two ticks should be return\n var count = Math.max(tickCount, 2);\n\n var _getValidInterval3 = getValidInterval([min, max]),\n _getValidInterval4 = _slicedToArray(_getValidInterval3, 2),\n cormin = _getValidInterval4[0],\n cormax = _getValidInterval4[1];\n\n if (cormin === -Infinity || cormax === Infinity) {\n return [min, max];\n }\n\n if (cormin === cormax) {\n return getTickOfSingleValue(cormin, tickCount, allowDecimals);\n }\n\n var step = getFormatStep(new Decimal(cormax).sub(cormin).div(count - 1), allowDecimals, 0);\n var fn = compose(map(function (n) {\n return new Decimal(cormin).add(new Decimal(n).mul(step)).toNumber();\n }), range);\n var values = fn(0, count).filter(function (entry) {\n return entry >= cormin && entry <= cormax;\n });\n return min > max ? reverse(values) : values;\n}\n/**\n * Calculate the ticks of an interval, the count of ticks won't be guraranteed,\n * but the domain will be guaranteed\n *\n * @param {Number} min, max min: The minimum value, max: The maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getTickValuesFixedDomainFn(_ref7, tickCount) {\n var _ref8 = _slicedToArray(_ref7, 2),\n min = _ref8[0],\n max = _ref8[1];\n\n var allowDecimals = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n // More than two ticks should be return\n var _getValidInterval5 = getValidInterval([min, max]),\n _getValidInterval6 = _slicedToArray(_getValidInterval5, 2),\n cormin = _getValidInterval6[0],\n cormax = _getValidInterval6[1];\n\n if (cormin === -Infinity || cormax === Infinity) {\n return [min, max];\n }\n\n if (cormin === cormax) {\n return [cormin];\n }\n\n var count = Math.max(tickCount, 2);\n var step = getFormatStep(new Decimal(cormax).sub(cormin).div(count - 1), allowDecimals, 0);\n var values = [].concat(_toConsumableArray(Arithmetic.rangeStep(new Decimal(cormin), new Decimal(cormax).sub(new Decimal(0.99).mul(step)), step)), [cormax]);\n return min > max ? reverse(values) : values;\n}\n\nexport var getNiceTickValues = memoize(getNiceTickValuesFn);\nexport var getTickValues = memoize(getTickValuesFn);\nexport var getTickValuesFixedDomain = memoize(getTickValuesFixedDomainFn);","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n let r0 = Math.round(start / step), r1 = Math.round(stop / step);\n if (r0 * step < start) ++r0;\n if (r1 * step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) * step;\n } else {\n step = -step;\n let r0 = Math.round(start * step), r1 = Math.round(stop * step);\n if (r0 / step < start) ++r0;\n if (r1 / step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending.js\";\n\nexport default function(f) {\n let delta = f;\n let compare = f;\n\n if (f.length === 1) {\n delta = (d, x) => f(d) - x;\n compare = ascendingComparator(f);\n }\n\n function left(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n }\n\n function right(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n\n function center(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction ascendingComparator(f) {\n return (d, x) => ascending(f(d), x);\n}\n","export default function(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","import {linearish} from \"./linear.js\";\nimport number from \"./number.js\";\n\nexport default function identity(domain) {\n var unknown;\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : x;\n }\n\n scale.invert = scale;\n\n scale.domain = scale.range = function(_) {\n return arguments.length ? (domain = Array.from(_, number), scale) : domain.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return identity(domain).unknown(unknown);\n };\n\n domain = arguments.length ? Array.from(domain, number) : [0, 1];\n\n return linearish(scale);\n}\n","export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","import {ticks} from \"d3-array\";\nimport {format} from \"d3-format\";\nimport nice from \"./nice.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformLog(x) {\n return Math.log(x);\n}\n\nfunction transformExp(x) {\n return Math.exp(x);\n}\n\nfunction transformLogn(x) {\n return -Math.log(-x);\n}\n\nfunction transformExpn(x) {\n return -Math.exp(-x);\n}\n\nfunction pow10(x) {\n return isFinite(x) ? +(\"1e\" + x) : x < 0 ? 0 : x;\n}\n\nfunction powp(base) {\n return base === 10 ? pow10\n : base === Math.E ? Math.exp\n : function(x) { return Math.pow(base, x); };\n}\n\nfunction logp(base) {\n return base === Math.E ? Math.log\n : base === 10 && Math.log10\n || base === 2 && Math.log2\n || (base = Math.log(base), function(x) { return Math.log(x) / base; });\n}\n\nfunction reflect(f) {\n return function(x) {\n return -f(-x);\n };\n}\n\nexport function loggish(transform) {\n var scale = transform(transformLog, transformExp),\n domain = scale.domain,\n base = 10,\n logs,\n pows;\n\n function rescale() {\n logs = logp(base), pows = powp(base);\n if (domain()[0] < 0) {\n logs = reflect(logs), pows = reflect(pows);\n transform(transformLogn, transformExpn);\n } else {\n transform(transformLog, transformExp);\n }\n return scale;\n }\n\n scale.base = function(_) {\n return arguments.length ? (base = +_, rescale()) : base;\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.ticks = function(count) {\n var d = domain(),\n u = d[0],\n v = d[d.length - 1],\n r;\n\n if (r = v < u) i = u, u = v, v = i;\n\n var i = logs(u),\n j = logs(v),\n p,\n k,\n t,\n n = count == null ? 10 : +count,\n z = [];\n\n if (!(base % 1) && j - i < n) {\n i = Math.floor(i), j = Math.ceil(j);\n if (u > 0) for (; i <= j; ++i) {\n for (k = 1, p = pows(i); k < base; ++k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n } else for (; i <= j; ++i) {\n for (k = base - 1, p = pows(i); k >= 1; --k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n }\n if (z.length * 2 < n) z = ticks(u, v, n);\n } else {\n z = ticks(i, j, Math.min(j - i, n)).map(pows);\n }\n\n return r ? z.reverse() : z;\n };\n\n scale.tickFormat = function(count, specifier) {\n if (specifier == null) specifier = base === 10 ? \".0e\" : \",\";\n if (typeof specifier !== \"function\") specifier = format(specifier);\n if (count === Infinity) return specifier;\n if (count == null) count = 10;\n var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?\n return function(d) {\n var i = d / pows(Math.round(logs(d)));\n if (i * base < base - 0.5) i *= base;\n return i <= k ? specifier(d) : \"\";\n };\n };\n\n scale.nice = function() {\n return domain(nice(domain(), {\n floor: function(x) { return pows(Math.floor(logs(x))); },\n ceil: function(x) { return pows(Math.ceil(logs(x))); }\n }));\n };\n\n return scale;\n}\n\nexport default function log() {\n var scale = loggish(transformer()).domain([1, 10]);\n\n scale.copy = function() {\n return copy(scale, log()).base(scale.base());\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","import {linearish} from \"./linear.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformSymlog(c) {\n return function(x) {\n return Math.sign(x) * Math.log1p(Math.abs(x / c));\n };\n}\n\nfunction transformSymexp(c) {\n return function(x) {\n return Math.sign(x) * Math.expm1(Math.abs(x)) * c;\n };\n}\n\nexport function symlogish(transform) {\n var c = 1, scale = transform(transformSymlog(c), transformSymexp(c));\n\n scale.constant = function(_) {\n return arguments.length ? transform(transformSymlog(c = +_), transformSymexp(c)) : c;\n };\n\n return linearish(scale);\n}\n\nexport default function symlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, symlog()).constant(scale.constant());\n };\n\n return initRange.apply(scale, arguments);\n}\n","import {linearish} from \"./linear.js\";\nimport {copy, identity, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformPow(exponent) {\n return function(x) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n };\n}\n\nfunction transformSqrt(x) {\n return x < 0 ? -Math.sqrt(-x) : Math.sqrt(x);\n}\n\nfunction transformSquare(x) {\n return x < 0 ? -x * x : x * x;\n}\n\nexport function powish(transform) {\n var scale = transform(identity, identity),\n exponent = 1;\n\n function rescale() {\n return exponent === 1 ? transform(identity, identity)\n : exponent === 0.5 ? transform(transformSqrt, transformSquare)\n : transform(transformPow(exponent), transformPow(1 / exponent));\n }\n\n scale.exponent = function(_) {\n return arguments.length ? (exponent = +_, rescale()) : exponent;\n };\n\n return linearish(scale);\n}\n\nexport default function pow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, pow()).exponent(scale.exponent());\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n\nexport function sqrt() {\n return pow.apply(null, arguments).exponent(0.5);\n}\n","import continuous from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport number from \"./number.js\";\n\nfunction square(x) {\n return Math.sign(x) * x * x;\n}\n\nfunction unsquare(x) {\n return Math.sign(x) * Math.sqrt(Math.abs(x));\n}\n\nexport default function radial() {\n var squared = continuous(),\n range = [0, 1],\n round = false,\n unknown;\n\n function scale(x) {\n var y = unsquare(squared(x));\n return isNaN(y) ? unknown : round ? Math.round(y) : y;\n }\n\n scale.invert = function(y) {\n return squared.invert(square(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (squared.domain(_), scale) : squared.domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? (squared.range((range = Array.from(_, number)).map(square)), scale) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return scale.range(_).round(true);\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, scale) : round;\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (squared.clamp(_), scale) : squared.clamp();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return radial(squared.domain(), range)\n .round(round)\n .clamp(squared.clamp())\n .unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n","export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n","import ascending from \"./ascending.js\";\n\n// Based on https://github.com/mourner/quickselect\n// ISC license, Copyright 2018 Vladimir Agafonkin.\nexport default function quickselect(array, k, left = 0, right = array.length - 1, compare = ascending) {\n while (right > left) {\n if (right - left > 600) {\n const n = right - left + 1;\n const m = k - left + 1;\n const z = Math.log(n);\n const s = 0.5 * Math.exp(2 * z / 3);\n const sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1);\n const newLeft = Math.max(left, Math.floor(k - m * s / n + sd));\n const newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd));\n quickselect(array, k, newLeft, newRight, compare);\n }\n\n const t = array[k];\n let i = left;\n let j = right;\n\n swap(array, left, k);\n if (compare(array[right], t) > 0) swap(array, left, right);\n\n while (i < j) {\n swap(array, i, j), ++i, --j;\n while (compare(array[i], t) < 0) ++i;\n while (compare(array[j], t) > 0) --j;\n }\n\n if (compare(array[left], t) === 0) swap(array, left, j);\n else ++j, swap(array, j, right);\n\n if (j <= k) left = j + 1;\n if (k <= j) right = j - 1;\n }\n return array;\n}\n\nfunction swap(array, i, j) {\n const t = array[i];\n array[i] = array[j];\n array[j] = t;\n}\n","import max from \"./max.js\";\nimport min from \"./min.js\";\nimport quickselect from \"./quickselect.js\";\nimport number, {numbers} from \"./number.js\";\n\nexport default function quantile(values, p, valueof) {\n values = Float64Array.from(numbers(values, valueof));\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return min(values);\n if (p >= 1) return max(values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = max(quickselect(values, i0).subarray(0, i0 + 1)),\n value1 = min(values.subarray(i0 + 1));\n return value0 + (value1 - value0) * (i - i0);\n}\n\nexport function quantileSorted(values, p, valueof = number) {\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = +valueof(values[i0], i0, values),\n value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n}\n","import {ascending, bisect, quantileSorted as threshold} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport default function quantile() {\n var domain = [],\n range = [],\n thresholds = [],\n unknown;\n\n function rescale() {\n var i = 0, n = Math.max(1, range.length);\n thresholds = new Array(n - 1);\n while (++i < n) thresholds[i - 1] = threshold(domain, i / n);\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : range[bisect(thresholds, x)];\n }\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN] : [\n i > 0 ? thresholds[i - 1] : domain[0],\n i < thresholds.length ? thresholds[i] : domain[domain.length - 1]\n ];\n };\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return rescale();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.quantiles = function() {\n return thresholds.slice();\n };\n\n scale.copy = function() {\n return quantile()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(scale, arguments);\n}\n","import {bisect} from \"d3-array\";\nimport {linearish} from \"./linear.js\";\nimport {initRange} from \"./init.js\";\n\nexport default function quantize() {\n var x0 = 0,\n x1 = 1,\n n = 1,\n domain = [0.5],\n range = [0, 1],\n unknown;\n\n function scale(x) {\n return x != null && x <= x ? range[bisect(domain, x, 0, n)] : unknown;\n }\n\n function rescale() {\n var i = -1;\n domain = new Array(n);\n while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);\n return scale;\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1] = _, x0 = +x0, x1 = +x1, rescale()) : [x0, x1];\n };\n\n scale.range = function(_) {\n return arguments.length ? (n = (range = Array.from(_)).length - 1, rescale()) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN]\n : i < 1 ? [x0, domain[0]]\n : i >= n ? [domain[n - 1], x1]\n : [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : scale;\n };\n\n scale.thresholds = function() {\n return domain.slice();\n };\n\n scale.copy = function() {\n return quantize()\n .domain([x0, x1])\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(linearish(scale), arguments);\n}\n","import {bisect} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport default function threshold() {\n var domain = [0.5],\n range = [0, 1],\n unknown,\n n = 1;\n\n function scale(x) {\n return x != null && x <= x ? range[bisect(domain, x, 0, n)] : unknown;\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return threshold()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(scale, arguments);\n}\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = function(date) {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","import interval from \"./interval.js\";\n\nvar millisecond = interval(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;\n","import interval from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nvar second = interval(function(date) {\n date.setTime(date - date.getMilliseconds());\n}, function(date, step) {\n date.setTime(+date + step * durationSecond);\n}, function(start, end) {\n return (end - start) / durationSecond;\n}, function(date) {\n return date.getUTCSeconds();\n});\n\nexport default second;\nexport var seconds = second.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nvar minute = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getMinutes();\n});\n\nexport default minute;\nexport var minutes = minute.range;\n","import interval from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nvar hour = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getHours();\n});\n\nexport default hour;\nexport var hours = hour.range;\n","import interval from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nvar day = interval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport default day;\nexport var days = day.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval.js\";\n\nvar month = interval(function(date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setMonth(date.getMonth() + step);\n}, function(start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function(date) {\n return date.getMonth();\n});\n\nexport default month;\nexport var months = month.range;\n","import interval from \"./interval.js\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","import interval from \"./interval.js\";\nimport {durationMinute} from \"./duration.js\";\n\nvar utcMinute = interval(function(date) {\n date.setUTCSeconds(0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getUTCMinutes();\n});\n\nexport default utcMinute;\nexport var utcMinutes = utcMinute.range;\n","import interval from \"./interval.js\";\nimport {durationHour} from \"./duration.js\";\n\nvar utcHour = interval(function(date) {\n date.setUTCMinutes(0, 0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getUTCHours();\n});\n\nexport default utcHour;\nexport var utcHours = utcHour.range;\n","import interval from \"./interval.js\";\nimport {durationDay} from \"./duration.js\";\n\nvar utcDay = interval(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / durationDay;\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\nexport default utcDay;\nexport var utcDays = utcDay.range;\n","import interval from \"./interval.js\";\nimport {durationWeek} from \"./duration.js\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval.js\";\n\nvar utcMonth = interval(function(date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function(start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function(date) {\n return date.getUTCMonth();\n});\n\nexport default utcMonth;\nexport var utcMonths = utcMonth.range;\n","import interval from \"./interval.js\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport millisecond from \"./millisecond.js\";\nimport second from \"./second.js\";\nimport minute from \"./minute.js\";\nimport hour from \"./hour.js\";\nimport day from \"./day.js\";\nimport {sunday as week} from \"./week.js\";\nimport month from \"./month.js\";\nimport year from \"./year.js\";\nimport utcMinute from \"./utcMinute.js\";\nimport utcHour from \"./utcHour.js\";\nimport utcDay from \"./utcDay.js\";\nimport {utcSunday as utcWeek} from \"./utcWeek.js\";\nimport utcMonth from \"./utcMonth.js\";\nimport utcYear from \"./utcYear.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(year, month, week, day, hour, minute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n","import {utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcTicks, utcTickInterval} from \"d3-time\";\nimport {utcFormat} from \"d3-time-format\";\nimport {calendar} from \"./time.js\";\nimport {initRange} from \"./init.js\";\n\nexport default function utcTime() {\n return initRange.apply(calendar(utcTicks, utcTickInterval, utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]), arguments);\n}\n","import {interpolate, interpolateRound} from \"d3-interpolate\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport {loggish} from \"./log.js\";\nimport {symlogish} from \"./symlog.js\";\nimport {powish} from \"./pow.js\";\n\nfunction transformer() {\n var x0 = 0,\n x1 = 1,\n t0,\n t1,\n k10,\n transform,\n interpolator = identity,\n clamp = false,\n unknown;\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : interpolator(k10 === 0 ? 0.5 : (x = (transform(x) - t0) * k10, clamp ? Math.max(0, Math.min(1, x)) : x));\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0), scale) : [x0, x1];\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n function range(interpolate) {\n return function(_) {\n var r0, r1;\n return arguments.length ? ([r0, r1] = _, interpolator = interpolate(r0, r1), scale) : [interpolator(0), interpolator(1)];\n };\n }\n\n scale.range = range(interpolate);\n\n scale.rangeRound = range(interpolateRound);\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t) {\n transform = t, t0 = t(x0), t1 = t(x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0);\n return scale;\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .interpolator(source.interpolator())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport default function sequential() {\n var scale = linearish(transformer()(identity));\n\n scale.copy = function() {\n return copy(scale, sequential());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialLog() {\n var scale = loggish(transformer()).domain([1, 10]);\n\n scale.copy = function() {\n return copy(scale, sequentialLog()).base(scale.base());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialSymlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, sequentialSymlog()).constant(scale.constant());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialPow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, sequentialPow()).exponent(scale.exponent());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialSqrt() {\n return sequentialPow.apply(null, arguments).exponent(0.5);\n}\n","import {ascending, bisect, quantile} from \"d3-array\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\n\nexport default function sequentialQuantile() {\n var domain = [],\n interpolator = identity;\n\n function scale(x) {\n if (x != null && !isNaN(x = +x)) return interpolator((bisect(domain, x, 1) - 1) / (domain.length - 1));\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return scale;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n scale.range = function() {\n return domain.map((d, i) => interpolator(i / (domain.length - 1)));\n };\n\n scale.quantiles = function(n) {\n return Array.from({length: n + 1}, (_, i) => quantile(domain, i / n));\n };\n\n scale.copy = function() {\n return sequentialQuantile(interpolator).domain(domain);\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n","import {default as value} from \"./value.js\";\n\nexport default function piecewise(interpolate, values) {\n if (values === undefined) values = interpolate, interpolate = value;\n var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n);\n while (i < n) I[i] = interpolate(v, v = values[++i]);\n return function(t) {\n var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n)));\n return I[i](t - i);\n };\n}\n","import {interpolate, interpolateRound, piecewise} from \"d3-interpolate\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport {loggish} from \"./log.js\";\nimport {copy} from \"./sequential.js\";\nimport {symlogish} from \"./symlog.js\";\nimport {powish} from \"./pow.js\";\n\nfunction transformer() {\n var x0 = 0,\n x1 = 0.5,\n x2 = 1,\n s = 1,\n t0,\n t1,\n t2,\n k10,\n k21,\n interpolator = identity,\n transform,\n clamp = false,\n unknown;\n\n function scale(x) {\n return isNaN(x = +x) ? unknown : (x = 0.5 + ((x = +transform(x)) - t1) * (s * x < s * t1 ? k10 : k21), interpolator(clamp ? Math.max(0, Math.min(1, x)) : x));\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1, x2] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), t2 = transform(x2 = +x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), s = t1 < t0 ? -1 : 1, scale) : [x0, x1, x2];\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n function range(interpolate) {\n return function(_) {\n var r0, r1, r2;\n return arguments.length ? ([r0, r1, r2] = _, interpolator = piecewise(interpolate, [r0, r1, r2]), scale) : [interpolator(0), interpolator(0.5), interpolator(1)];\n };\n }\n\n scale.range = range(interpolate);\n\n scale.rangeRound = range(interpolateRound);\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t) {\n transform = t, t0 = t(x0), t1 = t(x1), t2 = t(x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), s = t1 < t0 ? -1 : 1;\n return scale;\n };\n}\n\nexport default function diverging() {\n var scale = linearish(transformer()(identity));\n\n scale.copy = function() {\n return copy(scale, diverging());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingLog() {\n var scale = loggish(transformer()).domain([0.1, 1, 10]);\n\n scale.copy = function() {\n return copy(scale, divergingLog()).base(scale.base());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingSymlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, divergingSymlog()).constant(scale.constant());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingPow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, divergingPow()).exponent(scale.exponent());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingSqrt() {\n return divergingPow.apply(null, arguments).exponent(0.5);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n}\n","export default function(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport offsetNone from \"./offset/none.js\";\nimport orderNone from \"./order/none.js\";\n\nfunction stackValue(d, key) {\n return d[key];\n}\n\nfunction stackSeries(key) {\n const series = [];\n series.key = key;\n return series;\n}\n\nexport default function() {\n var keys = constant([]),\n order = orderNone,\n offset = offsetNone,\n value = stackValue;\n\n function stack(data) {\n var sz = Array.from(keys.apply(this, arguments), stackSeries),\n i, n = sz.length, j = -1,\n oz;\n\n for (const d of data) {\n for (i = 0, ++j; i < n; ++i) {\n (sz[i][j] = [0, +value(d, sz[i].key, j, data)]).data = d;\n }\n }\n\n for (i = 0, oz = array(order(sz)); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n\n offset(sz, oz);\n return sz;\n }\n\n stack.keys = function(_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : constant(Array.from(_)), stack) : keys;\n };\n\n stack.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), stack) : value;\n };\n\n stack.order = function(_) {\n return arguments.length ? (order = _ == null ? orderNone : typeof _ === \"function\" ? _ : constant(Array.from(_)), stack) : order;\n };\n\n stack.offset = function(_) {\n return arguments.length ? (offset = _ == null ? offsetNone : _, stack) : offset;\n };\n\n return stack;\n}\n","import _isEqual from \"lodash/isEqual\";\nimport _sortBy from \"lodash/sortBy\";\nimport _isNaN from \"lodash/isNaN\";\nimport _upperFirst from \"lodash/upperFirst\";\nimport _isString from \"lodash/isString\";\nimport _isArray from \"lodash/isArray\";\nimport _max from \"lodash/max\";\nimport _min from \"lodash/min\";\nimport _flatMap from \"lodash/flatMap\";\nimport _isFunction from \"lodash/isFunction\";\nimport _get from \"lodash/get\";\nimport _isNil from \"lodash/isNil\";\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 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\nimport { getNiceTickValues, getTickValuesFixedDomain } from 'recharts-scale';\nimport * as d3Scales from 'd3-scale';\nimport { stack as shapeStack, stackOrderNone, stackOffsetExpand, stackOffsetNone, stackOffsetSilhouette, stackOffsetWiggle } from 'd3-shape';\nimport { isNumOrStr, uniqueId, isNumber, getPercentValue, mathSign, findEntryInArray } from './DataUtils';\nimport { Legend } from '../component/Legend';\nimport { findAllByType, findChildByType, getDisplayName } from './ReactUtils'; // TODO: Cause of circular dependency. Needs refactor.\n// import { RadiusAxisProps, AngleAxisProps } from '../polar/types';\n\nimport { filterProps } from './types';\nexport function getValueByDataKey(obj, dataKey, defaultValue) {\n if (_isNil(obj) || _isNil(dataKey)) {\n return defaultValue;\n }\n\n if (isNumOrStr(dataKey)) {\n return _get(obj, dataKey, defaultValue);\n }\n\n if (_isFunction(dataKey)) {\n return dataKey(obj);\n }\n\n return defaultValue;\n}\n/**\n * Get domain of data by key\n * @param {Array} data The data displayed in the chart\n * @param {String} key The unique key of a group of data\n * @param {String} type The type of axis\n * @param {Boolean} filterNil Whether or not filter nil values\n * @return {Array} Domain of data\n */\n\nexport function getDomainOfDataByKey(data, key, type, filterNil) {\n var flattenData = _flatMap(data, function (entry) {\n return getValueByDataKey(entry, key);\n });\n\n if (type === 'number') {\n var domain = flattenData.filter(function (entry) {\n return isNumber(entry) || parseFloat(entry);\n });\n return domain.length ? [_min(domain), _max(domain)] : [Infinity, -Infinity];\n }\n\n var validateData = filterNil ? flattenData.filter(function (entry) {\n return !_isNil(entry);\n }) : flattenData; // 支持Date类型的x轴\n\n return validateData.map(function (entry) {\n return isNumOrStr(entry) || entry instanceof Date ? entry : '';\n });\n}\nexport var calculateActiveTickIndex = function calculateActiveTickIndex(coordinate) {\n var _ticks$length;\n\n var ticks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var unsortedTicks = arguments.length > 2 ? arguments[2] : undefined;\n var axis = arguments.length > 3 ? arguments[3] : undefined;\n var index = -1;\n var len = (_ticks$length = ticks === null || ticks === void 0 ? void 0 : ticks.length) !== null && _ticks$length !== void 0 ? _ticks$length : 0;\n\n if (len > 1) {\n if (axis && axis.axisType === 'angleAxis' && Math.abs(Math.abs(axis.range[1] - axis.range[0]) - 360) <= 1e-6) {\n var range = axis.range; // ticks are distributed in a circle\n\n for (var i = 0; i < len; i++) {\n var before = i > 0 ? unsortedTicks[i - 1].coordinate : unsortedTicks[len - 1].coordinate;\n var cur = unsortedTicks[i].coordinate;\n var after = i >= len - 1 ? unsortedTicks[0].coordinate : unsortedTicks[i + 1].coordinate;\n var sameDirectionCoord = void 0;\n\n if (mathSign(cur - before) !== mathSign(after - cur)) {\n var diffInterval = [];\n\n if (mathSign(after - cur) === mathSign(range[1] - range[0])) {\n sameDirectionCoord = after;\n var curInRange = cur + range[1] - range[0];\n diffInterval[0] = Math.min(curInRange, (curInRange + before) / 2);\n diffInterval[1] = Math.max(curInRange, (curInRange + before) / 2);\n } else {\n sameDirectionCoord = before;\n var afterInRange = after + range[1] - range[0];\n diffInterval[0] = Math.min(cur, (afterInRange + cur) / 2);\n diffInterval[1] = Math.max(cur, (afterInRange + cur) / 2);\n }\n\n var sameInterval = [Math.min(cur, (sameDirectionCoord + cur) / 2), Math.max(cur, (sameDirectionCoord + cur) / 2)];\n\n if (coordinate > sameInterval[0] && coordinate <= sameInterval[1] || coordinate >= diffInterval[0] && coordinate <= diffInterval[1]) {\n index = unsortedTicks[i].index;\n break;\n }\n } else {\n var min = Math.min(before, after);\n var max = Math.max(before, after);\n\n if (coordinate > (min + cur) / 2 && coordinate <= (max + cur) / 2) {\n index = unsortedTicks[i].index;\n break;\n }\n }\n }\n } else {\n // ticks are distributed in a single direction\n for (var _i = 0; _i < len; _i++) {\n if (_i === 0 && coordinate <= (ticks[_i].coordinate + ticks[_i + 1].coordinate) / 2 || _i > 0 && _i < len - 1 && coordinate > (ticks[_i].coordinate + ticks[_i - 1].coordinate) / 2 && coordinate <= (ticks[_i].coordinate + ticks[_i + 1].coordinate) / 2 || _i === len - 1 && coordinate > (ticks[_i].coordinate + ticks[_i - 1].coordinate) / 2) {\n index = ticks[_i].index;\n break;\n }\n }\n }\n } else {\n index = 0;\n }\n\n return index;\n};\n/**\n * Get the main color of each graphic item\n * @param {ReactElement} item A graphic item\n * @return {String} Color\n */\n\nexport var getMainColorOfGraphicItem = function getMainColorOfGraphicItem(item) {\n var _ref = item,\n displayName = _ref.type.displayName; // TODO: check if displayName is valid.\n\n var _item$props = item.props,\n stroke = _item$props.stroke,\n fill = _item$props.fill;\n var result;\n\n switch (displayName) {\n case 'Line':\n result = stroke;\n break;\n\n case 'Area':\n case 'Radar':\n result = stroke && stroke !== 'none' ? stroke : fill;\n break;\n\n default:\n result = fill;\n break;\n }\n\n return result;\n};\nexport var getLegendProps = function getLegendProps(_ref2) {\n var children = _ref2.children,\n formattedGraphicalItems = _ref2.formattedGraphicalItems,\n legendWidth = _ref2.legendWidth,\n legendContent = _ref2.legendContent;\n var legendItem = findChildByType(children, Legend.displayName);\n\n if (!legendItem) {\n return null;\n }\n\n var legendData;\n\n if (legendItem.props && legendItem.props.payload) {\n legendData = legendItem.props && legendItem.props.payload;\n } else if (legendContent === 'children') {\n legendData = (formattedGraphicalItems || []).reduce(function (result, _ref3) {\n var item = _ref3.item,\n props = _ref3.props;\n var data = props.sectors || props.data || [];\n return result.concat(data.map(function (entry) {\n return {\n type: legendItem.props.iconType || item.props.legendType,\n value: entry.name,\n color: entry.fill,\n payload: entry\n };\n }));\n }, []);\n } else {\n legendData = (formattedGraphicalItems || []).map(function (_ref4) {\n var item = _ref4.item;\n var _item$props2 = item.props,\n dataKey = _item$props2.dataKey,\n name = _item$props2.name,\n legendType = _item$props2.legendType,\n hide = _item$props2.hide;\n return {\n inactive: hide,\n dataKey: dataKey,\n type: legendItem.props.iconType || legendType || 'square',\n color: getMainColorOfGraphicItem(item),\n value: name || dataKey,\n payload: item.props\n };\n });\n }\n\n return _objectSpread(_objectSpread(_objectSpread({}, legendItem.props), Legend.getWithHeight(legendItem, legendWidth)), {}, {\n payload: legendData,\n item: legendItem\n });\n};\n/**\n * Calculate the size of all groups for stacked bar graph\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @return {Object} The size of all groups\n */\n\nexport var getBarSizeList = function getBarSizeList(_ref5) {\n var globalSize = _ref5.barSize,\n _ref5$stackGroups = _ref5.stackGroups,\n stackGroups = _ref5$stackGroups === void 0 ? {} : _ref5$stackGroups;\n\n if (!stackGroups) {\n return {};\n }\n\n var result = {};\n var numericAxisIds = Object.keys(stackGroups);\n\n for (var i = 0, len = numericAxisIds.length; i < len; i++) {\n var sgs = stackGroups[numericAxisIds[i]].stackGroups;\n var stackIds = Object.keys(sgs);\n\n for (var j = 0, sLen = stackIds.length; j < sLen; j++) {\n var _sgs$stackIds$j = sgs[stackIds[j]],\n items = _sgs$stackIds$j.items,\n cateAxisId = _sgs$stackIds$j.cateAxisId;\n var barItems = items.filter(function (item) {\n return getDisplayName(item.type).indexOf('Bar') >= 0;\n });\n\n if (barItems && barItems.length) {\n var selfSize = barItems[0].props.barSize;\n var cateId = barItems[0].props[cateAxisId];\n\n if (!result[cateId]) {\n result[cateId] = [];\n }\n\n result[cateId].push({\n item: barItems[0],\n stackList: barItems.slice(1),\n barSize: _isNil(selfSize) ? globalSize : selfSize\n });\n }\n }\n }\n\n return result;\n};\n/**\n * Calculate the size of each bar and the gap between two bars\n * @param {Number} bandSize The size of each category\n * @param {sizeList} sizeList The size of all groups\n * @param {maxBarSize} maxBarSize The maximum size of bar\n * @return {Number} The size of each bar and the gap between two bars\n */\n\nexport var getBarPosition = function getBarPosition(_ref6) {\n var barGap = _ref6.barGap,\n barCategoryGap = _ref6.barCategoryGap,\n bandSize = _ref6.bandSize,\n _ref6$sizeList = _ref6.sizeList,\n sizeList = _ref6$sizeList === void 0 ? [] : _ref6$sizeList,\n maxBarSize = _ref6.maxBarSize;\n var len = sizeList.length;\n if (len < 1) return null;\n var realBarGap = getPercentValue(barGap, bandSize, 0, true);\n var result; // whether or not is barSize setted by user\n\n if (sizeList[0].barSize === +sizeList[0].barSize) {\n var useFull = false;\n var fullBarSize = bandSize / len;\n var sum = sizeList.reduce(function (res, entry) {\n return res + entry.barSize || 0;\n }, 0);\n sum += (len - 1) * realBarGap;\n\n if (sum >= bandSize) {\n sum -= (len - 1) * realBarGap;\n realBarGap = 0;\n }\n\n if (sum >= bandSize && fullBarSize > 0) {\n useFull = true;\n fullBarSize *= 0.9;\n sum = len * fullBarSize;\n }\n\n var offset = (bandSize - sum) / 2 >> 0;\n var prev = {\n offset: offset - realBarGap,\n size: 0\n };\n result = sizeList.reduce(function (res, entry) {\n var newRes = [].concat(_toConsumableArray(res), [{\n item: entry.item,\n position: {\n offset: prev.offset + prev.size + realBarGap,\n size: useFull ? fullBarSize : entry.barSize\n }\n }]);\n prev = newRes[newRes.length - 1].position;\n\n if (entry.stackList && entry.stackList.length) {\n entry.stackList.forEach(function (item) {\n newRes.push({\n item: item,\n position: prev\n });\n });\n }\n\n return newRes;\n }, []);\n } else {\n var _offset = getPercentValue(barCategoryGap, bandSize, 0, true);\n\n if (bandSize - 2 * _offset - (len - 1) * realBarGap <= 0) {\n realBarGap = 0;\n }\n\n var originalSize = (bandSize - 2 * _offset - (len - 1) * realBarGap) / len;\n\n if (originalSize > 1) {\n originalSize >>= 0;\n }\n\n var size = maxBarSize === +maxBarSize ? Math.min(originalSize, maxBarSize) : originalSize;\n result = sizeList.reduce(function (res, entry, i) {\n var newRes = [].concat(_toConsumableArray(res), [{\n item: entry.item,\n position: {\n offset: _offset + (originalSize + realBarGap) * i + (originalSize - size) / 2,\n size: size\n }\n }]);\n\n if (entry.stackList && entry.stackList.length) {\n entry.stackList.forEach(function (item) {\n newRes.push({\n item: item,\n position: newRes[newRes.length - 1].position\n });\n });\n }\n\n return newRes;\n }, []);\n }\n\n return result;\n};\nexport var appendOffsetOfLegend = function appendOffsetOfLegend(offset, items, props, legendBox) {\n var children = props.children,\n width = props.width,\n margin = props.margin;\n var legendWidth = width - (margin.left || 0) - (margin.right || 0); // const legendHeight = height - (margin.top || 0) - (margin.bottom || 0);\n\n var legendProps = getLegendProps({\n children: children,\n legendWidth: legendWidth\n });\n var newOffset = offset;\n\n if (legendProps) {\n var box = legendBox || {};\n var align = legendProps.align,\n verticalAlign = legendProps.verticalAlign,\n layout = legendProps.layout;\n\n if ((layout === 'vertical' || layout === 'horizontal' && verticalAlign === 'center') && isNumber(offset[align])) {\n newOffset = _objectSpread(_objectSpread({}, offset), {}, _defineProperty({}, align, newOffset[align] + (box.width || 0)));\n }\n\n if ((layout === 'horizontal' || layout === 'vertical' && align === 'center') && isNumber(offset[verticalAlign])) {\n newOffset = _objectSpread(_objectSpread({}, offset), {}, _defineProperty({}, verticalAlign, newOffset[verticalAlign] + (box.height || 0)));\n }\n }\n\n return newOffset;\n};\nexport var getDomainOfErrorBars = function getDomainOfErrorBars(data, item, dataKey, axisType) {\n var children = item.props.children;\n var errorBars = findAllByType(children, 'ErrorBar').filter(function (errorBarChild) {\n var direction = errorBarChild.props.direction;\n return _isNil(direction) || _isNil(axisType) ? true : axisType.indexOf(direction) >= 0;\n });\n\n if (errorBars && errorBars.length) {\n var keys = errorBars.map(function (errorBarChild) {\n return errorBarChild.props.dataKey;\n });\n return data.reduce(function (result, entry) {\n var entryValue = getValueByDataKey(entry, dataKey, 0);\n var mainValue = _isArray(entryValue) ? [_min(entryValue), _max(entryValue)] : [entryValue, entryValue];\n var errorDomain = keys.reduce(function (prevErrorArr, k) {\n var errorValue = getValueByDataKey(entry, k, 0);\n var lowerValue = mainValue[0] - Math.abs(_isArray(errorValue) ? errorValue[0] : errorValue);\n var upperValue = mainValue[1] + Math.abs(_isArray(errorValue) ? errorValue[1] : errorValue);\n return [Math.min(lowerValue, prevErrorArr[0]), Math.max(upperValue, prevErrorArr[1])];\n }, [Infinity, -Infinity]);\n return [Math.min(errorDomain[0], result[0]), Math.max(errorDomain[1], result[1])];\n }, [Infinity, -Infinity]);\n }\n\n return null;\n};\nexport var parseErrorBarsOfAxis = function parseErrorBarsOfAxis(data, items, dataKey, axisType) {\n var domains = items.map(function (item) {\n return getDomainOfErrorBars(data, item, dataKey, axisType);\n }).filter(function (entry) {\n return !_isNil(entry);\n });\n\n if (domains && domains.length) {\n return domains.reduce(function (result, entry) {\n return [Math.min(result[0], entry[0]), Math.max(result[1], entry[1])];\n }, [Infinity, -Infinity]);\n }\n\n return null;\n};\n/**\n * Get domain of data by the configuration of item element\n * @param {Array} data The data displayed in the chart\n * @param {Array} items The instances of item\n * @param {String} type The type of axis, number - Number Axis, category - Category Axis\n * @param {Boolean} filterNil Whether or not filter nil values\n * @return {Array} Domain\n */\n\nexport var getDomainOfItemsWithSameAxis = function getDomainOfItemsWithSameAxis(data, items, type, filterNil) {\n var domains = items.map(function (item) {\n var dataKey = item.props.dataKey;\n\n if (type === 'number' && dataKey) {\n return getDomainOfErrorBars(data, item, dataKey) || getDomainOfDataByKey(data, dataKey, type, filterNil);\n }\n\n return getDomainOfDataByKey(data, dataKey, type, filterNil);\n });\n\n if (type === 'number') {\n // Calculate the domain of number axis\n return domains.reduce(function (result, entry) {\n return [Math.min(result[0], entry[0]), Math.max(result[1], entry[1])];\n }, [Infinity, -Infinity]);\n }\n\n var tag = {}; // Get the union set of category axis\n\n return domains.reduce(function (result, entry) {\n for (var i = 0, len = entry.length; i < len; i++) {\n if (!tag[entry[i]]) {\n tag[entry[i]] = true;\n result.push(entry[i]);\n }\n }\n\n return result;\n }, []);\n};\nexport var isCategoricalAxis = function isCategoricalAxis(layout, axisType) {\n return layout === 'horizontal' && axisType === 'xAxis' || layout === 'vertical' && axisType === 'yAxis' || layout === 'centric' && axisType === 'angleAxis' || layout === 'radial' && axisType === 'radiusAxis';\n};\n/**\n * Calculate the Coordinates of grid\n * @param {Array} ticks The ticks in axis\n * @param {Number} min The minimun value of axis\n * @param {Number} max The maximun value of axis\n * @return {Array} Coordinates\n */\n\nexport var getCoordinatesOfGrid = function getCoordinatesOfGrid(ticks, min, max) {\n var hasMin, hasMax;\n var values = ticks.map(function (entry) {\n if (entry.coordinate === min) {\n hasMin = true;\n }\n\n if (entry.coordinate === max) {\n hasMax = true;\n }\n\n return entry.coordinate;\n });\n\n if (!hasMin) {\n values.push(min);\n }\n\n if (!hasMax) {\n values.push(max);\n }\n\n return values;\n};\n/**\n * Get the ticks of an axis\n * @param {Object} axis The configuration of an axis\n * @param {Boolean} isGrid Whether or not are the ticks in grid\n * @param {Boolean} isAll Return the ticks of all the points or not\n * @return {Array} Ticks\n */\n\nexport var getTicksOfAxis = function getTicksOfAxis(axis, isGrid, isAll) {\n if (!axis) return null;\n var scale = axis.scale;\n var duplicateDomain = axis.duplicateDomain,\n type = axis.type,\n range = axis.range;\n var offset = (isGrid || isAll) && type === 'category' && scale.bandwidth ? scale.bandwidth() / 2 : 0;\n offset = axis.axisType === 'angleAxis' ? mathSign(range[0] - range[1]) * 2 * offset : offset; // The ticks setted by user should only affect the ticks adjacent to axis line\n\n if (isGrid && (axis.ticks || axis.niceTicks)) {\n return (axis.ticks || axis.niceTicks).map(function (entry) {\n var scaleContent = duplicateDomain ? duplicateDomain.indexOf(entry) : entry;\n return {\n coordinate: scale(scaleContent) + offset,\n value: entry,\n offset: offset\n };\n });\n } // When axis is a categorial axis, but the type of axis is number or the scale of axis is not \"auto\"\n\n\n if (axis.isCategorical && axis.categoricalDomain) {\n return axis.categoricalDomain.map(function (entry, index) {\n return {\n coordinate: scale(entry) + offset,\n value: entry,\n index: index,\n offset: offset\n };\n });\n }\n\n if (scale.ticks && !isAll) {\n return scale.ticks(axis.tickCount).map(function (entry) {\n return {\n coordinate: scale(entry) + offset,\n value: entry,\n offset: offset\n };\n });\n } // When axis has duplicated text, serial numbers are used to generate scale\n\n\n return scale.domain().map(function (entry, index) {\n return {\n coordinate: scale(entry) + offset,\n value: duplicateDomain ? duplicateDomain[entry] : entry,\n index: index,\n offset: offset\n };\n });\n};\n/**\n * combine the handlers\n * @param {Function} defaultHandler Internal private handler\n * @param {Function} parentHandler Handler function specified in parent component\n * @param {Function} childHandler Handler function specified in child component\n * @return {Function} The combined handler\n */\n\nexport var combineEventHandlers = function combineEventHandlers(defaultHandler, parentHandler, childHandler) {\n var customizedHandler;\n\n if (_isFunction(childHandler)) {\n customizedHandler = childHandler;\n } else if (_isFunction(parentHandler)) {\n customizedHandler = parentHandler;\n }\n\n if (_isFunction(defaultHandler) || customizedHandler) {\n return function (arg1, arg2, arg3, arg4) {\n if (_isFunction(defaultHandler)) {\n defaultHandler(arg1, arg2, arg3, arg4);\n }\n\n if (_isFunction(customizedHandler)) {\n customizedHandler(arg1, arg2, arg3, arg4);\n }\n };\n }\n\n return null;\n};\n/**\n * Parse the scale function of axis\n * @param {Object} axis The option of axis\n * @param {String} chartType The displayName of chart\n * @param {Boolean} hasBar if it has a bar\n * @return {Function} The scale function\n */\n\nexport var parseScale = function parseScale(axis, chartType, hasBar) {\n var scale = axis.scale,\n type = axis.type,\n layout = axis.layout,\n axisType = axis.axisType;\n\n if (scale === 'auto') {\n if (layout === 'radial' && axisType === 'radiusAxis') {\n return {\n scale: d3Scales.scaleBand(),\n realScaleType: 'band'\n };\n }\n\n if (layout === 'radial' && axisType === 'angleAxis') {\n return {\n scale: d3Scales.scaleLinear(),\n realScaleType: 'linear'\n };\n }\n\n if (type === 'category' && chartType && (chartType.indexOf('LineChart') >= 0 || chartType.indexOf('AreaChart') >= 0 || chartType.indexOf('ComposedChart') >= 0 && !hasBar)) {\n return {\n scale: d3Scales.scalePoint(),\n realScaleType: 'point'\n };\n }\n\n if (type === 'category') {\n return {\n scale: d3Scales.scaleBand(),\n realScaleType: 'band'\n };\n }\n\n return {\n scale: d3Scales.scaleLinear(),\n realScaleType: 'linear'\n };\n }\n\n if (_isString(scale)) {\n var name = \"scale\".concat(_upperFirst(scale));\n return {\n scale: (d3Scales[name] || d3Scales.scalePoint)(),\n realScaleType: d3Scales[name] ? name : 'point'\n };\n }\n\n return _isFunction(scale) ? {\n scale: scale\n } : {\n scale: d3Scales.scalePoint(),\n realScaleType: 'point'\n };\n};\nvar EPS = 1e-4;\nexport var checkDomainOfScale = function checkDomainOfScale(scale) {\n var domain = scale.domain();\n\n if (!domain || domain.length <= 2) {\n return;\n }\n\n var len = domain.length;\n var range = scale.range();\n var min = Math.min(range[0], range[1]) - EPS;\n var max = Math.max(range[0], range[1]) + EPS;\n var first = scale(domain[0]);\n var last = scale(domain[len - 1]);\n\n if (first < min || first > max || last < min || last > max) {\n scale.domain([domain[0], domain[len - 1]]);\n }\n};\nexport var findPositionOfBar = function findPositionOfBar(barPosition, child) {\n if (!barPosition) {\n return null;\n }\n\n for (var i = 0, len = barPosition.length; i < len; i++) {\n if (barPosition[i].item === child) {\n return barPosition[i].position;\n }\n }\n\n return null;\n};\nexport var truncateByDomain = function truncateByDomain(value, domain) {\n if (!domain || domain.length !== 2 || !isNumber(domain[0]) || !isNumber(domain[1])) {\n return value;\n }\n\n var min = Math.min(domain[0], domain[1]);\n var max = Math.max(domain[0], domain[1]);\n var result = [value[0], value[1]];\n\n if (!isNumber(value[0]) || value[0] < min) {\n result[0] = min;\n }\n\n if (!isNumber(value[1]) || value[1] > max) {\n result[1] = max;\n }\n\n if (result[0] > max) {\n result[0] = max;\n }\n\n if (result[1] < min) {\n result[1] = min;\n }\n\n return result;\n};\n/* eslint no-param-reassign: 0 */\n\nexport var offsetSign = function offsetSign(series) {\n var n = series.length;\n\n if (n <= 0) {\n return;\n }\n\n for (var j = 0, m = series[0].length; j < m; ++j) {\n var positive = 0;\n var negative = 0;\n\n for (var i = 0; i < n; ++i) {\n var value = _isNaN(series[i][j][1]) ? series[i][j][0] : series[i][j][1];\n /* eslint-disable prefer-destructuring */\n\n if (value >= 0) {\n series[i][j][0] = positive;\n series[i][j][1] = positive + value;\n positive = series[i][j][1];\n } else {\n series[i][j][0] = negative;\n series[i][j][1] = negative + value;\n negative = series[i][j][1];\n }\n /* eslint-enable prefer-destructuring */\n\n }\n }\n};\n/* eslint no-param-reassign: 0 */\n\nexport var offsetPositive = function offsetPositive(series) {\n var n = series.length;\n\n if (n <= 0) {\n return;\n }\n\n for (var j = 0, m = series[0].length; j < m; ++j) {\n var positive = 0;\n\n for (var i = 0; i < n; ++i) {\n var value = _isNaN(series[i][j][1]) ? series[i][j][0] : series[i][j][1];\n /* eslint-disable prefer-destructuring */\n\n if (value >= 0) {\n series[i][j][0] = positive;\n series[i][j][1] = positive + value;\n positive = series[i][j][1];\n } else {\n series[i][j][0] = 0;\n series[i][j][1] = 0;\n }\n /* eslint-enable prefer-destructuring */\n\n }\n }\n};\nvar STACK_OFFSET_MAP = {\n sign: offsetSign,\n expand: stackOffsetExpand,\n none: stackOffsetNone,\n silhouette: stackOffsetSilhouette,\n wiggle: stackOffsetWiggle,\n positive: offsetPositive\n};\nexport var getStackedData = function getStackedData(data, stackItems, offsetType) {\n var dataKeys = stackItems.map(function (item) {\n return item.props.dataKey;\n });\n var stack = shapeStack().keys(dataKeys).value(function (d, key) {\n return +getValueByDataKey(d, key, 0);\n }).order(stackOrderNone).offset(STACK_OFFSET_MAP[offsetType]);\n return stack(data);\n};\nexport var getStackGroupsByAxisId = function getStackGroupsByAxisId(data, _items, numericAxisId, cateAxisId, offsetType, reverseStackOrder) {\n if (!data) {\n return null;\n } // reversing items to affect render order (for layering)\n\n\n var items = reverseStackOrder ? _items.reverse() : _items;\n var stackGroups = items.reduce(function (result, item) {\n var _item$props3 = item.props,\n stackId = _item$props3.stackId,\n hide = _item$props3.hide;\n\n if (hide) {\n return result;\n }\n\n var axisId = item.props[numericAxisId];\n var parentGroup = result[axisId] || {\n hasStack: false,\n stackGroups: {}\n };\n\n if (isNumOrStr(stackId)) {\n var childGroup = parentGroup.stackGroups[stackId] || {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: []\n };\n childGroup.items.push(item);\n parentGroup.hasStack = true;\n parentGroup.stackGroups[stackId] = childGroup;\n } else {\n parentGroup.stackGroups[uniqueId('_stackId_')] = {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: [item]\n };\n }\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, parentGroup));\n }, {});\n return Object.keys(stackGroups).reduce(function (result, axisId) {\n var group = stackGroups[axisId];\n\n if (group.hasStack) {\n group.stackGroups = Object.keys(group.stackGroups).reduce(function (res, stackId) {\n var g = group.stackGroups[stackId];\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, stackId, {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: g.items,\n stackedData: getStackedData(data, g.items, offsetType)\n }));\n }, {});\n }\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, group));\n }, {});\n};\n/**\n * get domain of ticks\n * @param {Array} ticks Ticks of axis\n * @param {String} type The type of axis\n * @return {Array} domain\n */\n\nexport var calculateDomainOfTicks = function calculateDomainOfTicks(ticks, type) {\n if (type === 'number') {\n return [_min(ticks), _max(ticks)];\n }\n\n return ticks;\n};\n/**\n * Configure the scale function of axis\n * @param {Object} scale The scale function\n * @param {Object} opts The configuration of axis\n * @return {Object} null\n */\n\nexport var getTicksOfScale = function getTicksOfScale(scale, opts) {\n var realScaleType = opts.realScaleType,\n type = opts.type,\n tickCount = opts.tickCount,\n originalDomain = opts.originalDomain,\n allowDecimals = opts.allowDecimals;\n var scaleType = realScaleType || opts.scale;\n\n if (scaleType !== 'auto' && scaleType !== 'linear') {\n return null;\n }\n\n if (tickCount && type === 'number' && originalDomain && (originalDomain[0] === 'auto' || originalDomain[1] === 'auto')) {\n // Calculate the ticks by the number of grid when the axis is a number axis\n var domain = scale.domain();\n\n if (!domain.length) {\n return null;\n }\n\n var tickValues = getNiceTickValues(domain, tickCount, allowDecimals);\n scale.domain(calculateDomainOfTicks(tickValues, type));\n return {\n niceTicks: tickValues\n };\n }\n\n if (tickCount && type === 'number') {\n var _domain = scale.domain();\n\n var _tickValues = getTickValuesFixedDomain(_domain, tickCount, allowDecimals);\n\n return {\n niceTicks: _tickValues\n };\n }\n\n return null;\n};\nexport var getCateCoordinateOfLine = function getCateCoordinateOfLine(_ref7) {\n var axis = _ref7.axis,\n ticks = _ref7.ticks,\n bandSize = _ref7.bandSize,\n entry = _ref7.entry,\n index = _ref7.index,\n dataKey = _ref7.dataKey;\n\n if (axis.type === 'category') {\n // find coordinate of category axis by the value of category\n if (!axis.allowDuplicatedCategory && axis.dataKey && !_isNil(entry[axis.dataKey])) {\n var matchedTick = findEntryInArray(ticks, 'value', entry[axis.dataKey]);\n\n if (matchedTick) {\n return matchedTick.coordinate + bandSize / 2;\n }\n }\n\n return ticks[index] ? ticks[index].coordinate + bandSize / 2 : null;\n }\n\n var value = getValueByDataKey(entry, !_isNil(dataKey) ? dataKey : axis.dataKey);\n return !_isNil(value) ? axis.scale(value) : null;\n};\nexport var getCateCoordinateOfBar = function getCateCoordinateOfBar(_ref8) {\n var axis = _ref8.axis,\n ticks = _ref8.ticks,\n offset = _ref8.offset,\n bandSize = _ref8.bandSize,\n entry = _ref8.entry,\n index = _ref8.index;\n\n if (axis.type === 'category') {\n return ticks[index] ? ticks[index].coordinate + offset : null;\n }\n\n var value = getValueByDataKey(entry, axis.dataKey, axis.domain[index]);\n return !_isNil(value) ? axis.scale(value) - bandSize / 2 + offset : null;\n};\nexport var getBaseValueOfBar = function getBaseValueOfBar(_ref9) {\n var numericAxis = _ref9.numericAxis;\n var domain = numericAxis.scale.domain();\n\n if (numericAxis.type === 'number') {\n var min = Math.min(domain[0], domain[1]);\n var max = Math.max(domain[0], domain[1]);\n\n if (min <= 0 && max >= 0) {\n return 0;\n }\n\n if (max < 0) {\n return max;\n }\n\n return min;\n }\n\n return domain[0];\n};\nexport var getStackedDataOfItem = function getStackedDataOfItem(item, stackGroups) {\n var stackId = item.props.stackId;\n\n if (isNumOrStr(stackId)) {\n var group = stackGroups[stackId];\n\n if (group && group.items.length) {\n var itemIndex = -1;\n\n for (var i = 0, len = group.items.length; i < len; i++) {\n if (group.items[i] === item) {\n itemIndex = i;\n break;\n }\n }\n\n return itemIndex >= 0 ? group.stackedData[itemIndex] : null;\n }\n }\n\n return null;\n};\n\nvar getDomainOfSingle = function getDomainOfSingle(data) {\n return data.reduce(function (result, entry) {\n return [_min(entry.concat([result[0]]).filter(isNumber)), _max(entry.concat([result[1]]).filter(isNumber))];\n }, [Infinity, -Infinity]);\n};\n\nexport var getDomainOfStackGroups = function getDomainOfStackGroups(stackGroups, startIndex, endIndex) {\n return Object.keys(stackGroups).reduce(function (result, stackId) {\n var group = stackGroups[stackId];\n var stackedData = group.stackedData;\n var domain = stackedData.reduce(function (res, entry) {\n var s = getDomainOfSingle(entry.slice(startIndex, endIndex + 1));\n return [Math.min(res[0], s[0]), Math.max(res[1], s[1])];\n }, [Infinity, -Infinity]);\n return [Math.min(domain[0], result[0]), Math.max(domain[1], result[1])];\n }, [Infinity, -Infinity]).map(function (result) {\n return result === Infinity || result === -Infinity ? 0 : result;\n });\n};\nexport var MIN_VALUE_REG = /^dataMin[\\s]*-[\\s]*([0-9]+([.]{1}[0-9]+){0,1})$/;\nexport var MAX_VALUE_REG = /^dataMax[\\s]*\\+[\\s]*([0-9]+([.]{1}[0-9]+){0,1})$/;\nexport var parseSpecifiedDomain = function parseSpecifiedDomain(specifiedDomain, dataDomain, allowDataOverflow) {\n if (!_isArray(specifiedDomain)) {\n return dataDomain;\n }\n\n var domain = [];\n /* eslint-disable prefer-destructuring */\n\n if (isNumber(specifiedDomain[0])) {\n domain[0] = allowDataOverflow ? specifiedDomain[0] : Math.min(specifiedDomain[0], dataDomain[0]);\n } else if (MIN_VALUE_REG.test(specifiedDomain[0])) {\n var value = +MIN_VALUE_REG.exec(specifiedDomain[0])[1];\n domain[0] = dataDomain[0] - value;\n } else if (_isFunction(specifiedDomain[0])) {\n domain[0] = specifiedDomain[0](dataDomain[0]);\n } else {\n domain[0] = dataDomain[0];\n }\n\n if (isNumber(specifiedDomain[1])) {\n domain[1] = allowDataOverflow ? specifiedDomain[1] : Math.max(specifiedDomain[1], dataDomain[1]);\n } else if (MAX_VALUE_REG.test(specifiedDomain[1])) {\n var _value = +MAX_VALUE_REG.exec(specifiedDomain[1])[1];\n\n domain[1] = dataDomain[1] + _value;\n } else if (_isFunction(specifiedDomain[1])) {\n domain[1] = specifiedDomain[1](dataDomain[1]);\n } else {\n domain[1] = dataDomain[1];\n }\n /* eslint-enable prefer-destructuring */\n\n\n return domain;\n};\n/**\n * Calculate the size between two category\n * @param {Object} axis The options of axis\n * @param {Array} ticks The ticks of axis\n * @param {Boolean} isBar if items in axis are bars\n * @return {Number} Size\n */\n\nexport var getBandSizeOfAxis = function getBandSizeOfAxis(axis, ticks, isBar) {\n if (axis && axis.scale && axis.scale.bandwidth) {\n var bandWidth = axis.scale.bandwidth();\n\n if (!isBar || bandWidth > 0) {\n return bandWidth;\n }\n }\n\n if (axis && ticks && ticks.length >= 2) {\n var orderedTicks = _sortBy(ticks, function (o) {\n return o.coordinate;\n });\n\n var bandSize = Infinity;\n\n for (var i = 1, len = orderedTicks.length; i < len; i++) {\n var cur = orderedTicks[i];\n var prev = orderedTicks[i - 1];\n bandSize = Math.min((cur.coordinate || 0) - (prev.coordinate || 0), bandSize);\n }\n\n return bandSize === Infinity ? 0 : bandSize;\n }\n\n return isBar ? undefined : 0;\n};\n/**\n * parse the domain of a category axis when a domain is specified\n * @param {Array} specifiedDomain The domain specified by users\n * @param {Array} calculatedDomain The domain calculated by dateKey\n * @param {ReactElement} axisChild The axis element\n * @returns {Array} domains\n */\n\nexport var parseDomainOfCategoryAxis = function parseDomainOfCategoryAxis(specifiedDomain, calculatedDomain, axisChild) {\n if (!specifiedDomain || !specifiedDomain.length) {\n return calculatedDomain;\n }\n\n if (_isEqual(specifiedDomain, _get(axisChild, 'type.defaultProps.domain'))) {\n return calculatedDomain;\n }\n\n return specifiedDomain;\n};\nexport var getTooltipItem = function getTooltipItem(graphicalItem, payload) {\n var _graphicalItem$props = graphicalItem.props,\n dataKey = _graphicalItem$props.dataKey,\n name = _graphicalItem$props.name,\n unit = _graphicalItem$props.unit,\n formatter = _graphicalItem$props.formatter,\n tooltipType = _graphicalItem$props.tooltipType,\n chartType = _graphicalItem$props.chartType;\n return _objectSpread(_objectSpread({}, filterProps(graphicalItem)), {}, {\n dataKey: dataKey,\n unit: unit,\n formatter: formatter,\n name: name || dataKey,\n color: getMainColorOfGraphicItem(graphicalItem),\n value: getValueByDataKey(payload, dataKey),\n type: tooltipType,\n payload: payload,\n chartType: chartType\n });\n};","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {\n for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0;\n if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y;\n }\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0;\n s0[j][1] += s0[j][0] = -y / 2;\n }\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n for (var y = 0, j = 1, s0, m, n; j < m; ++j) {\n for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n var si = series[order[i]],\n sij0 = si[j][1] || 0,\n sij1 = si[j - 1][1] || 0,\n s3 = (sij0 - sij1) / 2;\n for (var k = 0; k < i; ++k) {\n var sk = series[order[k]],\n skj0 = sk[j][1] || 0,\n skj1 = sk[j - 1][1] || 0;\n s3 += skj0 - skj1;\n }\n s1 += sij0, s2 += s3 * sij0;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n if (s1) y -= s2 / s1;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n none(series, order);\n}\n","function 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\nimport { Global } from './Global';\nvar stringCache = {\n widthCache: {},\n cacheCount: 0\n};\nvar MAX_CACHE_NUM = 2000;\nvar SPAN_STYLE = {\n position: 'absolute',\n top: '-20000px',\n left: 0,\n padding: 0,\n margin: 0,\n border: 'none',\n whiteSpace: 'pre'\n};\nvar STYLE_LIST = ['minWidth', 'maxWidth', 'width', 'minHeight', 'maxHeight', 'height', 'top', 'left', 'fontSize', 'lineHeight', 'padding', 'margin', 'paddingLeft', 'paddingRight', 'paddingTop', 'paddingBottom', 'marginLeft', 'marginRight', 'marginTop', 'marginBottom'];\nvar MEASUREMENT_SPAN_ID = 'recharts_measurement_span';\n\nfunction autoCompleteStyle(name, value) {\n if (STYLE_LIST.indexOf(name) >= 0 && value === +value) {\n return \"\".concat(value, \"px\");\n }\n\n return value;\n}\n\nfunction camelToMiddleLine(text) {\n var strs = text.split('');\n var formatStrs = strs.reduce(function (result, entry) {\n if (entry === entry.toUpperCase()) {\n return [].concat(_toConsumableArray(result), ['-', entry.toLowerCase()]);\n }\n\n return [].concat(_toConsumableArray(result), [entry]);\n }, []);\n return formatStrs.join('');\n}\n\nexport var getStyleString = function getStyleString(style) {\n return Object.keys(style).reduce(function (result, s) {\n return \"\".concat(result).concat(camelToMiddleLine(s), \":\").concat(autoCompleteStyle(s, style[s]), \";\");\n }, '');\n};\nexport var getStringSize = function getStringSize(text) {\n var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (text === undefined || text === null || Global.isSsr) {\n return {\n width: 0,\n height: 0\n };\n }\n\n var str = \"\".concat(text);\n var styleString = getStyleString(style);\n var cacheKey = \"\".concat(str, \"-\").concat(styleString);\n\n if (stringCache.widthCache[cacheKey]) {\n return stringCache.widthCache[cacheKey];\n }\n\n try {\n var measurementSpan = document.getElementById(MEASUREMENT_SPAN_ID);\n\n if (!measurementSpan) {\n measurementSpan = document.createElement('span');\n measurementSpan.setAttribute('id', MEASUREMENT_SPAN_ID);\n measurementSpan.setAttribute('aria-hidden', 'true');\n document.body.appendChild(measurementSpan);\n } // Need to use CSS Object Model (CSSOM) to be able to comply with Content Security Policy (CSP)\n // https://en.wikipedia.org/wiki/Content_Security_Policy\n\n\n var measurementSpanStyle = _objectSpread(_objectSpread({}, SPAN_STYLE), style);\n\n Object.keys(measurementSpanStyle).map(function (styleKey) {\n measurementSpan.style[styleKey] = measurementSpanStyle[styleKey];\n return styleKey;\n });\n measurementSpan.textContent = str;\n var rect = measurementSpan.getBoundingClientRect();\n var result = {\n width: rect.width,\n height: rect.height\n };\n stringCache.widthCache[cacheKey] = result;\n\n if (++stringCache.cacheCount > MAX_CACHE_NUM) {\n stringCache.cacheCount = 0;\n stringCache.widthCache = {};\n }\n\n return result;\n } catch (e) {\n return {\n width: 0,\n height: 0\n };\n }\n};\nexport var getOffset = function getOffset(el) {\n var html = el.ownerDocument.documentElement;\n var box = {\n top: 0,\n left: 0\n }; // If we don't have gBCR, just use 0,0 rather than error\n // BlackBerry 5, iOS 3 (original iPhone)\n\n if (typeof el.getBoundingClientRect !== 'undefined') {\n box = el.getBoundingClientRect();\n }\n\n return {\n top: box.top + window.pageYOffset - html.clientTop,\n left: box.left + window.pageXOffset - html.clientLeft\n };\n};\n/**\n * Calculate coordinate of cursor in chart\n * @param {Object} event Event object\n * @param {Object} offset The offset of main part in the svg element\n * @return {Object} {chartX, chartY}\n */\n\nexport var calculateChartCoordinate = function calculateChartCoordinate(event, offset) {\n return {\n chartX: Math.round(event.pageX - offset.left),\n chartY: Math.round(event.pageY - offset.top)\n };\n};","import _get from \"lodash/get\";\nimport _isArray from \"lodash/isArray\";\nimport _isNaN from \"lodash/isNaN\";\nimport _isNumber from \"lodash/isNumber\";\nimport _isString from \"lodash/isString\";\nexport var mathSign = function mathSign(value) {\n if (value === 0) {\n return 0;\n }\n\n if (value > 0) {\n return 1;\n }\n\n return -1;\n};\nexport var isPercent = function isPercent(value) {\n return _isString(value) && value.indexOf('%') === value.length - 1;\n};\nexport var isNumber = function isNumber(value) {\n return _isNumber(value) && !_isNaN(value);\n};\nexport var isNumOrStr = function isNumOrStr(value) {\n return isNumber(value) || _isString(value);\n};\nvar idCounter = 0;\nexport var uniqueId = function uniqueId(prefix) {\n var id = ++idCounter;\n return \"\".concat(prefix || '').concat(id);\n};\n/**\n * Get percent value of a total value\n * @param {Number|String} percent A percent\n * @param {Number} totalValue Total value\n * @param {NUmber} defaultValue The value returned when percent is undefined or invalid\n * @param {Boolean} validate If set to be true, the result will be validated\n * @return {Number} value\n */\n\nexport var getPercentValue = function getPercentValue(percent, totalValue) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var validate = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n if (!isNumber(percent) && !_isString(percent)) {\n return defaultValue;\n }\n\n var value;\n\n if (isPercent(percent)) {\n var index = percent.indexOf('%');\n value = totalValue * parseFloat(percent.slice(0, index)) / 100;\n } else {\n value = +percent;\n }\n\n if (_isNaN(value)) {\n value = defaultValue;\n }\n\n if (validate && value > totalValue) {\n value = totalValue;\n }\n\n return value;\n};\nexport var getAnyElementOfObject = function getAnyElementOfObject(obj) {\n if (!obj) {\n return null;\n }\n\n var keys = Object.keys(obj);\n\n if (keys && keys.length) {\n return obj[keys[0]];\n }\n\n return null;\n};\nexport var hasDuplicate = function hasDuplicate(ary) {\n if (!_isArray(ary)) {\n return false;\n }\n\n var len = ary.length;\n var cache = {};\n\n for (var i = 0; i < len; i++) {\n if (!cache[ary[i]]) {\n cache[ary[i]] = true;\n } else {\n return true;\n }\n }\n\n return false;\n};\nexport var interpolateNumber = function interpolateNumber(numberA, numberB) {\n if (isNumber(numberA) && isNumber(numberB)) {\n return function (t) {\n return numberA + t * (numberB - numberA);\n };\n }\n\n return function () {\n return numberB;\n };\n};\nexport function findEntryInArray(ary, specifiedKey, specifiedValue) {\n if (!ary || !ary.length) {\n return null;\n }\n\n return ary.find(function (entry) {\n return entry && (typeof specifiedKey === 'function' ? specifiedKey(entry) : _get(entry, specifiedKey)) === specifiedValue;\n });\n}\n/**\n * The least square linear regression\n * @param {Array} data The array of points\n * @returns {Object} The domain of x, and the parameter of linear function\n */\n\nexport var getLinearRegression = function getLinearRegression(data) {\n if (!data || !data.length) {\n return null;\n }\n\n var len = data.length;\n var xsum = 0;\n var ysum = 0;\n var xysum = 0;\n var xxsum = 0;\n var xmin = Infinity;\n var xmax = -Infinity;\n\n for (var i = 0; i < len; i++) {\n xsum += data[i].cx;\n ysum += data[i].cy;\n xysum += data[i].cx * data[i].cy;\n xxsum += data[i].cx * data[i].cx;\n xmin = Math.min(xmin, data[i].cx);\n xmax = Math.max(xmax, data[i].cx);\n }\n\n var a = len * xxsum !== xsum * xsum ? (len * xysum - xsum * ysum) / (len * xxsum - xsum * xsum) : 0;\n return {\n xmin: xmin,\n xmax: xmax,\n a: a,\n b: (ysum - a * xsum) / len\n };\n};","var parseIsSsrByDefault = function parseIsSsrByDefault() {\n return !(typeof window !== 'undefined' && window.document && window.document.createElement && window.setTimeout);\n};\n\nexport var Global = {\n isSsr: parseIsSsrByDefault(),\n get: function get(key) {\n return Global[key];\n },\n set: function set(key, value) {\n if (typeof key === 'string') {\n Global[key] = value;\n } else {\n var keys = Object.keys(key);\n\n if (keys && keys.length) {\n keys.forEach(function (k) {\n Global[k] = key[k];\n });\n }\n }\n }\n};","/* eslint no-console: 0 */\nvar isDev = process.env.NODE_ENV !== 'production';\nexport var warn = function warn(condition, format) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n if (isDev && typeof console !== 'undefined' && console.warn) {\n if (format === undefined) {\n console.warn('LogUtils requires an error message argument');\n }\n\n if (!condition) {\n if (format === undefined) {\n console.warn('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var argIndex = 0;\n console.warn(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n }\n }\n }\n};","import _isNil from \"lodash/isNil\";\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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { getPercentValue } from './DataUtils';\nimport { parseScale, checkDomainOfScale, getTicksOfScale } from './ChartUtils';\nexport var RADIAN = Math.PI / 180;\nexport var degreeToRadian = function degreeToRadian(angle) {\n return angle * Math.PI / 180;\n};\nexport var radianToDegree = function radianToDegree(angleInRadian) {\n return angleInRadian * 180 / Math.PI;\n};\nexport var polarToCartesian = function polarToCartesian(cx, cy, radius, angle) {\n return {\n x: cx + Math.cos(-RADIAN * angle) * radius,\n y: cy + Math.sin(-RADIAN * angle) * radius\n };\n};\nexport var getMaxRadius = function getMaxRadius(width, height) {\n var offset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n return Math.min(Math.abs(width - (offset.left || 0) - (offset.right || 0)), Math.abs(height - (offset.top || 0) - (offset.bottom || 0))) / 2;\n};\n/**\n * Calculate the scale function, position, width, height of axes\n * @param {Object} props Latest props\n * @param {Object} axisMap The configuration of axes\n * @param {Object} offset The offset of main part in the svg element\n * @param {Object} axisType The type of axes, radius-axis or angle-axis\n * @param {String} chartName The name of chart\n * @return {Object} Configuration\n */\n\nexport var formatAxisMap = function formatAxisMap(props, axisMap, offset, axisType, chartName) {\n var width = props.width,\n height = props.height;\n var startAngle = props.startAngle,\n endAngle = props.endAngle;\n var cx = getPercentValue(props.cx, width, width / 2);\n var cy = getPercentValue(props.cy, height, height / 2);\n var maxRadius = getMaxRadius(width, height, offset);\n var innerRadius = getPercentValue(props.innerRadius, maxRadius, 0);\n var outerRadius = getPercentValue(props.outerRadius, maxRadius, maxRadius * 0.8);\n var ids = Object.keys(axisMap);\n return ids.reduce(function (result, id) {\n var axis = axisMap[id];\n var domain = axis.domain,\n reversed = axis.reversed;\n var range;\n\n if (_isNil(axis.range)) {\n if (axisType === 'angleAxis') {\n range = [startAngle, endAngle];\n } else if (axisType === 'radiusAxis') {\n range = [innerRadius, outerRadius];\n }\n\n if (reversed) {\n range = [range[1], range[0]];\n }\n } else {\n range = axis.range;\n var _range = range;\n\n var _range2 = _slicedToArray(_range, 2);\n\n startAngle = _range2[0];\n endAngle = _range2[1];\n }\n\n var _parseScale = parseScale(axis, chartName),\n realScaleType = _parseScale.realScaleType,\n scale = _parseScale.scale;\n\n scale.domain(domain).range(range);\n checkDomainOfScale(scale);\n var ticks = getTicksOfScale(scale, _objectSpread(_objectSpread({}, axis), {}, {\n realScaleType: realScaleType\n }));\n\n var finalAxis = _objectSpread(_objectSpread(_objectSpread({}, axis), ticks), {}, {\n range: range,\n radius: outerRadius,\n realScaleType: realScaleType,\n scale: scale,\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n startAngle: startAngle,\n endAngle: endAngle\n });\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, id, finalAxis));\n }, {});\n};\nexport var distanceBetweenPoints = function distanceBetweenPoints(point, anotherPoint) {\n var x1 = point.x,\n y1 = point.y;\n var x2 = anotherPoint.x,\n y2 = anotherPoint.y;\n return Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2));\n};\nexport var getAngleOfPoint = function getAngleOfPoint(_ref, _ref2) {\n var x = _ref.x,\n y = _ref.y;\n var cx = _ref2.cx,\n cy = _ref2.cy;\n var radius = distanceBetweenPoints({\n x: x,\n y: y\n }, {\n x: cx,\n y: cy\n });\n\n if (radius <= 0) {\n return {\n radius: radius\n };\n }\n\n var cos = (x - cx) / radius;\n var angleInRadian = Math.acos(cos);\n\n if (y > cy) {\n angleInRadian = 2 * Math.PI - angleInRadian;\n }\n\n return {\n radius: radius,\n angle: radianToDegree(angleInRadian),\n angleInRadian: angleInRadian\n };\n};\nexport var formatAngleOfSector = function formatAngleOfSector(_ref3) {\n var startAngle = _ref3.startAngle,\n endAngle = _ref3.endAngle;\n var startCnt = Math.floor(startAngle / 360);\n var endCnt = Math.floor(endAngle / 360);\n var min = Math.min(startCnt, endCnt);\n return {\n startAngle: startAngle - min * 360,\n endAngle: endAngle - min * 360\n };\n};\n\nvar reverseFormatAngleOfSetor = function reverseFormatAngleOfSetor(angle, _ref4) {\n var startAngle = _ref4.startAngle,\n endAngle = _ref4.endAngle;\n var startCnt = Math.floor(startAngle / 360);\n var endCnt = Math.floor(endAngle / 360);\n var min = Math.min(startCnt, endCnt);\n return angle + min * 360;\n};\n\nexport var inRangeOfSector = function inRangeOfSector(_ref5, sector) {\n var x = _ref5.x,\n y = _ref5.y;\n\n var _getAngleOfPoint = getAngleOfPoint({\n x: x,\n y: y\n }, sector),\n radius = _getAngleOfPoint.radius,\n angle = _getAngleOfPoint.angle;\n\n var innerRadius = sector.innerRadius,\n outerRadius = sector.outerRadius;\n\n if (radius < innerRadius || radius > outerRadius) {\n return false;\n }\n\n if (radius === 0) {\n return true;\n }\n\n var _formatAngleOfSector = formatAngleOfSector(sector),\n startAngle = _formatAngleOfSector.startAngle,\n endAngle = _formatAngleOfSector.endAngle;\n\n var formatAngle = angle;\n var inRange;\n\n if (startAngle <= endAngle) {\n while (formatAngle > endAngle) {\n formatAngle -= 360;\n }\n\n while (formatAngle < startAngle) {\n formatAngle += 360;\n }\n\n inRange = formatAngle >= startAngle && formatAngle <= endAngle;\n } else {\n while (formatAngle > startAngle) {\n formatAngle -= 360;\n }\n\n while (formatAngle < endAngle) {\n formatAngle += 360;\n }\n\n inRange = formatAngle >= endAngle && formatAngle <= startAngle;\n }\n\n if (inRange) {\n return _objectSpread(_objectSpread({}, sector), {}, {\n radius: radius,\n angle: reverseFormatAngleOfSetor(formatAngle, sector)\n });\n }\n\n return null;\n};","import _isString from \"lodash/isString\";\nimport _get from \"lodash/get\";\nimport _isNil from \"lodash/isNil\";\nimport _isArray from \"lodash/isArray\";\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport { Children } from 'react';\nimport { isFragment } from 'react-is';\nimport { isNumber } from './DataUtils';\nimport { shallowEqual } from './ShallowEqual';\nvar REACT_BROWSER_EVENT_MAP = {\n click: 'onClick',\n mousedown: 'onMouseDown',\n mouseup: 'onMouseUp',\n mouseover: 'onMouseOver',\n mousemove: 'onMouseMove',\n mouseout: 'onMouseOut',\n mouseenter: 'onMouseEnter',\n mouseleave: 'onMouseLeave',\n touchcancel: 'onTouchCancel',\n touchend: 'onTouchEnd',\n touchmove: 'onTouchMove',\n touchstart: 'onTouchStart'\n};\nexport var SCALE_TYPES = ['auto', 'linear', 'pow', 'sqrt', 'log', 'identity', 'time', 'band', 'point', 'ordinal', 'quantile', 'quantize', 'utc', 'sequential', 'threshold'];\nexport var LEGEND_TYPES = ['plainline', 'line', 'square', 'rect', 'circle', 'cross', 'diamond', 'star', 'triangle', 'wye', 'none'];\nexport var TOOLTIP_TYPES = ['none'];\n/**\n * Get the display name of a component\n * @param {Object} Comp Specified Component\n * @return {String} Display name of Component\n */\n\nexport var getDisplayName = function getDisplayName(Comp) {\n if (typeof Comp === 'string') {\n return Comp;\n }\n\n if (!Comp) {\n return '';\n }\n\n return Comp.displayName || Comp.name || 'Component';\n}; // `toArray` gets called multiple times during the render\n// so we can memoize last invocation (since reference to `children` is the same)\n\nvar lastChildren = null;\nvar lastResult = null;\nexport var toArray = function toArray(children) {\n if (children === lastChildren && _isArray(lastResult)) {\n return lastResult;\n }\n\n var result = [];\n Children.forEach(children, function (child) {\n if (_isNil(child)) return;\n\n if (isFragment(child)) {\n result = result.concat(toArray(child.props.children));\n } else {\n result.push(child);\n }\n });\n lastResult = result;\n lastChildren = children;\n return result;\n};\n/*\n * Find and return all matched children by type. `type` can be a React element class or\n * string\n */\n\nexport var findAllByType = function findAllByType(children, type) {\n var result = [];\n var types = [];\n\n if (_isArray(type)) {\n types = type.map(function (t) {\n return getDisplayName(t);\n });\n } else {\n types = [getDisplayName(type)];\n }\n\n toArray(children).forEach(function (child) {\n var childType = _get(child, 'type.displayName') || _get(child, 'type.name');\n\n if (types.indexOf(childType) !== -1) {\n result.push(child);\n }\n });\n return result;\n};\n/*\n * Return the first matched child by type, return null otherwise.\n * `type` can be a React element class or string.\n */\n\nexport var findChildByType = function findChildByType(children, type) {\n var result = findAllByType(children, type);\n return result && result[0];\n};\n/*\n * Create a new array of children excluding the ones matched the type\n */\n\nexport var withoutType = function withoutType(children, type) {\n var newChildren = [];\n var types;\n\n if (_isArray(type)) {\n types = type.map(function (t) {\n return getDisplayName(t);\n });\n } else {\n types = [getDisplayName(type)];\n }\n\n toArray(children).forEach(function (child) {\n var displayName = _get(child, 'type.displayName');\n\n if (displayName && types.indexOf(displayName) !== -1) {\n return;\n }\n\n newChildren.push(child);\n });\n return newChildren;\n};\n/**\n * validate the width and height props of a chart element\n * @param {Object} el A chart element\n * @return {Boolean} true If the props width and height are number, and greater than 0\n */\n\nexport var validateWidthHeight = function validateWidthHeight(el) {\n if (!el || !el.props) {\n return false;\n }\n\n var _el$props = el.props,\n width = _el$props.width,\n height = _el$props.height;\n\n if (!isNumber(width) || width <= 0 || !isNumber(height) || height <= 0) {\n return false;\n }\n\n return true;\n};\nvar SVG_TAGS = ['a', 'altGlyph', 'altGlyphDef', 'altGlyphItem', 'animate', 'animateColor', 'animateMotion', 'animateTransform', 'circle', 'clipPath', 'color-profile', 'cursor', 'defs', 'desc', 'ellipse', 'feBlend', 'feColormatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence', 'filter', 'font', 'font-face', 'font-face-format', 'font-face-name', 'font-face-url', 'foreignObject', 'g', 'glyph', 'glyphRef', 'hkern', 'image', 'line', 'lineGradient', 'marker', 'mask', 'metadata', 'missing-glyph', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'script', 'set', 'stop', 'style', 'svg', 'switch', 'symbol', 'text', 'textPath', 'title', 'tref', 'tspan', 'use', 'view', 'vkern'];\n\nvar isSvgElement = function isSvgElement(child) {\n return child && child.type && _isString(child.type) && SVG_TAGS.indexOf(child.type) >= 0;\n};\n/**\n * Filter all the svg elements of children\n * @param {Array} children The children of a react element\n * @return {Array} All the svg elements\n */\n\n\nexport var filterSvgElements = function filterSvgElements(children) {\n var svgElements = [];\n toArray(children).forEach(function (entry) {\n if (isSvgElement(entry)) {\n svgElements.push(entry);\n }\n });\n return svgElements;\n};\n/**\n * Wether props of children changed\n * @param {Object} nextChildren The latest children\n * @param {Object} prevChildren The prev children\n * @return {Boolean} equal or not\n */\n\nexport var isChildrenEqual = function isChildrenEqual(nextChildren, prevChildren) {\n if (nextChildren === prevChildren) {\n return true;\n }\n\n var count = Children.count(nextChildren);\n\n if (count !== Children.count(prevChildren)) {\n return false;\n }\n\n if (count === 0) {\n return true;\n }\n\n if (count === 1) {\n // eslint-disable-next-line no-use-before-define,@typescript-eslint/no-use-before-define\n return isSingleChildEqual(_isArray(nextChildren) ? nextChildren[0] : nextChildren, _isArray(prevChildren) ? prevChildren[0] : prevChildren);\n }\n\n for (var i = 0; i < count; i++) {\n var nextChild = nextChildren[i];\n var prevChild = prevChildren[i];\n\n if (_isArray(nextChild) || _isArray(prevChild)) {\n if (!isChildrenEqual(nextChild, prevChild)) {\n return false;\n } // eslint-disable-next-line no-use-before-define,@typescript-eslint/no-use-before-define\n\n } else if (!isSingleChildEqual(nextChild, prevChild)) {\n return false;\n }\n }\n\n return true;\n};\nexport var isSingleChildEqual = function isSingleChildEqual(nextChild, prevChild) {\n if (_isNil(nextChild) && _isNil(prevChild)) {\n return true;\n }\n\n if (!_isNil(nextChild) && !_isNil(prevChild)) {\n var _ref = nextChild.props || {},\n nextChildren = _ref.children,\n nextProps = _objectWithoutProperties(_ref, [\"children\"]);\n\n var _ref2 = prevChild.props || {},\n prevChildren = _ref2.children,\n prevProps = _objectWithoutProperties(_ref2, [\"children\"]);\n\n if (nextChildren && prevChildren) {\n // eslint-disable-next-line no-use-before-define\n return shallowEqual(nextProps, prevProps) && isChildrenEqual(nextChildren, prevChildren);\n }\n\n if (!nextChildren && !prevChildren) {\n return shallowEqual(nextProps, prevProps);\n }\n\n return false;\n }\n\n return false;\n};\nexport var renderByOrder = function renderByOrder(children, renderMap) {\n var elements = [];\n var record = {};\n toArray(children).forEach(function (child, index) {\n if (isSvgElement(child)) {\n elements.push(child);\n } else if (child) {\n var displayName = getDisplayName(child.type);\n\n var _ref3 = renderMap[displayName] || {},\n handler = _ref3.handler,\n once = _ref3.once;\n\n if (handler && (!once || !record[displayName])) {\n var results = handler(child, displayName, index);\n elements.push(results);\n record[displayName] = true;\n }\n }\n });\n return elements;\n};\nexport var getReactEventByType = function getReactEventByType(e) {\n var type = e && e.type;\n\n if (type && REACT_BROWSER_EVENT_MAP[type]) {\n return REACT_BROWSER_EVENT_MAP[type];\n }\n\n return null;\n};\nexport var parseChildIndex = function parseChildIndex(child, children) {\n return toArray(children).indexOf(child);\n};","export function shallowEqual(a, b) {\n /* eslint-disable no-restricted-syntax */\n for (var key in a) {\n if ({}.hasOwnProperty.call(a, key) && (!{}.hasOwnProperty.call(b, key) || a[key] !== b[key])) {\n return false;\n }\n }\n\n for (var _key in b) {\n if ({}.hasOwnProperty.call(b, _key) && !{}.hasOwnProperty.call(a, _key)) {\n return false;\n }\n }\n\n return true;\n}","import _isObject from \"lodash/isObject\";\n\nfunction _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 { isValidElement } from 'react';\nvar SVGContainerPropKeys = ['viewBox', 'children'];\nvar SVGElementPropKeys = ['className', 'color', 'height', 'id', 'lang', 'max', 'media', 'method', 'min', 'name', 'style', 'target', 'type', 'width', 'role', 'tabIndex', 'accentHeight', 'accumulate', 'additive', 'alignmentBaseline', 'allowReorder', 'alphabetic', 'amplitude', 'arabicForm', 'ascent', 'attributeName', 'attributeType', 'autoReverse', 'azimuth', 'baseFrequency', 'baselineShift', 'baseProfile', 'bbox', 'begin', 'bias', 'by', 'calcMode', 'capHeight', 'clip', 'clipPath', 'clipPathUnits', 'clipRule', 'colorInterpolation', 'colorInterpolationFilters', 'colorProfile', 'colorRendering', 'contentScriptType', 'contentStyleType', 'cursor', 'cx', 'cy', 'd', 'decelerate', 'descent', 'diffuseConstant', 'direction', 'display', 'divisor', 'dominantBaseline', 'dur', 'dx', 'dy', 'edgeMode', 'elevation', 'enableBackground', 'end', 'exponent', 'externalResourcesRequired', 'fill', 'fillOpacity', 'fillRule', 'filter', 'filterRes', 'filterUnits', 'floodColor', 'floodOpacity', 'focusable', 'fontFamily', 'fontSize', 'fontSizeAdjust', 'fontStretch', 'fontStyle', 'fontVariant', 'fontWeight', 'format', 'from', 'fx', 'fy', 'g1', 'g2', 'glyphName', 'glyphOrientationHorizontal', 'glyphOrientationVertical', 'glyphRef', 'gradientTransform', 'gradientUnits', 'hanging', 'horizAdvX', 'horizOriginX', 'href', 'ideographic', 'imageRendering', 'in2', 'in', 'intercept', 'k1', 'k2', 'k3', 'k4', 'k', 'kernelMatrix', 'kernelUnitLength', 'kerning', 'keyPoints', 'keySplines', 'keyTimes', 'lengthAdjust', 'letterSpacing', 'lightingColor', 'limitingConeAngle', 'local', 'markerEnd', 'markerHeight', 'markerMid', 'markerStart', 'markerUnits', 'markerWidth', 'mask', 'maskContentUnits', 'maskUnits', 'mathematical', 'mode', 'numOctaves', 'offset', 'opacity', 'operator', 'order', 'orient', 'orientation', 'origin', 'overflow', 'overlinePosition', 'overlineThickness', 'paintOrder', 'panose1', 'pathLength', 'patternContentUnits', 'patternTransform', 'patternUnits', 'pointerEvents', 'points', 'pointsAtX', 'pointsAtY', 'pointsAtZ', 'preserveAlpha', 'preserveAspectRatio', 'primitiveUnits', 'r', 'radius', 'refX', 'refY', 'renderingIntent', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'result', 'rotate', 'rx', 'ry', 'seed', 'shapeRendering', 'slope', 'spacing', 'specularConstant', 'specularExponent', 'speed', 'spreadMethod', 'startOffset', 'stdDeviation', 'stemh', 'stemv', 'stitchTiles', 'stopColor', 'stopOpacity', 'strikethroughPosition', 'strikethroughThickness', 'string', 'stroke', 'strokeDasharray', 'strokeDashoffset', 'strokeLinecap', 'strokeLinejoin', 'strokeMiterlimit', 'strokeOpacity', 'strokeWidth', 'surfaceScale', 'systemLanguage', 'tableValues', 'targetX', 'targetY', 'textAnchor', 'textDecoration', 'textLength', 'textRendering', 'to', 'transform', 'u1', 'u2', 'underlinePosition', 'underlineThickness', 'unicode', 'unicodeBidi', 'unicodeRange', 'unitsPerEm', 'vAlphabetic', 'values', 'vectorEffect', 'version', 'vertAdvY', 'vertOriginX', 'vertOriginY', 'vHanging', 'vIdeographic', 'viewTarget', 'visibility', 'vMathematical', 'widths', 'wordSpacing', 'writingMode', 'x1', 'x2', 'x', 'xChannelSelector', 'xHeight', 'xlinkActuate', 'xlinkArcrole', 'xlinkHref', 'xlinkRole', 'xlinkShow', 'xlinkTitle', 'xlinkType', 'xmlBase', 'xmlLang', 'xmlns', 'xmlnsXlink', 'xmlSpace', 'y1', 'y2', 'y', 'yChannelSelector', 'z', 'zoomAndPan', 'ref', 'key', 'angle'];\nvar EventKeys = ['dangerouslySetInnerHTML', 'onCopy', 'onCopyCapture', 'onCut', 'onCutCapture', 'onPaste', 'onPasteCapture', 'onCompositionEnd', 'onCompositionEndCapture', 'onCompositionStart', 'onCompositionStartCapture', 'onCompositionUpdate', 'onCompositionUpdateCapture', 'onFocus', 'onFocusCapture', 'onBlur', 'onBlurCapture', 'onChange', 'onChangeCapture', 'onBeforeInput', 'onBeforeInputCapture', 'onInput', 'onInputCapture', 'onReset', 'onResetCapture', 'onSubmit', 'onSubmitCapture', 'onInvalid', 'onInvalidCapture', 'onLoad', 'onLoadCapture', 'onError', 'onErrorCapture', 'onKeyDown', 'onKeyDownCapture', 'onKeyPress', 'onKeyPressCapture', 'onKeyUp', 'onKeyUpCapture', 'onAbort', 'onAbortCapture', 'onCanPlay', 'onCanPlayCapture', 'onCanPlayThrough', 'onCanPlayThroughCapture', 'onDurationChange', 'onDurationChangeCapture', 'onEmptied', 'onEmptiedCapture', 'onEncrypted', 'onEncryptedCapture', 'onEnded', 'onEndedCapture', 'onLoadedData', 'onLoadedDataCapture', 'onLoadedMetadata', 'onLoadedMetadataCapture', 'onLoadStart', 'onLoadStartCapture', 'onPause', 'onPauseCapture', 'onPlay', 'onPlayCapture', 'onPlaying', 'onPlayingCapture', 'onProgress', 'onProgressCapture', 'onRateChange', 'onRateChangeCapture', 'onSeeked', 'onSeekedCapture', 'onSeeking', 'onSeekingCapture', 'onStalled', 'onStalledCapture', 'onSuspend', 'onSuspendCapture', 'onTimeUpdate', 'onTimeUpdateCapture', 'onVolumeChange', 'onVolumeChangeCapture', 'onWaiting', 'onWaitingCapture', 'onAuxClick', 'onAuxClickCapture', 'onClick', 'onClickCapture', 'onContextMenu', 'onContextMenuCapture', 'onDoubleClick', 'onDoubleClickCapture', 'onDrag', 'onDragCapture', 'onDragEnd', 'onDragEndCapture', 'onDragEnter', 'onDragEnterCapture', 'onDragExit', 'onDragExitCapture', 'onDragLeave', 'onDragLeaveCapture', 'onDragOver', 'onDragOverCapture', 'onDragStart', 'onDragStartCapture', 'onDrop', 'onDropCapture', 'onMouseDown', 'onMouseDownCapture', 'onMouseEnter', 'onMouseLeave', 'onMouseMove', 'onMouseMoveCapture', 'onMouseOut', 'onMouseOutCapture', 'onMouseOver', 'onMouseOverCapture', 'onMouseUp', 'onMouseUpCapture', 'onSelect', 'onSelectCapture', 'onTouchCancel', 'onTouchCancelCapture', 'onTouchEnd', 'onTouchEndCapture', 'onTouchMove', 'onTouchMoveCapture', 'onTouchStart', 'onTouchStartCapture', 'onPointerDown', 'onPointerDownCapture', 'onPointerMove', 'onPointerMoveCapture', 'onPointerUp', 'onPointerUpCapture', 'onPointerCancel', 'onPointerCancelCapture', 'onPointerEnter', 'onPointerEnterCapture', 'onPointerLeave', 'onPointerLeaveCapture', 'onPointerOver', 'onPointerOverCapture', 'onPointerOut', 'onPointerOutCapture', 'onGotPointerCapture', 'onGotPointerCaptureCapture', 'onLostPointerCapture', 'onLostPointerCaptureCapture', 'onScroll', 'onScrollCapture', 'onWheel', 'onWheelCapture', 'onAnimationStart', 'onAnimationStartCapture', 'onAnimationEnd', 'onAnimationEndCapture', 'onAnimationIteration', 'onAnimationIterationCapture', 'onTransitionEnd', 'onTransitionEndCapture']; // Animation Types => TODO: Should be moved when react-smooth is typescriptified.\n\nexport var filterProps = function filterProps(props, includeEvents, isSvg) {\n if (!props || typeof props === 'function' || typeof props === 'boolean') {\n return null;\n }\n\n var inputProps = props;\n\n if ( /*#__PURE__*/isValidElement(props)) {\n inputProps = props.props;\n }\n\n if (!_isObject(inputProps)) {\n return null;\n }\n\n var out = {};\n Object.keys(inputProps).forEach(function (key) {\n // viewBox only exist in \n if (SVGElementPropKeys.includes(key) || isSvg && SVGContainerPropKeys.includes(key) || includeEvents && EventKeys.includes(key)) {\n out[key] = inputProps[key];\n }\n });\n return out;\n};\nexport var adaptEventHandlers = function adaptEventHandlers(props, newHandler) {\n if (!props || typeof props === 'function' || typeof props === 'boolean') {\n return null;\n }\n\n var inputProps = props;\n\n if ( /*#__PURE__*/isValidElement(props)) {\n inputProps = props.props;\n }\n\n if (!_isObject(inputProps)) {\n return null;\n }\n\n var out = {};\n Object.keys(inputProps).forEach(function (key) {\n if (EventKeys.includes(key)) {\n out[key] = newHandler || function (e) {\n return inputProps[key](inputProps, e);\n };\n }\n });\n return out;\n};\n\nvar getEventHandlerOfChild = function getEventHandlerOfChild(originalHandler, data, index) {\n return function (e) {\n originalHandler(data, index, e);\n return null;\n };\n};\n\nexport var adaptEventsOfChild = function adaptEventsOfChild(props, data, index) {\n if (!_isObject(props) || _typeof(props) !== 'object') {\n return null;\n }\n\n var out = null;\n Object.keys(props).forEach(function (key) {\n var item = props[key];\n\n if (EventKeys.includes(key) && typeof item === 'function') {\n if (!out) out = {};\n out[key] = getEventHandlerOfChild(item, data, index);\n }\n });\n return out;\n};","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _postcssValueParser = require('postcss-value-parser');\n\nvar _postcssValueParser2 = _interopRequireDefault(_postcssValueParser);\n\nvar _parser = require('./parser');\n\nvar _reducer = require('./lib/reducer');\n\nvar _reducer2 = _interopRequireDefault(_reducer);\n\nvar _stringifier = require('./lib/stringifier');\n\nvar _stringifier2 = _interopRequireDefault(_stringifier);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// eslint-disable-line\nvar MATCH_CALC = /((?:\\-[a-z]+\\-)?calc)/;\n\nexports.default = function (value) {\n var precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;\n\n return (0, _postcssValueParser2.default)(value).walk(function (node) {\n // skip anything which isn't a calc() function\n if (node.type !== 'function' || !MATCH_CALC.test(node.value)) return;\n\n // stringify calc expression and produce an AST\n var contents = _postcssValueParser2.default.stringify(node.nodes);\n\n // skip constant() and env()\n if (contents.indexOf('constant') >= 0 || contents.indexOf('env') >= 0) return;\n\n var ast = _parser.parser.parse(contents);\n\n // reduce AST to its simplest form, that is, either to a single value\n // or a simplified calc expression\n var reducedAst = (0, _reducer2.default)(ast, precision);\n\n // stringify AST and write it back\n node.type = 'word';\n node.value = (0, _stringifier2.default)(node.value, reducedAst, precision);\n }, true).toString();\n};\n\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _cssUnitConverter = require('css-unit-converter');\n\nvar _cssUnitConverter2 = _interopRequireDefault(_cssUnitConverter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction convertNodes(left, right, precision) {\n switch (left.type) {\n case 'LengthValue':\n case 'AngleValue':\n case 'TimeValue':\n case 'FrequencyValue':\n case 'ResolutionValue':\n return convertAbsoluteLength(left, right, precision);\n default:\n return { left: left, right: right };\n }\n}\n\nfunction convertAbsoluteLength(left, right, precision) {\n if (right.type === left.type) {\n right = {\n type: left.type,\n value: (0, _cssUnitConverter2.default)(right.value, right.unit, left.unit, precision),\n unit: left.unit\n };\n }\n return { left: left, right: right };\n}\n\nexports.default = convertNodes;\nmodule.exports = exports['default'];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.flip = flip;\n\nvar _convert = require(\"./convert\");\n\nvar _convert2 = _interopRequireDefault(_convert);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction reduce(node, precision) {\n if (node.type === \"MathExpression\") return reduceMathExpression(node, precision);\n if (node.type === \"Calc\") return reduce(node.value, precision);\n\n return node;\n}\n\nfunction isEqual(left, right) {\n return left.type === right.type && left.value === right.value;\n}\n\nfunction isValueType(type) {\n switch (type) {\n case 'LengthValue':\n case 'AngleValue':\n case 'TimeValue':\n case 'FrequencyValue':\n case 'ResolutionValue':\n case 'EmValue':\n case 'ExValue':\n case 'ChValue':\n case 'RemValue':\n case 'VhValue':\n case 'VwValue':\n case 'VminValue':\n case 'VmaxValue':\n case 'PercentageValue':\n case 'Value':\n return true;\n }\n return false;\n}\n\nfunction convertMathExpression(node, precision) {\n var nodes = (0, _convert2.default)(node.left, node.right, precision);\n var left = reduce(nodes.left, precision);\n var right = reduce(nodes.right, precision);\n\n if (left.type === \"MathExpression\" && right.type === \"MathExpression\") {\n\n if (left.operator === '/' && right.operator === '*' || left.operator === '-' && right.operator === '+' || left.operator === '*' && right.operator === '/' || left.operator === '+' && right.operator === '-') {\n\n if (isEqual(left.right, right.right)) nodes = (0, _convert2.default)(left.left, right.left, precision);else if (isEqual(left.right, right.left)) nodes = (0, _convert2.default)(left.left, right.right, precision);\n\n left = reduce(nodes.left, precision);\n right = reduce(nodes.right, precision);\n }\n }\n\n node.left = left;\n node.right = right;\n return node;\n}\n\nfunction flip(operator) {\n return operator === '+' ? '-' : '+';\n}\n\nfunction flipValue(node) {\n if (isValueType(node.type)) node.value = -node.value;else if (node.type == 'MathExpression') {\n node.left = flipValue(node.left);\n node.right = flipValue(node.right);\n }\n return node;\n}\n\nfunction reduceAddSubExpression(node, precision) {\n var _node = node,\n left = _node.left,\n right = _node.right,\n op = _node.operator;\n\n\n if (left.type === 'CssVariable' || right.type === 'CssVariable') return node;\n\n // something + 0 => something\n // something - 0 => something\n if (right.value === 0) return left;\n\n // 0 + something => something\n if (left.value === 0 && op === \"+\") return right;\n\n // 0 - something => -something\n if (left.value === 0 && op === \"-\") return flipValue(right);\n\n // value + value\n // value - value\n if (left.type === right.type && isValueType(left.type)) {\n node = Object.assign({}, left);\n if (op === \"+\") node.value = left.value + right.value;else node.value = left.value - right.value;\n }\n\n // value (expr)\n if (isValueType(left.type) && (right.operator === '+' || right.operator === '-') && right.type === 'MathExpression') {\n // value + (value + something) => (value + value) + something\n // value + (value - something) => (value + value) - something\n // value - (value + something) => (value - value) - something\n // value - (value - something) => (value - value) + something\n if (left.type === right.left.type) {\n node = Object.assign({}, node);\n node.left = reduce({\n type: 'MathExpression',\n operator: op,\n left: left,\n right: right.left\n }, precision);\n node.right = right.right;\n node.operator = op === '-' ? flip(right.operator) : right.operator;\n return reduce(node, precision);\n }\n // value + (something + value) => (value + value) + something\n // value + (something - value) => (value - value) + something\n // value - (something + value) => (value - value) - something\n // value - (something - value) => (value + value) - something\n else if (left.type === right.right.type) {\n node = Object.assign({}, node);\n node.left = reduce({\n type: 'MathExpression',\n operator: op === '-' ? flip(right.operator) : right.operator,\n left: left,\n right: right.right\n }, precision);\n node.right = right.left;\n return reduce(node, precision);\n }\n }\n\n // (expr) value\n if (left.type === 'MathExpression' && (left.operator === '+' || left.operator === '-') && isValueType(right.type)) {\n // (value + something) + value => (value + value) + something\n // (value - something) + value => (value + value) - something\n // (value + something) - value => (value - value) + something\n // (value - something) - value => (value - value) - something\n if (right.type === left.left.type) {\n node = Object.assign({}, left);\n node.left = reduce({\n type: 'MathExpression',\n operator: op,\n left: left.left,\n right: right\n }, precision);\n return reduce(node, precision);\n }\n // (something + value) + value => something + (value + value)\n // (something - value1) + value2 => something - (value2 - value1)\n // (something + value) - value => something + (value - value)\n // (something - value) - value => something - (value + value)\n else if (right.type === left.right.type) {\n node = Object.assign({}, left);\n if (left.operator === '-') {\n node.right = reduce({\n type: 'MathExpression',\n operator: op === '-' ? '+' : '-',\n left: right,\n right: left.right\n }, precision);\n node.operator = op === '-' ? '-' : '+';\n } else {\n node.right = reduce({\n type: 'MathExpression',\n operator: op,\n left: left.right,\n right: right\n }, precision);\n }\n if (node.right.value < 0) {\n node.right.value *= -1;\n node.operator = node.operator === '-' ? '+' : '-';\n }\n return reduce(node, precision);\n }\n }\n return node;\n}\n\nfunction reduceDivisionExpression(node, precision) {\n if (!isValueType(node.right.type)) return node;\n\n if (node.right.type !== 'Value') throw new Error(\"Cannot divide by \\\"\" + node.right.unit + \"\\\", number expected\");\n\n if (node.right.value === 0) throw new Error('Cannot divide by zero');\n\n // (expr) / value\n if (node.left.type === 'MathExpression') {\n if (isValueType(node.left.left.type) && isValueType(node.left.right.type)) {\n node.left.left.value /= node.right.value;\n node.left.right.value /= node.right.value;\n return reduce(node.left, precision);\n }\n return node;\n }\n // something / value\n else if (isValueType(node.left.type)) {\n node.left.value /= node.right.value;\n return node.left;\n }\n return node;\n}\n\nfunction reduceMultiplicationExpression(node) {\n // (expr) * value\n if (node.left.type === 'MathExpression' && node.right.type === 'Value') {\n if (isValueType(node.left.left.type) && isValueType(node.left.right.type)) {\n node.left.left.value *= node.right.value;\n node.left.right.value *= node.right.value;\n return node.left;\n }\n }\n // something * value\n else if (isValueType(node.left.type) && node.right.type === 'Value') {\n node.left.value *= node.right.value;\n return node.left;\n }\n // value * (expr)\n else if (node.left.type === 'Value' && node.right.type === 'MathExpression') {\n if (isValueType(node.right.left.type) && isValueType(node.right.right.type)) {\n node.right.left.value *= node.left.value;\n node.right.right.value *= node.left.value;\n return node.right;\n }\n }\n // value * something\n else if (node.left.type === 'Value' && isValueType(node.right.type)) {\n node.right.value *= node.left.value;\n return node.right;\n }\n return node;\n}\n\nfunction reduceMathExpression(node, precision) {\n node = convertMathExpression(node, precision);\n\n switch (node.operator) {\n case \"+\":\n case \"-\":\n return reduceAddSubExpression(node, precision);\n case \"/\":\n return reduceDivisionExpression(node, precision);\n case \"*\":\n return reduceMultiplicationExpression(node);\n }\n return node;\n}\n\nexports.default = reduce;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (calc, node, precision) {\n var str = stringify(node, precision);\n\n if (node.type === \"MathExpression\") {\n // if calc expression couldn't be resolved to a single value, re-wrap it as\n // a calc()\n str = calc + \"(\" + str + \")\";\n }\n return str;\n};\n\nvar _reducer = require(\"./reducer\");\n\nvar order = {\n \"*\": 0,\n \"/\": 0,\n \"+\": 1,\n \"-\": 1\n};\n\nfunction round(value, prec) {\n if (prec !== false) {\n var precision = Math.pow(10, prec);\n return Math.round(value * precision) / precision;\n }\n return value;\n}\n\nfunction stringify(node, prec) {\n switch (node.type) {\n case \"MathExpression\":\n {\n var left = node.left,\n right = node.right,\n op = node.operator;\n\n var str = \"\";\n\n if (left.type === 'MathExpression' && order[op] < order[left.operator]) str += \"(\" + stringify(left, prec) + \")\";else str += stringify(left, prec);\n\n str += \" \" + node.operator + \" \";\n\n if (right.type === 'MathExpression' && order[op] < order[right.operator]) {\n str += \"(\" + stringify(right, prec) + \")\";\n } else if (right.type === 'MathExpression' && op === \"-\" && [\"+\", \"-\"].includes(right.operator)) {\n // fix #52 : a-(b+c) = a-b-c\n right.operator = (0, _reducer.flip)(right.operator);\n str += stringify(right, prec);\n } else {\n str += stringify(right, prec);\n }\n\n return str;\n }\n case \"Value\":\n return round(node.value, prec);\n case 'CssVariable':\n if (node.fallback) {\n return \"var(\" + node.value + \", \" + stringify(node.fallback, prec, true) + \")\";\n }\n return \"var(\" + node.value + \")\";\n case 'Calc':\n if (node.prefix) {\n return \"-\" + node.prefix + \"-calc(\" + stringify(node.value, prec) + \")\";\n }\n return \"calc(\" + stringify(node.value, prec) + \")\";\n default:\n return round(node.value, prec) + node.unit;\n }\n}\n\nmodule.exports = exports[\"default\"];","\n/* parser generated by jison 0.6.1-215 */\n\n/*\n * Returns a Parser object of the following structure:\n *\n * Parser: {\n * yy: {} The so-called \"shared state\" or rather the *source* of it;\n * the real \"shared state\" `yy` passed around to\n * the rule actions, etc. is a derivative/copy of this one,\n * not a direct reference!\n * }\n *\n * Parser.prototype: {\n * yy: {},\n * EOF: 1,\n * TERROR: 2,\n *\n * trace: function(errorMessage, ...),\n *\n * JisonParserError: function(msg, hash),\n *\n * quoteName: function(name),\n * Helper function which can be overridden by user code later on: put suitable\n * quotes around literal IDs in a description string.\n *\n * originalQuoteName: function(name),\n * The basic quoteName handler provided by JISON.\n * `cleanupAfterParse()` will clean up and reset `quoteName()` to reference this function\n * at the end of the `parse()`.\n *\n * describeSymbol: function(symbol),\n * Return a more-or-less human-readable description of the given symbol, when\n * available, or the symbol itself, serving as its own 'description' for lack\n * of something better to serve up.\n *\n * Return NULL when the symbol is unknown to the parser.\n *\n * symbols_: {associative list: name ==> number},\n * terminals_: {associative list: number ==> name},\n * nonterminals: {associative list: rule-name ==> {associative list: number ==> rule-alt}},\n * terminal_descriptions_: (if there are any) {associative list: number ==> description},\n * productions_: [...],\n *\n * performAction: function parser__performAction(yytext, yyleng, yylineno, yyloc, yystate, yysp, yyvstack, yylstack, yystack, yysstack),\n *\n * The function parameters and `this` have the following value/meaning:\n * - `this` : reference to the `yyval` internal object, which has members (`$` and `_$`)\n * to store/reference the rule value `$$` and location info `@$`.\n *\n * One important thing to note about `this` a.k.a. `yyval`: every *reduce* action gets\n * to see the same object via the `this` reference, i.e. if you wish to carry custom\n * data from one reduce action through to the next within a single parse run, then you\n * may get nasty and use `yyval` a.k.a. `this` for storing you own semi-permanent data.\n *\n * `this.yy` is a direct reference to the `yy` shared state object.\n *\n * `%parse-param`-specified additional `parse()` arguments have been added to this `yy`\n * object at `parse()` start and are therefore available to the action code via the\n * same named `yy.xxxx` attributes (where `xxxx` represents a identifier name from\n * the %parse-param` list.\n *\n * - `yytext` : reference to the lexer value which belongs to the last lexer token used\n * to match this rule. This is *not* the look-ahead token, but the last token\n * that's actually part of this rule.\n *\n * Formulated another way, `yytext` is the value of the token immediately preceeding\n * the current look-ahead token.\n * Caveats apply for rules which don't require look-ahead, such as epsilon rules.\n *\n * - `yyleng` : ditto as `yytext`, only now for the lexer.yyleng value.\n *\n * - `yylineno`: ditto as `yytext`, only now for the lexer.yylineno value.\n *\n * - `yyloc` : ditto as `yytext`, only now for the lexer.yylloc lexer token location info.\n *\n * WARNING: since jison 0.4.18-186 this entry may be NULL/UNDEFINED instead\n * of an empty object when no suitable location info can be provided.\n *\n * - `yystate` : the current parser state number, used internally for dispatching and\n * executing the action code chunk matching the rule currently being reduced.\n *\n * - `yysp` : the current state stack position (a.k.a. 'stack pointer')\n *\n * This one comes in handy when you are going to do advanced things to the parser\n * stacks, all of which are accessible from your action code (see the next entries below).\n *\n * Also note that you can access this and other stack index values using the new double-hash\n * syntax, i.e. `##$ === ##0 === yysp`, while `##1` is the stack index for all things\n * related to the first rule term, just like you have `$1`, `@1` and `#1`.\n * This is made available to write very advanced grammar action rules, e.g. when you want\n * to investigate the parse state stack in your action code, which would, for example,\n * be relevant when you wish to implement error diagnostics and reporting schemes similar\n * to the work described here:\n *\n * + Pottier, F., 2016. Reachability and error diagnosis in LR(1) automata.\n * In Journées Francophones des Languages Applicatifs.\n *\n * + Jeffery, C.L., 2003. Generating LR syntax error messages from examples.\n * ACM Transactions on Programming Languages and Systems (TOPLAS), 25(5), pp.631–640.\n *\n * - `yyrulelength`: the current rule's term count, i.e. the number of entries occupied on the stack.\n *\n * This one comes in handy when you are going to do advanced things to the parser\n * stacks, all of which are accessible from your action code (see the next entries below).\n *\n * - `yyvstack`: reference to the parser value stack. Also accessed via the `$1` etc.\n * constructs.\n *\n * - `yylstack`: reference to the parser token location stack. Also accessed via\n * the `@1` etc. constructs.\n *\n * WARNING: since jison 0.4.18-186 this array MAY contain slots which are\n * UNDEFINED rather than an empty (location) object, when the lexer/parser\n * action code did not provide a suitable location info object when such a\n * slot was filled!\n *\n * - `yystack` : reference to the parser token id stack. Also accessed via the\n * `#1` etc. constructs.\n *\n * Note: this is a bit of a **white lie** as we can statically decode any `#n` reference to\n * its numeric token id value, hence that code wouldn't need the `yystack` but *you* might\n * want access this array for your own purposes, such as error analysis as mentioned above!\n *\n * Note that this stack stores the current stack of *tokens*, that is the sequence of\n * already parsed=reduced *nonterminals* (tokens representing rules) and *terminals*\n * (lexer tokens *shifted* onto the stack until the rule they belong to is found and\n * *reduced*.\n *\n * - `yysstack`: reference to the parser state stack. This one carries the internal parser\n * *states* such as the one in `yystate`, which are used to represent\n * the parser state machine in the *parse table*. *Very* *internal* stuff,\n * what can I say? If you access this one, you're clearly doing wicked things\n *\n * - `...` : the extra arguments you specified in the `%parse-param` statement in your\n * grammar definition file.\n *\n * table: [...],\n * State transition table\n * ----------------------\n *\n * index levels are:\n * - `state` --> hash table\n * - `symbol` --> action (number or array)\n *\n * If the `action` is an array, these are the elements' meaning:\n * - index [0]: 1 = shift, 2 = reduce, 3 = accept\n * - index [1]: GOTO `state`\n *\n * If the `action` is a number, it is the GOTO `state`\n *\n * defaultActions: {...},\n *\n * parseError: function(str, hash, ExceptionClass),\n * yyError: function(str, ...),\n * yyRecovering: function(),\n * yyErrOk: function(),\n * yyClearIn: function(),\n *\n * constructParseErrorInfo: function(error_message, exception_object, expected_token_set, is_recoverable),\n * Helper function **which will be set up during the first invocation of the `parse()` method**.\n * Produces a new errorInfo 'hash object' which can be passed into `parseError()`.\n * See it's use in this parser kernel in many places; example usage:\n *\n * var infoObj = parser.constructParseErrorInfo('fail!', null,\n * parser.collect_expected_token_set(state), true);\n * var retVal = parser.parseError(infoObj.errStr, infoObj, parser.JisonParserError);\n *\n * originalParseError: function(str, hash, ExceptionClass),\n * The basic `parseError` handler provided by JISON.\n * `cleanupAfterParse()` will clean up and reset `parseError()` to reference this function\n * at the end of the `parse()`.\n *\n * options: { ... parser %options ... },\n *\n * parse: function(input[, args...]),\n * Parse the given `input` and return the parsed value (or `true` when none was provided by\n * the root action, in which case the parser is acting as a *matcher*).\n * You MAY use the additional `args...` parameters as per `%parse-param` spec of this grammar:\n * these extra `args...` are added verbatim to the `yy` object reference as member variables.\n *\n * WARNING:\n * Parser's additional `args...` parameters (via `%parse-param`) MAY conflict with\n * any attributes already added to `yy` by the jison run-time;\n * when such a collision is detected an exception is thrown to prevent the generated run-time\n * from silently accepting this confusing and potentially hazardous situation!\n *\n * The lexer MAY add its own set of additional parameters (via the `%parse-param` line in\n * the lexer section of the grammar spec): these will be inserted in the `yy` shared state\n * object and any collision with those will be reported by the lexer via a thrown exception.\n *\n * cleanupAfterParse: function(resultValue, invoke_post_methods, do_not_nuke_errorinfos),\n * Helper function **which will be set up during the first invocation of the `parse()` method**.\n * This helper API is invoked at the end of the `parse()` call, unless an exception was thrown\n * and `%options no-try-catch` has been defined for this grammar: in that case this helper MAY\n * be invoked by calling user code to ensure the `post_parse` callbacks are invoked and\n * the internal parser gets properly garbage collected under these particular circumstances.\n *\n * yyMergeLocationInfo: function(first_index, last_index, first_yylloc, last_yylloc, dont_look_back),\n * Helper function **which will be set up during the first invocation of the `parse()` method**.\n * This helper API can be invoked to calculate a spanning `yylloc` location info object.\n *\n * Note: %epsilon rules MAY specify no `first_index` and `first_yylloc`, in which case\n * this function will attempt to obtain a suitable location marker by inspecting the location stack\n * backwards.\n *\n * For more info see the documentation comment further below, immediately above this function's\n * implementation.\n *\n * lexer: {\n * yy: {...}, A reference to the so-called \"shared state\" `yy` once\n * received via a call to the `.setInput(input, yy)` lexer API.\n * EOF: 1,\n * ERROR: 2,\n * JisonLexerError: function(msg, hash),\n * parseError: function(str, hash, ExceptionClass),\n * setInput: function(input, [yy]),\n * input: function(),\n * unput: function(str),\n * more: function(),\n * reject: function(),\n * less: function(n),\n * pastInput: function(n),\n * upcomingInput: function(n),\n * showPosition: function(),\n * test_match: function(regex_match_array, rule_index, ...),\n * next: function(...),\n * lex: function(...),\n * begin: function(condition),\n * pushState: function(condition),\n * popState: function(),\n * topState: function(),\n * _currentRules: function(),\n * stateStackSize: function(),\n * cleanupAfterLex: function()\n *\n * options: { ... lexer %options ... },\n *\n * performAction: function(yy, yy_, $avoiding_name_collisions, YY_START, ...),\n * rules: [...],\n * conditions: {associative list: name ==> set},\n * }\n * }\n *\n *\n * token location info (@$, _$, etc.): {\n * first_line: n,\n * last_line: n,\n * first_column: n,\n * last_column: n,\n * range: [start_number, end_number]\n * (where the numbers are indexes into the input string, zero-based)\n * }\n *\n * ---\n *\n * The `parseError` function receives a 'hash' object with these members for lexer and\n * parser errors:\n *\n * {\n * text: (matched text)\n * token: (the produced terminal token, if any)\n * token_id: (the produced terminal token numeric ID, if any)\n * line: (yylineno)\n * loc: (yylloc)\n * }\n *\n * parser (grammar) errors will also provide these additional members:\n *\n * {\n * expected: (array describing the set of expected tokens;\n * may be UNDEFINED when we cannot easily produce such a set)\n * state: (integer (or array when the table includes grammar collisions);\n * represents the current internal state of the parser kernel.\n * can, for example, be used to pass to the `collect_expected_token_set()`\n * API to obtain the expected token set)\n * action: (integer; represents the current internal action which will be executed)\n * new_state: (integer; represents the next/planned internal state, once the current\n * action has executed)\n * recoverable: (boolean: TRUE when the parser MAY have an error recovery rule\n * available for this particular error)\n * state_stack: (array: the current parser LALR/LR internal state stack; this can be used,\n * for instance, for advanced error analysis and reporting)\n * value_stack: (array: the current parser LALR/LR internal `$$` value stack; this can be used,\n * for instance, for advanced error analysis and reporting)\n * location_stack: (array: the current parser LALR/LR internal location stack; this can be used,\n * for instance, for advanced error analysis and reporting)\n * yy: (object: the current parser internal \"shared state\" `yy`\n * as is also available in the rule actions; this can be used,\n * for instance, for advanced error analysis and reporting)\n * lexer: (reference to the current lexer instance used by the parser)\n * parser: (reference to the current parser instance)\n * }\n *\n * while `this` will reference the current parser instance.\n *\n * When `parseError` is invoked by the lexer, `this` will still reference the related *parser*\n * instance, while these additional `hash` fields will also be provided:\n *\n * {\n * lexer: (reference to the current lexer instance which reported the error)\n * }\n *\n * When `parseError` is invoked by the parser due to a **JavaScript exception** being fired\n * from either the parser or lexer, `this` will still reference the related *parser*\n * instance, while these additional `hash` fields will also be provided:\n *\n * {\n * exception: (reference to the exception thrown)\n * }\n *\n * Please do note that in the latter situation, the `expected` field will be omitted as\n * this type of failure is assumed not to be due to *parse errors* but rather due to user\n * action code in either parser or lexer failing unexpectedly.\n *\n * ---\n *\n * You can specify parser options by setting / modifying the `.yy` object of your Parser instance.\n * These options are available:\n *\n * ### options which are global for all parser instances\n *\n * Parser.pre_parse: function(yy)\n * optional: you can specify a pre_parse() function in the chunk following\n * the grammar, i.e. after the last `%%`.\n * Parser.post_parse: function(yy, retval, parseInfo) { return retval; }\n * optional: you can specify a post_parse() function in the chunk following\n * the grammar, i.e. after the last `%%`. When it does not return any value,\n * the parser will return the original `retval`.\n *\n * ### options which can be set up per parser instance\n *\n * yy: {\n * pre_parse: function(yy)\n * optional: is invoked before the parse cycle starts (and before the first\n * invocation of `lex()`) but immediately after the invocation of\n * `parser.pre_parse()`).\n * post_parse: function(yy, retval, parseInfo) { return retval; }\n * optional: is invoked when the parse terminates due to success ('accept')\n * or failure (even when exceptions are thrown).\n * `retval` contains the return value to be produced by `Parser.parse()`;\n * this function can override the return value by returning another.\n * When it does not return any value, the parser will return the original\n * `retval`.\n * This function is invoked immediately before `parser.post_parse()`.\n *\n * parseError: function(str, hash, ExceptionClass)\n * optional: overrides the default `parseError` function.\n * quoteName: function(name),\n * optional: overrides the default `quoteName` function.\n * }\n *\n * parser.lexer.options: {\n * pre_lex: function()\n * optional: is invoked before the lexer is invoked to produce another token.\n * `this` refers to the Lexer object.\n * post_lex: function(token) { return token; }\n * optional: is invoked when the lexer has produced a token `token`;\n * this function can override the returned token value by returning another.\n * When it does not return any (truthy) value, the lexer will return\n * the original `token`.\n * `this` refers to the Lexer object.\n *\n * ranges: boolean\n * optional: `true` ==> token location info will include a .range[] member.\n * flex: boolean\n * optional: `true` ==> flex-like lexing behaviour where the rules are tested\n * exhaustively to find the longest match.\n * backtrack_lexer: boolean\n * optional: `true` ==> lexer regexes are tested in order and for invoked;\n * the lexer terminates the scan when a token is returned by the action code.\n * xregexp: boolean\n * optional: `true` ==> lexer rule regexes are \"extended regex format\" requiring the\n * `XRegExp` library. When this `%option` has not been specified at compile time, all lexer\n * rule regexes have been written as standard JavaScript RegExp expressions.\n * }\n */\n\n \n \n var parser = (function () {\n\n\n// See also:\n// http://stackoverflow.com/questions/1382107/whats-a-good-way-to-extend-error-in-javascript/#35881508\n// but we keep the prototype.constructor and prototype.name assignment lines too for compatibility\n// with userland code which might access the derived class in a 'classic' way.\nfunction JisonParserError(msg, hash) {\n Object.defineProperty(this, 'name', {\n enumerable: false,\n writable: false,\n value: 'JisonParserError'\n });\n\n if (msg == null) msg = '???';\n\n Object.defineProperty(this, 'message', {\n enumerable: false,\n writable: true,\n value: msg\n });\n\n this.hash = hash;\n\n var stacktrace;\n if (hash && hash.exception instanceof Error) {\n var ex2 = hash.exception;\n this.message = ex2.message || msg;\n stacktrace = ex2.stack;\n }\n if (!stacktrace) {\n if (Error.hasOwnProperty('captureStackTrace')) { // V8/Chrome engine\n Error.captureStackTrace(this, this.constructor);\n } else {\n stacktrace = (new Error(msg)).stack;\n }\n }\n if (stacktrace) {\n Object.defineProperty(this, 'stack', {\n enumerable: false,\n writable: false,\n value: stacktrace\n });\n }\n}\n\nif (typeof Object.setPrototypeOf === 'function') {\n Object.setPrototypeOf(JisonParserError.prototype, Error.prototype);\n} else {\n JisonParserError.prototype = Object.create(Error.prototype);\n}\nJisonParserError.prototype.constructor = JisonParserError;\nJisonParserError.prototype.name = 'JisonParserError';\n\n\n\n\n // helper: reconstruct the productions[] table\n function bp(s) {\n var rv = [];\n var p = s.pop;\n var r = s.rule;\n for (var i = 0, l = p.length; i < l; i++) {\n rv.push([\n p[i],\n r[i]\n ]);\n }\n return rv;\n }\n \n\n\n // helper: reconstruct the defaultActions[] table\n function bda(s) {\n var rv = {};\n var d = s.idx;\n var g = s.goto;\n for (var i = 0, l = d.length; i < l; i++) {\n var j = d[i];\n rv[j] = g[i];\n }\n return rv;\n }\n \n\n\n // helper: reconstruct the 'goto' table\n function bt(s) {\n var rv = [];\n var d = s.len;\n var y = s.symbol;\n var t = s.type;\n var a = s.state;\n var m = s.mode;\n var g = s.goto;\n for (var i = 0, l = d.length; i < l; i++) {\n var n = d[i];\n var q = {};\n for (var j = 0; j < n; j++) {\n var z = y.shift();\n switch (t.shift()) {\n case 2:\n q[z] = [\n m.shift(),\n g.shift()\n ];\n break;\n\n case 0:\n q[z] = a.shift();\n break;\n\n default:\n // type === 1: accept\n q[z] = [\n 3\n ];\n }\n }\n rv.push(q);\n }\n return rv;\n }\n \n\n\n // helper: runlength encoding with increment step: code, length: step (default step = 0)\n // `this` references an array\n function s(c, l, a) {\n a = a || 0;\n for (var i = 0; i < l; i++) {\n this.push(c);\n c += a;\n }\n }\n\n // helper: duplicate sequence from *relative* offset and length.\n // `this` references an array\n function c(i, l) {\n i = this.length - i;\n for (l += i; i < l; i++) {\n this.push(this[i]);\n }\n }\n\n // helper: unpack an array using helpers and data, all passed in an array argument 'a'.\n function u(a) {\n var rv = [];\n for (var i = 0, l = a.length; i < l; i++) {\n var e = a[i];\n // Is this entry a helper function?\n if (typeof e === 'function') {\n i++;\n e.apply(rv, a[i]);\n } else {\n rv.push(e);\n }\n }\n return rv;\n }\n \n\nvar parser = {\n // Code Generator Information Report\n // ---------------------------------\n //\n // Options:\n //\n // default action mode: ............. [\"classic\",\"merge\"]\n // test-compile action mode: ........ \"parser:*,lexer:*\"\n // try..catch: ...................... true\n // default resolve on conflict: ..... true\n // on-demand look-ahead: ............ false\n // error recovery token skip maximum: 3\n // yyerror in parse actions is: ..... NOT recoverable,\n // yyerror in lexer actions and other non-fatal lexer are:\n // .................................. NOT recoverable,\n // debug grammar/output: ............ false\n // has partial LR conflict upgrade: true\n // rudimentary token-stack support: false\n // parser table compression mode: ... 2\n // export debug tables: ............. false\n // export *all* tables: ............. false\n // module type: ..................... commonjs\n // parser engine type: .............. lalr\n // output main() in the module: ..... true\n // has user-specified main(): ....... false\n // has user-specified require()/import modules for main():\n // .................................. false\n // number of expected conflicts: .... 0\n //\n //\n // Parser Analysis flags:\n //\n // no significant actions (parser is a language matcher only):\n // .................................. false\n // uses yyleng: ..................... false\n // uses yylineno: ................... false\n // uses yytext: ..................... false\n // uses yylloc: ..................... false\n // uses ParseError API: ............. false\n // uses YYERROR: .................... false\n // uses YYRECOVERING: ............... false\n // uses YYERROK: .................... false\n // uses YYCLEARIN: .................. false\n // tracks rule values: .............. true\n // assigns rule values: ............. true\n // uses location tracking: .......... false\n // assigns location: ................ false\n // uses yystack: .................... false\n // uses yysstack: ................... false\n // uses yysp: ....................... true\n // uses yyrulelength: ............... false\n // uses yyMergeLocationInfo API: .... false\n // has error recovery: .............. false\n // has error reporting: ............. false\n //\n // --------- END OF REPORT -----------\n\ntrace: function no_op_trace() { },\nJisonParserError: JisonParserError,\nyy: {},\noptions: {\n type: \"lalr\",\n hasPartialLrUpgradeOnConflict: true,\n errorRecoveryTokenDiscardCount: 3\n},\nsymbols_: {\n \"$accept\": 0,\n \"$end\": 1,\n \"ADD\": 3,\n \"ANGLE\": 16,\n \"CHS\": 22,\n \"COMMA\": 14,\n \"CSS_CPROP\": 13,\n \"CSS_VAR\": 12,\n \"DIV\": 6,\n \"EMS\": 20,\n \"EOF\": 1,\n \"EXS\": 21,\n \"FREQ\": 18,\n \"LENGTH\": 15,\n \"LPAREN\": 7,\n \"MUL\": 5,\n \"NESTED_CALC\": 9,\n \"NUMBER\": 11,\n \"PERCENTAGE\": 28,\n \"PREFIX\": 10,\n \"REMS\": 23,\n \"RES\": 19,\n \"RPAREN\": 8,\n \"SUB\": 4,\n \"TIME\": 17,\n \"VHS\": 24,\n \"VMAXS\": 27,\n \"VMINS\": 26,\n \"VWS\": 25,\n \"css_value\": 33,\n \"css_variable\": 32,\n \"error\": 2,\n \"expression\": 29,\n \"math_expression\": 30,\n \"value\": 31\n},\nterminals_: {\n 1: \"EOF\",\n 2: \"error\",\n 3: \"ADD\",\n 4: \"SUB\",\n 5: \"MUL\",\n 6: \"DIV\",\n 7: \"LPAREN\",\n 8: \"RPAREN\",\n 9: \"NESTED_CALC\",\n 10: \"PREFIX\",\n 11: \"NUMBER\",\n 12: \"CSS_VAR\",\n 13: \"CSS_CPROP\",\n 14: \"COMMA\",\n 15: \"LENGTH\",\n 16: \"ANGLE\",\n 17: \"TIME\",\n 18: \"FREQ\",\n 19: \"RES\",\n 20: \"EMS\",\n 21: \"EXS\",\n 22: \"CHS\",\n 23: \"REMS\",\n 24: \"VHS\",\n 25: \"VWS\",\n 26: \"VMINS\",\n 27: \"VMAXS\",\n 28: \"PERCENTAGE\"\n},\nTERROR: 2,\n EOF: 1,\n\n // internals: defined here so the object *structure* doesn't get modified by parse() et al,\n // thus helping JIT compilers like Chrome V8.\n originalQuoteName: null,\n originalParseError: null,\n cleanupAfterParse: null,\n constructParseErrorInfo: null,\n yyMergeLocationInfo: null,\n\n __reentrant_call_depth: 0, // INTERNAL USE ONLY\n __error_infos: [], // INTERNAL USE ONLY: the set of parseErrorInfo objects created since the last cleanup\n __error_recovery_infos: [], // INTERNAL USE ONLY: the set of parseErrorInfo objects created since the last cleanup\n\n // APIs which will be set up depending on user action code analysis:\n //yyRecovering: 0,\n //yyErrOk: 0,\n //yyClearIn: 0,\n\n // Helper APIs\n // -----------\n\n // Helper function which can be overridden by user code later on: put suitable quotes around\n // literal IDs in a description string.\n quoteName: function parser_quoteName(id_str) {\n return '\"' + id_str + '\"';\n },\n\n // Return the name of the given symbol (terminal or non-terminal) as a string, when available.\n //\n // Return NULL when the symbol is unknown to the parser.\n getSymbolName: function parser_getSymbolName(symbol) {\n if (this.terminals_[symbol]) {\n return this.terminals_[symbol];\n }\n\n // Otherwise... this might refer to a RULE token i.e. a non-terminal: see if we can dig that one up.\n //\n // An example of this may be where a rule's action code contains a call like this:\n //\n // parser.getSymbolName(#$)\n //\n // to obtain a human-readable name of the current grammar rule.\n var s = this.symbols_;\n for (var key in s) {\n if (s[key] === symbol) {\n return key;\n }\n }\n return null;\n },\n\n // Return a more-or-less human-readable description of the given symbol, when available,\n // or the symbol itself, serving as its own 'description' for lack of something better to serve up.\n //\n // Return NULL when the symbol is unknown to the parser.\n describeSymbol: function parser_describeSymbol(symbol) {\n if (symbol !== this.EOF && this.terminal_descriptions_ && this.terminal_descriptions_[symbol]) {\n return this.terminal_descriptions_[symbol];\n }\n else if (symbol === this.EOF) {\n return 'end of input';\n }\n var id = this.getSymbolName(symbol);\n if (id) {\n return this.quoteName(id);\n }\n return null;\n },\n\n // Produce a (more or less) human-readable list of expected tokens at the point of failure.\n //\n // The produced list may contain token or token set descriptions instead of the tokens\n // themselves to help turning this output into something that easier to read by humans\n // unless `do_not_describe` parameter is set, in which case a list of the raw, *numeric*,\n // expected terminals and nonterminals is produced.\n //\n // The returned list (array) will not contain any duplicate entries.\n collect_expected_token_set: function parser_collect_expected_token_set(state, do_not_describe) {\n var TERROR = this.TERROR;\n var tokenset = [];\n var check = {};\n // Has this (error?) state been outfitted with a custom expectations description text for human consumption?\n // If so, use that one instead of the less palatable token set.\n if (!do_not_describe && this.state_descriptions_ && this.state_descriptions_[state]) {\n return [\n this.state_descriptions_[state]\n ];\n }\n for (var p in this.table[state]) {\n p = +p;\n if (p !== TERROR) {\n var d = do_not_describe ? p : this.describeSymbol(p);\n if (d && !check[d]) {\n tokenset.push(d);\n check[d] = true; // Mark this token description as already mentioned to prevent outputting duplicate entries.\n }\n }\n }\n return tokenset;\n },\nproductions_: bp({\n pop: u([\n 29,\n s,\n [30, 10],\n 31,\n 31,\n 32,\n 32,\n s,\n [33, 15]\n]),\n rule: u([\n 2,\n s,\n [3, 5],\n 4,\n 7,\n s,\n [1, 4],\n 2,\n 4,\n 6,\n s,\n [1, 14],\n 2\n])\n}),\nperformAction: function parser__PerformAction(yystate /* action[1] */, yysp, yyvstack) {\n\n /* this == yyval */\n\n // the JS engine itself can go and remove these statements when `yy` turns out to be unused in any action code!\n var yy = this.yy;\n var yyparser = yy.parser;\n var yylexer = yy.lexer;\n\n \n\n switch (yystate) {\ncase 0:\n /*! Production:: $accept : expression $end */\n\n // default action (generated by JISON mode classic/merge :: 1,VT,VA,-,-,-,-,-,-):\n this.$ = yyvstack[yysp - 1];\n // END of default action (generated by JISON mode classic/merge :: 1,VT,VA,-,-,-,-,-,-)\n break;\n\ncase 1:\n /*! Production:: expression : math_expression EOF */\n\n // default action (generated by JISON mode classic/merge :: 2,VT,VA,-,-,-,-,-,-):\n this.$ = yyvstack[yysp - 1];\n // END of default action (generated by JISON mode classic/merge :: 2,VT,VA,-,-,-,-,-,-)\n \n \n return yyvstack[yysp - 1];\n break;\n\ncase 2:\n /*! Production:: math_expression : math_expression ADD math_expression */\ncase 3:\n /*! Production:: math_expression : math_expression SUB math_expression */\ncase 4:\n /*! Production:: math_expression : math_expression MUL math_expression */\ncase 5:\n /*! Production:: math_expression : math_expression DIV math_expression */\n\n this.$ = { type: 'MathExpression', operator: yyvstack[yysp - 1], left: yyvstack[yysp - 2], right: yyvstack[yysp] };\n break;\n\ncase 6:\n /*! Production:: math_expression : LPAREN math_expression RPAREN */\n\n this.$ = yyvstack[yysp - 1];\n break;\n\ncase 7:\n /*! Production:: math_expression : NESTED_CALC LPAREN math_expression RPAREN */\n\n this.$ = { type: 'Calc', value: yyvstack[yysp - 1] };\n break;\n\ncase 8:\n /*! Production:: math_expression : SUB PREFIX SUB NESTED_CALC LPAREN math_expression RPAREN */\n\n this.$ = { type: 'Calc', value: yyvstack[yysp - 1], prefix: yyvstack[yysp - 5] };\n break;\n\ncase 9:\n /*! Production:: math_expression : css_variable */\ncase 10:\n /*! Production:: math_expression : css_value */\ncase 11:\n /*! Production:: math_expression : value */\n\n this.$ = yyvstack[yysp];\n break;\n\ncase 12:\n /*! Production:: value : NUMBER */\n\n this.$ = { type: 'Value', value: parseFloat(yyvstack[yysp]) };\n break;\n\ncase 13:\n /*! Production:: value : SUB NUMBER */\n\n this.$ = { type: 'Value', value: parseFloat(yyvstack[yysp]) * -1 };\n break;\n\ncase 14:\n /*! Production:: css_variable : CSS_VAR LPAREN CSS_CPROP RPAREN */\n\n this.$ = { type: 'CssVariable', value: yyvstack[yysp - 1] };\n break;\n\ncase 15:\n /*! Production:: css_variable : CSS_VAR LPAREN CSS_CPROP COMMA math_expression RPAREN */\n\n this.$ = { type: 'CssVariable', value: yyvstack[yysp - 3], fallback: yyvstack[yysp - 1] };\n break;\n\ncase 16:\n /*! Production:: css_value : LENGTH */\n\n this.$ = { type: 'LengthValue', value: parseFloat(yyvstack[yysp]), unit: /[a-z]+/.exec(yyvstack[yysp])[0] };\n break;\n\ncase 17:\n /*! Production:: css_value : ANGLE */\n\n this.$ = { type: 'AngleValue', value: parseFloat(yyvstack[yysp]), unit: /[a-z]+/.exec(yyvstack[yysp])[0] };\n break;\n\ncase 18:\n /*! Production:: css_value : TIME */\n\n this.$ = { type: 'TimeValue', value: parseFloat(yyvstack[yysp]), unit: /[a-z]+/.exec(yyvstack[yysp])[0] };\n break;\n\ncase 19:\n /*! Production:: css_value : FREQ */\n\n this.$ = { type: 'FrequencyValue', value: parseFloat(yyvstack[yysp]), unit: /[a-z]+/.exec(yyvstack[yysp])[0] };\n break;\n\ncase 20:\n /*! Production:: css_value : RES */\n\n this.$ = { type: 'ResolutionValue', value: parseFloat(yyvstack[yysp]), unit: /[a-z]+/.exec(yyvstack[yysp])[0] };\n break;\n\ncase 21:\n /*! Production:: css_value : EMS */\n\n this.$ = { type: 'EmValue', value: parseFloat(yyvstack[yysp]), unit: 'em' };\n break;\n\ncase 22:\n /*! Production:: css_value : EXS */\n\n this.$ = { type: 'ExValue', value: parseFloat(yyvstack[yysp]), unit: 'ex' };\n break;\n\ncase 23:\n /*! Production:: css_value : CHS */\n\n this.$ = { type: 'ChValue', value: parseFloat(yyvstack[yysp]), unit: 'ch' };\n break;\n\ncase 24:\n /*! Production:: css_value : REMS */\n\n this.$ = { type: 'RemValue', value: parseFloat(yyvstack[yysp]), unit: 'rem' };\n break;\n\ncase 25:\n /*! Production:: css_value : VHS */\n\n this.$ = { type: 'VhValue', value: parseFloat(yyvstack[yysp]), unit: 'vh' };\n break;\n\ncase 26:\n /*! Production:: css_value : VWS */\n\n this.$ = { type: 'VwValue', value: parseFloat(yyvstack[yysp]), unit: 'vw' };\n break;\n\ncase 27:\n /*! Production:: css_value : VMINS */\n\n this.$ = { type: 'VminValue', value: parseFloat(yyvstack[yysp]), unit: 'vmin' };\n break;\n\ncase 28:\n /*! Production:: css_value : VMAXS */\n\n this.$ = { type: 'VmaxValue', value: parseFloat(yyvstack[yysp]), unit: 'vmax' };\n break;\n\ncase 29:\n /*! Production:: css_value : PERCENTAGE */\n\n this.$ = { type: 'PercentageValue', value: parseFloat(yyvstack[yysp]), unit: '%' };\n break;\n\ncase 30:\n /*! Production:: css_value : SUB css_value */\n\n var prev = yyvstack[yysp]; prev.value *= -1; this.$ = prev;\n break;\n\n}\n},\ntable: bt({\n len: u([\n 24,\n 1,\n 5,\n 23,\n 1,\n 18,\n s,\n [0, 3],\n 1,\n s,\n [0, 16],\n s,\n [23, 4],\n c,\n [28, 3],\n 0,\n 0,\n 16,\n 1,\n 6,\n 6,\n s,\n [0, 3],\n 5,\n 1,\n 2,\n c,\n [37, 3],\n c,\n [20, 3],\n 5,\n 0,\n 0\n]),\n symbol: u([\n 4,\n 7,\n 9,\n 11,\n 12,\n s,\n [15, 19, 1],\n 1,\n 1,\n s,\n [3, 4, 1],\n c,\n [30, 19],\n c,\n [29, 4],\n 7,\n 4,\n 10,\n 11,\n c,\n [22, 14],\n c,\n [19, 3],\n c,\n [43, 22],\n c,\n [23, 69],\n c,\n [139, 4],\n 8,\n c,\n [51, 24],\n 4,\n c,\n [138, 15],\n 13,\n c,\n [186, 5],\n 8,\n c,\n [6, 6],\n c,\n [5, 5],\n 9,\n 8,\n 14,\n c,\n [159, 47],\n c,\n [60, 10]\n]),\n type: u([\n s,\n [2, 19],\n s,\n [0, 5],\n 1,\n s,\n [2, 24],\n s,\n [0, 4],\n c,\n [22, 19],\n c,\n [43, 42],\n c,\n [23, 70],\n c,\n [28, 25],\n c,\n [45, 25],\n c,\n [113, 54]\n]),\n state: u([\n 1,\n 2,\n 8,\n 6,\n 7,\n 30,\n c,\n [4, 3],\n 33,\n 37,\n c,\n [5, 3],\n 38,\n c,\n [4, 3],\n 39,\n c,\n [4, 3],\n 40,\n c,\n [4, 3],\n 42,\n c,\n [21, 4],\n 50,\n c,\n [5, 3],\n 51,\n c,\n [4, 3]\n]),\n mode: u([\n s,\n [1, 179],\n s,\n [2, 3],\n c,\n [5, 5],\n c,\n [6, 4],\n s,\n [1, 57]\n]),\n goto: u([\n 5,\n 3,\n 4,\n 24,\n s,\n [9, 15, 1],\n s,\n [25, 5, 1],\n c,\n [24, 19],\n 31,\n 35,\n 32,\n 34,\n c,\n [18, 14],\n 36,\n c,\n [38, 19],\n c,\n [19, 57],\n c,\n [118, 4],\n 41,\n c,\n [24, 19],\n 43,\n 35,\n c,\n [16, 14],\n 44,\n s,\n [2, 3],\n 28,\n 29,\n 2,\n s,\n [3, 3],\n 28,\n 29,\n 3,\n c,\n [53, 4],\n s,\n [45, 5, 1],\n c,\n [100, 42],\n 52,\n c,\n [5, 4],\n 53\n])\n}),\ndefaultActions: bda({\n idx: u([\n 6,\n 7,\n 8,\n s,\n [10, 16, 1],\n 33,\n 34,\n 39,\n 40,\n 41,\n 45,\n 47,\n 52,\n 53\n]),\n goto: u([\n 9,\n 10,\n 11,\n s,\n [16, 14, 1],\n 12,\n 1,\n 30,\n 13,\n s,\n [4, 4, 1],\n 14,\n 15,\n 8\n])\n}),\nparseError: function parseError(str, hash, ExceptionClass) {\n if (hash.recoverable) {\n if (typeof this.trace === 'function') {\n this.trace(str);\n }\n hash.destroy(); // destroy... well, *almost*!\n } else {\n if (typeof this.trace === 'function') {\n this.trace(str);\n }\n if (!ExceptionClass) {\n ExceptionClass = this.JisonParserError;\n }\n throw new ExceptionClass(str, hash);\n }\n},\nparse: function parse(input) {\n var self = this;\n var stack = new Array(128); // token stack: stores token which leads to state at the same index (column storage)\n var sstack = new Array(128); // state stack: stores states (column storage)\n\n var vstack = new Array(128); // semantic value stack\n\n var table = this.table;\n var sp = 0; // 'stack pointer': index into the stacks\n\n\n \n\n\n var symbol = 0;\n\n\n\n var TERROR = this.TERROR;\n var EOF = this.EOF;\n var ERROR_RECOVERY_TOKEN_DISCARD_COUNT = (this.options.errorRecoveryTokenDiscardCount | 0) || 3;\n var NO_ACTION = [0, 54 /* === table.length :: ensures that anyone using this new state will fail dramatically! */];\n\n var lexer;\n if (this.__lexer__) {\n lexer = this.__lexer__;\n } else {\n lexer = this.__lexer__ = Object.create(this.lexer);\n }\n\n var sharedState_yy = {\n parseError: undefined,\n quoteName: undefined,\n lexer: undefined,\n parser: undefined,\n pre_parse: undefined,\n post_parse: undefined,\n pre_lex: undefined,\n post_lex: undefined // WARNING: must be written this way for the code expanders to work correctly in both ES5 and ES6 modes!\n };\n\n var ASSERT;\n if (typeof assert !== 'function') {\n ASSERT = function JisonAssert(cond, msg) {\n if (!cond) {\n throw new Error('assertion failed: ' + (msg || '***'));\n }\n };\n } else {\n ASSERT = assert;\n }\n\n this.yyGetSharedState = function yyGetSharedState() {\n return sharedState_yy;\n };\n\n\n\n\n\n\n\n\n function shallow_copy_noclobber(dst, src) {\n for (var k in src) {\n if (typeof dst[k] === 'undefined' && Object.prototype.hasOwnProperty.call(src, k)) {\n dst[k] = src[k];\n }\n }\n }\n\n // copy state\n shallow_copy_noclobber(sharedState_yy, this.yy);\n\n sharedState_yy.lexer = lexer;\n sharedState_yy.parser = this;\n\n\n\n\n\n\n // Does the shared state override the default `parseError` that already comes with this instance?\n if (typeof sharedState_yy.parseError === 'function') {\n this.parseError = function parseErrorAlt(str, hash, ExceptionClass) {\n if (!ExceptionClass) {\n ExceptionClass = this.JisonParserError;\n }\n return sharedState_yy.parseError.call(this, str, hash, ExceptionClass);\n };\n } else {\n this.parseError = this.originalParseError;\n }\n\n // Does the shared state override the default `quoteName` that already comes with this instance?\n if (typeof sharedState_yy.quoteName === 'function') {\n this.quoteName = function quoteNameAlt(id_str) {\n return sharedState_yy.quoteName.call(this, id_str);\n };\n } else {\n this.quoteName = this.originalQuoteName;\n }\n\n // set up the cleanup function; make it an API so that external code can re-use this one in case of\n // calamities or when the `%options no-try-catch` option has been specified for the grammar, in which\n // case this parse() API method doesn't come with a `finally { ... }` block any more!\n //\n // NOTE: as this API uses parse() as a closure, it MUST be set again on every parse() invocation,\n // or else your `sharedState`, etc. references will be *wrong*!\n this.cleanupAfterParse = function parser_cleanupAfterParse(resultValue, invoke_post_methods, do_not_nuke_errorinfos) {\n var rv;\n\n if (invoke_post_methods) {\n var hash;\n\n if (sharedState_yy.post_parse || this.post_parse) {\n // create an error hash info instance: we re-use this API in a **non-error situation**\n // as this one delivers all parser internals ready for access by userland code.\n hash = this.constructParseErrorInfo(null /* no error! */, null /* no exception! */, null, false);\n }\n\n if (sharedState_yy.post_parse) {\n rv = sharedState_yy.post_parse.call(this, sharedState_yy, resultValue, hash);\n if (typeof rv !== 'undefined') resultValue = rv;\n }\n if (this.post_parse) {\n rv = this.post_parse.call(this, sharedState_yy, resultValue, hash);\n if (typeof rv !== 'undefined') resultValue = rv;\n }\n\n // cleanup:\n if (hash && hash.destroy) {\n hash.destroy();\n }\n }\n\n if (this.__reentrant_call_depth > 1) return resultValue; // do not (yet) kill the sharedState when this is a reentrant run.\n\n // clean up the lingering lexer structures as well:\n if (lexer.cleanupAfterLex) {\n lexer.cleanupAfterLex(do_not_nuke_errorinfos);\n }\n\n // prevent lingering circular references from causing memory leaks:\n if (sharedState_yy) {\n sharedState_yy.lexer = undefined;\n sharedState_yy.parser = undefined;\n if (lexer.yy === sharedState_yy) {\n lexer.yy = undefined;\n }\n }\n sharedState_yy = undefined;\n this.parseError = this.originalParseError;\n this.quoteName = this.originalQuoteName;\n\n // nuke the vstack[] array at least as that one will still reference obsoleted user values.\n // To be safe, we nuke the other internal stack columns as well...\n stack.length = 0; // fastest way to nuke an array without overly bothering the GC\n sstack.length = 0;\n\n vstack.length = 0;\n sp = 0;\n\n // nuke the error hash info instances created during this run.\n // Userland code must COPY any data/references\n // in the error hash instance(s) it is more permanently interested in.\n if (!do_not_nuke_errorinfos) {\n for (var i = this.__error_infos.length - 1; i >= 0; i--) {\n var el = this.__error_infos[i];\n if (el && typeof el.destroy === 'function') {\n el.destroy();\n }\n }\n this.__error_infos.length = 0;\n\n\n }\n\n return resultValue;\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\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\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\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\n\n\n\n // NOTE: as this API uses parse() as a closure, it MUST be set again on every parse() invocation,\n // or else your `lexer`, `sharedState`, etc. references will be *wrong*!\n this.constructParseErrorInfo = function parser_constructParseErrorInfo(msg, ex, expected, recoverable) {\n var pei = {\n errStr: msg,\n exception: ex,\n text: lexer.match,\n value: lexer.yytext,\n token: this.describeSymbol(symbol) || symbol,\n token_id: symbol,\n line: lexer.yylineno,\n\n expected: expected,\n recoverable: recoverable,\n state: state,\n action: action,\n new_state: newState,\n symbol_stack: stack,\n state_stack: sstack,\n value_stack: vstack,\n\n stack_pointer: sp,\n yy: sharedState_yy,\n lexer: lexer,\n parser: this,\n\n // and make sure the error info doesn't stay due to potential\n // ref cycle via userland code manipulations.\n // These would otherwise all be memory leak opportunities!\n //\n // Note that only array and object references are nuked as those\n // constitute the set of elements which can produce a cyclic ref.\n // The rest of the members is kept intact as they are harmless.\n destroy: function destructParseErrorInfo() {\n // remove cyclic references added to error info:\n // info.yy = null;\n // info.lexer = null;\n // info.value = null;\n // info.value_stack = null;\n // ...\n var rec = !!this.recoverable;\n for (var key in this) {\n if (this.hasOwnProperty(key) && typeof key === 'object') {\n this[key] = undefined;\n }\n }\n this.recoverable = rec;\n }\n };\n // track this instance so we can `destroy()` it once we deem it superfluous and ready for garbage collection!\n this.__error_infos.push(pei);\n return pei;\n };\n\n\n\n\n\n\n\n\n\n\n\n\n\n function getNonTerminalFromCode(symbol) {\n var tokenName = self.getSymbolName(symbol);\n if (!tokenName) {\n tokenName = symbol;\n }\n return tokenName;\n }\n\n\n function stdLex() {\n var token = lexer.lex();\n // if token isn't its numeric value, convert\n if (typeof token !== 'number') {\n token = self.symbols_[token] || token;\n }\n\n return token || EOF;\n }\n\n function fastLex() {\n var token = lexer.fastLex();\n // if token isn't its numeric value, convert\n if (typeof token !== 'number') {\n token = self.symbols_[token] || token;\n }\n\n return token || EOF;\n }\n\n var lex = stdLex;\n\n\n var state, action, r, t;\n var yyval = {\n $: true,\n _$: undefined,\n yy: sharedState_yy\n };\n var p;\n var yyrulelen;\n var this_production;\n var newState;\n var retval = false;\n\n\n try {\n this.__reentrant_call_depth++;\n\n lexer.setInput(input, sharedState_yy);\n\n // NOTE: we *assume* no lexer pre/post handlers are set up *after* \n // this initial `setInput()` call: hence we can now check and decide\n // whether we'll go with the standard, slower, lex() API or the\n // `fast_lex()` one:\n if (typeof lexer.canIUse === 'function') {\n var lexerInfo = lexer.canIUse();\n if (lexerInfo.fastLex && typeof fastLex === 'function') {\n lex = fastLex;\n }\n } \n\n\n\n vstack[sp] = null;\n sstack[sp] = 0;\n stack[sp] = 0;\n ++sp;\n\n\n\n\n\n if (this.pre_parse) {\n this.pre_parse.call(this, sharedState_yy);\n }\n if (sharedState_yy.pre_parse) {\n sharedState_yy.pre_parse.call(this, sharedState_yy);\n }\n\n newState = sstack[sp - 1];\n for (;;) {\n // retrieve state number from top of stack\n state = newState; // sstack[sp - 1];\n\n // use default actions if available\n if (this.defaultActions[state]) {\n action = 2;\n newState = this.defaultActions[state];\n } else {\n // The single `==` condition below covers both these `===` comparisons in a single\n // operation:\n //\n // if (symbol === null || typeof symbol === 'undefined') ...\n if (!symbol) {\n symbol = lex();\n }\n // read action for current state and first input\n t = (table[state] && table[state][symbol]) || NO_ACTION;\n newState = t[1];\n action = t[0];\n\n\n\n\n\n\n\n\n\n\n\n // handle parse error\n if (!action) {\n var errStr;\n var errSymbolDescr = (this.describeSymbol(symbol) || symbol);\n var expected = this.collect_expected_token_set(state);\n\n // Report error\n if (typeof lexer.yylineno === 'number') {\n errStr = 'Parse error on line ' + (lexer.yylineno + 1) + ': ';\n } else {\n errStr = 'Parse error: ';\n }\n if (typeof lexer.showPosition === 'function') {\n errStr += '\\n' + lexer.showPosition(79 - 10, 10) + '\\n';\n }\n if (expected.length) {\n errStr += 'Expecting ' + expected.join(', ') + ', got unexpected ' + errSymbolDescr;\n } else {\n errStr += 'Unexpected ' + errSymbolDescr;\n }\n // we cannot recover from the error!\n p = this.constructParseErrorInfo(errStr, null, expected, false);\n r = this.parseError(p.errStr, p, this.JisonParserError);\n if (typeof r !== 'undefined') {\n retval = r;\n }\n break;\n }\n\n\n }\n\n\n\n\n\n\n\n\n\n\n switch (action) {\n // catch misc. parse failures:\n default:\n // this shouldn't happen, unless resolve defaults are off\n if (action instanceof Array) {\n p = this.constructParseErrorInfo('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol, null, null, false);\n r = this.parseError(p.errStr, p, this.JisonParserError);\n if (typeof r !== 'undefined') {\n retval = r;\n }\n break;\n }\n // Another case of better safe than sorry: in case state transitions come out of another error recovery process\n // or a buggy LUT (LookUp Table):\n p = this.constructParseErrorInfo('Parsing halted. No viable error recovery approach available due to internal system failure.', null, null, false);\n r = this.parseError(p.errStr, p, this.JisonParserError);\n if (typeof r !== 'undefined') {\n retval = r;\n }\n break;\n\n // shift:\n case 1:\n stack[sp] = symbol;\n vstack[sp] = lexer.yytext;\n\n sstack[sp] = newState; // push state\n\n ++sp;\n symbol = 0;\n\n\n\n\n // Pick up the lexer details for the current symbol as that one is not 'look-ahead' any more:\n\n\n\n\n continue;\n\n // reduce:\n case 2:\n\n\n\n this_production = this.productions_[newState - 1]; // `this.productions_[]` is zero-based indexed while states start from 1 upwards...\n yyrulelen = this_production[1];\n\n\n\n\n\n\n\n\n\n\n r = this.performAction.call(yyval, newState, sp - 1, vstack);\n\n if (typeof r !== 'undefined') {\n retval = r;\n break;\n }\n\n // pop off stack\n sp -= yyrulelen;\n\n // don't overwrite the `symbol` variable: use a local var to speed things up:\n var ntsymbol = this_production[0]; // push nonterminal (reduce)\n stack[sp] = ntsymbol;\n vstack[sp] = yyval.$;\n\n // goto new state = table[STATE][NONTERMINAL]\n newState = table[sstack[sp - 1]][ntsymbol];\n sstack[sp] = newState;\n ++sp;\n\n\n\n\n\n\n\n\n\n continue;\n\n // accept:\n case 3:\n if (sp !== -2) {\n retval = true;\n // Return the `$accept` rule's `$$` result, if available.\n //\n // Also note that JISON always adds this top-most `$accept` rule (with implicit,\n // default, action):\n //\n // $accept: $end\n // %{ $$ = $1; @$ = @1; %}\n //\n // which, combined with the parse kernel's `$accept` state behaviour coded below,\n // will produce the `$$` value output of the rule as the parse result,\n // IFF that result is *not* `undefined`. (See also the parser kernel code.)\n //\n // In code:\n //\n // %{\n // @$ = @1; // if location tracking support is included\n // if (typeof $1 !== 'undefined')\n // return $1;\n // else\n // return true; // the default parse result if the rule actions don't produce anything\n // %}\n sp--;\n if (typeof vstack[sp] !== 'undefined') {\n retval = vstack[sp];\n }\n }\n break;\n }\n\n // break out of loop: we accept or fail with error\n break;\n }\n } catch (ex) {\n // report exceptions through the parseError callback too, but keep the exception intact\n // if it is a known parser or lexer error which has been thrown by parseError() already:\n if (ex instanceof this.JisonParserError) {\n throw ex;\n }\n else if (lexer && typeof lexer.JisonLexerError === 'function' && ex instanceof lexer.JisonLexerError) {\n throw ex;\n }\n\n p = this.constructParseErrorInfo('Parsing aborted due to exception.', ex, null, false);\n retval = false;\n r = this.parseError(p.errStr, p, this.JisonParserError);\n if (typeof r !== 'undefined') {\n retval = r;\n }\n } finally {\n retval = this.cleanupAfterParse(retval, true, true);\n this.__reentrant_call_depth--;\n } // /finally\n\n return retval;\n}\n};\nparser.originalParseError = parser.parseError;\nparser.originalQuoteName = parser.quoteName;\n/* lexer generated by jison-lex 0.6.1-215 */\n\n/*\n * Returns a Lexer object of the following structure:\n *\n * Lexer: {\n * yy: {} The so-called \"shared state\" or rather the *source* of it;\n * the real \"shared state\" `yy` passed around to\n * the rule actions, etc. is a direct reference!\n *\n * This \"shared context\" object was passed to the lexer by way of \n * the `lexer.setInput(str, yy)` API before you may use it.\n *\n * This \"shared context\" object is passed to the lexer action code in `performAction()`\n * so userland code in the lexer actions may communicate with the outside world \n * and/or other lexer rules' actions in more or less complex ways.\n *\n * }\n *\n * Lexer.prototype: {\n * EOF: 1,\n * ERROR: 2,\n *\n * yy: The overall \"shared context\" object reference.\n *\n * JisonLexerError: function(msg, hash),\n *\n * performAction: function lexer__performAction(yy, yyrulenumber, YY_START),\n *\n * The function parameters and `this` have the following value/meaning:\n * - `this` : reference to the `lexer` instance. \n * `yy_` is an alias for `this` lexer instance reference used internally.\n *\n * - `yy` : a reference to the `yy` \"shared state\" object which was passed to the lexer\n * by way of the `lexer.setInput(str, yy)` API before.\n *\n * Note:\n * The extra arguments you specified in the `%parse-param` statement in your\n * **parser** grammar definition file are passed to the lexer via this object\n * reference as member variables.\n *\n * - `yyrulenumber` : index of the matched lexer rule (regex), used internally.\n *\n * - `YY_START`: the current lexer \"start condition\" state.\n *\n * parseError: function(str, hash, ExceptionClass),\n *\n * constructLexErrorInfo: function(error_message, is_recoverable),\n * Helper function.\n * Produces a new errorInfo 'hash object' which can be passed into `parseError()`.\n * See it's use in this lexer kernel in many places; example usage:\n *\n * var infoObj = lexer.constructParseErrorInfo('fail!', true);\n * var retVal = lexer.parseError(infoObj.errStr, infoObj, lexer.JisonLexerError);\n *\n * options: { ... lexer %options ... },\n *\n * lex: function(),\n * Produce one token of lexed input, which was passed in earlier via the `lexer.setInput()` API.\n * You MAY use the additional `args...` parameters as per `%parse-param` spec of the **lexer** grammar:\n * these extra `args...` are added verbatim to the `yy` object reference as member variables.\n *\n * WARNING:\n * Lexer's additional `args...` parameters (via lexer's `%parse-param`) MAY conflict with\n * any attributes already added to `yy` by the **parser** or the jison run-time; \n * when such a collision is detected an exception is thrown to prevent the generated run-time \n * from silently accepting this confusing and potentially hazardous situation! \n *\n * cleanupAfterLex: function(do_not_nuke_errorinfos),\n * Helper function.\n *\n * This helper API is invoked when the **parse process** has completed: it is the responsibility\n * of the **parser** (or the calling userland code) to invoke this method once cleanup is desired. \n *\n * This helper may be invoked by user code to ensure the internal lexer gets properly garbage collected.\n *\n * setInput: function(input, [yy]),\n *\n *\n * input: function(),\n *\n *\n * unput: function(str),\n *\n *\n * more: function(),\n *\n *\n * reject: function(),\n *\n *\n * less: function(n),\n *\n *\n * pastInput: function(n),\n *\n *\n * upcomingInput: function(n),\n *\n *\n * showPosition: function(),\n *\n *\n * test_match: function(regex_match_array, rule_index),\n *\n *\n * next: function(),\n *\n *\n * begin: function(condition),\n *\n *\n * pushState: function(condition),\n *\n *\n * popState: function(),\n *\n *\n * topState: function(),\n *\n *\n * _currentRules: function(),\n *\n *\n * stateStackSize: function(),\n *\n *\n * performAction: function(yy, yy_, yyrulenumber, YY_START),\n *\n *\n * rules: [...],\n *\n *\n * conditions: {associative list: name ==> set},\n * }\n *\n *\n * token location info (`yylloc`): {\n * first_line: n,\n * last_line: n,\n * first_column: n,\n * last_column: n,\n * range: [start_number, end_number]\n * (where the numbers are indexes into the input string, zero-based)\n * }\n *\n * ---\n *\n * The `parseError` function receives a 'hash' object with these members for lexer errors:\n *\n * {\n * text: (matched text)\n * token: (the produced terminal token, if any)\n * token_id: (the produced terminal token numeric ID, if any)\n * line: (yylineno)\n * loc: (yylloc)\n * recoverable: (boolean: TRUE when the parser MAY have an error recovery rule\n * available for this particular error)\n * yy: (object: the current parser internal \"shared state\" `yy`\n * as is also available in the rule actions; this can be used,\n * for instance, for advanced error analysis and reporting)\n * lexer: (reference to the current lexer instance used by the parser)\n * }\n *\n * while `this` will reference the current lexer instance.\n *\n * When `parseError` is invoked by the lexer, the default implementation will\n * attempt to invoke `yy.parser.parseError()`; when this callback is not provided\n * it will try to invoke `yy.parseError()` instead. When that callback is also not\n * provided, a `JisonLexerError` exception will be thrown containing the error\n * message and `hash`, as constructed by the `constructLexErrorInfo()` API.\n *\n * Note that the lexer's `JisonLexerError` error class is passed via the\n * `ExceptionClass` argument, which is invoked to construct the exception\n * instance to be thrown, so technically `parseError` will throw the object\n * produced by the `new ExceptionClass(str, hash)` JavaScript expression.\n *\n * ---\n *\n * You can specify lexer options by setting / modifying the `.options` object of your Lexer instance.\n * These options are available:\n *\n * (Options are permanent.)\n * \n * yy: {\n * parseError: function(str, hash, ExceptionClass)\n * optional: overrides the default `parseError` function.\n * }\n *\n * lexer.options: {\n * pre_lex: function()\n * optional: is invoked before the lexer is invoked to produce another token.\n * `this` refers to the Lexer object.\n * post_lex: function(token) { return token; }\n * optional: is invoked when the lexer has produced a token `token`;\n * this function can override the returned token value by returning another.\n * When it does not return any (truthy) value, the lexer will return\n * the original `token`.\n * `this` refers to the Lexer object.\n *\n * WARNING: the next set of options are not meant to be changed. They echo the abilities of\n * the lexer as per when it was compiled!\n *\n * ranges: boolean\n * optional: `true` ==> token location info will include a .range[] member.\n * flex: boolean\n * optional: `true` ==> flex-like lexing behaviour where the rules are tested\n * exhaustively to find the longest match.\n * backtrack_lexer: boolean\n * optional: `true` ==> lexer regexes are tested in order and for invoked;\n * the lexer terminates the scan when a token is returned by the action code.\n * xregexp: boolean\n * optional: `true` ==> lexer rule regexes are \"extended regex format\" requiring the\n * `XRegExp` library. When this %option has not been specified at compile time, all lexer\n * rule regexes have been written as standard JavaScript RegExp expressions.\n * }\n */\n\n\nvar lexer = function() {\n /**\n * See also:\n * http://stackoverflow.com/questions/1382107/whats-a-good-way-to-extend-error-in-javascript/#35881508\n * but we keep the prototype.constructor and prototype.name assignment lines too for compatibility\n * with userland code which might access the derived class in a 'classic' way.\n *\n * @public\n * @constructor\n * @nocollapse\n */\n function JisonLexerError(msg, hash) {\n Object.defineProperty(this, 'name', {\n enumerable: false,\n writable: false,\n value: 'JisonLexerError'\n });\n\n if (msg == null)\n msg = '???';\n\n Object.defineProperty(this, 'message', {\n enumerable: false,\n writable: true,\n value: msg\n });\n\n this.hash = hash;\n var stacktrace;\n\n if (hash && hash.exception instanceof Error) {\n var ex2 = hash.exception;\n this.message = ex2.message || msg;\n stacktrace = ex2.stack;\n }\n\n if (!stacktrace) {\n if (Error.hasOwnProperty('captureStackTrace')) {\n // V8\n Error.captureStackTrace(this, this.constructor);\n } else {\n stacktrace = new Error(msg).stack;\n }\n }\n\n if (stacktrace) {\n Object.defineProperty(this, 'stack', {\n enumerable: false,\n writable: false,\n value: stacktrace\n });\n }\n }\n\n if (typeof Object.setPrototypeOf === 'function') {\n Object.setPrototypeOf(JisonLexerError.prototype, Error.prototype);\n } else {\n JisonLexerError.prototype = Object.create(Error.prototype);\n }\n\n JisonLexerError.prototype.constructor = JisonLexerError;\n JisonLexerError.prototype.name = 'JisonLexerError';\n\n var lexer = {\n \n// Code Generator Information Report\n// ---------------------------------\n//\n// Options:\n//\n// backtracking: .................... false\n// location.ranges: ................. false\n// location line+column tracking: ... true\n//\n//\n// Forwarded Parser Analysis flags:\n//\n// uses yyleng: ..................... false\n// uses yylineno: ................... false\n// uses yytext: ..................... false\n// uses yylloc: ..................... false\n// uses lexer values: ............... true / true\n// location tracking: ............... false\n// location assignment: ............. false\n//\n//\n// Lexer Analysis flags:\n//\n// uses yyleng: ..................... ???\n// uses yylineno: ................... ???\n// uses yytext: ..................... ???\n// uses yylloc: ..................... ???\n// uses ParseError API: ............. ???\n// uses yyerror: .................... ???\n// uses location tracking & editing: ???\n// uses more() API: ................. ???\n// uses unput() API: ................ ???\n// uses reject() API: ............... ???\n// uses less() API: ................. ???\n// uses display APIs pastInput(), upcomingInput(), showPosition():\n// ............................. ???\n// uses describeYYLLOC() API: ....... ???\n//\n// --------- END OF REPORT -----------\n\nEOF: 1,\n ERROR: 2,\n\n // JisonLexerError: JisonLexerError, /// <-- injected by the code generator\n\n // options: {}, /// <-- injected by the code generator\n\n // yy: ..., /// <-- injected by setInput()\n\n __currentRuleSet__: null, /// INTERNAL USE ONLY: internal rule set cache for the current lexer state \n\n __error_infos: [], /// INTERNAL USE ONLY: the set of lexErrorInfo objects created since the last cleanup \n __decompressed: false, /// INTERNAL USE ONLY: mark whether the lexer instance has been 'unfolded' completely and is now ready for use \n done: false, /// INTERNAL USE ONLY \n _backtrack: false, /// INTERNAL USE ONLY \n _input: '', /// INTERNAL USE ONLY \n _more: false, /// INTERNAL USE ONLY \n _signaled_error_token: false, /// INTERNAL USE ONLY \n conditionStack: [], /// INTERNAL USE ONLY; managed via `pushState()`, `popState()`, `topState()` and `stateStackSize()` \n match: '', /// READ-ONLY EXTERNAL ACCESS - ADVANCED USE ONLY: tracks input which has been matched so far for the lexer token under construction. `match` is identical to `yytext` except that this one still contains the matched input string after `lexer.performAction()` has been invoked, where userland code MAY have changed/replaced the `yytext` value entirely! \n matched: '', /// READ-ONLY EXTERNAL ACCESS - ADVANCED USE ONLY: tracks entire input which has been matched so far \n matches: false, /// READ-ONLY EXTERNAL ACCESS - ADVANCED USE ONLY: tracks RE match result for last (successful) match attempt \n yytext: '', /// ADVANCED USE ONLY: tracks input which has been matched so far for the lexer token under construction; this value is transferred to the parser as the 'token value' when the parser consumes the lexer token produced through a call to the `lex()` API. \n offset: 0, /// READ-ONLY EXTERNAL ACCESS - ADVANCED USE ONLY: tracks the 'cursor position' in the input string, i.e. the number of characters matched so far \n yyleng: 0, /// READ-ONLY EXTERNAL ACCESS - ADVANCED USE ONLY: length of matched input for the token under construction (`yytext`) \n yylineno: 0, /// READ-ONLY EXTERNAL ACCESS - ADVANCED USE ONLY: 'line number' at which the token under construction is located \n yylloc: null, /// READ-ONLY EXTERNAL ACCESS - ADVANCED USE ONLY: tracks location info (lines + columns) for the token under construction \n\n /**\n * INTERNAL USE: construct a suitable error info hash object instance for `parseError`.\n * \n * @public\n * @this {RegExpLexer}\n */\n constructLexErrorInfo: function lexer_constructLexErrorInfo(msg, recoverable, show_input_position) {\n msg = '' + msg;\n\n // heuristic to determine if the error message already contains a (partial) source code dump\n // as produced by either `showPosition()` or `prettyPrintRange()`:\n if (show_input_position == undefined) {\n show_input_position = !(msg.indexOf('\\n') > 0 && msg.indexOf('^') > 0);\n }\n\n if (this.yylloc && show_input_position) {\n if (typeof this.prettyPrintRange === 'function') {\n var pretty_src = this.prettyPrintRange(this.yylloc);\n\n if (!/\\n\\s*$/.test(msg)) {\n msg += '\\n';\n }\n\n msg += '\\n Erroneous area:\\n' + this.prettyPrintRange(this.yylloc);\n } else if (typeof this.showPosition === 'function') {\n var pos_str = this.showPosition();\n\n if (pos_str) {\n if (msg.length && msg[msg.length - 1] !== '\\n' && pos_str[0] !== '\\n') {\n msg += '\\n' + pos_str;\n } else {\n msg += pos_str;\n }\n }\n }\n }\n\n /** @constructor */\n var pei = {\n errStr: msg,\n recoverable: !!recoverable,\n text: this.match, // This one MAY be empty; userland code should use the `upcomingInput` API to obtain more text which follows the 'lexer cursor position'... \n token: null,\n line: this.yylineno,\n loc: this.yylloc,\n yy: this.yy,\n lexer: this,\n\n /**\n * and make sure the error info doesn't stay due to potential\n * ref cycle via userland code manipulations.\n * These would otherwise all be memory leak opportunities!\n * \n * Note that only array and object references are nuked as those\n * constitute the set of elements which can produce a cyclic ref.\n * The rest of the members is kept intact as they are harmless.\n * \n * @public\n * @this {LexErrorInfo}\n */\n destroy: function destructLexErrorInfo() {\n // remove cyclic references added to error info:\n // info.yy = null;\n // info.lexer = null;\n // ...\n var rec = !!this.recoverable;\n\n for (var key in this) {\n if (this.hasOwnProperty(key) && typeof key === 'object') {\n this[key] = undefined;\n }\n }\n\n this.recoverable = rec;\n }\n };\n\n // track this instance so we can `destroy()` it once we deem it superfluous and ready for garbage collection!\n this.__error_infos.push(pei);\n\n return pei;\n },\n\n /**\n * handler which is invoked when a lexer error occurs.\n * \n * @public\n * @this {RegExpLexer}\n */\n parseError: function lexer_parseError(str, hash, ExceptionClass) {\n if (!ExceptionClass) {\n ExceptionClass = this.JisonLexerError;\n }\n\n if (this.yy) {\n if (this.yy.parser && typeof this.yy.parser.parseError === 'function') {\n return this.yy.parser.parseError.call(this, str, hash, ExceptionClass) || this.ERROR;\n } else if (typeof this.yy.parseError === 'function') {\n return this.yy.parseError.call(this, str, hash, ExceptionClass) || this.ERROR;\n }\n }\n\n throw new ExceptionClass(str, hash);\n },\n\n /**\n * method which implements `yyerror(str, ...args)` functionality for use inside lexer actions.\n * \n * @public\n * @this {RegExpLexer}\n */\n yyerror: function yyError(str /*, ...args */) {\n var lineno_msg = '';\n\n if (this.yylloc) {\n lineno_msg = ' on line ' + (this.yylineno + 1);\n }\n\n var p = this.constructLexErrorInfo(\n 'Lexical error' + lineno_msg + ': ' + str,\n this.options.lexerErrorsAreRecoverable\n );\n\n // Add any extra args to the hash under the name `extra_error_attributes`:\n var args = Array.prototype.slice.call(arguments, 1);\n\n if (args.length) {\n p.extra_error_attributes = args;\n }\n\n return this.parseError(p.errStr, p, this.JisonLexerError) || this.ERROR;\n },\n\n /**\n * final cleanup function for when we have completed lexing the input;\n * make it an API so that external code can use this one once userland\n * code has decided it's time to destroy any lingering lexer error\n * hash object instances and the like: this function helps to clean\n * up these constructs, which *may* carry cyclic references which would\n * otherwise prevent the instances from being properly and timely\n * garbage-collected, i.e. this function helps prevent memory leaks!\n * \n * @public\n * @this {RegExpLexer}\n */\n cleanupAfterLex: function lexer_cleanupAfterLex(do_not_nuke_errorinfos) {\n // prevent lingering circular references from causing memory leaks:\n this.setInput('', {});\n\n // nuke the error hash info instances created during this run.\n // Userland code must COPY any data/references\n // in the error hash instance(s) it is more permanently interested in.\n if (!do_not_nuke_errorinfos) {\n for (var i = this.__error_infos.length - 1; i >= 0; i--) {\n var el = this.__error_infos[i];\n\n if (el && typeof el.destroy === 'function') {\n el.destroy();\n }\n }\n\n this.__error_infos.length = 0;\n }\n\n return this;\n },\n\n /**\n * clear the lexer token context; intended for internal use only\n * \n * @public\n * @this {RegExpLexer}\n */\n clear: function lexer_clear() {\n this.yytext = '';\n this.yyleng = 0;\n this.match = '';\n\n // - DO NOT reset `this.matched`\n this.matches = false;\n\n this._more = false;\n this._backtrack = false;\n var col = (this.yylloc ? this.yylloc.last_column : 0);\n\n this.yylloc = {\n first_line: this.yylineno + 1,\n first_column: col,\n last_line: this.yylineno + 1,\n last_column: col,\n range: [this.offset, this.offset]\n };\n },\n\n /**\n * resets the lexer, sets new input\n * \n * @public\n * @this {RegExpLexer}\n */\n setInput: function lexer_setInput(input, yy) {\n this.yy = yy || this.yy || {};\n\n // also check if we've fully initialized the lexer instance,\n // including expansion work to be done to go from a loaded\n // lexer to a usable lexer:\n if (!this.__decompressed) {\n // step 1: decompress the regex list:\n var rules = this.rules;\n\n for (var i = 0, len = rules.length; i < len; i++) {\n var rule_re = rules[i];\n\n // compression: is the RE an xref to another RE slot in the rules[] table?\n if (typeof rule_re === 'number') {\n rules[i] = rules[rule_re];\n }\n }\n\n // step 2: unfold the conditions[] set to make these ready for use:\n var conditions = this.conditions;\n\n for (var k in conditions) {\n var spec = conditions[k];\n var rule_ids = spec.rules;\n var len = rule_ids.length;\n var rule_regexes = new Array(len + 1); // slot 0 is unused; we use a 1-based index approach here to keep the hottest code in `lexer_next()` fast and simple! \n var rule_new_ids = new Array(len + 1);\n\n for (var i = 0; i < len; i++) {\n var idx = rule_ids[i];\n var rule_re = rules[idx];\n rule_regexes[i + 1] = rule_re;\n rule_new_ids[i + 1] = idx;\n }\n\n spec.rules = rule_new_ids;\n spec.__rule_regexes = rule_regexes;\n spec.__rule_count = len;\n }\n\n this.__decompressed = true;\n }\n\n this._input = input || '';\n this.clear();\n this._signaled_error_token = false;\n this.done = false;\n this.yylineno = 0;\n this.matched = '';\n this.conditionStack = ['INITIAL'];\n this.__currentRuleSet__ = null;\n\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0,\n range: [0, 0]\n };\n\n this.offset = 0;\n return this;\n },\n\n /**\n * edit the remaining input via user-specified callback.\n * This can be used to forward-adjust the input-to-parse, \n * e.g. inserting macro expansions and alike in the\n * input which has yet to be lexed.\n * The behaviour of this API contrasts the `unput()` et al\n * APIs as those act on the *consumed* input, while this\n * one allows one to manipulate the future, without impacting\n * the current `yyloc` cursor location or any history. \n * \n * Use this API to help implement C-preprocessor-like\n * `#include` statements, etc.\n * \n * The provided callback must be synchronous and is\n * expected to return the edited input (string).\n *\n * The `cpsArg` argument value is passed to the callback\n * as-is.\n *\n * `callback` interface: \n * `function callback(input, cpsArg)`\n * \n * - `input` will carry the remaining-input-to-lex string\n * from the lexer.\n * - `cpsArg` is `cpsArg` passed into this API.\n * \n * The `this` reference for the callback will be set to\n * reference this lexer instance so that userland code\n * in the callback can easily and quickly access any lexer\n * API. \n *\n * When the callback returns a non-string-type falsey value,\n * we assume the callback did not edit the input and we\n * will using the input as-is.\n *\n * When the callback returns a non-string-type value, it\n * is converted to a string for lexing via the `\"\" + retval`\n * operation. (See also why: http://2ality.com/2012/03/converting-to-string.html \n * -- that way any returned object's `toValue()` and `toString()`\n * methods will be invoked in a proper/desirable order.)\n * \n * @public\n * @this {RegExpLexer}\n */\n editRemainingInput: function lexer_editRemainingInput(callback, cpsArg) {\n var rv = callback.call(this, this._input, cpsArg);\n\n if (typeof rv !== 'string') {\n if (rv) {\n this._input = '' + rv;\n } \n // else: keep `this._input` as is. \n } else {\n this._input = rv;\n }\n\n return this;\n },\n\n /**\n * consumes and returns one char from the input\n * \n * @public\n * @this {RegExpLexer}\n */\n input: function lexer_input() {\n if (!this._input) {\n //this.done = true; -- don't set `done` as we want the lex()/next() API to be able to produce one custom EOF token match after this anyhow. (lexer can match special <> tokens and perform user action code for a <> match, but only does so *once*)\n return null;\n }\n\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n\n // Count the linenumber up when we hit the LF (or a stand-alone CR).\n // On CRLF, the linenumber is incremented when you fetch the CR or the CRLF combo\n // and we advance immediately past the LF as well, returning both together as if\n // it was all a single 'character' only.\n var slice_len = 1;\n\n var lines = false;\n\n if (ch === '\\n') {\n lines = true;\n } else if (ch === '\\r') {\n lines = true;\n var ch2 = this._input[1];\n\n if (ch2 === '\\n') {\n slice_len++;\n ch += ch2;\n this.yytext += ch2;\n this.yyleng++;\n this.offset++;\n this.match += ch2;\n this.matched += ch2;\n this.yylloc.range[1]++;\n }\n }\n\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n this.yylloc.last_column = 0;\n } else {\n this.yylloc.last_column++;\n }\n\n this.yylloc.range[1]++;\n this._input = this._input.slice(slice_len);\n return ch;\n },\n\n /**\n * unshifts one char (or an entire string) into the input\n * \n * @public\n * @this {RegExpLexer}\n */\n unput: function lexer_unput(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.yyleng = this.yytext.length;\n this.offset -= len;\n this.match = this.match.substr(0, this.match.length - len);\n this.matched = this.matched.substr(0, this.matched.length - len);\n\n if (lines.length > 1) {\n this.yylineno -= lines.length - 1;\n this.yylloc.last_line = this.yylineno + 1;\n\n // Get last entirely matched line into the `pre_lines[]` array's\n // last index slot; we don't mind when other previously \n // matched lines end up in the array too. \n var pre = this.match;\n\n var pre_lines = pre.split(/(?:\\r\\n?|\\n)/g);\n\n if (pre_lines.length === 1) {\n pre = this.matched;\n pre_lines = pre.split(/(?:\\r\\n?|\\n)/g);\n }\n\n this.yylloc.last_column = pre_lines[pre_lines.length - 1].length;\n } else {\n this.yylloc.last_column -= len;\n }\n\n this.yylloc.range[1] = this.yylloc.range[0] + this.yyleng;\n this.done = false;\n return this;\n },\n\n /**\n * cache matched text and append it on next action\n * \n * @public\n * @this {RegExpLexer}\n */\n more: function lexer_more() {\n this._more = true;\n return this;\n },\n\n /**\n * signal the lexer that this rule fails to match the input, so the\n * next matching rule (regex) should be tested instead.\n * \n * @public\n * @this {RegExpLexer}\n */\n reject: function lexer_reject() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n // when the `parseError()` call returns, we MUST ensure that the error is registered.\n // We accomplish this by signaling an 'error' token to be produced for the current\n // `.lex()` run.\n var lineno_msg = '';\n\n if (this.yylloc) {\n lineno_msg = ' on line ' + (this.yylineno + 1);\n }\n\n var p = this.constructLexErrorInfo(\n 'Lexical error' + lineno_msg + ': You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).',\n false\n );\n\n this._signaled_error_token = this.parseError(p.errStr, p, this.JisonLexerError) || this.ERROR;\n }\n\n return this;\n },\n\n /**\n * retain first n characters of the match\n * \n * @public\n * @this {RegExpLexer}\n */\n less: function lexer_less(n) {\n return this.unput(this.match.slice(n));\n },\n\n /**\n * return (part of the) already matched input, i.e. for error\n * messages.\n * \n * Limit the returned string length to `maxSize` (default: 20).\n * \n * Limit the returned string to the `maxLines` number of lines of\n * input (default: 1).\n * \n * Negative limit values equal *unlimited*.\n * \n * @public\n * @this {RegExpLexer}\n */\n pastInput: function lexer_pastInput(maxSize, maxLines) {\n var past = this.matched.substring(0, this.matched.length - this.match.length);\n\n if (maxSize < 0)\n maxSize = past.length;\n else if (!maxSize)\n maxSize = 20;\n\n if (maxLines < 0)\n maxLines = past.length; // can't ever have more input lines than this! \n else if (!maxLines)\n maxLines = 1;\n\n // `substr` anticipation: treat \\r\\n as a single character and take a little\n // more than necessary so that we can still properly check against maxSize\n // after we've transformed and limited the newLines in here:\n past = past.substr(-maxSize * 2 - 2);\n\n // now that we have a significantly reduced string to process, transform the newlines\n // and chop them, then limit them:\n var a = past.replace(/\\r\\n|\\r/g, '\\n').split('\\n');\n\n a = a.slice(-maxLines);\n past = a.join('\\n');\n\n // When, after limiting to maxLines, we still have too much to return,\n // do add an ellipsis prefix...\n if (past.length > maxSize) {\n past = '...' + past.substr(-maxSize);\n }\n\n return past;\n },\n\n /**\n * return (part of the) upcoming input, i.e. for error messages.\n * \n * Limit the returned string length to `maxSize` (default: 20).\n * \n * Limit the returned string to the `maxLines` number of lines of input (default: 1).\n * \n * Negative limit values equal *unlimited*.\n *\n * > ### NOTE ###\n * >\n * > *\"upcoming input\"* is defined as the whole of the both\n * > the *currently lexed* input, together with any remaining input\n * > following that. *\"currently lexed\"* input is the input \n * > already recognized by the lexer but not yet returned with\n * > the lexer token. This happens when you are invoking this API\n * > from inside any lexer rule action code block. \n * >\n * \n * @public\n * @this {RegExpLexer}\n */\n upcomingInput: function lexer_upcomingInput(maxSize, maxLines) {\n var next = this.match;\n\n if (maxSize < 0)\n maxSize = next.length + this._input.length;\n else if (!maxSize)\n maxSize = 20;\n\n if (maxLines < 0)\n maxLines = maxSize; // can't ever have more input lines than this! \n else if (!maxLines)\n maxLines = 1;\n\n // `substring` anticipation: treat \\r\\n as a single character and take a little\n // more than necessary so that we can still properly check against maxSize\n // after we've transformed and limited the newLines in here:\n if (next.length < maxSize * 2 + 2) {\n next += this._input.substring(0, maxSize * 2 + 2); // substring is faster on Chrome/V8 \n }\n\n // now that we have a significantly reduced string to process, transform the newlines\n // and chop them, then limit them:\n var a = next.replace(/\\r\\n|\\r/g, '\\n').split('\\n');\n\n a = a.slice(0, maxLines);\n next = a.join('\\n');\n\n // When, after limiting to maxLines, we still have too much to return,\n // do add an ellipsis postfix...\n if (next.length > maxSize) {\n next = next.substring(0, maxSize) + '...';\n }\n\n return next;\n },\n\n /**\n * return a string which displays the character position where the\n * lexing error occurred, i.e. for error messages\n * \n * @public\n * @this {RegExpLexer}\n */\n showPosition: function lexer_showPosition(maxPrefix, maxPostfix) {\n var pre = this.pastInput(maxPrefix).replace(/\\s/g, ' ');\n var c = new Array(pre.length + 1).join('-');\n return pre + this.upcomingInput(maxPostfix).replace(/\\s/g, ' ') + '\\n' + c + '^';\n },\n\n /**\n * return an YYLLOC info object derived off the given context (actual, preceding, following, current).\n * Use this method when the given `actual` location is not guaranteed to exist (i.e. when\n * it MAY be NULL) and you MUST have a valid location info object anyway:\n * then we take the given context of the `preceding` and `following` locations, IFF those are available,\n * and reconstruct the `actual` location info from those.\n * If this fails, the heuristic is to take the `current` location, IFF available.\n * If this fails as well, we assume the sought location is at/around the current lexer position\n * and then produce that one as a response. DO NOTE that these heuristic/derived location info\n * values MAY be inaccurate!\n *\n * NOTE: `deriveLocationInfo()` ALWAYS produces a location info object *copy* of `actual`, not just\n * a *reference* hence all input location objects can be assumed to be 'constant' (function has no side-effects).\n * \n * @public\n * @this {RegExpLexer}\n */\n deriveLocationInfo: function lexer_deriveYYLLOC(actual, preceding, following, current) {\n var loc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0,\n range: [0, 0]\n };\n\n if (actual) {\n loc.first_line = actual.first_line | 0;\n loc.last_line = actual.last_line | 0;\n loc.first_column = actual.first_column | 0;\n loc.last_column = actual.last_column | 0;\n\n if (actual.range) {\n loc.range[0] = actual.range[0] | 0;\n loc.range[1] = actual.range[1] | 0;\n }\n }\n\n if (loc.first_line <= 0 || loc.last_line < loc.first_line) {\n // plan B: heuristic using preceding and following:\n if (loc.first_line <= 0 && preceding) {\n loc.first_line = preceding.last_line | 0;\n loc.first_column = preceding.last_column | 0;\n\n if (preceding.range) {\n loc.range[0] = actual.range[1] | 0;\n }\n }\n\n if ((loc.last_line <= 0 || loc.last_line < loc.first_line) && following) {\n loc.last_line = following.first_line | 0;\n loc.last_column = following.first_column | 0;\n\n if (following.range) {\n loc.range[1] = actual.range[0] | 0;\n }\n }\n\n // plan C?: see if the 'current' location is useful/sane too:\n if (loc.first_line <= 0 && current && (loc.last_line <= 0 || current.last_line <= loc.last_line)) {\n loc.first_line = current.first_line | 0;\n loc.first_column = current.first_column | 0;\n\n if (current.range) {\n loc.range[0] = current.range[0] | 0;\n }\n }\n\n if (loc.last_line <= 0 && current && (loc.first_line <= 0 || current.first_line >= loc.first_line)) {\n loc.last_line = current.last_line | 0;\n loc.last_column = current.last_column | 0;\n\n if (current.range) {\n loc.range[1] = current.range[1] | 0;\n }\n }\n }\n\n // sanitize: fix last_line BEFORE we fix first_line as we use the 'raw' value of the latter\n // or plan D heuristics to produce a 'sensible' last_line value:\n if (loc.last_line <= 0) {\n if (loc.first_line <= 0) {\n loc.first_line = this.yylloc.first_line;\n loc.last_line = this.yylloc.last_line;\n loc.first_column = this.yylloc.first_column;\n loc.last_column = this.yylloc.last_column;\n loc.range[0] = this.yylloc.range[0];\n loc.range[1] = this.yylloc.range[1];\n } else {\n loc.last_line = this.yylloc.last_line;\n loc.last_column = this.yylloc.last_column;\n loc.range[1] = this.yylloc.range[1];\n }\n }\n\n if (loc.first_line <= 0) {\n loc.first_line = loc.last_line;\n loc.first_column = 0; // loc.last_column; \n loc.range[1] = loc.range[0];\n }\n\n if (loc.first_column < 0) {\n loc.first_column = 0;\n }\n\n if (loc.last_column < 0) {\n loc.last_column = (loc.first_column > 0 ? loc.first_column : 80);\n }\n\n return loc;\n },\n\n /**\n * return a string which displays the lines & columns of input which are referenced \n * by the given location info range, plus a few lines of context.\n * \n * This function pretty-prints the indicated section of the input, with line numbers \n * and everything!\n * \n * This function is very useful to provide highly readable error reports, while\n * the location range may be specified in various flexible ways:\n * \n * - `loc` is the location info object which references the area which should be\n * displayed and 'marked up': these lines & columns of text are marked up by `^`\n * characters below each character in the entire input range.\n * \n * - `context_loc` is the *optional* location info object which instructs this\n * pretty-printer how much *leading* context should be displayed alongside\n * the area referenced by `loc`. This can help provide context for the displayed\n * error, etc.\n * \n * When this location info is not provided, a default context of 3 lines is\n * used.\n * \n * - `context_loc2` is another *optional* location info object, which serves\n * a similar purpose to `context_loc`: it specifies the amount of *trailing*\n * context lines to display in the pretty-print output.\n * \n * When this location info is not provided, a default context of 1 line only is\n * used.\n * \n * Special Notes:\n * \n * - when the `loc`-indicated range is very large (about 5 lines or more), then\n * only the first and last few lines of this block are printed while a\n * `...continued...` message will be printed between them.\n * \n * This serves the purpose of not printing a huge amount of text when the `loc`\n * range happens to be huge: this way a manageable & readable output results\n * for arbitrary large ranges.\n * \n * - this function can display lines of input which whave not yet been lexed.\n * `prettyPrintRange()` can access the entire input!\n * \n * @public\n * @this {RegExpLexer}\n */\n prettyPrintRange: function lexer_prettyPrintRange(loc, context_loc, context_loc2) {\n loc = this.deriveLocationInfo(loc, context_loc, context_loc2);\n const CONTEXT = 3;\n const CONTEXT_TAIL = 1;\n const MINIMUM_VISIBLE_NONEMPTY_LINE_COUNT = 2;\n var input = this.matched + this._input;\n var lines = input.split('\\n');\n var l0 = Math.max(1, (context_loc ? context_loc.first_line : loc.first_line - CONTEXT));\n var l1 = Math.max(1, (context_loc2 ? context_loc2.last_line : loc.last_line + CONTEXT_TAIL));\n var lineno_display_width = 1 + Math.log10(l1 | 1) | 0;\n var ws_prefix = new Array(lineno_display_width).join(' ');\n var nonempty_line_indexes = [];\n\n var rv = lines.slice(l0 - 1, l1 + 1).map(function injectLineNumber(line, index) {\n var lno = index + l0;\n var lno_pfx = (ws_prefix + lno).substr(-lineno_display_width);\n var rv = lno_pfx + ': ' + line;\n var errpfx = new Array(lineno_display_width + 1).join('^');\n var offset = 2 + 1;\n var len = 0;\n\n if (lno === loc.first_line) {\n offset += loc.first_column;\n\n len = Math.max(\n 2,\n ((lno === loc.last_line ? loc.last_column : line.length)) - loc.first_column + 1\n );\n } else if (lno === loc.last_line) {\n len = Math.max(2, loc.last_column + 1);\n } else if (lno > loc.first_line && lno < loc.last_line) {\n len = Math.max(2, line.length + 1);\n }\n\n if (len) {\n var lead = new Array(offset).join('.');\n var mark = new Array(len).join('^');\n rv += '\\n' + errpfx + lead + mark;\n\n if (line.trim().length > 0) {\n nonempty_line_indexes.push(index);\n }\n }\n\n rv = rv.replace(/\\t/g, ' ');\n return rv;\n });\n\n // now make sure we don't print an overly large amount of error area: limit it \n // to the top and bottom line count:\n if (nonempty_line_indexes.length > 2 * MINIMUM_VISIBLE_NONEMPTY_LINE_COUNT) {\n var clip_start = nonempty_line_indexes[MINIMUM_VISIBLE_NONEMPTY_LINE_COUNT - 1] + 1;\n var clip_end = nonempty_line_indexes[nonempty_line_indexes.length - MINIMUM_VISIBLE_NONEMPTY_LINE_COUNT] - 1;\n var intermediate_line = new Array(lineno_display_width + 1).join(' ') + ' (...continued...)';\n intermediate_line += '\\n' + new Array(lineno_display_width + 1).join('-') + ' (---------------)';\n rv.splice(clip_start, clip_end - clip_start + 1, intermediate_line);\n }\n\n return rv.join('\\n');\n },\n\n /**\n * helper function, used to produce a human readable description as a string, given\n * the input `yylloc` location object.\n * \n * Set `display_range_too` to TRUE to include the string character index position(s)\n * in the description if the `yylloc.range` is available.\n * \n * @public\n * @this {RegExpLexer}\n */\n describeYYLLOC: function lexer_describe_yylloc(yylloc, display_range_too) {\n var l1 = yylloc.first_line;\n var l2 = yylloc.last_line;\n var c1 = yylloc.first_column;\n var c2 = yylloc.last_column;\n var dl = l2 - l1;\n var dc = c2 - c1;\n var rv;\n\n if (dl === 0) {\n rv = 'line ' + l1 + ', ';\n\n if (dc <= 1) {\n rv += 'column ' + c1;\n } else {\n rv += 'columns ' + c1 + ' .. ' + c2;\n }\n } else {\n rv = 'lines ' + l1 + '(column ' + c1 + ') .. ' + l2 + '(column ' + c2 + ')';\n }\n\n if (yylloc.range && display_range_too) {\n var r1 = yylloc.range[0];\n var r2 = yylloc.range[1] - 1;\n\n if (r2 <= r1) {\n rv += ' {String Offset: ' + r1 + '}';\n } else {\n rv += ' {String Offset range: ' + r1 + ' .. ' + r2 + '}';\n }\n }\n\n return rv;\n },\n\n /**\n * test the lexed token: return FALSE when not a match, otherwise return token.\n * \n * `match` is supposed to be an array coming out of a regex match, i.e. `match[0]`\n * contains the actually matched text string.\n * \n * Also move the input cursor forward and update the match collectors:\n * \n * - `yytext`\n * - `yyleng`\n * - `match`\n * - `matches`\n * - `yylloc`\n * - `offset`\n * \n * @public\n * @this {RegExpLexer}\n */\n test_match: function lexer_test_match(match, indexed_rule) {\n var token, lines, backup, match_str, match_str_len;\n\n if (this.options.backtrack_lexer) {\n // save context\n backup = {\n yylineno: this.yylineno,\n\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.yylloc.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column,\n range: this.yylloc.range.slice(0)\n },\n\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n\n //_signaled_error_token: this._signaled_error_token,\n yy: this.yy,\n\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n }\n\n match_str = match[0];\n match_str_len = match_str.length;\n\n // if (match_str.indexOf('\\n') !== -1 || match_str.indexOf('\\r') !== -1) {\n lines = match_str.split(/(?:\\r\\n?|\\n)/g);\n\n if (lines.length > 1) {\n this.yylineno += lines.length - 1;\n this.yylloc.last_line = this.yylineno + 1;\n this.yylloc.last_column = lines[lines.length - 1].length;\n } else {\n this.yylloc.last_column += match_str_len;\n }\n\n // }\n this.yytext += match_str;\n\n this.match += match_str;\n this.matched += match_str;\n this.matches = match;\n this.yyleng = this.yytext.length;\n this.yylloc.range[1] += match_str_len;\n\n // previous lex rules MAY have invoked the `more()` API rather than producing a token:\n // those rules will already have moved this `offset` forward matching their match lengths,\n // hence we must only add our own match length now:\n this.offset += match_str_len;\n\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match_str_len);\n\n // calling this method:\n //\n // function lexer__performAction(yy, yyrulenumber, YY_START) {...}\n token = this.performAction.call(\n this,\n this.yy,\n indexed_rule,\n this.conditionStack[this.conditionStack.length - 1] /* = YY_START */\n );\n\n // otherwise, when the action codes are all simple return token statements:\n //token = this.simpleCaseActionClusters[indexed_rule];\n\n if (this.done && this._input) {\n this.done = false;\n }\n\n if (token) {\n return token;\n } else if (this._backtrack) {\n // recover context\n for (var k in backup) {\n this[k] = backup[k];\n }\n\n this.__currentRuleSet__ = null;\n return false; // rule action called reject() implying the next rule should be tested instead. \n } else if (this._signaled_error_token) {\n // produce one 'error' token as `.parseError()` in `reject()`\n // did not guarantee a failure signal by throwing an exception!\n token = this._signaled_error_token;\n\n this._signaled_error_token = false;\n return token;\n }\n\n return false;\n },\n\n /**\n * return next match in input\n * \n * @public\n * @this {RegExpLexer}\n */\n next: function lexer_next() {\n if (this.done) {\n this.clear();\n return this.EOF;\n }\n\n if (!this._input) {\n this.done = true;\n }\n\n var token, match, tempMatch, index;\n\n if (!this._more) {\n this.clear();\n }\n\n var spec = this.__currentRuleSet__;\n\n if (!spec) {\n // Update the ruleset cache as we apparently encountered a state change or just started lexing.\n // The cache is set up for fast lookup -- we assume a lexer will switch states much less often than it will\n // invoke the `lex()` token-producing API and related APIs, hence caching the set for direct access helps\n // speed up those activities a tiny bit.\n spec = this.__currentRuleSet__ = this._currentRules();\n\n // Check whether a *sane* condition has been pushed before: this makes the lexer robust against\n // user-programmer bugs such as https://github.com/zaach/jison-lex/issues/19\n if (!spec || !spec.rules) {\n var lineno_msg = '';\n\n if (this.options.trackPosition) {\n lineno_msg = ' on line ' + (this.yylineno + 1);\n }\n\n var p = this.constructLexErrorInfo(\n 'Internal lexer engine error' + lineno_msg + ': The lex grammar programmer pushed a non-existing condition name \"' + this.topState() + '\"; this is a fatal error and should be reported to the application programmer team!',\n false\n );\n\n // produce one 'error' token until this situation has been resolved, most probably by parse termination!\n return this.parseError(p.errStr, p, this.JisonLexerError) || this.ERROR;\n }\n }\n\n var rule_ids = spec.rules;\n var regexes = spec.__rule_regexes;\n var len = spec.__rule_count;\n\n // Note: the arrays are 1-based, while `len` itself is a valid index,\n // hence the non-standard less-or-equal check in the next loop condition!\n for (var i = 1; i <= len; i++) {\n tempMatch = this._input.match(regexes[i]);\n\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rule_ids[i]);\n\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = undefined;\n continue; // rule action called reject() implying a rule MISmatch. \n } else {\n // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n\n if (match) {\n token = this.test_match(match, rule_ids[index]);\n\n if (token !== false) {\n return token;\n }\n\n // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n return false;\n }\n\n if (!this._input) {\n this.done = true;\n this.clear();\n return this.EOF;\n } else {\n var lineno_msg = '';\n\n if (this.options.trackPosition) {\n lineno_msg = ' on line ' + (this.yylineno + 1);\n }\n\n var p = this.constructLexErrorInfo(\n 'Lexical error' + lineno_msg + ': Unrecognized text.',\n this.options.lexerErrorsAreRecoverable\n );\n\n var pendingInput = this._input;\n var activeCondition = this.topState();\n var conditionStackDepth = this.conditionStack.length;\n token = this.parseError(p.errStr, p, this.JisonLexerError) || this.ERROR;\n\n if (token === this.ERROR) {\n // we can try to recover from a lexer error that `parseError()` did not 'recover' for us\n // by moving forward at least one character at a time IFF the (user-specified?) `parseError()`\n // has not consumed/modified any pending input or changed state in the error handler:\n if (!this.matches && // and make sure the input has been modified/consumed ...\n pendingInput === this._input && // ...or the lexer state has been modified significantly enough\n // to merit a non-consuming error handling action right now.\n activeCondition === this.topState() && conditionStackDepth === this.conditionStack.length) {\n this.input();\n }\n }\n\n return token;\n }\n },\n\n /**\n * return next match that has a token\n * \n * @public\n * @this {RegExpLexer}\n */\n lex: function lexer_lex() {\n var r;\n\n // allow the PRE/POST handlers set/modify the return token for maximum flexibility of the generated lexer:\n if (typeof this.pre_lex === 'function') {\n r = this.pre_lex.call(this, 0);\n }\n\n if (typeof this.options.pre_lex === 'function') {\n // (also account for a userdef function which does not return any value: keep the token as is)\n r = this.options.pre_lex.call(this, r) || r;\n }\n\n if (this.yy && typeof this.yy.pre_lex === 'function') {\n // (also account for a userdef function which does not return any value: keep the token as is)\n r = this.yy.pre_lex.call(this, r) || r;\n }\n\n while (!r) {\n r = this.next();\n }\n\n if (this.yy && typeof this.yy.post_lex === 'function') {\n // (also account for a userdef function which does not return any value: keep the token as is)\n r = this.yy.post_lex.call(this, r) || r;\n }\n\n if (typeof this.options.post_lex === 'function') {\n // (also account for a userdef function which does not return any value: keep the token as is)\n r = this.options.post_lex.call(this, r) || r;\n }\n\n if (typeof this.post_lex === 'function') {\n // (also account for a userdef function which does not return any value: keep the token as is)\n r = this.post_lex.call(this, r) || r;\n }\n\n return r;\n },\n\n /**\n * return next match that has a token. Identical to the `lex()` API but does not invoke any of the \n * `pre_lex()` nor any of the `post_lex()` callbacks.\n * \n * @public\n * @this {RegExpLexer}\n */\n fastLex: function lexer_fastLex() {\n var r;\n\n while (!r) {\n r = this.next();\n }\n\n return r;\n },\n\n /**\n * return info about the lexer state that can help a parser or other lexer API user to use the\n * most efficient means available. This API is provided to aid run-time performance for larger\n * systems which employ this lexer.\n * \n * @public\n * @this {RegExpLexer}\n */\n canIUse: function lexer_canIUse() {\n var rv = {\n fastLex: !(typeof this.pre_lex === 'function' || typeof this.options.pre_lex === 'function' || this.yy && typeof this.yy.pre_lex === 'function' || this.yy && typeof this.yy.post_lex === 'function' || typeof this.options.post_lex === 'function' || typeof this.post_lex === 'function') && typeof this.fastLex === 'function'\n };\n\n return rv;\n },\n\n /**\n * backwards compatible alias for `pushState()`;\n * the latter is symmetrical with `popState()` and we advise to use\n * those APIs in any modern lexer code, rather than `begin()`.\n * \n * @public\n * @this {RegExpLexer}\n */\n begin: function lexer_begin(condition) {\n return this.pushState(condition);\n },\n\n /**\n * activates a new lexer condition state (pushes the new lexer\n * condition state onto the condition stack)\n * \n * @public\n * @this {RegExpLexer}\n */\n pushState: function lexer_pushState(condition) {\n this.conditionStack.push(condition);\n this.__currentRuleSet__ = null;\n return this;\n },\n\n /**\n * pop the previously active lexer condition state off the condition\n * stack\n * \n * @public\n * @this {RegExpLexer}\n */\n popState: function lexer_popState() {\n var n = this.conditionStack.length - 1;\n\n if (n > 0) {\n this.__currentRuleSet__ = null;\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n },\n\n /**\n * return the currently active lexer condition state; when an index\n * argument is provided it produces the N-th previous condition state,\n * if available\n * \n * @public\n * @this {RegExpLexer}\n */\n topState: function lexer_topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return 'INITIAL';\n }\n },\n\n /**\n * (internal) determine the lexer rule set which is active for the\n * currently active lexer condition state\n * \n * @public\n * @this {RegExpLexer}\n */\n _currentRules: function lexer__currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]];\n } else {\n return this.conditions['INITIAL'];\n }\n },\n\n /**\n * return the number of states currently on the stack\n * \n * @public\n * @this {RegExpLexer}\n */\n stateStackSize: function lexer_stateStackSize() {\n return this.conditionStack.length;\n },\n\n options: {\n trackPosition: true\n },\n\n JisonLexerError: JisonLexerError,\n\n performAction: function lexer__performAction(yy, yyrulenumber, YY_START) {\n var yy_ = this;\n var YYSTATE = YY_START;\n\n switch (yyrulenumber) {\n case 1:\n /*! Conditions:: INITIAL */\n /*! Rule:: \\s+ */\n /* skip whitespace */\n break;\n\n default:\n return this.simpleCaseActionClusters[yyrulenumber];\n }\n },\n\n simpleCaseActionClusters: {\n /*! Conditions:: INITIAL */\n /*! Rule:: (--[0-9a-z-A-Z-]*) */\n 0: 13,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: \\* */\n 2: 5,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: \\/ */\n 3: 6,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: \\+ */\n 4: 3,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: - */\n 5: 4,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)px\\b */\n 6: 15,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)cm\\b */\n 7: 15,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)mm\\b */\n 8: 15,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)in\\b */\n 9: 15,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)pt\\b */\n 10: 15,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)pc\\b */\n 11: 15,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)deg\\b */\n 12: 16,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)grad\\b */\n 13: 16,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)rad\\b */\n 14: 16,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)turn\\b */\n 15: 16,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)s\\b */\n 16: 17,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)ms\\b */\n 17: 17,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)Hz\\b */\n 18: 18,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)kHz\\b */\n 19: 18,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)dpi\\b */\n 20: 19,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)dpcm\\b */\n 21: 19,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)dppx\\b */\n 22: 19,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)em\\b */\n 23: 20,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)ex\\b */\n 24: 21,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)ch\\b */\n 25: 22,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)rem\\b */\n 26: 23,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)vw\\b */\n 27: 25,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)vh\\b */\n 28: 24,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)vmin\\b */\n 29: 26,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)vmax\\b */\n 30: 27,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)% */\n 31: 28,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)\\b */\n 32: 11,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: (calc) */\n 33: 9,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: (var) */\n 34: 12,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([a-z]+) */\n 35: 10,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: \\( */\n 36: 7,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: \\) */\n 37: 8,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: , */\n 38: 14,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: $ */\n 39: 1\n },\n\n rules: [\n /* 0: */ /^(?:(--[\\d\\-A-Za-z]*))/,\n /* 1: */ /^(?:\\s+)/,\n /* 2: */ /^(?:\\*)/,\n /* 3: */ /^(?:\\/)/,\n /* 4: */ /^(?:\\+)/,\n /* 5: */ /^(?:-)/,\n /* 6: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)px\\b)/,\n /* 7: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)cm\\b)/,\n /* 8: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)mm\\b)/,\n /* 9: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)in\\b)/,\n /* 10: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)pt\\b)/,\n /* 11: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)pc\\b)/,\n /* 12: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)deg\\b)/,\n /* 13: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)grad\\b)/,\n /* 14: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)rad\\b)/,\n /* 15: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)turn\\b)/,\n /* 16: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)s\\b)/,\n /* 17: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)ms\\b)/,\n /* 18: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)Hz\\b)/,\n /* 19: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)kHz\\b)/,\n /* 20: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)dpi\\b)/,\n /* 21: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)dpcm\\b)/,\n /* 22: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)dppx\\b)/,\n /* 23: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)em\\b)/,\n /* 24: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)ex\\b)/,\n /* 25: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)ch\\b)/,\n /* 26: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)rem\\b)/,\n /* 27: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)vw\\b)/,\n /* 28: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)vh\\b)/,\n /* 29: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)vmin\\b)/,\n /* 30: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)vmax\\b)/,\n /* 31: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)%)/,\n /* 32: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)\\b)/,\n /* 33: */ /^(?:(calc))/,\n /* 34: */ /^(?:(var))/,\n /* 35: */ /^(?:([a-z]+))/,\n /* 36: */ /^(?:\\()/,\n /* 37: */ /^(?:\\))/,\n /* 38: */ /^(?:,)/,\n /* 39: */ /^(?:$)/\n ],\n\n conditions: {\n 'INITIAL': {\n rules: [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 18,\n 19,\n 20,\n 21,\n 22,\n 23,\n 24,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 38,\n 39\n ],\n\n inclusive: true\n }\n }\n };\n\n return lexer;\n}();\nparser.lexer = lexer;\n\n\n\nfunction Parser() {\n this.yy = {};\n}\nParser.prototype = parser;\nparser.Parser = Parser;\n\nreturn new Parser();\n})();\n\n \n\n\nif (typeof require !== 'undefined' && typeof exports !== 'undefined') {\n exports.parser = parser;\n exports.Parser = parser.Parser;\n exports.parse = function () {\n return parser.parse.apply(parser, arguments);\n };\n \n}\n","var parse = require(\"./parse\");\nvar walk = require(\"./walk\");\nvar stringify = require(\"./stringify\");\n\nfunction ValueParser(value) {\n if (this instanceof ValueParser) {\n this.nodes = parse(value);\n return this;\n }\n return new ValueParser(value);\n}\n\nValueParser.prototype.toString = function() {\n return Array.isArray(this.nodes) ? stringify(this.nodes) : \"\";\n};\n\nValueParser.prototype.walk = function(cb, bubble) {\n walk(this.nodes, cb, bubble);\n return this;\n};\n\nValueParser.unit = require(\"./unit\");\n\nValueParser.walk = walk;\n\nValueParser.stringify = stringify;\n\nmodule.exports = ValueParser;\n","var openParentheses = \"(\".charCodeAt(0);\nvar closeParentheses = \")\".charCodeAt(0);\nvar singleQuote = \"'\".charCodeAt(0);\nvar doubleQuote = '\"'.charCodeAt(0);\nvar backslash = \"\\\\\".charCodeAt(0);\nvar slash = \"/\".charCodeAt(0);\nvar comma = \",\".charCodeAt(0);\nvar colon = \":\".charCodeAt(0);\nvar star = \"*\".charCodeAt(0);\n\nmodule.exports = function(input) {\n var tokens = [];\n var value = input;\n\n var next, quote, prev, token, escape, escapePos, whitespacePos;\n var pos = 0;\n var code = value.charCodeAt(pos);\n var max = value.length;\n var stack = [{ nodes: tokens }];\n var balanced = 0;\n var parent;\n\n var name = \"\";\n var before = \"\";\n var after = \"\";\n\n while (pos < max) {\n // Whitespaces\n if (code <= 32) {\n next = pos;\n do {\n next += 1;\n code = value.charCodeAt(next);\n } while (code <= 32);\n token = value.slice(pos, next);\n\n prev = tokens[tokens.length - 1];\n if (code === closeParentheses && balanced) {\n after = token;\n } else if (prev && prev.type === \"div\") {\n prev.after = token;\n } else if (\n code === comma ||\n code === colon ||\n (code === slash && value.charCodeAt(next + 1) !== star)\n ) {\n before = token;\n } else {\n tokens.push({\n type: \"space\",\n sourceIndex: pos,\n value: token\n });\n }\n\n pos = next;\n\n // Quotes\n } else if (code === singleQuote || code === doubleQuote) {\n next = pos;\n quote = code === singleQuote ? \"'\" : '\"';\n token = {\n type: \"string\",\n sourceIndex: pos,\n quote: quote\n };\n do {\n escape = false;\n next = value.indexOf(quote, next + 1);\n if (~next) {\n escapePos = next;\n while (value.charCodeAt(escapePos - 1) === backslash) {\n escapePos -= 1;\n escape = !escape;\n }\n } else {\n value += quote;\n next = value.length - 1;\n token.unclosed = true;\n }\n } while (escape);\n token.value = value.slice(pos + 1, next);\n\n tokens.push(token);\n pos = next + 1;\n code = value.charCodeAt(pos);\n\n // Comments\n } else if (code === slash && value.charCodeAt(pos + 1) === star) {\n token = {\n type: \"comment\",\n sourceIndex: pos\n };\n\n next = value.indexOf(\"*/\", pos);\n if (next === -1) {\n token.unclosed = true;\n next = value.length;\n }\n\n token.value = value.slice(pos + 2, next);\n tokens.push(token);\n\n pos = next + 2;\n code = value.charCodeAt(pos);\n\n // Dividers\n } else if (code === slash || code === comma || code === colon) {\n token = value[pos];\n\n tokens.push({\n type: \"div\",\n sourceIndex: pos - before.length,\n value: token,\n before: before,\n after: \"\"\n });\n before = \"\";\n\n pos += 1;\n code = value.charCodeAt(pos);\n\n // Open parentheses\n } else if (openParentheses === code) {\n // Whitespaces after open parentheses\n next = pos;\n do {\n next += 1;\n code = value.charCodeAt(next);\n } while (code <= 32);\n token = {\n type: \"function\",\n sourceIndex: pos - name.length,\n value: name,\n before: value.slice(pos + 1, next)\n };\n pos = next;\n\n if (name === \"url\" && code !== singleQuote && code !== doubleQuote) {\n next -= 1;\n do {\n escape = false;\n next = value.indexOf(\")\", next + 1);\n if (~next) {\n escapePos = next;\n while (value.charCodeAt(escapePos - 1) === backslash) {\n escapePos -= 1;\n escape = !escape;\n }\n } else {\n value += \")\";\n next = value.length - 1;\n token.unclosed = true;\n }\n } while (escape);\n // Whitespaces before closed\n whitespacePos = next;\n do {\n whitespacePos -= 1;\n code = value.charCodeAt(whitespacePos);\n } while (code <= 32);\n if (pos !== whitespacePos + 1) {\n token.nodes = [\n {\n type: \"word\",\n sourceIndex: pos,\n value: value.slice(pos, whitespacePos + 1)\n }\n ];\n } else {\n token.nodes = [];\n }\n if (token.unclosed && whitespacePos + 1 !== next) {\n token.after = \"\";\n token.nodes.push({\n type: \"space\",\n sourceIndex: whitespacePos + 1,\n value: value.slice(whitespacePos + 1, next)\n });\n } else {\n token.after = value.slice(whitespacePos + 1, next);\n }\n pos = next + 1;\n code = value.charCodeAt(pos);\n tokens.push(token);\n } else {\n balanced += 1;\n token.after = \"\";\n tokens.push(token);\n stack.push(token);\n tokens = token.nodes = [];\n parent = token;\n }\n name = \"\";\n\n // Close parentheses\n } else if (closeParentheses === code && balanced) {\n pos += 1;\n code = value.charCodeAt(pos);\n\n parent.after = after;\n after = \"\";\n balanced -= 1;\n stack.pop();\n parent = stack[balanced];\n tokens = parent.nodes;\n\n // Words\n } else {\n next = pos;\n do {\n if (code === backslash) {\n next += 1;\n }\n next += 1;\n code = value.charCodeAt(next);\n } while (\n next < max &&\n !(\n code <= 32 ||\n code === singleQuote ||\n code === doubleQuote ||\n code === comma ||\n code === colon ||\n code === slash ||\n code === openParentheses ||\n (code === closeParentheses && balanced)\n )\n );\n token = value.slice(pos, next);\n\n if (openParentheses === code) {\n name = token;\n } else {\n tokens.push({\n type: \"word\",\n sourceIndex: pos,\n value: token\n });\n }\n\n pos = next;\n }\n }\n\n for (pos = stack.length - 1; pos; pos -= 1) {\n stack[pos].unclosed = true;\n }\n\n return stack[0].nodes;\n};\n","function stringifyNode(node, custom) {\n var type = node.type;\n var value = node.value;\n var buf;\n var customResult;\n\n if (custom && (customResult = custom(node)) !== undefined) {\n return customResult;\n } else if (type === \"word\" || type === \"space\") {\n return value;\n } else if (type === \"string\") {\n buf = node.quote || \"\";\n return buf + value + (node.unclosed ? \"\" : buf);\n } else if (type === \"comment\") {\n return \"/*\" + value + (node.unclosed ? \"\" : \"*/\");\n } else if (type === \"div\") {\n return (node.before || \"\") + value + (node.after || \"\");\n } else if (Array.isArray(node.nodes)) {\n buf = stringify(node.nodes);\n if (type !== \"function\") {\n return buf;\n }\n return (\n value +\n \"(\" +\n (node.before || \"\") +\n buf +\n (node.after || \"\") +\n (node.unclosed ? \"\" : \")\")\n );\n }\n return value;\n}\n\nfunction stringify(nodes, custom) {\n var result, i;\n\n if (Array.isArray(nodes)) {\n result = \"\";\n for (i = nodes.length - 1; ~i; i -= 1) {\n result = stringifyNode(nodes[i], custom) + result;\n }\n return result;\n }\n return stringifyNode(nodes, custom);\n}\n\nmodule.exports = stringify;\n","var minus = \"-\".charCodeAt(0);\nvar plus = \"+\".charCodeAt(0);\nvar dot = \".\".charCodeAt(0);\nvar exp = \"e\".charCodeAt(0);\nvar EXP = \"E\".charCodeAt(0);\n\nmodule.exports = function(value) {\n var pos = 0;\n var length = value.length;\n var dotted = false;\n var sciPos = -1;\n var containsNumber = false;\n var code;\n\n while (pos < length) {\n code = value.charCodeAt(pos);\n\n if (code >= 48 && code <= 57) {\n containsNumber = true;\n } else if (code === exp || code === EXP) {\n if (sciPos > -1) {\n break;\n }\n sciPos = pos;\n } else if (code === dot) {\n if (dotted) {\n break;\n }\n dotted = true;\n } else if (code === plus || code === minus) {\n if (pos !== 0) {\n break;\n }\n } else {\n break;\n }\n\n pos += 1;\n }\n\n if (sciPos + 1 === pos) pos--;\n\n return containsNumber\n ? {\n number: value.slice(0, pos),\n unit: value.slice(pos)\n }\n : false;\n};\n","module.exports = function walk(nodes, cb, bubble) {\n var i, max, node, result;\n\n for (i = 0, max = nodes.length; i < max; i += 1) {\n node = nodes[i];\n if (!bubble) {\n result = cb(node, i, nodes);\n }\n\n if (\n result !== false &&\n node.type === \"function\" &&\n Array.isArray(node.nodes)\n ) {\n walk(node.nodes, cb, bubble);\n }\n\n if (bubble) {\n cb(node, i, nodes);\n }\n }\n};\n","/**\n * Copyright (c) 2014-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\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["module","exports","obj","__esModule","hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","argType","push","Array","isArray","inner","apply","toString","Object","prototype","key","call","join","default","conversions","Math","PI","value","sourceUnit","targetUnit","precision","Error","converted","pow","parseInt","round","pi","tau","epsilon","tauEpsilon","Path","this","_x0","_y0","_x1","_y1","_","path","constructor","moveTo","x","y","closePath","lineTo","quadraticCurveTo","x1","y1","bezierCurveTo","x2","y2","arcTo","r","x0","y0","x21","y21","x01","y01","l01_2","abs","x20","y20","l21_2","l20_2","l21","sqrt","l01","l","tan","acos","t01","t21","arc","a0","a1","ccw","dx","cos","dy","sin","cw","da","rect","w","h","start","stop","step","n","max","ceil","range","band","bandwidth","scale","ordinal","unknown","undefined","domain","ordinalRange","r0","r1","paddingInner","paddingOuter","align","rescale","reverse","floor","values","sequence","map","rangeRound","padding","min","copy","initRange","pointish","point","initInterpolator","interpolator","implicit","Symbol","index","Map","d","get","set","slice","has","from","globalScope","ONE","MAX_DIGITS","Decimal","rounding","toExpNeg","toExpPos","LN10","external","decimalError","invalidArgument","exponentOutOfRange","mathfloor","mathpow","isDecimal","BASE","MAX_SAFE_INTEGER","MAX_E","P","add","carry","e","k","len","xd","yd","Ctor","pr","s","unshift","pop","checkInt32","digitsToString","ws","indexOfLastWord","str","getZeroString","absoluteValue","comparedTo","cmp","j","xdL","ydL","decimalPlaces","dp","dividedBy","div","divide","dividedToIntegerBy","idiv","equals","eq","exponent","getBase10Exponent","greaterThan","gt","greaterThanOrEqualTo","gte","isInteger","isint","isNegative","isneg","isPositive","ispos","isZero","lessThan","lt","lessThanOrEqualTo","lte","logarithm","log","base","wpr","ln","minus","sub","subtract","modulo","mod","q","times","naturalExponential","exp","naturalLogarithm","negated","neg","plus","sd","z","squareRoot","t","toExponential","indexOf","mul","rL","shift","toDecimalPlaces","todp","rm","toFixed","toInteger","toint","toNumber","toPower","sign","yIsInt","yn","truncate","toPrecision","toSignificantDigits","tosd","valueOf","val","toJSON","multiplyInteger","temp","compare","a","b","aL","bL","prod","prodL","qd","rem","remL","rem0","xi","xL","yd0","yL","yz","denominator","sum","getLn10","zs","c","c0","numerator","charAt","parseDecimal","replace","search","substring","charCodeAt","rd","doRound","xdi","xe","xLTy","isExp","arr","config","p","v","ps","clone","test","ROUND_UP","ROUND_DOWN","ROUND_CEIL","ROUND_FLOOR","ROUND_HALF_UP","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_CEIL","ROUND_HALF_FLOOR","define","prefix","Events","EE","fn","context","once","addListener","emitter","event","TypeError","listener","evt","_events","_eventsCount","clearEvent","EventEmitter","create","__proto__","eventNames","events","name","names","getOwnPropertySymbols","concat","listeners","handlers","ee","listenerCount","emit","a2","a3","a4","a5","args","removeListener","on","removeAllListeners","off","prefixed","HAS_WEAKSET_SUPPORT","WeakSet","keys","sameValueZeroEqual","isPlainObject","isPromiseLike","then","isReactElement","$$typeof","getNewCacheFallback","getNewCache","createCircularEqualCreator","isEqual","comparator","_comparator","cache","isCacheableA","isCacheableB","hasA","hasB","areArraysEqual","meta","areMapsEqual","isValueEqual","size","forEach","aValue","aKey","bValue","bKey","OWNER","Function","bind","areObjectsEqual","keysA","reactElementA","reactElementB","areRegExpsEqual","source","global","ignoreCase","multiline","unicode","sticky","lastIndex","areSetsEqual","HAS_MAP_SUPPORT","HAS_SET_SUPPORT","Set","createComparator","createIsEqual","aShape","bShape","Date","getTime","RegExp","deepEqual","shallowEqual","circularDeepEqual","circularShallowEqual","func","thisArg","array","predicate","baseIndexOf","require","string","split","baseEach","collection","result","isSymbol","iteratee","current","computed","fromIndex","fromRight","arrayPush","isFlattenable","baseFlatten","depth","isStrict","other","baseFindIndex","baseIsNaN","strictIndexOf","isArrayLike","arrayMap","baseGet","baseIteratee","baseMap","baseSortBy","baseUnary","compareMultiple","identity","iteratees","orders","object","nativeCeil","nativeMax","end","overRest","setToString","constant","defineProperty","baseSetToString","comparer","sort","trimmedEndIndex","reTrimStart","SetCache","arrayIncludes","arrayIncludesWith","cacheHas","createSet","setToArray","includes","isCommon","seen","outer","seenIndex","baseSlice","valIsDefined","valIsNull","valIsReflexive","valIsSymbol","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","compareAscending","objCriteria","criteria","othCriteria","ordersLength","castSlice","hasUnicode","stringToArray","methodName","strSymbols","chr","trailing","findIndexFunc","iterable","baseRange","isIterateeCall","toFinite","noop","reHasUnicode","isArguments","spreadableSymbol","isConcatSpreadable","isIndex","isObject","type","transform","otherArgs","shortOut","nativeNow","now","count","lastCalled","stamp","remaining","asciiToArray","unicodeToArray","reWhitespace","rsAstral","rsCombo","rsFitz","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsOptVar","rsSeq","rsSymbol","reUnicode","match","nativeMin","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","invokeFunc","time","leadingEdge","setTimeout","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","clearTimeout","cancel","flush","arrayEvery","baseEvery","guard","find","createFind","baseGetTag","isObjectLike","isNumber","baseAssignValue","baseForOwn","baseExtremum","baseGt","baseLt","root","createRange","arraySome","baseSome","baseOrderBy","baseRest","sortBy","debounce","INFINITY","remainder","baseTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","isBinary","baseUniq","upperFirst","createCaseFirst","performance","process","getNanoSeconds","hrtime","moduleLoadTime","hr","upTime","nodeLoadTime","loadTime","window","vendors","suffix","raf","caf","last","id","queue","callback","_now","next","cp","cancelled","handle","polyfill","requestAnimationFrame","cancelAnimationFrame","componentWillMount","state","getDerivedStateFromProps","props","setState","componentWillReceiveProps","nextProps","prevState","componentWillUpdate","nextState","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","Component","isReactComponent","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","componentName","displayName","newApiName","componentDidUpdate","maybeSnapshot","snapshot","__suppressDeprecationWarning","setPrototypeOf","__extends","String","__","assign","__rest","propertyIsEnumerable","freeGlobal","freeSelf","self","require$$0","objectProto","nativeObjectToString","symToStringTag","toStringTag","isOwn","tag","unmasked","getRawTag","require$$1","objectToString","patchResizeHandler","resizeCallback","refreshMode","refreshRate","refreshOptions","throttle","isFunction","isSSR","isDOMElement","element","Element","HTMLDocument","createNotifier","onResize","setSize","handleWidth","handleHeight","width","height","prev","cancelHandler","resizeHandler","attachObserver","targetRef","observerOptions","getElement","observableElement","resizeObserver","observe","querySelector","targetDomEl","document","currentElement","findDOMNode","getRenderType","parentElement","createResizeHandler","entries","notifyResize","entry","contentRect","skipOnMount","render","children","isValidElement","createRef","window.ResizeObserver","PureComponent","componentDidMount","componentWillUnmount","disconnect","typedChildren","nodeType","WrapperTag","childProps","nativeProps","cloneElement","el","React","useEnhancedEffect","useEffect","useLayoutEffect","setRafTimeout","timeout","currTime","shouldUpdate","_typeof","iterator","_toArray","_arrayWithHoles","iter","_iterableToArray","o","minLen","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","arr2","createAnimateManager","handleChange","shouldStop","setStyle","_style","_styles","curr","restStyles","style","subscribe","_handleChange","ownKeys","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","target","_defineProperty","getOwnPropertyDescriptors","defineProperties","configurable","writable","PREFIX_LIST","IN_LINE_PREFIX_LIST","IN_COMPATIBLE_PROPERTY","param","mapObject","reduce","res","translateStyle","isTransition","camelName","toUpperCase","styleVal","property","generatePrefixStyle","getTransitionVal","duration","easing","prop","toLowerCase","_slicedToArray","_arr","_n","_d","_e","_s","_i","done","err","_iterableToArrayLimit","_toConsumableArray","_arrayWithoutHoles","_nonIterableSpread","ACCURACY","cubicBezierFactor","c1","c2","multyTime","params","pre","cubicBezier","derivativeCubicBezier","newParams","configBezier","_len","_key","_easing$1$split$0$spl","parseFloat","_easing$1$split$0$spl2","every","num","curveX","curveY","derCurveX","rangeValue","bezier","_t","evalT","derVal","isStepper","configSpring","_config$stiff","stiff","_config$damping","damping","_config$dt","dt","stepper","currX","destX","currV","newV","newX","alpha","begin","needContinue","_ref","to","calStepperVals","preVals","steps","nextStepVals","_easing2","velocity","preObj","nextObj","preTime","beginTime","interKeys","timingStyle","stepperStyle","cafId","update","currStyle","finalStyle","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","_defineProperties","descriptor","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","getPrototypeOf","Animate","_PureComponent","subClass","superClass","_inherits","Constructor","protoProps","staticProps","_super","_this","instance","_classCallCheck","_this$props","isActive","attributeName","handleStyleChange","changeStyle","_this$props2","canBegin","mounted","runAnimation","_this$props3","shouldReAnimate","isTriggered","manager","stopJSAnimation","_newState","newState","unSubscribe","_this2","onAnimationEnd","onAnimationStart","startAnimation","configUpdate","_len2","_key2","configEasing","_this3","_steps$","initialStyle","_steps$$duration","initialTime","nextItem","_nextItem$easing","nextProperties","properties","preItem","runJSAnimation","transition","newStyle","propsTo","runStepAnimation","_this$props4","others","onAnimationReStart","Children","stateStyle","cloneContainer","container","_container$props","_container$props$styl","className","child","propTypes","PropTypes","defaultProps","_extends","Number","isFinite","parseDurationOfSingleTransition","AnimateGroupChild","_Component","handleEnter","node","isAppearing","appearOptions","enterOptions","handleStyleActive","handleExit","leaveOptions","Transition","onEnter","onExit","parseTimeout","AnimateGroup","component","appear","enter","leave","TransitionGroup","_interopRequireDefault","classList","_hasClass","setAttribute","baseVal","contains","replaceClassName","origClass","classToRemove","remove","newObj","desc","_interopRequireWildcard","_addClass","_removeClass","_react","_Transition","addClass","removeClass","CSSTransition","_React$Component","appearing","getClassNames","removeClasses","onEntering","activeClassName","reflowAndAddClass","onEntered","appearClassName","doneClassName","enterClassName","onExiting","onExited","isStringClassNames","_proto","_this$getClassNames6","scrollTop","createElement","_default","_reactDom","_TransitionGroup","ReplaceTransition","_args","handleLifecycle","handleEntering","_len3","_key3","handleEntered","_len4","_key4","_len5","_key5","handleExiting","_len6","_key6","handleExited","_len7","_key7","handler","idx","originalArgs","_child$props","toArray","inProp","in","_React$Children$toArr","first","second","EXITING","ENTERED","ENTERING","EXITED","UNMOUNTED","_reactLifecyclesCompat","initialStatus","parentGroup","transitionGroup","isMounting","appearStatus","unmountOnExit","mountOnEnter","status","nextCallback","getChildContext","updateStatus","nextStatus","cancelNextCallback","getTimeouts","exit","mounting","performEnter","performExit","timeouts","enterTimeout","safeSetState","onTransitionEnd","setNextCallback","_this4","active","doesNotHaveTimeoutOrListener","addEndListener","only","contextTypes","childContextTypes","_propTypes","_ChildMapping","firstRender","appeared","prevChildMapping","getInitialChildMapping","getNextChildMapping","currentChildMapping","getChildMapping","childFactory","isRequired","_CSSTransition","_ReplaceTransition","mergeChildMappings","getProp","nextChildMapping","hasPrev","hasNext","prevChild","isLeaving","mapFn","mapper","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","classNamesShape","timeoutsShape","Area","isAnimationFinished","uniqueId","handleAnimationEnd","_isFunction","handleAnimationStart","animationId","prevAnimationId","curPoints","points","curBaseLine","baseLine","prevPoints","prevBaseLine","needClip","clipPathId","isAnimationActive","dot","dataKey","areaProps","filterProps","customDotProps","dots","dotProps","cx","cy","payload","renderDotItem","dotsProps","clipPath","Layer","strokeWidth","startX","endX","maxY","_max","_isArray","startY","endY","maxX","layout","renderVerticalRect","renderHorizontalRect","stroke","connectNulls","isRange","ref","Curve","fill","_this$props5","animationBegin","animationDuration","animationEasing","_this$state","stepBaseLine","prevPointsDiffFactor","stepPoints","prevPointIndex","interpolatorX","interpolateNumber","interpolatorY","_isNil","_isNaN","_interpolator","renderAreaStatically","renderClipRect","_this$props6","_this$state2","totalLength","_isEqual","renderAreaWithAnimation","_this$props7","hide","top","left","xAxis","yAxis","hasSinglePoint","layerClass","allowDataOverflow","renderArea","renderDots","LabelList","fillOpacity","xAxisId","yAxisId","legendType","activeDot","Global","getBaseValue","baseValue","numericAxis","getComposedData","_ref2","xAxisTicks","yAxisTicks","bandSize","stackedData","dataStartIndex","displayedData","offset","hasStack","originalValue","getValueByDataKey","isBreakPoint","getCateCoordinateOfLine","axis","ticks","_get","option","Dot","CartesianGrid","lineItem","horizontalPoints","horizontal","items","renderLineItem","verticalPoints","vertical","verticalFill","verticalPointsUpdated","lineWidth","colorIndex","horizontalFill","horizontalPointsUpdated","lineHeight","horizontalCoordinatesGenerator","verticalCoordinatesGenerator","chartWidth","chartHeight","renderBackground","renderHorizontal","renderVertical","renderHorizontalStripes","renderVerticalStripes","XAxis","allowDecimals","orientation","mirror","tickCount","right","reversed","allowDuplicatedCategory","YAxis","bottom","AreaChart","generateCategoricalChart","chartName","GraphicalChild","axisComponents","axisType","AxisComp","formatAxisMap","Cross","getPath","CartesianAxis","tick","viewBox","minTickGap","interval","tickFormatter","unit","getNumberIntervalTicks","getTicksStart","getTicksEnd","preserveEnd","sizeKey","unitSize","getStringSize","mathSign","coordinate","tail","tailContent","tailSize","tailGap","tickCoord","isShow","content","gap","_ref3","Text","restProps","viewBoxOld","restPropsOld","data","tx","ty","tickSize","tickMargin","finalTickSize","line","textAnchor","verticalAnchor","axisLine","needHeight","needWidth","tickLine","finalTicks","getTicks","getTickTextAnchor","getTickVerticalAnchor","axisProps","customTickProps","tickLineProps","_this$getTickLineCoor","getTickLineCoord","lineCoord","tickProps","visibleTicksCount","adaptEventsOfChild","renderTickItem","ticksGenerator","_this$props8","noTicksProps","renderAxisLine","renderTicks","Label","isTouch","changedTouches","Brush","leaveTimer","travellerDragStartHandlers","handleDrag","isTravellerMoving","handleTravellerMove","isSlideMoving","handleSlideDrag","handleTouchMove","handleDragEnd","detachDragEndListener","handleLeaveWrapper","leaveTimeOut","handleEnterSlideOrTraveller","isTextActive","handleLeaveSlideOrTraveller","handleSlideDragStart","slideMoveStartX","pageX","attachDragEndListener","handleTravellerDragStart","lineY","renderDefaultTraveller","travellerWidth","updateId","startIndex","endIndex","prevData","prevUpdateId","prevTravellerWidth","prevX","prevWidth","scalePoint","_range","scaleValues","createScale","middle","minIndex","getIndexInRange","maxIndex","text","addEventListener","removeEventListener","onChange","delta","newIndex","getIndex","movingTravellerId","brushMoveStartX","_this$setState","prevValue","isFullGap","chartElement","margin","compact","travellerX","traveller","travellerProps","onMouseEnter","onMouseLeave","onMouseDown","onTouchStart","cursor","renderTraveller","_this$props9","_this$state3","attrs","pointerEvents","getTextOfTick","_this$props10","alwaysShowText","_this$state4","isPanoramic","onMouseMove","onTouchMove","renderPanorama","renderSlide","renderTravellerLayer","renderText","ifOverflowMatches","alwaysShow","ifOverflow","ReferenceDot","isX","isNumOrStr","isY","warn","scales","createLabeledScales","bandAware","isInRange","getCoordinate","shape","renderDot","isFront","ReferenceLine","fixedX","fixedY","segment","endPoints","isFixedX","isFixedY","isSegment","_props$viewBox","position","yCoord","coord","xCoord","_orientation","_coord","_points","_points2","_some","getEndPoints","_endPoints","_endPoints$","_endPoints$2","lineProps","renderLine","rectWithCoords","ReferenceArea","hasX1","hasX2","hasY1","hasY2","xValue1","xValue2","yValue1","yValue2","p1","rangeMin","p2","rangeMax","rectWithPoints","getRect","renderRect","Rectangle","detectReferenceElementsDomain","axisId","specifiedTicks","lines","findAllByType","elements","areas","idKey","valueKey","finalDomain","key1","key2","value1","value2","eventCenter","setMaxListeners","SYNC_EVENT","ORIENT_MAP","originCoordinate","isFinit","defer","setImmediate","deferClear","clearImmediate","getDisplayedData","item","graphicalItems","dataEndIndex","itemsData","itemData","getTooltipContent","chartData","activeIndex","activeLabel","tooltipAxis","findEntryInArray","getTooltipItem","getTooltipData","rangeObj","rangeData","chartX","chartY","pos","angle","radius","calculateTooltipPos","orderedTooltipTicks","tooltipTicks","calculateActiveTickIndex","activePayload","activeCoordinate","_angle","_radius","polarToCartesian","getActiveCoordinate","activeTooltipIndex","getAxisMap","_ref4","_ref4$axisType","stackGroups","axisIdKey","axes","axisMap","stackOffset","isCategorical","isCategoricalAxis","duplicateDomain","categoricalDomain","getDomainOfDataByKey","duplicate","hasDuplicate","parseDomainOfCategoryAxis","errorBarsDomain","parseErrorBarsOfAxis","getDomainOfStackGroups","getDomainOfItemsWithSameAxis","parseSpecifiedDomain","axisDomain","originalDomain","getAxisMapByAxes","Axis","getAxisMapByItems","createDefaultState","defaultShowTooltip","brushItem","findChildByType","isTooltipActive","getAxisNameByLayout","numericAxisName","cateAxisName","_ref6","_class","_temp","_ref6$defaultTooltipE","defaultTooltipEventType","_ref6$validateTooltip","validateTooltipEventTypes","legendContent","getFormatItems","currentState","barSize","barGap","barCategoryGap","globalMaxBarSize","maxBarSize","_getAxisNameByLayout","hasBar","some","getDisplayName","hasGraphicalBarItem","sizeList","getBarSizeList","formattedItems","_item$props","childMaxBarSize","numericAxisId","cateAxisId","axisObj","_objectSpread6","getTicksOfAxis","cateAxis","cateTicks","getStackedDataOfItem","itemIsBar","getBandSizeOfAxis","barPosition","_ref7","_getBandSizeOfAxis","barBandSize","getBarPosition","_objectSpread7","composedFn","childIndex","parseChildIndex","updateStateOfAxisMapsOffsetAndStackGroups","_ref8","validateWidthHeight","reverseStackOrder","_getAxisNameByLayout2","getStackGroupsByAxisId","_ref5","prevLegendBBox","_ref5$xAxisMap","xAxisMap","_ref5$yAxisMap","yAxisMap","legendItem","Legend","offsetH","offsetV","brushBottom","appendOffsetOfLegend","calculateOffset","legendBBox","ticksObj","getAnyElementOfObject","_sortBy","tooltipAxisBandSize","tooltipTicksGenerator","formattedGraphicalItems","CategoricalChartWrapper","_props","uniqueChartId","legendInstance","deferId","clearDeferId","handleLegendBBoxUpdate","box","handleReceiveSyncEvent","cId","chartId","syncId","applySyncEvent","handleBrushChange","_ref9","triggerSyncEvent","handleMouseEnter","mouse","getMouseInfo","triggeredAfterMouseMove","handleItemMouseEnter","activeItem","tooltipPayload","tooltipPosition","handleItemMouseLeave","handleMouseMove","persist","handleMouseLeave","cancelThrottledTriggerAfterMouseMove","handleOuterEvent","eventName","getReactEventByType","handleClick","onClick","handleMouseDown","handleMouseUp","onMouseUp","handleTouchStart","handleTouchEnd","_ref10","getCoordinatesOfGrid","_ref11","axesTicksGenerator","renderCursor","tooltipEventType","getTooltipEventType","cursorComp","getCursorRectangle","_this$getCursorPoints","getCursorPoints","startAngle","endAngle","innerRadius","outerRadius","Sector","cursorProps","payloadIndex","renderPolarAxis","axisOption","renderXAxis","renderAxis","renderYAxis","renderGrid","_find","_every","renderPolarGrid","_element$props","radialLines","polarAngles","polarRadius","radiusAxisMap","angleAxisMap","radiusAxis","angleAxis","renderLegend","legendWidth","getLegendProps","otherProps","legend","onBBoxUpdate","renderTooltip","tooltipItem","Tooltip","_this$state5","label","renderBrush","_this$state6","combineEventHandlers","renderReferenceElement","_this$state7","_element$props2","renderActivePoints","_ref12","activePoint","basePoint","_item$item$props","getMainColorOfGraphicItem","adaptEventHandlers","renderActiveDot","renderGraphicChild","filterFormatItem","_this$state8","_item$props2","_item$item$props2","hasActive","itemEvents","trigger","onCLick","graphicalItem","specifiedKey","renderCustomized","throttleDelay","_throttle","_isBoolean","shared","eventType","containerOffset","getOffset","calculateChartCoordinate","inRange","_this$state9","xScale","yScale","xValue","invert","yValue","toolTipData","_this$state10","halfSize","_this$state11","_cx","_cy","innerPoint","outerPoint","_this$state12","inRangeOfSector","tooltipEvents","onTouchEnd","_maxListeners","syncMethod","_this$state13","validateChartX","validateChartY","axisOptions","_this$state$offset","_ref13","_ref14","_ref15","_ref16","_this$state$xAxisMap","_this$state$xAxisMap$","_this$state$yAxisMap","_this$state$yAxisMap$","chartXY","itemDisplayName","activeBarItem","isInRectangle","_activeBarItem","Bar","Line","Radar","RadialBar","Scatter","Pie","Funnel","PolarGrid","PolarAngleAxis","PolarRadiusAxis","Customized","Surface","renderClipPath","renderByOrder","parseEventsOfWrapper","defaultState","prevHeight","prevLayout","prevStackOffset","prevMargin","prevChildren","_defaultState","keepFromPrevState","updatesToState","isChildrenEqual","newUpdateId","renderRadialLabel","labelProps","labelAngle","direction","clockWise","deltaAngle","getDeltaAngle","startPoint","endPoint","dominantBaseline","xlinkHref","_props$className","textBreakAll","formatter","getLabel","isPolarLabel","isPolar","positionAttrs","midAngle","_polarToCartesian","_x","_polarToCartesian2","getAttrsOfPolarLabel","parentViewBox","verticalSign","verticalOffset","verticalEnd","verticalStart","horizontalSign","horizontalOffset","horizontalEnd","horizontalStart","_attrs2","_attrs3","sizeAttrs","_isObject","isPercent","getPercentValue","getAttrsOfCartesianLabel","breakAll","parseViewBox","labelViewBox","parseLabel","renderCallByParent","parentProps","checkPropsLabel","explicitChildren","implicitLabel","valueAccessor","_last","idProps","parseLabelList","ckeckPropsLabel","explicitChilren","implicitLabelList","atan2","draw","tan30","tan30_2","kr","kx","ky","sqrt3","symbolFactories","symbolCircle","symbolCross","symbolDiamond","symbolSquare","symbolStar","symbolTriangle","symbolWye","RADIAN","Symbols","sizeType","symbolFactory","_upperFirst","getSymbolFactory","symbol","buffer","circle","shapeSymbol","calculateAreaSize","registerSymbol","factory","SIZE","DefaultLegendContent","inactiveColor","sixthSize","thirdSize","color","inactive","strokeDasharray","legendIcon","iconProps","iconSize","itemStyle","display","marginRight","svgStyle","verticalAlign","_classNames","finalFormatter","renderIcon","textAlign","renderItems","defaultUniqBy","getUniqPayload","_uniqBy","wrapperNode","boxWidth","boxHeight","updateBBox","getBoundingClientRect","hPos","vPos","getBBoxSnapshot","_box3","wrapperStyle","payloadUniqBy","outerStyle","getDefaultPosition","renderContent","ResponsiveContainer","forwardRef","aspect","_ref$width","_ref$height","minWidth","minHeight","maxHeight","_ref$debounce","_useState2","useState","containerWidth","containerHeight","sizes","setSizes","containerRef","useRef","useImperativeHandle","_useState4","setMounted","getContainerSize","clientWidth","clientHeight","updateDimensionsImmediate","newSize","oldWidth","oldHeight","handleResize","_debounce","ReactResizeDetector","calculatedWidth","calculatedHeight","renderChart","BREAKING_SPACES","calculateWordWidths","words","wordsWithComputedWidth","word","spaceWidth","getWordsWithoutCalculate","getWordsByLines","needCalculate","scaleToFit","wordWidths","initialWordsWithComputedWith","shouldLimitLines","maxLines","calculate","currentLine","newLine","originalResult","trimmedResult","checkOverflow","tempText","doesOverflow","findLongestLine","iterations","_checkOverflow2","doesPrevOverflow","doesMiddleOverflow","calculateWordsByLines","prevScaleToFit","prevStyle","prevBreakAll","wordsByLines","capHeight","textProps","startDy","reduceCSSCalc","transforms","defaultFormatter","DefaultTooltipContent","separator","itemSorter","finalItemStyle","paddingTop","paddingBottom","formatted","_formatted","wrapperClassName","contentStyle","labelClassName","labelStyle","labelFormatter","backgroundColor","border","whiteSpace","finalLabelStyle","hasLabel","finalLabel","wrapperCN","labelCN","CLS_PREFIX","getTranslate","tooltipDimension","viewBoxDimension","allowEscapeViewBox","restricted","unrestricted","translateX","translateY","filterNull","finalPayload","hasPayload","visibility","useTranslate3d","cls","cursorStyle","svgView","version","that","_context","Basis","BasisClosed","BasisOpen","LinearClosed","Linear","slope3","h0","h1","s0","s1","slope2","t0","t1","MonotoneX","MonotoneY","ReflectContext","Natural","controlPoints","m","Step","areaStart","_line","areaEnd","NaN","lineStart","_point","lineEnd","_x2","_x3","_x4","_y2","_y3","_y4","_t0","_y","px","py","i0","i1","defined","curve","curveLinear","output","defined0","pointX","pointY","area","x0z","y0z","arealine","lineX0","lineY0","lineY1","lineX1","CURVE_FACTORIES","curveBasisClosed","curveBasisOpen","curveBasis","curveLinearClosed","curveMonotoneX","curveMonotoneY","curveNatural","curveStep","curveStepAfter","curveStepBefore","getX","getY","lineFunction","curveFactory","getCurveFactory","formatPoints","formatBaseLine","areaPoints","shapeArea","shapeLine","pathRef","realPath","getRectanglePath","maxRadius","ySign","xSign","newRadius","_newRadius","minX","minY","getTotalLength","isUpdateAnimationActive","currWidth","currHeight","currY","getTangentCircle","isExternal","cornerRadius","cornerIsExternal","centerRadius","theta","asin","centerAngle","lineTangencyAngle","center","circleTangency","lineTangency","getSectorPath","tempEndAngle","outerStartPoint","outerEndPoint","innerStartPoint","innerEndPoint","forceCornerRadius","deltaRadius","cr","_getTangentCircle","soct","solt","sot","_getTangentCircle2","eoct","eolt","eot","outerArcAngle","_getTangentCircle3","sict","silt","sit","_getTangentCircle4","eict","eilt","eit","innerArcAngle","getSectorWithCorner","ids","leftMirror","rightMirror","topMirror","bottomMirror","calculatedPadding","needSpace","_axis$padding","offsetKey","diff","smallestDistanceBetweenValues","Infinity","sortedValues","smallestDistanceInPercent","rangeWidth","halfBand","_parseScale","parseScale","realScaleType","checkDomainOfScale","getTicksOfScale","finalAxis","ScaleHelper","_offset","_offset2","EPS","_mapValues","PLACE_HOLDER","isPlaceHolder","curry0","_curried","curryN","argsLength","restArgs","newArgs","curry","compose","fns","firstFn","tailsFn","memoize","lastResult","rangeStep","getDigitCount","newA","uninterpolateNumber","uninterpolateTruncation","getValidInterval","validMin","validMax","getFormatStep","roughStep","correctionFactor","digitCount","Arithmetic","digitCountValue","stepRatio","stepRatioScale","formatStep","getTickOfSingleValue","absVal","middleIndex","calculateStep","tickMin","tickMax","belowCount","upCount","scaleCount","getNiceTickValues","_getValidInterval","_getValidInterval2","cormin","cormax","_values","_calculateStep","getTickValuesFixedDomain","_getValidInterval3","_getValidInterval4","_getValidInterval5","_getValidInterval6","e10","e5","e2","tickIncrement","power","error","tickStep","step0","step1","f","lo","hi","mid","ascending","ascendingComparator","numbers","valueof","ascendingBisect","bisector","bisectRight","number","extend","parent","definition","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color_formatHex","rgb","formatHex","color_formatRgb","formatRgb","format","trim","exec","rgbn","Rgb","rgba","hsla","g","rgbConvert","opacity","rgb_formatHex","hex","rgb_formatRgb","isNaN","Hsl","hslConvert","hsl2rgb","m1","m2","basis","v0","v1","v2","v3","t2","t3","channels","displayable","formatHsl","linear","gamma","nogamma","exponential","rgbGamma","colorRgb","rgbSpline","spline","colors","genericArray","nb","na","setTime","reA","reB","am","bm","bs","bi","one","zero","date","ArrayBuffer","isView","DataView","numberArray","normalize","bimap","interpolate","d0","d1","polymap","bisect","clamp","transformer","untransform","piecewise","input","interpolateValue","clamper","interpolateRound","u","continuous","prefixExponent","re","formatSpecifier","specifier","FormatSpecifier","comma","formatDecimalParts","coefficient","toLocaleString","formatRounded","locale","formatPrefix","prefixes","grouping","thousands","group","currencyPrefix","currency","currencySuffix","decimal","numerals","formatNumerals","percent","nan","newFormat","formatTypes","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","out","formatTrim","tickFormat","precisionPrefix","precisionRound","precisionFixed","linearish","nice","prestep","maxIter","transformLog","transformExp","transformLogn","transformExpn","pow10","reflect","loggish","logs","pows","E","log10","log2","logp","powp","transformSymlog","log1p","transformSymexp","expm1","symlogish","symlog","formatLocale","transformPow","transformSqrt","transformSquare","powish","square","unsquare","radial","squared","quickselect","newLeft","newRight","swap","quantile","Float64Array","value0","subarray","quantileSorted","thresholds","threshold","invertExtent","quantiles","quantize","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","newInterval","floori","offseti","field","previous","millisecond","getMilliseconds","getUTCSeconds","minute","getSeconds","getMinutes","hour","getHours","day","setHours","setDate","getDate","getTimezoneOffset","weekday","getDay","sunday","monday","tuesday","wednesday","thursday","friday","saturday","month","setMonth","getMonth","getFullYear","year","setFullYear","utcMinute","setUTCSeconds","getUTCMinutes","utcHour","setUTCMinutes","getUTCHours","utcDay","setUTCHours","setUTCDate","getUTCDate","utcWeekday","getUTCDay","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcMonth","setUTCMonth","getUTCMonth","getUTCFullYear","utcYear","setUTCFullYear","ticker","week","tickIntervals","tickInterval","utcWeek","utcTicks","utcTickInterval","timeTicks","timeTickInterval","localDate","H","M","S","L","utcDate","UTC","newDate","timeFormat","utcFormat","pads","numberRe","percentRe","requoteRe","pad","requote","formatRe","formatLookup","parseWeekdayNumberSunday","parseWeekdayNumberMonday","parseWeekNumberSunday","U","parseWeekNumberISO","V","parseWeekNumberMonday","W","parseFullYear","parseYear","parseZone","Z","parseQuarter","parseMonthNumber","parseDayOfMonth","parseDayOfYear","parseHour24","parseMinutes","parseSeconds","parseMilliseconds","parseMicroseconds","parseLiteralPercent","parseUnixTimestamp","Q","parseUnixTimestampSeconds","formatDayOfMonth","formatHour24","formatHour12","formatDayOfYear","timeDay","timeYear","formatMilliseconds","formatMicroseconds","formatMonthNumber","formatMinutes","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","timeSunday","dISO","timeThursday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","timeMonday","formatYear","formatYearISO","formatFullYear","formatFullYearISO","formatZone","formatUTCDayOfMonth","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","getUTCMilliseconds","formatUTCMicroseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCSeconds","formatUTCWeekdayNumberMonday","dow","formatUTCWeekNumberSunday","UTCdISO","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCYearISO","formatUTCFullYear","formatUTCFullYearISO","formatUTCZone","formatLiteralPercent","formatUnixTimestamp","formatUnixTimestampSeconds","calendar","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","timeMonth","timeWeek","timeHour","timeMinute","timeSecond","utcTime","utcSecond","k10","sequential","sequentialLog","sequentialSymlog","sequentialPow","sequentialSqrt","sequentialQuantile","I","k21","r2","diverging","divergingLog","divergingSymlog","divergingPow","divergingSqrt","series","order","locale_dateTime","dateTime","locale_date","locale_time","locale_periods","periods","locale_weekdays","days","locale_shortWeekdays","shortDays","locale_months","months","locale_shortMonths","shortMonths","periodRe","periodLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","utcFormats","parses","parseSpecifier","newParse","parse","X","utcParse","defaultLocale","stackValue","stackSeries","defaultValue","filterNil","flattenData","_flatMap","_min","_ticks$length","unsortedTicks","before","cur","after","sameDirectionCoord","diffInterval","curInRange","afterInRange","sameInterval","legendData","sectors","iconType","globalSize","_ref5$stackGroups","numericAxisIds","sgs","stackIds","sLen","_sgs$stackIds$j","barItems","selfSize","cateId","stackList","_ref6$sizeList","realBarGap","useFull","fullBarSize","newRes","originalSize","legendBox","legendProps","newOffset","getDomainOfErrorBars","errorBars","errorBarChild","entryValue","mainValue","errorDomain","prevErrorArr","errorValue","lowerValue","upperValue","domains","hasMin","hasMax","isGrid","isAll","niceTicks","scaleContent","defaultHandler","parentHandler","childHandler","customizedHandler","arg1","arg2","arg3","arg4","chartType","d3Scales","_isString","findPositionOfBar","truncateByDomain","STACK_OFFSET_MAP","positive","negative","expand","none","stackOffsetNone","silhouette","wiggle","s2","si","sij0","s3","sk","getStackedData","stackItems","offsetType","dataKeys","stack","orderNone","offsetNone","oz","sz","shapeStack","stackOrderNone","_items","_item$props3","stackId","childGroup","opts","scaleType","tickValues","calculateDomainOfTicks","_domain","matchedTick","getCateCoordinateOfBar","getBaseValueOfBar","itemIndex","MIN_VALUE_REG","MAX_VALUE_REG","specifiedDomain","dataDomain","_value","isBar","bandWidth","orderedTicks","calculatedDomain","axisChild","_graphicalItem$props","tooltipType","stringCache","widthCache","cacheCount","SPAN_STYLE","STYLE_LIST","MEASUREMENT_SPAN_ID","getStyleString","styleString","cacheKey","measurementSpan","getElementById","body","appendChild","measurementSpanStyle","styleKey","textContent","html","ownerDocument","documentElement","pageYOffset","clientTop","pageXOffset","clientLeft","pageY","_isNumber","idCounter","totalValue","validate","ary","numberA","numberB","specifiedValue","isSsr","condition","radianToDegree","angleInRadian","getMaxRadius","_range2","getAngleOfPoint","anotherPoint","distanceBetweenPoints","reverseFormatAngleOfSetor","startCnt","endCnt","sector","_getAngleOfPoint","_formatAngleOfSector","formatAngleOfSector","formatAngle","REACT_BROWSER_EVENT_MAP","click","mousedown","mouseup","mouseover","mousemove","mouseout","mouseenter","mouseleave","touchcancel","touchend","touchmove","touchstart","Comp","lastChildren","isFragment","types","childType","_el$props","SVG_TAGS","isSvgElement","nextChildren","isSingleChildEqual","nextChild","renderMap","record","results","SVGContainerPropKeys","SVGElementPropKeys","EventKeys","includeEvents","isSvg","inputProps","newHandler","originalHandler","getEventHandlerOfChild","for","A","_postcssValueParser2","_parser","_reducer2","_stringifier2","MATCH_CALC","walk","contents","stringify","nodes","ast","parser","reducedAst","_cssUnitConverter","_cssUnitConverter2","convertAbsoluteLength","flip","_convert","_convert2","operator","convertMathExpression","_node","op","flipValue","isValueType","reduceAddSubExpression","reduceDivisionExpression","reduceMultiplicationExpression","reduceMathExpression","calc","_reducer","prec","fallback","JisonParserError","msg","hash","stacktrace","exception","ex2","message","captureStackTrace","rv","trace","yy","hasPartialLrUpgradeOnConflict","errorRecoveryTokenDiscardCount","symbols_","terminals_","TERROR","EOF","originalQuoteName","originalParseError","cleanupAfterParse","constructParseErrorInfo","yyMergeLocationInfo","__reentrant_call_depth","__error_infos","__error_recovery_infos","quoteName","id_str","getSymbolName","describeSymbol","terminal_descriptions_","collect_expected_token_set","do_not_describe","tokenset","check","state_descriptions_","table","productions_","rule","bp","performAction","yystate","yysp","yyvstack","lexer","$","mode","goto","bt","defaultActions","bda","parseError","ExceptionClass","recoverable","destroy","sstack","vstack","sp","NO_ACTION","__lexer__","sharedState_yy","pre_parse","post_parse","pre_lex","post_lex","fastLex","token","assert","yyGetSharedState","dst","src","shallow_copy_noclobber","resultValue","invoke_post_methods","do_not_nuke_errorinfos","cleanupAfterLex","ex","expected","pei","errStr","yytext","token_id","yylineno","action","new_state","symbol_stack","state_stack","value_stack","stack_pointer","rec","yyrulelen","this_production","lex","yyval","_$","retval","setInput","canIUse","errSymbolDescr","showPosition","ntsymbol","JisonLexerError","ERROR","__currentRuleSet__","__decompressed","_backtrack","_input","_more","_signaled_error_token","conditionStack","matched","matches","yyleng","yylloc","constructLexErrorInfo","show_input_position","prettyPrintRange","pos_str","loc","yyerror","lineno_msg","lexerErrorsAreRecoverable","extra_error_attributes","clear","col","last_column","first_line","first_column","last_line","rules","rule_re","conditions","spec","rule_ids","rule_regexes","rule_new_ids","__rule_regexes","__rule_count","editRemainingInput","cpsArg","ch","slice_len","ch2","unput","substr","pre_lines","more","reject","backtrack_lexer","less","pastInput","maxSize","past","upcomingInput","maxPrefix","maxPostfix","deriveLocationInfo","actual","preceding","following","context_loc","context_loc2","l0","l1","lineno_display_width","ws_prefix","nonempty_line_indexes","lno","errpfx","clip_start","MINIMUM_VISIBLE_NONEMPTY_LINE_COUNT","clip_end","intermediate_line","splice","describeYYLLOC","display_range_too","l2","test_match","indexed_rule","backup","match_str","match_str_len","tempMatch","_currentRules","trackPosition","topState","regexes","flex","pendingInput","activeCondition","conditionStackDepth","pushState","popState","stateStackSize","yyrulenumber","YY_START","simpleCaseActionClusters","inclusive","Parser","ValueParser","cb","bubble","openParentheses","closeParentheses","singleQuote","doubleQuote","backslash","slash","colon","star","quote","escape","escapePos","whitespacePos","tokens","code","balanced","sourceIndex","unclosed","stringifyNode","custom","buf","customResult","EXP","dotted","sciPos","containsNumber","runtime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","GenStateSuspendedStart","method","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","resolve","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","info","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iteratorMethod","isGeneratorFunction","genFun","ctor","mark","awrap","async","Promise","skipTempReset","rootRecord","rval","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis","MapShim","class_1","__entries__","delete","ctx","_a","isBrowser","global$1","requestAnimationFrame$1","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","delay","leadingCall","trailingCall","resolvePending","proxy","timeoutCallback","timeStamp","addObserver","observer","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","broadcastActive","attributes","childList","characterData","subtree","_b","propertyName","getInstance","instance_","defineConfigurable","getWindowOf","defaultView","emptyRect","createRectInit","toFloat","getBordersSize","styles","positions","getHTMLElementContentRect","getComputedStyle","paddings","positions_1","getPaddings","horizPad","vertPad","boxSizing","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","broadcastRect","ResizeObserverEntry","rectInit","Constr","DOMRectReadOnly","createReadOnlyRect","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","unobserve","clearActive","observation","WeakMap","ResizeObserver","_createForOfIteratorHelper","allowArrayLike","it","F","normalCompletion","didErr","_e2"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/8420.cf009fd2.chunk.js b/portal-ui/build/static/js/8420.cf009fd2.chunk.js new file mode 100644 index 000000000..96564ce3b --- /dev/null +++ b/portal-ui/build/static/js/8420.cf009fd2.chunk.js @@ -0,0 +1,3 @@ +/*! For license information please see 8420.cf009fd2.chunk.js.LICENSE.txt */ +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[8420,3143],{95318:function(t){t.exports=function(t){return t&&t.__esModule?t:{default:t}},t.exports.default=t.exports,t.exports.__esModule=!0},84322:function(t,e,n){t.exports=n(31212)},97715:function(t,e){var n;!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var t=[],e=0;eo)if(Math.abs(h*s-l*f)>o&&a){var d=r-c,y=i-u,v=s*s+l*l,g=d*d+y*y,m=Math.sqrt(v),b=Math.sqrt(p),x=a*Math.tan((n-Math.acos((v+p-g)/(2*m*b)))/2),w=x/b,O=x/m;Math.abs(w-1)>o&&(this._+="L"+(t+w*f)+","+(e+w*h)),this._+="A"+a+","+a+",0,0,"+ +(h*d>f*y)+","+(this._x1=t+O*s)+","+(this._y1=e+O*l)}else this._+="L"+(this._x1=t)+","+(this._y1=e);else;},arc:function(t,e,a,c,u,s){t=+t,e=+e,s=!!s;var l=(a=+a)*Math.cos(c),f=a*Math.sin(c),h=t+l,p=e+f,d=1^s,y=s?c-u:u-c;if(a<0)throw new Error("negative radius: "+a);null===this._x1?this._+="M"+h+","+p:(Math.abs(this._x1-h)>o||Math.abs(this._y1-p)>o)&&(this._+="L"+h+","+p),a&&(y<0&&(y=y%r+r),y>i?this._+="A"+a+","+a+",0,1,"+d+","+(t-l)+","+(e-f)+"A"+a+","+a+",0,1,"+d+","+(this._x1=h)+","+(this._y1=p):y>o&&(this._+="A"+a+","+a+",0,"+ +(y>=n)+","+d+","+(this._x1=t+a*Math.cos(u))+","+(this._y1=e+a*Math.sin(u))))},rect:function(t,e,n,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +r+"h"+-n+"Z"},toString:function(){return this._}},e.Z=c},64868:function(t,e,n){"use strict";n.d(e,{Z:function(){return c},x:function(){return s}});var r=n(23430);function o(t,e,n){t=+t,e=+e,n=(o=arguments.length)<2?(e=t,t=0,1):o<3?1:+n;for(var r=-1,o=0|Math.max(0,Math.ceil((e-t)/n)),i=new Array(o);++r(c=(a=Math.ceil(h/7))>c?a+1:c+1)&&(i=c,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for((c=s.length)-(i=l.length)<0&&(i=c,r=l,l=s,s=r),n=0;i;)n=(s[--i]=s[i]+l[i]+n)/y|0,s[i]%=y;for(n&&(s.unshift(n),++o),c=s.length;0==s[--c];)s.pop();return e.d=s,e.e=o,u?M(e,h):e}function x(t,e,n){if(t!==~~t||tn)throw Error(l+t)}function w(t){var e,n,r,o=t.length-1,i="",a=t[0];if(o>0){for(i+=a,e=1;et.e^i.s<0?1:-1;for(e=0,n=(r=i.d.length)<(o=t.d.length)?r:o;et.d[e]^i.s<0?1:-1;return r===o?0:r>o^i.s<0?1:-1},m.decimalPlaces=m.dp=function(){var t=this,e=t.d.length-1,n=7*(e-t.e);if(e=t.d[e])for(;e%10==0;e/=10)n--;return n<0?0:n},m.dividedBy=m.div=function(t){return O(this,new this.constructor(t))},m.dividedToIntegerBy=m.idiv=function(t){var e=this.constructor;return M(O(this,new e(t),0,1),e.precision)},m.equals=m.eq=function(t){return!this.cmp(t)},m.exponent=function(){return E(this)},m.greaterThan=m.gt=function(t){return this.cmp(t)>0},m.greaterThanOrEqualTo=m.gte=function(t){return this.cmp(t)>=0},m.isInteger=m.isint=function(){return this.e>this.d.length-2},m.isNegative=m.isneg=function(){return this.s<0},m.isPositive=m.ispos=function(){return this.s>0},m.isZero=function(){return 0===this.s},m.lessThan=m.lt=function(t){return this.cmp(t)<0},m.lessThanOrEqualTo=m.lte=function(t){return this.cmp(t)<1},m.logarithm=m.log=function(t){var e,n=this,r=n.constructor,o=r.precision,a=o+5;if(void 0===t)t=new r(10);else if((t=new r(t)).s<1||t.eq(i))throw Error(s+"NaN");if(n.s<1)throw Error(s+(n.s?"NaN":"-Infinity"));return n.eq(i)?new r(0):(u=!1,e=O(j(n,a),j(t,a),a),u=!0,M(e,o))},m.minus=m.sub=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?P(e,t):b(e,(t.s=-t.s,t))},m.modulo=m.mod=function(t){var e,n=this,r=n.constructor,o=r.precision;if(!(t=new r(t)).s)throw Error(s+"NaN");return n.s?(u=!1,e=O(n,t,0,1).times(t),u=!0,n.minus(e)):M(new r(n),o)},m.naturalExponential=m.exp=function(){return _(this)},m.naturalLogarithm=m.ln=function(){return j(this)},m.negated=m.neg=function(){var t=new this.constructor(this);return t.s=-t.s||0,t},m.plus=m.add=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?b(e,t):P(e,(t.s=-t.s,t))},m.precision=m.sd=function(t){var e,n,r,o=this;if(void 0!==t&&t!==!!t&&1!==t&&0!==t)throw Error(l+t);if(e=E(o)+1,n=7*(r=o.d.length-1)+1,r=o.d[r]){for(;r%10==0;r/=10)n--;for(r=o.d[0];r>=10;r/=10)n++}return t&&e>n?e:n},m.squareRoot=m.sqrt=function(){var t,e,n,r,o,i,a,c=this,l=c.constructor;if(c.s<1){if(!c.s)return new l(0);throw Error(s+"NaN")}for(t=E(c),u=!1,0==(o=Math.sqrt(+c))||o==1/0?(((e=w(c.d)).length+t)%2==0&&(e+="0"),o=Math.sqrt(e),t=h((t+1)/2)-(t<0||t%2),r=new l(e=o==1/0?"5e"+t:(e=o.toExponential()).slice(0,e.indexOf("e")+1)+t)):r=new l(o.toString()),o=a=(n=l.precision)+3;;)if(r=(i=r).plus(O(c,i,a+2)).times(.5),w(i.d).slice(0,a)===(e=w(r.d)).slice(0,a)){if(e=e.slice(a-3,a+1),o==a&&"4999"==e){if(M(i,n+1,0),i.times(i).eq(c)){r=i;break}}else if("9999"!=e)break;a+=4}return u=!0,M(r,n)},m.times=m.mul=function(t){var e,n,r,o,i,a,c,s,l,f=this,h=f.constructor,p=f.d,d=(t=new h(t)).d;if(!f.s||!t.s)return new h(0);for(t.s*=f.s,n=f.e+t.e,(s=p.length)<(l=d.length)&&(i=p,p=d,d=i,a=s,s=l,l=a),i=[],r=a=s+l;r--;)i.push(0);for(r=l;--r>=0;){for(e=0,o=s+r;o>r;)c=i[o]+d[r]*p[o-r-1]+e,i[o--]=c%y|0,e=c/y|0;i[o]=(i[o]+e)%y|0}for(;!i[--a];)i.pop();return e?++n:i.shift(),t.d=i,t.e=n,u?M(t,h.precision):t},m.toDecimalPlaces=m.todp=function(t,e){var n=this,r=n.constructor;return n=new r(n),void 0===t?n:(x(t,0,a),void 0===e?e=r.rounding:x(e,0,8),M(n,t+E(n)+1,e))},m.toExponential=function(t,e){var n,r=this,o=r.constructor;return void 0===t?n=T(r,!0):(x(t,0,a),void 0===e?e=o.rounding:x(e,0,8),n=T(r=M(new o(r),t+1,e),!0,t+1)),n},m.toFixed=function(t,e){var n,r,o=this,i=o.constructor;return void 0===t?T(o):(x(t,0,a),void 0===e?e=i.rounding:x(e,0,8),n=T((r=M(new i(o),t+E(o)+1,e)).abs(),!1,t+E(r)+1),o.isneg()&&!o.isZero()?"-"+n:n)},m.toInteger=m.toint=function(){var t=this,e=t.constructor;return M(new e(t),E(t)+1,e.rounding)},m.toNumber=function(){return+this},m.toPower=m.pow=function(t){var e,n,r,o,a,c,l=this,f=l.constructor,p=+(t=new f(t));if(!t.s)return new f(i);if(!(l=new f(l)).s){if(t.s<1)throw Error(s+"Infinity");return l}if(l.eq(i))return l;if(r=f.precision,t.eq(i))return M(l,r);if(c=(e=t.e)>=(n=t.d.length-1),a=l.s,c){if((n=p<0?-p:p)<=v){for(o=new f(i),e=Math.ceil(r/7+4),u=!1;n%2&&C((o=o.times(l)).d,e),0!==(n=h(n/2));)C((l=l.times(l)).d,e);return u=!0,t.s<0?new f(i).div(o):M(o,r)}}else if(a<0)throw Error(s+"NaN");return a=a<0&&1&t.d[Math.max(e,n)]?-1:1,l.s=1,u=!1,o=t.times(j(l,r+12)),u=!0,(o=_(o)).s=a,o},m.toPrecision=function(t,e){var n,r,o=this,i=o.constructor;return void 0===t?r=T(o,(n=E(o))<=i.toExpNeg||n>=i.toExpPos):(x(t,1,a),void 0===e?e=i.rounding:x(e,0,8),r=T(o=M(new i(o),t,e),t<=(n=E(o))||n<=i.toExpNeg,t)),r},m.toSignificantDigits=m.tosd=function(t,e){var n=this.constructor;return void 0===t?(t=n.precision,e=n.rounding):(x(t,1,a),void 0===e?e=n.rounding:x(e,0,8)),M(new n(this),t,e)},m.toString=m.valueOf=m.val=m.toJSON=function(){var t=this,e=E(t),n=t.constructor;return T(t,e<=n.toExpNeg||e>=n.toExpPos)};var O=function(){function t(t,e){var n,r=0,o=t.length;for(t=t.slice();o--;)n=t[o]*e+r,t[o]=n%y|0,r=n/y|0;return r&&t.unshift(r),t}function e(t,e,n,r){var o,i;if(n!=r)i=n>r?1:-1;else for(o=i=0;oe[o]?1:-1;break}return i}function n(t,e,n){for(var r=0;n--;)t[n]-=r,r=t[n]1;)t.shift()}return function(r,o,i,a){var c,u,l,f,h,p,d,v,g,m,b,x,w,O,_,S,k,j,A=r.constructor,P=r.s==o.s?1:-1,T=r.d,C=o.d;if(!r.s)return new A(r);if(!o.s)throw Error(s+"Division by zero");for(u=r.e-o.e,k=C.length,_=T.length,v=(d=new A(P)).d=[],l=0;C[l]==(T[l]||0);)++l;if(C[l]>(T[l]||0)&&--u,(x=null==i?i=A.precision:a?i+(E(r)-E(o))+1:i)<0)return new A(0);if(x=x/7+2|0,l=0,1==k)for(f=0,C=C[0],x++;(l<_||f)&&x--;l++)w=f*y+(T[l]||0),v[l]=w/C|0,f=w%C|0;else{for((f=y/(C[0]+1)|0)>1&&(C=t(C,f),T=t(T,f),k=C.length,_=T.length),O=k,m=(g=T.slice(0,k)).length;m=y/2&&++S;do{f=0,(c=e(C,g,k,m))<0?(b=g[0],k!=m&&(b=b*y+(g[1]||0)),(f=b/S|0)>1?(f>=y&&(f=y-1),1==(c=e(h=t(C,f),g,p=h.length,m=g.length))&&(f--,n(h,k16)throw Error(f+E(t));if(!t.s)return new h(i);for(null==e?(u=!1,c=d):c=e,a=new h(.03125);t.abs().gte(.1);)t=t.times(a),l+=5;for(c+=Math.log(p(2,l))/Math.LN10*2+5|0,n=r=o=new h(i),h.precision=c;;){if(r=M(r.times(t),c),n=n.times(++s),w((a=o.plus(O(r,n,c))).d).slice(0,c)===w(o.d).slice(0,c)){for(;l--;)o=M(o.times(o),c);return h.precision=d,null==e?(u=!0,M(o,d)):o}o=a}}function E(t){for(var e=7*t.e,n=t.d[0];n>=10;n/=10)e++;return e}function S(t,e,n){if(e>t.LN10.sd())throw u=!0,n&&(t.precision=n),Error(s+"LN10 precision limit exceeded");return M(new t(t.LN10),e)}function k(t){for(var e="";t--;)e+="0";return e}function j(t,e){var n,r,o,a,c,l,f,h,p,d=1,y=t,v=y.d,g=y.constructor,m=g.precision;if(y.s<1)throw Error(s+(y.s?"NaN":"-Infinity"));if(y.eq(i))return new g(0);if(null==e?(u=!1,h=m):h=e,y.eq(10))return null==e&&(u=!0),S(g,h);if(h+=10,g.precision=h,r=(n=w(v)).charAt(0),a=E(y),!(Math.abs(a)<15e14))return f=S(g,h+2,m).times(a+""),y=j(new g(r+"."+n.slice(1)),h-10).plus(f),g.precision=m,null==e?(u=!0,M(y,m)):y;for(;r<7&&1!=r||1==r&&n.charAt(1)>3;)r=(n=w((y=y.times(t)).d)).charAt(0),d++;for(a=E(y),r>1?(y=new g("0."+n),a++):y=new g(r+"."+n.slice(1)),l=c=y=O(y.minus(i),y.plus(i),h),p=M(y.times(y),h),o=3;;){if(c=M(c.times(p),h),w((f=l.plus(O(c,new g(o),h))).d).slice(0,h)===w(l.d).slice(0,h))return l=l.times(2),0!==a&&(l=l.plus(S(g,h+2,m).times(a+""))),l=O(l,new g(d),h),g.precision=m,null==e?(u=!0,M(l,m)):l;l=f,o+=2}}function A(t,e){var n,r,o;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;48===e.charCodeAt(r);)++r;for(o=e.length;48===e.charCodeAt(o-1);)--o;if(e=e.slice(r,o)){if(o-=r,n=n-r-1,t.e=h(n/7),t.d=[],r=(n+1)%7,n<0&&(r+=7),rg||t.e<-g))throw Error(f+n)}else t.s=0,t.e=0,t.d=[0];return t}function M(t,e,n){var r,o,i,a,c,s,l,d,v=t.d;for(a=1,i=v[0];i>=10;i/=10)a++;if((r=e-a)<0)r+=7,o=e,l=v[d=0];else{if((d=Math.ceil((r+1)/7))>=(i=v.length))return t;for(l=i=v[d],a=1;i>=10;i/=10)a++;o=(r%=7)-7+a}if(void 0!==n&&(c=l/(i=p(10,a-o-1))%10|0,s=e<0||void 0!==v[d+1]||l%i,s=n<4?(c||s)&&(0==n||n==(t.s<0?3:2)):c>5||5==c&&(4==n||s||6==n&&(r>0?o>0?l/p(10,a-o):0:v[d-1])%10&1||n==(t.s<0?8:7))),e<1||!v[0])return s?(i=E(t),v.length=1,e=e-i-1,v[0]=p(10,(7-e%7)%7),t.e=h(-e/7)||0):(v.length=1,v[0]=t.e=t.s=0),t;if(0==r?(v.length=d,i=1,d--):(v.length=d+1,i=p(10,7-r),v[d]=o>0?(l/p(10,a-o)%p(10,o)|0)*i:0),s)for(;;){if(0==d){(v[0]+=i)==y&&(v[0]=1,++t.e);break}if(v[d]+=i,v[d]!=y)break;v[d--]=0,i=1}for(r=v.length;0===v[--r];)v.pop();if(u&&(t.e>g||t.e<-g))throw Error(f+E(t));return t}function P(t,e){var n,r,o,i,a,c,s,l,f,h,p=t.constructor,d=p.precision;if(!t.s||!e.s)return e.s?e.s=-e.s:e=new p(t),u?M(e,d):e;if(s=t.d,h=e.d,r=e.e,l=t.e,s=s.slice(),a=l-r){for((f=a<0)?(n=s,a=-a,c=h.length):(n=h,r=l,c=s.length),a>(o=Math.max(Math.ceil(d/7),c)+2)&&(a=o,n.length=1),n.reverse(),o=a;o--;)n.push(0);n.reverse()}else{for((f=(o=s.length)<(c=h.length))&&(c=o),o=0;o0;--o)s[c++]=0;for(o=h.length;o>a;){if(s[--o]0?i=i.charAt(0)+"."+i.slice(1)+k(r):a>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(o<0?"e":"e+")+o):o<0?(i="0."+k(-o-1)+i,n&&(r=n-a)>0&&(i+=k(r))):o>=a?(i+=k(o+1-a),n&&(r=n-o-1)>0&&(i=i+"."+k(r))):((r=o+1)0&&(o+1===a&&(i+="."),i+=k(r))),t.s<0?"-"+i:i}function C(t,e){if(t.length>e)return t.length=e,!0}function N(t){if(!t||"object"!==typeof t)throw Error(s+"Object expected");var e,n,r,o=["precision",1,a,"rounding",0,8,"toExpNeg",-1/0,0,"toExpPos",0,1/0];for(e=0;e=o[e+1]&&r<=o[e+2]))throw Error(l+n+": "+r);this[n]=r}if(void 0!==(r=t[n="LN10"])){if(r!=Math.LN10)throw Error(l+n+": "+r);this[n]=new this(r)}return this}c=function t(e){var n,r,o;function i(t){var e=this;if(!(e instanceof i))return new i(t);if(e.constructor=i,t instanceof i)return e.s=t.s,e.e=t.e,void(e.d=(t=t.d)?t.slice():t);if("number"===typeof t){if(0*t!==0)throw Error(l+t);if(t>0)e.s=1;else{if(!(t<0))return e.s=0,e.e=0,void(e.d=[0]);t=-t,e.s=-1}return t===~~t&&t<1e7?(e.e=0,void(e.d=[t])):A(e,t.toString())}if("string"!==typeof t)throw Error(l+t);if(45===t.charCodeAt(0)?(t=t.slice(1),e.s=-1):e.s=1,!d.test(t))throw Error(l+t);A(e,t)}if(i.prototype=m,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=t,i.config=i.set=N,void 0===e&&(e={}),e)for(o=["precision","rounding","toExpNeg","toExpPos","LN10"],n=0;n-1}},73923:function(t){t.exports=function(t,e,n){for(var r=-1,o=null==t?0:t.length;++r0&&i(l)?n>1?t(l,n-1,i,a,c):r(c,l):a||(c[c.length]=l)}return c}},93534:function(t){t.exports=function(t,e){return t>e}},57523:function(t,e,n){var r=n(13413),o=n(64765),i=n(18687);t.exports=function(t,e,n){return e===e?i(t,e,n):r(t,o,n)}},64765:function(t){t.exports=function(t){return t!==t}},34342:function(t){t.exports=function(t,e){return to?0:o+e),(n=n>o?o:n)<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;for(var i=Array(o);++r=200){var y=e?null:c(t);if(y)return u(y);h=!1,l=a,d=new r}else d=e?[]:p;t:for(;++s=o?t:r(t,e,n)}},55438:function(t,e,n){var r=n(82913);t.exports=function(t,e){if(t!==e){var n=void 0!==t,o=null===t,i=t===t,a=r(t),c=void 0!==e,u=null===e,s=e===e,l=r(e);if(!u&&!l&&!a&&t>e||a&&c&&s&&!u&&!l||o&&c&&s||!n&&s||!i)return 1;if(!o&&!a&&!l&&t=u?s:s*("desc"==n[o]?-1:1)}return t.index-e.index}},88290:function(t,e,n){var r=n(57423),o=n(63919),i=n(95747),a=n(73865);t.exports=function(t){return function(e){e=a(e);var n=o(e)?i(e):void 0,c=n?n[0]:e.charAt(0),u=n?r(n,1).join(""):e.slice(1);return c[t]()+u}}},45711:function(t,e,n){var r=n(60664),o=n(20196),i=n(88405);t.exports=function(t){return function(e,n,a){var c=Object(e);if(!o(e)){var u=r(n,3);e=i(e),n=function(t){return u(c[t],t,c)}}var s=t(e,n,a);return s>-1?c[u?e[s]:s]:void 0}}},24013:function(t,e,n){var r=n(14817),o=n(33009),i=n(37463);t.exports=function(t){return function(e,n,a){return a&&"number"!=typeof a&&o(e,n,a)&&(n=a=void 0),e=i(e),void 0===n?(n=e,e=0):n=i(n),a=void 0===a?e0){if(++n>=800)return arguments[0]}else n=0;return t.apply(void 0,arguments)}}},18687:function(t){t.exports=function(t,e,n){for(var r=n-1,o=t.length;++r=e||n<0||v&&t-d>=l}function w(){var t=o();if(x(t))return O(t);h=setTimeout(w,function(t){var n=e-(t-p);return v?c(n,l-(t-d)):n}(t))}function O(t){return h=void 0,g&&u?m(t):(u=s=void 0,f)}function _(){var t=o(),n=x(t);if(u=arguments,s=this,p=t,n){if(void 0===h)return b(p);if(v)return clearTimeout(h),h=setTimeout(w,e),m(p)}return void 0===h&&(h=setTimeout(w,e)),f}return e=i(e)||0,r(n)&&(y=!!n.leading,l=(v="maxWait"in n)?a(i(n.maxWait)||0,e):l,g="trailing"in n?!!n.trailing:g),_.cancel=function(){void 0!==h&&clearTimeout(h),d=0,u=p=s=h=void 0},_.flush=function(){return void 0===h?f:O(o())},_}},69087:function(t,e,n){var r=n(75142),o=n(32980),i=n(60664),a=n(85809),c=n(33009);t.exports=function(t,e,n){var u=a(t)?r:o;return n&&c(t,e,n)&&(e=void 0),u(t,i(e,3))}},36312:function(t,e,n){var r=n(45711)(n(68650));t.exports=r},68650:function(t,e,n){var r=n(13413),o=n(60664),i=n(51522),a=Math.max;t.exports=function(t,e,n){var c=null==t?0:t.length;if(!c)return-1;var u=null==n?0:i(n);return u<0&&(u=a(c+u,0)),r(t,o(e,3),u)}},78538:function(t,e,n){var r=n(74338),o=n(2251);t.exports=function(t,e){return r(o(t,e),1)}},2130:function(t,e,n){var r=n(28485),o=n(30135);t.exports=function(t){return!0===t||!1===t||o(t)&&"[object Boolean]"==r(t)}},40386:function(t,e,n){var r=n(3374);t.exports=function(t){return r(t)&&t!=+t}},85686:function(t){t.exports=function(t){return null==t}},3374:function(t,e,n){var r=n(28485),o=n(30135);t.exports=function(t){return"number"==typeof t||o(t)&&"[object Number]"==r(t)}},64364:function(t,e,n){var r=n(28485),o=n(85809),i=n(30135);t.exports=function(t){return"string"==typeof t||!o(t)&&i(t)&&"[object String]"==r(t)}},63816:function(t){t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},2251:function(t,e,n){var r=n(56573),o=n(60664),i=n(62019),a=n(85809);t.exports=function(t,e){return(a(t)?r:i)(t,o(e,3))}},89493:function(t,e,n){var r=n(76660),o=n(55410),i=n(60664);t.exports=function(t,e){var n={};return e=i(e,3),o(t,(function(t,o,i){r(n,o,e(t,o,i))})),n}},98398:function(t,e,n){var r=n(51296),o=n(93534),i=n(10733);t.exports=function(t){return t&&t.length?r(t,i,o):void 0}},71441:function(t,e,n){var r=n(51296),o=n(34342),i=n(10733);t.exports=function(t){return t&&t.length?r(t,i,o):void 0}},79930:function(t){t.exports=function(){}},48905:function(t,e,n){var r=n(81683);t.exports=function(){return r.Date.now()}},7e3:function(t,e,n){var r=n(24013)();t.exports=r},34663:function(t,e,n){var r=n(63190),o=n(60664),i=n(6122),a=n(85809),c=n(33009);t.exports=function(t,e,n){var u=a(t)?r:i;return n&&c(t,e,n)&&(e=void 0),u(t,o(e,3))}},58850:function(t,e,n){var r=n(74338),o=n(53161),i=n(818),a=n(33009),c=i((function(t,e){if(null==t)return[];var n=e.length;return n>1&&a(t,e[0],e[1])?e=[]:n>2&&a(e[0],e[1],e[2])&&(e=[e[0]]),o(t,r(e,1),[])}));t.exports=c},94116:function(t,e,n){var r=n(3143),o=n(74216);t.exports=function(t,e,n){var i=!0,a=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return o(n)&&(i="leading"in n?!!n.leading:i,a="trailing"in n?!!n.trailing:a),r(t,e,{leading:i,maxWait:e,trailing:a})}},37463:function(t,e,n){var r=n(9962),o=1/0;t.exports=function(t){return t?(t=r(t))===o||t===-1/0?17976931348623157e292*(t<0?-1:1):t===t?t:0:0===t?t:0}},51522:function(t,e,n){var r=n(37463);t.exports=function(t){var e=r(t),n=e%1;return e===e?n?e-n:e:0}},9962:function(t,e,n){var r=n(93076),o=n(74216),i=n(82913),a=/^[-+]0x[0-9a-f]+$/i,c=/^0b[01]+$/i,u=/^0o[0-7]+$/i,s=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(i(t))return NaN;if(o(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=o(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=r(t);var n=c.test(t);return n||u.test(t)?s(t.slice(2),n?2:8):a.test(t)?NaN:+t}},80213:function(t,e,n){var r=n(60664),o=n(55104);t.exports=function(t,e){return t&&t.length?o(t,r(e,2)):[]}},54088:function(t,e,n){var r=n(88290)("toUpperCase");t.exports=r},82545:function(t){(function(){var e,n,r,o,i,a;"undefined"!==typeof performance&&null!==performance&&performance.now?t.exports=function(){return performance.now()}:"undefined"!==typeof process&&null!==process&&process.hrtime?(t.exports=function(){return(e()-i)/1e6},n=process.hrtime,o=(e=function(){var t;return 1e9*(t=n())[0]+t[1]})(),a=1e9*process.uptime(),i=o-a):Date.now?(t.exports=function(){return Date.now()-r},r=Date.now()):(t.exports=function(){return(new Date).getTime()-r},r=(new Date).getTime())}).call(this)},30396:function(t,e,n){for(var r=n(82545),o="undefined"===typeof window?n.g:window,i=["moz","webkit"],a="AnimationFrame",c=o["request"+a],u=o["cancel"+a]||o["cancelRequest"+a],s=0;!c&&s=e||n<0||f&&t-s>=i}function v(){var t=q();if(y(t))return g(t);c=setTimeout(v,function(t){var n=e-(t-u);return f?X(n,i-(t-s)):n}(t))}function g(t){return c=void 0,h&&r?p(t):(r=o=void 0,a)}function m(){var t=q(),n=y(t);if(r=arguments,o=this,u=t,n){if(void 0===c)return d(u);if(f)return clearTimeout(c),c=setTimeout(v,e),p(u)}return void 0===c&&(c=setTimeout(v,e)),a}return e=Z(e)||0,G(n)&&(l=!!n.leading,i=(f="maxWait"in n)?Y(Z(n.maxWait)||0,e):i,h="trailing"in n?!!n.trailing:h),m.cancel=function(){void 0!==c&&clearTimeout(c),s=0,r=u=o=c=void 0},m.flush=function(){return void 0===c?a:g(q())},m},K=$,J=y;var Q=function(t,e,n){var r=!0,o=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return J(n)&&(r="leading"in n?!!n.leading:r,o="trailing"in n?!!n.trailing:o),K(t,e,{leading:r,maxWait:e,trailing:o})},tt=function(t,e,n,r){switch(e){case"debounce":return $(t,n,r);case"throttle":return Q(t,n,r);default:return t}},et=function(t){return"function"===typeof t},nt=function(){return"undefined"===typeof window},rt=function(t){return t instanceof Element||t instanceof HTMLDocument},ot=function(t,e,n,r){return function(o){var i=o.width,a=o.height;e((function(e){return e.width===i&&e.height===a||e.width===i&&!r||e.height===a&&!n?e:(t&&et(t)&&t(i,a),{width:i,height:a})}))}},it=function(t){function e(e){var n=t.call(this,e)||this;n.cancelHandler=function(){n.resizeHandler&&n.resizeHandler.cancel&&(n.resizeHandler.cancel(),n.resizeHandler=null)},n.attachObserver=function(){var t=n.props,e=t.targetRef,r=t.observerOptions;if(!nt()){e&&e.current&&(n.targetRef.current=e.current);var o=n.getElement();o&&(n.observableElement&&n.observableElement===o||(n.observableElement=o,n.resizeObserver.observe(o,r)))}},n.getElement=function(){var t=n.props,e=t.querySelector,r=t.targetDomEl;if(nt())return null;if(e)return document.querySelector(e);if(r&&rt(r))return r;if(n.targetRef&&rt(n.targetRef.current))return n.targetRef.current;var o=i.findDOMNode(n);if(!o)return null;switch(n.getRenderType()){case"renderProp":case"childFunction":case"child":case"childArray":return o;default:return o.parentElement}},n.createResizeHandler=function(t){var e=n.props,r=e.handleWidth,o=void 0===r||r,i=e.handleHeight,a=void 0===i||i,c=e.onResize;if(o||a){var u=ot(c,n.setState.bind(n),o,a);t.forEach((function(t){var e=t&&t.contentRect||{},r=e.width,o=e.height;!n.skipOnMount&&!nt()&&u({width:r,height:o}),n.skipOnMount=!1}))}},n.getRenderType=function(){var t=n.props,e=t.render,r=t.children;return et(e)?"renderProp":et(r)?"childFunction":o.isValidElement(r)?"child":Array.isArray(r)?"childArray":"parent"};var r=e.skipOnMount,a=e.refreshMode,c=e.refreshRate,s=void 0===c?1e3:c,l=e.refreshOptions;return n.state={width:void 0,height:void 0},n.skipOnMount=r,n.targetRef=o.createRef(),n.observableElement=null,nt()||(n.resizeHandler=tt(n.createResizeHandler,a,s,l),n.resizeObserver=new u.default(n.resizeHandler)),n}return f(e,t),e.prototype.componentDidMount=function(){this.attachObserver()},e.prototype.componentDidUpdate=function(){this.attachObserver()},e.prototype.componentWillUnmount=function(){nt()||(this.resizeObserver.disconnect(),this.cancelHandler())},e.prototype.render=function(){var t,e=this.props,n=e.render,r=e.children,i=e.nodeType,a=void 0===i?"div":i,c=this.state,u={width:c.width,height:c.height,targetRef:this.targetRef};switch(this.getRenderType()){case"renderProp":return n&&n(u);case"childFunction":return(t=r)(u);case"child":if((t=r).type&&"string"===typeof t.type){var l=p(u,["targetRef"]);return o.cloneElement(t,l)}return o.cloneElement(t,u);case"childArray":return(t=r).map((function(t){return!!t&&o.cloneElement(t,u)}));default:return s.createElement(a,null)}},e}(o.PureComponent);var at=nt()?o.useEffect:o.useLayoutEffect;e.ZP=it},97557:function(t,e,n){"use strict";n.d(e,{ZP:function(){return Et},bO:function(){return O}});var r=n(50390),o=n(70188),i=n.n(o),a=n(70039),c=n(30396),u=n.n(c);function s(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=-1,r=function r(o){n<0&&(n=o),o-n>e?(t(o),n=-1):u()(r)};u()(r)}function l(t){return l="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},l(t)}function f(t){return function(t){if(Array.isArray(t))return t}(t)||function(t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"===typeof t)return h(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return h(t,e)}(t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0&&t<=1}));var l=T(r,i),f=T(o,a),h=C(r,i),p=function(t){return t>1?1:t<0?0:t},d=function(t){for(var e=t>1?1:t,n=e,r=0;r<8;++r){var o=l(n)-e,i=h(n);if(Math.abs(o-e)0&&void 0!==arguments[0]?arguments[0]:{},e=t.stiff,n=void 0===e?100:e,r=t.damping,o=void 0===r?8:r,i=t.dt,a=void 0===i?17:i,c=function(t,e,r){var i=r+(-(t-e)*n-r*o)*a/1e3,c=r*a/1e3+t;return Math.abs(c-e)t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function Y(t){return function(t){if(Array.isArray(t))return X(t)}(t)||function(t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"===typeof t)return X(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return X(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function X(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n0?n[o-1]:r,h=s||Object.keys(u);if("function"===typeof c||"spring"===c)return[].concat(Y(t),[e.runJSAnimation.bind(e,{from:f.style,to:u,duration:i,easing:c}),i]);var p=_(h,i,c),d=K(K(K({},f.style),u),{},{transition:p});return[].concat(Y(t),[d,i,l]).filter(x)}),[a,Math.max(u,r)])),[t.onAnimationEnd]))}},{key:"runAnimation",value:function(t){this.manager||(this.manager=p());var e=t.begin,n=t.duration,r=t.attributeName,o=t.to,i=t.easing,a=t.onAnimationStart,c=t.onAnimationEnd,u=t.steps,s=t.children,l=this.manager;if(this.unSubscribe=l.subscribe(this.handleStyleChange),"function"!==typeof i&&"function"!==typeof s&&"spring"!==i)if(u.length>1)this.runStepAnimation(t);else{var f=r?J({},r,o):o,h=_(Object.keys(f),n,i);l.start([a,e,K(K({},f),{},{transition:h}),n,c])}else this.runJSAnimation(t)}},{key:"handleStyleChange",value:function(t){this.changeStyle(t)}},{key:"changeStyle",value:function(t){this.mounted&&this.setState({style:t})}},{key:"render",value:function(){var t=this.props,e=t.children,n=(t.begin,t.duration,t.attributeName,t.easing,t.isActive),o=(t.steps,t.from,t.to,t.canBegin,t.onAnimationEnd,t.shouldReAnimate,t.onAnimationReStart,Z(t,["children","begin","duration","attributeName","easing","isActive","steps","from","to","canBegin","onAnimationEnd","shouldReAnimate","onAnimationReStart"])),i=r.Children.count(e),a=O(this.state.style);if("function"===typeof e)return e(a);if(!n||0===i)return e;var c=function(t){var e=t.props,n=e.style,i=void 0===n?{}:n,c=e.className;return(0,r.cloneElement)(t,K(K({},o),{},{style:K(K({},i),a),className:c}))};return 1===i?c(r.Children.only(e)):r.createElement("div",null,r.Children.map(e,(function(t){return c(t)})))}}],n&&Q(e.prototype,n),o&&Q(e,o),c}(r.PureComponent);it.displayName="Animate",it.propTypes={from:i().oneOfType([i().object,i().string]),to:i().oneOfType([i().object,i().string]),attributeName:i().string,duration:i().number,begin:i().number,easing:i().oneOfType([i().string,i().func]),steps:i().arrayOf(i().shape({duration:i().number.isRequired,style:i().object.isRequired,easing:i().oneOfType([i().oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),i().func]),properties:i().arrayOf("string"),onAnimationEnd:i().func})),children:i().oneOfType([i().node,i().func]),isActive:i().bool,canBegin:i().bool,onAnimationEnd:i().func,shouldReAnimate:i().bool,onAnimationStart:i().func,onAnimationReStart:i().func},it.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};var at=it,ct=n(84153);function ut(t){return ut="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ut(t)}function st(){return st=Object.assign||function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function ft(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ht(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},e=t.steps,n=t.duration;return e&&e.length?e.reduce((function(t,e){return t+(Number.isFinite(e.duration)&&e.duration>0?e.duration:0)}),0):Number.isFinite(n)?n:0},wt=function(t){!function(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&vt(t,e)}(a,t);var e,n,o,i=gt(a);function a(){var t;dt(this,a);for(var e=arguments.length,n=new Array(e),r=0;r=0||(o[n]=t[n]);return o}(t,["children","in"]),a=r.default.Children.toArray(e),c=a[0],u=a[1];return delete o.onEnter,delete o.onEntering,delete o.onEntered,delete o.onExit,delete o.onExiting,delete o.onExited,r.default.createElement(i.default,o,n?r.default.cloneElement(c,{key:"first",onEnter:this.handleEnter,onEntering:this.handleEntering,onEntered:this.handleEntered}):r.default.cloneElement(u,{key:"second",onEnter:this.handleExit,onEntering:this.handleExiting,onEntered:this.handleExited}))},a}(r.default.Component);c.propTypes={};var u=c;e.default=u,t.exports=e.default},14480:function(t,e,n){"use strict";e.__esModule=!0,e.default=e.EXITING=e.ENTERED=e.ENTERING=e.EXITED=e.UNMOUNTED=void 0;var r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(t,n):{};r.get||r.set?Object.defineProperty(e,n,r):e[n]=t[n]}return e.default=t,e}(n(70188)),o=c(n(50390)),i=c(n(86599)),a=n(19705);n(29149);function c(t){return t&&t.__esModule?t:{default:t}}var u="unmounted";e.UNMOUNTED=u;var s="exited";e.EXITED=s;var l="entering";e.ENTERING=l;var f="entered";e.ENTERED=f;var h="exiting";e.EXITING=h;var p=function(t){var e,n;function r(e,n){var r;r=t.call(this,e,n)||this;var o,i=n.transitionGroup,a=i&&!i.isMounting?e.enter:e.appear;return r.appearStatus=null,e.in?a?(o=s,r.appearStatus=l):o=f:o=e.unmountOnExit||e.mountOnEnter?u:s,r.state={status:o},r.nextCallback=null,r}n=t,(e=r).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n;var a=r.prototype;return a.getChildContext=function(){return{transitionGroup:null}},r.getDerivedStateFromProps=function(t,e){return t.in&&e.status===u?{status:s}:null},a.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},a.componentDidUpdate=function(t){var e=null;if(t!==this.props){var n=this.state.status;this.props.in?n!==l&&n!==f&&(e=l):n!==l&&n!==f||(e=h)}this.updateStatus(!1,e)},a.componentWillUnmount=function(){this.cancelNextCallback()},a.getTimeouts=function(){var t,e,n,r=this.props.timeout;return t=e=n=r,null!=r&&"number"!==typeof r&&(t=r.exit,e=r.enter,n=void 0!==r.appear?r.appear:e),{exit:t,enter:e,appear:n}},a.updateStatus=function(t,e){if(void 0===t&&(t=!1),null!==e){this.cancelNextCallback();var n=i.default.findDOMNode(this);e===l?this.performEnter(n,t):this.performExit(n)}else this.props.unmountOnExit&&this.state.status===s&&this.setState({status:u})},a.performEnter=function(t,e){var n=this,r=this.props.enter,o=this.context.transitionGroup?this.context.transitionGroup.isMounting:e,i=this.getTimeouts(),a=o?i.appear:i.enter;e||r?(this.props.onEnter(t,o),this.safeSetState({status:l},(function(){n.props.onEntering(t,o),n.onTransitionEnd(t,a,(function(){n.safeSetState({status:f},(function(){n.props.onEntered(t,o)}))}))}))):this.safeSetState({status:f},(function(){n.props.onEntered(t)}))},a.performExit=function(t){var e=this,n=this.props.exit,r=this.getTimeouts();n?(this.props.onExit(t),this.safeSetState({status:h},(function(){e.props.onExiting(t),e.onTransitionEnd(t,r.exit,(function(){e.safeSetState({status:s},(function(){e.props.onExited(t)}))}))}))):this.safeSetState({status:s},(function(){e.props.onExited(t)}))},a.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},a.safeSetState=function(t,e){e=this.setNextCallback(e),this.setState(t,e)},a.setNextCallback=function(t){var e=this,n=!0;return this.nextCallback=function(r){n&&(n=!1,e.nextCallback=null,t(r))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},a.onTransitionEnd=function(t,e,n){this.setNextCallback(n);var r=null==e&&!this.props.addEndListener;t&&!r?(this.props.addEndListener&&this.props.addEndListener(t,this.nextCallback),null!=e&&setTimeout(this.nextCallback,e)):setTimeout(this.nextCallback,0)},a.render=function(){var t=this.state.status;if(t===u)return null;var e=this.props,n=e.children,r=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(e,["children"]);if(delete r.in,delete r.mountOnEnter,delete r.unmountOnExit,delete r.appear,delete r.enter,delete r.exit,delete r.timeout,delete r.addEndListener,delete r.onEnter,delete r.onEntering,delete r.onEntered,delete r.onExit,delete r.onExiting,delete r.onExited,"function"===typeof n)return n(t,r);var i=o.default.Children.only(n);return o.default.cloneElement(i,r)},r}(o.default.Component);function d(){}p.contextTypes={transitionGroup:r.object},p.childContextTypes={transitionGroup:function(){}},p.propTypes={},p.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:d,onEntering:d,onEntered:d,onExit:d,onExiting:d,onExited:d},p.UNMOUNTED=0,p.EXITED=1,p.ENTERING=2,p.ENTERED=3,p.EXITING=4;var y=(0,a.polyfill)(p);e.default=y},64075:function(t,e,n){"use strict";e.__esModule=!0,e.default=void 0;var r=c(n(70188)),o=c(n(50390)),i=n(19705),a=n(95527);function c(t){return t&&t.__esModule?t:{default:t}}function u(){return u=Object.assign||function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,["component","childFactory"]),i=l(this.state.children).map(n);return delete r.appear,delete r.enter,delete r.exit,null===e?i:o.default.createElement(e,r,i)},r}(o.default.Component);f.childContextTypes={transitionGroup:r.default.object.isRequired},f.propTypes={},f.defaultProps={component:"div",childFactory:function(t){return t}};var h=(0,i.polyfill)(f);e.default=h,t.exports=e.default},84153:function(t,e,n){"use strict";var r=c(n(65024)),o=c(n(23218)),i=c(n(64075)),a=c(n(14480));function c(t){return t&&t.__esModule?t:{default:t}}t.exports={Transition:a.default,TransitionGroup:i.default,ReplaceTransition:o.default,CSSTransition:r.default}},95527:function(t,e,n){"use strict";e.__esModule=!0,e.getChildMapping=o,e.mergeChildMappings=i,e.getInitialChildMapping=function(t,e){return o(t.children,(function(n){return(0,r.cloneElement)(n,{onExited:e.bind(null,n),in:!0,appear:a(n,"appear",t),enter:a(n,"enter",t),exit:a(n,"exit",t)})}))},e.getNextChildMapping=function(t,e,n){var c=o(t.children),u=i(e,c);return Object.keys(u).forEach((function(o){var i=u[o];if((0,r.isValidElement)(i)){var s=o in e,l=o in c,f=e[o],h=(0,r.isValidElement)(f)&&!f.props.in;!l||s&&!h?l||!s||h?l&&s&&(0,r.isValidElement)(f)&&(u[o]=(0,r.cloneElement)(i,{onExited:n.bind(null,i),in:f.props.in,exit:a(i,"exit",t),enter:a(i,"enter",t)})):u[o]=(0,r.cloneElement)(i,{in:!1}):u[o]=(0,r.cloneElement)(i,{onExited:n.bind(null,i),in:!0,exit:a(i,"exit",t),enter:a(i,"enter",t)})}})),u};var r=n(50390);function o(t,e){var n=Object.create(null);return t&&r.Children.map(t,(function(t){return t})).forEach((function(t){n[t.key]=function(t){return e&&(0,r.isValidElement)(t)?e(t):t}(t)})),n}function i(t,e){function n(n){return n in e?e[n]:t[n]}t=t||{},e=e||{};var r,o=Object.create(null),i=[];for(var a in t)a in e?i.length&&(o[a]=i,i=[]):i.push(a);var c={};for(var u in e){if(o[u])for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function T(){return T=Object.assign||function(t){for(var e=1;e0||!o()(u,r)||!o()(s,i))?this.renderAreaWithAnimation(t,e):this.renderAreaStatically(r,i,t,e)}},{key:"render",value:function(){var t=this.props,e=t.hide,n=t.dot,r=t.points,o=t.className,i=t.top,a=t.left,c=t.xAxis,u=t.yAxis,s=t.width,l=t.height,f=t.isAnimationActive,h=t.id;if(e||!r||!r.length)return null;var p=this.state.isAnimationFinished,y=1===r.length,v=b()("recharts-area",o),m=c&&c.allowDataOverflow||u&&u.allowDataOverflow,x=d()(h)?this.id:h;return g.createElement(_.m,{className:v},m?g.createElement("defs",null,g.createElement("clipPath",{id:"clipPath-".concat(x)},g.createElement("rect",{x:a,y:i,width:s,height:Math.floor(l)}))):null,y?null:this.renderArea(m,x),(n||y)&&this.renderDots(m,x),(!f||p)&&E.e.renderCallByParent(this.props,r))}}])&&R(e.prototype,n),r&&R(e,r),c}(g.PureComponent);z.displayName="Area",z.defaultProps={stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!S.x.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"},z.getBaseValue=function(t,e,n){var r=t.layout,o=t.baseValue;if((0,k.hj)(o)&&"number"===typeof o)return o;var i="horizontal"===r?n:e,a=i.scale.domain();if("number"===i.type){var c=Math.max(a[0],a[1]),u=Math.min(a[0],a[1]);return"dataMin"===o?u:"dataMax"===o||c<0?c:Math.max(Math.min(a[0],a[1]),0)}return"dataMin"===o?a[0]:"dataMax"===o?a[1]:a[0]},z.getComposedData=function(t){var e,n=t.props,r=t.xAxis,o=t.yAxis,i=t.xAxisTicks,a=t.yAxisTicks,c=t.bandSize,u=t.dataKey,s=t.stackedData,l=t.dataStartIndex,f=t.displayedData,p=t.offset,y=n.layout,g=s&&s.length,m=z.getBaseValue(n,r,o),b=!1,x=f.map((function(t,e){var n,f=(0,j.F$)(t,u);g?n=s[l+e]:(n=f,v()(n)?b=!0:n=[m,n]);var h=d()(n[1])||g&&d()(f);return"horizontal"===y?{x:(0,j.Hv)({axis:r,ticks:i,bandSize:c,entry:t,index:e}),y:h?null:o.scale(n[1]),value:n,payload:t}:{x:h?null:r.scale(n[1]),y:(0,j.Hv)({axis:o,ticks:a,bandSize:c,entry:t,index:e}),value:n,payload:t}}));return e=g||b?x.map((function(t){return"horizontal"===y?{x:t.x,y:d()(h()(t,"value[0]"))||d()(h()(t,"y"))?null:o.scale(h()(t,"value[0]"))}:{x:d()(h()(t,"value[0]"))?null:r.scale(h()(t,"value[0]")),y:t.y}})):"horizontal"===y?o.scale(m):r.scale(m),N({points:x,baseLine:e,layout:y,isRange:b},p)},z.renderDotItem=function(t,e){return g.isValidElement(t)?g.cloneElement(t,e):l()(t)?t(e):g.createElement(O.o,T({},e,{className:"recharts-area-dot"}))}},84930:function(t,e,n){"use strict";n.d(e,{q:function(){return x}});var r=n(66071),o=n.n(r),i=n(50390),a=n(30631),c=n(54183);function u(t){return u="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},u(t)}function s(){return s=Object.assign||function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function f(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function h(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function rt(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ot(t,e){for(var n=0;n=2?(0,T.uY)(v[1].coordinate-v[0].coordinate):1;if(1===b?(n="width"===y?f:h,r="width"===y?f+p:h+d):(n="width"===y?f+p:h+d,r="width"===y?f:h),e){var x=o[m-1],w=u()(i)?i(x.value,m-1):x.value,O=(0,Z.xE)(w)[y]+g,_=b*(x.coordinate+b*O/2-r);v[m-1]=x=tt(tt({},x),{},{tickCoord:_>0?x.coordinate-_*b:x.coordinate}),b*(x.tickCoord-b*O/2-n)>=0&&b*(x.tickCoord+b*O/2-r)<=0&&(r=x.tickCoord-b*(O/2+s),v[m-1]=tt(tt({},x),{},{isShow:!0}))}for(var E=e?m-1:m,S=0;S=0&&b*(k.tickCoord+b*A/2-r)<=0&&(n=k.tickCoord+b*(A/2+s),v[S]=tt(tt({},k),{},{isShow:!0}))}return v.filter((function(t){return t.isShow}))}},{key:"getTicksEnd",value:function(t){var e,n,r=t.ticks,o=t.tickFormatter,i=t.viewBox,a=t.orientation,c=t.minTickGap,s=t.unit,l=i.x,f=i.y,h=i.width,p=i.height,d="top"===a||"bottom"===a?"width":"height",y=s&&"width"===d?(0,Z.xE)(s)[d]:0,v=(r||[]).slice(),g=v.length,m=g>=2?(0,T.uY)(v[1].coordinate-v[0].coordinate):1;1===m?(e="width"===d?l:f,n="width"===d?l+h:f+p):(e="width"===d?l+h:f+p,n="width"===d?l:f);for(var b=g-1;b>=0;b--){var x=v[b],w=u()(o)?o(x.value,g-b-1):x.value,O=(0,Z.xE)(w)[d]+y;if(b===g-1){var _=m*(x.coordinate+m*O/2-n);v[b]=x=tt(tt({},x),{},{tickCoord:_>0?x.coordinate-_*m:x.coordinate})}else v[b]=x=tt(tt({},x),{},{tickCoord:x.coordinate});m*(x.tickCoord-m*O/2-e)>=0&&m*(x.tickCoord+m*O/2-n)<=0&&(n=x.tickCoord-m*(O/2+c),v[b]=tt(tt({},x),{},{isShow:!0}))}return v.filter((function(t){return t.isShow}))}},{key:"renderTickItem",value:function(t,e,n){return _.isValidElement(t)?_.cloneElement(t,e):u()(t)?t(e):_.createElement(Y.x,J({},e,{className:"recharts-cartesian-axis-tick-value"}),n)}}],(n=[{key:"shouldComponentUpdate",value:function(t){var e=t.viewBox,n=nt(t,["viewBox"]),r=this.props,o=r.viewBox,i=nt(r,["viewBox"]);return!(0,q.w)(e,o)||!(0,q.w)(n,i)}},{key:"getTickLineCoord",value:function(t){var e,n,r,o,i,a,c=this.props,u=c.x,s=c.y,l=c.width,f=c.height,h=c.orientation,p=c.tickSize,d=c.mirror,y=c.tickMargin,v=d?-1:1,g=t.tickSize||p,m=(0,T.hj)(t.tickCoord)?t.tickCoord:t.coordinate;switch(h){case"top":e=n=t.coordinate,a=(r=(o=s+ +!d*f)-v*g)-v*y,i=m;break;case"left":r=o=t.coordinate,i=(e=(n=u+ +!d*l)-v*g)-v*y,a=m;break;case"right":r=o=t.coordinate,i=(e=(n=u+ +d*l)+v*g)+v*y,a=m;break;default:e=n=t.coordinate,a=(r=(o=s+ +d*f)+v*g)+v*y,i=m}return{line:{x1:e,y1:r,x2:n,y2:o},tick:{x:i,y:a}}}},{key:"getTickTextAnchor",value:function(){var t,e=this.props,n=e.orientation,r=e.mirror;switch(n){case"left":t=r?"start":"end";break;case"right":t=r?"end":"start";break;default:t="middle"}return t}},{key:"getTickVerticalAnchor",value:function(){var t=this.props,e=t.orientation,n=t.mirror,r="end";switch(e){case"left":case"right":r="middle";break;case"top":r=n?"start":"end";break;default:r=n?"end":"start"}return r}},{key:"renderAxisLine",value:function(){var t=this.props,e=t.x,n=t.y,r=t.width,o=t.height,i=t.orientation,a=t.mirror,c=t.axisLine,u=tt(tt(tt({},(0,C.L6)(this.props)),(0,C.L6)(c)),{},{fill:"none"});if("top"===i||"bottom"===i){var s=+("top"===i&&!a||"bottom"===i&&a);u=tt(tt({},u),{},{x1:e,y1:n+s*o,x2:e+r,y2:n+s*o})}else{var l=+("left"===i&&!a||"right"===i&&a);u=tt(tt({},u),{},{x1:e+l*r,y1:n,x2:e+l*r,y2:n+o})}return _.createElement("line",J({},u,{className:S()("recharts-cartesian-axis-line",d()(c,"className"))}))}},{key:"renderTicks",value:function(t){var e=this,n=this.props,r=n.tickLine,o=n.stroke,a=n.tick,c=n.tickFormatter,s=n.unit,l=i.getTicks(tt(tt({},this.props),{},{ticks:t})),f=this.getTickTextAnchor(),h=this.getTickVerticalAnchor(),p=(0,C.L6)(this.props),y=(0,C.L6)(a),v=tt(tt({},p),{},{fill:"none"},(0,C.L6)(r)),g=l.map((function(t,n){var g=e.getTickLineCoord(t),m=g.line,b=g.tick,x=tt(tt(tt(tt({textAnchor:f,verticalAnchor:h},p),{},{stroke:"none",fill:o},y),b),{},{index:n,payload:t,visibleTicksCount:l.length,tickFormatter:c});return _.createElement(j.m,J({className:"recharts-cartesian-axis-tick",key:"tick-".concat(n)},(0,C.bw)(e.props,t,n)),r&&_.createElement("line",J({},v,m,{className:S()("recharts-cartesian-axis-tick-line",d()(r,"className"))})),a&&i.renderTickItem(a,x,"".concat(u()(c)?c(t.value,n):t.value).concat(s||"")))}));return _.createElement("g",{className:"recharts-cartesian-axis-ticks"},g)}},{key:"render",value:function(){var t=this.props,e=t.axisLine,n=t.width,r=t.height,o=t.ticksGenerator,i=t.className;if(t.hide)return null;var a=this.props,c=a.ticks,s=nt(a,["ticks"]),l=c;return u()(o)&&(l=c&&c.length>0?o(this.props):o(s)),n<=0||r<=0||!l||!l.length?null:_.createElement(j.m,{className:S()("recharts-cartesian-axis",i)},e&&this.renderAxisLine(),this.renderTicks(l),X._.renderCallByParent(this.props))}}])&&ot(e.prototype,n),r&&ot(e,r),i}(_.Component);st.displayName="CartesianAxis",st.defaultProps={x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"};var lt=n(64868),ft=n(46154);function ht(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function pt(t){for(var e=1;e0&&e.handleDrag(t.changedTouches[0])},e.handleDragEnd=function(){e.setState({isTravellerMoving:!1,isSlideMoving:!1}),e.detachDragEndListener()},e.handleLeaveWrapper=function(){(e.state.isTravellerMoving||e.state.isSlideMoving)&&(e.leaveTimer=window.setTimeout(e.handleDragEnd,e.props.leaveTimeOut))},e.handleEnterSlideOrTraveller=function(){e.setState({isTextActive:!0})},e.handleLeaveSlideOrTraveller=function(){e.setState({isTextActive:!1})},e.handleSlideDragStart=function(t){var n=jt(t)?t.changedTouches[0]:t;e.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:n.pageX}),e.attachDragEndListener()},e.travellerDragStartHandlers={startX:e.handleTravellerDragStart.bind(St(e),"startX"),endX:e.handleTravellerDragStart.bind(St(e),"endX")},e.state={},e}return e=i,r=[{key:"renderDefaultTraveller",value:function(t){var e=t.x,n=t.y,r=t.width,o=t.height,i=t.stroke,a=Math.floor(n+o/2)-1;return _.createElement(_.Fragment,null,_.createElement("rect",{x:e,y:n,width:r,height:o,fill:i,stroke:"none"}),_.createElement("line",{x1:e+1,y1:a,x2:e+r-1,y2:a,fill:"none",stroke:"#fff"}),_.createElement("line",{x1:e+1,y1:a+2,x2:e+r-1,y2:a+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(t,e){return _.isValidElement(t)?_.cloneElement(t,e):u()(t)?t(e):i.renderDefaultTraveller(e)}},{key:"getDerivedStateFromProps",value:function(t,e){var n=t.data,r=t.width,o=t.x,i=t.travellerWidth,a=t.updateId,c=t.startIndex,u=t.endIndex;if(n!==e.prevData||a!==e.prevUpdateId)return bt({prevData:n,prevTravellerWidth:i,prevUpdateId:a,prevX:o,prevWidth:r},n&&n.length?function(t){var e=t.data,n=t.startIndex,r=t.endIndex,o=t.x,i=t.width,a=t.travellerWidth;if(!e||!e.length)return{};var c=e.length,u=(0,lt.x)().domain(v()(0,c)).range([o,o+i-a]),s=u.domain().map((function(t){return u(t)}));return{isTextActive:!1,isSlideMoving:!1,isTravellerMoving:!1,startX:u(n),endX:u(r),scale:u,scaleValues:s}}({data:n,width:r,x:o,travellerWidth:i,startIndex:c,endIndex:u}):{scale:null,scaleValues:null});if(e.scale&&(r!==e.prevWidth||o!==e.prevX||i!==e.prevTravellerWidth)){e.scale.range([o,o+r-i]);var s=e.scale.domain().map((function(t){return e.scale(t)}));return{prevData:n,prevTravellerWidth:i,prevUpdateId:a,prevX:o,prevWidth:r,startX:e.scale(t.startIndex),endX:e.scale(t.endIndex),scaleValues:s}}return null}},{key:"getIndexInRange",value:function(t,e){for(var n=0,r=t.length-1;r-n>1;){var o=Math.floor((n+r)/2);t[o]>e?r=o:n=o}return e>=t[r]?r:n}}],(n=[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(t){var e=t.startX,n=t.endX,r=this.state.scaleValues,o=this.props,a=o.gap,c=o.data.length-1,u=Math.min(e,n),s=Math.max(e,n),l=i.getIndexInRange(r,u),f=i.getIndexInRange(r,s);return{startIndex:l-l%a,endIndex:f===c?c:f-f%a}}},{key:"getTextOfTick",value:function(t){var e=this.props,n=e.data,r=e.tickFormatter,o=e.dataKey,i=(0,ft.F$)(n[t],o,t);return u()(r)?r(i,t):i}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0)}},{key:"handleSlideDrag",value:function(t){var e=this.state,n=e.slideMoveStartX,r=e.startX,o=e.endX,i=this.props,a=i.x,c=i.width,u=i.travellerWidth,s=i.startIndex,l=i.endIndex,f=i.onChange,h=t.pageX-n;h>0?h=Math.min(h,a+c-u-o,a+c-u-r):h<0&&(h=Math.max(h,a-r,a-o));var p=this.getIndex({startX:r+h,endX:o+h});p.startIndex===s&&p.endIndex===l||!f||f(p),this.setState({startX:r+h,endX:o+h,slideMoveStartX:t.pageX})}},{key:"handleTravellerDragStart",value:function(t,e){var n=jt(e)?e.changedTouches[0]:e;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:t,brushMoveStartX:n.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(t){var e,n=this.state,r=n.brushMoveStartX,o=n.movingTravellerId,i=n.endX,a=n.startX,c=this.state[o],u=this.props,s=u.x,l=u.width,f=u.travellerWidth,h=u.onChange,p=u.gap,d=u.data,y={startX:this.state.startX,endX:this.state.endX},v=t.pageX-r;v>0?v=Math.min(v,s+l-f-c):v<0&&(v=Math.max(v,s-c)),y[o]=c+v;var g=this.getIndex(y),m=g.startIndex,b=g.endIndex;this.setState((xt(e={},o,c+v),xt(e,"brushMoveStartX",t.pageX),e),(function(){h&&function(){var t=d.length-1;return"startX"===o&&(i>a?m%p===0:b%p===0)||ia?b%p===0:m%p===0)||i>a&&b===t}()&&h(g)}))}},{key:"renderBackground",value:function(){var t=this.props,e=t.x,n=t.y,r=t.width,o=t.height,i=t.fill,a=t.stroke;return _.createElement("rect",{stroke:a,fill:i,x:e,y:n,width:r,height:o})}},{key:"renderPanorama",value:function(){var t=this.props,e=t.x,n=t.y,r=t.width,o=t.height,i=t.data,a=t.children,c=t.padding,u=_.Children.only(a);return u?_.cloneElement(u,{x:e,y:n,width:r,height:o,margin:c,compact:!0,data:i}):null}},{key:"renderTravellerLayer",value:function(t,e){var n=this.props,r=n.y,o=n.travellerWidth,a=n.height,c=n.traveller,u=Math.max(t,this.props.x),s=bt(bt({},(0,C.L6)(this.props)),{},{x:u,y:r,width:o,height:a});return _.createElement(j.m,{className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[e],onTouchStart:this.travellerDragStartHandlers[e],style:{cursor:"col-resize"}},i.renderTraveller(c,s))}},{key:"renderSlide",value:function(t,e){var n=this.props,r=n.y,o=n.height,i=n.stroke,a=n.travellerWidth,c=Math.min(t,e)+a,u=Math.max(Math.abs(e-t)-a,0);return _.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:i,fillOpacity:.2,x:c,y:r,width:u,height:o})}},{key:"renderText",value:function(){var t=this.props,e=t.startIndex,n=t.endIndex,r=t.y,o=t.height,i=t.travellerWidth,a=t.stroke,c=this.state,u=c.startX,s=c.endX,l={pointerEvents:"none",fill:a};return _.createElement(j.m,{className:"recharts-brush-texts"},_.createElement(Y.x,gt({textAnchor:"end",verticalAnchor:"middle",x:Math.min(u,s)-5,y:r+o/2},l),this.getTextOfTick(e)),_.createElement(Y.x,gt({textAnchor:"start",verticalAnchor:"middle",x:Math.max(u,s)+i+5,y:r+o/2},l),this.getTextOfTick(n)))}},{key:"render",value:function(){var t=this.props,e=t.data,n=t.className,r=t.children,o=t.x,i=t.y,a=t.width,c=t.height,u=t.alwaysShowText,s=this.state,l=s.startX,f=s.endX,h=s.isTextActive,p=s.isSlideMoving,d=s.isTravellerMoving;if(!e||!e.length||!(0,T.hj)(o)||!(0,T.hj)(i)||!(0,T.hj)(a)||!(0,T.hj)(c)||a<=0||c<=0)return null;var y=S()("recharts-brush",n),v=1===_.Children.count(r),g=function(t,e){if(!t)return null;var n=t.replace(/(\w)/,(function(t){return t.toUpperCase()})),r=yt.reduce((function(t,r){return pt(pt({},t),{},dt({},r+n,e))}),{});return r[t]=e,r}("userSelect","none");return _.createElement(j.m,{className:y,onMouseMove:this.handleDrag,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:g},this.renderBackground(),v&&this.renderPanorama(),this.renderSlide(l,f),this.renderTravellerLayer(l,"startX"),this.renderTravellerLayer(f,"endX"),(h||p||d||u)&&this.renderText())}}])&&wt(e.prototype,n),r&&wt(e,r),i}(_.PureComponent);At.displayName="Brush",At.defaultProps={height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1};var Mt=function(t,e){var n=t.alwaysShow,r=t.ifOverflow;return n&&(r="extendDomain"),r===e},Pt=n(49773),Tt=n(17818);function Ct(){return Ct=Object.assign||function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function ae(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n0?a:n&&n.props&&n.props.data&&n.props.data.length>0?n.props.data:t&&t.length&&(0,T.hj)(o)&&(0,T.hj)(i)?t.slice(o,i+1):[]},Ee=function(t,e,n,r){var o=t.graphicalItems,i=t.tooltipAxis,a=_e(e,t);return n<0||!o||!o.length||n>=a.length?null:o.reduce((function(t,e){if(e.props.hide)return t;var o,c=e.props.data;if(i.dataKey&&!i.allowDuplicatedCategory){var u=void 0===c?a:c;o=(0,T.Ap)(u,i.dataKey,r)}else o=c&&c[n]||a[n];return o?[].concat(he(t),[(0,ft.Qo)(e,o)]):t}),[])},Se=function(t,e,n,r){var o=r||{x:t.chartX,y:t.chartY},i=function(t,e){return"horizontal"===e?t.x:"vertical"===e?t.y:"centric"===e?t.angle:t.radius}(o,n),a=t.orderedTooltipTicks,c=t.tooltipAxis,u=t.tooltipTicks,s=(0,ft.VO)(i,a,u,c);if(s>=0&&u){var l=u[s]&&u[s].value,f=Ee(t,e,s,l),h=function(t,e,n,r){var o=e.find((function(t){return t&&t.index===n}));if(o){if("horizontal"===t)return{x:o.coordinate,y:r.y};if("vertical"===t)return{x:r.x,y:o.coordinate};if("centric"===t){var i=o.coordinate,a=r.radius;return ve(ve(ve({},r),(0,Jt.op)(r.cx,r.cy,a,i)),{},{angle:i,radius:a})}var c=o.coordinate,u=r.angle;return ve(ve(ve({},r),(0,Jt.op)(r.cx,r.cy,c,u)),{},{angle:u,radius:c})}return be}(n,a,s,o);return{activeTooltipIndex:s,activeLabel:l,activePayload:f,activeCoordinate:h}}return null},ke=function(t,e){var n=e.axisType,r=void 0===n?"xAxis":n,o=e.AxisComp,i=e.graphicalItems,a=e.stackGroups,c=e.dataStartIndex,u=e.dataEndIndex,s=t.children,l="".concat(r,"Id"),f=(0,G.NN)(s,o),h={};return f&&f.length?h=function(t,e){var n=e.axes,r=e.graphicalItems,o=e.axisType,i=e.axisIdKey,a=e.stackGroups,c=e.dataStartIndex,u=e.dataEndIndex,s=t.layout,l=t.children,f=t.stackOffset,h=(0,ft.NA)(s,o);return n.reduce((function(e,n){var p=n.props,d=p.type,y=p.dataKey,g=p.allowDataOverflow,b=p.allowDuplicatedCategory,x=p.scale,w=p.ticks,O=n.props[i],_=_e(t.data,{graphicalItems:r.filter((function(t){return t.props[i]===O})),dataStartIndex:c,dataEndIndex:u}),E=_.length;if(!e[O]){var S,k,j;if(y){if(S=(0,ft.gF)(_,y,d),"category"===d&&h){var A=(0,T.bv)(S);b&&A?(k=S,S=v()(0,E)):b||(S=(0,ft.ko)(n.props.domain,S,n).reduce((function(t,e){return t.indexOf(e)>=0?t:[].concat(he(t),[e])}),[]))}else if("category"===d)S=b?S.filter((function(t){return""!==t&&!m()(t)})):(0,ft.ko)(n.props.domain,S,n).reduce((function(t,e){return t.indexOf(e)>=0||""===e||m()(e)?t:[].concat(he(t),[e])}),[]);else if("number"===d){var M=(0,ft.ZI)(_,r.filter((function(t){return t.props[i]===O&&!t.props.hide})),y,o);M&&(S=M)}!h||"number"!==d&&"auto"===x||(j=(0,ft.gF)(_,y,"category"))}else S=h?v()(0,E):a&&a[O]&&a[O].hasStack&&"number"===d?"expand"===f?[0,1]:(0,ft.EB)(a[O].stackGroups,c,u):(0,ft.s6)(_,r.filter((function(t){return t.props[i]===O&&!t.props.hide})),d,!0);if("number"===d)S=Kt(l,S,O,o,w),n.props.domain&&(S=(0,ft.LG)(n.props.domain,S,g));else if("category"===d&&n.props.domain){var P=n.props.domain;S.every((function(t){return P.indexOf(t)>=0}))&&(S=P)}return ve(ve({},e),{},ge({},O,ve(ve({},n.props),{},{axisType:o,domain:S,categoricalDomain:j,duplicateDomain:k,originalDomain:n.props.domain,isCategorical:h,layout:s})))}return e}),{})}(t,{axes:f,graphicalItems:i,axisType:r,axisIdKey:l,stackGroups:a,dataStartIndex:c,dataEndIndex:u}):i&&i.length&&(h=function(t,e){var n=e.graphicalItems,r=e.Axis,o=e.axisType,i=e.axisIdKey,a=e.stackGroups,c=e.dataStartIndex,u=e.dataEndIndex,s=t.layout,l=t.children,f=_e(t.data,{graphicalItems:n,dataStartIndex:c,dataEndIndex:u}),h=f.length,p=(0,ft.NA)(s,o),y=-1;return n.reduce((function(t,e){var g,m=e.props[i];return t[m]?t:(y++,p?g=v()(0,h):a&&a[m]&&a[m].hasStack?(g=(0,ft.EB)(a[m].stackGroups,c,u),g=Kt(l,g,m,o)):(g=(0,ft.LG)(r.defaultProps.domain,(0,ft.s6)(f,n.filter((function(t){return t.props[i]===m&&!t.props.hide})),"number"),r.defaultProps.allowDataOverflow),g=Kt(l,g,m,o)),ve(ve({},t),{},ge({},m,ve(ve({axisType:o},r.defaultProps),{},{hide:!0,orientation:d()(me,"".concat(o,".").concat(y%2),null),domain:g,originalDomain:r.defaultProps.domain,isCategorical:p,layout:s}))))}),{})}(t,{Axis:o,graphicalItems:i,axisType:r,axisIdKey:l,stackGroups:a,dataStartIndex:c,dataEndIndex:u})),h},je=function(t){var e=t.children,n=t.defaultShowTooltip,r=(0,G.sP)(e,At.displayName);return{chartX:0,chartY:0,dataStartIndex:r&&r.props&&r.props.startIndex||0,dataEndIndex:r&&r.props&&r.props.endIndex||t.data&&t.data.length-1||0,activeTooltipIndex:-1,isTooltipActive:!m()(n)&&n}},Ae=function(t){return"horizontal"===t?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:"vertical"===t?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:"centric"===t?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},Me=function(t){var e,n,r=t.chartName,i=t.GraphicalChild,c=t.defaultTooltipEventType,s=void 0===c?"axis":c,f=t.validateTooltipEventTypes,p=void 0===f?["axis"]:f,y=t.axisComponents,v=t.legendContent,g=t.formatAxisMap,b=t.defaultProps,w=function(t,e){var n=e.graphicalItems,r=e.stackGroups,o=e.offset,i=e.updateId,a=e.dataStartIndex,c=e.dataEndIndex,u=t.barSize,s=t.layout,l=t.barGap,f=t.barCategoryGap,h=t.maxBarSize,p=Ae(s),d=p.numericAxisName,v=p.cateAxisName,g=function(t){return!(!t||!t.length)&&t.some((function(t){var e=(0,G.Gf)(t&&t.type);return e&&e.indexOf("Bar")>=0}))}(n),b=g&&(0,ft.pt)({barSize:u,stackGroups:r}),x=[];return n.forEach((function(n,u){var p=_e(t.data,{dataStartIndex:a,dataEndIndex:c},n),g=n.props,w=g.dataKey,O=g.maxBarSize,_=n.props["".concat(d,"Id")],E=n.props["".concat(v,"Id")],S=y.reduce((function(t,r){var o,i=e["".concat(r.axisType,"Map")],a=n.props["".concat(r.axisType,"Id")],c=i&&i[a];return ve(ve({},t),{},(ge(o={},r.axisType,c),ge(o,"".concat(r.axisType,"Ticks"),(0,ft.uY)(c)),o))}),{}),k=S[v],j=S["".concat(v,"Ticks")],A=r&&r[_]&&r[_].hasStack&&(0,ft.O3)(n,r[_].stackGroups),M=(0,G.Gf)(n.type).indexOf("Bar")>=0,P=(0,ft.zT)(k,j),T=[];if(M){var C,N,I=m()(O)?h:O,D=null!==(C=null!==(N=(0,ft.zT)(k,j,!0))&&void 0!==N?N:I)&&void 0!==C?C:0;T=(0,ft.qz)({barGap:l,barCategoryGap:f,bandSize:D!==P?D:P,sizeList:b[E],maxBarSize:I}),D!==P&&(T=T.map((function(t){return ve(ve({},t),{},{position:ve(ve({},t.position),{},{offset:t.position.offset-D/2})})})))}var R,L=n&&n.type&&n.type.getComposedData;L&&x.push({props:ve(ve({},L(ve(ve({},S),{},{displayedData:p,props:t,dataKey:w,item:n,bandSize:P,barPosition:T,offset:o,stackedData:A,layout:s,dataStartIndex:a,dataEndIndex:c}))),{},(R={key:n.key||"item-".concat(u)},ge(R,d,S[d]),ge(R,v,S[v]),ge(R,"animationId",i),R)),childIndex:(0,G.$R)(n,t.children),item:n})})),x},E=function(t,e){var n=t.props,o=t.dataStartIndex,a=t.dataEndIndex,c=t.updateId;if(!(0,G.TT)({props:n}))return null;var u=n.children,s=n.layout,l=n.stackOffset,f=n.data,p=n.reverseStackOrder,v=Ae(s),m=v.numericAxisName,b=v.cateAxisName,x=(0,G.NN)(u,i),O=(0,ft.wh)(f,x,"".concat(m,"Id"),"".concat(b,"Id"),l,p),_=y.reduce((function(t,e){var r="".concat(e.axisType,"Map");return ve(ve({},t),{},ge({},r,ke(n,ve(ve({},e),{},{graphicalItems:x,stackGroups:e.axisType===m&&O,dataStartIndex:o,dataEndIndex:a}))))}),{}),E=function(t,e){var n=t.props,r=t.graphicalItems,o=t.xAxisMap,i=void 0===o?{}:o,a=t.yAxisMap,c=void 0===a?{}:a,u=n.width,s=n.height,l=n.children,f=n.margin||{},h=(0,G.sP)(l,At.displayName),p=(0,G.sP)(l,M.D.displayName),y=Object.keys(c).reduce((function(t,e){var n=c[e],r=n.orientation;return n.mirror||n.hide?t:ve(ve({},t),{},ge({},r,t[r]+n.width))}),{left:f.left||0,right:f.right||0}),v=Object.keys(i).reduce((function(t,e){var n=i[e],r=n.orientation;return n.mirror||n.hide?t:ve(ve({},t),{},ge({},r,d()(t,"".concat(r))+n.height))}),{top:f.top||0,bottom:f.bottom||0}),g=ve(ve({},v),y),m=g.bottom;return h&&(g.bottom+=h.props.height||At.defaultProps.height),p&&e&&(g=(0,ft.By)(g,r,n,e)),ve(ve({brushBottom:m},g),{},{width:u-g.left-g.right,height:s-g.top-g.bottom})}(ve(ve({},_),{},{props:n,graphicalItems:x}),null===e||void 0===e?void 0:e.legendBBox);Object.keys(_).forEach((function(t){_[t]=g(n,_[t],E,t.replace("Map",""),r)}));var S=function(t){var e=(0,T.Kt)(t),n=(0,ft.uY)(e,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:h()(n,(function(t){return t.coordinate})),tooltipAxis:e,tooltipAxisBandSize:(0,ft.zT)(e,n)}}(_["".concat(b,"Map")]),k=w(n,ve(ve({},_),{},{dataStartIndex:o,dataEndIndex:a,updateId:c,graphicalItems:x,stackGroups:O,offset:E}));return ve(ve({formattedGraphicalItems:k,graphicalItems:x,offset:E,stackGroups:O},S),_)};return n=e=function(t){!function(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ce(t,e)}(f,t);var e,n,i,c=ue(f);function f(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,f),(e=c.call(this,t)).uniqueChartId=void 0,e.clipPathId=void 0,e.legendInstance=void 0,e.deferId=void 0,e.container=void 0,e.clearDeferId=function(){!m()(e.deferId)&&Oe&&Oe(e.deferId),e.deferId=null},e.handleLegendBBoxUpdate=function(t){if(t&&e.legendInstance){var n=e.state,r=n.dataStartIndex,o=n.dataEndIndex,i=n.updateId;e.setState(ve({legendBBox:t},E({props:e.props,dataStartIndex:r,dataEndIndex:o,updateId:i},ve(ve({},e.state),{},{legendBBox:t}))))}},e.handleReceiveSyncEvent=function(t,n,r){e.props.syncId===t&&n!==e.uniqueChartId&&(e.clearDeferId(),e.deferId=we&&we(e.applySyncEvent.bind(le(e),r)))},e.handleBrushChange=function(t){var n=t.startIndex,r=t.endIndex;if(n!==e.state.dataStartIndex||r!==e.state.dataEndIndex){var o=e.state.updateId;e.setState((function(){return ve({dataStartIndex:n,dataEndIndex:r},E({props:e.props,dataStartIndex:n,dataEndIndex:r,updateId:o},e.state))})),e.triggerSyncEvent({dataStartIndex:n,dataEndIndex:r})}},e.handleMouseEnter=function(t){var n=e.props.onMouseEnter,r=e.getMouseInfo(t);if(r){var o=ve(ve({},r),{},{isTooltipActive:!0});e.setState(o),e.triggerSyncEvent(o),u()(n)&&n(o,t)}},e.triggeredAfterMouseMove=function(t){var n=e.props.onMouseMove,r=e.getMouseInfo(t),o=r?ve(ve({},r),{},{isTooltipActive:!0}):{isTooltipActive:!1};e.setState(o),e.triggerSyncEvent(o),u()(n)&&n(o,t)},e.handleItemMouseEnter=function(t){e.setState((function(){return{isTooltipActive:!0,activeItem:t,activePayload:t.tooltipPayload,activeCoordinate:t.tooltipPosition||{x:t.cx,y:t.cy}}}))},e.handleItemMouseLeave=function(){e.setState((function(){return{isTooltipActive:!1}}))},e.handleMouseMove=function(t){t&&u()(t.persist)&&t.persist(),e.triggeredAfterMouseMove(t)},e.handleMouseLeave=function(t){var n=e.props.onMouseLeave,r={isTooltipActive:!1};e.setState(r),e.triggerSyncEvent(r),u()(n)&&n(r,t),e.cancelThrottledTriggerAfterMouseMove()},e.handleOuterEvent=function(t){var n=(0,G.Bh)(t),r=d()(e.props,"".concat(n));n&&u()(r)&&r(/.*touch.*/i.test(n)?e.getMouseInfo(t.changedTouches[0]):e.getMouseInfo(t),t)},e.handleClick=function(t){var n=e.props.onClick,r=e.getMouseInfo(t);if(r){var o=ve(ve({},r),{},{isTooltipActive:!0});e.setState(o),e.triggerSyncEvent(o),u()(n)&&n(o,t)}},e.handleMouseDown=function(t){var n=e.props.onMouseDown;u()(n)&&n(e.getMouseInfo(t),t)},e.handleMouseUp=function(t){var n=e.props.onMouseUp;u()(n)&&n(e.getMouseInfo(t),t)},e.handleTouchMove=function(t){null!=t.changedTouches&&t.changedTouches.length>0&&e.handleMouseMove(t.changedTouches[0])},e.handleTouchStart=function(t){null!=t.changedTouches&&t.changedTouches.length>0&&e.handleMouseDown(t.changedTouches[0])},e.handleTouchEnd=function(t){null!=t.changedTouches&&t.changedTouches.length>0&&e.handleMouseUp(t.changedTouches[0])},e.verticalCoordinatesGenerator=function(t){var e=t.xAxis,n=t.width,r=t.height,o=t.offset;return(0,ft.Rf)(st.getTicks(ve(ve(ve({},st.defaultProps),e),{},{ticks:(0,ft.uY)(e,!0),viewBox:{x:0,y:0,width:n,height:r}})),o.left,o.left+o.width)},e.horizontalCoordinatesGenerator=function(t){var e=t.yAxis,n=t.width,r=t.height,o=t.offset;return(0,ft.Rf)(st.getTicks(ve(ve(ve({},st.defaultProps),e),{},{ticks:(0,ft.uY)(e,!0),viewBox:{x:0,y:0,width:n,height:r}})),o.top,o.top+o.height)},e.axesTicksGenerator=function(t){return(0,ft.uY)(t,!0)},e.renderCursor=function(t){var n=e.state,o=n.isTooltipActive,i=n.activeCoordinate,a=n.activePayload,c=n.offset,u=n.activeTooltipIndex,s=e.getTooltipEventType();if(!t||!t.props.cursor||!o||!i||"ScatterChart"!==r&&"axis"!==s)return null;var l,f=e.props.layout,h=P.H;if("ScatterChart"===r)l=i,h=z;else if("BarChart"===r)l=e.getCursorRectangle(),h=W.A;else if("radial"===f){var p=e.getCursorPoints(),d=p.cx,y=p.cy,v=p.radius;l={cx:d,cy:y,startAngle:p.startAngle,endAngle:p.endAngle,innerRadius:v,outerRadius:v},h=H.L}else l={points:e.getCursorPoints()},h=P.H;var g=t.key||"_recharts-cursor",m=ve(ve(ve(ve({stroke:"#ccc",pointerEvents:"none"},c),l),(0,C.L6)(t.props.cursor)),{},{payload:a,payloadIndex:u,key:g,className:"recharts-tooltip-cursor"});return(0,_.isValidElement)(t.props.cursor)?(0,_.cloneElement)(t.props.cursor,m):(0,_.createElement)(h,m)},e.renderPolarAxis=function(t,n,r){var o=d()(t,"type.axisType"),i=d()(e.state,"".concat(o,"Map"))[t.props["".concat(o,"Id")]];return(0,_.cloneElement)(t,ve(ve({},i),{},{className:o,key:t.key||"".concat(n,"-").concat(r),ticks:(0,ft.uY)(i,!0)}))},e.renderXAxis=function(t,n,r){var o=e.state.xAxisMap[t.props.xAxisId];return e.renderAxis(o,t,n,r)},e.renderYAxis=function(t,n,r){var o=e.state.yAxisMap[t.props.yAxisId];return e.renderAxis(o,t,n,r)},e.renderGrid=function(t){var n=e.state,r=n.xAxisMap,i=n.yAxisMap,c=n.offset,u=e.props,s=u.width,l=u.height,f=(0,T.Kt)(r),h=a()(i,(function(t){return o()(t.domain,xe)}))||(0,T.Kt)(i),p=t.props||{};return(0,_.cloneElement)(t,{key:t.key||"grid",x:(0,T.hj)(p.x)?p.x:c.left,y:(0,T.hj)(p.y)?p.y:c.top,width:(0,T.hj)(p.width)?p.width:c.width,height:(0,T.hj)(p.height)?p.height:c.height,xAxis:f,yAxis:h,offset:c,chartWidth:s,chartHeight:l,verticalCoordinatesGenerator:p.verticalCoordinatesGenerator||e.verticalCoordinatesGenerator,horizontalCoordinatesGenerator:p.horizontalCoordinatesGenerator||e.horizontalCoordinatesGenerator})},e.renderPolarGrid=function(t){var n=t.props,r=n.radialLines,o=n.polarAngles,i=n.polarRadius,a=e.state,c=a.radiusAxisMap,u=a.angleAxisMap,s=(0,T.Kt)(c),l=(0,T.Kt)(u),f=l.cx,h=l.cy,p=l.innerRadius,d=l.outerRadius;return(0,_.cloneElement)(t,{polarAngles:O()(o)?o:(0,ft.uY)(l,!0).map((function(t){return t.coordinate})),polarRadius:O()(i)?i:(0,ft.uY)(s,!0).map((function(t){return t.coordinate})),cx:f,cy:h,innerRadius:p,outerRadius:d,key:t.key||"polar-grid",radialLines:r})},e.renderLegend=function(){var t=e.state.formattedGraphicalItems,n=e.props,r=n.children,o=n.width,i=n.height,a=e.props.margin||{},c=o-(a.left||0)-(a.right||0),u=(0,ft.zp)({children:r,formattedGraphicalItems:t,legendWidth:c,legendContent:v});if(!u)return null;var s=u.item,l=ie(u,["item"]);return(0,_.cloneElement)(s,ve(ve({},l),{},{chartWidth:o,chartHeight:i,margin:a,ref:function(t){e.legendInstance=t},onBBoxUpdate:e.handleLegendBBoxUpdate}))},e.renderTooltip=function(){var t=e.props.children,n=(0,G.sP)(t,A.u.displayName);if(!n)return null;var r=e.state,o=r.isTooltipActive,i=r.activeCoordinate,a=r.activePayload,c=r.activeLabel,u=r.offset;return(0,_.cloneElement)(n,{viewBox:ve(ve({},u),{},{x:u.left,y:u.top}),active:o,label:c,payload:o?a:[],coordinate:i})},e.renderBrush=function(t){var n=e.props,r=n.margin,o=n.data,i=e.state,a=i.offset,c=i.dataStartIndex,u=i.dataEndIndex,s=i.updateId;return(0,_.cloneElement)(t,{key:t.key||"_recharts-brush",onChange:(0,ft.DO)(e.handleBrushChange,null,t.props.onChange),data:o,x:(0,T.hj)(t.props.x)?t.props.x:a.left,y:(0,T.hj)(t.props.y)?t.props.y:a.top+a.height+a.brushBottom-(r.bottom||0),width:(0,T.hj)(t.props.width)?t.props.width:a.width,startIndex:c,endIndex:u,updateId:"brush-".concat(s)})},e.renderReferenceElement=function(t,n,r){if(!t)return null;var o=le(e).clipPathId,i=e.state,a=i.xAxisMap,c=i.yAxisMap,u=i.offset,s=t.props,l=s.xAxisId,f=s.yAxisId;return(0,_.cloneElement)(t,{key:t.key||"".concat(n,"-").concat(r),xAxis:a[l],yAxis:c[f],viewBox:{x:u.left,y:u.top,width:u.width,height:u.height},clipPathId:o})},e.renderActivePoints=function(t){var e=t.item,n=t.activePoint,r=t.basePoint,o=t.childIndex,i=t.isRange,a=[],c=e.props.key,u=e.item.props,s=u.activeDot,l=ve(ve({index:o,dataKey:u.dataKey,cx:n.x,cy:n.y,r:4,fill:(0,ft.fk)(e.item),strokeWidth:2,stroke:"#fff",payload:n.payload,value:n.value,key:"".concat(c,"-activePoint-").concat(o)},(0,C.L6)(s)),(0,C.Ym)(s));return a.push(f.renderActiveDot(s,l)),r?a.push(f.renderActiveDot(s,ve(ve({},l),{},{cx:r.x,cy:r.y,key:"".concat(c,"-basePoint-").concat(o)}))):i&&a.push(null),a},e.renderGraphicChild=function(t,n,r){var o=e.filterFormatItem(t,n,r);if(!o)return null;var i=e.getTooltipEventType(),a=e.state,c=a.isTooltipActive,u=a.tooltipAxis,s=a.activeTooltipIndex,l=a.activeLabel,f=e.props.children,h=(0,G.sP)(f,A.u.displayName),p=o.props,d=p.points,y=p.isRange,v=p.baseLine,g=o.item.props,b=g.activeDot,x=!g.hide&&c&&h&&b&&s>=0,w={};"axis"!==i&&h&&"click"===h.props.trigger?w={onClick:(0,ft.DO)(e.handleItemMouseEnter,null,t.props.onCLick)}:"axis"!==i&&(w={onMouseLeave:(0,ft.DO)(e.handleItemMouseLeave,null,t.props.onMouseLeave),onMouseEnter:(0,ft.DO)(e.handleItemMouseEnter,null,t.props.onMouseEnter)});var O=(0,_.cloneElement)(t,ve(ve({},o.props),w));if(x){var E,S;if(u.dataKey&&!u.allowDuplicatedCategory){var k="function"===typeof u.dataKey?function(t){return"function"===typeof u.dataKey?u.dataKey(t.payload):null}:"payload.".concat(u.dataKey.toString());E=(0,T.Ap)(d,k,l),S=y&&v&&(0,T.Ap)(v,k,l)}else E=d[s],S=y&&v&&v[s];if(!m()(E))return[O].concat(he(e.renderActivePoints({item:o,activePoint:E,basePoint:S,childIndex:s,isRange:y})))}return y?[O,null,null]:[O,null]},e.renderCustomized=function(t,n,r){return(0,_.cloneElement)(t,ve(ve({key:"recharts-customized-".concat(r)},e.props),e.state))},e.uniqueChartId=m()(t.id)?(0,T.EL)("recharts"):t.id,e.clipPathId="".concat(e.uniqueChartId,"-clip"),t.throttleDelay&&(e.triggeredAfterMouseMove=l()(e.triggeredAfterMouseMove,t.throttleDelay)),e.state={},e}return e=f,(n=[{key:"componentDidMount",value:function(){m()(this.props.syncId)||this.addListener()}},{key:"componentDidUpdate",value:function(t){m()(t.syncId)&&!m()(this.props.syncId)&&this.addListener(),!m()(t.syncId)&&m()(this.props.syncId)&&this.removeListener()}},{key:"componentWillUnmount",value:function(){this.clearDeferId(),m()(this.props.syncId)||this.removeListener(),this.cancelThrottledTriggerAfterMouseMove()}},{key:"cancelThrottledTriggerAfterMouseMove",value:function(){"function"===typeof this.triggeredAfterMouseMove.cancel&&this.triggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var t=(0,G.sP)(this.props.children,A.u.displayName);if(t&&x()(t.props.shared)){var e=t.props.shared?"axis":"item";return p.indexOf(e)>=0?e:s}return s}},{key:"getMouseInfo",value:function(t){if(!this.container)return null;var e=(0,Z.os)(this.container),n=(0,Z.IR)(t,e),r=this.inRange(n.chartX,n.chartY);if(!r)return null;var o=this.state,i=o.xAxisMap,a=o.yAxisMap;if("axis"!==this.getTooltipEventType()&&i&&a){var c=(0,T.Kt)(i).scale,u=(0,T.Kt)(a).scale,s=c&&c.invert?c.invert(n.chartX):null,l=u&&u.invert?u.invert(n.chartY):null;return ve(ve({},n),{},{xValue:s,yValue:l})}var f=Se(this.state,this.props.data,this.props.layout,r);return f?ve(ve({},n),f):null}},{key:"getCursorRectangle",value:function(){var t=this.props.layout,e=this.state,n=e.activeCoordinate,r=e.offset,o=e.tooltipAxisBandSize,i=o/2;return{stroke:"none",fill:"#ccc",x:"horizontal"===t?n.x-i:r.left+.5,y:"horizontal"===t?r.top+.5:n.y-i,width:"horizontal"===t?o:r.width-1,height:"horizontal"===t?r.height-1:o}}},{key:"getCursorPoints",value:function(){var t,e,n,r,o=this.props.layout,i=this.state,a=i.activeCoordinate,c=i.offset;if("horizontal"===o)n=t=a.x,e=c.top,r=c.top+c.height;else if("vertical"===o)r=e=a.y,t=c.left,n=c.left+c.width;else if(!m()(a.cx)||!m()(a.cy)){if("centric"!==o){var u=a.cx,s=a.cy,l=a.radius,f=a.startAngle,h=a.endAngle;return{points:[(0,Jt.op)(u,s,l,f),(0,Jt.op)(u,s,l,h)],cx:u,cy:s,radius:l,startAngle:f,endAngle:h}}var p=a.cx,d=a.cy,y=a.innerRadius,v=a.outerRadius,g=a.angle,b=(0,Jt.op)(p,d,y,g),x=(0,Jt.op)(p,d,v,g);t=b.x,e=b.y,n=x.x,r=x.y}return[{x:t,y:e},{x:n,y:r}]}},{key:"inRange",value:function(t,e){var n=this.props.layout;if("horizontal"===n||"vertical"===n){var r=this.state.offset;return t>=r.left&&t<=r.left+r.width&&e>=r.top&&e<=r.top+r.height?{x:t,y:e}:null}var o=this.state,i=o.angleAxisMap,a=o.radiusAxisMap;if(i&&a){var c=(0,T.Kt)(i);return(0,Jt.z3)({x:t,y:e},c)}return null}},{key:"parseEventsOfWrapper",value:function(){var t=this.props.children,e=this.getTooltipEventType(),n=(0,G.sP)(t,A.u.displayName),r={};return n&&"axis"===e&&(r="click"===n.props.trigger?{onClick:this.handleClick}:{onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd}),ve(ve({},(0,C.Ym)(this.props,this.handleOuterEvent)),r)}},{key:"addListener",value:function(){te.on(ee,this.handleReceiveSyncEvent),te.setMaxListeners&&te._maxListeners&&te.setMaxListeners(te._maxListeners+1)}},{key:"removeListener",value:function(){te.removeListener(ee,this.handleReceiveSyncEvent),te.setMaxListeners&&te._maxListeners&&te.setMaxListeners(te._maxListeners-1)}},{key:"triggerSyncEvent",value:function(t){var e=this.props.syncId;m()(e)||te.emit(ee,e,this.uniqueChartId,t)}},{key:"applySyncEvent",value:function(t){var e=this.props,n=e.layout,r=e.syncMethod,o=this.state.updateId,i=t.dataStartIndex,a=t.dataEndIndex;if(m()(t.dataStartIndex)&&m()(t.dataEndIndex))if(m()(t.activeTooltipIndex))this.setState(t);else{var c=t.chartX,u=t.chartY,s=t.activeTooltipIndex,l=this.state,f=l.offset,h=l.tooltipTicks;if(!f)return;if("function"===typeof r)s=r(h,t);else if("value"===r){s=-1;for(var p=0;pt.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0?1:-1;"insideStart"===i?(r=b+S*c,o=w):"insideEnd"===i?(r=x-S*c,o=!w):"end"===i&&(r=x+S*c,o=w),o=E<=0?o:!o;var k=(0,y.op)(p,v,_,r),j=(0,y.op)(p,v,_,r+359*(o?1:-1)),A="M".concat(k.x,",").concat(k.y,"\n A").concat(_,",").concat(_,",0,1,").concat(o?0:1,",\n ").concat(j.x,",").concat(j.y),M=u()(t.id)?(0,d.EL)("recharts-radial-line-"):t.id;return s.createElement("text",O({},n,{dominantBaseline:"central",className:f()("recharts-radial-bar-label",l)}),s.createElement("defs",null,s.createElement("path",{id:M,d:A})),s.createElement("textPath",{xlinkHref:"#".concat(M)},e))};function E(t){var e,n=t.viewBox,r=t.position,i=t.value,c=t.children,l=t.content,p=t.className,g=void 0===p?"":p,m=t.textBreakAll;if(!n||u()(i)&&u()(c)&&!(0,s.isValidElement)(l)&&!a()(l))return null;if((0,s.isValidElement)(l))return(0,s.cloneElement)(l,t);if(a()(l)){if(e=(0,s.createElement)(l,t),(0,s.isValidElement)(e))return e}else e=function(t){var e=t.value,n=t.formatter,r=u()(t.children)?e:t.children;return a()(n)?n(r):r}(t);var b=function(t){return(0,d.hj)(t.cx)}(n),w=(0,v.L6)(t,!0);if(b&&("insideStart"===r||"insideEnd"===r||"end"===r))return _(t,e,w);var E=b?function(t){var e=t.viewBox,n=t.offset,r=t.position,o=e,i=o.cx,a=o.cy,c=o.innerRadius,u=o.outerRadius,s=(o.startAngle+o.endAngle)/2;if("outside"===r){var l=(0,y.op)(i,a,u+n,s),f=l.x;return{x:f,y:l.y,textAnchor:f>=i?"start":"end",verticalAnchor:"middle"}}if("center"===r)return{x:i,y:a,textAnchor:"middle",verticalAnchor:"middle"};if("centerTop"===r)return{x:i,y:a,textAnchor:"middle",verticalAnchor:"start"};if("centerBottom"===r)return{x:i,y:a,textAnchor:"middle",verticalAnchor:"end"};var h=(c+u)/2,p=(0,y.op)(i,a,h,s);return{x:p.x,y:p.y,textAnchor:"middle",verticalAnchor:"middle"}}(t):function(t){var e=t.viewBox,n=t.parentViewBox,r=t.offset,i=t.position,a=e,c=a.x,u=a.y,s=a.width,l=a.height,f=l>=0?1:-1,h=f*r,p=f>0?"end":"start",y=f>0?"start":"end",v=s>=0?1:-1,g=v*r,m=v>0?"end":"start",b=v>0?"start":"end";if("top"===i)return x(x({},{x:c+s/2,y:u-f*r,textAnchor:"middle",verticalAnchor:p}),n?{height:Math.max(u-n.y,0),width:s}:{});if("bottom"===i)return x(x({},{x:c+s/2,y:u+l+h,textAnchor:"middle",verticalAnchor:y}),n?{height:Math.max(n.y+n.height-(u+l),0),width:s}:{});if("left"===i){var w={x:c-g,y:u+l/2,textAnchor:m,verticalAnchor:"middle"};return x(x({},w),n?{width:Math.max(w.x-n.x,0),height:l}:{})}if("right"===i){var O={x:c+s+g,y:u+l/2,textAnchor:b,verticalAnchor:"middle"};return x(x({},O),n?{width:Math.max(n.x+n.width-O.x,0),height:l}:{})}var _=n?{width:s,height:l}:{};return"insideLeft"===i?x({x:c+g,y:u+l/2,textAnchor:b,verticalAnchor:"middle"},_):"insideRight"===i?x({x:c+s-g,y:u+l/2,textAnchor:m,verticalAnchor:"middle"},_):"insideTop"===i?x({x:c+s/2,y:u+h,textAnchor:"middle",verticalAnchor:y},_):"insideBottom"===i?x({x:c+s/2,y:u+l-h,textAnchor:"middle",verticalAnchor:p},_):"insideTopLeft"===i?x({x:c+g,y:u+h,textAnchor:b,verticalAnchor:y},_):"insideTopRight"===i?x({x:c+s-g,y:u+h,textAnchor:m,verticalAnchor:y},_):"insideBottomLeft"===i?x({x:c+g,y:u+l-h,textAnchor:b,verticalAnchor:p},_):"insideBottomRight"===i?x({x:c+s-g,y:u+l-h,textAnchor:m,verticalAnchor:p},_):o()(i)&&((0,d.hj)(i.x)||(0,d.hU)(i.x))&&((0,d.hj)(i.y)||(0,d.hU)(i.y))?x({x:c+(0,d.h1)(i.x,s),y:u+(0,d.h1)(i.y,l),textAnchor:"end",verticalAnchor:"end"},_):x({x:c+s/2,y:u+l/2,textAnchor:"middle",verticalAnchor:"middle"},_)}(t);return s.createElement(h.x,O({className:f()("recharts-label",g)},w,E,{breakAll:m}),e)}E.displayName="Label",E.defaultProps={offset:5};var S=function(t){var e=t.cx,n=t.cy,r=t.angle,o=t.startAngle,i=t.endAngle,a=t.r,c=t.radius,u=t.innerRadius,s=t.outerRadius,l=t.x,f=t.y,h=t.top,p=t.left,y=t.width,v=t.height,g=t.clockWise,m=t.labelViewBox;if(m)return m;if((0,d.hj)(y)&&(0,d.hj)(v)){if((0,d.hj)(l)&&(0,d.hj)(f))return{x:l,y:f,width:y,height:v};if((0,d.hj)(h)&&(0,d.hj)(p))return{x:h,y:p,width:y,height:v}}return(0,d.hj)(l)&&(0,d.hj)(f)?{x:l,y:f,width:0,height:0}:(0,d.hj)(e)&&(0,d.hj)(n)?{cx:e,cy:n,startAngle:o||r||0,endAngle:i||r||0,innerRadius:u||0,outerRadius:s||c||a||0,clockWise:g}:t.viewBox?t.viewBox:{}},k=function(t,e){return t?!0===t?s.createElement(E,{key:"label-implicit",viewBox:e}):(0,d.P2)(t)?s.createElement(E,{key:"label-implicit",viewBox:e,value:t}):(0,s.isValidElement)(t)?t.type===E?(0,s.cloneElement)(t,{key:"label-implicit",viewBox:e}):s.createElement(E,{key:"label-implicit",content:t,viewBox:e}):a()(t)?s.createElement(E,{key:"label-implicit",content:t,viewBox:e}):o()(t)?s.createElement(E,O({viewBox:e},t,{key:"label-implicit"})):null:null};E.parseViewBox=S,E.renderCallByParent=function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!t||!t.children&&n&&!t.label)return null;var r=t.children,o=S(t),i=(0,p.NN)(r,E.displayName).map((function(t,n){return(0,s.cloneElement)(t,{viewBox:e||o,key:"label-".concat(n)})}));if(!n)return i;var a=k(t.label,e||o);return[a].concat(g(i))}},87741:function(t,e,n){"use strict";n.d(e,{e:function(){return j}});var r=n(74216),o=n.n(r),i=n(66071),a=n.n(i),c=n(85686),u=n.n(c),s=n(63816),l=n.n(s),f=n(85809),h=n.n(f),p=n(50390),d=n(71572),y=n(18775),v=n(79853),g=n(46154),m=n(54183);function b(t){return function(t){if(Array.isArray(t))return x(t)}(t)||function(t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"===typeof t)return x(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return x(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function x(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var k={valueAccessor:function(t){return h()(t.value)?l()(t.value):t.value}};function j(t){var e=t.data,n=t.valueAccessor,r=t.dataKey,o=t.clockWise,i=t.id,a=t.textBreakAll,c=S(t,["data","valueAccessor","dataKey","clockWise","id","textBreakAll"]);return e&&e.length?p.createElement(y.m,{className:"recharts-label-list"},e.map((function(t,e){var s=u()(r)?n(t,e):(0,g.F$)(t&&t.payload,r),l=u()(i)?{}:{id:"".concat(i,"-").concat(e)};return p.createElement(d._,w({},(0,m.L6)(t,!0),c,l,{parentViewBox:t.parentViewBox,index:e,value:s,textBreakAll:a,viewBox:d._.parseViewBox(u()(o)?t:_(_({},t),{},{clockWise:o})),key:"label-".concat(e)}))}))):null}function A(t,e){return t?!0===t?p.createElement(j,{key:"labelList-implicit",data:e}):p.isValidElement(t)||a()(t)?p.createElement(j,{key:"labelList-implicit",data:e,content:t}):o()(t)?p.createElement(j,w({data:e},t,{key:"labelList-implicit"})):null:null}j.displayName="LabelList",j.renderCallByParent=function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!t||!t.children&&n&&!t.label)return null;var r=t.children,o=(0,v.NN)(r,j.displayName).map((function(t,n){return(0,p.cloneElement)(t,{data:e,key:"labelList-".concat(n)})}));if(!n)return o;var i=A(t.label,e);return[i].concat(b(o))},j.defaultProps=k},79692:function(t,e,n){"use strict";n.d(e,{D:function(){return mt}});var r=n(66071),o=n.n(r),i=n(80213),a=n.n(i),c=n(50390),u=n(97715),s=n.n(u),l=n(47142),f=n(54088),h=n.n(f),p=(Math.abs,Math.atan2,Math.cos,Math.max,Math.min,Math.sin,Math.sqrt,Math.PI),d=2*p;var y={draw:function(t,e){var n=Math.sqrt(e/p);t.moveTo(n,0),t.arc(0,0,n,0,d)}},v={draw:function(t,e){var n=Math.sqrt(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}},g=Math.sqrt(1/3),m=2*g,b={draw:function(t,e){var n=Math.sqrt(e/m),r=n*g;t.moveTo(0,-n),t.lineTo(r,0),t.lineTo(0,n),t.lineTo(-r,0),t.closePath()}},x={draw:function(t,e){var n=Math.sqrt(e),r=-n/2;t.rect(r,r,n,n)}},w=Math.sin(p/10)/Math.sin(7*p/10),O=Math.sin(d/10)*w,_=-Math.cos(d/10)*w,E={draw:function(t,e){var n=Math.sqrt(.8908130915292852*e),r=O*n,o=_*n;t.moveTo(0,-n),t.lineTo(r,o);for(var i=1;i<5;++i){var a=d*i/5,c=Math.cos(a),u=Math.sin(a);t.lineTo(u*n,-c*n),t.lineTo(c*r-u*o,u*r+c*o)}t.closePath()}},S=Math.sqrt(3),k={draw:function(t,e){var n=-Math.sqrt(e/(3*S));t.moveTo(0,2*n),t.lineTo(-S*n,-n),t.lineTo(S*n,-n),t.closePath()}},j=-.5,A=Math.sqrt(3)/2,M=1/Math.sqrt(12),P=3*(M/2+1),T={draw:function(t,e){var n=Math.sqrt(e/P),r=n/2,o=n*M,i=r,a=n*M+n,c=-i,u=a;t.moveTo(r,o),t.lineTo(i,a),t.lineTo(c,u),t.lineTo(j*r-A*o,A*r+j*o),t.lineTo(j*i-A*a,A*i+j*a),t.lineTo(j*c-A*u,A*c+j*u),t.lineTo(j*r+A*o,j*o-A*r),t.lineTo(j*i+A*a,j*a-A*i),t.lineTo(j*c+A*u,j*u-A*c),t.closePath()}},C=n(18117),N=n(49555);var I=n(54183);function D(t){return D="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},D(t)}function R(){return R=Object.assign||function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function vt(t){return t.value}function gt(t,e){return!0===t?a()(e,vt):o()(t)?a()(e,t):e}var mt=function(t){!function(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&ft(t,e)}(a,t);var e,n,r,i=ht(a);function a(){var t;st(this,a);for(var e=arguments.length,n=new Array(e),r=0;r=0&&n>=0?{width:e,height:n}:null}},{key:"getDefaultPosition",value:function(t){var e,n,r=this.props,o=r.layout,i=r.align,a=r.verticalAlign,c=r.margin,u=r.chartWidth,s=r.chartHeight;return t&&(void 0!==t.left&&null!==t.left||void 0!==t.right&&null!==t.right)||(e="center"===i&&"vertical"===o?{left:((u||0)-(this.getBBoxSnapshot()||{width:0}).width)/2}:"right"===i?{right:c&&c.right||0}:{left:c&&c.left||0}),t&&(void 0!==t.top&&null!==t.top||void 0!==t.bottom&&null!==t.bottom)||(n="middle"===a?{top:((s||0)-(this.getBBoxSnapshot()||{height:0}).height)/2}:"bottom"===a?{bottom:c&&c.bottom||0}:{top:c&&c.top||0}),ct(ct({},e),n)}},{key:"updateBBox",value:function(){var t=this.state,e=t.boxWidth,n=t.boxHeight,r=this.props.onBBoxUpdate;if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var o=this.wrapperNode.getBoundingClientRect();(Math.abs(o.width-e)>1||Math.abs(o.height-n)>1)&&this.setState({boxWidth:o.width,boxHeight:o.height},(function(){r&&r(o)}))}else-1===e&&-1===n||this.setState({boxWidth:-1,boxHeight:-1},(function(){r&&r(null)}))}},{key:"render",value:function(){var t=this,e=this.props,n=e.content,r=e.width,i=e.height,a=e.wrapperStyle,u=e.payloadUniqBy,s=e.payload,l=ct(ct({position:"absolute",width:r||"auto",height:i||"auto"},this.getDefaultPosition(a)),a);return c.createElement("div",{className:"recharts-legend-wrapper",style:l,ref:function(e){t.wrapperNode=e}},function(t,e){if(c.isValidElement(t))return c.cloneElement(t,e);if(o()(t))return c.createElement(t,e);e.ref;var n=yt(e,["ref"]);return c.createElement(rt,n)}(n,ct(ct({},this.props),{},{payload:gt(u,s)})))}}])&<(e.prototype,n),r&<(e,r),a}(c.PureComponent);mt.displayName="Legend",mt.defaultProps={iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"}},88970:function(t,e,n){"use strict";n.d(e,{h:function(){return d}});var r=n(3143),o=n.n(r),i=n(97715),a=n.n(i),c=n(50390),u=n(34923),s=n(30631),l=n(17818);function f(){return f=Object.assign||function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n0?o()(T,x):T;(0,c.useEffect)((function(){if(A){var t=P();t&&S(t)}}),[A]),(0,c.useEffect)((function(){M(!0)}),[]);var N={width:i,height:d,minWidth:y,minHeight:v,maxHeight:g};return c.createElement(u.ZP,{handleWidth:!0,handleHeight:!0,onResize:C,targetRef:k},c.createElement("div",f({},null!=w?{id:"".concat(w)}:{},{className:a()("recharts-responsive-container",O),style:N,ref:k}),function(){var t=E.containerWidth,e=E.containerHeight;if(t<0||e<0)return null;(0,l.Z)((0,s.hU)(i)||(0,s.hU)(d),"The width(%s) and height(%s) are both fixed numbers,\n maybe you don't need to use a ResponsiveContainer.",i,d),(0,l.Z)(!n||n>0,"The aspect(%s) must be greater than zero.",n);var r=(0,s.hU)(i)?t:i,o=(0,s.hU)(d)?e:d;return n&&n>0&&(r?o=r/n:o&&(r=o*n),g&&o>g&&(o=g)),(0,l.Z)(r>0||o>0,"The width(%s) and height(%s) of chart should be greater than 0,\n please check the style of container, or the props width(%s) and height(%s),\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\n height and width.",r,o,i,d,y,v,n),(0,c.cloneElement)(m,{width:r,height:o})}()))}))},67855:function(t,e,n){"use strict";n.d(e,{x:function(){return C}});var r=n(85686),o=n.n(r),i=n(50390),a=n(31344),c=n.n(a),u=n(97715),s=n.n(u),l=n(30631),f=n(29728),h=n(54183),p=n(53203);function d(t){return d="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},d(t)}function y(){return y=Object.assign||function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function g(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function m(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n0&&void 0!==arguments[0]?arguments[0]:[]).reduce((function(t,e){var i=e.word,a=e.width,c=t[t.length-1];if(c&&(null==r||o||c.width+a+nt.maxLines||function(t){return t.reduce((function(t,e){return t.width>e.width?t:e}))}(i).width>r;return[u,i]},h=0,p=a.length-1,d=0;h<=p&&d<=a.length-1;){var y=Math.floor((h+p)/2),v=_(f(y-1),2),g=v[0],m=v[1],b=_(f(y),1)[0];if(g||b||(h=y+1),g&&b&&(p=y-1),!g&&b){s=m;break}d++}return s||u}(t,n.wordsWithComputedWidth,n.spaceWidth,t.width,t.scaleToFit):P(t.children)}return P(t.children)},C=function(t){!function(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&b(t,e)}(a,t);var e,n,r,o=x(a);function a(){var t;g(this,a);for(var e=arguments.length,n=new Array(e),r=0;rt.length)&&(e=t.length);for(var n=0,r=new Array(e);nl[n]+o?Math.max(f,l[n]):Math.max(h,l[n])},t}return e=c,(n=[{key:"componentDidMount",value:function(){this.updateBBox()}},{key:"componentDidUpdate",value:function(){this.updateBBox()}},{key:"updateBBox",value:function(){var t=this.state,e=t.boxWidth,n=t.boxHeight;if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var r=this.wrapperNode.getBoundingClientRect();(Math.abs(r.width-e)>1||Math.abs(r.height-n)>1)&&this.setState({boxWidth:r.width,boxHeight:r.height})}else-1===e&&-1===n||this.setState({boxWidth:-1,boxHeight:-1})}},{key:"render",value:function(){var t,e,n,r=this,i=this.props,c=i.payload,f=i.isAnimationActive,p=i.animationDuration,d=i.animationEasing,y=i.filterNull,v=function(t,e){return!0===t?u()(e,W):a()(t)?u()(e,t):e}(i.payloadUniqBy,y&&c&&c.length?c.filter((function(t){return!o()(t.value)})):c),m=v&&v.length,b=this.props,x=b.content,w=b.viewBox,O=b.coordinate,_=b.position,E=b.active,S=D({pointerEvents:"none",visibility:E&&m?"visible":"hidden",position:"absolute",top:0,left:0},b.wrapperStyle);if(_&&(0,g.hj)(_.x)&&(0,g.hj)(_.y))e=_.x,n=_.y;else{var k=this.state,j=k.boxWidth,A=k.boxHeight;j>0&&A>0&&O?(e=this.getTranslate({key:"x",tooltipDimension:j,viewBoxDimension:w.width}),n=this.getTranslate({key:"y",tooltipDimension:A,viewBoxDimension:w.height})):S.visibility="hidden"}S=D(D({},(0,l.bO)({transform:this.props.useTranslate3d?"translate3d(".concat(e,"px, ").concat(n,"px, 0)"):"translate(".concat(e,"px, ").concat(n,"px)")})),S),f&&E&&(S=D(D({},(0,l.bO)({transition:"transform ".concat(p,"ms ").concat(d)})),S));var M=h()(V,(R(t={},"".concat(V,"-right"),(0,g.hj)(e)&&O&&(0,g.hj)(O.x)&&e>=O.x),R(t,"".concat(V,"-left"),(0,g.hj)(e)&&O&&(0,g.hj)(O.x)&&e=O.y),R(t,"".concat(V,"-top"),(0,g.hj)(n)&&O&&(0,g.hj)(O.y)&&n=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function s(t){var e=t.children,n=t.className,o=u(t,["children","className"]),s=i()("recharts-layer",n);return r.createElement("g",c({className:s},(0,a.L6)(o,!0)),e)}},47142:function(t,e,n){"use strict";n.d(e,{T:function(){return s}});var r=n(50390),o=n(97715),i=n.n(o),a=n(54183);function c(){return c=Object.assign||function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function s(t){var e=t.children,n=t.width,o=t.height,s=t.viewBox,l=t.className,f=t.style,h=u(t,["children","width","height","viewBox","className","style"]),p=s||{width:n,height:o,x:0,y:0},d=i()("recharts-surface",l);return r.createElement("svg",c({},(0,a.L6)(h,!0,!0),{className:d,width:n,height:o,style:f,viewBox:"".concat(p.x," ").concat(p.y," ").concat(p.width," ").concat(p.height),version:"1.1"}),e)}},27775:function(t,e,n){"use strict";n.d(e,{H:function(){return tt}});var r=n(85809),o=n.n(r),i=n(54088),a=n.n(i),c=n(66071),u=n.n(c),s=n(50390);function l(){}function f(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function h(t){this._context=t}function p(t){this._context=t}function d(t){this._context=t}function y(t){this._context=t}function v(t){this._context=t}function g(t){return new v(t)}function m(t){return t<0?-1:1}function b(t,e,n){var r=t._x1-t._x0,o=e-t._x1,i=(t._y1-t._y0)/(r||o<0&&-0),a=(n-t._y1)/(o||r<0&&-0),c=(i*o+a*r)/(r+o);return(m(i)+m(a))*Math.min(Math.abs(i),Math.abs(a),.5*Math.abs(c))||0}function x(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function w(t,e,n){var r=t._x0,o=t._y0,i=t._x1,a=t._y1,c=(i-r)/3;t._context.bezierCurveTo(r+c,o+c*e,i-c,a-c*n,i,a)}function O(t){this._context=t}function _(t){this._context=new E(t)}function E(t){this._context=t}function S(t){this._context=t}function k(t){var e,n,r=t.length-1,o=new Array(r),i=new Array(r),a=new Array(r);for(o[0]=0,i[0]=2,a[0]=t[0]+2*t[1],e=1;e=0;--e)o[e]=(a[e]-o[e+1])/i[e];for(i[r-1]=(t[r]+o[r-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}};var A=n(18117),M=n(58462),P=n(49555);function T(t){return t[0]}function C(t){return t[1]}function N(t,e){var n=(0,P.Z)(!0),r=null,o=g,i=null;function a(a){var c,u,s,l=(a=(0,M.Z)(a)).length,f=!1;for(null==r&&(i=o(s=(0,A.Z)())),c=0;c<=l;++c)!(c=l;--f)c.point(v[f],g[f]);c.lineEnd(),c.areaEnd()}y&&(v[s]=+t(h,s,u),g[s]=+e(h,s,u),c.point(r?+r(h,s,u):v[s],n?+n(h,s,u):g[s]))}if(p)return c=null,p+""||null}function s(){return N().defined(o).curve(a).context(i)}return t="function"===typeof t?t:void 0===t?T:(0,P.Z)(+t),e="function"===typeof e?e:void 0===e?(0,P.Z)(0):(0,P.Z)(+e),n="function"===typeof n?n:void 0===n?C:(0,P.Z)(+n),u.x=function(e){return arguments.length?(t="function"===typeof e?e:(0,P.Z)(+e),r=null,u):t},u.x0=function(e){return arguments.length?(t="function"===typeof e?e:(0,P.Z)(+e),u):t},u.x1=function(t){return arguments.length?(r=null==t?null:"function"===typeof t?t:(0,P.Z)(+t),u):r},u.y=function(t){return arguments.length?(e="function"===typeof t?t:(0,P.Z)(+t),n=null,u):e},u.y0=function(t){return arguments.length?(e="function"===typeof t?t:(0,P.Z)(+t),u):e},u.y1=function(t){return arguments.length?(n=null==t?null:"function"===typeof t?t:(0,P.Z)(+t),u):n},u.lineX0=u.lineY0=function(){return s().x(t).y(e)},u.lineY1=function(){return s().x(t).y(n)},u.lineX1=function(){return s().x(r).y(e)},u.defined=function(t){return arguments.length?(o="function"===typeof t?t:(0,P.Z)(!!t),u):o},u.curve=function(t){return arguments.length?(a=t,null!=i&&(c=a(i)),u):a},u.context=function(t){return arguments.length?(null==t?i=c=null:c=a(i=t),u):i},u}var D=n(97715),R=n.n(D),L=n(54183),B=n(30631);function F(t){return F="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},F(t)}function U(){return U=Object.assign||function(t){for(var e=1;e=0?1:-1,u=n>=0?1:-1,s=r>=0&&n>=0||r<0&&n<0?1:0;if(a>0&&o instanceof Array){for(var l=[0,0,0,0],f=0;f<4;f++)l[f]=o[f]>a?a:o[f];i="M".concat(t,",").concat(e+c*l[0]),l[0]>0&&(i+="A ".concat(l[0],",").concat(l[0],",0,0,").concat(s,",").concat(t+u*l[0],",").concat(e)),i+="L ".concat(t+n-u*l[1],",").concat(e),l[1]>0&&(i+="A ".concat(l[1],",").concat(l[1],",0,0,").concat(s,",\n ").concat(t+n,",").concat(e+c*l[1])),i+="L ".concat(t+n,",").concat(e+r-c*l[2]),l[2]>0&&(i+="A ".concat(l[2],",").concat(l[2],",0,0,").concat(s,",\n ").concat(t+n-u*l[2],",").concat(e+r)),i+="L ".concat(t+u*l[3],",").concat(e+r),l[3]>0&&(i+="A ".concat(l[3],",").concat(l[3],",0,0,").concat(s,",\n ").concat(t,",").concat(e+r-c*l[3])),i+="Z"}else if(a>0&&o===+o&&o>0){var h=Math.min(a,o);i="M ".concat(t,",").concat(e+c*h,"\n A ").concat(h,",").concat(h,",0,0,").concat(s,",").concat(t+u*h,",").concat(e,"\n L ").concat(t+n-u*h,",").concat(e,"\n A ").concat(h,",").concat(h,",0,0,").concat(s,",").concat(t+n,",").concat(e+c*h,"\n L ").concat(t+n,",").concat(e+r-c*h,"\n A ").concat(h,",").concat(h,",0,0,").concat(s,",").concat(t+n-u*h,",").concat(e+r,"\n L ").concat(t+u*h,",").concat(e+r,"\n A ").concat(h,",").concat(h,",0,0,").concat(s,",").concat(t,",").concat(e+r-c*h," Z")}else i="M ".concat(t,",").concat(e," h ").concat(n," v ").concat(r," h ").concat(-n," Z");return i},g=function(t,e){if(!t||!e)return!1;var n=t.x,r=t.y,o=e.x,i=e.y,a=e.width,c=e.height;if(Math.abs(a)>0&&Math.abs(c)>0){var u=Math.min(o,o+a),s=Math.max(o,o+a),l=Math.min(i,i+c),f=Math.max(i,i+c);return n>=u&&n<=s&&r>=l&&r<=f}return!1},m=function(t){!function(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&h(t,e)}(d,t);var e,n,o,u=p(d);function d(){var t;l(this,d);for(var e=arguments.length,n=new Array(e),r=0;r0,from:{width:u,height:l,x:n,y:o},to:{width:u,height:l,x:n,y:o},duration:g,animationEasing:y,isActive:x},(function(e){var n=e.width,o=e.height,i=e.x,u=e.y;return r.createElement(a.ZP,{canBegin:p>0,from:"0px ".concat(-1===p?1:p,"px"),to:"".concat(p,"px 0px"),attributeName:"strokeDasharray",begin:m,duration:g,isActive:b,easing:y},r.createElement("path",s({},(0,c.L6)(t.props,!0),{className:w,d:v(i,u,n,o,f),ref:function(e){t.node=e}})))})):r.createElement("path",s({},(0,c.L6)(this.props,!0),{className:w,d:v(n,o,u,l,f)}))}}])&&f(e.prototype,n),o&&f(e,o),d}(r.PureComponent);m.defaultProps={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"}},19139:function(t,e,n){"use strict";n.d(e,{L:function(){return b}});var r=n(50390),o=n(97715),i=n.n(o),a=n(54183),c=n(6182),u=n(30631);function s(t){return s="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s(t)}function l(){return l=Object.assign||function(t){for(var e=1;e180),",").concat(+(i>s),",\n ").concat(f.x,",").concat(f.y,"\n ");if(r>0){var p=(0,c.op)(e,n,r,i),d=(0,c.op)(e,n,r,s);h+="L ".concat(d.x,",").concat(d.y,"\n A ").concat(r,",").concat(r,",0,\n ").concat(+(Math.abs(a)>180),",").concat(+(i<=s),",\n ").concat(p.x,",").concat(p.y," Z")}else h+="L ".concat(e,",").concat(n," Z");return h},b=function(t){!function(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&p(t,e)}(s,t);var e,n,o,c=d(s);function s(){return f(this,s),c.apply(this,arguments)}return e=s,(n=[{key:"render",value:function(){var t=this.props,e=t.cx,n=t.cy,o=t.innerRadius,c=t.outerRadius,s=t.cornerRadius,f=t.forceCornerRadius,h=t.cornerIsExternal,p=t.startAngle,d=t.endAngle,y=t.className;if(c0&&Math.abs(p-d)<360?function(t){var e=t.cx,n=t.cy,r=t.innerRadius,o=t.outerRadius,i=t.cornerRadius,a=t.forceCornerRadius,c=t.cornerIsExternal,s=t.startAngle,l=t.endAngle,f=(0,u.uY)(l-s),h=g({cx:e,cy:n,radius:o,angle:s,sign:f,cornerRadius:i,cornerIsExternal:c}),p=h.circleTangency,d=h.lineTangency,y=h.theta,v=g({cx:e,cy:n,radius:o,angle:l,sign:-f,cornerRadius:i,cornerIsExternal:c}),b=v.circleTangency,x=v.lineTangency,w=v.theta,O=c?Math.abs(s-l):Math.abs(s-l)-y-w;if(O<0)return a?"M ".concat(d.x,",").concat(d.y,"\n a").concat(i,",").concat(i,",0,0,1,").concat(2*i,",0\n a").concat(i,",").concat(i,",0,0,1,").concat(2*-i,",0\n "):m({cx:e,cy:n,innerRadius:r,outerRadius:o,startAngle:s,endAngle:l});var _="M ".concat(d.x,",").concat(d.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(f<0),",").concat(p.x,",").concat(p.y,"\n A").concat(o,",").concat(o,",0,").concat(+(O>180),",").concat(+(f<0),",").concat(b.x,",").concat(b.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(f<0),",").concat(x.x,",").concat(x.y,"\n ");if(r>0){var E=g({cx:e,cy:n,radius:r,angle:s,sign:f,isExternal:!0,cornerRadius:i,cornerIsExternal:c}),S=E.circleTangency,k=E.lineTangency,j=E.theta,A=g({cx:e,cy:n,radius:r,angle:l,sign:-f,isExternal:!0,cornerRadius:i,cornerIsExternal:c}),M=A.circleTangency,P=A.lineTangency,T=A.theta,C=c?Math.abs(s-l):Math.abs(s-l)-j-T;if(C<0&&0===i)return"".concat(_,"L").concat(e,",").concat(n,"Z");_+="L".concat(P.x,",").concat(P.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(f<0),",").concat(M.x,",").concat(M.y,"\n A").concat(r,",").concat(r,",0,").concat(+(C>180),",").concat(+(f>0),",").concat(S.x,",").concat(S.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(f<0),",").concat(k.x,",").concat(k.y,"Z")}else _+="L".concat(e,",").concat(n,"Z");return _}({cx:e,cy:n,innerRadius:o,outerRadius:c,cornerRadius:Math.min(w,x/2),forceCornerRadius:f,cornerIsExternal:h,startAngle:p,endAngle:d}):m({cx:e,cy:n,innerRadius:o,outerRadius:c,startAngle:p,endAngle:d}),r.createElement("path",l({},(0,a.L6)(this.props,!0),{className:b,d:v}))}}])&&h(e.prototype,n),o&&h(e,o),s}(r.PureComponent);b.defaultProps={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1}},49773:function(t,e,n){"use strict";n.d(e,{t9:function(){return d},O1:function(){return y},_b:function(){return v},Ky:function(){return m}});var r=n(69087),o=n.n(r),i=n(89493),a=n.n(i),c=n(46154),u=n(79853),s=n(30631);function l(t,e){for(var n=0;n0&&(A=Math.min((t||0)-(M[e-1]||0),A))}));var P=A/j,T="vertical"===b.layout?n.height:n.width;if("gap"===b.padding&&(u=P*T/2),"no-gap"===b.padding){var C=(0,s.h1)(t.barCategoryGap,P*T),N=P*T/2;u=N-C-(N-C)/T*C}}f="xAxis"===r?[n.left+(_.left||0)+(u||0),n.left+n.width-(_.right||0)-(u||0)]:"yAxis"===r?"horizontal"===l?[n.top+n.height-(_.bottom||0),n.top+(_.top||0)]:[n.top+(_.top||0)+(u||0),n.top+n.height-(_.bottom||0)-(u||0)]:b.range,S&&(f=[f[1],f[0]]);var I=(0,c.Hq)(b,o,v),D=I.scale,R=I.realScaleType;D.domain(w).range(f),(0,c.zF)(D);var L=(0,c.g$)(D,h(h({},b),{},{realScaleType:R}));"xAxis"===r?(m="top"===x&&!E||"bottom"===x&&E,d=n.left,g=y[k]-m*b.height):"yAxis"===r&&(m="left"===x&&!E||"right"===x&&E,d=y[k]-m*b.width,g=n.top);var B=h(h(h({},b),L),{},{realScaleType:R,x:d,y:g,scale:D,width:"xAxis"===r?n.width:b.width,height:"yAxis"===r?n.height:b.height});return B.bandSize=(0,c.zT)(B,L),b.hide||"xAxis"!==r?b.hide||(y[k]+=(m?-1:1)*B.width):y[k]+=(m?-1:1)*B.height,h(h({},i),{},p({},a,B))}),{})},y=function(t,e){var n=t.x,r=t.y,o=e.x,i=e.y;return{x:Math.min(n,o),y:Math.min(r,i),width:Math.abs(o-n),height:Math.abs(i-r)}},v=function(t){var e=t.x1,n=t.y1,r=t.x2,o=t.y2;return y({x:e,y:n},{x:r,y:o})},g=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.scale=void 0,this.scale=e}var e,n,r;return e=t,n=[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.bandAware,r=e.position;if(void 0!==t){if(r)switch(r){case"start":default:return this.scale(t);case"middle":var o=this.bandwidth?this.bandwidth()/2:0;return this.scale(t)+o;case"end":var i=this.bandwidth?this.bandwidth():0;return this.scale(t)+i}if(n){var a=this.bandwidth?this.bandwidth()/2:0;return this.scale(t)+a}return this.scale(t)}}},{key:"isInRange",value:function(t){var e=this.range(),n=e[0],r=e[e.length-1];return n<=r?t>=n&&t<=r:t>=r&&t<=n}}],r=[{key:"create",value:function(e){return new t(e)}}],n&&l(e.prototype,n),r&&l(e,r),t}();g.EPS=1e-4;var m=function(t){var e=Object.keys(t).reduce((function(e,n){return h(h({},e),{},p({},n,g.create(t[n])))}),{});return h(h({},e),{},{apply:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.bandAware,o=n.position;return a()(t,(function(t,n){return e[n].apply(t,{bandAware:r,position:o})}))},isInRange:function(t){return o()(t,(function(t,n){return e[n].isInRange(t)}))}})}},46154:function(t,e,n){"use strict";n.d(e,{By:function(){return Bi},VO:function(){return Ni},zF:function(){return Yi},DO:function(){return Gi},Bu:function(){return Xi},zT:function(){return sa},qz:function(){return Li},pt:function(){return Ri},Yj:function(){return ra},Fy:function(){return na},Hv:function(){return ea},Rf:function(){return Vi},gF:function(){return Ci},s6:function(){return zi},EB:function(){return ia},zp:function(){return Di},fk:function(){return Ii},wh:function(){return Qi},O3:function(){return oa},uY:function(){return Wi},g$:function(){return ta},Qo:function(){return fa},F$:function(){return Ti},NA:function(){return Hi},ko:function(){return la},ZI:function(){return Ui},Hq:function(){return qi},LG:function(){return ua},Vv:function(){return $i}});var r={};n.r(r),n.d(r,{scaleBand:function(){return tt.Z},scaleDiverging:function(){return fi},scaleDivergingLog:function(){return hi},scaleDivergingPow:function(){return di},scaleDivergingSqrt:function(){return yi},scaleDivergingSymlog:function(){return pi},scaleIdentity:function(){return Ue},scaleImplicit:function(){return tn.O},scaleLinear:function(){return Fe},scaleLog:function(){return Xe},scaleOrdinal:function(){return tn.Z},scalePoint:function(){return tt.x},scalePow:function(){return an},scaleQuantile:function(){return gn},scaleQuantize:function(){return bn},scaleRadial:function(){return ln},scaleSequential:function(){return ri},scaleSequentialLog:function(){return oi},scaleSequentialPow:function(){return ai},scaleSequentialQuantile:function(){return ui},scaleSequentialSqrt:function(){return ci},scaleSequentialSymlog:function(){return ii},scaleSqrt:function(){return cn},scaleSymlog:function(){return Qe},scaleThreshold:function(){return xn},scaleTime:function(){return Qo},scaleUtc:function(){return ti},tickFormat:function(){return Le}});var o=n(52891),i=n.n(o),a=n(58850),c=n.n(a),u=n(40386),s=n.n(u),l=n(54088),f=n.n(l),h=n(64364),p=n.n(h),d=n(85809),y=n.n(d),v=n(98398),g=n.n(v),m=n(71441),b=n.n(m),x=n(78538),w=n.n(x),O=n(66071),_=n.n(O),E=n(38342),S=n.n(E),k=n(85686),j=n.n(k),A=n(68831),M=n.n(A);function P(t){return function(t){if(Array.isArray(t))return T(t)}(t)||function(t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"===typeof t)return T(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return T(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=e?n.apply(void 0,o):t(e-a,D((function(){for(var t=arguments.length,e=new Array(t),r=0;rt.length)&&(e=t.length);for(var n=0,r=new Array(e);nr&&(o=r,i=n),[o,i]}function X(t,e,n){if(t.lte(0))return new(M())(0);var r=V.getDigitCount(t.toNumber()),o=new(M())(10).pow(r),i=t.div(o),a=1!==r?.05:.1,c=new(M())(Math.ceil(i.div(a).toNumber())).add(n).mul(a).mul(o);return e?c:new(M())(Math.ceil(c))}function $(t,e,n){var r=1,o=new(M())(t);if(!o.isint()&&n){var i=Math.abs(t);i<1?(r=new(M())(10).pow(V.getDigitCount(t)-1),o=new(M())(Math.floor(o.div(r).toNumber())).mul(r)):i>1&&(o=new(M())(Math.floor(t)))}else 0===t?o=new(M())(Math.floor((e-1)/2)):n||(o=new(M())(Math.floor(t)));var a=Math.floor((e-1)/2);return U(F((function(t){return o.add(new(M())(t-a).mul(r)).toNumber()})),B)(0,e)}function K(t,e,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(!Number.isFinite((e-t)/(n-1)))return{step:new(M())(0),tickMin:new(M())(0),tickMax:new(M())(0)};var i,a=X(new(M())(e).sub(t).div(n-1),r,o);i=t<=0&&e>=0?new(M())(0):(i=new(M())(t).add(e).div(2)).sub(new(M())(i).mod(a));var c=Math.ceil(i.sub(t).div(a).toNumber()),u=Math.ceil(new(M())(e).sub(i).div(a).toNumber()),s=c+u+1;return s>n?K(t,e,n,r,o+1):(s0?u+(n-s):u,c=e>0?c:c+(n-s)),{step:a,tickMin:i.sub(new(M())(c).mul(a)),tickMax:i.add(new(M())(u).mul(a))})}var J=H((function(t){var e=G(t,2),n=e[0],r=e[1],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=Math.max(o,2),c=Y([n,r]),u=G(c,2),s=u[0],l=u[1];if(s===-1/0||l===1/0){var f=l===1/0?[s].concat(W(B(0,o-1).map((function(){return 1/0})))):[].concat(W(B(0,o-1).map((function(){return-1/0}))),[l]);return n>r?z(f):f}if(s===l)return $(s,o,i);var h=K(s,l,a,i),p=h.step,d=h.tickMin,y=h.tickMax,v=V.rangeStep(d,y.add(new(M())(.1).mul(p)),p);return n>r?z(v):v})),Q=(H((function(t){var e=G(t,2),n=e[0],r=e[1],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=Math.max(o,2),c=Y([n,r]),u=G(c,2),s=u[0],l=u[1];if(s===-1/0||l===1/0)return[n,r];if(s===l)return $(s,o,i);var f=X(new(M())(l).sub(s).div(a-1),i,0),h=U(F((function(t){return new(M())(s).add(new(M())(t).mul(f)).toNumber()})),B),p=h(0,a).filter((function(t){return t>=s&&t<=l}));return n>r?z(p):p})),H((function(t,e){var n=G(t,2),r=n[0],o=n[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=Y([r,o]),c=G(a,2),u=c[0],s=c[1];if(u===-1/0||s===1/0)return[r,o];if(u===s)return[u];var l=Math.max(e,2),f=X(new(M())(s).sub(u).div(l-1),i,0),h=[].concat(W(V.rangeStep(new(M())(u),new(M())(s).sub(new(M())(.99).mul(f)),f)),[s]);return r>o?z(h):h}))),tt=n(64868),et=Math.sqrt(50),nt=Math.sqrt(10),rt=Math.sqrt(2);function ot(t,e,n){var r,o,i,a,c=-1;if(n=+n,(t=+t)===(e=+e)&&n>0)return[t];if((r=e0){var u=Math.round(t/a),s=Math.round(e/a);for(u*ae&&--s,i=new Array(o=s-u+1);++ce&&--f,i=new Array(o=f-l+1);++c=0?(i>=et?10:i>=nt?5:i>=rt?2:1)*Math.pow(10,o):-Math.pow(10,-o)/(i>=et?10:i>=nt?5:i>=rt?2:1)}function at(t,e,n){var r=Math.abs(e-t)/Math.max(0,n),o=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),i=r/o;return i>=et?o*=10:i>=nt?o*=5:i>=rt&&(o*=2),ee?1:t>=e?0:NaN}function ut(t){var e=t,n=t;function r(t,e,r,o){for(null==r&&(r=0),null==o&&(o=t.length);r>>1;n(t[i],e)<0?r=i+1:o=i}return r}return 1===t.length&&(e=function(e,n){return t(e)-n},n=function(t){return function(e,n){return ct(t(e),n)}}(t)),{left:r,center:function(t,n,o,i){null==o&&(o=0),null==i&&(i=t.length);var a=r(t,n,o,i-1);return a>o&&e(t[a-1],n)>-e(t[a],n)?a-1:a},right:function(t,e,r,o){for(null==r&&(r=0),null==o&&(o=t.length);r>>1;n(t[i],e)>0?o=i:r=i+1}return r}}}var st=n(89472),lt=n(84322),ft=n.n(lt),ht=ft().mark(dt);function pt(t){return null===t?NaN:+t}function dt(t,e){var n,r,o,i,a,c,u;return ft().wrap((function(s){for(;;)switch(s.prev=s.next){case 0:if(void 0!==e){s.next=21;break}n=(0,st.Z)(t),s.prev=2,n.s();case 4:if((r=n.n()).done){s.next=11;break}if(!(null!=(o=r.value)&&(o=+o)>=o)){s.next=9;break}return s.next=9,o;case 9:s.next=4;break;case 11:s.next=16;break;case 13:s.prev=13,s.t0=s.catch(2),n.e(s.t0);case 16:return s.prev=16,n.f(),s.finish(16);case 19:s.next=40;break;case 21:i=-1,a=(0,st.Z)(t),s.prev=23,a.s();case 25:if((c=a.n()).done){s.next=32;break}if(u=c.value,!(null!=(u=e(u,++i,t))&&(u=+u)>=u)){s.next=30;break}return s.next=30,u;case 30:s.next=25;break;case 32:s.next=37;break;case 34:s.prev=34,s.t1=s.catch(23),a.e(s.t1);case 37:return s.prev=37,a.f(),s.finish(37);case 40:case"end":return s.stop()}}),ht,null,[[2,13,16,19],[23,34,37,40]])}var yt=ut(ct),vt=yt.right,gt=(yt.left,ut(pt).center,vt);function mt(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function bt(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function xt(){}var wt=.7,Ot=1/wt,_t="\\s*([+-]?\\d+)\\s*",Et="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",St="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",kt=/^#([0-9a-f]{3,8})$/,jt=new RegExp("^rgb\\("+[_t,_t,_t]+"\\)$"),At=new RegExp("^rgb\\("+[St,St,St]+"\\)$"),Mt=new RegExp("^rgba\\("+[_t,_t,_t,Et]+"\\)$"),Pt=new RegExp("^rgba\\("+[St,St,St,Et]+"\\)$"),Tt=new RegExp("^hsl\\("+[Et,St,St]+"\\)$"),Ct=new RegExp("^hsla\\("+[Et,St,St,Et]+"\\)$"),Nt={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function It(){return this.rgb().formatHex()}function Dt(){return this.rgb().formatRgb()}function Rt(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=kt.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?Lt(e):3===n?new zt(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?Bt(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?Bt(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=jt.exec(t))?new zt(e[1],e[2],e[3],1):(e=At.exec(t))?new zt(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=Mt.exec(t))?Bt(e[1],e[2],e[3],e[4]):(e=Pt.exec(t))?Bt(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=Tt.exec(t))?Gt(e[1],e[2]/100,e[3]/100,1):(e=Ct.exec(t))?Gt(e[1],e[2]/100,e[3]/100,e[4]):Nt.hasOwnProperty(t)?Lt(Nt[t]):"transparent"===t?new zt(NaN,NaN,NaN,0):null}function Lt(t){return new zt(t>>16&255,t>>8&255,255&t,1)}function Bt(t,e,n,r){return r<=0&&(t=e=n=NaN),new zt(t,e,n,r)}function Ft(t){return t instanceof xt||(t=Rt(t)),t?new zt((t=t.rgb()).r,t.g,t.b,t.opacity):new zt}function Ut(t,e,n,r){return 1===arguments.length?Ft(t):new zt(t,e,n,null==r?1:r)}function zt(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function Ht(){return"#"+Wt(this.r)+Wt(this.g)+Wt(this.b)}function Vt(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function Wt(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function Gt(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Zt(t,e,n,r)}function qt(t){if(t instanceof Zt)return new Zt(t.h,t.s,t.l,t.opacity);if(t instanceof xt||(t=Rt(t)),!t)return new Zt;if(t instanceof Zt)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,o=Math.min(e,n,r),i=Math.max(e,n,r),a=NaN,c=i-o,u=(i+o)/2;return c?(a=e===i?(n-r)/c+6*(n0&&u<1?0:a,new Zt(a,c,u,t.opacity)}function Zt(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function Yt(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}function Xt(t,e,n,r,o){var i=t*t,a=i*t;return((1-3*t+3*i-a)*e+(4-6*i+3*a)*n+(1+3*t+3*i-3*a)*r+a*o)/6}mt(xt,Rt,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:It,formatHex:It,formatHsl:function(){return qt(this).formatHsl()},formatRgb:Dt,toString:Dt}),mt(zt,Ut,bt(xt,{brighter:function(t){return t=null==t?Ot:Math.pow(Ot,t),new zt(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?wt:Math.pow(wt,t),new zt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ht,formatHex:Ht,formatRgb:Vt,toString:Vt})),mt(Zt,(function(t,e,n,r){return 1===arguments.length?qt(t):new Zt(t,e,n,null==r?1:r)}),bt(xt,{brighter:function(t){return t=null==t?Ot:Math.pow(Ot,t),new Zt(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?wt:Math.pow(wt,t),new Zt(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,o=2*n-r;return new zt(Yt(t>=240?t-240:t+120,o,r),Yt(t,o,r),Yt(t<120?t+240:t-120,o,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));var $t=function(t){return function(){return t}};function Kt(t,e){return function(n){return t+n*e}}function Jt(t){return 1===(t=+t)?Qt:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}(e,n,t):$t(isNaN(e)?n:e)}}function Qt(t,e){var n=e-t;return n?Kt(t,n):$t(isNaN(t)?e:t)}var te=function t(e){var n=Jt(e);function r(t,e){var r=n((t=Ut(t)).r,(e=Ut(e)).r),o=n(t.g,e.g),i=n(t.b,e.b),a=Qt(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=o(e),t.b=i(e),t.opacity=a(e),t+""}}return r.gamma=t,r}(1);function ee(t){return function(e){var n,r,o=e.length,i=new Array(o),a=new Array(o),c=new Array(o);for(n=0;n=1?(n=1,e-1):Math.floor(n*e),o=t[r],i=t[r+1],a=r>0?t[r-1]:2*o-i,c=ri&&(o=e.slice(i,o),c[a]?c[a]+=o:c[++a]=o),(n=n[0])===(r=r[0])?c[a]?c[a]+=r:c[++a]=r:(c[++a]=null,u.push({i:a,x:oe(n,r)})),i=ce.lastIndex;return ie&&(n=t,t=e,e=n),function(n){return Math.max(t,Math.min(e,n))}}(a[0],a[t-1])),r=t>2?ge:ve,o=i=null,f}function f(e){return null==e||isNaN(e=+e)?n:(o||(o=r(a.map(t),c,u)))(t(s(e)))}return f.invert=function(n){return s(e((i||(i=r(c,a.map(t),oe)))(n)))},f.domain=function(t){return arguments.length?(a=Array.from(t,he),l()):a.slice()},f.range=function(t){return arguments.length?(c=Array.from(t),l()):c.slice()},f.rangeRound=function(t){return c=Array.from(t),u=fe,l()},f.clamp=function(t){return arguments.length?(s=!!t||de,l()):s!==de},f.interpolate=function(t){return arguments.length?(u=t,l()):u},f.unknown=function(t){return arguments.length?(n=t,f):n},function(n,r){return t=n,e=r,l()}}function xe(){return be()(de,de)}var we,Oe=n(22281),_e=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Ee(t){if(!(e=_e.exec(t)))throw new Error("invalid format: "+t);var e;return new Se({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function Se(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function ke(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function je(t){return(t=ke(Math.abs(t)))?t[1]:NaN}function Ae(t,e){var n=ke(t,e);if(!n)return t+"";var r=n[0],o=n[1];return o<0?"0."+new Array(-o).join("0")+r:r.length>o+1?r.slice(0,o+1)+"."+r.slice(o+1):r+new Array(o-r.length+2).join("0")}Ee.prototype=Se.prototype,Se.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var Me={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return Ae(100*t,e)},r:Ae,s:function(t,e){var n=ke(t,e);if(!n)return t+"";var r=n[0],o=n[1],i=o-(we=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,a=r.length;return i===a?r:i>a?r+new Array(i-a+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+new Array(1-i).join("0")+ke(t,Math.max(0,e+i-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function Pe(t){return t}var Te,Ce,Ne,Ie=Array.prototype.map,De=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function Re(t){var e,n,r=void 0===t.grouping||void 0===t.thousands?Pe:(e=Ie.call(t.grouping,Number),n=t.thousands+"",function(t,r){for(var o=t.length,i=[],a=0,c=e[0],u=0;o>0&&c>0&&(u+c+1>r&&(c=Math.max(1,r-u)),i.push(t.substring(o-=c,o+c)),!((u+=c+1)>r));)c=e[a=(a+1)%e.length];return i.reverse().join(n)}),o=void 0===t.currency?"":t.currency[0]+"",i=void 0===t.currency?"":t.currency[1]+"",a=void 0===t.decimal?".":t.decimal+"",c=void 0===t.numerals?Pe:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(Ie.call(t.numerals,String)),u=void 0===t.percent?"%":t.percent+"",s=void 0===t.minus?"\u2212":t.minus+"",l=void 0===t.nan?"NaN":t.nan+"";function f(t){var e=(t=Ee(t)).fill,n=t.align,f=t.sign,h=t.symbol,p=t.zero,d=t.width,y=t.comma,v=t.precision,g=t.trim,m=t.type;"n"===m?(y=!0,m="g"):Me[m]||(void 0===v&&(v=12),g=!0,m="g"),(p||"0"===e&&"="===n)&&(p=!0,e="0",n="=");var b="$"===h?o:"#"===h&&/[boxX]/.test(m)?"0"+m.toLowerCase():"",x="$"===h?i:/[%p]/.test(m)?u:"",w=Me[m],O=/[defgprs%]/.test(m);function _(t){var o,i,u,h=b,_=x;if("c"===m)_=w(t)+_,t="";else{var E=(t=+t)<0||1/t<0;if(t=isNaN(t)?l:w(Math.abs(t),v),g&&(t=function(t){t:for(var e,n=t.length,r=1,o=-1;r0&&(o=0)}return o>0?t.slice(0,o)+t.slice(e+1):t}(t)),E&&0===+t&&"+"!==f&&(E=!1),h=(E?"("===f?f:s:"-"===f||"("===f?"":f)+h,_=("s"===m?De[8+we/3]:"")+_+(E&&"("===f?")":""),O)for(o=-1,i=t.length;++o(u=t.charCodeAt(o))||u>57){_=(46===u?a+t.slice(o+1):t.slice(o))+_,t=t.slice(0,o);break}}y&&!p&&(t=r(t,1/0));var S=h.length+t.length+_.length,k=S>1)+h+t+_+k.slice(S);break;default:t=k+h+t+_}return c(t)}return v=void 0===v?6:/[gprs]/.test(m)?Math.max(1,Math.min(21,v)):Math.max(0,Math.min(20,v)),_.toString=function(){return t+""},_}return{format:f,formatPrefix:function(t,e){var n=f(((t=Ee(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(je(e)/3))),o=Math.pow(10,-r),i=De[8+r/3];return function(t){return n(o*t)+i}}}}function Le(t,e,n,r){var o,i=at(t,e,n);switch((r=Ee(null==r?",f":r)).type){case"s":var a=Math.max(Math.abs(t),Math.abs(e));return null!=r.precision||isNaN(o=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(je(e)/3)))-je(Math.abs(t)))}(i,a))||(r.precision=o),Ne(r,a);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(o=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,je(e)-je(t))+1}(i,Math.max(Math.abs(t),Math.abs(e))))||(r.precision=o-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(o=function(t){return Math.max(0,-je(Math.abs(t)))}(i))||(r.precision=o-2*("%"===r.type))}return Ce(r)}function Be(t){var e=t.domain;return t.ticks=function(t){var n=e();return ot(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){var r=e();return Le(r[0],r[r.length-1],null==t?10:t,n)},t.nice=function(n){null==n&&(n=10);var r,o,i=e(),a=0,c=i.length-1,u=i[a],s=i[c],l=10;for(s0;){if((o=it(u,s,n))===r)return i[a]=u,i[c]=s,e(i);if(o>0)u=Math.floor(u/o)*o,s=Math.ceil(s/o)*o;else{if(!(o<0))break;u=Math.ceil(u*o)/o,s=Math.floor(s*o)/o}r=o}return t},t}function Fe(){var t=xe();return t.copy=function(){return me(t,Fe())},Oe.o.apply(t,arguments),Be(t)}function Ue(t){var e;function n(t){return null==t||isNaN(t=+t)?e:t}return n.invert=n,n.domain=n.range=function(e){return arguments.length?(t=Array.from(e,he),n):t.slice()},n.unknown=function(t){return arguments.length?(e=t,n):e},n.copy=function(){return Ue(t).unknown(e)},t=arguments.length?Array.from(t,he):[0,1],Be(n)}function ze(t,e){var n,r=0,o=(t=t.slice()).length-1,i=t[r],a=t[o];return a0){for(;h<=p;++h)for(l=1,s=n(h);lu)break;y.push(f)}}else for(;h<=p;++h)for(l=i-1,s=n(h);l>=1;--l)if(!((f=s*l)u)break;y.push(f)}2*y.length=i)&&(n=i)}}catch(l){o.e(l)}finally{o.f()}}else{var a,c=-1,u=(0,st.Z)(t);try{for(u.s();!(a=u.n()).done;){var s=a.value;null!=(s=e(s,++c,t))&&(n=s)&&(n=s)}}catch(l){u.e(l)}finally{u.f()}}return n}function hn(t,e){var n;if(void 0===e){var r,o=(0,st.Z)(t);try{for(o.s();!(r=o.n()).done;){var i=r.value;null!=i&&(n>i||void 0===n&&i>=i)&&(n=i)}}catch(l){o.e(l)}finally{o.f()}}else{var a,c=-1,u=(0,st.Z)(t);try{for(u.s();!(a=u.n()).done;){var s=a.value;null!=(s=e(s,++c,t))&&(n>s||void 0===n&&s>=s)&&(n=s)}}catch(l){u.e(l)}finally{u.f()}}return n}function pn(t,e){for(var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t.length-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:ct;r>n;){if(r-n>600){var i=r-n+1,a=e-n+1,c=Math.log(i),u=.5*Math.exp(2*c/3),s=.5*Math.sqrt(c*u*(i-u)/i)*(a-i/2<0?-1:1),l=Math.max(n,Math.floor(e-a*u/i+s)),f=Math.min(r,Math.floor(e+(i-a)*u/i+s));pn(t,e,l,f,o)}var h=t[e],p=n,d=r;for(dn(t,n,e),o(t[r],h)>0&&dn(t,n,r);p0;)--d}0===o(t[n],h)?dn(t,n,d):dn(t,++d,r),d<=e&&(n=d+1),e<=d&&(r=d-1)}return t}function dn(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function yn(t,e,n){if(r=(t=Float64Array.from(dt(t,n))).length){if((e=+e)<=0||r<2)return hn(t);if(e>=1)return fn(t);var r,o=(r-1)*e,i=Math.floor(o),a=fn(pn(t,i).subarray(0,i+1));return a+(hn(t.subarray(i+1))-a)*(o-i)}}function vn(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:pt;if(r=t.length){if((e=+e)<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,o=(r-1)*e,i=Math.floor(o),a=+n(t[i],i,t),c=+n(t[i+1],i+1,t);return a+(c-a)*(o-i)}}function gn(){var t,e=[],n=[],r=[];function o(){var t=0,o=Math.max(1,n.length);for(r=new Array(o-1);++t0?r[o-1]:e[0],o=r?[o[r-1],n]:[o[a-1],o[a]]},a.unknown=function(e){return arguments.length?(t=e,a):a},a.thresholds=function(){return o.slice()},a.copy=function(){return bn().domain([e,n]).range(i).unknown(t)},Oe.o.apply(Be(a),arguments)}function xn(){var t,e=[.5],n=[0,1],r=1;function o(o){return null!=o&&o<=o?n[gt(e,o,0,r)]:t}return o.domain=function(t){return arguments.length?(e=Array.from(t),r=Math.min(e.length,n.length-1),o):e.slice()},o.range=function(t){return arguments.length?(n=Array.from(t),r=Math.min(e.length,n.length-1),o):n.slice()},o.invertExtent=function(t){var r=n.indexOf(t);return[e[r-1],e[r]]},o.unknown=function(e){return arguments.length?(t=e,o):t},o.copy=function(){return xn().domain(e).range(n).unknown(t)},Oe.o.apply(o,arguments)}var wn=1e3,On=6e4,_n=36e5,En=864e5,Sn=6048e5,kn=2592e6,jn=31536e6,An=new Date,Mn=new Date;function Pn(t,e,n,r){function o(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return o.floor=function(e){return t(e=new Date(+e)),e},o.ceil=function(n){return t(n=new Date(n-1)),e(n,1),t(n),n},o.round=function(t){var e=o(t),n=o.ceil(t);return t-e0))return c;do{c.push(a=new Date(+n)),e(n,i),t(n)}while(a=e)for(;t(e),!n(e);)e.setTime(e-1)}),(function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););}))},n&&(o.count=function(e,r){return An.setTime(+e),Mn.setTime(+r),t(An),t(Mn),Math.floor(n(An,Mn))},o.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?o.filter(r?function(e){return r(e)%t===0}:function(e){return o.count(0,e)%t===0}):o:null}),o}var Tn=Pn((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));Tn.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?Pn((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,n){e.setTime(+e+n*t)}),(function(e,n){return(n-e)/t})):Tn:null};var Cn=Tn,Nn=(Tn.range,Pn((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+e*wn)}),(function(t,e){return(e-t)/wn}),(function(t){return t.getUTCSeconds()}))),In=Nn,Dn=(Nn.range,Pn((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*wn)}),(function(t,e){t.setTime(+t+e*On)}),(function(t,e){return(e-t)/On}),(function(t){return t.getMinutes()}))),Rn=Dn,Ln=(Dn.range,Pn((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*wn-t.getMinutes()*On)}),(function(t,e){t.setTime(+t+e*_n)}),(function(t,e){return(e-t)/_n}),(function(t){return t.getHours()}))),Bn=Ln,Fn=(Ln.range,Pn((function(t){return t.setHours(0,0,0,0)}),(function(t,e){return t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*On)/En}),(function(t){return t.getDate()-1}))),Un=Fn;Fn.range;function zn(t){return Pn((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*On)/Sn}))}var Hn=zn(0),Vn=zn(1),Wn=zn(2),Gn=zn(3),qn=zn(4),Zn=zn(5),Yn=zn(6),Xn=(Hn.range,Vn.range,Wn.range,Gn.range,qn.range,Zn.range,Yn.range,Pn((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()}))),$n=Xn,Kn=(Xn.range,Pn((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()})));Kn.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Pn((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,n){e.setFullYear(e.getFullYear()+n*t)})):null};var Jn=Kn,Qn=(Kn.range,Pn((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*On)}),(function(t,e){return(e-t)/On}),(function(t){return t.getUTCMinutes()}))),tr=Qn,er=(Qn.range,Pn((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+e*_n)}),(function(t,e){return(e-t)/_n}),(function(t){return t.getUTCHours()}))),nr=er,rr=(er.range,Pn((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/En}),(function(t){return t.getUTCDate()-1}))),or=rr;rr.range;function ir(t){return Pn((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/Sn}))}var ar=ir(0),cr=ir(1),ur=ir(2),sr=ir(3),lr=ir(4),fr=ir(5),hr=ir(6),pr=(ar.range,cr.range,ur.range,sr.range,lr.range,fr.range,hr.range,Pn((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()}))),dr=pr,yr=(pr.range,Pn((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()})));yr.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Pn((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,n){e.setUTCFullYear(e.getUTCFullYear()+n*t)})):null};var vr=yr;yr.range;function gr(t,e,n,r,o,i){var a=[[In,1,wn],[In,5,5e3],[In,15,15e3],[In,30,3e4],[i,1,On],[i,5,3e5],[i,15,9e5],[i,30,18e5],[o,1,_n],[o,3,108e5],[o,6,216e5],[o,12,432e5],[r,1,En],[r,2,1728e5],[n,1,Sn],[e,1,kn],[e,3,7776e6],[t,1,jn]];function c(e,n,r){var o=Math.abs(n-e)/r,i=ut((function(t){return(0,mn.Z)(t,3)[2]})).right(a,o);if(i===a.length)return t.every(at(e/jn,n/jn,r));if(0===i)return Cn.every(Math.max(at(e,n,r),1));var c=(0,mn.Z)(a[o/a[i-1][2]68?1900:2e3),n+r[0].length):-1}function Zr(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Yr(t,e,n){var r=Nr.exec(e.slice(n,n+1));return r?(t.q=3*r[0]-3,n+r[0].length):-1}function Xr(t,e,n){var r=Nr.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function $r(t,e,n){var r=Nr.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Kr(t,e,n){var r=Nr.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Jr(t,e,n){var r=Nr.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Qr(t,e,n){var r=Nr.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function to(t,e,n){var r=Nr.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function eo(t,e,n){var r=Nr.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function no(t,e,n){var r=Nr.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function ro(t,e,n){var r=Ir.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function oo(t,e,n){var r=Nr.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function io(t,e,n){var r=Nr.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function ao(t,e){return Rr(t.getDate(),e,2)}function co(t,e){return Rr(t.getHours(),e,2)}function uo(t,e){return Rr(t.getHours()%12||12,e,2)}function so(t,e){return Rr(1+Un.count(Jn(t),t),e,3)}function lo(t,e){return Rr(t.getMilliseconds(),e,3)}function fo(t,e){return lo(t,e)+"000"}function ho(t,e){return Rr(t.getMonth()+1,e,2)}function po(t,e){return Rr(t.getMinutes(),e,2)}function yo(t,e){return Rr(t.getSeconds(),e,2)}function vo(t){var e=t.getDay();return 0===e?7:e}function go(t,e){return Rr(Hn.count(Jn(t)-1,t),e,2)}function mo(t){var e=t.getDay();return e>=4||0===e?qn(t):qn.ceil(t)}function bo(t,e){return t=mo(t),Rr(qn.count(Jn(t),t)+(4===Jn(t).getDay()),e,2)}function xo(t){return t.getDay()}function wo(t,e){return Rr(Vn.count(Jn(t)-1,t),e,2)}function Oo(t,e){return Rr(t.getFullYear()%100,e,2)}function _o(t,e){return Rr((t=mo(t)).getFullYear()%100,e,2)}function Eo(t,e){return Rr(t.getFullYear()%1e4,e,4)}function So(t,e){var n=t.getDay();return Rr((t=n>=4||0===n?qn(t):qn.ceil(t)).getFullYear()%1e4,e,4)}function ko(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Rr(e/60|0,"0",2)+Rr(e%60,"0",2)}function jo(t,e){return Rr(t.getUTCDate(),e,2)}function Ao(t,e){return Rr(t.getUTCHours(),e,2)}function Mo(t,e){return Rr(t.getUTCHours()%12||12,e,2)}function Po(t,e){return Rr(1+or.count(vr(t),t),e,3)}function To(t,e){return Rr(t.getUTCMilliseconds(),e,3)}function Co(t,e){return To(t,e)+"000"}function No(t,e){return Rr(t.getUTCMonth()+1,e,2)}function Io(t,e){return Rr(t.getUTCMinutes(),e,2)}function Do(t,e){return Rr(t.getUTCSeconds(),e,2)}function Ro(t){var e=t.getUTCDay();return 0===e?7:e}function Lo(t,e){return Rr(ar.count(vr(t)-1,t),e,2)}function Bo(t){var e=t.getUTCDay();return e>=4||0===e?lr(t):lr.ceil(t)}function Fo(t,e){return t=Bo(t),Rr(lr.count(vr(t),t)+(4===vr(t).getUTCDay()),e,2)}function Uo(t){return t.getUTCDay()}function zo(t,e){return Rr(cr.count(vr(t)-1,t),e,2)}function Ho(t,e){return Rr(t.getUTCFullYear()%100,e,2)}function Vo(t,e){return Rr((t=Bo(t)).getUTCFullYear()%100,e,2)}function Wo(t,e){return Rr(t.getUTCFullYear()%1e4,e,4)}function Go(t,e){var n=t.getUTCDay();return Rr((t=n>=4||0===n?lr(t):lr.ceil(t)).getUTCFullYear()%1e4,e,4)}function qo(){return"+0000"}function Zo(){return"%"}function Yo(t){return+t}function Xo(t){return Math.floor(+t/1e3)}function $o(t){return new Date(t)}function Ko(t){return t instanceof Date?+t:+new Date(+t)}function Jo(t,e,n,r,o,i,a,c,u,s){var l=xe(),f=l.invert,h=l.domain,p=s(".%L"),d=s(":%S"),y=s("%I:%M"),v=s("%I %p"),g=s("%a %d"),m=s("%b %d"),b=s("%B"),x=s("%Y");function w(t){return(u(t)1)for(var n,r,o,i=1,a=t[e[0]],c=a.length;i=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:Yo,s:Xo,S:yo,u:vo,U:go,V:bo,w:xo,W:wo,x:null,X:null,y:Oo,Y:Eo,Z:ko,"%":Zo},x={a:function(t){return a[t.getUTCDay()]},A:function(t){return i[t.getUTCDay()]},b:function(t){return u[t.getUTCMonth()]},B:function(t){return c[t.getUTCMonth()]},c:null,d:jo,e:jo,f:Co,g:Vo,G:Go,H:Ao,I:Mo,j:Po,L:To,m:No,M:Io,p:function(t){return o[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:Yo,s:Xo,S:Do,u:Ro,U:Lo,V:Fo,w:Uo,W:zo,x:null,X:null,y:Ho,Y:Wo,Z:qo,"%":Zo},w={a:function(t,e,n){var r=p.exec(e.slice(n));return r?(t.w=d.get(r[0].toLowerCase()),n+r[0].length):-1},A:function(t,e,n){var r=f.exec(e.slice(n));return r?(t.w=h.get(r[0].toLowerCase()),n+r[0].length):-1},b:function(t,e,n){var r=g.exec(e.slice(n));return r?(t.m=m.get(r[0].toLowerCase()),n+r[0].length):-1},B:function(t,e,n){var r=y.exec(e.slice(n));return r?(t.m=v.get(r[0].toLowerCase()),n+r[0].length):-1},c:function(t,n,r){return E(t,e,n,r)},d:$r,e:$r,f:no,g:qr,G:Gr,H:Jr,I:Jr,j:Kr,L:eo,m:Xr,M:Qr,p:function(t,e,n){var r=s.exec(e.slice(n));return r?(t.p=l.get(r[0].toLowerCase()),n+r[0].length):-1},q:Yr,Q:oo,s:io,S:to,u:zr,U:Hr,V:Vr,w:Ur,W:Wr,x:function(t,e,r){return E(t,n,e,r)},X:function(t,e,n){return E(t,r,e,n)},y:qr,Y:Gr,Z:Zr,"%":ro};function O(t,e){return function(n){var r,o,i,a=[],c=-1,u=0,s=t.length;for(n instanceof Date||(n=new Date(+n));++c53)return null;"w"in i||(i.w=1),"Z"in i?(o=(r=jr(Ar(i.y,0,1))).getUTCDay(),r=o>4||0===o?cr.ceil(r):cr(r),r=or.offset(r,7*(i.V-1)),i.y=r.getUTCFullYear(),i.m=r.getUTCMonth(),i.d=r.getUTCDate()+(i.w+6)%7):(o=(r=kr(Ar(i.y,0,1))).getDay(),r=o>4||0===o?Vn.ceil(r):Vn(r),r=Un.offset(r,7*(i.V-1)),i.y=r.getFullYear(),i.m=r.getMonth(),i.d=r.getDate()+(i.w+6)%7)}else("W"in i||"U"in i)&&("w"in i||(i.w="u"in i?i.u%7:"W"in i?1:0),o="Z"in i?jr(Ar(i.y,0,1)).getUTCDay():kr(Ar(i.y,0,1)).getDay(),i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(o+5)%7:i.w+7*i.U-(o+6)%7);return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,jr(i)):kr(i)}}function E(t,e,n,r){for(var o,i,a=0,c=e.length,u=n.length;a=u)return-1;if(37===(o=e.charCodeAt(a++))){if(o=e.charAt(a++),!(i=w[o in Cr?e.charAt(a++):o])||(r=i(t,n,r))<0)return-1}else if(o!=n.charCodeAt(r++))return-1}return r}return b.x=O(n,b),b.X=O(r,b),b.c=O(e,b),x.x=O(n,x),x.X=O(r,x),x.c=O(e,x),{format:function(t){var e=O(t+="",b);return e.toString=function(){return t},e},parse:function(t){var e=_(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=O(t+="",x);return e.toString=function(){return t},e},utcParse:function(t){var e=_(t+="",!0);return e.toString=function(){return t},e}}}(t),Pr=Mr.format,Mr.parse,Tr=Mr.utcFormat,Mr.utcParse}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});var gi=n(58462),mi=n(49555);function bi(t){for(var e=t.length,n=new Array(e);--e>=0;)n[e]=e;return n}function xi(t,e){return t[e]}function wi(t){var e=[];return e.key=t,e}var Oi=n(30631),_i=n(79692),Ei=n(79853),Si=n(54183);function ki(t){return function(t){if(Array.isArray(t))return ji(t)}(t)||function(t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"===typeof t)return ji(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ji(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ji(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=-1,a=null!==(e=null===n||void 0===n?void 0:n.length)&&void 0!==e?e:0;if(a>1){if(o&&"angleAxis"===o.axisType&&Math.abs(Math.abs(o.range[1]-o.range[0])-360)<=1e-6)for(var c=o.range,u=0;u0?r[u-1].coordinate:r[a-1].coordinate,l=r[u].coordinate,f=u>=a-1?r[0].coordinate:r[u+1].coordinate,h=void 0;if((0,Oi.uY)(l-s)!==(0,Oi.uY)(f-l)){var p=[];if((0,Oi.uY)(f-l)===(0,Oi.uY)(c[1]-c[0])){h=f;var d=l+c[1]-c[0];p[0]=Math.min(d,(d+s)/2),p[1]=Math.max(d,(d+s)/2)}else{h=s;var y=f+c[1]-c[0];p[0]=Math.min(l,(y+l)/2),p[1]=Math.max(l,(y+l)/2)}var v=[Math.min(l,(h+l)/2),Math.max(l,(h+l)/2)];if(t>v[0]&&t<=v[1]||t>=p[0]&&t<=p[1]){i=r[u].index;break}}else{var g=Math.min(s,f),m=Math.max(s,f);if(t>(g+l)/2&&t<=(m+l)/2){i=r[u].index;break}}}else for(var b=0;b0&&b(n[b].coordinate+n[b-1].coordinate)/2&&t<=(n[b].coordinate+n[b+1].coordinate)/2||b===a-1&&t>(n[b].coordinate+n[b-1].coordinate)/2){i=n[b].index;break}}else i=0;return i},Ii=function(t){var e,n=t.type.displayName,r=t.props,o=r.stroke,i=r.fill;switch(n){case"Line":e=o;break;case"Area":case"Radar":e=o&&"none"!==o?o:i;break;default:e=i}return e},Di=function(t){var e,n=t.children,r=t.formattedGraphicalItems,o=t.legendWidth,i=t.legendContent,a=(0,Ei.sP)(n,_i.D.displayName);return a?(e=a.props&&a.props.payload?a.props&&a.props.payload:"children"===i?(r||[]).reduce((function(t,e){var n=e.item,r=e.props,o=r.sectors||r.data||[];return t.concat(o.map((function(t){return{type:a.props.iconType||n.props.legendType,value:t.name,color:t.fill,payload:t}})))}),[]):(r||[]).map((function(t){var e=t.item,n=e.props,r=n.dataKey,o=n.name,i=n.legendType;return{inactive:n.hide,dataKey:r,type:a.props.iconType||i||"square",color:Ii(e),value:o||r,payload:e.props}})),Mi(Mi(Mi({},a.props),_i.D.getWithHeight(a,o)),{},{payload:e,item:a})):null},Ri=function(t){var e=t.barSize,n=t.stackGroups,r=void 0===n?{}:n;if(!r)return{};for(var o={},i=Object.keys(r),a=0,c=i.length;a=0}));if(y&&y.length){var v=y[0].props.barSize,g=y[0].props[d];o[g]||(o[g]=[]),o[g].push({item:y[0],stackList:y.slice(1),barSize:j()(v)?e:v})}}return o},Li=function(t){var e=t.barGap,n=t.barCategoryGap,r=t.bandSize,o=t.sizeList,i=void 0===o?[]:o,a=t.maxBarSize,c=i.length;if(c<1)return null;var u,s=(0,Oi.h1)(e,r,0,!0);if(i[0].barSize===+i[0].barSize){var l=!1,f=r/c,h=i.reduce((function(t,e){return t+e.barSize||0}),0);(h+=(c-1)*s)>=r&&(h-=(c-1)*s,s=0),h>=r&&f>0&&(l=!0,h=c*(f*=.9));var p={offset:((r-h)/2>>0)-s,size:0};u=i.reduce((function(t,e){var n=[].concat(ki(t),[{item:e.item,position:{offset:p.offset+p.size+s,size:l?f:e.barSize}}]);return p=n[n.length-1].position,e.stackList&&e.stackList.length&&e.stackList.forEach((function(t){n.push({item:t,position:p})})),n}),[])}else{var d=(0,Oi.h1)(n,r,0,!0);r-2*d-(c-1)*s<=0&&(s=0);var y=(r-2*d-(c-1)*s)/c;y>1&&(y>>=0);var v=a===+a?Math.min(y,a):y;u=i.reduce((function(t,e,n){var r=[].concat(ki(t),[{item:e.item,position:{offset:d+(y+s)*n+(y-v)/2,size:v}}]);return e.stackList&&e.stackList.length&&e.stackList.forEach((function(t){r.push({item:t,position:r[r.length-1].position})})),r}),[])}return u},Bi=function(t,e,n,r){var o=n.children,i=n.width,a=n.margin,c=i-(a.left||0)-(a.right||0),u=Di({children:o,legendWidth:c}),s=t;if(u){var l=r||{},f=u.align,h=u.verticalAlign,p=u.layout;("vertical"===p||"horizontal"===p&&"center"===h)&&(0,Oi.hj)(t[f])&&(s=Mi(Mi({},t),{},Pi({},f,s[f]+(l.width||0)))),("horizontal"===p||"vertical"===p&&"center"===f)&&(0,Oi.hj)(t[h])&&(s=Mi(Mi({},t),{},Pi({},h,s[h]+(l.height||0))))}return s},Fi=function(t,e,n,r){var o=e.props.children,i=(0,Ei.NN)(o,"ErrorBar").filter((function(t){var e=t.props.direction;return!(!j()(e)&&!j()(r))||r.indexOf(e)>=0}));if(i&&i.length){var a=i.map((function(t){return t.props.dataKey}));return t.reduce((function(t,e){var r=Ti(e,n,0),o=y()(r)?[b()(r),g()(r)]:[r,r],i=a.reduce((function(t,n){var r=Ti(e,n,0),i=o[0]-Math.abs(y()(r)?r[0]:r),a=o[1]+Math.abs(y()(r)?r[1]:r);return[Math.min(i,t[0]),Math.max(a,t[1])]}),[1/0,-1/0]);return[Math.min(i[0],t[0]),Math.max(i[1],t[1])]}),[1/0,-1/0])}return null},Ui=function(t,e,n,r){var o=e.map((function(e){return Fi(t,e,n,r)})).filter((function(t){return!j()(t)}));return o&&o.length?o.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0]):null},zi=function(t,e,n,r){var o=e.map((function(e){var o=e.props.dataKey;return"number"===n&&o&&Fi(t,e,o)||Ci(t,o,n,r)}));if("number"===n)return o.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0]);var i={};return o.reduce((function(t,e){for(var n=0,r=e.length;n=0||e.indexOf("AreaChart")>=0||e.indexOf("ComposedChart")>=0&&!n)?{scale:tt.x(),realScaleType:"point"}:"category"===i?{scale:tt.Z(),realScaleType:"band"}:{scale:Fe(),realScaleType:"linear"};if(p()(o)){var u="scale".concat(f()(o));return{scale:(r[u]||tt.x)(),realScaleType:r[u]?u:"point"}}return _()(o)?{scale:o}:{scale:tt.x(),realScaleType:"point"}},Zi=1e-4,Yi=function(t){var e=t.domain();if(e&&!(e.length<=2)){var n=e.length,r=t.range(),o=Math.min(r[0],r[1])-Zi,i=Math.max(r[0],r[1])+Zi,a=t(e[0]),c=t(e[n-1]);(ai||ci)&&t.domain([e[0],e[n-1]])}},Xi=function(t,e){if(!t)return null;for(var n=0,r=t.length;nr)&&(o[1]=r),o[0]>r&&(o[0]=r),o[1]=0?(t[a][n][0]=o,t[a][n][1]=o+c,o=t[a][n][1]):(t[a][n][0]=i,t[a][n][1]=i+c,i=t[a][n][1])}},expand:function(t,e){if((r=t.length)>0){for(var n,r,o,i=0,a=t[0].length;i0){for(var n,r=0,o=t[e[0]],i=o.length;r0&&(r=(n=t[e[0]]).length)>0){for(var n,r,o,i=0,a=1;a=0?(t[i][n][0]=o,t[i][n][1]=o+a,o=t[i][n][1]):(t[i][n][0]=0,t[i][n][1]=0)}}},Ji=function(t,e,n){var r=e.map((function(t){return t.props.dataKey})),o=function(){var t=(0,mi.Z)([]),e=bi,n=vi,r=xi;function o(o){var i,a,c,u=Array.from(t.apply(this,arguments),wi),s=u.length,l=-1,f=(0,st.Z)(o);try{for(f.s();!(c=f.n()).done;){var h=c.value;for(i=0,++l;i=0?0:o<0?o:r}return n[0]},oa=function(t,e){var n=t.props.stackId;if((0,Oi.P2)(n)){var r=e[n];if(r&&r.items.length){for(var o=-1,i=0,a=r.items.length;i=0?r.stackedData[o]:null}}return null},ia=function(t,e,n){return Object.keys(t).reduce((function(r,o){var i=t[o].stackedData.reduce((function(t,r){var o=r.slice(e,n+1).reduce((function(t,e){return[b()(e.concat([t[0]]).filter(Oi.hj)),g()(e.concat([t[1]]).filter(Oi.hj))]}),[1/0,-1/0]);return[Math.min(t[0],o[0]),Math.max(t[1],o[1])]}),[1/0,-1/0]);return[Math.min(i[0],r[0]),Math.max(i[1],r[1])]}),[1/0,-1/0]).map((function(t){return t===1/0||t===-1/0?0:t}))},aa=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,ca=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,ua=function(t,e,n){if(!y()(t))return e;var r=[];if((0,Oi.hj)(t[0]))r[0]=n?t[0]:Math.min(t[0],e[0]);else if(aa.test(t[0])){var o=+aa.exec(t[0])[1];r[0]=e[0]-o}else _()(t[0])?r[0]=t[0](e[0]):r[0]=e[0];if((0,Oi.hj)(t[1]))r[1]=n?t[1]:Math.max(t[1],e[1]);else if(ca.test(t[1])){var i=+ca.exec(t[1])[1];r[1]=e[1]+i}else _()(t[1])?r[1]=t[1](e[1]):r[1]=e[1];return r},sa=function(t,e,n){if(t&&t.scale&&t.scale.bandwidth){var r=t.scale.bandwidth();if(!n||r>0)return r}if(t&&e&&e.length>=2){for(var o=c()(e,(function(t){return t.coordinate})),i=1/0,a=1,u=o.length;at.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0&&o===+o?"".concat(o,"px"):o),";");var r,o,i}),"")},d=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0===t||null===t||r.x.isSsr)return{width:0,height:0};var n="".concat(t),o=p(e),a="".concat(n,"-").concat(o);if(s.widthCache[a])return s.widthCache[a];try{var c=document.getElementById(h);c||((c=document.createElement("span")).setAttribute("id",h),c.setAttribute("aria-hidden","true"),document.body.appendChild(c));var u=i(i({},l),e);Object.keys(u).map((function(t){return c.style[t]=u[t],t})),c.textContent=n;var f=c.getBoundingClientRect(),d={width:f.width,height:f.height};return s.widthCache[a]=d,++s.cacheCount>2e3&&(s.cacheCount=0,s.widthCache={}),d}catch(y){return{width:0,height:0}}},y=function(t){var e=t.ownerDocument.documentElement,n={top:0,left:0};return"undefined"!==typeof t.getBoundingClientRect&&(n=t.getBoundingClientRect()),{top:n.top+window.pageYOffset-e.clientTop,left:n.left+window.pageXOffset-e.clientLeft}},v=function(t,e){return{chartX:Math.round(t.pageX-e.left),chartY:Math.round(t.pageY-e.top)}}},30631:function(t,e,n){"use strict";n.d(e,{uY:function(){return p},hU:function(){return d},hj:function(){return y},P2:function(){return v},EL:function(){return m},h1:function(){return b},Kt:function(){return x},bv:function(){return w},k4:function(){return O},Ap:function(){return _}});var r=n(38342),o=n.n(r),i=n(85809),a=n.n(i),c=n(40386),u=n.n(c),s=n(3374),l=n.n(s),f=n(64364),h=n.n(f),p=function(t){return 0===t?0:t>0?1:-1},d=function(t){return h()(t)&&t.indexOf("%")===t.length-1},y=function(t){return l()(t)&&!u()(t)},v=function(t){return y(t)||h()(t)},g=0,m=function(t){var e=++g;return"".concat(t||"").concat(e)},b=function(t,e){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!y(t)&&!h()(t))return r;if(d(t)){var i=t.indexOf("%");n=e*parseFloat(t.slice(0,i))/100}else n=+t;return u()(n)&&(n=r),o&&n>e&&(n=e),n},x=function(t){if(!t)return null;var e=Object.keys(t);return e&&e.length?t[e[0]]:null},w=function(t){if(!a()(t))return!1;for(var e=t.length,n={},r=0;r2?n-2:0),o=2;ot.length)&&(e=t.length);for(var n=0,r=new Array(e);n2&&void 0!==arguments[2]?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(e-(n.top||0)-(n.bottom||0)))/2},v=function(t,e,n,r,c){var f=t.width,h=t.height,p=t.startAngle,d=t.endAngle,v=(0,i.h1)(t.cx,f,f/2),g=(0,i.h1)(t.cy,h,h/2),m=y(f,h,n),b=(0,i.h1)(t.innerRadius,m,0),x=(0,i.h1)(t.outerRadius,m,.8*m);return Object.keys(e).reduce((function(t,n){var i,f=e[n],h=f.domain,y=f.reversed;if(o()(f.range))"angleAxis"===r?i=[p,d]:"radiusAxis"===r&&(i=[b,x]),y&&(i=[i[1],i[0]]);else{var m=l(i=f.range,2);p=m[0],d=m[1]}var w=(0,a.Hq)(f,c),O=w.realScaleType,_=w.scale;_.domain(h).range(i),(0,a.zF)(_);var E=(0,a.g$)(_,u(u({},f),{},{realScaleType:O})),S=u(u(u({},f),E),{},{range:i,radius:x,realScaleType:O,scale:_,cx:v,cy:g,innerRadius:b,outerRadius:x,startAngle:p,endAngle:d});return u(u({},t),{},s({},n,S))}),{})},g=function(t,e){var n=t.x,r=t.y,o=e.cx,i=e.cy,a=function(t,e){var n=t.x,r=t.y,o=e.x,i=e.y;return Math.sqrt(Math.pow(n-o,2)+Math.pow(r-i,2))}({x:n,y:r},{x:o,y:i});if(a<=0)return{radius:a};var c=(n-o)/a,u=Math.acos(c);return r>i&&(u=2*Math.PI-u),{radius:a,angle:p(u),angleInRadian:u}},m=function(t,e){var n=e.startAngle,r=e.endAngle,o=Math.floor(n/360),i=Math.floor(r/360);return t+360*Math.min(o,i)},b=function(t,e){var n=t.x,r=t.y,o=g({x:n,y:r},e),i=o.radius,a=o.angle,c=e.innerRadius,s=e.outerRadius;if(is)return!1;if(0===i)return!0;var l,f=function(t){var e=t.startAngle,n=t.endAngle,r=Math.floor(e/360),o=Math.floor(n/360),i=Math.min(r,o);return{startAngle:e-360*i,endAngle:n-360*i}}(e),h=f.startAngle,p=f.endAngle,d=a;if(h<=p){for(;d>p;)d-=360;for(;d=h&&d<=p}else{for(;d>h;)d-=360;for(;d=p&&d<=h}return l?u(u({},e),{},{radius:i,angle:m(d,e)}):null}},79853:function(t,e,n){"use strict";n.d(e,{Gf:function(){return g},NN:function(){return w},sP:function(){return O},TT:function(){return _},rL:function(){return k},eu:function(){return A},Bh:function(){return M},$R:function(){return P}});var r=n(64364),o=n.n(r),i=n(38342),a=n.n(i),c=n(85686),u=n.n(c),s=n(85809),l=n.n(s),f=n(50390),h=n(19832),p=n(30631),d=n(20896);function y(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var v={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart"},g=function(t){return"string"===typeof t?t:t?t.displayName||t.name||"Component":""},m=null,b=null,x=function t(e){if(e===m&&l()(b))return b;var n=[];return f.Children.forEach(e,(function(e){u()(e)||((0,h.isFragment)(e)?n=n.concat(t(e.props.children)):n.push(e))})),b=n,m=e,n},w=function(t,e){var n=[],r=[];return r=l()(e)?e.map((function(t){return g(t)})):[g(e)],x(t).forEach((function(t){var e=a()(t,"type.displayName")||a()(t,"type.name");-1!==r.indexOf(e)&&n.push(t)})),n},O=function(t,e){var n=w(t,e);return n&&n[0]},_=function(t){if(!t||!t.props)return!1;var e=t.props,n=e.width,r=e.height;return!(!(0,p.hj)(n)||n<=0||!(0,p.hj)(r)||r<=0)},E=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],S=function(t){return t&&t.type&&o()(t.type)&&E.indexOf(t.type)>=0},k=function t(e,n){if(e===n)return!0;var r=f.Children.count(e);if(r!==f.Children.count(n))return!1;if(0===r)return!0;if(1===r)return j(l()(e)?e[0]:e,l()(n)?n[0]:n);for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:5;return(0,r.default)(t).walk((function(t){if("function"===t.type&&u.test(t.value)){var n=r.default.stringify(t.nodes);if(!(n.indexOf("constant")>=0||n.indexOf("env")>=0)){var c=o.parser.parse(n),s=(0,i.default)(c,e);t.type="word",t.value=(0,a.default)(t.value,s,e)}}}),!0).toString()},t.exports=e.default},59833:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r,o=n(19411),i=(r=o)&&r.__esModule?r:{default:r};e.default=function(t,e,n){switch(t.type){case"LengthValue":case"AngleValue":case"TimeValue":case"FrequencyValue":case"ResolutionValue":return function(t,e,n){e.type===t.type&&(e={type:t.type,value:(0,i.default)(e.value,e.unit,t.unit,n),unit:t.unit});return{left:t,right:e}}(t,e,n);default:return{left:t,right:e}}},t.exports=e.default},31409:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.flip=s;var r,o=n(59833),i=(r=o)&&r.__esModule?r:{default:r};function a(t,e){return"MathExpression"===t.type?function(t,e){switch(t=function(t,e){var n=(0,i.default)(t.left,t.right,e),r=a(n.left,e),o=a(n.right,e);"MathExpression"===r.type&&"MathExpression"===o.type&&("/"===r.operator&&"*"===o.operator||"-"===r.operator&&"+"===o.operator||"*"===r.operator&&"/"===o.operator||"+"===r.operator&&"-"===o.operator)&&(c(r.right,o.right)?n=(0,i.default)(r.left,o.left,e):c(r.right,o.left)&&(n=(0,i.default)(r.left,o.right,e)),r=a(n.left,e),o=a(n.right,e));return t.left=r,t.right=o,t}(t,e),t.operator){case"+":case"-":return function(t,e){var n=t,r=n.left,o=n.right,i=n.operator;if("CssVariable"===r.type||"CssVariable"===o.type)return t;if(0===o.value)return r;if(0===r.value&&"+"===i)return o;if(0===r.value&&"-"===i)return l(o);r.type===o.type&&u(r.type)&&((t=Object.assign({},r)).value="+"===i?r.value+o.value:r.value-o.value);if(u(r.type)&&("+"===o.operator||"-"===o.operator)&&"MathExpression"===o.type){if(r.type===o.left.type)return(t=Object.assign({},t)).left=a({type:"MathExpression",operator:i,left:r,right:o.left},e),t.right=o.right,t.operator="-"===i?s(o.operator):o.operator,a(t,e);if(r.type===o.right.type)return(t=Object.assign({},t)).left=a({type:"MathExpression",operator:"-"===i?s(o.operator):o.operator,left:r,right:o.right},e),t.right=o.left,a(t,e)}if("MathExpression"===r.type&&("+"===r.operator||"-"===r.operator)&&u(o.type)){if(o.type===r.left.type)return(t=Object.assign({},r)).left=a({type:"MathExpression",operator:i,left:r.left,right:o},e),a(t,e);if(o.type===r.right.type)return t=Object.assign({},r),"-"===r.operator?(t.right=a({type:"MathExpression",operator:"-"===i?"+":"-",left:o,right:r.right},e),t.operator="-"===i?"-":"+"):t.right=a({type:"MathExpression",operator:i,left:r.right,right:o},e),t.right.value<0&&(t.right.value*=-1,t.operator="-"===t.operator?"+":"-"),a(t,e)}return t}(t,e);case"/":return function(t,e){if(!u(t.right.type))return t;if("Value"!==t.right.type)throw new Error('Cannot divide by "'+t.right.unit+'", number expected');if(0===t.right.value)throw new Error("Cannot divide by zero");if("MathExpression"===t.left.type)return u(t.left.left.type)&&u(t.left.right.type)?(t.left.left.value/=t.right.value,t.left.right.value/=t.right.value,a(t.left,e)):t;if(u(t.left.type))return t.left.value/=t.right.value,t.left;return t}(t,e);case"*":return function(t){if("MathExpression"===t.left.type&&"Value"===t.right.type){if(u(t.left.left.type)&&u(t.left.right.type))return t.left.left.value*=t.right.value,t.left.right.value*=t.right.value,t.left}else{if(u(t.left.type)&&"Value"===t.right.type)return t.left.value*=t.right.value,t.left;if("Value"===t.left.type&&"MathExpression"===t.right.type){if(u(t.right.left.type)&&u(t.right.right.type))return t.right.left.value*=t.left.value,t.right.right.value*=t.left.value,t.right}else if("Value"===t.left.type&&u(t.right.type))return t.right.value*=t.left.value,t.right}return t}(t)}return t}(t,e):"Calc"===t.type?a(t.value,e):t}function c(t,e){return t.type===e.type&&t.value===e.value}function u(t){switch(t){case"LengthValue":case"AngleValue":case"TimeValue":case"FrequencyValue":case"ResolutionValue":case"EmValue":case"ExValue":case"ChValue":case"RemValue":case"VhValue":case"VwValue":case"VminValue":case"VmaxValue":case"PercentageValue":case"Value":return!0}return!1}function s(t){return"+"===t?"-":"+"}function l(t){return u(t.type)?t.value=-t.value:"MathExpression"==t.type&&(t.left=l(t.left),t.right=l(t.right)),t}e.default=a},28736:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e,n){var r=a(e,n);return"MathExpression"===e.type&&(r=t+"("+r+")"),r};var r=n(31409),o={"*":0,"/":0,"+":1,"-":1};function i(t,e){if(!1!==e){var n=Math.pow(10,e);return Math.round(t*n)/n}return t}function a(t,e){switch(t.type){case"MathExpression":var n=t.left,c=t.right,u=t.operator,s="";return"MathExpression"===n.type&&o[u]1)return t;if(e.cleanupAfterLex&&e.cleanupAfterLex(a),f&&(f.lexer=void 0,f.parser=void 0,e.yy===f&&(e.yy=void 0)),f=void 0,this.parseError=this.originalParseError,this.quoteName=this.originalQuoteName,r.length=0,o.length=0,i.length=0,c=0,!a){for(var l=this.__error_infos.length-1;l>=0;l--){var h=this.__error_infos[l];h&&"function"===typeof h.destroy&&h.destroy()}this.__error_infos.length=0}return t},this.constructParseErrorInfo=function(t,n,a,s){var l={errStr:t,exception:n,text:e.match,value:e.yytext,token:this.describeSymbol(u)||u,token_id:u,line:e.yylineno,expected:a,recoverable:s,state:p,action:d,new_state:x,symbol_stack:r,state_stack:o,value_stack:i,stack_pointer:c,yy:f,lexer:e,parser:this,destroy:function(){var t=!!this.recoverable;for(var e in this)this.hasOwnProperty(e)&&"object"===typeof e&&(this[e]=void 0);this.recoverable=t}};return this.__error_infos.push(l),l};var p,d,y,v,g,m,b,x,w=function(){var t=e.lex();return"number"!==typeof t&&(t=n.symbols_[t]||t),t||s},O={$:!0,_$:void 0,yy:f},_=!1;try{if(this.__reentrant_call_depth++,e.setInput(t,f),"function"===typeof e.canIUse)e.canIUse().fastLex&&(w=h);for(i[c]=null,o[c]=0,r[c]=0,++c,this.pre_parse&&this.pre_parse.call(this,f),f.pre_parse&&f.pre_parse.call(this,f),x=o[c-1];;){if(p=x,this.defaultActions[p])d=2,x=this.defaultActions[p];else if(u||(u=w()),v=a[p]&&a[p][u]||l,x=v[1],!(d=v[0])){var E,S=this.describeSymbol(u)||u,k=this.collect_expected_token_set(p);E="number"===typeof e.yylineno?"Parse error on line "+(e.yylineno+1)+": ":"Parse error: ","function"===typeof e.showPosition&&(E+="\n"+e.showPosition(69,10)+"\n"),k.length?E+="Expecting "+k.join(", ")+", got unexpected "+S:E+="Unexpected "+S,g=this.constructParseErrorInfo(E,null,k,!1),"undefined"!==typeof(y=this.parseError(g.errStr,g,this.JisonParserError))&&(_=y);break}switch(d){default:if(d instanceof Array){g=this.constructParseErrorInfo("Parse Error: multiple actions possible at state: "+p+", token: "+u,null,null,!1),"undefined"!==typeof(y=this.parseError(g.errStr,g,this.JisonParserError))&&(_=y);break}g=this.constructParseErrorInfo("Parsing halted. No viable error recovery approach available due to internal system failure.",null,null,!1),"undefined"!==typeof(y=this.parseError(g.errStr,g,this.JisonParserError))&&(_=y);break;case 1:r[c]=u,i[c]=e.yytext,o[c]=x,++c,u=0;continue;case 2:if(m=(b=this.productions_[x-1])[1],"undefined"!==typeof(y=this.performAction.call(O,x,c-1,i))){_=y;break}c-=m;var j=b[0];r[c]=j,i[c]=O.$,x=a[o[c-1]][j],o[c]=x,++c;continue;case 3:-2!==c&&(_=!0,c--,"undefined"!==typeof i[c]&&(_=i[c]))}break}}catch(A){if(A instanceof this.JisonParserError)throw A;if(e&&"function"===typeof e.JisonLexerError&&A instanceof e.JisonLexerError)throw A;g=this.constructParseErrorInfo("Parsing aborted due to exception.",A,null,!1),_=!1,"undefined"!==typeof(y=this.parseError(g.errStr,g,this.JisonParserError))&&(_=y)}finally{_=this.cleanupAfterParse(_,!0,!0),this.__reentrant_call_depth--}return _}};o.originalParseError=o.parseError,o.originalQuoteName=o.quoteName;var i=function(){function t(t,e){var n;if(Object.defineProperty(this,"name",{enumerable:!1,writable:!1,value:"JisonLexerError"}),null==t&&(t="???"),Object.defineProperty(this,"message",{enumerable:!1,writable:!0,value:t}),this.hash=e,e&&e.exception instanceof Error){var r=e.exception;this.message=r.message||t,n=r.stack}n||(Error.hasOwnProperty("captureStackTrace")?Error.captureStackTrace(this,this.constructor):n=new Error(t).stack),n&&Object.defineProperty(this,"stack",{enumerable:!1,writable:!1,value:n})}"function"===typeof Object.setPrototypeOf?Object.setPrototypeOf(t.prototype,Error.prototype):t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t.prototype.name="JisonLexerError";var e={EOF:1,ERROR:2,__currentRuleSet__:null,__error_infos:[],__decompressed:!1,done:!1,_backtrack:!1,_input:"",_more:!1,_signaled_error_token:!1,conditionStack:[],match:"",matched:"",matches:!1,yytext:"",offset:0,yyleng:0,yylineno:0,yylloc:null,constructLexErrorInfo:function(t,e,n){if(t=""+t,void 0==n&&(n=!(t.indexOf("\n")>0&&t.indexOf("^")>0)),this.yylloc&&n)if("function"===typeof this.prettyPrintRange){this.prettyPrintRange(this.yylloc);/\n\s*$/.test(t)||(t+="\n"),t+="\n Erroneous area:\n"+this.prettyPrintRange(this.yylloc)}else if("function"===typeof this.showPosition){var r=this.showPosition();r&&(t.length&&"\n"!==t[t.length-1]&&"\n"!==r[0]?t+="\n"+r:t+=r)}var o={errStr:t,recoverable:!!e,text:this.match,token:null,line:this.yylineno,loc:this.yylloc,yy:this.yy,lexer:this,destroy:function(){var t=!!this.recoverable;for(var e in this)this.hasOwnProperty(e)&&"object"===typeof e&&(this[e]=void 0);this.recoverable=t}};return this.__error_infos.push(o),o},parseError:function(t,e,n){if(n||(n=this.JisonLexerError),this.yy){if(this.yy.parser&&"function"===typeof this.yy.parser.parseError)return this.yy.parser.parseError.call(this,t,e,n)||this.ERROR;if("function"===typeof this.yy.parseError)return this.yy.parseError.call(this,t,e,n)||this.ERROR}throw new n(t,e)},yyerror:function(t){var e="";this.yylloc&&(e=" on line "+(this.yylineno+1));var n=this.constructLexErrorInfo("Lexical error"+e+": "+t,this.options.lexerErrorsAreRecoverable),r=Array.prototype.slice.call(arguments,1);return r.length&&(n.extra_error_attributes=r),this.parseError(n.errStr,n,this.JisonLexerError)||this.ERROR},cleanupAfterLex:function(t){if(this.setInput("",{}),!t){for(var e=this.__error_infos.length-1;e>=0;e--){var n=this.__error_infos[e];n&&"function"===typeof n.destroy&&n.destroy()}this.__error_infos.length=0}return this},clear:function(){this.yytext="",this.yyleng=0,this.match="",this.matches=!1,this._more=!1,this._backtrack=!1;var t=this.yylloc?this.yylloc.last_column:0;this.yylloc={first_line:this.yylineno+1,first_column:t,last_line:this.yylineno+1,last_column:t,range:[this.offset,this.offset]}},setInput:function(t,e){if(this.yy=e||this.yy||{},!this.__decompressed){for(var n=this.rules,r=0,o=n.length;r1){this.yylineno-=n.length-1,this.yylloc.last_line=this.yylineno+1;var r=this.match,o=r.split(/(?:\r\n?|\n)/g);1===o.length&&(o=(r=this.matched).split(/(?:\r\n?|\n)/g)),this.yylloc.last_column=o[o.length-1].length}else this.yylloc.last_column-=e;return this.yylloc.range[1]=this.yylloc.range[0]+this.yyleng,this.done=!1,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else{var t="";this.yylloc&&(t=" on line "+(this.yylineno+1));var e=this.constructLexErrorInfo("Lexical error"+t+": You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).",!1);this._signaled_error_token=this.parseError(e.errStr,e,this.JisonLexerError)||this.ERROR}return this},less:function(t){return this.unput(this.match.slice(t))},pastInput:function(t,e){var n=this.matched.substring(0,this.matched.length-this.match.length);t<0?t=n.length:t||(t=20),e<0?e=n.length:e||(e=1);var r=(n=n.substr(2*-t-2)).replace(/\r\n|\r/g,"\n").split("\n");return(n=(r=r.slice(-e)).join("\n")).length>t&&(n="..."+n.substr(-t)),n},upcomingInput:function(t,e){var n=this.match;t<0?t=n.length+this._input.length:t||(t=20),e<0?e=t:e||(e=1),n.length<2*t+2&&(n+=this._input.substring(0,2*t+2));var r=n.replace(/\r\n|\r/g,"\n").split("\n");return(n=(r=r.slice(0,e)).join("\n")).length>t&&(n=n.substring(0,t)+"..."),n},showPosition:function(t,e){var n=this.pastInput(t).replace(/\s/g," "),r=new Array(n.length+1).join("-");return n+this.upcomingInput(e).replace(/\s/g," ")+"\n"+r+"^"},deriveLocationInfo:function(t,e,n,r){var o={first_line:1,first_column:0,last_line:1,last_column:0,range:[0,0]};return t&&(o.first_line=0|t.first_line,o.last_line=0|t.last_line,o.first_column=0|t.first_column,o.last_column=0|t.last_column,t.range&&(o.range[0]=0|t.range[0],o.range[1]=0|t.range[1])),(o.first_line<=0||o.last_line=o.first_line)&&(o.last_line=0|r.last_line,o.last_column=0|r.last_column,r.range&&(o.range[1]=0|r.range[1]))),o.last_line<=0&&(o.first_line<=0?(o.first_line=this.yylloc.first_line,o.last_line=this.yylloc.last_line,o.first_column=this.yylloc.first_column,o.last_column=this.yylloc.last_column,o.range[0]=this.yylloc.range[0],o.range[1]=this.yylloc.range[1]):(o.last_line=this.yylloc.last_line,o.last_column=this.yylloc.last_column,o.range[1]=this.yylloc.range[1])),o.first_line<=0&&(o.first_line=o.last_line,o.first_column=0,o.range[1]=o.range[0]),o.first_column<0&&(o.first_column=0),o.last_column<0&&(o.last_column=o.first_column>0?o.first_column:80),o},prettyPrintRange:function(t,e,n){t=this.deriveLocationInfo(t,e,n);var r=(this.matched+this._input).split("\n"),o=Math.max(1,e?e.first_line:t.first_line-3),i=Math.max(1,n?n.last_line:t.last_line+1),a=1+Math.log10(1|i)|0,c=new Array(a).join(" "),u=[],s=r.slice(o-1,i+1).map((function(e,n){var r=n+o,i=(c+r).substr(-a)+": "+e,s=new Array(a+1).join("^"),l=3,f=0;(r===t.first_line?(l+=t.first_column,f=Math.max(2,(r===t.last_line?t.last_column:e.length)-t.first_column+1)):r===t.last_line?f=Math.max(2,t.last_column+1):r>t.first_line&&r0&&u.push(n));return i=i.replace(/\t/g," ")}));if(u.length>4){var l=u[1]+1,f=u[u.length-2]-1,h=new Array(a+1).join(" ")+" (...continued...)";h+="\n"+new Array(a+1).join("-")+" (---------------)",s.splice(l,f-l+1,h)}return s.join("\n")},describeYYLLOC:function(t,e){var n,r=t.first_line,o=t.last_line,i=t.first_column,a=t.last_column;if(0===o-r?(n="line "+r+", ",n+=a-i<=1?"column "+i:"columns "+i+" .. "+a):n="lines "+r+"(column "+i+") .. "+o+"(column "+a+")",t.range&&e){var c=t.range[0],u=t.range[1]-1;n+=u<=c?" {String Offset: "+c+"}":" {String Offset range: "+c+" .. "+u+"}"}return n},test_match:function(t,e){var n,r,o,i,a;if(this.options.backtrack_lexer&&(o={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.yylloc.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column,range:this.yylloc.range.slice(0)},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done}),a=(i=t[0]).length,(r=i.split(/(?:\r\n?|\n)/g)).length>1?(this.yylineno+=r.length-1,this.yylloc.last_line=this.yylineno+1,this.yylloc.last_column=r[r.length-1].length):this.yylloc.last_column+=a,this.yytext+=i,this.match+=i,this.matched+=i,this.matches=t,this.yyleng=this.yytext.length,this.yylloc.range[1]+=a,this.offset+=a,this._more=!1,this._backtrack=!1,this._input=this._input.slice(a),n=this.performAction.call(this,this.yy,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var c in o)this[c]=o[c];return this.__currentRuleSet__=null,!1}return!!this._signaled_error_token&&(n=this._signaled_error_token,this._signaled_error_token=!1,n)},next:function(){if(this.done)return this.clear(),this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||this.clear();var o=this.__currentRuleSet__;if(!o&&(!(o=this.__currentRuleSet__=this._currentRules())||!o.rules)){var i="";this.options.trackPosition&&(i=" on line "+(this.yylineno+1));var a=this.constructLexErrorInfo("Internal lexer engine error"+i+': The lex grammar programmer pushed a non-existing condition name "'+this.topState()+'"; this is a fatal error and should be reported to the application programmer team!',!1);return this.parseError(a.errStr,a,this.JisonLexerError)||this.ERROR}for(var c=o.rules,u=o.__rule_regexes,s=o.__rule_count,l=1;l<=s;l++)if((n=this._input.match(u[l]))&&(!e||n[0].length>e[0].length)){if(e=n,r=l,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,c[l])))return t;if(this._backtrack){e=void 0;continue}return!1}if(!this.options.flex)break}if(e)return!1!==(t=this.test_match(e,c[r]))&&t;if(this._input){i="";this.options.trackPosition&&(i=" on line "+(this.yylineno+1));a=this.constructLexErrorInfo("Lexical error"+i+": Unrecognized text.",this.options.lexerErrorsAreRecoverable);var f=this._input,h=this.topState(),p=this.conditionStack.length;return(t=this.parseError(a.errStr,a,this.JisonLexerError)||this.ERROR)===this.ERROR&&(this.matches||f!==this._input||h!==this.topState()||p!==this.conditionStack.length||this.input()),t}return this.done=!0,this.clear(),this.EOF},lex:function(){var t;for("function"===typeof this.pre_lex&&(t=this.pre_lex.call(this,0)),"function"===typeof this.options.pre_lex&&(t=this.options.pre_lex.call(this,t)||t),this.yy&&"function"===typeof this.yy.pre_lex&&(t=this.yy.pre_lex.call(this,t)||t);!t;)t=this.next();return this.yy&&"function"===typeof this.yy.post_lex&&(t=this.yy.post_lex.call(this,t)||t),"function"===typeof this.options.post_lex&&(t=this.options.post_lex.call(this,t)||t),"function"===typeof this.post_lex&&(t=this.post_lex.call(this,t)||t),t},fastLex:function(){for(var t;!t;)t=this.next();return t},canIUse:function(){return{fastLex:!("function"===typeof this.pre_lex||"function"===typeof this.options.pre_lex||this.yy&&"function"===typeof this.yy.pre_lex||this.yy&&"function"===typeof this.yy.post_lex||"function"===typeof this.options.post_lex||"function"===typeof this.post_lex)&&"function"===typeof this.fastLex}},begin:function(t){return this.pushState(t)},pushState:function(t){return this.conditionStack.push(t),this.__currentRuleSet__=null,this},popState:function(){return this.conditionStack.length-1>0?(this.__currentRuleSet__=null,this.conditionStack.pop()):this.conditionStack[0]},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]]:this.conditions.INITIAL},stateStackSize:function(){return this.conditionStack.length},options:{trackPosition:!0},JisonLexerError:t,performAction:function(t,e,n){if(1!==e)return this.simpleCaseActionClusters[e]},simpleCaseActionClusters:{0:13,2:5,3:6,4:3,5:4,6:15,7:15,8:15,9:15,10:15,11:15,12:16,13:16,14:16,15:16,16:17,17:17,18:18,19:18,20:19,21:19,22:19,23:20,24:21,25:22,26:23,27:25,28:24,29:26,30:27,31:28,32:11,33:9,34:12,35:10,36:7,37:8,38:14,39:1},rules:[/^(?:(--[\d\-A-Za-z]*))/,/^(?:\s+)/,/^(?:\*)/,/^(?:\/)/,/^(?:\+)/,/^(?:-)/,/^(?:(\d+(\.\d*)?|\.\d+)px\b)/,/^(?:(\d+(\.\d*)?|\.\d+)cm\b)/,/^(?:(\d+(\.\d*)?|\.\d+)mm\b)/,/^(?:(\d+(\.\d*)?|\.\d+)in\b)/,/^(?:(\d+(\.\d*)?|\.\d+)pt\b)/,/^(?:(\d+(\.\d*)?|\.\d+)pc\b)/,/^(?:(\d+(\.\d*)?|\.\d+)deg\b)/,/^(?:(\d+(\.\d*)?|\.\d+)grad\b)/,/^(?:(\d+(\.\d*)?|\.\d+)rad\b)/,/^(?:(\d+(\.\d*)?|\.\d+)turn\b)/,/^(?:(\d+(\.\d*)?|\.\d+)s\b)/,/^(?:(\d+(\.\d*)?|\.\d+)ms\b)/,/^(?:(\d+(\.\d*)?|\.\d+)Hz\b)/,/^(?:(\d+(\.\d*)?|\.\d+)kHz\b)/,/^(?:(\d+(\.\d*)?|\.\d+)dpi\b)/,/^(?:(\d+(\.\d*)?|\.\d+)dpcm\b)/,/^(?:(\d+(\.\d*)?|\.\d+)dppx\b)/,/^(?:(\d+(\.\d*)?|\.\d+)em\b)/,/^(?:(\d+(\.\d*)?|\.\d+)ex\b)/,/^(?:(\d+(\.\d*)?|\.\d+)ch\b)/,/^(?:(\d+(\.\d*)?|\.\d+)rem\b)/,/^(?:(\d+(\.\d*)?|\.\d+)vw\b)/,/^(?:(\d+(\.\d*)?|\.\d+)vh\b)/,/^(?:(\d+(\.\d*)?|\.\d+)vmin\b)/,/^(?:(\d+(\.\d*)?|\.\d+)vmax\b)/,/^(?:(\d+(\.\d*)?|\.\d+)%)/,/^(?:(\d+(\.\d*)?|\.\d+)\b)/,/^(?:(calc))/,/^(?:(var))/,/^(?:([a-z]+))/,/^(?:\()/,/^(?:\))/,/^(?:,)/,/^(?:$)/],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],inclusive:!0}}};return e}();function a(){this.yy={}}return o.lexer=i,a.prototype=o,o.Parser=a,new a}();e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)}},91204:function(t,e,n){var r=n(39391),o=n(4244),i=n(5443);function a(t){return this instanceof a?(this.nodes=r(t),this):new a(t)}a.prototype.toString=function(){return Array.isArray(this.nodes)?i(this.nodes):""},a.prototype.walk=function(t,e){return o(this.nodes,t,e),this},a.unit=n(34326),a.walk=o,a.stringify=i,t.exports=a},39391:function(t){var e="(".charCodeAt(0),n=")".charCodeAt(0),r="'".charCodeAt(0),o='"'.charCodeAt(0),i="\\".charCodeAt(0),a="/".charCodeAt(0),c=",".charCodeAt(0),u=":".charCodeAt(0),s="*".charCodeAt(0);t.exports=function(t){for(var l,f,h,p,d,y,v,g,m=[],b=t,x=0,w=b.charCodeAt(x),O=b.length,_=[{nodes:m}],E=0,S="",k="",j="";x=48&&a<=57)f=!0;else if(a===o||a===i){if(l>-1)break;l=c}else if(a===r){if(s)break;s=!0}else{if(a!==n&&a!==e)break;if(0!==c)break}c+=1}return l+1===c&&c--,!!f&&{number:t.slice(0,c),unit:t.slice(c)}}},4244:function(t){t.exports=function t(e,n,r){var o,i,a,c;for(o=0,i=e.length;o=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),s=r.call(a,"finallyLoc");if(u&&s){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),j(n),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;j(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:M(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),y}},t}(t.exports);try{regeneratorRuntime=e}catch(n){"object"===typeof globalThis?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}},21132:function(t,e,n){"use strict";n.r(e);var r=function(){if("undefined"!==typeof Map)return Map;function t(t,e){var n=-1;return t.some((function(t,r){return t[0]===e&&(n=r,!0)})),n}return function(){function e(){this.__entries__=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),e.prototype.get=function(e){var n=t(this.__entries__,e),r=this.__entries__[n];return r&&r[1]},e.prototype.set=function(e,n){var r=t(this.__entries__,e);~r?this.__entries__[r][1]=n:this.__entries__.push([e,n])},e.prototype.delete=function(e){var n=this.__entries__,r=t(n,e);~r&&n.splice(r,1)},e.prototype.has=function(e){return!!~t(this.__entries__,e)},e.prototype.clear=function(){this.__entries__.splice(0)},e.prototype.forEach=function(t,e){void 0===e&&(e=null);for(var n=0,r=this.__entries__;n0},t.prototype.connect_=function(){o&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),u?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){o&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(t){var e=t.propertyName,n=void 0===e?"":e;c.some((function(t){return!!~n.indexOf(t)}))&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),l=function(t,e){for(var n=0,r=Object.keys(e);n0},t}(),O="undefined"!==typeof WeakMap?new WeakMap:new r,_=function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=s.getInstance(),r=new w(e,n,this);O.set(this,r)};["observe","unobserve","disconnect"].forEach((function(t){_.prototype[t]=function(){var e;return(e=O.get(this))[t].apply(e,arguments)}}));var E="undefined"!==typeof i.ResizeObserver?i.ResizeObserver:_;e.default=E},83738:function(t,e,n){"use strict";function r(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}n.d(e,{Z:function(){return r}})}}]); +//# sourceMappingURL=8420.cf009fd2.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/8420.68d5dfb4.chunk.js.LICENSE.txt b/portal-ui/build/static/js/8420.cf009fd2.chunk.js.LICENSE.txt similarity index 100% rename from portal-ui/build/static/js/8420.68d5dfb4.chunk.js.LICENSE.txt rename to portal-ui/build/static/js/8420.cf009fd2.chunk.js.LICENSE.txt diff --git a/portal-ui/build/static/js/8420.cf009fd2.chunk.js.map b/portal-ui/build/static/js/8420.cf009fd2.chunk.js.map new file mode 100644 index 000000000..17d0df2de --- /dev/null +++ b/portal-ui/build/static/js/8420.cf009fd2.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/8420.cf009fd2.chunk.js","mappings":"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","sources":["../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator/index.js","../node_modules/classnames/index.js","../node_modules/css-unit-converter/index.js","../node_modules/d3-path/src/path.js","../node_modules/d3-array/src/range.js","../node_modules/d3-scale/src/band.js","../node_modules/d3-scale/src/init.js","../node_modules/d3-scale/src/ordinal.js","../node_modules/d3-shape/src/array.js","../node_modules/d3-shape/src/constant.js","../node_modules/decimal.js-light/decimal.js","../node_modules/eventemitter3/index.js","../node_modules/lodash/_apply.js","../node_modules/lodash/_arrayEvery.js","../node_modules/lodash/_arrayIncludes.js","../node_modules/lodash/_arrayIncludesWith.js","../node_modules/lodash/_asciiToArray.js","../node_modules/lodash/_baseEvery.js","../node_modules/lodash/_baseExtremum.js","../node_modules/lodash/_baseFindIndex.js","../node_modules/lodash/_baseFlatten.js","../node_modules/lodash/_baseGt.js","../node_modules/lodash/_baseIndexOf.js","../node_modules/lodash/_baseIsNaN.js","../node_modules/lodash/_baseLt.js","../node_modules/lodash/_baseMap.js","../node_modules/lodash/_baseOrderBy.js","../node_modules/lodash/_baseRange.js","../node_modules/lodash/_baseRest.js","../node_modules/lodash/_baseSetToString.js","../node_modules/lodash/_baseSlice.js","../node_modules/lodash/_baseSome.js","../node_modules/lodash/_baseSortBy.js","../node_modules/lodash/_baseTrim.js","../node_modules/lodash/_baseUniq.js","../node_modules/lodash/_castSlice.js","../node_modules/lodash/_compareAscending.js","../node_modules/lodash/_compareMultiple.js","../node_modules/lodash/_createCaseFirst.js","../node_modules/lodash/_createFind.js","../node_modules/lodash/_createRange.js","../node_modules/lodash/_createSet.js","../node_modules/lodash/_hasUnicode.js","../node_modules/lodash/_isFlattenable.js","../node_modules/lodash/_isIterateeCall.js","../node_modules/lodash/_overRest.js","../node_modules/lodash/_setToString.js","../node_modules/lodash/_shortOut.js","../node_modules/lodash/_strictIndexOf.js","../node_modules/lodash/_stringToArray.js","../node_modules/lodash/_trimmedEndIndex.js","../node_modules/lodash/_unicodeToArray.js","../node_modules/lodash/constant.js","../node_modules/lodash/debounce.js","../node_modules/lodash/every.js","../node_modules/lodash/find.js","../node_modules/lodash/findIndex.js","../node_modules/lodash/flatMap.js","../node_modules/lodash/isBoolean.js","../node_modules/lodash/isNaN.js","../node_modules/lodash/isNil.js","../node_modules/lodash/isNumber.js","../node_modules/lodash/isString.js","../node_modules/lodash/last.js","../node_modules/lodash/map.js","../node_modules/lodash/mapValues.js","../node_modules/lodash/max.js","../node_modules/lodash/min.js","../node_modules/lodash/noop.js","../node_modules/lodash/now.js","../node_modules/lodash/range.js","../node_modules/lodash/some.js","../node_modules/lodash/sortBy.js","../node_modules/lodash/throttle.js","../node_modules/lodash/toFinite.js","../node_modules/lodash/toInteger.js","../node_modules/lodash/toNumber.js","../node_modules/lodash/uniqBy.js","../node_modules/lodash/upperFirst.js","../node_modules/performance-now/src/performance-now.coffee","../node_modules/raf/index.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/react-resize-detector/node_modules/tslib/tslib.es6.js","../node_modules/react-resize-detector/node_modules/lodash/isObject.js","../node_modules/react-resize-detector/node_modules/lodash/_root.js","../node_modules/react-resize-detector/node_modules/lodash/_freeGlobal.js","../node_modules/react-resize-detector/node_modules/lodash/now.js","../node_modules/react-resize-detector/node_modules/lodash/_trimmedEndIndex.js","../node_modules/react-resize-detector/node_modules/lodash/_baseTrim.js","../node_modules/react-resize-detector/node_modules/lodash/_Symbol.js","../node_modules/react-resize-detector/node_modules/lodash/_getRawTag.js","../node_modules/react-resize-detector/node_modules/lodash/_objectToString.js","../node_modules/react-resize-detector/node_modules/lodash/_baseGetTag.js","../node_modules/react-resize-detector/node_modules/lodash/isSymbol.js","../node_modules/react-resize-detector/node_modules/lodash/isObjectLike.js","../node_modules/react-resize-detector/node_modules/lodash/toNumber.js","../node_modules/react-resize-detector/node_modules/lodash/debounce.js","../node_modules/react-resize-detector/node_modules/lodash/throttle.js","../node_modules/react-resize-detector/src/utils.ts","../node_modules/react-resize-detector/src/ResizeDetector.tsx","../node_modules/react-resize-detector/src/useResizeDetector.ts","../node_modules/react-smooth/es6/setRafTimeout.js","../node_modules/react-smooth/es6/AnimateManager.js","../node_modules/react-smooth/es6/util.js","../node_modules/react-smooth/es6/easing.js","../node_modules/react-smooth/es6/configUpdate.js","../node_modules/react-smooth/es6/Animate.js","../node_modules/react-smooth/es6/AnimateGroupChild.js","../node_modules/react-smooth/es6/AnimateGroup.js","../node_modules/react-smooth/es6/index.js","../node_modules/react-smooth/node_modules/dom-helpers/class/addClass.js","../node_modules/react-smooth/node_modules/dom-helpers/class/hasClass.js","../node_modules/react-smooth/node_modules/dom-helpers/class/removeClass.js","../node_modules/react-smooth/node_modules/react-transition-group/CSSTransition.js","../node_modules/react-smooth/node_modules/react-transition-group/ReplaceTransition.js","../node_modules/react-smooth/node_modules/react-transition-group/Transition.js","../node_modules/react-smooth/node_modules/react-transition-group/TransitionGroup.js","../node_modules/react-smooth/node_modules/react-transition-group/index.js","../node_modules/react-smooth/node_modules/react-transition-group/utils/ChildMapping.js","../node_modules/react-smooth/node_modules/react-transition-group/utils/PropTypes.js","../node_modules/recharts/es6/cartesian/Area.js","../node_modules/recharts/es6/cartesian/CartesianGrid.js","../node_modules/recharts/es6/cartesian/XAxis.js","../node_modules/recharts/es6/cartesian/YAxis.js","../node_modules/recharts/es6/chart/AreaChart.js","../node_modules/recharts/es6/shape/Cross.js","../node_modules/recharts/es6/cartesian/CartesianAxis.js","../node_modules/recharts/es6/util/CssPrefixUtils.js","../node_modules/recharts/es6/cartesian/Brush.js","../node_modules/recharts/es6/util/IfOverflowMatches.js","../node_modules/recharts/es6/cartesian/ReferenceDot.js","../node_modules/recharts/es6/cartesian/ReferenceLine.js","../node_modules/recharts/es6/cartesian/ReferenceArea.js","../node_modules/recharts/es6/util/DetectReferenceElementsDomain.js","../node_modules/recharts/es6/util/Events.js","../node_modules/recharts/es6/chart/generateCategoricalChart.js","../node_modules/recharts/es6/component/Label.js","../node_modules/recharts/es6/component/LabelList.js","../node_modules/d3-shape/src/math.js","../node_modules/d3-shape/src/symbol/circle.js","../node_modules/d3-shape/src/symbol/cross.js","../node_modules/d3-shape/src/symbol/diamond.js","../node_modules/d3-shape/src/symbol/square.js","../node_modules/d3-shape/src/symbol/star.js","../node_modules/d3-shape/src/symbol/triangle.js","../node_modules/d3-shape/src/symbol/wye.js","../node_modules/recharts/es6/shape/Symbols.js","../node_modules/d3-shape/src/symbol.js","../node_modules/recharts/es6/component/DefaultLegendContent.js","../node_modules/recharts/es6/component/Legend.js","../node_modules/recharts/es6/component/ResponsiveContainer.js","../node_modules/recharts/es6/component/Text.js","../node_modules/recharts/es6/component/DefaultTooltipContent.js","../node_modules/recharts/es6/component/Tooltip.js","../node_modules/recharts/es6/container/Layer.js","../node_modules/recharts/es6/container/Surface.js","../node_modules/d3-shape/src/noop.js","../node_modules/d3-shape/src/curve/basis.js","../node_modules/d3-shape/src/curve/basisClosed.js","../node_modules/d3-shape/src/curve/basisOpen.js","../node_modules/d3-shape/src/curve/linearClosed.js","../node_modules/d3-shape/src/curve/linear.js","../node_modules/d3-shape/src/curve/monotone.js","../node_modules/d3-shape/src/curve/natural.js","../node_modules/d3-shape/src/curve/step.js","../node_modules/d3-shape/src/point.js","../node_modules/d3-shape/src/line.js","../node_modules/d3-shape/src/area.js","../node_modules/recharts/es6/shape/Curve.js","../node_modules/recharts/es6/shape/Dot.js","../node_modules/recharts/es6/shape/Rectangle.js","../node_modules/recharts/es6/shape/Sector.js","../node_modules/recharts/es6/util/CartesianUtils.js","../node_modules/recharts-scale/es6/util/utils.js","../node_modules/recharts-scale/es6/util/arithmetic.js","../node_modules/recharts-scale/es6/getNiceTickValues.js","../node_modules/d3-array/src/ticks.js","../node_modules/d3-array/src/ascending.js","../node_modules/d3-array/src/bisector.js","../node_modules/d3-array/src/number.js","../node_modules/d3-array/src/bisect.js","../node_modules/d3-color/src/define.js","../node_modules/d3-color/src/color.js","../node_modules/d3-interpolate/src/basis.js","../node_modules/d3-interpolate/src/constant.js","../node_modules/d3-interpolate/src/color.js","../node_modules/d3-interpolate/src/rgb.js","../node_modules/d3-interpolate/src/basisClosed.js","../node_modules/d3-interpolate/src/array.js","../node_modules/d3-interpolate/src/date.js","../node_modules/d3-interpolate/src/number.js","../node_modules/d3-interpolate/src/object.js","../node_modules/d3-interpolate/src/string.js","../node_modules/d3-interpolate/src/numberArray.js","../node_modules/d3-interpolate/src/value.js","../node_modules/d3-interpolate/src/round.js","../node_modules/d3-scale/src/number.js","../node_modules/d3-scale/src/continuous.js","../node_modules/d3-scale/src/constant.js","../node_modules/d3-format/src/formatPrefixAuto.js","../node_modules/d3-format/src/formatSpecifier.js","../node_modules/d3-format/src/formatDecimal.js","../node_modules/d3-format/src/exponent.js","../node_modules/d3-format/src/formatRounded.js","../node_modules/d3-format/src/formatTypes.js","../node_modules/d3-format/src/identity.js","../node_modules/d3-format/src/locale.js","../node_modules/d3-format/src/defaultLocale.js","../node_modules/d3-format/src/formatGroup.js","../node_modules/d3-format/src/formatNumerals.js","../node_modules/d3-format/src/formatTrim.js","../node_modules/d3-scale/src/tickFormat.js","../node_modules/d3-format/src/precisionPrefix.js","../node_modules/d3-format/src/precisionRound.js","../node_modules/d3-format/src/precisionFixed.js","../node_modules/d3-scale/src/linear.js","../node_modules/d3-scale/src/identity.js","../node_modules/d3-scale/src/nice.js","../node_modules/d3-scale/src/log.js","../node_modules/d3-scale/src/symlog.js","../node_modules/d3-scale/src/pow.js","../node_modules/d3-scale/src/radial.js","../node_modules/d3-array/src/max.js","../node_modules/d3-array/src/min.js","../node_modules/d3-array/src/quickselect.js","../node_modules/d3-array/src/quantile.js","../node_modules/d3-scale/src/quantile.js","../node_modules/d3-scale/src/quantize.js","../node_modules/d3-scale/src/threshold.js","../node_modules/d3-time/src/duration.js","../node_modules/d3-time/src/interval.js","../node_modules/d3-time/src/millisecond.js","../node_modules/d3-time/src/second.js","../node_modules/d3-time/src/minute.js","../node_modules/d3-time/src/hour.js","../node_modules/d3-time/src/day.js","../node_modules/d3-time/src/week.js","../node_modules/d3-time/src/month.js","../node_modules/d3-time/src/year.js","../node_modules/d3-time/src/utcMinute.js","../node_modules/d3-time/src/utcHour.js","../node_modules/d3-time/src/utcDay.js","../node_modules/d3-time/src/utcWeek.js","../node_modules/d3-time/src/utcMonth.js","../node_modules/d3-time/src/utcYear.js","../node_modules/d3-time/src/ticks.js","../node_modules/d3-time-format/src/locale.js","../node_modules/d3-time-format/src/defaultLocale.js","../node_modules/d3-scale/src/time.js","../node_modules/d3-scale/src/utcTime.js","../node_modules/d3-scale/src/sequential.js","../node_modules/d3-scale/src/sequentialQuantile.js","../node_modules/d3-interpolate/src/piecewise.js","../node_modules/d3-scale/src/diverging.js","../node_modules/d3-shape/src/offset/none.js","../node_modules/d3-shape/src/order/none.js","../node_modules/d3-shape/src/stack.js","../node_modules/recharts/es6/util/ChartUtils.js","../node_modules/d3-shape/src/offset/expand.js","../node_modules/d3-shape/src/offset/silhouette.js","../node_modules/d3-shape/src/offset/wiggle.js","../node_modules/recharts/es6/util/DOMUtils.js","../node_modules/recharts/es6/util/DataUtils.js","../node_modules/recharts/es6/util/Global.js","../node_modules/recharts/es6/util/LogUtils.js","../node_modules/recharts/es6/util/PolarUtils.js","../node_modules/recharts/es6/util/ReactUtils.js","../node_modules/recharts/es6/util/ShallowEqual.js","../node_modules/recharts/es6/util/types.js","../node_modules/recharts/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/recharts/node_modules/react-is/index.js","../node_modules/reduce-css-calc/dist/index.js","../node_modules/reduce-css-calc/dist/lib/convert.js","../node_modules/reduce-css-calc/dist/lib/reducer.js","../node_modules/reduce-css-calc/dist/lib/stringifier.js","../node_modules/reduce-css-calc/dist/parser.js","../node_modules/reduce-css-calc/node_modules/postcss-value-parser/lib/index.js","../node_modules/reduce-css-calc/node_modules/postcss-value-parser/lib/parse.js","../node_modules/reduce-css-calc/node_modules/postcss-value-parser/lib/stringify.js","../node_modules/reduce-css-calc/node_modules/postcss-value-parser/lib/unit.js","../node_modules/reduce-css-calc/node_modules/postcss-value-parser/lib/walk.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","module.exports = require(\"regenerator-runtime\");\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","var conversions = {\r\n // length\r\n 'px': {\r\n 'px': 1,\r\n 'cm': 96.0/2.54,\r\n 'mm': 96.0/25.4,\r\n 'in': 96,\r\n 'pt': 96.0/72.0,\r\n 'pc': 16\r\n },\r\n 'cm': {\r\n 'px': 2.54/96.0,\r\n 'cm': 1,\r\n 'mm': 0.1,\r\n 'in': 2.54,\r\n 'pt': 2.54/72.0,\r\n 'pc': 2.54/6.0\r\n },\r\n 'mm': {\r\n 'px': 25.4/96.0,\r\n 'cm': 10,\r\n 'mm': 1,\r\n 'in': 25.4,\r\n 'pt': 25.4/72.0,\r\n 'pc': 25.4/6.0\r\n },\r\n 'in': {\r\n 'px': 1.0/96.0,\r\n 'cm': 1.0/2.54,\r\n 'mm': 1.0/25.4,\r\n 'in': 1,\r\n 'pt': 1.0/72.0,\r\n 'pc': 1.0/6.0\r\n },\r\n 'pt': {\r\n 'px': 0.75,\r\n 'cm': 72.0/2.54,\r\n 'mm': 72.0/25.4,\r\n 'in': 72,\r\n 'pt': 1,\r\n 'pc': 12\r\n },\r\n 'pc': {\r\n 'px': 6.0/96.0,\r\n 'cm': 6.0/2.54,\r\n 'mm': 6.0/25.4,\r\n 'in': 6,\r\n 'pt': 6.0/72.0,\r\n 'pc': 1\r\n },\r\n // angle\r\n 'deg': {\r\n 'deg': 1,\r\n 'grad': 0.9,\r\n 'rad': 180/Math.PI,\r\n 'turn': 360\r\n },\r\n 'grad': {\r\n 'deg': 400/360,\r\n 'grad': 1,\r\n 'rad': 200/Math.PI,\r\n 'turn': 400\r\n },\r\n 'rad': {\r\n 'deg': Math.PI/180,\r\n 'grad': Math.PI/200,\r\n 'rad': 1,\r\n 'turn': Math.PI*2\r\n },\r\n 'turn': {\r\n 'deg': 1/360,\r\n 'grad': 1/400,\r\n 'rad': 0.5/Math.PI,\r\n 'turn': 1\r\n },\r\n // time\r\n 's': {\r\n 's': 1,\r\n 'ms': 1/1000\r\n },\r\n 'ms': {\r\n 's': 1000,\r\n 'ms': 1\r\n },\r\n // frequency\r\n 'Hz': {\r\n 'Hz': 1,\r\n 'kHz': 1000\r\n },\r\n 'kHz': {\r\n 'Hz': 1/1000,\r\n 'kHz': 1\r\n },\r\n // resolution\r\n 'dpi': {\r\n 'dpi': 1,\r\n 'dpcm': 1.0/2.54,\r\n 'dppx': 1/96\r\n },\r\n 'dpcm': {\r\n 'dpi': 2.54,\r\n 'dpcm': 1,\r\n 'dppx': 2.54/96.0\r\n },\r\n 'dppx': {\r\n 'dpi': 96,\r\n 'dpcm': 96.0/2.54,\r\n 'dppx': 1\r\n }\r\n};\r\n\r\nmodule.exports = function (value, sourceUnit, targetUnit, precision) {\r\n if (!conversions.hasOwnProperty(targetUnit))\r\n throw new Error(\"Cannot convert to \" + targetUnit);\r\n\r\n if (!conversions[targetUnit].hasOwnProperty(sourceUnit))\r\n throw new Error(\"Cannot convert from \" + sourceUnit + \" to \" + targetUnit);\r\n \r\n var converted = conversions[targetUnit][sourceUnit] * value;\r\n \r\n if (precision !== false) {\r\n precision = Math.pow(10, parseInt(precision) || 5);\r\n return Math.round(converted * precision) / precision;\r\n }\r\n \r\n return converted;\r\n};\r\n","const pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","export default function(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","import {range as sequence} from \"d3-array\";\nimport {initRange} from \"./init.js\";\nimport ordinal from \"./ordinal.js\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n r0 = 0,\n r1 = 1,\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = r1 < r0,\n start = reverse ? r1 : r0,\n stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n\n scale.rangeRound = function(_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band(domain(), [r0, r1])\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return initRange.apply(rescale(), arguments);\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","import {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new Map(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n var key = d + \"\", i = index.get(key);\n if (!i) {\n if (unknown !== implicit) return unknown;\n index.set(key, i = domain.push(d));\n }\n return range[(i - 1) % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new Map();\n for (const value of _) {\n const key = value + \"\";\n if (index.has(key)) continue;\n index.set(key, domain.push(value));\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","export var slice = Array.prototype.slice;\n\nexport default function(x) {\n return typeof x === \"object\" && \"length\" in x\n ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","/*! decimal.js-light v2.5.1 https://github.com/MikeMcl/decimal.js-light/LICENCE */\r\n;(function (globalScope) {\r\n 'use strict';\r\n\r\n\r\n /*\r\n * decimal.js-light v2.5.1\r\n * An arbitrary-precision Decimal type for JavaScript.\r\n * https://github.com/MikeMcl/decimal.js-light\r\n * Copyright (c) 2020 Michael Mclaughlin \r\n * MIT Expat Licence\r\n */\r\n\r\n\r\n // ----------------------------------- EDITABLE DEFAULTS ------------------------------------ //\r\n\r\n\r\n // The limit on the value of `precision`, and on the value of the first argument to\r\n // `toDecimalPlaces`, `toExponential`, `toFixed`, `toPrecision` and `toSignificantDigits`.\r\n var MAX_DIGITS = 1e9, // 0 to 1e9\r\n\r\n\r\n // The initial configuration properties of the Decimal constructor.\r\n Decimal = {\r\n\r\n // These values must be integers within the stated ranges (inclusive).\r\n // Most of these values can be changed during run-time using `Decimal.config`.\r\n\r\n // The maximum number of significant digits of the result of a calculation or base conversion.\r\n // E.g. `Decimal.config({ precision: 20 });`\r\n precision: 20, // 1 to MAX_DIGITS\r\n\r\n // The rounding mode used by default by `toInteger`, `toDecimalPlaces`, `toExponential`,\r\n // `toFixed`, `toPrecision` and `toSignificantDigits`.\r\n //\r\n // ROUND_UP 0 Away from zero.\r\n // ROUND_DOWN 1 Towards zero.\r\n // ROUND_CEIL 2 Towards +Infinity.\r\n // ROUND_FLOOR 3 Towards -Infinity.\r\n // ROUND_HALF_UP 4 Towards nearest neighbour. If equidistant, up.\r\n // ROUND_HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\r\n // ROUND_HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\r\n // ROUND_HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\r\n // ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\r\n //\r\n // E.g.\r\n // `Decimal.rounding = 4;`\r\n // `Decimal.rounding = Decimal.ROUND_HALF_UP;`\r\n rounding: 4, // 0 to 8\r\n\r\n // The exponent value at and beneath which `toString` returns exponential notation.\r\n // JavaScript numbers: -7\r\n toExpNeg: -7, // 0 to -MAX_E\r\n\r\n // The exponent value at and above which `toString` returns exponential notation.\r\n // JavaScript numbers: 21\r\n toExpPos: 21, // 0 to MAX_E\r\n\r\n // The natural logarithm of 10.\r\n // 115 digits\r\n LN10: '2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286'\r\n },\r\n\r\n\r\n // ----------------------------------- END OF EDITABLE DEFAULTS ------------------------------- //\r\n\r\n\r\n external = true,\r\n\r\n decimalError = '[DecimalError] ',\r\n invalidArgument = decimalError + 'Invalid argument: ',\r\n exponentOutOfRange = decimalError + 'Exponent out of range: ',\r\n\r\n mathfloor = Math.floor,\r\n mathpow = Math.pow,\r\n\r\n isDecimal = /^(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,\r\n\r\n ONE,\r\n BASE = 1e7,\r\n LOG_BASE = 7,\r\n MAX_SAFE_INTEGER = 9007199254740991,\r\n MAX_E = mathfloor(MAX_SAFE_INTEGER / LOG_BASE), // 1286742750677284\r\n\r\n // Decimal.prototype object\r\n P = {};\r\n\r\n\r\n // Decimal prototype methods\r\n\r\n\r\n /*\r\n * absoluteValue abs\r\n * comparedTo cmp\r\n * decimalPlaces dp\r\n * dividedBy div\r\n * dividedToIntegerBy idiv\r\n * equals eq\r\n * exponent\r\n * greaterThan gt\r\n * greaterThanOrEqualTo gte\r\n * isInteger isint\r\n * isNegative isneg\r\n * isPositive ispos\r\n * isZero\r\n * lessThan lt\r\n * lessThanOrEqualTo lte\r\n * logarithm log\r\n * minus sub\r\n * modulo mod\r\n * naturalExponential exp\r\n * naturalLogarithm ln\r\n * negated neg\r\n * plus add\r\n * precision sd\r\n * squareRoot sqrt\r\n * times mul\r\n * toDecimalPlaces todp\r\n * toExponential\r\n * toFixed\r\n * toInteger toint\r\n * toNumber\r\n * toPower pow\r\n * toPrecision\r\n * toSignificantDigits tosd\r\n * toString\r\n * valueOf val\r\n */\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the absolute value of this Decimal.\r\n *\r\n */\r\n P.absoluteValue = P.abs = function () {\r\n var x = new this.constructor(this);\r\n if (x.s) x.s = 1;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if the value of this Decimal is greater than the value of `y`,\r\n * -1 if the value of this Decimal is less than the value of `y`,\r\n * 0 if they have the same value\r\n *\r\n */\r\n P.comparedTo = P.cmp = function (y) {\r\n var i, j, xdL, ydL,\r\n x = this;\r\n\r\n y = new x.constructor(y);\r\n\r\n // Signs differ?\r\n if (x.s !== y.s) return x.s || -y.s;\r\n\r\n // Compare exponents.\r\n if (x.e !== y.e) return x.e > y.e ^ x.s < 0 ? 1 : -1;\r\n\r\n xdL = x.d.length;\r\n ydL = y.d.length;\r\n\r\n // Compare digit by digit.\r\n for (i = 0, j = xdL < ydL ? xdL : ydL; i < j; ++i) {\r\n if (x.d[i] !== y.d[i]) return x.d[i] > y.d[i] ^ x.s < 0 ? 1 : -1;\r\n }\r\n\r\n // Compare lengths.\r\n return xdL === ydL ? 0 : xdL > ydL ^ x.s < 0 ? 1 : -1;\r\n };\r\n\r\n\r\n /*\r\n * Return the number of decimal places of the value of this Decimal.\r\n *\r\n */\r\n P.decimalPlaces = P.dp = function () {\r\n var x = this,\r\n w = x.d.length - 1,\r\n dp = (w - x.e) * LOG_BASE;\r\n\r\n // Subtract the number of trailing zeros of the last word.\r\n w = x.d[w];\r\n if (w) for (; w % 10 == 0; w /= 10) dp--;\r\n\r\n return dp < 0 ? 0 : dp;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal divided by `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.dividedBy = P.div = function (y) {\r\n return divide(this, new this.constructor(y));\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the integer part of dividing the value of this Decimal\r\n * by the value of `y`, truncated to `precision` significant digits.\r\n *\r\n */\r\n P.dividedToIntegerBy = P.idiv = function (y) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n return round(divide(x, new Ctor(y), 0, 1), Ctor.precision);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is equal to the value of `y`, otherwise return false.\r\n *\r\n */\r\n P.equals = P.eq = function (y) {\r\n return !this.cmp(y);\r\n };\r\n\r\n\r\n /*\r\n * Return the (base 10) exponent value of this Decimal (this.e is the base 10000000 exponent).\r\n *\r\n */\r\n P.exponent = function () {\r\n return getBase10Exponent(this);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is greater than the value of `y`, otherwise return\r\n * false.\r\n *\r\n */\r\n P.greaterThan = P.gt = function (y) {\r\n return this.cmp(y) > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is greater than or equal to the value of `y`,\r\n * otherwise return false.\r\n *\r\n */\r\n P.greaterThanOrEqualTo = P.gte = function (y) {\r\n return this.cmp(y) >= 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is an integer, otherwise return false.\r\n *\r\n */\r\n P.isInteger = P.isint = function () {\r\n return this.e > this.d.length - 2;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is negative, otherwise return false.\r\n *\r\n */\r\n P.isNegative = P.isneg = function () {\r\n return this.s < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is positive, otherwise return false.\r\n *\r\n */\r\n P.isPositive = P.ispos = function () {\r\n return this.s > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is 0, otherwise return false.\r\n *\r\n */\r\n P.isZero = function () {\r\n return this.s === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is less than `y`, otherwise return false.\r\n *\r\n */\r\n P.lessThan = P.lt = function (y) {\r\n return this.cmp(y) < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this Decimal is less than or equal to `y`, otherwise return false.\r\n *\r\n */\r\n P.lessThanOrEqualTo = P.lte = function (y) {\r\n return this.cmp(y) < 1;\r\n };\r\n\r\n\r\n /*\r\n * Return the logarithm of the value of this Decimal to the specified base, truncated to\r\n * `precision` significant digits.\r\n *\r\n * If no base is specified, return log[10](x).\r\n *\r\n * log[base](x) = ln(x) / ln(base)\r\n *\r\n * The maximum error of the result is 1 ulp (unit in the last place).\r\n *\r\n * [base] {number|string|Decimal} The base of the logarithm.\r\n *\r\n */\r\n P.logarithm = P.log = function (base) {\r\n var r,\r\n x = this,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision,\r\n wpr = pr + 5;\r\n\r\n // Default base is 10.\r\n if (base === void 0) {\r\n base = new Ctor(10);\r\n } else {\r\n base = new Ctor(base);\r\n\r\n // log[-b](x) = NaN\r\n // log[0](x) = NaN\r\n // log[1](x) = NaN\r\n if (base.s < 1 || base.eq(ONE)) throw Error(decimalError + 'NaN');\r\n }\r\n\r\n // log[b](-x) = NaN\r\n // log[b](0) = -Infinity\r\n if (x.s < 1) throw Error(decimalError + (x.s ? 'NaN' : '-Infinity'));\r\n\r\n // log[b](1) = 0\r\n if (x.eq(ONE)) return new Ctor(0);\r\n\r\n external = false;\r\n r = divide(ln(x, wpr), ln(base, wpr), wpr);\r\n external = true;\r\n\r\n return round(r, pr);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal minus `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.minus = P.sub = function (y) {\r\n var x = this;\r\n y = new x.constructor(y);\r\n return x.s == y.s ? subtract(x, y) : add(x, (y.s = -y.s, y));\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal modulo `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.modulo = P.mod = function (y) {\r\n var q,\r\n x = this,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n y = new Ctor(y);\r\n\r\n // x % 0 = NaN\r\n if (!y.s) throw Error(decimalError + 'NaN');\r\n\r\n // Return x if x is 0.\r\n if (!x.s) return round(new Ctor(x), pr);\r\n\r\n // Prevent rounding of intermediate calculations.\r\n external = false;\r\n q = divide(x, y, 0, 1).times(y);\r\n external = true;\r\n\r\n return x.minus(q);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of the value of this Decimal,\r\n * i.e. the base e raised to the power the value of this Decimal, truncated to `precision`\r\n * significant digits.\r\n *\r\n */\r\n P.naturalExponential = P.exp = function () {\r\n return exp(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of the value of this Decimal,\r\n * truncated to `precision` significant digits.\r\n *\r\n */\r\n P.naturalLogarithm = P.ln = function () {\r\n return ln(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal negated, i.e. as if multiplied by\r\n * -1.\r\n *\r\n */\r\n P.negated = P.neg = function () {\r\n var x = new this.constructor(this);\r\n x.s = -x.s || 0;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal plus `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.plus = P.add = function (y) {\r\n var x = this;\r\n y = new x.constructor(y);\r\n return x.s == y.s ? add(x, y) : subtract(x, (y.s = -y.s, y));\r\n };\r\n\r\n\r\n /*\r\n * Return the number of significant digits of the value of this Decimal.\r\n *\r\n * [z] {boolean|number} Whether to count integer-part trailing zeros: true, false, 1 or 0.\r\n *\r\n */\r\n P.precision = P.sd = function (z) {\r\n var e, sd, w,\r\n x = this;\r\n\r\n if (z !== void 0 && z !== !!z && z !== 1 && z !== 0) throw Error(invalidArgument + z);\r\n\r\n e = getBase10Exponent(x) + 1;\r\n w = x.d.length - 1;\r\n sd = w * LOG_BASE + 1;\r\n w = x.d[w];\r\n\r\n // If non-zero...\r\n if (w) {\r\n\r\n // Subtract the number of trailing zeros of the last word.\r\n for (; w % 10 == 0; w /= 10) sd--;\r\n\r\n // Add the number of digits of the first word.\r\n for (w = x.d[0]; w >= 10; w /= 10) sd++;\r\n }\r\n\r\n return z && e > sd ? e : sd;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the square root of this Decimal, truncated to `precision`\r\n * significant digits.\r\n *\r\n */\r\n P.squareRoot = P.sqrt = function () {\r\n var e, n, pr, r, s, t, wpr,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n // Negative or zero?\r\n if (x.s < 1) {\r\n if (!x.s) return new Ctor(0);\r\n\r\n // sqrt(-x) = NaN\r\n throw Error(decimalError + 'NaN');\r\n }\r\n\r\n e = getBase10Exponent(x);\r\n external = false;\r\n\r\n // Initial estimate.\r\n s = Math.sqrt(+x);\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\r\n if (s == 0 || s == 1 / 0) {\r\n n = digitsToString(x.d);\r\n if ((n.length + e) % 2 == 0) n += '0';\r\n s = Math.sqrt(n);\r\n e = mathfloor((e + 1) / 2) - (e < 0 || e % 2);\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new Ctor(n);\r\n } else {\r\n r = new Ctor(s.toString());\r\n }\r\n\r\n pr = Ctor.precision;\r\n s = wpr = pr + 3;\r\n\r\n // Newton-Raphson iteration.\r\n for (;;) {\r\n t = r;\r\n r = t.plus(divide(x, t, wpr + 2)).times(0.5);\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === (n = digitsToString(r.d)).slice(0, wpr)) {\r\n n = n.slice(wpr - 3, wpr + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits are 9999 or\r\n // 4999, i.e. approaching a rounding boundary, continue the iteration.\r\n if (s == wpr && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the exact result as the\r\n // nines may infinitely repeat.\r\n round(t, pr + 1, 0);\r\n\r\n if (t.times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n } else if (n != '9999') {\r\n break;\r\n }\r\n\r\n wpr += 4;\r\n }\r\n }\r\n\r\n external = true;\r\n\r\n return round(r, pr);\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal times `y`, truncated to\r\n * `precision` significant digits.\r\n *\r\n */\r\n P.times = P.mul = function (y) {\r\n var carry, e, i, k, r, rL, t, xdL, ydL,\r\n x = this,\r\n Ctor = x.constructor,\r\n xd = x.d,\r\n yd = (y = new Ctor(y)).d;\r\n\r\n // Return 0 if either is 0.\r\n if (!x.s || !y.s) return new Ctor(0);\r\n\r\n y.s *= x.s;\r\n e = x.e + y.e;\r\n xdL = xd.length;\r\n ydL = yd.length;\r\n\r\n // Ensure xd points to the longer array.\r\n if (xdL < ydL) {\r\n r = xd;\r\n xd = yd;\r\n yd = r;\r\n rL = xdL;\r\n xdL = ydL;\r\n ydL = rL;\r\n }\r\n\r\n // Initialise the result array with zeros.\r\n r = [];\r\n rL = xdL + ydL;\r\n for (i = rL; i--;) r.push(0);\r\n\r\n // Multiply!\r\n for (i = ydL; --i >= 0;) {\r\n carry = 0;\r\n for (k = xdL + i; k > i;) {\r\n t = r[k] + yd[i] * xd[k - i - 1] + carry;\r\n r[k--] = t % BASE | 0;\r\n carry = t / BASE | 0;\r\n }\r\n\r\n r[k] = (r[k] + carry) % BASE | 0;\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; !r[--rL];) r.pop();\r\n\r\n if (carry) ++e;\r\n else r.shift();\r\n\r\n y.d = r;\r\n y.e = e;\r\n\r\n return external ? round(y, Ctor.precision) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `dp`\r\n * decimal places using rounding mode `rm` or `rounding` if `rm` is omitted.\r\n *\r\n * If `dp` is omitted, return a new Decimal whose value is the value of this Decimal.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toDecimalPlaces = P.todp = function (dp, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n x = new Ctor(x);\r\n if (dp === void 0) return x;\r\n\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n return round(x, dp + getBase10Exponent(x) + 1, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in exponential notation rounded to\r\n * `dp` fixed decimal places using rounding mode `rounding`.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toExponential = function (dp, rm) {\r\n var str,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (dp === void 0) {\r\n str = toString(x, true);\r\n } else {\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n x = round(new Ctor(x), dp + 1, rm);\r\n str = toString(x, true, dp + 1);\r\n }\r\n\r\n return str;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal in normal (fixed-point) notation to\r\n * `dp` fixed decimal places and rounded using rounding mode `rm` or `rounding` if `rm` is\r\n * omitted.\r\n *\r\n * As with JavaScript numbers, (-0).toFixed(0) is '0', but e.g. (-0.00001).toFixed(0) is '-0'.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.\r\n * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.\r\n * (-0).toFixed(3) is '0.000'.\r\n * (-0.5).toFixed(0) is '-0'.\r\n *\r\n */\r\n P.toFixed = function (dp, rm) {\r\n var str, y,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (dp === void 0) return toString(x);\r\n\r\n checkInt32(dp, 0, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n y = round(new Ctor(x), dp + getBase10Exponent(x) + 1, rm);\r\n str = toString(y.abs(), false, dp + getBase10Exponent(y) + 1);\r\n\r\n // To determine whether to add the minus sign look at the value before it was rounded,\r\n // i.e. look at `x` rather than `y`.\r\n return x.isneg() && !x.isZero() ? '-' + str : str;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a whole number using\r\n * rounding mode `rounding`.\r\n *\r\n */\r\n P.toInteger = P.toint = function () {\r\n var x = this,\r\n Ctor = x.constructor;\r\n return round(new Ctor(x), getBase10Exponent(x) + 1, Ctor.rounding);\r\n };\r\n\r\n\r\n /*\r\n * Return the value of this Decimal converted to a number primitive.\r\n *\r\n */\r\n P.toNumber = function () {\r\n return +this;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal raised to the power `y`,\r\n * truncated to `precision` significant digits.\r\n *\r\n * For non-integer or very large exponents pow(x, y) is calculated using\r\n *\r\n * x^y = exp(y*ln(x))\r\n *\r\n * The maximum error is 1 ulp (unit in last place).\r\n *\r\n * y {number|string|Decimal} The power to which to raise this Decimal.\r\n *\r\n */\r\n P.toPower = P.pow = function (y) {\r\n var e, k, pr, r, sign, yIsInt,\r\n x = this,\r\n Ctor = x.constructor,\r\n guard = 12,\r\n yn = +(y = new Ctor(y));\r\n\r\n // pow(x, 0) = 1\r\n if (!y.s) return new Ctor(ONE);\r\n\r\n x = new Ctor(x);\r\n\r\n // pow(0, y > 0) = 0\r\n // pow(0, y < 0) = Infinity\r\n if (!x.s) {\r\n if (y.s < 1) throw Error(decimalError + 'Infinity');\r\n return x;\r\n }\r\n\r\n // pow(1, y) = 1\r\n if (x.eq(ONE)) return x;\r\n\r\n pr = Ctor.precision;\r\n\r\n // pow(x, 1) = x\r\n if (y.eq(ONE)) return round(x, pr);\r\n\r\n e = y.e;\r\n k = y.d.length - 1;\r\n yIsInt = e >= k;\r\n sign = x.s;\r\n\r\n if (!yIsInt) {\r\n\r\n // pow(x < 0, y non-integer) = NaN\r\n if (sign < 0) throw Error(decimalError + 'NaN');\r\n\r\n // If y is a small integer use the 'exponentiation by squaring' algorithm.\r\n } else if ((k = yn < 0 ? -yn : yn) <= MAX_SAFE_INTEGER) {\r\n r = new Ctor(ONE);\r\n\r\n // Max k of 9007199254740991 takes 53 loop iterations.\r\n // Maximum digits array length; leaves [28, 34] guard digits.\r\n e = Math.ceil(pr / LOG_BASE + 4);\r\n\r\n external = false;\r\n\r\n for (;;) {\r\n if (k % 2) {\r\n r = r.times(x);\r\n truncate(r.d, e);\r\n }\r\n\r\n k = mathfloor(k / 2);\r\n if (k === 0) break;\r\n\r\n x = x.times(x);\r\n truncate(x.d, e);\r\n }\r\n\r\n external = true;\r\n\r\n return y.s < 0 ? new Ctor(ONE).div(r) : round(r, pr);\r\n }\r\n\r\n // Result is negative if x is negative and the last digit of integer y is odd.\r\n sign = sign < 0 && y.d[Math.max(e, k)] & 1 ? -1 : 1;\r\n\r\n x.s = 1;\r\n external = false;\r\n r = y.times(ln(x, pr + guard));\r\n external = true;\r\n r = exp(r);\r\n r.s = sign;\r\n\r\n return r;\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal rounded to `sd` significant digits\r\n * using rounding mode `rounding`.\r\n *\r\n * Return exponential notation if `sd` is less than the number of digits necessary to represent\r\n * the integer part of the value in normal notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toPrecision = function (sd, rm) {\r\n var e, str,\r\n x = this,\r\n Ctor = x.constructor;\r\n\r\n if (sd === void 0) {\r\n e = getBase10Exponent(x);\r\n str = toString(x, e <= Ctor.toExpNeg || e >= Ctor.toExpPos);\r\n } else {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n\r\n x = round(new Ctor(x), sd, rm);\r\n e = getBase10Exponent(x);\r\n str = toString(x, sd <= e || e <= Ctor.toExpNeg, sd);\r\n }\r\n\r\n return str;\r\n };\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the value of this Decimal rounded to a maximum of `sd`\r\n * significant digits using rounding mode `rm`, or to `precision` and `rounding` respectively if\r\n * omitted.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX_DIGITS inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n */\r\n P.toSignificantDigits = P.tosd = function (sd, rm) {\r\n var x = this,\r\n Ctor = x.constructor;\r\n\r\n if (sd === void 0) {\r\n sd = Ctor.precision;\r\n rm = Ctor.rounding;\r\n } else {\r\n checkInt32(sd, 1, MAX_DIGITS);\r\n\r\n if (rm === void 0) rm = Ctor.rounding;\r\n else checkInt32(rm, 0, 8);\r\n }\r\n\r\n return round(new Ctor(x), sd, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this Decimal.\r\n *\r\n * Return exponential notation if this Decimal has a positive exponent equal to or greater than\r\n * `toExpPos`, or a negative exponent equal to or less than `toExpNeg`.\r\n *\r\n */\r\n P.toString = P.valueOf = P.val = P.toJSON = function () {\r\n var x = this,\r\n e = getBase10Exponent(x),\r\n Ctor = x.constructor;\r\n\r\n return toString(x, e <= Ctor.toExpNeg || e >= Ctor.toExpPos);\r\n };\r\n\r\n\r\n // Helper functions for Decimal.prototype (P) and/or Decimal methods, and their callers.\r\n\r\n\r\n /*\r\n * add P.minus, P.plus\r\n * checkInt32 P.todp, P.toExponential, P.toFixed, P.toPrecision, P.tosd\r\n * digitsToString P.log, P.sqrt, P.pow, toString, exp, ln\r\n * divide P.div, P.idiv, P.log, P.mod, P.sqrt, exp, ln\r\n * exp P.exp, P.pow\r\n * getBase10Exponent P.exponent, P.sd, P.toint, P.sqrt, P.todp, P.toFixed, P.toPrecision,\r\n * P.toString, divide, round, toString, exp, ln\r\n * getLn10 P.log, ln\r\n * getZeroString digitsToString, toString\r\n * ln P.log, P.ln, P.pow, exp\r\n * parseDecimal Decimal\r\n * round P.abs, P.idiv, P.log, P.minus, P.mod, P.neg, P.plus, P.toint, P.sqrt,\r\n * P.times, P.todp, P.toExponential, P.toFixed, P.pow, P.toPrecision, P.tosd,\r\n * divide, getLn10, exp, ln\r\n * subtract P.minus, P.plus\r\n * toString P.toExponential, P.toFixed, P.toPrecision, P.toString, P.valueOf\r\n * truncate P.pow\r\n *\r\n * Throws: P.log, P.mod, P.sd, P.sqrt, P.pow, checkInt32, divide, round,\r\n * getLn10, exp, ln, parseDecimal, Decimal, config\r\n */\r\n\r\n\r\n function add(x, y) {\r\n var carry, d, e, i, k, len, xd, yd,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n // If either is zero...\r\n if (!x.s || !y.s) {\r\n\r\n // Return x if y is zero.\r\n // Return y if y is non-zero.\r\n if (!y.s) y = new Ctor(x);\r\n return external ? round(y, pr) : y;\r\n }\r\n\r\n xd = x.d;\r\n yd = y.d;\r\n\r\n // x and y are finite, non-zero numbers with the same sign.\r\n\r\n k = x.e;\r\n e = y.e;\r\n xd = xd.slice();\r\n i = k - e;\r\n\r\n // If base 1e7 exponents differ...\r\n if (i) {\r\n if (i < 0) {\r\n d = xd;\r\n i = -i;\r\n len = yd.length;\r\n } else {\r\n d = yd;\r\n e = k;\r\n len = xd.length;\r\n }\r\n\r\n // Limit number of zeros prepended to max(ceil(pr / LOG_BASE), len) + 1.\r\n k = Math.ceil(pr / LOG_BASE);\r\n len = k > len ? k + 1 : len + 1;\r\n\r\n if (i > len) {\r\n i = len;\r\n d.length = 1;\r\n }\r\n\r\n // Prepend zeros to equalise exponents. Note: Faster to use reverse then do unshifts.\r\n d.reverse();\r\n for (; i--;) d.push(0);\r\n d.reverse();\r\n }\r\n\r\n len = xd.length;\r\n i = yd.length;\r\n\r\n // If yd is longer than xd, swap xd and yd so xd points to the longer array.\r\n if (len - i < 0) {\r\n i = len;\r\n d = yd;\r\n yd = xd;\r\n xd = d;\r\n }\r\n\r\n // Only start adding at yd.length - 1 as the further digits of xd can be left as they are.\r\n for (carry = 0; i;) {\r\n carry = (xd[--i] = xd[i] + yd[i] + carry) / BASE | 0;\r\n xd[i] %= BASE;\r\n }\r\n\r\n if (carry) {\r\n xd.unshift(carry);\r\n ++e;\r\n }\r\n\r\n // Remove trailing zeros.\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n for (len = xd.length; xd[--len] == 0;) xd.pop();\r\n\r\n y.d = xd;\r\n y.e = e;\r\n\r\n return external ? round(y, pr) : y;\r\n }\r\n\r\n\r\n function checkInt32(i, min, max) {\r\n if (i !== ~~i || i < min || i > max) {\r\n throw Error(invalidArgument + i);\r\n }\r\n }\r\n\r\n\r\n function digitsToString(d) {\r\n var i, k, ws,\r\n indexOfLastWord = d.length - 1,\r\n str = '',\r\n w = d[0];\r\n\r\n if (indexOfLastWord > 0) {\r\n str += w;\r\n for (i = 1; i < indexOfLastWord; i++) {\r\n ws = d[i] + '';\r\n k = LOG_BASE - ws.length;\r\n if (k) str += getZeroString(k);\r\n str += ws;\r\n }\r\n\r\n w = d[i];\r\n ws = w + '';\r\n k = LOG_BASE - ws.length;\r\n if (k) str += getZeroString(k);\r\n } else if (w === 0) {\r\n return '0';\r\n }\r\n\r\n // Remove trailing zeros of last w.\r\n for (; w % 10 === 0;) w /= 10;\r\n\r\n return str + w;\r\n }\r\n\r\n\r\n var divide = (function () {\r\n\r\n // Assumes non-zero x and k, and hence non-zero result.\r\n function multiplyInteger(x, k) {\r\n var temp,\r\n carry = 0,\r\n i = x.length;\r\n\r\n for (x = x.slice(); i--;) {\r\n temp = x[i] * k + carry;\r\n x[i] = temp % BASE | 0;\r\n carry = temp / BASE | 0;\r\n }\r\n\r\n if (carry) x.unshift(carry);\r\n\r\n return x;\r\n }\r\n\r\n function compare(a, b, aL, bL) {\r\n var i, r;\r\n\r\n if (aL != bL) {\r\n r = aL > bL ? 1 : -1;\r\n } else {\r\n for (i = r = 0; i < aL; i++) {\r\n if (a[i] != b[i]) {\r\n r = a[i] > b[i] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return r;\r\n }\r\n\r\n function subtract(a, b, aL) {\r\n var i = 0;\r\n\r\n // Subtract b from a.\r\n for (; aL--;) {\r\n a[aL] -= i;\r\n i = a[aL] < b[aL] ? 1 : 0;\r\n a[aL] = i * BASE + a[aL] - b[aL];\r\n }\r\n\r\n // Remove leading zeros.\r\n for (; !a[0] && a.length > 1;) a.shift();\r\n }\r\n\r\n return function (x, y, pr, dp) {\r\n var cmp, e, i, k, prod, prodL, q, qd, rem, remL, rem0, sd, t, xi, xL, yd0, yL, yz,\r\n Ctor = x.constructor,\r\n sign = x.s == y.s ? 1 : -1,\r\n xd = x.d,\r\n yd = y.d;\r\n\r\n // Either 0?\r\n if (!x.s) return new Ctor(x);\r\n if (!y.s) throw Error(decimalError + 'Division by zero');\r\n\r\n e = x.e - y.e;\r\n yL = yd.length;\r\n xL = xd.length;\r\n q = new Ctor(sign);\r\n qd = q.d = [];\r\n\r\n // Result exponent may be one less than e.\r\n for (i = 0; yd[i] == (xd[i] || 0); ) ++i;\r\n if (yd[i] > (xd[i] || 0)) --e;\r\n\r\n if (pr == null) {\r\n sd = pr = Ctor.precision;\r\n } else if (dp) {\r\n sd = pr + (getBase10Exponent(x) - getBase10Exponent(y)) + 1;\r\n } else {\r\n sd = pr;\r\n }\r\n\r\n if (sd < 0) return new Ctor(0);\r\n\r\n // Convert precision in number of base 10 digits to base 1e7 digits.\r\n sd = sd / LOG_BASE + 2 | 0;\r\n i = 0;\r\n\r\n // divisor < 1e7\r\n if (yL == 1) {\r\n k = 0;\r\n yd = yd[0];\r\n sd++;\r\n\r\n // k is the carry.\r\n for (; (i < xL || k) && sd--; i++) {\r\n t = k * BASE + (xd[i] || 0);\r\n qd[i] = t / yd | 0;\r\n k = t % yd | 0;\r\n }\r\n\r\n // divisor >= 1e7\r\n } else {\r\n\r\n // Normalise xd and yd so highest order digit of yd is >= BASE/2\r\n k = BASE / (yd[0] + 1) | 0;\r\n\r\n if (k > 1) {\r\n yd = multiplyInteger(yd, k);\r\n xd = multiplyInteger(xd, k);\r\n yL = yd.length;\r\n xL = xd.length;\r\n }\r\n\r\n xi = yL;\r\n rem = xd.slice(0, yL);\r\n remL = rem.length;\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; remL < yL;) rem[remL++] = 0;\r\n\r\n yz = yd.slice();\r\n yz.unshift(0);\r\n yd0 = yd[0];\r\n\r\n if (yd[1] >= BASE / 2) ++yd0;\r\n\r\n do {\r\n k = 0;\r\n\r\n // Compare divisor and remainder.\r\n cmp = compare(yd, rem, yL, remL);\r\n\r\n // If divisor < remainder.\r\n if (cmp < 0) {\r\n\r\n // Calculate trial digit, k.\r\n rem0 = rem[0];\r\n if (yL != remL) rem0 = rem0 * BASE + (rem[1] || 0);\r\n\r\n // k will be how many times the divisor goes into the current remainder.\r\n k = rem0 / yd0 | 0;\r\n\r\n // Algorithm:\r\n // 1. product = divisor * trial digit (k)\r\n // 2. if product > remainder: product -= divisor, k--\r\n // 3. remainder -= product\r\n // 4. if product was < remainder at 2:\r\n // 5. compare new remainder and divisor\r\n // 6. If remainder > divisor: remainder -= divisor, k++\r\n\r\n if (k > 1) {\r\n if (k >= BASE) k = BASE - 1;\r\n\r\n // product = divisor * trial digit.\r\n prod = multiplyInteger(yd, k);\r\n prodL = prod.length;\r\n remL = rem.length;\r\n\r\n // Compare product and remainder.\r\n cmp = compare(prod, rem, prodL, remL);\r\n\r\n // product > remainder.\r\n if (cmp == 1) {\r\n k--;\r\n\r\n // Subtract divisor from product.\r\n subtract(prod, yL < prodL ? yz : yd, prodL);\r\n }\r\n } else {\r\n\r\n // cmp is -1.\r\n // If k is 0, there is no need to compare yd and rem again below, so change cmp to 1\r\n // to avoid it. If k is 1 there is a need to compare yd and rem again below.\r\n if (k == 0) cmp = k = 1;\r\n prod = yd.slice();\r\n }\r\n\r\n prodL = prod.length;\r\n if (prodL < remL) prod.unshift(0);\r\n\r\n // Subtract product from remainder.\r\n subtract(rem, prod, remL);\r\n\r\n // If product was < previous remainder.\r\n if (cmp == -1) {\r\n remL = rem.length;\r\n\r\n // Compare divisor and new remainder.\r\n cmp = compare(yd, rem, yL, remL);\r\n\r\n // If divisor < new remainder, subtract divisor from remainder.\r\n if (cmp < 1) {\r\n k++;\r\n\r\n // Subtract divisor from remainder.\r\n subtract(rem, yL < remL ? yz : yd, remL);\r\n }\r\n }\r\n\r\n remL = rem.length;\r\n } else if (cmp === 0) {\r\n k++;\r\n rem = [0];\r\n } // if cmp === 1, k will be 0\r\n\r\n // Add the next digit, k, to the result array.\r\n qd[i++] = k;\r\n\r\n // Update the remainder.\r\n if (cmp && rem[0]) {\r\n rem[remL++] = xd[xi] || 0;\r\n } else {\r\n rem = [xd[xi]];\r\n remL = 1;\r\n }\r\n\r\n } while ((xi++ < xL || rem[0] !== void 0) && sd--);\r\n }\r\n\r\n // Leading zero?\r\n if (!qd[0]) qd.shift();\r\n\r\n q.e = e;\r\n\r\n return round(q, dp ? pr + getBase10Exponent(q) + 1 : pr);\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural exponential of `x` truncated to `sd`\r\n * significant digits.\r\n *\r\n * Taylor/Maclaurin series.\r\n *\r\n * exp(x) = x^0/0! + x^1/1! + x^2/2! + x^3/3! + ...\r\n *\r\n * Argument reduction:\r\n * Repeat x = x / 32, k += 5, until |x| < 0.1\r\n * exp(x) = exp(x / 2^k)^(2^k)\r\n *\r\n * Previously, the argument was initially reduced by\r\n * exp(x) = exp(r) * 10^k where r = x - k * ln10, k = floor(x / ln10)\r\n * to first put r in the range [0, ln10], before dividing by 32 until |x| < 0.1, but this was\r\n * found to be slower than just dividing repeatedly by 32 as above.\r\n *\r\n * (Math object integer min/max: Math.exp(709) = 8.2e+307, Math.exp(-745) = 5e-324)\r\n *\r\n * exp(x) is non-terminating for any finite, non-zero x.\r\n *\r\n */\r\n function exp(x, sd) {\r\n var denominator, guard, pow, sum, t, wpr,\r\n i = 0,\r\n k = 0,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n if (getBase10Exponent(x) > 16) throw Error(exponentOutOfRange + getBase10Exponent(x));\r\n\r\n // exp(0) = 1\r\n if (!x.s) return new Ctor(ONE);\r\n\r\n if (sd == null) {\r\n external = false;\r\n wpr = pr;\r\n } else {\r\n wpr = sd;\r\n }\r\n\r\n t = new Ctor(0.03125);\r\n\r\n while (x.abs().gte(0.1)) {\r\n x = x.times(t); // x = x / 2^5\r\n k += 5;\r\n }\r\n\r\n // Estimate the precision increase necessary to ensure the first 4 rounding digits are correct.\r\n guard = Math.log(mathpow(2, k)) / Math.LN10 * 2 + 5 | 0;\r\n wpr += guard;\r\n denominator = pow = sum = new Ctor(ONE);\r\n Ctor.precision = wpr;\r\n\r\n for (;;) {\r\n pow = round(pow.times(x), wpr);\r\n denominator = denominator.times(++i);\r\n t = sum.plus(divide(pow, denominator, wpr));\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\r\n while (k--) sum = round(sum.times(sum), wpr);\r\n Ctor.precision = pr;\r\n return sd == null ? (external = true, round(sum, pr)) : sum;\r\n }\r\n\r\n sum = t;\r\n }\r\n }\r\n\r\n\r\n // Calculate the base 10 exponent from the base 1e7 exponent.\r\n function getBase10Exponent(x) {\r\n var e = x.e * LOG_BASE,\r\n w = x.d[0];\r\n\r\n // Add the number of digits of the first word of the digits array.\r\n for (; w >= 10; w /= 10) e++;\r\n return e;\r\n }\r\n\r\n\r\n function getLn10(Ctor, sd, pr) {\r\n\r\n if (sd > Ctor.LN10.sd()) {\r\n\r\n\r\n // Reset global state in case the exception is caught.\r\n external = true;\r\n if (pr) Ctor.precision = pr;\r\n throw Error(decimalError + 'LN10 precision limit exceeded');\r\n }\r\n\r\n return round(new Ctor(Ctor.LN10), sd);\r\n }\r\n\r\n\r\n function getZeroString(k) {\r\n var zs = '';\r\n for (; k--;) zs += '0';\r\n return zs;\r\n }\r\n\r\n\r\n /*\r\n * Return a new Decimal whose value is the natural logarithm of `x` truncated to `sd` significant\r\n * digits.\r\n *\r\n * ln(n) is non-terminating (n != 1)\r\n *\r\n */\r\n function ln(y, sd) {\r\n var c, c0, denominator, e, numerator, sum, t, wpr, x2,\r\n n = 1,\r\n guard = 10,\r\n x = y,\r\n xd = x.d,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n // ln(-x) = NaN\r\n // ln(0) = -Infinity\r\n if (x.s < 1) throw Error(decimalError + (x.s ? 'NaN' : '-Infinity'));\r\n\r\n // ln(1) = 0\r\n if (x.eq(ONE)) return new Ctor(0);\r\n\r\n if (sd == null) {\r\n external = false;\r\n wpr = pr;\r\n } else {\r\n wpr = sd;\r\n }\r\n\r\n if (x.eq(10)) {\r\n if (sd == null) external = true;\r\n return getLn10(Ctor, wpr);\r\n }\r\n\r\n wpr += guard;\r\n Ctor.precision = wpr;\r\n c = digitsToString(xd);\r\n c0 = c.charAt(0);\r\n e = getBase10Exponent(x);\r\n\r\n if (Math.abs(e) < 1.5e15) {\r\n\r\n // Argument reduction.\r\n // The series converges faster the closer the argument is to 1, so using\r\n // ln(a^b) = b * ln(a), ln(a) = ln(a^b) / b\r\n // multiply the argument by itself until the leading digits of the significand are 7, 8, 9,\r\n // 10, 11, 12 or 13, recording the number of multiplications so the sum of the series can\r\n // later be divided by this number, then separate out the power of 10 using\r\n // ln(a*10^b) = ln(a) + b*ln(10).\r\n\r\n // max n is 21 (gives 0.9, 1.0 or 1.1) (9e15 / 21 = 4.2e14).\r\n //while (c0 < 9 && c0 != 1 || c0 == 1 && c.charAt(1) > 1) {\r\n // max n is 6 (gives 0.7 - 1.3)\r\n while (c0 < 7 && c0 != 1 || c0 == 1 && c.charAt(1) > 3) {\r\n x = x.times(y);\r\n c = digitsToString(x.d);\r\n c0 = c.charAt(0);\r\n n++;\r\n }\r\n\r\n e = getBase10Exponent(x);\r\n\r\n if (c0 > 1) {\r\n x = new Ctor('0.' + c);\r\n e++;\r\n } else {\r\n x = new Ctor(c0 + '.' + c.slice(1));\r\n }\r\n } else {\r\n\r\n // The argument reduction method above may result in overflow if the argument y is a massive\r\n // number with exponent >= 1500000000000000 (9e15 / 6 = 1.5e15), so instead recall this\r\n // function using ln(x*10^e) = ln(x) + e*ln(10).\r\n t = getLn10(Ctor, wpr + 2, pr).times(e + '');\r\n x = ln(new Ctor(c0 + '.' + c.slice(1)), wpr - guard).plus(t);\r\n\r\n Ctor.precision = pr;\r\n return sd == null ? (external = true, round(x, pr)) : x;\r\n }\r\n\r\n // x is reduced to a value near 1.\r\n\r\n // Taylor series.\r\n // ln(y) = ln((1 + x)/(1 - x)) = 2(x + x^3/3 + x^5/5 + x^7/7 + ...)\r\n // where x = (y - 1)/(y + 1) (|x| < 1)\r\n sum = numerator = x = divide(x.minus(ONE), x.plus(ONE), wpr);\r\n x2 = round(x.times(x), wpr);\r\n denominator = 3;\r\n\r\n for (;;) {\r\n numerator = round(numerator.times(x2), wpr);\r\n t = sum.plus(divide(numerator, new Ctor(denominator), wpr));\r\n\r\n if (digitsToString(t.d).slice(0, wpr) === digitsToString(sum.d).slice(0, wpr)) {\r\n sum = sum.times(2);\r\n\r\n // Reverse the argument reduction.\r\n if (e !== 0) sum = sum.plus(getLn10(Ctor, wpr + 2, pr).times(e + ''));\r\n sum = divide(sum, new Ctor(n), wpr);\r\n\r\n Ctor.precision = pr;\r\n return sd == null ? (external = true, round(sum, pr)) : sum;\r\n }\r\n\r\n sum = t;\r\n denominator += 2;\r\n }\r\n }\r\n\r\n\r\n /*\r\n * Parse the value of a new Decimal `x` from string `str`.\r\n */\r\n function parseDecimal(x, str) {\r\n var e, i, len;\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = str.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +str.slice(i + 1);\r\n str = str.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = str.length;\r\n }\r\n\r\n // Determine leading zeros.\r\n for (i = 0; str.charCodeAt(i) === 48;) ++i;\r\n\r\n // Determine trailing zeros.\r\n for (len = str.length; str.charCodeAt(len - 1) === 48;) --len;\r\n str = str.slice(i, len);\r\n\r\n if (str) {\r\n len -= i;\r\n e = e - i - 1;\r\n x.e = mathfloor(e / LOG_BASE);\r\n x.d = [];\r\n\r\n // Transform base\r\n\r\n // e is the base 10 exponent.\r\n // i is where to slice str to get the first word of the digits array.\r\n i = (e + 1) % LOG_BASE;\r\n if (e < 0) i += LOG_BASE;\r\n\r\n if (i < len) {\r\n if (i) x.d.push(+str.slice(0, i));\r\n for (len -= LOG_BASE; i < len;) x.d.push(+str.slice(i, i += LOG_BASE));\r\n str = str.slice(i);\r\n i = LOG_BASE - str.length;\r\n } else {\r\n i -= len;\r\n }\r\n\r\n for (; i--;) str += '0';\r\n x.d.push(+str);\r\n\r\n if (external && (x.e > MAX_E || x.e < -MAX_E)) throw Error(exponentOutOfRange + e);\r\n } else {\r\n\r\n // Zero.\r\n x.s = 0;\r\n x.e = 0;\r\n x.d = [0];\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n /*\r\n * Round `x` to `sd` significant digits, using rounding mode `rm` if present (truncate otherwise).\r\n */\r\n function round(x, sd, rm) {\r\n var i, j, k, n, rd, doRound, w, xdi,\r\n xd = x.d;\r\n\r\n // rd: the rounding digit, i.e. the digit after the digit that may be rounded up.\r\n // w: the word of xd which contains the rounding digit, a base 1e7 number.\r\n // xdi: the index of w within xd.\r\n // n: the number of digits of w.\r\n // i: what would be the index of rd within w if all the numbers were 7 digits long (i.e. if\r\n // they had leading zeros)\r\n // j: if > 0, the actual index of rd within w (if < 0, rd is a leading zero).\r\n\r\n // Get the length of the first word of the digits array xd.\r\n for (n = 1, k = xd[0]; k >= 10; k /= 10) n++;\r\n i = sd - n;\r\n\r\n // Is the rounding digit in the first word of xd?\r\n if (i < 0) {\r\n i += LOG_BASE;\r\n j = sd;\r\n w = xd[xdi = 0];\r\n } else {\r\n xdi = Math.ceil((i + 1) / LOG_BASE);\r\n k = xd.length;\r\n if (xdi >= k) return x;\r\n w = k = xd[xdi];\r\n\r\n // Get the number of digits of w.\r\n for (n = 1; k >= 10; k /= 10) n++;\r\n\r\n // Get the index of rd within w.\r\n i %= LOG_BASE;\r\n\r\n // Get the index of rd within w, adjusted for leading zeros.\r\n // The number of leading zeros of w is given by LOG_BASE - n.\r\n j = i - LOG_BASE + n;\r\n }\r\n\r\n if (rm !== void 0) {\r\n k = mathpow(10, n - j - 1);\r\n\r\n // Get the rounding digit at index j of w.\r\n rd = w / k % 10 | 0;\r\n\r\n // Are there any non-zero digits after the rounding digit?\r\n doRound = sd < 0 || xd[xdi + 1] !== void 0 || w % k;\r\n\r\n // The expression `w % mathpow(10, n - j - 1)` returns all the digits of w to the right of the\r\n // digit at (left-to-right) index j, e.g. if w is 908714 and j is 2, the expression will give\r\n // 714.\r\n\r\n doRound = rm < 4\r\n ? (rd || doRound) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : rd > 5 || rd == 5 && (rm == 4 || doRound || rm == 6 &&\r\n\r\n // Check whether the digit to the left of the rounding digit is odd.\r\n ((i > 0 ? j > 0 ? w / mathpow(10, n - j) : 0 : xd[xdi - 1]) % 10) & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n }\r\n\r\n if (sd < 1 || !xd[0]) {\r\n if (doRound) {\r\n k = getBase10Exponent(x);\r\n xd.length = 1;\r\n\r\n // Convert sd to decimal places.\r\n sd = sd - k - 1;\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n xd[0] = mathpow(10, (LOG_BASE - sd % LOG_BASE) % LOG_BASE);\r\n x.e = mathfloor(-sd / LOG_BASE) || 0;\r\n } else {\r\n xd.length = 1;\r\n\r\n // Zero.\r\n xd[0] = x.e = x.s = 0;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n // Remove excess digits.\r\n if (i == 0) {\r\n xd.length = xdi;\r\n k = 1;\r\n xdi--;\r\n } else {\r\n xd.length = xdi + 1;\r\n k = mathpow(10, LOG_BASE - i);\r\n\r\n // E.g. 56700 becomes 56000 if 7 is the rounding digit.\r\n // j > 0 means i > number of leading zeros of w.\r\n xd[xdi] = j > 0 ? (w / mathpow(10, n - j) % mathpow(10, j) | 0) * k : 0;\r\n }\r\n\r\n if (doRound) {\r\n for (;;) {\r\n\r\n // Is the digit to be rounded up in the first word of xd?\r\n if (xdi == 0) {\r\n if ((xd[0] += k) == BASE) {\r\n xd[0] = 1;\r\n ++x.e;\r\n }\r\n\r\n break;\r\n } else {\r\n xd[xdi] += k;\r\n if (xd[xdi] != BASE) break;\r\n xd[xdi--] = 0;\r\n k = 1;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (i = xd.length; xd[--i] === 0;) xd.pop();\r\n\r\n if (external && (x.e > MAX_E || x.e < -MAX_E)) {\r\n throw Error(exponentOutOfRange + getBase10Exponent(x));\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n function subtract(x, y) {\r\n var d, e, i, j, k, len, xd, xe, xLTy, yd,\r\n Ctor = x.constructor,\r\n pr = Ctor.precision;\r\n\r\n // Return y negated if x is zero.\r\n // Return x if y is zero and x is non-zero.\r\n if (!x.s || !y.s) {\r\n if (y.s) y.s = -y.s;\r\n else y = new Ctor(x);\r\n return external ? round(y, pr) : y;\r\n }\r\n\r\n xd = x.d;\r\n yd = y.d;\r\n\r\n // x and y are non-zero numbers with the same sign.\r\n\r\n e = y.e;\r\n xe = x.e;\r\n xd = xd.slice();\r\n k = xe - e;\r\n\r\n // If exponents differ...\r\n if (k) {\r\n xLTy = k < 0;\r\n\r\n if (xLTy) {\r\n d = xd;\r\n k = -k;\r\n len = yd.length;\r\n } else {\r\n d = yd;\r\n e = xe;\r\n len = xd.length;\r\n }\r\n\r\n // Numbers with massively different exponents would result in a very high number of zeros\r\n // needing to be prepended, but this can be avoided while still ensuring correct rounding by\r\n // limiting the number of zeros to `Math.ceil(pr / LOG_BASE) + 2`.\r\n i = Math.max(Math.ceil(pr / LOG_BASE), len) + 2;\r\n\r\n if (k > i) {\r\n k = i;\r\n d.length = 1;\r\n }\r\n\r\n // Prepend zeros to equalise exponents.\r\n d.reverse();\r\n for (i = k; i--;) d.push(0);\r\n d.reverse();\r\n\r\n // Base 1e7 exponents equal.\r\n } else {\r\n\r\n // Check digits to determine which is the bigger number.\r\n\r\n i = xd.length;\r\n len = yd.length;\r\n xLTy = i < len;\r\n if (xLTy) len = i;\r\n\r\n for (i = 0; i < len; i++) {\r\n if (xd[i] != yd[i]) {\r\n xLTy = xd[i] < yd[i];\r\n break;\r\n }\r\n }\r\n\r\n k = 0;\r\n }\r\n\r\n if (xLTy) {\r\n d = xd;\r\n xd = yd;\r\n yd = d;\r\n y.s = -y.s;\r\n }\r\n\r\n len = xd.length;\r\n\r\n // Append zeros to xd if shorter.\r\n // Don't add zeros to yd if shorter as subtraction only needs to start at yd length.\r\n for (i = yd.length - len; i > 0; --i) xd[len++] = 0;\r\n\r\n // Subtract yd from xd.\r\n for (i = yd.length; i > k;) {\r\n if (xd[--i] < yd[i]) {\r\n for (j = i; j && xd[--j] === 0;) xd[j] = BASE - 1;\r\n --xd[j];\r\n xd[i] += BASE;\r\n }\r\n\r\n xd[i] -= yd[i];\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (; xd[--len] === 0;) xd.pop();\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xd[0] === 0; xd.shift()) --e;\r\n\r\n // Zero?\r\n if (!xd[0]) return new Ctor(0);\r\n\r\n y.d = xd;\r\n y.e = e;\r\n\r\n //return external && xd.length >= pr / LOG_BASE ? round(y, pr) : y;\r\n return external ? round(y, pr) : y;\r\n }\r\n\r\n\r\n function toString(x, isExp, sd) {\r\n var k,\r\n e = getBase10Exponent(x),\r\n str = digitsToString(x.d),\r\n len = str.length;\r\n\r\n if (isExp) {\r\n if (sd && (k = sd - len) > 0) {\r\n str = str.charAt(0) + '.' + str.slice(1) + getZeroString(k);\r\n } else if (len > 1) {\r\n str = str.charAt(0) + '.' + str.slice(1);\r\n }\r\n\r\n str = str + (e < 0 ? 'e' : 'e+') + e;\r\n } else if (e < 0) {\r\n str = '0.' + getZeroString(-e - 1) + str;\r\n if (sd && (k = sd - len) > 0) str += getZeroString(k);\r\n } else if (e >= len) {\r\n str += getZeroString(e + 1 - len);\r\n if (sd && (k = sd - e - 1) > 0) str = str + '.' + getZeroString(k);\r\n } else {\r\n if ((k = e + 1) < len) str = str.slice(0, k) + '.' + str.slice(k);\r\n if (sd && (k = sd - len) > 0) {\r\n if (e + 1 === len) str += '.';\r\n str += getZeroString(k);\r\n }\r\n }\r\n\r\n return x.s < 0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // Does not strip trailing zeros.\r\n function truncate(arr, len) {\r\n if (arr.length > len) {\r\n arr.length = len;\r\n return true;\r\n }\r\n }\r\n\r\n\r\n // Decimal methods\r\n\r\n\r\n /*\r\n * clone\r\n * config/set\r\n */\r\n\r\n\r\n /*\r\n * Create and return a Decimal constructor with the same configuration properties as this Decimal\r\n * constructor.\r\n *\r\n */\r\n function clone(obj) {\r\n var i, p, ps;\r\n\r\n /*\r\n * The Decimal constructor and exported function.\r\n * Return a new Decimal instance.\r\n *\r\n * value {number|string|Decimal} A numeric value.\r\n *\r\n */\r\n function Decimal(value) {\r\n var x = this;\r\n\r\n // Decimal called without new.\r\n if (!(x instanceof Decimal)) return new Decimal(value);\r\n\r\n // Retain a reference to this Decimal constructor, and shadow Decimal.prototype.constructor\r\n // which points to Object.\r\n x.constructor = Decimal;\r\n\r\n // Duplicate.\r\n if (value instanceof Decimal) {\r\n x.s = value.s;\r\n x.e = value.e;\r\n x.d = (value = value.d) ? value.slice() : value;\r\n return;\r\n }\r\n\r\n if (typeof value === 'number') {\r\n\r\n // Reject Infinity/NaN.\r\n if (value * 0 !== 0) {\r\n throw Error(invalidArgument + value);\r\n }\r\n\r\n if (value > 0) {\r\n x.s = 1;\r\n } else if (value < 0) {\r\n value = -value;\r\n x.s = -1;\r\n } else {\r\n x.s = 0;\r\n x.e = 0;\r\n x.d = [0];\r\n return;\r\n }\r\n\r\n // Fast path for small integers.\r\n if (value === ~~value && value < 1e7) {\r\n x.e = 0;\r\n x.d = [value];\r\n return;\r\n }\r\n\r\n return parseDecimal(x, value.toString());\r\n } else if (typeof value !== 'string') {\r\n throw Error(invalidArgument + value);\r\n }\r\n\r\n // Minus sign?\r\n if (value.charCodeAt(0) === 45) {\r\n value = value.slice(1);\r\n x.s = -1;\r\n } else {\r\n x.s = 1;\r\n }\r\n\r\n if (isDecimal.test(value)) parseDecimal(x, value);\r\n else throw Error(invalidArgument + value);\r\n }\r\n\r\n Decimal.prototype = P;\r\n\r\n Decimal.ROUND_UP = 0;\r\n Decimal.ROUND_DOWN = 1;\r\n Decimal.ROUND_CEIL = 2;\r\n Decimal.ROUND_FLOOR = 3;\r\n Decimal.ROUND_HALF_UP = 4;\r\n Decimal.ROUND_HALF_DOWN = 5;\r\n Decimal.ROUND_HALF_EVEN = 6;\r\n Decimal.ROUND_HALF_CEIL = 7;\r\n Decimal.ROUND_HALF_FLOOR = 8;\r\n\r\n Decimal.clone = clone;\r\n Decimal.config = Decimal.set = config;\r\n\r\n if (obj === void 0) obj = {};\r\n if (obj) {\r\n ps = ['precision', 'rounding', 'toExpNeg', 'toExpPos', 'LN10'];\r\n for (i = 0; i < ps.length;) if (!obj.hasOwnProperty(p = ps[i++])) obj[p] = this[p];\r\n }\r\n\r\n Decimal.config(obj);\r\n\r\n return Decimal;\r\n }\r\n\r\n\r\n /*\r\n * Configure global settings for a Decimal constructor.\r\n *\r\n * `obj` is an object with one or more of the following properties,\r\n *\r\n * precision {number}\r\n * rounding {number}\r\n * toExpNeg {number}\r\n * toExpPos {number}\r\n *\r\n * E.g. Decimal.config({ precision: 20, rounding: 4 })\r\n *\r\n */\r\n function config(obj) {\r\n if (!obj || typeof obj !== 'object') {\r\n throw Error(decimalError + 'Object expected');\r\n }\r\n var i, p, v,\r\n ps = [\r\n 'precision', 1, MAX_DIGITS,\r\n 'rounding', 0, 8,\r\n 'toExpNeg', -1 / 0, 0,\r\n 'toExpPos', 0, 1 / 0\r\n ];\r\n\r\n for (i = 0; i < ps.length; i += 3) {\r\n if ((v = obj[p = ps[i]]) !== void 0) {\r\n if (mathfloor(v) === v && v >= ps[i + 1] && v <= ps[i + 2]) this[p] = v;\r\n else throw Error(invalidArgument + p + ': ' + v);\r\n }\r\n }\r\n\r\n if ((v = obj[p = 'LN10']) !== void 0) {\r\n if (v == Math.LN10) this[p] = new this(v);\r\n else throw Error(invalidArgument + p + ': ' + v);\r\n }\r\n\r\n return this;\r\n }\r\n\r\n\r\n // Create and configure initial Decimal constructor.\r\n Decimal = clone(Decimal);\r\n\r\n Decimal['default'] = Decimal.Decimal = Decimal;\r\n\r\n // Internal constant.\r\n ONE = new Decimal(1);\r\n\r\n\r\n // Export.\r\n\r\n\r\n // AMD.\r\n if (typeof define == 'function' && define.amd) {\r\n define(function () {\r\n return Decimal;\r\n });\r\n\r\n // Node and other environments that support module.exports.\r\n } else if (typeof module != 'undefined' && module.exports) {\r\n module.exports = Decimal;\r\n\r\n // Browser.\r\n } else {\r\n if (!globalScope) {\r\n globalScope = typeof self != 'undefined' && self && self.self == self\r\n ? self : Function('return this')();\r\n }\r\n\r\n globalScope.Decimal = Decimal;\r\n }\r\n})(this);\r\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","/**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\nfunction arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = arrayEvery;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nmodule.exports = asciiToArray;\n","var baseEach = require('./_baseEach');\n\n/**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\nfunction baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n}\n\nmodule.exports = baseEvery;\n","var isSymbol = require('./isSymbol');\n\n/**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\nfunction baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseExtremum;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","/**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\nfunction baseGt(value, other) {\n return value > other;\n}\n\nmodule.exports = baseGt;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","/**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\nfunction baseLt(value, other) {\n return value < other;\n}\n\nmodule.exports = baseLt;\n","var baseEach = require('./_baseEach'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nmodule.exports = baseMap;\n","var arrayMap = require('./_arrayMap'),\n baseGet = require('./_baseGet'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n baseSortBy = require('./_baseSortBy'),\n baseUnary = require('./_baseUnary'),\n compareMultiple = require('./_compareMultiple'),\n identity = require('./identity'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(baseIteratee));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n}\n\nmodule.exports = baseOrderBy;\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeMax = Math.max;\n\n/**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\nfunction baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n}\n\nmodule.exports = baseRange;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","var baseEach = require('./_baseEach');\n\n/**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n}\n\nmodule.exports = baseSome;\n","/**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\nfunction baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n}\n\nmodule.exports = baseSortBy;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","var baseSlice = require('./_baseSlice');\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nmodule.exports = castSlice;\n","var isSymbol = require('./isSymbol');\n\n/**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\nfunction compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n}\n\nmodule.exports = compareAscending;\n","var compareAscending = require('./_compareAscending');\n\n/**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\nfunction compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n}\n\nmodule.exports = compareMultiple;\n","var castSlice = require('./_castSlice'),\n hasUnicode = require('./_hasUnicode'),\n stringToArray = require('./_stringToArray'),\n toString = require('./toString');\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n}\n\nmodule.exports = createCaseFirst;\n","var baseIteratee = require('./_baseIteratee'),\n isArrayLike = require('./isArrayLike'),\n keys = require('./keys');\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\nmodule.exports = createFind;\n","var baseRange = require('./_baseRange'),\n isIterateeCall = require('./_isIterateeCall'),\n toFinite = require('./toFinite');\n\n/**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\nfunction createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n}\n\nmodule.exports = createRange;\n","var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nmodule.exports = hasUnicode;\n","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","var asciiToArray = require('./_asciiToArray'),\n hasUnicode = require('./_hasUnicode'),\n unicodeToArray = require('./_unicodeToArray');\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nmodule.exports = stringToArray;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nmodule.exports = unicodeToArray;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","var arrayEvery = require('./_arrayEvery'),\n baseEvery = require('./_baseEvery'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\nfunction every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = every;\n","var createFind = require('./_createFind'),\n findIndex = require('./findIndex');\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\nmodule.exports = find;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIteratee = require('./_baseIteratee'),\n toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nmodule.exports = findIndex;\n","var baseFlatten = require('./_baseFlatten'),\n map = require('./map');\n\n/**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\nfunction flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n}\n\nmodule.exports = flatMap;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]';\n\n/**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\nfunction isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && baseGetTag(value) == boolTag);\n}\n\nmodule.exports = isBoolean;\n","var isNumber = require('./isNumber');\n\n/**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\nfunction isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n}\n\nmodule.exports = isNaN;\n","/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nmodule.exports = isNil;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nmodule.exports = isNumber;\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","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n isArray = require('./isArray');\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, baseIteratee(iteratee, 3));\n}\n\nmodule.exports = map;\n","var baseAssignValue = require('./_baseAssignValue'),\n baseForOwn = require('./_baseForOwn'),\n baseIteratee = require('./_baseIteratee');\n\n/**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\nfunction mapValues(object, iteratee) {\n var result = {};\n iteratee = baseIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n}\n\nmodule.exports = mapValues;\n","var baseExtremum = require('./_baseExtremum'),\n baseGt = require('./_baseGt'),\n identity = require('./identity');\n\n/**\n * Computes the maximum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the maximum value.\n * @example\n *\n * _.max([4, 2, 8, 6]);\n * // => 8\n *\n * _.max([]);\n * // => undefined\n */\nfunction max(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseGt)\n : undefined;\n}\n\nmodule.exports = max;\n","var baseExtremum = require('./_baseExtremum'),\n baseLt = require('./_baseLt'),\n identity = require('./identity');\n\n/**\n * Computes the minimum value of `array`. If `array` is empty or falsey,\n * `undefined` is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {*} Returns the minimum value.\n * @example\n *\n * _.min([4, 2, 8, 6]);\n * // => 2\n *\n * _.min([]);\n * // => undefined\n */\nfunction min(array) {\n return (array && array.length)\n ? baseExtremum(array, identity, baseLt)\n : undefined;\n}\n\nmodule.exports = min;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var createRange = require('./_createRange');\n\n/**\n * Creates an array of numbers (positive and/or negative) progressing from\n * `start` up to, but not including, `end`. A step of `-1` is used if a negative\n * `start` is specified without an `end` or `step`. If `end` is not specified,\n * it's set to `start` with `start` then set to `0`.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @param {number} [step=1] The value to increment or decrement by.\n * @returns {Array} Returns the range of numbers.\n * @see _.inRange, _.rangeRight\n * @example\n *\n * _.range(4);\n * // => [0, 1, 2, 3]\n *\n * _.range(-4);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 5);\n * // => [1, 2, 3, 4]\n *\n * _.range(0, 20, 5);\n * // => [0, 5, 10, 15]\n *\n * _.range(0, -4, -1);\n * // => [0, -1, -2, -3]\n *\n * _.range(1, 4, 0);\n * // => [1, 1, 1]\n *\n * _.range(0);\n * // => []\n */\nvar range = createRange();\n\nmodule.exports = range;\n","var arraySome = require('./_arraySome'),\n baseIteratee = require('./_baseIteratee'),\n baseSome = require('./_baseSome'),\n isArray = require('./isArray'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\nfunction some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = some;\n","var baseFlatten = require('./_baseFlatten'),\n baseOrderBy = require('./_baseOrderBy'),\n baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\nvar sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n});\n\nmodule.exports = sortBy;\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n","var createCaseFirst = require('./_createCaseFirst');\n\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\nmodule.exports = upperFirst;\n","if performance? and performance.now\n module.exports = -> performance.now()\nelse if process? and process.hrtime\n module.exports = -> (getNanoSeconds() - nodeLoadTime) / 1e6\n hrtime = process.hrtime\n getNanoSeconds = ->\n hr = hrtime()\n hr[0] * 1e9 + hr[1]\n moduleLoadTime = getNanoSeconds()\n upTime = process.uptime() * 1e9\n nodeLoadTime = moduleLoadTime - upTime\nelse if Date.now\n module.exports = -> Date.now() - loadTime\n loadTime = Date.now()\nelse\n module.exports = -> new Date().getTime() - loadTime\n loadTime = new Date().getTime()\n","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n","/**\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","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","import debounce from 'lodash/debounce';\nimport throttle from 'lodash/throttle';\n\nimport { Props, ReactResizeDetectorDimensions } from './ResizeDetector';\n\nexport type patchResizeHandlerType = ReturnType | ReturnType | ResizeObserverCallback;\n\nexport const patchResizeHandler = (\n resizeCallback: ResizeObserverCallback,\n refreshMode: Props['refreshMode'],\n refreshRate: Props['refreshRate'],\n refreshOptions: Props['refreshOptions']\n): patchResizeHandlerType => {\n switch (refreshMode) {\n case 'debounce':\n return debounce(resizeCallback, refreshRate, refreshOptions);\n case 'throttle':\n return throttle(resizeCallback, refreshRate, refreshOptions);\n default:\n return resizeCallback;\n }\n};\n\nexport const isFunction = (fn: any): boolean => typeof fn === 'function';\n\nexport const isSSR = (): boolean => typeof window === 'undefined';\n\nexport const isDOMElement = (element: any): boolean => element instanceof Element || element instanceof HTMLDocument;\n\nexport const createNotifier =\n (\n onResize: Props['onResize'],\n setSize: React.Dispatch>,\n handleWidth: boolean,\n handleHeight: boolean\n ) =>\n ({ width, height }: ReactResizeDetectorDimensions): void => {\n setSize(prev => {\n if (prev.width === width && prev.height === height) {\n // skip if dimensions haven't changed\n return prev;\n }\n\n if ((prev.width === width && !handleHeight) || (prev.height === height && !handleWidth)) {\n // process `handleHeight/handleWidth` props\n return prev;\n }\n\n if (onResize && isFunction(onResize)) {\n onResize(width, height);\n }\n\n return { width, height };\n });\n };\n","import * as React from 'react';\nimport { PureComponent, isValidElement, cloneElement, createRef, ReactNode, ReactElement, RefObject } from 'react';\nimport { findDOMNode } from 'react-dom';\n\nimport { patchResizeHandler, isFunction, isSSR, isDOMElement, createNotifier } from './utils';\n\nexport interface ReactResizeDetectorDimensions {\n height?: number;\n width?: number;\n}\n\ninterface ChildFunctionProps extends ReactResizeDetectorDimensions {\n targetRef?: RefObject;\n}\n\nexport interface Props {\n /**\n * Function that will be invoked with observable element's width and height.\n * Default: undefined\n */\n onResize?: (width?: number, height?: number) => void;\n /**\n * Trigger update on height change.\n * Default: true\n */\n handleHeight?: boolean;\n /**\n * Trigger onResize on width change.\n * Default: true\n */\n handleWidth?: boolean;\n /**\n * Do not trigger update when a component mounts.\n * Default: false\n */\n skipOnMount?: boolean;\n /**\n * Changes the update strategy. Possible values: \"throttle\" and \"debounce\".\n * See `lodash` docs for more information https://lodash.com/docs/\n * undefined - callback will be fired for every frame.\n * Default: undefined\n */\n refreshMode?: 'throttle' | 'debounce';\n /**\n * Set the timeout/interval for `refreshMode` strategy\n * Default: undefined\n */\n refreshRate?: number;\n /**\n * Pass additional params to `refreshMode` according to lodash docs\n * Default: undefined\n */\n refreshOptions?: { leading?: boolean; trailing?: boolean };\n /**\n * These options will be used as a second parameter of `resizeObserver.observe` method\n * @see https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver/observe\n * Default: undefined\n */\n observerOptions?: ResizeObserverOptions;\n}\n\nexport interface ComponentsProps extends Props {\n /**\n * A selector of an element to observe.\n * You can use this property to attach resize-observer to any DOM element.\n * Please refer to the querySelector docs.\n * Default: undefined\n * @deprecated since version 5.0.0. It will be removed in version 7.0.0.\n * Use targetRef instead\n */\n querySelector?: string;\n /**\n * Valid only for a callback-pattern.\n * Ignored for other render types.\n * Set resize-detector's node type.\n * You can pass any valid React node: string with node's name or element.\n * Can be useful when you need to handle table's or paragraph's resizes.\n * Default: \"div\"\n * @deprecated since version 5.0.0. It will be removed in version 7.0.0.\n * Use targetRef instead\n */\n nodeType?: keyof JSX.IntrinsicElements; // will be passed to React.createElement()\n /**\n * A DOM element to observe.\n * By default it's a parent element in relation to the ReactResizeDetector component.\n * But you can pass any DOM element to observe.\n * This property is omitted when you pass querySelector.\n * Default: undefined\n * @deprecated since version 5.0.0. It will be removed in version 6.0.0.\n * Use targetRef instead\n */\n targetDomEl?: ElementT;\n /**\n * A React reference of the element to observe.\n * Pass a reference to the element you want to attach resize handlers to.\n * It must be an instance of React.useRef or React.createRef functions\n * Default: undefined\n */\n targetRef?: RefObject;\n\n render?: (props: ReactResizeDetectorDimensions) => ReactNode;\n\n children?: ReactNode | ((props: ChildFunctionProps) => ReactNode);\n}\n\nclass ResizeDetector extends PureComponent<\n ComponentsProps,\n ReactResizeDetectorDimensions\n> {\n skipOnMount: boolean | undefined;\n targetRef;\n observableElement;\n resizeHandler;\n resizeObserver;\n constructor(props: ComponentsProps) {\n super(props);\n\n const { skipOnMount, refreshMode, refreshRate = 1000, refreshOptions } = props;\n\n this.state = {\n width: undefined,\n height: undefined\n };\n\n this.skipOnMount = skipOnMount;\n this.targetRef = createRef();\n this.observableElement = null;\n\n if (isSSR()) {\n return;\n }\n\n this.resizeHandler = patchResizeHandler(this.createResizeHandler, refreshMode, refreshRate, refreshOptions);\n this.resizeObserver = new window.ResizeObserver(this.resizeHandler);\n }\n\n componentDidMount(): void {\n this.attachObserver();\n }\n\n componentDidUpdate(): void {\n this.attachObserver();\n }\n\n componentWillUnmount(): void {\n if (isSSR()) {\n return;\n }\n this.resizeObserver.disconnect();\n this.cancelHandler();\n }\n\n cancelHandler = (): void => {\n if (this.resizeHandler && this.resizeHandler.cancel) {\n // cancel debounced handler\n this.resizeHandler.cancel();\n this.resizeHandler = null;\n }\n };\n\n attachObserver = (): void => {\n const { targetRef, observerOptions } = this.props;\n\n if (isSSR()) {\n return;\n }\n\n if (targetRef && targetRef.current) {\n this.targetRef.current = targetRef.current;\n }\n\n const element = this.getElement();\n if (!element) {\n // can't find element to observe\n return;\n }\n\n if (this.observableElement && this.observableElement === element) {\n // element is already observed\n return;\n }\n\n this.observableElement = element;\n this.resizeObserver.observe(element, observerOptions);\n };\n\n getElement = (): Element | Text | null => {\n const { querySelector, targetDomEl } = this.props;\n\n if (isSSR()) return null;\n\n // in case we pass a querySelector\n if (querySelector) return document.querySelector(querySelector);\n // in case we pass a DOM element\n if (targetDomEl && isDOMElement(targetDomEl)) return targetDomEl;\n // in case we pass a React ref using React.createRef()\n if (this.targetRef && isDOMElement(this.targetRef.current)) return this.targetRef.current;\n\n // the worse case when we don't receive any information from the parent and the library doesn't add any wrappers\n // we have to use a deprecated `findDOMNode` method in order to find a DOM element to attach to\n const currentElement = findDOMNode(this);\n\n if (!currentElement) return null;\n\n const renderType = this.getRenderType();\n switch (renderType) {\n case 'renderProp':\n return currentElement;\n case 'childFunction':\n return currentElement;\n case 'child':\n return currentElement;\n case 'childArray':\n return currentElement;\n default:\n return currentElement.parentElement;\n }\n };\n\n createResizeHandler: ResizeObserverCallback = (entries): void => {\n const { handleWidth = true, handleHeight = true, onResize } = this.props;\n\n if (!handleWidth && !handleHeight) return;\n\n const notifyResize = createNotifier(onResize, this.setState.bind(this), handleWidth, handleHeight);\n\n entries.forEach(entry => {\n const { width, height } = (entry && entry.contentRect) || {};\n\n const shouldSetSize = !this.skipOnMount && !isSSR();\n if (shouldSetSize) {\n notifyResize({ width, height });\n }\n\n this.skipOnMount = false;\n });\n };\n\n getRenderType = (): string => {\n const { render, children } = this.props;\n if (isFunction(render)) {\n // DEPRECATED. Use `Child Function Pattern` instead\n return 'renderProp';\n }\n\n if (isFunction(children)) {\n return 'childFunction';\n }\n\n if (isValidElement(children)) {\n return 'child';\n }\n\n if (Array.isArray(children)) {\n // DEPRECATED. Wrap children with a single parent\n return 'childArray';\n }\n\n // DEPRECATED. Use `Child Function Pattern` instead\n return 'parent';\n };\n\n render() {\n const { render, children, nodeType: WrapperTag = 'div' } = this.props;\n const { width, height } = this.state;\n\n const childProps = { width, height, targetRef: this.targetRef };\n const renderType = this.getRenderType();\n\n let typedChildren: any;\n\n switch (renderType) {\n case 'renderProp':\n return render && render(childProps);\n case 'childFunction':\n typedChildren = children as (props: ChildFunctionProps) => ReactNode;\n return typedChildren(childProps);\n case 'child':\n // @TODO bug prone logic\n typedChildren = children as ReactElement;\n if (typedChildren.type && typeof typedChildren.type === 'string') {\n // child is a native DOM elements such as div, span etc\n const { targetRef, ...nativeProps } = childProps;\n return cloneElement(typedChildren, nativeProps);\n }\n // class or functional component otherwise\n return cloneElement(typedChildren, childProps);\n case 'childArray':\n typedChildren = children as [ReactElement];\n return typedChildren.map((el: ReactElement) => !!el && cloneElement(el, childProps));\n default:\n return ;\n }\n }\n}\n\nexport default ResizeDetector;\n","import { useLayoutEffect, useEffect, useState, useRef, MutableRefObject } from 'react';\n\nimport { patchResizeHandler, createNotifier, isSSR } from './utils';\n\nimport { Props, ReactResizeDetectorDimensions } from './ResizeDetector';\n\nconst useEnhancedEffect = isSSR() ? useEffect : useLayoutEffect;\n\ninterface FunctionProps extends Props {\n targetRef?: ReturnType;\n}\n\nfunction useResizeDetector(props: FunctionProps = {}): UseResizeDetectorReturn {\n const {\n skipOnMount = false,\n refreshMode,\n refreshRate = 1000,\n refreshOptions,\n handleWidth = true,\n handleHeight = true,\n targetRef,\n observerOptions,\n onResize\n } = props;\n\n const skipResize: MutableRefObject = useRef(skipOnMount);\n const localRef = useRef(null);\n const ref = (targetRef ?? localRef) as MutableRefObject;\n const resizeHandler = useRef();\n\n const [size, setSize] = useState({\n width: undefined,\n height: undefined\n });\n\n useEnhancedEffect(() => {\n if (isSSR()) {\n return;\n }\n\n const notifyResize = createNotifier(onResize, setSize, handleWidth, handleHeight);\n\n const resizeCallback: ResizeObserverCallback = entries => {\n if (!handleWidth && !handleHeight) return;\n\n entries.forEach(entry => {\n const { width, height } = (entry && entry.contentRect) || {};\n\n const shouldSetSize = !skipResize.current && !isSSR();\n if (shouldSetSize) {\n notifyResize({ width, height });\n }\n\n skipResize.current = false;\n });\n };\n\n resizeHandler.current = patchResizeHandler(resizeCallback, refreshMode, refreshRate, refreshOptions);\n\n const resizeObserver = new window.ResizeObserver(resizeHandler.current as ResizeObserverCallback);\n\n if (ref.current) {\n // Something wrong with typings here...\n resizeObserver.observe(ref.current as any, observerOptions);\n }\n\n return () => {\n resizeObserver.disconnect();\n const patchedResizeHandler = resizeHandler.current as any;\n if (patchedResizeHandler && patchedResizeHandler.cancel) {\n patchedResizeHandler.cancel();\n }\n };\n }, [refreshMode, refreshRate, refreshOptions, handleWidth, handleHeight, onResize, observerOptions, ref.current]);\n\n return { ref, ...size };\n}\n\nexport default useResizeDetector;\n\nexport interface UseResizeDetectorReturn extends ReactResizeDetectorDimensions {\n ref: MutableRefObject;\n}\n","import raf from 'raf';\nexport default function setRafTimeout(callback) {\n var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var currTime = -1;\n\n var shouldUpdate = function shouldUpdate(now) {\n if (currTime < 0) {\n currTime = now;\n }\n\n if (now - currTime > timeout) {\n callback(now);\n currTime = -1;\n } else {\n raf(shouldUpdate);\n }\n };\n\n raf(shouldUpdate);\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\nfunction _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport setRafTimeout from './setRafTimeout';\nexport default function createAnimateManager() {\n var currStyle = {};\n\n var handleChange = function handleChange() {\n return null;\n };\n\n var shouldStop = false;\n\n var setStyle = function setStyle(_style) {\n if (shouldStop) {\n return;\n }\n\n if (Array.isArray(_style)) {\n if (!_style.length) {\n return;\n }\n\n var styles = _style;\n\n var _styles = _toArray(styles),\n curr = _styles[0],\n restStyles = _styles.slice(1);\n\n if (typeof curr === 'number') {\n setRafTimeout(setStyle.bind(null, restStyles), curr);\n return;\n }\n\n setStyle(curr);\n setRafTimeout(setStyle.bind(null, restStyles));\n return;\n }\n\n if (_typeof(_style) === 'object') {\n currStyle = _style;\n handleChange(currStyle);\n }\n\n if (typeof _style === 'function') {\n _style();\n }\n };\n\n return {\n stop: function stop() {\n shouldStop = true;\n },\n start: function start(style) {\n shouldStop = false;\n setStyle(style);\n },\n subscribe: function subscribe(_handleChange) {\n handleChange = _handleChange;\n return function () {\n handleChange = function handleChange() {\n return null;\n };\n };\n }\n };\n}","function 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\n/* eslint no-console: 0 */\nvar PREFIX_LIST = ['Webkit', 'Moz', 'O', 'ms'];\nvar IN_LINE_PREFIX_LIST = ['-webkit-', '-moz-', '-o-', '-ms-'];\nvar IN_COMPATIBLE_PROPERTY = ['transform', 'transformOrigin', 'transition'];\nexport var getIntersectionKeys = function getIntersectionKeys(preObj, nextObj) {\n return [Object.keys(preObj), Object.keys(nextObj)].reduce(function (a, b) {\n return a.filter(function (c) {\n return b.includes(c);\n });\n });\n};\nexport var identity = function identity(param) {\n return param;\n};\n/*\n * @description: convert camel case to dash case\n * string => string\n */\n\nexport var getDashCase = function getDashCase(name) {\n return name.replace(/([A-Z])/g, function (v) {\n return \"-\".concat(v.toLowerCase());\n });\n};\n/*\n * @description: add compatible style prefix\n * (string, string) => object\n */\n\nexport var generatePrefixStyle = function generatePrefixStyle(name, value) {\n if (IN_COMPATIBLE_PROPERTY.indexOf(name) === -1) {\n return _defineProperty({}, name, value);\n }\n\n var isTransition = name === 'transition';\n var camelName = name.replace(/(\\w)/, function (v) {\n return v.toUpperCase();\n });\n var styleVal = value;\n return PREFIX_LIST.reduce(function (result, property, i) {\n if (isTransition) {\n styleVal = value.replace(/(transform|transform-origin)/gim, \"\".concat(IN_LINE_PREFIX_LIST[i], \"$1\"));\n }\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, property + camelName, styleVal));\n }, {});\n};\nexport var log = function log() {\n var _console;\n\n (_console = console).log.apply(_console, arguments);\n};\n/*\n * @description: log the value of a varible\n * string => any => any\n */\n\nexport var debug = function debug(name) {\n return function (item) {\n log(name, item);\n return item;\n };\n};\n/*\n * @description: log name, args, return value of a function\n * function => function\n */\n\nexport var debugf = function debugf(tag, f) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var res = f.apply(void 0, args);\n var name = tag || f.name || 'anonymous function';\n var argNames = \"(\".concat(args.map(JSON.stringify).join(', '), \")\");\n log(\"\".concat(name, \": \").concat(argNames, \" => \").concat(JSON.stringify(res)));\n return res;\n };\n};\n/*\n * @description: map object on every element in this object.\n * (function, object) => object\n */\n\nexport var mapObject = function mapObject(fn, obj) {\n return Object.keys(obj).reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, key, fn(key, obj[key])));\n }, {});\n};\n/*\n * @description: add compatible prefix to style\n * object => object\n */\n\nexport var translateStyle = function translateStyle(style) {\n return Object.keys(style).reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), generatePrefixStyle(key, res[key]));\n }, style);\n};\nexport var compose = function compose() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (!args.length) {\n return identity;\n }\n\n var fns = args.reverse(); // first function can receive multiply arguments\n\n var firstFn = fns[0];\n var tailsFn = fns.slice(1);\n return function () {\n return tailsFn.reduce(function (res, fn) {\n return fn(res);\n }, firstFn.apply(void 0, arguments));\n };\n};\nexport var getTransitionVal = function getTransitionVal(props, duration, easing) {\n return props.map(function (prop) {\n return \"\".concat(getDashCase(prop), \" \").concat(duration, \"ms \").concat(easing);\n }).join(',');\n};\nvar isDev = process.env.NODE_ENV !== 'production';\nexport var warn = function warn(condition, format, a, b, c, d, e, f) {\n if (isDev && typeof console !== 'undefined' && console.warn) {\n if (format === undefined) {\n console.warn('LogUtils requires an error message argument');\n }\n\n if (!condition) {\n if (format === undefined) {\n console.warn('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n console.warn(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n }\n }\n }\n};","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\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\nimport { warn } from './util';\nvar ACCURACY = 1e-4;\n\nvar cubicBezierFactor = function cubicBezierFactor(c1, c2) {\n return [0, 3 * c1, 3 * c2 - 6 * c1, 3 * c1 - 3 * c2 + 1];\n};\n\nvar multyTime = function multyTime(params, t) {\n return params.map(function (param, i) {\n return param * Math.pow(t, i);\n }).reduce(function (pre, curr) {\n return pre + curr;\n });\n};\n\nvar cubicBezier = function cubicBezier(c1, c2) {\n return function (t) {\n var params = cubicBezierFactor(c1, c2);\n return multyTime(params, t);\n };\n};\n\nvar derivativeCubicBezier = function derivativeCubicBezier(c1, c2) {\n return function (t) {\n var params = cubicBezierFactor(c1, c2);\n var newParams = [].concat(_toConsumableArray(params.map(function (param, i) {\n return param * i;\n }).slice(1)), [0]);\n return multyTime(newParams, t);\n };\n}; // calculate cubic-bezier using Newton's method\n\n\nexport var configBezier = function configBezier() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var x1 = args[0],\n y1 = args[1],\n x2 = args[2],\n y2 = args[3];\n\n if (args.length === 1) {\n switch (args[0]) {\n case 'linear':\n x1 = 0.0;\n y1 = 0.0;\n x2 = 1.0;\n y2 = 1.0;\n break;\n\n case 'ease':\n x1 = 0.25;\n y1 = 0.1;\n x2 = 0.25;\n y2 = 1.0;\n break;\n\n case 'ease-in':\n x1 = 0.42;\n y1 = 0.0;\n x2 = 1.0;\n y2 = 1.0;\n break;\n\n case 'ease-out':\n x1 = 0.42;\n y1 = 0.0;\n x2 = 0.58;\n y2 = 1.0;\n break;\n\n case 'ease-in-out':\n x1 = 0.0;\n y1 = 0.0;\n x2 = 0.58;\n y2 = 1.0;\n break;\n\n default:\n {\n var easing = args[0].split('(');\n\n if (easing[0] === 'cubic-bezier' && easing[1].split(')')[0].split(',').length === 4) {\n var _easing$1$split$0$spl = easing[1].split(')')[0].split(',').map(function (x) {\n return parseFloat(x);\n });\n\n var _easing$1$split$0$spl2 = _slicedToArray(_easing$1$split$0$spl, 4);\n\n x1 = _easing$1$split$0$spl2[0];\n y1 = _easing$1$split$0$spl2[1];\n x2 = _easing$1$split$0$spl2[2];\n y2 = _easing$1$split$0$spl2[3];\n } else {\n warn(false, '[configBezier]: arguments should be one of ' + 'oneOf \\'linear\\', \\'ease\\', \\'ease-in\\', \\'ease-out\\', ' + '\\'ease-in-out\\',\\'cubic-bezier(x1,y1,x2,y2)\\', instead received %s', args);\n }\n }\n }\n }\n\n warn([x1, x2, y1, y2].every(function (num) {\n return typeof num === 'number' && num >= 0 && num <= 1;\n }), '[configBezier]: arguments should be x1, y1, x2, y2 of [0, 1] instead received %s', args);\n var curveX = cubicBezier(x1, x2);\n var curveY = cubicBezier(y1, y2);\n var derCurveX = derivativeCubicBezier(x1, x2);\n\n var rangeValue = function rangeValue(value) {\n if (value > 1) {\n return 1;\n } else if (value < 0) {\n return 0;\n }\n\n return value;\n };\n\n var bezier = function bezier(_t) {\n var t = _t > 1 ? 1 : _t;\n var x = t;\n\n for (var i = 0; i < 8; ++i) {\n var evalT = curveX(x) - t;\n var derVal = derCurveX(x);\n\n if (Math.abs(evalT - t) < ACCURACY || derVal < ACCURACY) {\n return curveY(x);\n }\n\n x = rangeValue(x - evalT / derVal);\n }\n\n return curveY(x);\n };\n\n bezier.isStepper = false;\n return bezier;\n};\nexport var configSpring = function configSpring() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _config$stiff = config.stiff,\n stiff = _config$stiff === void 0 ? 100 : _config$stiff,\n _config$damping = config.damping,\n damping = _config$damping === void 0 ? 8 : _config$damping,\n _config$dt = config.dt,\n dt = _config$dt === void 0 ? 17 : _config$dt;\n\n var stepper = function stepper(currX, destX, currV) {\n var FSpring = -(currX - destX) * stiff;\n var FDamping = currV * damping;\n var newV = currV + (FSpring - FDamping) * dt / 1000;\n var newX = currV * dt / 1000 + currX;\n\n if (Math.abs(newX - destX) < ACCURACY && Math.abs(newV) < ACCURACY) {\n return [destX, 0];\n }\n\n return [newX, newV];\n };\n\n stepper.isStepper = true;\n stepper.dt = dt;\n return stepper;\n};\nexport var configEasing = function configEasing() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var easing = args[0];\n\n if (typeof easing === 'string') {\n switch (easing) {\n case 'ease':\n case 'ease-in-out':\n case 'ease-out':\n case 'ease-in':\n case 'linear':\n return configBezier(easing);\n\n case 'spring':\n return configSpring();\n\n default:\n if (easing.split('(')[0] === 'cubic-bezier') {\n return configBezier(easing);\n }\n\n warn(false, '[configEasing]: first argument should be one of \\'ease\\', \\'ease-in\\', ' + '\\'ease-out\\', \\'ease-in-out\\',\\'cubic-bezier(x1,y1,x2,y2)\\', \\'linear\\' and \\'spring\\', instead received %s', args);\n }\n }\n\n if (typeof easing === 'function') {\n return easing;\n }\n\n warn(false, '[configEasing]: first argument type should be function or ' + 'string, instead received %s', args);\n return null;\n};","function _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 _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 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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport raf, { cancel as caf } from 'raf';\nimport { getIntersectionKeys, mapObject } from './util';\n\nvar alpha = function alpha(begin, end, k) {\n return begin + (end - begin) * k;\n};\n\nvar needContinue = function needContinue(_ref) {\n var from = _ref.from,\n to = _ref.to;\n return from !== to;\n};\n/*\n * @description: cal new from value and velocity in each stepper\n * @return: { [styleProperty]: { from, to, velocity } }\n */\n\n\nvar calStepperVals = function calStepperVals(easing, preVals, steps) {\n var nextStepVals = mapObject(function (key, val) {\n if (needContinue(val)) {\n var _easing = easing(val.from, val.to, val.velocity),\n _easing2 = _slicedToArray(_easing, 2),\n newX = _easing2[0],\n newV = _easing2[1];\n\n return _objectSpread(_objectSpread({}, val), {}, {\n from: newX,\n velocity: newV\n });\n }\n\n return val;\n }, preVals);\n\n if (steps < 1) {\n return mapObject(function (key, val) {\n if (needContinue(val)) {\n return _objectSpread(_objectSpread({}, val), {}, {\n velocity: alpha(val.velocity, nextStepVals[key].velocity, steps),\n from: alpha(val.from, nextStepVals[key].from, steps)\n });\n }\n\n return val;\n }, preVals);\n }\n\n return calStepperVals(easing, nextStepVals, steps - 1);\n}; // configure update function\n\n\nexport default (function (from, to, easing, duration, render) {\n var interKeys = getIntersectionKeys(from, to);\n var timingStyle = interKeys.reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, key, [from[key], to[key]]));\n }, {});\n var stepperStyle = interKeys.reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, key, {\n from: from[key],\n velocity: 0,\n to: to[key]\n }));\n }, {});\n var cafId = -1;\n var preTime;\n var beginTime;\n\n var update = function update() {\n return null;\n };\n\n var getCurrStyle = function getCurrStyle() {\n return mapObject(function (key, val) {\n return val.from;\n }, stepperStyle);\n };\n\n var shouldStopAnimation = function shouldStopAnimation() {\n return !Object.values(stepperStyle).filter(needContinue).length;\n }; // stepper timing function like spring\n\n\n var stepperUpdate = function stepperUpdate(now) {\n if (!preTime) {\n preTime = now;\n }\n\n var deltaTime = now - preTime;\n var steps = deltaTime / easing.dt;\n stepperStyle = calStepperVals(easing, stepperStyle, steps); // get union set and add compatible prefix\n\n render(_objectSpread(_objectSpread(_objectSpread({}, from), to), getCurrStyle(stepperStyle)));\n preTime = now;\n\n if (!shouldStopAnimation()) {\n cafId = raf(update);\n }\n }; // t => val timing function like cubic-bezier\n\n\n var timingUpdate = function timingUpdate(now) {\n if (!beginTime) {\n beginTime = now;\n }\n\n var t = (now - beginTime) / duration;\n var currStyle = mapObject(function (key, val) {\n return alpha.apply(void 0, _toConsumableArray(val).concat([easing(t)]));\n }, timingStyle); // get union set and add compatible prefix\n\n render(_objectSpread(_objectSpread(_objectSpread({}, from), to), currStyle));\n\n if (t < 1) {\n cafId = raf(update);\n } else {\n var finalStyle = mapObject(function (key, val) {\n return alpha.apply(void 0, _toConsumableArray(val).concat([easing(1)]));\n }, timingStyle);\n render(_objectSpread(_objectSpread(_objectSpread({}, from), to), finalStyle));\n }\n };\n\n update = easing.isStepper ? stepperUpdate : timingUpdate; // return start animation method\n\n return function () {\n raf(update); // return stop animation method\n\n return function () {\n caf(cafId);\n };\n };\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\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 _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 ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport React, { PureComponent, cloneElement, Children } from 'react';\nimport PropTypes from 'prop-types';\nimport { deepEqual } from 'fast-equals';\nimport createAnimateManager from './AnimateManager';\nimport { configEasing } from './easing';\nimport configUpdate from './configUpdate';\nimport { getTransitionVal, identity, translateStyle } from './util';\n\nvar Animate = /*#__PURE__*/function (_PureComponent) {\n _inherits(Animate, _PureComponent);\n\n var _super = _createSuper(Animate);\n\n function Animate(props, context) {\n var _this;\n\n _classCallCheck(this, Animate);\n\n _this = _super.call(this, props, context);\n var _this$props = _this.props,\n isActive = _this$props.isActive,\n attributeName = _this$props.attributeName,\n from = _this$props.from,\n to = _this$props.to,\n steps = _this$props.steps,\n children = _this$props.children;\n _this.handleStyleChange = _this.handleStyleChange.bind(_assertThisInitialized(_this));\n _this.changeStyle = _this.changeStyle.bind(_assertThisInitialized(_this));\n\n if (!isActive) {\n _this.state = {\n style: {}\n }; // if children is a function and animation is not active, set style to 'to'\n\n if (typeof children === 'function') {\n _this.state = {\n style: to\n };\n }\n\n return _possibleConstructorReturn(_this);\n }\n\n if (steps && steps.length) {\n _this.state = {\n style: steps[0].style\n };\n } else if (from) {\n if (typeof children === 'function') {\n _this.state = {\n style: from\n };\n return _possibleConstructorReturn(_this);\n }\n\n _this.state = {\n style: attributeName ? _defineProperty({}, attributeName, from) : from\n };\n } else {\n _this.state = {\n style: {}\n };\n }\n\n return _this;\n }\n\n _createClass(Animate, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props2 = this.props,\n isActive = _this$props2.isActive,\n canBegin = _this$props2.canBegin;\n this.mounted = true;\n\n if (!isActive || !canBegin) {\n return;\n }\n\n this.runAnimation(this.props);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props3 = this.props,\n isActive = _this$props3.isActive,\n canBegin = _this$props3.canBegin,\n attributeName = _this$props3.attributeName,\n shouldReAnimate = _this$props3.shouldReAnimate;\n\n if (!canBegin) {\n return;\n }\n\n if (!isActive) {\n var newState = {\n style: attributeName ? _defineProperty({}, attributeName, this.props.to) : this.props.to\n };\n\n if (this.state && this.state.style) {\n if (attributeName && this.state.style[attributeName] !== this.props.to || !attributeName && this.state.style !== this.props.to) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState(newState);\n }\n }\n\n return;\n }\n\n if (deepEqual(prevProps.to, this.props.to) && prevProps.canBegin && prevProps.isActive) {\n return;\n }\n\n var isTriggered = !prevProps.canBegin || !prevProps.isActive;\n\n if (this.manager) {\n this.manager.stop();\n }\n\n if (this.stopJSAnimation) {\n this.stopJSAnimation();\n }\n\n var from = isTriggered || shouldReAnimate ? this.props.from : prevProps.to;\n\n if (this.state && this.state.style) {\n var _newState = {\n style: attributeName ? _defineProperty({}, attributeName, from) : from\n };\n\n if (attributeName && this.state.style[attributeName] !== from || !attributeName && this.state.style !== from) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState(_newState);\n }\n }\n\n this.runAnimation(_objectSpread(_objectSpread({}, this.props), {}, {\n from: from,\n begin: 0\n }));\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n\n if (this.unSubscribe) {\n this.unSubscribe();\n }\n\n if (this.manager) {\n this.manager.stop();\n this.manager = null;\n }\n\n if (this.stopJSAnimation) {\n this.stopJSAnimation();\n }\n }\n }, {\n key: \"runJSAnimation\",\n value: function runJSAnimation(props) {\n var _this2 = this;\n\n var from = props.from,\n to = props.to,\n duration = props.duration,\n easing = props.easing,\n begin = props.begin,\n onAnimationEnd = props.onAnimationEnd,\n onAnimationStart = props.onAnimationStart;\n var startAnimation = configUpdate(from, to, configEasing(easing), duration, this.changeStyle);\n\n var finalStartAnimation = function finalStartAnimation() {\n _this2.stopJSAnimation = startAnimation();\n };\n\n this.manager.start([onAnimationStart, begin, finalStartAnimation, duration, onAnimationEnd]);\n }\n }, {\n key: \"runStepAnimation\",\n value: function runStepAnimation(props) {\n var _this3 = this;\n\n var steps = props.steps,\n begin = props.begin,\n onAnimationStart = props.onAnimationStart;\n var _steps$ = steps[0],\n initialStyle = _steps$.style,\n _steps$$duration = _steps$.duration,\n initialTime = _steps$$duration === void 0 ? 0 : _steps$$duration;\n\n var addStyle = function addStyle(sequence, nextItem, index) {\n if (index === 0) {\n return sequence;\n }\n\n var duration = nextItem.duration,\n _nextItem$easing = nextItem.easing,\n easing = _nextItem$easing === void 0 ? 'ease' : _nextItem$easing,\n style = nextItem.style,\n nextProperties = nextItem.properties,\n onAnimationEnd = nextItem.onAnimationEnd;\n var preItem = index > 0 ? steps[index - 1] : nextItem;\n var properties = nextProperties || Object.keys(style);\n\n if (typeof easing === 'function' || easing === 'spring') {\n return [].concat(_toConsumableArray(sequence), [_this3.runJSAnimation.bind(_this3, {\n from: preItem.style,\n to: style,\n duration: duration,\n easing: easing\n }), duration]);\n }\n\n var transition = getTransitionVal(properties, duration, easing);\n\n var newStyle = _objectSpread(_objectSpread(_objectSpread({}, preItem.style), style), {}, {\n transition: transition\n });\n\n return [].concat(_toConsumableArray(sequence), [newStyle, duration, onAnimationEnd]).filter(identity);\n };\n\n return this.manager.start([onAnimationStart].concat(_toConsumableArray(steps.reduce(addStyle, [initialStyle, Math.max(initialTime, begin)])), [props.onAnimationEnd]));\n }\n }, {\n key: \"runAnimation\",\n value: function runAnimation(props) {\n if (!this.manager) {\n this.manager = createAnimateManager();\n }\n\n var begin = props.begin,\n duration = props.duration,\n attributeName = props.attributeName,\n propsTo = props.to,\n easing = props.easing,\n onAnimationStart = props.onAnimationStart,\n onAnimationEnd = props.onAnimationEnd,\n steps = props.steps,\n children = props.children;\n var manager = this.manager;\n this.unSubscribe = manager.subscribe(this.handleStyleChange);\n\n if (typeof easing === 'function' || typeof children === 'function' || easing === 'spring') {\n this.runJSAnimation(props);\n return;\n }\n\n if (steps.length > 1) {\n this.runStepAnimation(props);\n return;\n }\n\n var to = attributeName ? _defineProperty({}, attributeName, propsTo) : propsTo;\n var transition = getTransitionVal(Object.keys(to), duration, easing);\n manager.start([onAnimationStart, begin, _objectSpread(_objectSpread({}, to), {}, {\n transition: transition\n }), duration, onAnimationEnd]);\n }\n }, {\n key: \"handleStyleChange\",\n value: function handleStyleChange(style) {\n this.changeStyle(style);\n }\n }, {\n key: \"changeStyle\",\n value: function changeStyle(style) {\n if (this.mounted) {\n this.setState({\n style: style\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props4 = this.props,\n children = _this$props4.children,\n begin = _this$props4.begin,\n duration = _this$props4.duration,\n attributeName = _this$props4.attributeName,\n easing = _this$props4.easing,\n isActive = _this$props4.isActive,\n steps = _this$props4.steps,\n from = _this$props4.from,\n to = _this$props4.to,\n canBegin = _this$props4.canBegin,\n onAnimationEnd = _this$props4.onAnimationEnd,\n shouldReAnimate = _this$props4.shouldReAnimate,\n onAnimationReStart = _this$props4.onAnimationReStart,\n others = _objectWithoutProperties(_this$props4, [\"children\", \"begin\", \"duration\", \"attributeName\", \"easing\", \"isActive\", \"steps\", \"from\", \"to\", \"canBegin\", \"onAnimationEnd\", \"shouldReAnimate\", \"onAnimationReStart\"]);\n\n var count = Children.count(children);\n var stateStyle = translateStyle(this.state.style);\n\n if (typeof children === 'function') {\n return children(stateStyle);\n }\n\n if (!isActive || count === 0) {\n return children;\n }\n\n var cloneContainer = function cloneContainer(container) {\n var _container$props = container.props,\n _container$props$styl = _container$props.style,\n style = _container$props$styl === void 0 ? {} : _container$props$styl,\n className = _container$props.className;\n var res = /*#__PURE__*/cloneElement(container, _objectSpread(_objectSpread({}, others), {}, {\n style: _objectSpread(_objectSpread({}, style), stateStyle),\n className: className\n }));\n return res;\n };\n\n if (count === 1) {\n return cloneContainer(Children.only(children));\n }\n\n return /*#__PURE__*/React.createElement(\"div\", null, Children.map(children, function (child) {\n return cloneContainer(child);\n }));\n }\n }]);\n\n return Animate;\n}(PureComponent);\n\nAnimate.displayName = 'Animate';\nAnimate.propTypes = {\n from: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n to: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n attributeName: PropTypes.string,\n // animation duration\n duration: PropTypes.number,\n begin: PropTypes.number,\n easing: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n steps: PropTypes.arrayOf(PropTypes.shape({\n duration: PropTypes.number.isRequired,\n style: PropTypes.object.isRequired,\n easing: PropTypes.oneOfType([PropTypes.oneOf(['ease', 'ease-in', 'ease-out', 'ease-in-out', 'linear']), PropTypes.func]),\n // transition css properties(dash case), optional\n properties: PropTypes.arrayOf('string'),\n onAnimationEnd: PropTypes.func\n })),\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n isActive: PropTypes.bool,\n canBegin: PropTypes.bool,\n onAnimationEnd: PropTypes.func,\n // decide if it should reanimate with initial from style when props change\n shouldReAnimate: PropTypes.bool,\n onAnimationStart: PropTypes.func,\n onAnimationReStart: PropTypes.func\n};\nAnimate.defaultProps = {\n begin: 0,\n duration: 1000,\n from: '',\n to: '',\n attributeName: '',\n easing: 'ease',\n isActive: true,\n canBegin: true,\n steps: [],\n onAnimationEnd: function onAnimationEnd() {},\n onAnimationStart: function onAnimationStart() {}\n};\nexport default Animate;","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\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport React, { Component, Children } from 'react';\nimport { Transition } from 'react-transition-group';\nimport PropTypes from 'prop-types';\nimport Animate from './Animate';\n\nif (Number.isFinite === undefined) {\n Number.isFinite = function (value) {\n return typeof value === 'number' && isFinite(value);\n };\n}\n\nvar parseDurationOfSingleTransition = function parseDurationOfSingleTransition() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var steps = options.steps,\n duration = options.duration;\n\n if (steps && steps.length) {\n return steps.reduce(function (result, entry) {\n return result + (Number.isFinite(entry.duration) && entry.duration > 0 ? entry.duration : 0);\n }, 0);\n }\n\n if (Number.isFinite(duration)) {\n return duration;\n }\n\n return 0;\n};\n\nvar AnimateGroupChild = /*#__PURE__*/function (_Component) {\n _inherits(AnimateGroupChild, _Component);\n\n var _super = _createSuper(AnimateGroupChild);\n\n function AnimateGroupChild() {\n var _this;\n\n _classCallCheck(this, AnimateGroupChild);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n isActive: false\n };\n\n _this.handleEnter = function (node, isAppearing) {\n var _this$props = _this.props,\n appearOptions = _this$props.appearOptions,\n enterOptions = _this$props.enterOptions;\n\n _this.handleStyleActive(isAppearing ? appearOptions : enterOptions);\n };\n\n _this.handleExit = function () {\n _this.handleStyleActive(_this.props.leaveOptions);\n };\n\n return _this;\n }\n\n _createClass(AnimateGroupChild, [{\n key: \"handleStyleActive\",\n value: function handleStyleActive(style) {\n if (style) {\n var onAnimationEnd = style.onAnimationEnd ? function () {\n style.onAnimationEnd();\n } : null;\n this.setState(_objectSpread(_objectSpread({}, style), {}, {\n onAnimationEnd: onAnimationEnd,\n isActive: true\n }));\n }\n }\n }, {\n key: \"parseTimeout\",\n value: function parseTimeout() {\n var _this$props2 = this.props,\n appearOptions = _this$props2.appearOptions,\n enterOptions = _this$props2.enterOptions,\n leaveOptions = _this$props2.leaveOptions;\n return parseDurationOfSingleTransition(appearOptions) + parseDurationOfSingleTransition(enterOptions) + parseDurationOfSingleTransition(leaveOptions);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props3 = this.props,\n children = _this$props3.children,\n appearOptions = _this$props3.appearOptions,\n enterOptions = _this$props3.enterOptions,\n leaveOptions = _this$props3.leaveOptions,\n props = _objectWithoutProperties(_this$props3, [\"children\", \"appearOptions\", \"enterOptions\", \"leaveOptions\"]);\n\n return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n onEnter: this.handleEnter,\n onExit: this.handleExit,\n timeout: this.parseTimeout()\n }), function () {\n return /*#__PURE__*/React.createElement(Animate, _this2.state, Children.only(children));\n });\n }\n }]);\n\n return AnimateGroupChild;\n}(Component);\n\nAnimateGroupChild.propTypes = {\n appearOptions: PropTypes.object,\n enterOptions: PropTypes.object,\n leaveOptions: PropTypes.object,\n children: PropTypes.element\n};\nexport default AnimateGroupChild;","import React, { Children } from 'react';\nimport { TransitionGroup } from 'react-transition-group';\nimport PropTypes from 'prop-types';\nimport AnimateGroupChild from './AnimateGroupChild';\n\nfunction AnimateGroup(props) {\n var component = props.component,\n children = props.children,\n appear = props.appear,\n enter = props.enter,\n leave = props.leave;\n return /*#__PURE__*/React.createElement(TransitionGroup, {\n component: component\n }, Children.map(children, function (child, index) {\n return /*#__PURE__*/React.createElement(AnimateGroupChild, {\n appearOptions: appear,\n enterOptions: enter,\n leaveOptions: leave,\n key: \"child-\".concat(index) // eslint-disable-line\n\n }, child);\n }));\n}\n\nAnimateGroup.propTypes = {\n appear: PropTypes.object,\n enter: PropTypes.object,\n leave: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.element]),\n component: PropTypes.any\n};\nAnimateGroup.defaultProps = {\n component: 'span'\n};\nexport default AnimateGroup;","import Animate from './Animate';\nimport { configBezier, configSpring } from './easing';\nimport { translateStyle } from './util';\nimport AnimateGroup from './AnimateGroup';\nexport { configSpring, configBezier, AnimateGroup, translateStyle };\nexport default Animate;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = addClass;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nfunction addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hasClass;\n\nfunction hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\n\nmodule.exports = exports[\"default\"];","'use strict';\n\nfunction replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp('(^|\\\\s)' + classToRemove + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nmodule.exports = function removeClass(element, className) {\n if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _addClass = _interopRequireDefault(require(\"dom-helpers/class/addClass\"));\n\nvar _removeClass = _interopRequireDefault(require(\"dom-helpers/class/removeClass\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\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 _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return (0, _addClass.default)(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return (0, _removeClass.default)(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](http://www.nganimate.org/) library, you should use it if you're\n * using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n *
\n * {\"I'll receive my-node-* classes\"}\n *
\n *
\n * \n *
\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity: 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**.\n */\n\n\nvar CSSTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\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 = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _this.onEnter = function (node, appearing) {\n var _this$getClassNames = _this.getClassNames(appearing ? 'appear' : 'enter'),\n className = _this$getClassNames.className;\n\n _this.removeClasses(node, 'exit');\n\n addClass(node, className);\n\n if (_this.props.onEnter) {\n _this.props.onEnter(node, appearing);\n }\n };\n\n _this.onEntering = function (node, appearing) {\n var _this$getClassNames2 = _this.getClassNames(appearing ? 'appear' : 'enter'),\n activeClassName = _this$getClassNames2.activeClassName;\n\n _this.reflowAndAddClass(node, activeClassName);\n\n if (_this.props.onEntering) {\n _this.props.onEntering(node, appearing);\n }\n };\n\n _this.onEntered = function (node, appearing) {\n var appearClassName = _this.getClassNames('appear').doneClassName;\n\n var enterClassName = _this.getClassNames('enter').doneClassName;\n\n var doneClassName = appearing ? appearClassName + \" \" + enterClassName : enterClassName;\n\n _this.removeClasses(node, appearing ? 'appear' : 'enter');\n\n addClass(node, doneClassName);\n\n if (_this.props.onEntered) {\n _this.props.onEntered(node, appearing);\n }\n };\n\n _this.onExit = function (node) {\n var _this$getClassNames3 = _this.getClassNames('exit'),\n className = _this$getClassNames3.className;\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n addClass(node, className);\n\n if (_this.props.onExit) {\n _this.props.onExit(node);\n }\n };\n\n _this.onExiting = function (node) {\n var _this$getClassNames4 = _this.getClassNames('exit'),\n activeClassName = _this$getClassNames4.activeClassName;\n\n _this.reflowAndAddClass(node, activeClassName);\n\n if (_this.props.onExiting) {\n _this.props.onExiting(node);\n }\n };\n\n _this.onExited = function (node) {\n var _this$getClassNames5 = _this.getClassNames('exit'),\n doneClassName = _this$getClassNames5.doneClassName;\n\n _this.removeClasses(node, 'exit');\n\n addClass(node, doneClassName);\n\n if (_this.props.onExited) {\n _this.props.onExited(node);\n }\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + '-' : '';\n var className = isStringClassNames ? prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? className + '-active' : classNames[type + 'Active'];\n var doneClassName = isStringClassNames ? className + '-done' : classNames[type + 'Done'];\n return {\n className: className,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$getClassNames6 = this.getClassNames(type),\n className = _this$getClassNames6.className,\n activeClassName = _this$getClassNames6.activeClassName,\n doneClassName = _this$getClassNames6.doneClassName;\n\n className && removeClass(node, className);\n activeClassName && removeClass(node, activeClassName);\n doneClassName && removeClass(node, doneClassName);\n };\n\n _proto.reflowAndAddClass = function reflowAndAddClass(node, className) {\n // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n if (className) {\n /* eslint-disable no-unused-expressions */\n node && node.scrollTop;\n /* eslint-enable no-unused-expressions */\n\n addClass(node, className);\n }\n };\n\n _proto.render = function render() {\n var props = _extends({}, this.props);\n\n delete props.classNames;\n return _react.default.createElement(_Transition.default, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(_react.default.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, _Transition.default.propTypes, {\n /**\n * The animation classNames applied to the component as it enters, exits or\n * has finished the transition. A single name can be provided and it will be\n * suffixed for each stage: e.g.\n *\n * `classNames=\"fade\"` applies `fade-enter`, `fade-enter-active`,\n * `fade-enter-done`, `fade-exit`, `fade-exit-active`, `fade-exit-done`,\n * `fade-appear`, `fade-appear-active`, and `fade-appear-done`.\n *\n * **Note**: `fade-appear-done` and `fade-enter-done` will _both_ be applied.\n * This allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply an\n * epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: _PropTypes.classNamesShape,\n\n /**\n * A `` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' class is\n * applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit-active' is applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nvar _default = CSSTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = require(\"react-dom\");\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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 _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\n/**\n * The `` component is a specialized `Transition` component\n * that animates between two children.\n *\n * ```jsx\n * \n *
I appear first
\n *
I replace the above
\n *
\n * ```\n */\nvar ReplaceTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(ReplaceTransition, _React$Component);\n\n function ReplaceTransition() {\n var _this;\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 = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;\n\n _this.handleEnter = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _this.handleLifecycle('onEnter', 0, args);\n };\n\n _this.handleEntering = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _this.handleLifecycle('onEntering', 0, args);\n };\n\n _this.handleEntered = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _this.handleLifecycle('onEntered', 0, args);\n };\n\n _this.handleExit = function () {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n return _this.handleLifecycle('onExit', 1, args);\n };\n\n _this.handleExiting = function () {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n return _this.handleLifecycle('onExiting', 1, args);\n };\n\n _this.handleExited = function () {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n return _this.handleLifecycle('onExited', 1, args);\n };\n\n return _this;\n }\n\n var _proto = ReplaceTransition.prototype;\n\n _proto.handleLifecycle = function handleLifecycle(handler, idx, originalArgs) {\n var _child$props;\n\n var children = this.props.children;\n\n var child = _react.default.Children.toArray(children)[idx];\n\n if (child.props[handler]) (_child$props = child.props)[handler].apply(_child$props, originalArgs);\n if (this.props[handler]) this.props[handler]((0, _reactDom.findDOMNode)(this));\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n inProp = _this$props.in,\n props = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\"]);\n\n var _React$Children$toArr = _react.default.Children.toArray(children),\n first = _React$Children$toArr[0],\n second = _React$Children$toArr[1];\n\n delete props.onEnter;\n delete props.onEntering;\n delete props.onEntered;\n delete props.onExit;\n delete props.onExiting;\n delete props.onExited;\n return _react.default.createElement(_TransitionGroup.default, props, inProp ? _react.default.cloneElement(first, {\n key: 'first',\n onEnter: this.handleEnter,\n onEntering: this.handleEntering,\n onEntered: this.handleEntered\n }) : _react.default.cloneElement(second, {\n key: 'second',\n onEnter: this.handleExit,\n onEntering: this.handleExiting,\n onEntered: this.handleExited\n }));\n };\n\n return ReplaceTransition;\n}(_react.default.Component);\n\nReplaceTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n in: _propTypes.default.bool.isRequired,\n children: function children(props, propName) {\n if (_react.default.Children.count(props[propName]) !== 2) return new Error(\"\\\"\" + propName + \"\\\" must be exactly two transition components.\");\n return null;\n }\n} : {};\nvar _default = ReplaceTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\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 _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar UNMOUNTED = 'unmounted';\nexports.UNMOUNTED = UNMOUNTED;\nvar EXITED = 'exited';\nexports.EXITED = EXITED;\nvar ENTERING = 'entering';\nexports.ENTERING = ENTERING;\nvar ENTERED = 'entered';\nexports.ENTERED = ENTERED;\nvar EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 0 },\n * entered: { opacity: 1 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nexports.EXITING = EXITING;\n\nvar Transition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context.transitionGroup; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n var _proto = Transition.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: null // allows for nested Transitions\n\n };\n };\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n }; // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n var node = _reactDom.default.findDOMNode(this);\n\n if (nextStatus === ENTERING) {\n this.performEnter(node, mounting);\n } else {\n this.performExit(node);\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(node, mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node);\n });\n return;\n }\n\n this.props.onEnter(node, appearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(node, appearing);\n\n _this2.onTransitionEnd(node, enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node, appearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit(node) {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED\n\n if (!exit) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n return;\n }\n\n this.props.onExit(node);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(node);\n\n _this3.onTransitionEnd(node, timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {\n this.setNextCallback(handler);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n this.props.addEndListener(node, this.nextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\"]); // filter props for Transtition\n\n\n delete childProps.in;\n delete childProps.mountOnEnter;\n delete childProps.unmountOnExit;\n delete childProps.appear;\n delete childProps.enter;\n delete childProps.exit;\n delete childProps.timeout;\n delete childProps.addEndListener;\n delete childProps.onEnter;\n delete childProps.onEntering;\n delete childProps.onEntered;\n delete childProps.onExit;\n delete childProps.onExiting;\n delete childProps.onExited;\n\n if (typeof children === 'function') {\n return children(status, childProps);\n }\n\n var child = _react.default.Children.only(children);\n\n return _react.default.cloneElement(child, childProps);\n };\n\n return Transition;\n}(_react.default.Component);\n\nTransition.contextTypes = {\n transitionGroup: PropTypes.object\n};\nTransition.childContextTypes = {\n transitionGroup: function transitionGroup() {}\n};\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`, `'unmounted'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * Normally a component is not transitioned if it is shown when the `` component mounts.\n * If you want to transition on the first mount set `appear` to `true`, and the\n * component will transition in as soon as the `` mounts.\n *\n * > Note: there are no specific \"appear\" states. `appear` only adds an additional `enter` transition.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = _PropTypes.timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. **Note:** Timeouts are still used as a fallback if provided.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func // Name the function so it is clearer in the documentation\n\n} : {};\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = 0;\nTransition.EXITED = 1;\nTransition.ENTERING = 2;\nTransition.ENTERED = 3;\nTransition.EXITING = 4;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(Transition);\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _ChildMapping = require(\"./utils/ChildMapping\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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 _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n /**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\n};\n\nvar TransitionGroup =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this))); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: {\n isMounting: !this.appeared\n }\n };\n };\n\n _proto.componentDidMount = function componentDidMount() {\n this.appeared = true;\n this.mounted = true;\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? (0, _ChildMapping.getInitialChildMapping)(nextProps, handleExited) : (0, _ChildMapping.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n };\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return children;\n }\n\n return _react.default.createElement(Component, props, children);\n };\n\n return TransitionGroup;\n}(_react.default.Component);\n\nTransitionGroup.childContextTypes = {\n transitionGroup: _propTypes.default.object.isRequired\n};\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: _propTypes.default.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: _propTypes.default.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: _propTypes.default.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: _propTypes.default.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _CSSTransition = _interopRequireDefault(require(\"./CSSTransition\"));\n\nvar _ReplaceTransition = _interopRequireDefault(require(\"./ReplaceTransition\"));\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = {\n Transition: _Transition.default,\n TransitionGroup: _TransitionGroup.default,\n ReplaceTransition: _ReplaceTransition.default,\n CSSTransition: _CSSTransition.default\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.getChildMapping = getChildMapping;\nexports.mergeChildMappings = mergeChildMappings;\nexports.getInitialChildMapping = getInitialChildMapping;\nexports.getNextChildMapping = getNextChildMapping;\n\nvar _react = require(\"react\");\n\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\nfunction getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && (0, _react.isValidElement)(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) _react.Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\n\nfunction mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nfunction getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\n\nfunction getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!(0, _react.isValidElement)(child)) return;\n var hasPrev = key in prevChildMapping;\n var hasNext = key in nextChildMapping;\n var prevChild = prevChildMapping[key];\n var isLeaving = (0, _react.isValidElement)(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = (0, _react.cloneElement)(child, {\n in: false\n });\n } else if (hasNext && hasPrev && (0, _react.isValidElement)(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.classNamesShape = exports.timeoutsShape = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar timeoutsShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number,\n appear: _propTypes.default.number\n}).isRequired]) : null;\nexports.timeoutsShape = timeoutsShape;\nvar classNamesShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({\n enter: _propTypes.default.string,\n exit: _propTypes.default.string,\n active: _propTypes.default.string\n}), _propTypes.default.shape({\n enter: _propTypes.default.string,\n enterDone: _propTypes.default.string,\n enterActive: _propTypes.default.string,\n exit: _propTypes.default.string,\n exitDone: _propTypes.default.string,\n exitActive: _propTypes.default.string\n})]) : null;\nexports.classNamesShape = classNamesShape;","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport _isEqual from \"lodash/isEqual\";\nimport _isNaN from \"lodash/isNaN\";\nimport _max from \"lodash/max\";\nimport _isFunction from \"lodash/isFunction\";\nimport _get from \"lodash/get\";\nimport _isNil from \"lodash/isNil\";\nimport _isArray from \"lodash/isArray\";\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * @fileOverview Area\n */\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport Animate from 'react-smooth';\nimport { Curve } from '../shape/Curve';\nimport { Dot } from '../shape/Dot';\nimport { Layer } from '../container/Layer';\nimport { LabelList } from '../component/LabelList';\nimport { Global } from '../util/Global';\nimport { isNumber, uniqueId, interpolateNumber } from '../util/DataUtils';\nimport { getCateCoordinateOfLine, getValueByDataKey } from '../util/ChartUtils';\nimport { filterProps } from '../util/types';\nexport var Area = /*#__PURE__*/function (_PureComponent) {\n _inherits(Area, _PureComponent);\n\n var _super = _createSuper(Area);\n\n function Area() {\n var _this;\n\n _classCallCheck(this, Area);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n isAnimationFinished: true\n };\n _this.id = uniqueId('recharts-area-');\n\n _this.handleAnimationEnd = function () {\n var onAnimationEnd = _this.props.onAnimationEnd;\n\n _this.setState({\n isAnimationFinished: true\n });\n\n if (_isFunction(onAnimationEnd)) {\n onAnimationEnd();\n }\n };\n\n _this.handleAnimationStart = function () {\n var onAnimationStart = _this.props.onAnimationStart;\n\n _this.setState({\n isAnimationFinished: false\n });\n\n if (_isFunction(onAnimationStart)) {\n onAnimationStart();\n }\n };\n\n return _this;\n }\n\n _createClass(Area, [{\n key: \"renderDots\",\n value: function renderDots(needClip, clipPathId) {\n var isAnimationActive = this.props.isAnimationActive;\n var isAnimationFinished = this.state.isAnimationFinished;\n\n if (isAnimationActive && !isAnimationFinished) {\n return null;\n }\n\n var _this$props = this.props,\n dot = _this$props.dot,\n points = _this$props.points,\n dataKey = _this$props.dataKey;\n var areaProps = filterProps(this.props);\n var customDotProps = filterProps(dot, true);\n var dots = points.map(function (entry, i) {\n var dotProps = _objectSpread(_objectSpread(_objectSpread({\n key: \"dot-\".concat(i),\n r: 3\n }, areaProps), customDotProps), {}, {\n dataKey: dataKey,\n cx: entry.x,\n cy: entry.y,\n index: i,\n value: entry.value,\n payload: entry.payload\n });\n\n return Area.renderDotItem(dot, dotProps);\n });\n var dotsProps = {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n };\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-area-dots\"\n }, dotsProps), dots);\n }\n }, {\n key: \"renderHorizontalRect\",\n value: function renderHorizontalRect(alpha) {\n var _this$props2 = this.props,\n baseLine = _this$props2.baseLine,\n points = _this$props2.points,\n strokeWidth = _this$props2.strokeWidth;\n var startX = points[0].x;\n var endX = points[points.length - 1].x;\n var width = alpha * Math.abs(startX - endX);\n\n var maxY = _max(points.map(function (entry) {\n return entry.y || 0;\n }));\n\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n maxY = Math.max(baseLine, maxY);\n } else if (baseLine && _isArray(baseLine) && baseLine.length) {\n maxY = Math.max(_max(baseLine.map(function (entry) {\n return entry.y || 0;\n })), maxY);\n }\n\n if (isNumber(maxY)) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: startX < endX ? startX : startX - width,\n y: 0,\n width: width,\n height: Math.floor(maxY + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1))\n });\n }\n\n return null;\n }\n }, {\n key: \"renderVerticalRect\",\n value: function renderVerticalRect(alpha) {\n var _this$props3 = this.props,\n baseLine = _this$props3.baseLine,\n points = _this$props3.points,\n strokeWidth = _this$props3.strokeWidth;\n var startY = points[0].y;\n var endY = points[points.length - 1].y;\n var height = alpha * Math.abs(startY - endY);\n\n var maxX = _max(points.map(function (entry) {\n return entry.x || 0;\n }));\n\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n maxX = Math.max(baseLine, maxX);\n } else if (baseLine && _isArray(baseLine) && baseLine.length) {\n maxX = Math.max(_max(baseLine.map(function (entry) {\n return entry.x || 0;\n })), maxX);\n }\n\n if (isNumber(maxX)) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: 0,\n y: startY < endY ? startY : startY - height,\n width: maxX + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1),\n height: Math.floor(height)\n });\n }\n\n return null;\n }\n }, {\n key: \"renderClipRect\",\n value: function renderClipRect(alpha) {\n var layout = this.props.layout;\n\n if (layout === 'vertical') {\n return this.renderVerticalRect(alpha);\n }\n\n return this.renderHorizontalRect(alpha);\n }\n }, {\n key: \"renderAreaStatically\",\n value: function renderAreaStatically(points, baseLine, needClip, clipPathId) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n var _this$props4 = this.props,\n layout = _this$props4.layout,\n type = _this$props4.type,\n stroke = _this$props4.stroke,\n connectNulls = _this$props4.connectNulls,\n isRange = _this$props4.isRange,\n ref = _this$props4.ref,\n others = _objectWithoutProperties(_this$props4, [\"layout\", \"type\", \"stroke\", \"connectNulls\", \"isRange\", \"ref\"]);\n\n return /*#__PURE__*/React.createElement(Layer, {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n }, /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(others, true), {\n points: points,\n connectNulls: connectNulls,\n type: type,\n baseLine: baseLine,\n layout: layout,\n stroke: \"none\",\n className: \"recharts-area-area\"\n })), stroke !== 'none' && /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(this.props), {\n className: \"recharts-area-curve\",\n layout: layout,\n type: type,\n connectNulls: connectNulls,\n fill: \"none\",\n points: points\n })), stroke !== 'none' && isRange && /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(this.props), {\n className: \"recharts-area-curve\",\n layout: layout,\n type: type,\n connectNulls: connectNulls,\n fill: \"none\",\n points: baseLine\n })));\n }\n }, {\n key: \"renderAreaWithAnimation\",\n value: function renderAreaWithAnimation(needClip, clipPathId) {\n var _this2 = this;\n\n var _this$props5 = this.props,\n points = _this$props5.points,\n baseLine = _this$props5.baseLine,\n isAnimationActive = _this$props5.isAnimationActive,\n animationBegin = _this$props5.animationBegin,\n animationDuration = _this$props5.animationDuration,\n animationEasing = _this$props5.animationEasing,\n animationId = _this$props5.animationId;\n var _this$state = this.state,\n prevPoints = _this$state.prevPoints,\n prevBaseLine = _this$state.prevBaseLine; // const clipPathId = _.isNil(id) ? this.id : id;\n\n return /*#__PURE__*/React.createElement(Animate, {\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n from: {\n t: 0\n },\n to: {\n t: 1\n },\n key: \"area-\".concat(animationId),\n onAnimationEnd: this.handleAnimationEnd,\n onAnimationStart: this.handleAnimationStart\n }, function (_ref) {\n var t = _ref.t;\n\n if (prevPoints) {\n var prevPointsDiffFactor = prevPoints.length / points.length; // update animtaion\n\n var stepPoints = points.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n\n if (prevPoints[prevPointIndex]) {\n var prev = prevPoints[prevPointIndex];\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t)\n });\n }\n\n return entry;\n });\n var stepBaseLine;\n\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n var interpolator = interpolateNumber(prevBaseLine, baseLine);\n stepBaseLine = interpolator(t);\n } else if (_isNil(baseLine) || _isNaN(baseLine)) {\n var _interpolator = interpolateNumber(prevBaseLine, 0);\n\n stepBaseLine = _interpolator(t);\n } else {\n stepBaseLine = baseLine.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n\n if (prevBaseLine[prevPointIndex]) {\n var prev = prevBaseLine[prevPointIndex];\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t)\n });\n }\n\n return entry;\n });\n }\n\n return _this2.renderAreaStatically(stepPoints, stepBaseLine, needClip, clipPathId);\n }\n\n return /*#__PURE__*/React.createElement(Layer, null, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"animationClipPath-\".concat(clipPathId)\n }, _this2.renderClipRect(t))), /*#__PURE__*/React.createElement(Layer, {\n clipPath: \"url(#animationClipPath-\".concat(clipPathId, \")\")\n }, _this2.renderAreaStatically(points, baseLine, needClip, clipPathId)));\n });\n }\n }, {\n key: \"renderArea\",\n value: function renderArea(needClip, clipPathId) {\n var _this$props6 = this.props,\n points = _this$props6.points,\n baseLine = _this$props6.baseLine,\n isAnimationActive = _this$props6.isAnimationActive;\n var _this$state2 = this.state,\n prevPoints = _this$state2.prevPoints,\n prevBaseLine = _this$state2.prevBaseLine,\n totalLength = _this$state2.totalLength;\n\n if (isAnimationActive && points && points.length && (!prevPoints && totalLength > 0 || !_isEqual(prevPoints, points) || !_isEqual(prevBaseLine, baseLine))) {\n return this.renderAreaWithAnimation(needClip, clipPathId);\n }\n\n return this.renderAreaStatically(points, baseLine, needClip, clipPathId);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props7 = this.props,\n hide = _this$props7.hide,\n dot = _this$props7.dot,\n points = _this$props7.points,\n className = _this$props7.className,\n top = _this$props7.top,\n left = _this$props7.left,\n xAxis = _this$props7.xAxis,\n yAxis = _this$props7.yAxis,\n width = _this$props7.width,\n height = _this$props7.height,\n isAnimationActive = _this$props7.isAnimationActive,\n id = _this$props7.id;\n\n if (hide || !points || !points.length) {\n return null;\n }\n\n var isAnimationFinished = this.state.isAnimationFinished;\n var hasSinglePoint = points.length === 1;\n var layerClass = classNames('recharts-area', className);\n var needClip = xAxis && xAxis.allowDataOverflow || yAxis && yAxis.allowDataOverflow;\n var clipPathId = _isNil(id) ? this.id : id;\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass\n }, needClip ? /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left,\n y: top,\n width: width,\n height: Math.floor(height)\n }))) : null, !hasSinglePoint ? this.renderArea(needClip, clipPathId) : null, (dot || hasSinglePoint) && this.renderDots(needClip, clipPathId), (!isAnimationActive || isAnimationFinished) && LabelList.renderCallByParent(this.props, points));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.animationId !== prevState.prevAnimationId) {\n return {\n prevAnimationId: nextProps.animationId,\n curPoints: nextProps.points,\n curBaseLine: nextProps.baseLine,\n prevPoints: prevState.curPoints,\n prevBaseLine: prevState.curBaseLine\n };\n }\n\n if (nextProps.points !== prevState.curPoints || nextProps.baseLine !== prevState.curBaseLine) {\n return {\n curPoints: nextProps.points,\n curBaseLine: nextProps.baseLine\n };\n }\n\n return null;\n }\n }]);\n\n return Area;\n}(PureComponent);\nArea.displayName = 'Area';\nArea.defaultProps = {\n stroke: '#3182bd',\n fill: '#3182bd',\n fillOpacity: 0.6,\n xAxisId: 0,\n yAxisId: 0,\n legendType: 'line',\n connectNulls: false,\n // points of area\n points: [],\n dot: false,\n activeDot: true,\n hide: false,\n isAnimationActive: !Global.isSsr,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease'\n};\n\nArea.getBaseValue = function (props, xAxis, yAxis) {\n var layout = props.layout,\n baseValue = props.baseValue;\n\n if (isNumber(baseValue) && typeof baseValue === 'number') {\n return baseValue;\n }\n\n var numericAxis = layout === 'horizontal' ? yAxis : xAxis;\n var domain = numericAxis.scale.domain();\n\n if (numericAxis.type === 'number') {\n var max = Math.max(domain[0], domain[1]);\n var min = Math.min(domain[0], domain[1]);\n\n if (baseValue === 'dataMin') {\n return min;\n }\n\n if (baseValue === 'dataMax') {\n return max;\n }\n\n return max < 0 ? max : Math.max(Math.min(domain[0], domain[1]), 0);\n }\n\n if (baseValue === 'dataMin') {\n return domain[0];\n }\n\n if (baseValue === 'dataMax') {\n return domain[1];\n }\n\n return domain[0];\n};\n\nArea.getComposedData = function (_ref2) {\n var props = _ref2.props,\n xAxis = _ref2.xAxis,\n yAxis = _ref2.yAxis,\n xAxisTicks = _ref2.xAxisTicks,\n yAxisTicks = _ref2.yAxisTicks,\n bandSize = _ref2.bandSize,\n dataKey = _ref2.dataKey,\n stackedData = _ref2.stackedData,\n dataStartIndex = _ref2.dataStartIndex,\n displayedData = _ref2.displayedData,\n offset = _ref2.offset;\n var layout = props.layout;\n var hasStack = stackedData && stackedData.length;\n var baseValue = Area.getBaseValue(props, xAxis, yAxis);\n var isRange = false;\n var points = displayedData.map(function (entry, index) {\n var originalValue = getValueByDataKey(entry, dataKey);\n var value;\n\n if (hasStack) {\n value = stackedData[dataStartIndex + index];\n } else {\n value = originalValue;\n\n if (!_isArray(value)) {\n value = [baseValue, value];\n } else {\n isRange = true;\n }\n }\n\n var isBreakPoint = _isNil(value[1]) || hasStack && _isNil(originalValue);\n\n if (layout === 'horizontal') {\n return {\n x: getCateCoordinateOfLine({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n y: isBreakPoint ? null : yAxis.scale(value[1]),\n value: value,\n payload: entry\n };\n }\n\n return {\n x: isBreakPoint ? null : xAxis.scale(value[1]),\n y: getCateCoordinateOfLine({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n value: value,\n payload: entry\n };\n });\n var baseLine;\n\n if (hasStack || isRange) {\n baseLine = points.map(function (entry) {\n if (layout === 'horizontal') {\n return {\n x: entry.x,\n y: !_isNil(_get(entry, 'value[0]')) && !_isNil(_get(entry, 'y')) ? yAxis.scale(_get(entry, 'value[0]')) : null\n };\n }\n\n return {\n x: !_isNil(_get(entry, 'value[0]')) ? xAxis.scale(_get(entry, 'value[0]')) : null,\n y: entry.y\n };\n });\n } else if (layout === 'horizontal') {\n baseLine = yAxis.scale(baseValue);\n } else {\n baseLine = xAxis.scale(baseValue);\n }\n\n return _objectSpread({\n points: points,\n baseLine: baseLine,\n layout: layout,\n isRange: isRange\n }, offset);\n};\n\nArea.renderDotItem = function (option, props) {\n var dotItem;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n dotItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n dotItem = option(props);\n } else {\n dotItem = /*#__PURE__*/React.createElement(Dot, _extends({}, props, {\n className: \"recharts-area-dot\"\n }));\n }\n\n return dotItem;\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport _isFunction from \"lodash/isFunction\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * @fileOverview Cartesian Grid\n */\nimport React, { PureComponent } from 'react';\nimport { isNumber } from '../util/DataUtils';\nimport { filterProps } from '../util/types';\nexport var CartesianGrid = /*#__PURE__*/function (_PureComponent) {\n _inherits(CartesianGrid, _PureComponent);\n\n var _super = _createSuper(CartesianGrid);\n\n function CartesianGrid() {\n _classCallCheck(this, CartesianGrid);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(CartesianGrid, [{\n key: \"renderHorizontal\",\n value:\n /**\n * Draw the horizontal grid lines\n * @param {Array} horizontalPoints either passed in as props or generated from function\n * @return {Group} Horizontal lines\n */\n function renderHorizontal(horizontalPoints) {\n var _this = this;\n\n var _this$props = this.props,\n x = _this$props.x,\n width = _this$props.width,\n horizontal = _this$props.horizontal;\n\n if (!horizontalPoints || !horizontalPoints.length) {\n return null;\n }\n\n var items = horizontalPoints.map(function (entry, i) {\n var props = _objectSpread(_objectSpread({}, _this.props), {}, {\n x1: x,\n y1: entry,\n x2: x + width,\n y2: entry,\n key: \"line-\".concat(i),\n index: i\n });\n\n return CartesianGrid.renderLineItem(horizontal, props);\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-grid-horizontal\"\n }, items);\n }\n /**\n * Draw vertical grid lines\n * @param {Array} verticalPoints either passed in as props or generated from function\n * @return {Group} Vertical lines\n */\n\n }, {\n key: \"renderVertical\",\n value: function renderVertical(verticalPoints) {\n var _this2 = this;\n\n var _this$props2 = this.props,\n y = _this$props2.y,\n height = _this$props2.height,\n vertical = _this$props2.vertical;\n\n if (!verticalPoints || !verticalPoints.length) {\n return null;\n }\n\n var items = verticalPoints.map(function (entry, i) {\n var props = _objectSpread(_objectSpread({}, _this2.props), {}, {\n x1: entry,\n y1: y,\n x2: entry,\n y2: y + height,\n key: \"line-\".concat(i),\n index: i\n });\n\n return CartesianGrid.renderLineItem(vertical, props);\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-grid-vertical\"\n }, items);\n }\n /**\n * Draw vertical grid stripes filled by colors\n * @param {Array} verticalPoints either passed in as props or generated from function\n * @return {Group} Vertical stripes\n */\n\n }, {\n key: \"renderVerticalStripes\",\n value: function renderVerticalStripes(verticalPoints) {\n var verticalFill = this.props.verticalFill;\n\n if (!verticalFill || !verticalFill.length) {\n return null;\n }\n\n var _this$props3 = this.props,\n fillOpacity = _this$props3.fillOpacity,\n x = _this$props3.x,\n y = _this$props3.y,\n width = _this$props3.width,\n height = _this$props3.height;\n var verticalPointsUpdated = verticalPoints.slice().sort(function (a, b) {\n return a - b;\n });\n\n if (x !== verticalPointsUpdated[0]) {\n verticalPointsUpdated.unshift(0);\n }\n\n var items = verticalPointsUpdated.map(function (entry, i) {\n var lineWidth = verticalPointsUpdated[i + 1] ? verticalPointsUpdated[i + 1] - entry : x + width - entry;\n\n if (lineWidth <= 0) {\n return null;\n }\n\n var colorIndex = i % verticalFill.length;\n return /*#__PURE__*/React.createElement(\"rect\", {\n key: \"react-\".concat(i) // eslint-disable-line react/no-array-index-key\n ,\n x: Math.round(entry + x - x),\n y: y,\n width: lineWidth,\n height: height,\n stroke: \"none\",\n fill: verticalFill[colorIndex],\n fillOpacity: fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-gridstripes-vertical\"\n }, items);\n }\n /**\n * Draw horizontal grid stripes filled by colors\n * @param {Array} horizontalPoints either passed in as props or generated from function\n * @return {Group} Horizontal stripes\n */\n\n }, {\n key: \"renderHorizontalStripes\",\n value: function renderHorizontalStripes(horizontalPoints) {\n var horizontalFill = this.props.horizontalFill;\n\n if (!horizontalFill || !horizontalFill.length) {\n return null;\n }\n\n var _this$props4 = this.props,\n fillOpacity = _this$props4.fillOpacity,\n x = _this$props4.x,\n y = _this$props4.y,\n width = _this$props4.width,\n height = _this$props4.height;\n var horizontalPointsUpdated = horizontalPoints.slice().sort(function (a, b) {\n return a - b;\n });\n\n if (y !== horizontalPointsUpdated[0]) {\n horizontalPointsUpdated.unshift(0);\n }\n\n var items = horizontalPointsUpdated.map(function (entry, i) {\n var lineHeight = horizontalPointsUpdated[i + 1] ? horizontalPointsUpdated[i + 1] - entry : y + height - entry;\n\n if (lineHeight <= 0) {\n return null;\n }\n\n var colorIndex = i % horizontalFill.length;\n return /*#__PURE__*/React.createElement(\"rect\", {\n key: \"react-\".concat(i) // eslint-disable-line react/no-array-index-key\n ,\n y: Math.round(entry + y - y),\n x: x,\n height: lineHeight,\n width: width,\n stroke: \"none\",\n fill: horizontalFill[colorIndex],\n fillOpacity: fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-gridstripes-horizontal\"\n }, items);\n }\n }, {\n key: \"renderBackground\",\n value: function renderBackground() {\n var fill = this.props.fill;\n\n if (!fill || fill === 'none') {\n return null;\n }\n\n var _this$props5 = this.props,\n fillOpacity = _this$props5.fillOpacity,\n x = _this$props5.x,\n y = _this$props5.y,\n width = _this$props5.width,\n height = _this$props5.height;\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: x,\n y: y,\n width: width,\n height: height,\n stroke: \"none\",\n fill: fill,\n fillOpacity: fillOpacity,\n className: \"recharts-cartesian-grid-bg\"\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props6 = this.props,\n x = _this$props6.x,\n y = _this$props6.y,\n width = _this$props6.width,\n height = _this$props6.height,\n horizontal = _this$props6.horizontal,\n vertical = _this$props6.vertical,\n horizontalCoordinatesGenerator = _this$props6.horizontalCoordinatesGenerator,\n verticalCoordinatesGenerator = _this$props6.verticalCoordinatesGenerator,\n xAxis = _this$props6.xAxis,\n yAxis = _this$props6.yAxis,\n offset = _this$props6.offset,\n chartWidth = _this$props6.chartWidth,\n chartHeight = _this$props6.chartHeight;\n\n if (!isNumber(width) || width <= 0 || !isNumber(height) || height <= 0 || !isNumber(x) || x !== +x || !isNumber(y) || y !== +y) {\n return null;\n }\n\n var _this$props7 = this.props,\n horizontalPoints = _this$props7.horizontalPoints,\n verticalPoints = _this$props7.verticalPoints; // No horizontal points are specified\n\n if ((!horizontalPoints || !horizontalPoints.length) && _isFunction(horizontalCoordinatesGenerator)) {\n horizontalPoints = horizontalCoordinatesGenerator({\n yAxis: yAxis,\n width: chartWidth,\n height: chartHeight,\n offset: offset\n });\n } // No vertical points are specified\n\n\n if ((!verticalPoints || !verticalPoints.length) && _isFunction(verticalCoordinatesGenerator)) {\n verticalPoints = verticalCoordinatesGenerator({\n xAxis: xAxis,\n width: chartWidth,\n height: chartHeight,\n offset: offset\n });\n }\n\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-grid\"\n }, this.renderBackground(), horizontal && this.renderHorizontal(horizontalPoints), vertical && this.renderVertical(verticalPoints), horizontal && this.renderHorizontalStripes(horizontalPoints), vertical && this.renderVerticalStripes(verticalPoints));\n }\n }], [{\n key: \"renderLineItem\",\n value: function renderLineItem(option, props) {\n var lineItem;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n lineItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n lineItem = option(props);\n } else {\n var x1 = props.x1,\n y1 = props.y1,\n x2 = props.x2,\n y2 = props.y2,\n key = props.key,\n others = _objectWithoutProperties(props, [\"x1\", \"y1\", \"x2\", \"y2\", \"key\"]);\n\n lineItem = /*#__PURE__*/React.createElement(\"line\", _extends({}, filterProps(others), {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2,\n fill: \"none\",\n key: key\n }));\n }\n\n return lineItem;\n }\n }]);\n\n return CartesianGrid;\n}(PureComponent);\nCartesianGrid.displayName = 'CartesianGrid';\nCartesianGrid.defaultProps = {\n horizontal: true,\n vertical: true,\n // The ordinates of horizontal grid lines\n horizontalPoints: [],\n // The abscissas of vertical grid lines\n verticalPoints: [],\n stroke: '#ccc',\n fill: 'none',\n // The fill of colors of grid lines\n verticalFill: [],\n horizontalFill: []\n};","/**\n * @fileOverview X Axis\n */\n\n/** Define of XAxis props */\nexport var XAxis = function XAxis() {\n return null;\n};\nXAxis.displayName = 'XAxis';\nXAxis.defaultProps = {\n allowDecimals: true,\n hide: false,\n orientation: 'bottom',\n width: 0,\n height: 30,\n mirror: false,\n xAxisId: 0,\n tickCount: 5,\n type: 'category',\n domain: [0, 'auto'],\n padding: {\n left: 0,\n right: 0\n },\n allowDataOverflow: false,\n scale: 'auto',\n reversed: false,\n allowDuplicatedCategory: true\n};","/**\n * @fileOverview Y Axis\n */\nexport var YAxis = function YAxis() {\n return null;\n};\nYAxis.displayName = 'YAxis';\nYAxis.defaultProps = {\n allowDuplicatedCategory: true,\n allowDecimals: true,\n hide: false,\n orientation: 'left',\n width: 60,\n height: 0,\n mirror: false,\n yAxisId: 0,\n tickCount: 5,\n type: 'number',\n domain: [0, 'auto'],\n padding: {\n top: 0,\n bottom: 0\n },\n allowDataOverflow: false,\n scale: 'auto',\n reversed: false\n};","/**\n * @fileOverview Area Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Area } from '../cartesian/Area';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var AreaChart = generateCategoricalChart({\n chartName: 'AreaChart',\n GraphicalChild: Area,\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});","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\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 _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 Cross\n */\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { isNumber } from '../util/DataUtils';\nimport { filterProps } from '../util/types';\nexport var Cross = /*#__PURE__*/function (_PureComponent) {\n _inherits(Cross, _PureComponent);\n\n var _super = _createSuper(Cross);\n\n function Cross() {\n _classCallCheck(this, Cross);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Cross, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n x = _this$props.x,\n y = _this$props.y,\n width = _this$props.width,\n height = _this$props.height,\n top = _this$props.top,\n left = _this$props.left,\n className = _this$props.className;\n\n if (!isNumber(x) || !isNumber(y) || !isNumber(width) || !isNumber(height) || !isNumber(top) || !isNumber(left)) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(this.props, true), {\n className: classNames('recharts-cross', className),\n d: Cross.getPath(x, y, width, height, top, left)\n }));\n }\n }], [{\n key: \"getPath\",\n value: function getPath(x, y, width, height, top, left) {\n return \"M\".concat(x, \",\").concat(top, \"v\").concat(height, \"M\").concat(left, \",\").concat(y, \"h\").concat(width);\n }\n }]);\n\n return Cross;\n}(PureComponent);\nCross.defaultProps = {\n x: 0,\n y: 0,\n top: 0,\n left: 0,\n width: 0,\n height: 0\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 _get from \"lodash/get\";\nimport _isFunction from \"lodash/isFunction\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction 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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * @fileOverview Cartesian Axis\n */\nimport React, { Component } from 'react';\nimport classNames from 'classnames';\nimport { shallowEqual } from '../util/ShallowEqual';\nimport { getStringSize } from '../util/DOMUtils';\nimport { Layer } from '../container/Layer';\nimport { Text } from '../component/Text';\nimport { Label } from '../component/Label';\nimport { Global } from '../util/Global';\nimport { isNumber, mathSign } from '../util/DataUtils';\nimport { filterProps, adaptEventsOfChild } from '../util/types';\nexport var CartesianAxis = /*#__PURE__*/function (_Component) {\n _inherits(CartesianAxis, _Component);\n\n var _super = _createSuper(CartesianAxis);\n\n function CartesianAxis() {\n _classCallCheck(this, CartesianAxis);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(CartesianAxis, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(_ref) {\n var viewBox = _ref.viewBox,\n restProps = _objectWithoutProperties(_ref, [\"viewBox\"]);\n\n // props.viewBox is sometimes generated every time -\n // check that specially as object equality is likely to fail\n var _this$props = this.props,\n viewBoxOld = _this$props.viewBox,\n restPropsOld = _objectWithoutProperties(_this$props, [\"viewBox\"]);\n\n return !shallowEqual(viewBox, viewBoxOld) || !shallowEqual(restProps, restPropsOld);\n }\n /**\n * Calculate the coordinates of endpoints in ticks\n * @param {Object} data The data of a simple tick\n * @return {Object} (x1, y1): The coordinate of endpoint close to tick text\n * (x2, y2): The coordinate of endpoint close to axis\n */\n\n }, {\n key: \"getTickLineCoord\",\n value: function getTickLineCoord(data) {\n var _this$props2 = this.props,\n x = _this$props2.x,\n y = _this$props2.y,\n width = _this$props2.width,\n height = _this$props2.height,\n orientation = _this$props2.orientation,\n tickSize = _this$props2.tickSize,\n mirror = _this$props2.mirror,\n tickMargin = _this$props2.tickMargin;\n var x1, x2, y1, y2, tx, ty;\n var sign = mirror ? -1 : 1;\n var finalTickSize = data.tickSize || tickSize;\n var tickCoord = isNumber(data.tickCoord) ? data.tickCoord : data.coordinate;\n\n switch (orientation) {\n case 'top':\n x1 = x2 = data.coordinate;\n y2 = y + +!mirror * height;\n y1 = y2 - sign * finalTickSize;\n ty = y1 - sign * tickMargin;\n tx = tickCoord;\n break;\n\n case 'left':\n y1 = y2 = data.coordinate;\n x2 = x + +!mirror * width;\n x1 = x2 - sign * finalTickSize;\n tx = x1 - sign * tickMargin;\n ty = tickCoord;\n break;\n\n case 'right':\n y1 = y2 = data.coordinate;\n x2 = x + +mirror * width;\n x1 = x2 + sign * finalTickSize;\n tx = x1 + sign * tickMargin;\n ty = tickCoord;\n break;\n\n default:\n x1 = x2 = data.coordinate;\n y2 = y + +mirror * height;\n y1 = y2 + sign * finalTickSize;\n ty = y1 + sign * tickMargin;\n tx = tickCoord;\n break;\n }\n\n return {\n line: {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n },\n tick: {\n x: tx,\n y: ty\n }\n };\n }\n }, {\n key: \"getTickTextAnchor\",\n value: function getTickTextAnchor() {\n var _this$props3 = this.props,\n orientation = _this$props3.orientation,\n mirror = _this$props3.mirror;\n var textAnchor;\n\n switch (orientation) {\n case 'left':\n textAnchor = mirror ? 'start' : 'end';\n break;\n\n case 'right':\n textAnchor = mirror ? 'end' : 'start';\n break;\n\n default:\n textAnchor = 'middle';\n break;\n }\n\n return textAnchor;\n }\n }, {\n key: \"getTickVerticalAnchor\",\n value: function getTickVerticalAnchor() {\n var _this$props4 = this.props,\n orientation = _this$props4.orientation,\n mirror = _this$props4.mirror;\n var verticalAnchor = 'end';\n\n switch (orientation) {\n case 'left':\n case 'right':\n verticalAnchor = 'middle';\n break;\n\n case 'top':\n verticalAnchor = mirror ? 'start' : 'end';\n break;\n\n default:\n verticalAnchor = mirror ? 'end' : 'start';\n break;\n }\n\n return verticalAnchor;\n }\n }, {\n key: \"renderAxisLine\",\n value: function renderAxisLine() {\n var _this$props5 = this.props,\n x = _this$props5.x,\n y = _this$props5.y,\n width = _this$props5.width,\n height = _this$props5.height,\n orientation = _this$props5.orientation,\n mirror = _this$props5.mirror,\n axisLine = _this$props5.axisLine;\n\n var props = _objectSpread(_objectSpread(_objectSpread({}, filterProps(this.props)), filterProps(axisLine)), {}, {\n fill: 'none'\n });\n\n if (orientation === 'top' || orientation === 'bottom') {\n var needHeight = +(orientation === 'top' && !mirror || orientation === 'bottom' && mirror);\n props = _objectSpread(_objectSpread({}, props), {}, {\n x1: x,\n y1: y + needHeight * height,\n x2: x + width,\n y2: y + needHeight * height\n });\n } else {\n var needWidth = +(orientation === 'left' && !mirror || orientation === 'right' && mirror);\n props = _objectSpread(_objectSpread({}, props), {}, {\n x1: x + needWidth * width,\n y1: y,\n x2: x + needWidth * width,\n y2: y + height\n });\n }\n\n return /*#__PURE__*/React.createElement(\"line\", _extends({}, props, {\n className: classNames('recharts-cartesian-axis-line', _get(axisLine, 'className'))\n }));\n }\n }, {\n key: \"renderTicks\",\n value:\n /**\n * render the ticks\n * @param {Array} ticks The ticks to actually render (overrides what was passed in props)\n * @return {ReactComponent} renderedTicks\n */\n function renderTicks(ticks) {\n var _this = this;\n\n var _this$props6 = this.props,\n tickLine = _this$props6.tickLine,\n stroke = _this$props6.stroke,\n tick = _this$props6.tick,\n tickFormatter = _this$props6.tickFormatter,\n unit = _this$props6.unit;\n var finalTicks = CartesianAxis.getTicks(_objectSpread(_objectSpread({}, this.props), {}, {\n ticks: ticks\n }));\n var textAnchor = this.getTickTextAnchor();\n var verticalAnchor = this.getTickVerticalAnchor();\n var axisProps = filterProps(this.props);\n var customTickProps = filterProps(tick);\n\n var tickLineProps = _objectSpread(_objectSpread({}, axisProps), {}, {\n fill: 'none'\n }, filterProps(tickLine));\n\n var items = finalTicks.map(function (entry, i) {\n var _this$getTickLineCoor = _this.getTickLineCoord(entry),\n lineCoord = _this$getTickLineCoor.line,\n tickCoord = _this$getTickLineCoor.tick;\n\n var tickProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n textAnchor: textAnchor,\n verticalAnchor: verticalAnchor\n }, axisProps), {}, {\n stroke: 'none',\n fill: stroke\n }, customTickProps), tickCoord), {}, {\n index: i,\n payload: entry,\n visibleTicksCount: finalTicks.length,\n tickFormatter: tickFormatter\n });\n\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-cartesian-axis-tick\",\n key: \"tick-\".concat(i) // eslint-disable-line react/no-array-index-key\n\n }, adaptEventsOfChild(_this.props, entry, i)), tickLine && /*#__PURE__*/React.createElement(\"line\", _extends({}, tickLineProps, lineCoord, {\n className: classNames('recharts-cartesian-axis-tick-line', _get(tickLine, 'className'))\n })), tick && CartesianAxis.renderTickItem(tick, tickProps, \"\".concat(_isFunction(tickFormatter) ? tickFormatter(entry.value, i) : entry.value).concat(unit || '')));\n });\n return /*#__PURE__*/React.createElement(\"g\", {\n className: \"recharts-cartesian-axis-ticks\"\n }, items);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props7 = this.props,\n axisLine = _this$props7.axisLine,\n width = _this$props7.width,\n height = _this$props7.height,\n ticksGenerator = _this$props7.ticksGenerator,\n className = _this$props7.className,\n hide = _this$props7.hide;\n\n if (hide) {\n return null;\n }\n\n var _this$props8 = this.props,\n ticks = _this$props8.ticks,\n noTicksProps = _objectWithoutProperties(_this$props8, [\"ticks\"]);\n\n var finalTicks = ticks;\n\n if (_isFunction(ticksGenerator)) {\n finalTicks = ticks && ticks.length > 0 ? ticksGenerator(this.props) : ticksGenerator(noTicksProps);\n }\n\n if (width <= 0 || height <= 0 || !finalTicks || !finalTicks.length) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: classNames('recharts-cartesian-axis', className)\n }, axisLine && this.renderAxisLine(), this.renderTicks(finalTicks), Label.renderCallByParent(this.props));\n }\n }], [{\n key: \"getTicks\",\n value: // todo Array\n function getTicks(props) {\n var tick = props.tick,\n ticks = props.ticks,\n viewBox = props.viewBox,\n minTickGap = props.minTickGap,\n orientation = props.orientation,\n interval = props.interval,\n tickFormatter = props.tickFormatter,\n unit = props.unit;\n\n if (!ticks || !ticks.length || !tick) {\n return [];\n }\n\n if (isNumber(interval) || Global.isSsr) {\n return CartesianAxis.getNumberIntervalTicks(ticks, typeof interval === 'number' && isNumber(interval) ? interval : 0);\n }\n\n if (interval === 'preserveStartEnd') {\n return CartesianAxis.getTicksStart({\n ticks: ticks,\n tickFormatter: tickFormatter,\n viewBox: viewBox,\n orientation: orientation,\n minTickGap: minTickGap,\n unit: unit\n }, true);\n }\n\n if (interval === 'preserveStart') {\n return CartesianAxis.getTicksStart({\n ticks: ticks,\n tickFormatter: tickFormatter,\n viewBox: viewBox,\n orientation: orientation,\n minTickGap: minTickGap,\n unit: unit\n });\n }\n\n return CartesianAxis.getTicksEnd({\n ticks: ticks,\n tickFormatter: tickFormatter,\n viewBox: viewBox,\n orientation: orientation,\n minTickGap: minTickGap,\n unit: unit\n });\n }\n }, {\n key: \"getNumberIntervalTicks\",\n value: function getNumberIntervalTicks(ticks, interval) {\n return ticks.filter(function (entry, i) {\n return i % (interval + 1) === 0;\n });\n }\n }, {\n key: \"getTicksStart\",\n value: function getTicksStart(_ref2, preserveEnd) {\n var ticks = _ref2.ticks,\n tickFormatter = _ref2.tickFormatter,\n viewBox = _ref2.viewBox,\n orientation = _ref2.orientation,\n minTickGap = _ref2.minTickGap,\n unit = _ref2.unit;\n var x = viewBox.x,\n y = viewBox.y,\n width = viewBox.width,\n height = viewBox.height;\n var sizeKey = orientation === 'top' || orientation === 'bottom' ? 'width' : 'height';\n var result = (ticks || []).slice(); // we need add the width of 'unit' only when sizeKey === 'width'\n\n var unitSize = unit && sizeKey === 'width' ? getStringSize(unit)[sizeKey] : 0;\n var len = result.length;\n var sign = len >= 2 ? mathSign(result[1].coordinate - result[0].coordinate) : 1;\n var start, end;\n\n if (sign === 1) {\n start = sizeKey === 'width' ? x : y;\n end = sizeKey === 'width' ? x + width : y + height;\n } else {\n start = sizeKey === 'width' ? x + width : y + height;\n end = sizeKey === 'width' ? x : y;\n }\n\n if (preserveEnd) {\n // Try to guarantee the tail to be displayed\n var tail = ticks[len - 1];\n var tailContent = _isFunction(tickFormatter) ? tickFormatter(tail.value, len - 1) : tail.value;\n var tailSize = getStringSize(tailContent)[sizeKey] + unitSize;\n var tailGap = sign * (tail.coordinate + sign * tailSize / 2 - end);\n result[len - 1] = tail = _objectSpread(_objectSpread({}, tail), {}, {\n tickCoord: tailGap > 0 ? tail.coordinate - tailGap * sign : tail.coordinate\n });\n var isTailShow = sign * (tail.tickCoord - sign * tailSize / 2 - start) >= 0 && sign * (tail.tickCoord + sign * tailSize / 2 - end) <= 0;\n\n if (isTailShow) {\n end = tail.tickCoord - sign * (tailSize / 2 + minTickGap);\n result[len - 1] = _objectSpread(_objectSpread({}, tail), {}, {\n isShow: true\n });\n }\n }\n\n var count = preserveEnd ? len - 1 : len;\n\n for (var i = 0; i < count; i++) {\n var entry = result[i];\n var content = _isFunction(tickFormatter) ? tickFormatter(entry.value, i) : entry.value;\n var size = getStringSize(content)[sizeKey] + unitSize;\n\n if (i === 0) {\n var gap = sign * (entry.coordinate - sign * size / 2 - start);\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: gap < 0 ? entry.coordinate - gap * sign : entry.coordinate\n });\n } else {\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: entry.coordinate\n });\n }\n\n var isShow = sign * (entry.tickCoord - sign * size / 2 - start) >= 0 && sign * (entry.tickCoord + sign * size / 2 - end) <= 0;\n\n if (isShow) {\n start = entry.tickCoord + sign * (size / 2 + minTickGap);\n result[i] = _objectSpread(_objectSpread({}, entry), {}, {\n isShow: true\n });\n }\n }\n\n return result.filter(function (entry) {\n return entry.isShow;\n });\n }\n }, {\n key: \"getTicksEnd\",\n value: function getTicksEnd(_ref3) {\n var ticks = _ref3.ticks,\n tickFormatter = _ref3.tickFormatter,\n viewBox = _ref3.viewBox,\n orientation = _ref3.orientation,\n minTickGap = _ref3.minTickGap,\n unit = _ref3.unit;\n var x = viewBox.x,\n y = viewBox.y,\n width = viewBox.width,\n height = viewBox.height;\n var sizeKey = orientation === 'top' || orientation === 'bottom' ? 'width' : 'height'; // we need add the width of 'unit' only when sizeKey === 'width'\n\n var unitSize = unit && sizeKey === 'width' ? getStringSize(unit)[sizeKey] : 0;\n var result = (ticks || []).slice();\n var len = result.length;\n var sign = len >= 2 ? mathSign(result[1].coordinate - result[0].coordinate) : 1;\n var start, end;\n\n if (sign === 1) {\n start = sizeKey === 'width' ? x : y;\n end = sizeKey === 'width' ? x + width : y + height;\n } else {\n start = sizeKey === 'width' ? x + width : y + height;\n end = sizeKey === 'width' ? x : y;\n }\n\n for (var i = len - 1; i >= 0; i--) {\n var entry = result[i];\n var content = _isFunction(tickFormatter) ? tickFormatter(entry.value, len - i - 1) : entry.value;\n var size = getStringSize(content)[sizeKey] + unitSize;\n\n if (i === len - 1) {\n var gap = sign * (entry.coordinate + sign * size / 2 - end);\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: gap > 0 ? entry.coordinate - gap * sign : entry.coordinate\n });\n } else {\n result[i] = entry = _objectSpread(_objectSpread({}, entry), {}, {\n tickCoord: entry.coordinate\n });\n }\n\n var isShow = sign * (entry.tickCoord - sign * size / 2 - start) >= 0 && sign * (entry.tickCoord + sign * size / 2 - end) <= 0;\n\n if (isShow) {\n end = entry.tickCoord - sign * (size / 2 + minTickGap);\n result[i] = _objectSpread(_objectSpread({}, entry), {}, {\n isShow: true\n });\n }\n }\n\n return result.filter(function (entry) {\n return entry.isShow;\n });\n }\n }, {\n key: \"renderTickItem\",\n value: function renderTickItem(option, props, value) {\n var tickItem;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n tickItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n tickItem = option(props);\n } else {\n tickItem = /*#__PURE__*/React.createElement(Text, _extends({}, props, {\n className: \"recharts-cartesian-axis-tick-value\"\n }), value);\n }\n\n return tickItem;\n }\n }]);\n\n return CartesianAxis;\n}(Component);\nCartesianAxis.displayName = 'CartesianAxis';\nCartesianAxis.defaultProps = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n viewBox: {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n },\n // The orientation of axis\n orientation: 'bottom',\n // The ticks\n ticks: [],\n stroke: '#666',\n tickLine: true,\n axisLine: true,\n tick: true,\n mirror: false,\n minTickGap: 5,\n // The width or height of tick\n tickSize: 6,\n tickMargin: 2,\n interval: 'preserveEnd'\n};","function 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\nvar PREFIX_LIST = ['Webkit', 'Moz', 'O', 'ms'];\nexport var generatePrefixStyle = function generatePrefixStyle(name, value) {\n if (!name) {\n return null;\n }\n\n var camelName = name.replace(/(\\w)/, function (v) {\n return v.toUpperCase();\n });\n var result = PREFIX_LIST.reduce(function (res, entry) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, entry + camelName, value));\n }, {});\n result[name] = value;\n return result;\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport _isFunction from \"lodash/isFunction\";\nimport _range from \"lodash/range\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * @fileOverview Brush\n */\nimport React, { PureComponent, Children } from 'react';\nimport classNames from 'classnames';\nimport { scalePoint } from 'd3-scale';\nimport { Layer } from '../container/Layer';\nimport { Text } from '../component/Text';\nimport { getValueByDataKey } from '../util/ChartUtils';\nimport { isNumber } from '../util/DataUtils';\nimport { generatePrefixStyle } from '../util/CssPrefixUtils';\nimport { filterProps } from '../util/types';\n\nvar createScale = function createScale(_ref) {\n var data = _ref.data,\n startIndex = _ref.startIndex,\n endIndex = _ref.endIndex,\n x = _ref.x,\n width = _ref.width,\n travellerWidth = _ref.travellerWidth;\n\n if (!data || !data.length) {\n return {};\n }\n\n var len = data.length;\n var scale = scalePoint().domain(_range(0, len)).range([x, x + width - travellerWidth]);\n var scaleValues = scale.domain().map(function (entry) {\n return scale(entry);\n });\n return {\n isTextActive: false,\n isSlideMoving: false,\n isTravellerMoving: false,\n startX: scale(startIndex),\n endX: scale(endIndex),\n scale: scale,\n scaleValues: scaleValues\n };\n};\n\nvar isTouch = function isTouch(e) {\n return e.changedTouches && !!e.changedTouches.length;\n};\n\nexport var Brush = /*#__PURE__*/function (_PureComponent) {\n _inherits(Brush, _PureComponent);\n\n var _super = _createSuper(Brush);\n\n function Brush(props) {\n var _this;\n\n _classCallCheck(this, Brush);\n\n _this = _super.call(this, props);\n _this.leaveTimer = void 0;\n _this.travellerDragStartHandlers = void 0;\n\n _this.handleDrag = function (e) {\n if (_this.leaveTimer) {\n clearTimeout(_this.leaveTimer);\n _this.leaveTimer = null;\n }\n\n if (_this.state.isTravellerMoving) {\n _this.handleTravellerMove(e);\n } else if (_this.state.isSlideMoving) {\n _this.handleSlideDrag(e);\n }\n };\n\n _this.handleTouchMove = function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleDrag(e.changedTouches[0]);\n }\n };\n\n _this.handleDragEnd = function () {\n _this.setState({\n isTravellerMoving: false,\n isSlideMoving: false\n });\n\n _this.detachDragEndListener();\n };\n\n _this.handleLeaveWrapper = function () {\n if (_this.state.isTravellerMoving || _this.state.isSlideMoving) {\n _this.leaveTimer = window.setTimeout(_this.handleDragEnd, _this.props.leaveTimeOut);\n }\n };\n\n _this.handleEnterSlideOrTraveller = function () {\n _this.setState({\n isTextActive: true\n });\n };\n\n _this.handleLeaveSlideOrTraveller = function () {\n _this.setState({\n isTextActive: false\n });\n };\n\n _this.handleSlideDragStart = function (e) {\n var event = isTouch(e) ? e.changedTouches[0] : e;\n\n _this.setState({\n isTravellerMoving: false,\n isSlideMoving: true,\n slideMoveStartX: event.pageX\n });\n\n _this.attachDragEndListener();\n };\n\n _this.travellerDragStartHandlers = {\n startX: _this.handleTravellerDragStart.bind(_assertThisInitialized(_this), 'startX'),\n endX: _this.handleTravellerDragStart.bind(_assertThisInitialized(_this), 'endX')\n };\n _this.state = {};\n return _this;\n }\n\n _createClass(Brush, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.leaveTimer) {\n clearTimeout(this.leaveTimer);\n this.leaveTimer = null;\n }\n\n this.detachDragEndListener();\n }\n }, {\n key: \"getIndex\",\n value: function getIndex(_ref2) {\n var startX = _ref2.startX,\n endX = _ref2.endX;\n var scaleValues = this.state.scaleValues;\n var _this$props = this.props,\n gap = _this$props.gap,\n data = _this$props.data;\n var lastIndex = data.length - 1;\n var min = Math.min(startX, endX);\n var max = Math.max(startX, endX);\n var minIndex = Brush.getIndexInRange(scaleValues, min);\n var maxIndex = Brush.getIndexInRange(scaleValues, max);\n return {\n startIndex: minIndex - minIndex % gap,\n endIndex: maxIndex === lastIndex ? lastIndex : maxIndex - maxIndex % gap\n };\n }\n }, {\n key: \"getTextOfTick\",\n value: function getTextOfTick(index) {\n var _this$props2 = this.props,\n data = _this$props2.data,\n tickFormatter = _this$props2.tickFormatter,\n dataKey = _this$props2.dataKey;\n var text = getValueByDataKey(data[index], dataKey, index);\n return _isFunction(tickFormatter) ? tickFormatter(text, index) : text;\n }\n }, {\n key: \"attachDragEndListener\",\n value: function attachDragEndListener() {\n window.addEventListener('mouseup', this.handleDragEnd, true);\n window.addEventListener('touchend', this.handleDragEnd, true);\n }\n }, {\n key: \"detachDragEndListener\",\n value: function detachDragEndListener() {\n window.removeEventListener('mouseup', this.handleDragEnd, true);\n window.removeEventListener('touchend', this.handleDragEnd, true);\n }\n }, {\n key: \"handleSlideDrag\",\n value: function handleSlideDrag(e) {\n var _this$state = this.state,\n slideMoveStartX = _this$state.slideMoveStartX,\n startX = _this$state.startX,\n endX = _this$state.endX;\n var _this$props3 = this.props,\n x = _this$props3.x,\n width = _this$props3.width,\n travellerWidth = _this$props3.travellerWidth,\n startIndex = _this$props3.startIndex,\n endIndex = _this$props3.endIndex,\n onChange = _this$props3.onChange;\n var delta = e.pageX - slideMoveStartX;\n\n if (delta > 0) {\n delta = Math.min(delta, x + width - travellerWidth - endX, x + width - travellerWidth - startX);\n } else if (delta < 0) {\n delta = Math.max(delta, x - startX, x - endX);\n }\n\n var newIndex = this.getIndex({\n startX: startX + delta,\n endX: endX + delta\n });\n\n if ((newIndex.startIndex !== startIndex || newIndex.endIndex !== endIndex) && onChange) {\n onChange(newIndex);\n }\n\n this.setState({\n startX: startX + delta,\n endX: endX + delta,\n slideMoveStartX: e.pageX\n });\n }\n }, {\n key: \"handleTravellerDragStart\",\n value: function handleTravellerDragStart(id, e) {\n var event = isTouch(e) ? e.changedTouches[0] : e;\n this.setState({\n isSlideMoving: false,\n isTravellerMoving: true,\n movingTravellerId: id,\n brushMoveStartX: event.pageX\n });\n this.attachDragEndListener();\n }\n }, {\n key: \"handleTravellerMove\",\n value: function handleTravellerMove(e) {\n var _this$setState;\n\n var _this$state2 = this.state,\n brushMoveStartX = _this$state2.brushMoveStartX,\n movingTravellerId = _this$state2.movingTravellerId,\n endX = _this$state2.endX,\n startX = _this$state2.startX;\n var prevValue = this.state[movingTravellerId];\n var _this$props4 = this.props,\n x = _this$props4.x,\n width = _this$props4.width,\n travellerWidth = _this$props4.travellerWidth,\n onChange = _this$props4.onChange,\n gap = _this$props4.gap,\n data = _this$props4.data;\n var params = {\n startX: this.state.startX,\n endX: this.state.endX\n };\n var delta = e.pageX - brushMoveStartX;\n\n if (delta > 0) {\n delta = Math.min(delta, x + width - travellerWidth - prevValue);\n } else if (delta < 0) {\n delta = Math.max(delta, x - prevValue);\n }\n\n params[movingTravellerId] = prevValue + delta;\n var newIndex = this.getIndex(params);\n var startIndex = newIndex.startIndex,\n endIndex = newIndex.endIndex;\n\n var isFullGap = function isFullGap() {\n var lastIndex = data.length - 1;\n\n if (movingTravellerId === 'startX' && (endX > startX ? startIndex % gap === 0 : endIndex % gap === 0) || endX < startX && endIndex === lastIndex || movingTravellerId === 'endX' && (endX > startX ? endIndex % gap === 0 : startIndex % gap === 0) || endX > startX && endIndex === lastIndex) {\n return true;\n }\n\n return false;\n };\n\n this.setState((_this$setState = {}, _defineProperty(_this$setState, movingTravellerId, prevValue + delta), _defineProperty(_this$setState, \"brushMoveStartX\", e.pageX), _this$setState), function () {\n if (onChange) {\n if (isFullGap()) {\n onChange(newIndex);\n }\n }\n });\n }\n }, {\n key: \"renderBackground\",\n value: function renderBackground() {\n var _this$props5 = this.props,\n x = _this$props5.x,\n y = _this$props5.y,\n width = _this$props5.width,\n height = _this$props5.height,\n fill = _this$props5.fill,\n stroke = _this$props5.stroke;\n return /*#__PURE__*/React.createElement(\"rect\", {\n stroke: stroke,\n fill: fill,\n x: x,\n y: y,\n width: width,\n height: height\n });\n }\n }, {\n key: \"renderPanorama\",\n value: function renderPanorama() {\n var _this$props6 = this.props,\n x = _this$props6.x,\n y = _this$props6.y,\n width = _this$props6.width,\n height = _this$props6.height,\n data = _this$props6.data,\n children = _this$props6.children,\n padding = _this$props6.padding;\n var chartElement = Children.only(children);\n\n if (!chartElement) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(chartElement, {\n x: x,\n y: y,\n width: width,\n height: height,\n margin: padding,\n compact: true,\n data: data\n });\n }\n }, {\n key: \"renderTravellerLayer\",\n value: function renderTravellerLayer(travellerX, id) {\n var _this$props7 = this.props,\n y = _this$props7.y,\n travellerWidth = _this$props7.travellerWidth,\n height = _this$props7.height,\n traveller = _this$props7.traveller;\n var x = Math.max(travellerX, this.props.x);\n\n var travellerProps = _objectSpread(_objectSpread({}, filterProps(this.props)), {}, {\n x: x,\n y: y,\n width: travellerWidth,\n height: height\n });\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-brush-traveller\",\n onMouseEnter: this.handleEnterSlideOrTraveller,\n onMouseLeave: this.handleLeaveSlideOrTraveller,\n onMouseDown: this.travellerDragStartHandlers[id],\n onTouchStart: this.travellerDragStartHandlers[id],\n style: {\n cursor: 'col-resize'\n }\n }, Brush.renderTraveller(traveller, travellerProps));\n }\n }, {\n key: \"renderSlide\",\n value: function renderSlide(startX, endX) {\n var _this$props8 = this.props,\n y = _this$props8.y,\n height = _this$props8.height,\n stroke = _this$props8.stroke,\n travellerWidth = _this$props8.travellerWidth;\n var x = Math.min(startX, endX) + travellerWidth;\n var width = Math.max(Math.abs(endX - startX) - travellerWidth, 0);\n return /*#__PURE__*/React.createElement(\"rect\", {\n className: \"recharts-brush-slide\",\n onMouseEnter: this.handleEnterSlideOrTraveller,\n onMouseLeave: this.handleLeaveSlideOrTraveller,\n onMouseDown: this.handleSlideDragStart,\n onTouchStart: this.handleSlideDragStart,\n style: {\n cursor: 'move'\n },\n stroke: \"none\",\n fill: stroke,\n fillOpacity: 0.2,\n x: x,\n y: y,\n width: width,\n height: height\n });\n }\n }, {\n key: \"renderText\",\n value: function renderText() {\n var _this$props9 = this.props,\n startIndex = _this$props9.startIndex,\n endIndex = _this$props9.endIndex,\n y = _this$props9.y,\n height = _this$props9.height,\n travellerWidth = _this$props9.travellerWidth,\n stroke = _this$props9.stroke;\n var _this$state3 = this.state,\n startX = _this$state3.startX,\n endX = _this$state3.endX;\n var offset = 5;\n var attrs = {\n pointerEvents: 'none',\n fill: stroke\n };\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-brush-texts\"\n }, /*#__PURE__*/React.createElement(Text, _extends({\n textAnchor: \"end\",\n verticalAnchor: \"middle\",\n x: Math.min(startX, endX) - offset,\n y: y + height / 2\n }, attrs), this.getTextOfTick(startIndex)), /*#__PURE__*/React.createElement(Text, _extends({\n textAnchor: \"start\",\n verticalAnchor: \"middle\",\n x: Math.max(startX, endX) + travellerWidth + offset,\n y: y + height / 2\n }, attrs), this.getTextOfTick(endIndex)));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props10 = this.props,\n data = _this$props10.data,\n className = _this$props10.className,\n children = _this$props10.children,\n x = _this$props10.x,\n y = _this$props10.y,\n width = _this$props10.width,\n height = _this$props10.height,\n alwaysShowText = _this$props10.alwaysShowText;\n var _this$state4 = this.state,\n startX = _this$state4.startX,\n endX = _this$state4.endX,\n isTextActive = _this$state4.isTextActive,\n isSlideMoving = _this$state4.isSlideMoving,\n isTravellerMoving = _this$state4.isTravellerMoving;\n\n if (!data || !data.length || !isNumber(x) || !isNumber(y) || !isNumber(width) || !isNumber(height) || width <= 0 || height <= 0) {\n return null;\n }\n\n var layerClass = classNames('recharts-brush', className);\n var isPanoramic = React.Children.count(children) === 1;\n var style = generatePrefixStyle('userSelect', 'none');\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass,\n onMouseMove: this.handleDrag,\n onMouseLeave: this.handleLeaveWrapper,\n onTouchMove: this.handleTouchMove,\n style: style\n }, this.renderBackground(), isPanoramic && this.renderPanorama(), this.renderSlide(startX, endX), this.renderTravellerLayer(startX, 'startX'), this.renderTravellerLayer(endX, 'endX'), (isTextActive || isSlideMoving || isTravellerMoving || alwaysShowText) && this.renderText());\n }\n }], [{\n key: \"renderDefaultTraveller\",\n value: function renderDefaultTraveller(props) {\n var x = props.x,\n y = props.y,\n width = props.width,\n height = props.height,\n stroke = props.stroke;\n var lineY = Math.floor(y + height / 2) - 1;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"rect\", {\n x: x,\n y: y,\n width: width,\n height: height,\n fill: stroke,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: x + 1,\n y1: lineY,\n x2: x + width - 1,\n y2: lineY,\n fill: \"none\",\n stroke: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: x + 1,\n y1: lineY + 2,\n x2: x + width - 1,\n y2: lineY + 2,\n fill: \"none\",\n stroke: \"#fff\"\n }));\n }\n }, {\n key: \"renderTraveller\",\n value: function renderTraveller(option, props) {\n var rectangle;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n rectangle = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n rectangle = option(props);\n } else {\n rectangle = Brush.renderDefaultTraveller(props);\n }\n\n return rectangle;\n }\n }, {\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n var data = nextProps.data,\n width = nextProps.width,\n x = nextProps.x,\n travellerWidth = nextProps.travellerWidth,\n updateId = nextProps.updateId,\n startIndex = nextProps.startIndex,\n endIndex = nextProps.endIndex;\n\n if (data !== prevState.prevData || updateId !== prevState.prevUpdateId) {\n return _objectSpread({\n prevData: data,\n prevTravellerWidth: travellerWidth,\n prevUpdateId: updateId,\n prevX: x,\n prevWidth: width\n }, data && data.length ? createScale({\n data: data,\n width: width,\n x: x,\n travellerWidth: travellerWidth,\n startIndex: startIndex,\n endIndex: endIndex\n }) : {\n scale: null,\n scaleValues: null\n });\n }\n\n if (prevState.scale && (width !== prevState.prevWidth || x !== prevState.prevX || travellerWidth !== prevState.prevTravellerWidth)) {\n prevState.scale.range([x, x + width - travellerWidth]);\n var scaleValues = prevState.scale.domain().map(function (entry) {\n return prevState.scale(entry);\n });\n return {\n prevData: data,\n prevTravellerWidth: travellerWidth,\n prevUpdateId: updateId,\n prevX: x,\n prevWidth: width,\n startX: prevState.scale(nextProps.startIndex),\n endX: prevState.scale(nextProps.endIndex),\n scaleValues: scaleValues\n };\n }\n\n return null;\n }\n }, {\n key: \"getIndexInRange\",\n value: function getIndexInRange(range, x) {\n var len = range.length;\n var start = 0;\n var end = len - 1;\n\n while (end - start > 1) {\n var middle = Math.floor((start + end) / 2);\n\n if (range[middle] > x) {\n end = middle;\n } else {\n start = middle;\n }\n }\n\n return x >= range[end] ? end : start;\n }\n }]);\n\n return Brush;\n}(PureComponent);\nBrush.displayName = 'Brush';\nBrush.defaultProps = {\n height: 40,\n travellerWidth: 5,\n gap: 1,\n fill: '#fff',\n stroke: '#666',\n padding: {\n top: 1,\n right: 1,\n bottom: 1,\n left: 1\n },\n leaveTimeOut: 1000,\n alwaysShowText: false\n};","export var ifOverflowMatches = function ifOverflowMatches(props, value) {\n var alwaysShow = props.alwaysShow;\n var ifOverflow = props.ifOverflow;\n\n if (alwaysShow) {\n ifOverflow = 'extendDomain';\n }\n\n return ifOverflow === value;\n};","import _isFunction from \"lodash/isFunction\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction 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\n/**\n * @fileOverview Reference Dot\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { Layer } from '../container/Layer';\nimport { Dot } from '../shape/Dot';\nimport { Label } from '../component/Label';\nimport { isNumOrStr } from '../util/DataUtils';\nimport { ifOverflowMatches } from '../util/IfOverflowMatches';\nimport { createLabeledScales } from '../util/CartesianUtils';\nimport { warn } from '../util/LogUtils';\nimport { filterProps } from '../util/types';\n\nvar getCoordinate = function getCoordinate(props) {\n var x = props.x,\n y = props.y,\n xAxis = props.xAxis,\n yAxis = props.yAxis;\n var scales = createLabeledScales({\n x: xAxis.scale,\n y: yAxis.scale\n });\n var result = scales.apply({\n x: x,\n y: y\n }, {\n bandAware: true\n });\n\n if (ifOverflowMatches(props, 'discard') && !scales.isInRange(result)) {\n return null;\n }\n\n return result;\n};\n\nexport function ReferenceDot(props) {\n var x = props.x,\n y = props.y,\n r = props.r,\n alwaysShow = props.alwaysShow,\n clipPathId = props.clipPathId;\n var isX = isNumOrStr(x);\n var isY = isNumOrStr(y);\n warn(alwaysShow === undefined, 'The alwaysShow prop is deprecated. Please use ifOverflow=\"extendDomain\" instead.');\n\n if (!isX || !isY) {\n return null;\n }\n\n var coordinate = getCoordinate(props);\n\n if (!coordinate) {\n return null;\n }\n\n var cx = coordinate.x,\n cy = coordinate.y;\n var shape = props.shape,\n className = props.className;\n var clipPath = ifOverflowMatches(props, 'hidden') ? \"url(#\".concat(clipPathId, \")\") : undefined;\n\n var dotProps = _objectSpread(_objectSpread({\n clipPath: clipPath\n }, filterProps(props, true)), {}, {\n cx: cx,\n cy: cy\n });\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: classNames('recharts-reference-dot', className)\n }, ReferenceDot.renderDot(shape, dotProps), Label.renderCallByParent(props, {\n x: cx - r,\n y: cy - r,\n width: 2 * r,\n height: 2 * r\n }));\n}\nReferenceDot.displayName = 'ReferenceDot';\nReferenceDot.defaultProps = {\n isFront: false,\n ifOverflow: 'discard',\n xAxisId: 0,\n yAxisId: 0,\n r: 10,\n fill: '#fff',\n stroke: '#ccc',\n fillOpacity: 1,\n strokeWidth: 1\n};\n\nReferenceDot.renderDot = function (option, props) {\n var dot;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n dot = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n dot = option(props);\n } else {\n dot = /*#__PURE__*/React.createElement(Dot, _extends({}, props, {\n cx: props.cx,\n cy: props.cy,\n className: \"recharts-reference-dot-dot\"\n }));\n }\n\n return dot;\n};","import _some from \"lodash/some\";\nimport _isFunction from \"lodash/isFunction\";\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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\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\n/**\n * @fileOverview Reference Line\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { Layer } from '../container/Layer';\nimport { Label } from '../component/Label';\nimport { ifOverflowMatches } from '../util/IfOverflowMatches';\nimport { isNumOrStr } from '../util/DataUtils';\nimport { createLabeledScales, rectWithCoords } from '../util/CartesianUtils';\nimport { warn } from '../util/LogUtils';\nimport { filterProps } from '../util/types';\n\nvar renderLine = function renderLine(option, props) {\n var line;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n line = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n line = option(props);\n } else {\n line = /*#__PURE__*/React.createElement(\"line\", _extends({}, props, {\n className: \"recharts-reference-line-line\"\n }));\n }\n\n return line;\n}; // TODO: ScaleHelper\n\n\nvar getEndPoints = function getEndPoints(scales, isFixedX, isFixedY, isSegment, props) {\n var _props$viewBox = props.viewBox,\n x = _props$viewBox.x,\n y = _props$viewBox.y,\n width = _props$viewBox.width,\n height = _props$viewBox.height,\n position = props.position;\n\n if (isFixedY) {\n var yCoord = props.y,\n orientation = props.yAxis.orientation;\n var coord = scales.y.apply(yCoord, {\n position: position\n });\n\n if (ifOverflowMatches(props, 'discard') && !scales.y.isInRange(coord)) {\n return null;\n }\n\n var points = [{\n x: x + width,\n y: coord\n }, {\n x: x,\n y: coord\n }];\n return orientation === 'left' ? points.reverse() : points;\n }\n\n if (isFixedX) {\n var xCoord = props.x,\n _orientation = props.xAxis.orientation;\n\n var _coord = scales.x.apply(xCoord, {\n position: position\n });\n\n if (ifOverflowMatches(props, 'discard') && !scales.x.isInRange(_coord)) {\n return null;\n }\n\n var _points = [{\n x: _coord,\n y: y + height\n }, {\n x: _coord,\n y: y\n }];\n return _orientation === 'top' ? _points.reverse() : _points;\n }\n\n if (isSegment) {\n var segment = props.segment;\n\n var _points2 = segment.map(function (p) {\n return scales.apply(p, {\n position: position\n });\n });\n\n if (ifOverflowMatches(props, 'discard') && _some(_points2, function (p) {\n return !scales.isInRange(p);\n })) {\n return null;\n }\n\n return _points2;\n }\n\n return null;\n};\n\nexport function ReferenceLine(props) {\n var fixedX = props.x,\n fixedY = props.y,\n segment = props.segment,\n xAxis = props.xAxis,\n yAxis = props.yAxis,\n shape = props.shape,\n className = props.className,\n alwaysShow = props.alwaysShow,\n clipPathId = props.clipPathId;\n warn(alwaysShow === undefined, 'The alwaysShow prop is deprecated. Please use ifOverflow=\"extendDomain\" instead.');\n var scales = createLabeledScales({\n x: xAxis.scale,\n y: yAxis.scale\n });\n var isX = isNumOrStr(fixedX);\n var isY = isNumOrStr(fixedY);\n var isSegment = segment && segment.length === 2;\n var endPoints = getEndPoints(scales, isX, isY, isSegment, props);\n\n if (!endPoints) {\n return null;\n }\n\n var _endPoints = _slicedToArray(endPoints, 2),\n _endPoints$ = _endPoints[0],\n x1 = _endPoints$.x,\n y1 = _endPoints$.y,\n _endPoints$2 = _endPoints[1],\n x2 = _endPoints$2.x,\n y2 = _endPoints$2.y;\n\n var clipPath = ifOverflowMatches(props, 'hidden') ? \"url(#\".concat(clipPathId, \")\") : undefined;\n\n var lineProps = _objectSpread(_objectSpread({\n clipPath: clipPath\n }, filterProps(props, true)), {}, {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n });\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: classNames('recharts-reference-line', className)\n }, renderLine(shape, lineProps), Label.renderCallByParent(props, rectWithCoords({\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2\n })));\n}\nReferenceLine.displayName = 'ReferenceLine';\nReferenceLine.defaultProps = {\n isFront: false,\n ifOverflow: 'discard',\n xAxisId: 0,\n yAxisId: 0,\n fill: 'none',\n stroke: '#ccc',\n fillOpacity: 1,\n strokeWidth: 1,\n position: 'middle'\n};","import _isFunction from \"lodash/isFunction\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction 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\n/**\n * @fileOverview Reference Line\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { Layer } from '../container/Layer';\nimport { Label } from '../component/Label';\nimport { createLabeledScales, rectWithPoints } from '../util/CartesianUtils';\nimport { ifOverflowMatches } from '../util/IfOverflowMatches';\nimport { isNumOrStr } from '../util/DataUtils';\nimport { warn } from '../util/LogUtils';\nimport { Rectangle } from '../shape/Rectangle';\nimport { filterProps } from '../util/types';\n\nvar getRect = function getRect(hasX1, hasX2, hasY1, hasY2, props) {\n var xValue1 = props.x1,\n xValue2 = props.x2,\n yValue1 = props.y1,\n yValue2 = props.y2,\n xAxis = props.xAxis,\n yAxis = props.yAxis;\n if (!xAxis || !yAxis) return null;\n var scales = createLabeledScales({\n x: xAxis.scale,\n y: yAxis.scale\n });\n var p1 = {\n x: hasX1 ? scales.x.apply(xValue1, {\n position: 'start'\n }) : scales.x.rangeMin,\n y: hasY1 ? scales.y.apply(yValue1, {\n position: 'start'\n }) : scales.y.rangeMin\n };\n var p2 = {\n x: hasX2 ? scales.x.apply(xValue2, {\n position: 'end'\n }) : scales.x.rangeMax,\n y: hasY2 ? scales.y.apply(yValue2, {\n position: 'end'\n }) : scales.y.rangeMax\n };\n\n if (ifOverflowMatches(props, 'discard') && (!scales.isInRange(p1) || !scales.isInRange(p2))) {\n return null;\n }\n\n return rectWithPoints(p1, p2);\n};\n\nexport function ReferenceArea(props) {\n var x1 = props.x1,\n x2 = props.x2,\n y1 = props.y1,\n y2 = props.y2,\n className = props.className,\n alwaysShow = props.alwaysShow,\n clipPathId = props.clipPathId;\n warn(alwaysShow === undefined, 'The alwaysShow prop is deprecated. Please use ifOverflow=\"extendDomain\" instead.');\n var hasX1 = isNumOrStr(x1);\n var hasX2 = isNumOrStr(x2);\n var hasY1 = isNumOrStr(y1);\n var hasY2 = isNumOrStr(y2);\n var shape = props.shape;\n\n if (!hasX1 && !hasX2 && !hasY1 && !hasY2 && !shape) {\n return null;\n }\n\n var rect = getRect(hasX1, hasX2, hasY1, hasY2, props);\n\n if (!rect && !shape) {\n return null;\n }\n\n var clipPath = ifOverflowMatches(props, 'hidden') ? \"url(#\".concat(clipPathId, \")\") : undefined;\n return /*#__PURE__*/React.createElement(Layer, {\n className: classNames('recharts-reference-area', className)\n }, ReferenceArea.renderRect(shape, _objectSpread(_objectSpread({\n clipPath: clipPath\n }, filterProps(props, true)), rect)), Label.renderCallByParent(props, rect));\n}\nReferenceArea.displayName = 'ReferenceArea';\nReferenceArea.defaultProps = {\n isFront: false,\n ifOverflow: 'discard',\n xAxisId: 0,\n yAxisId: 0,\n r: 10,\n fill: '#ccc',\n fillOpacity: 0.5,\n stroke: 'none',\n strokeWidth: 1\n};\n\nReferenceArea.renderRect = function (option, props) {\n var rect;\n\n if ( /*#__PURE__*/React.isValidElement(option)) {\n rect = /*#__PURE__*/React.cloneElement(option, props);\n } else if (_isFunction(option)) {\n rect = option(props);\n } else {\n rect = /*#__PURE__*/React.createElement(Rectangle, _extends({}, props, {\n className: \"recharts-reference-area-rect\"\n }));\n }\n\n return rect;\n};","import { ReferenceDot } from '../cartesian/ReferenceDot';\nimport { ReferenceLine } from '../cartesian/ReferenceLine';\nimport { ReferenceArea } from '../cartesian/ReferenceArea';\nimport { ifOverflowMatches } from './IfOverflowMatches';\nimport { findAllByType } from './ReactUtils';\nimport { isNumber } from './DataUtils';\nexport var detectReferenceElementsDomain = function detectReferenceElementsDomain(children, domain, axisId, axisType, specifiedTicks) {\n var lines = findAllByType(children, ReferenceLine.displayName);\n var dots = findAllByType(children, ReferenceDot.displayName);\n var elements = lines.concat(dots);\n var areas = findAllByType(children, ReferenceArea.displayName);\n var idKey = \"\".concat(axisType, \"Id\");\n var valueKey = axisType[0];\n var finalDomain = domain;\n\n if (elements.length) {\n finalDomain = elements.reduce(function (result, el) {\n if (el.props[idKey] === axisId && ifOverflowMatches(el.props, 'extendDomain') && isNumber(el.props[valueKey])) {\n var value = el.props[valueKey];\n return [Math.min(result[0], value), Math.max(result[1], value)];\n }\n\n return result;\n }, finalDomain);\n }\n\n if (areas.length) {\n var key1 = \"\".concat(valueKey, \"1\");\n var key2 = \"\".concat(valueKey, \"2\");\n finalDomain = areas.reduce(function (result, el) {\n if (el.props[idKey] === axisId && ifOverflowMatches(el.props, 'extendDomain') && isNumber(el.props[key1]) && isNumber(el.props[key2])) {\n var value1 = el.props[key1];\n var value2 = el.props[key2];\n return [Math.min(result[0], value1, value2), Math.max(result[1], value1, value2)];\n }\n\n return result;\n }, finalDomain);\n }\n\n if (specifiedTicks && specifiedTicks.length) {\n finalDomain = specifiedTicks.reduce(function (result, tick) {\n if (isNumber(tick)) {\n return [Math.min(result[0], tick), Math.max(result[1], tick)];\n }\n\n return result;\n }, finalDomain);\n }\n\n return finalDomain;\n};","import EventEmitter from 'eventemitter3';\nvar eventCenter = new EventEmitter();\n\nif (eventCenter.setMaxListeners) {\n eventCenter.setMaxListeners(10);\n}\n\nexport { eventCenter };\nexport var SYNC_EVENT = 'recharts.syncMouseEvents'; // eslint-disable-next-line no-redeclare","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 _every from \"lodash/every\";\nimport _find from \"lodash/find\";\nimport _isFunction from \"lodash/isFunction\";\nimport _throttle from \"lodash/throttle\";\nimport _sortBy from \"lodash/sortBy\";\nimport _get from \"lodash/get\";\nimport _range from \"lodash/range\";\nimport _isNil from \"lodash/isNil\";\nimport _isBoolean from \"lodash/isBoolean\";\nimport _isArray from \"lodash/isArray\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _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\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 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\nimport React, { Component, cloneElement, isValidElement, createElement } from 'react';\nimport classNames from 'classnames';\nimport { Surface } from '../container/Surface';\nimport { Layer } from '../container/Layer';\nimport { Tooltip } from '../component/Tooltip';\nimport { Legend } from '../component/Legend';\nimport { Curve } from '../shape/Curve';\nimport { Cross } from '../shape/Cross';\nimport { Sector } from '../shape/Sector';\nimport { Dot } from '../shape/Dot';\nimport { isInRectangle, Rectangle } from '../shape/Rectangle';\nimport { findAllByType, findChildByType, getDisplayName, parseChildIndex, validateWidthHeight, isChildrenEqual, renderByOrder, getReactEventByType } from '../util/ReactUtils';\nimport { CartesianAxis } from '../cartesian/CartesianAxis';\nimport { Brush } from '../cartesian/Brush';\nimport { getOffset, calculateChartCoordinate } from '../util/DOMUtils';\nimport { getAnyElementOfObject, hasDuplicate, uniqueId, isNumber, findEntryInArray } from '../util/DataUtils';\nimport { calculateActiveTickIndex, getMainColorOfGraphicItem, getBarSizeList, getBarPosition, appendOffsetOfLegend, getLegendProps, combineEventHandlers, getTicksOfAxis, getCoordinatesOfGrid, getStackedDataOfItem, parseErrorBarsOfAxis, getBandSizeOfAxis, getStackGroupsByAxisId, isCategoricalAxis, getDomainOfItemsWithSameAxis, getDomainOfStackGroups, getDomainOfDataByKey, parseSpecifiedDomain, parseDomainOfCategoryAxis, getTooltipItem } from '../util/ChartUtils';\nimport { detectReferenceElementsDomain } from '../util/DetectReferenceElementsDomain';\nimport { inRangeOfSector, polarToCartesian } from '../util/PolarUtils';\nimport { shallowEqual } from '../util/ShallowEqual';\nimport { eventCenter, SYNC_EVENT } from '../util/Events';\nimport { filterProps, adaptEventHandlers } from '../util/types';\nvar ORIENT_MAP = {\n xAxis: ['bottom', 'top'],\n yAxis: ['left', 'right']\n};\nvar originCoordinate = {\n x: 0,\n y: 0\n}; // use legacy isFinite only if there is a problem (aka IE)\n// eslint-disable-next-line no-restricted-globals\n\nvar isFinit = Number.isFinite ? Number.isFinite : isFinite;\nvar defer = // eslint-disable-next-line no-nested-ternary\ntypeof requestAnimationFrame === 'function' ? requestAnimationFrame : typeof setImmediate === 'function' ? setImmediate : setTimeout;\nvar deferClear = // eslint-disable-next-line no-nested-ternary\ntypeof cancelAnimationFrame === 'function' ? cancelAnimationFrame : typeof clearImmediate === 'function' ? clearImmediate : clearTimeout;\n\nvar calculateTooltipPos = function calculateTooltipPos(rangeObj, layout) {\n if (layout === 'horizontal') {\n return rangeObj.x;\n }\n\n if (layout === 'vertical') {\n return rangeObj.y;\n }\n\n if (layout === 'centric') {\n return rangeObj.angle;\n }\n\n return rangeObj.radius;\n};\n\nvar getActiveCoordinate = function getActiveCoordinate(layout, tooltipTicks, activeIndex, rangeObj) {\n var entry = tooltipTicks.find(function (tick) {\n return tick && tick.index === activeIndex;\n });\n\n if (entry) {\n if (layout === 'horizontal') {\n return {\n x: entry.coordinate,\n y: rangeObj.y\n };\n }\n\n if (layout === 'vertical') {\n return {\n x: rangeObj.x,\n y: entry.coordinate\n };\n }\n\n if (layout === 'centric') {\n var _angle = entry.coordinate;\n var _radius = rangeObj.radius;\n return _objectSpread(_objectSpread(_objectSpread({}, rangeObj), polarToCartesian(rangeObj.cx, rangeObj.cy, _radius, _angle)), {}, {\n angle: _angle,\n radius: _radius\n });\n }\n\n var radius = entry.coordinate;\n var angle = rangeObj.angle;\n return _objectSpread(_objectSpread(_objectSpread({}, rangeObj), polarToCartesian(rangeObj.cx, rangeObj.cy, radius, angle)), {}, {\n angle: angle,\n radius: radius\n });\n }\n\n return originCoordinate;\n};\n\nvar getDisplayedData = function getDisplayedData(data, _ref, item) {\n var graphicalItems = _ref.graphicalItems,\n dataStartIndex = _ref.dataStartIndex,\n dataEndIndex = _ref.dataEndIndex;\n var itemsData = (graphicalItems || []).reduce(function (result, child) {\n var itemData = child.props.data;\n\n if (itemData && itemData.length) {\n return [].concat(_toConsumableArray(result), _toConsumableArray(itemData));\n }\n\n return result;\n }, []);\n\n if (itemsData && itemsData.length > 0) {\n return itemsData;\n }\n\n if (item && item.props && item.props.data && item.props.data.length > 0) {\n return item.props.data;\n }\n\n if (data && data.length && isNumber(dataStartIndex) && isNumber(dataEndIndex)) {\n return data.slice(dataStartIndex, dataEndIndex + 1);\n }\n\n return [];\n};\n/**\n * Get the content to be displayed in the tooltip\n * @param {Object} state Current state\n * @param {Array} chartData The data defined in chart\n * @param {Number} activeIndex Active index of data\n * @param {String} activeLabel Active label of data\n * @return {Array} The content of tooltip\n */\n\n\nvar getTooltipContent = function getTooltipContent(state, chartData, activeIndex, activeLabel) {\n var graphicalItems = state.graphicalItems,\n tooltipAxis = state.tooltipAxis;\n var displayedData = getDisplayedData(chartData, state);\n\n if (activeIndex < 0 || !graphicalItems || !graphicalItems.length || activeIndex >= displayedData.length) {\n return null;\n } // get data by activeIndex when the axis don't allow duplicated category\n\n\n return graphicalItems.reduce(function (result, child) {\n var hide = child.props.hide;\n\n if (hide) {\n return result;\n }\n\n var data = child.props.data;\n var payload;\n\n if (tooltipAxis.dataKey && !tooltipAxis.allowDuplicatedCategory) {\n // graphic child has data props\n var entries = data === undefined ? displayedData : data;\n payload = findEntryInArray(entries, tooltipAxis.dataKey, activeLabel);\n } else {\n payload = data && data[activeIndex] || displayedData[activeIndex];\n }\n\n if (!payload) {\n return result;\n }\n\n return [].concat(_toConsumableArray(result), [getTooltipItem(child, payload)]);\n }, []);\n};\n/**\n * Returns tooltip data based on a mouse position (as a parameter or in state)\n * @param {Object} state current state\n * @param {Array} chartData the data defined in chart\n * @param {String} layout The layout type of chart\n * @param {Object} rangeObj { x, y } coordinates\n * @return {Object} Tooltip data data\n */\n\n\nvar getTooltipData = function getTooltipData(state, chartData, layout, rangeObj) {\n var rangeData = rangeObj || {\n x: state.chartX,\n y: state.chartY\n };\n var pos = calculateTooltipPos(rangeData, layout);\n var ticks = state.orderedTooltipTicks,\n axis = state.tooltipAxis,\n tooltipTicks = state.tooltipTicks;\n var activeIndex = calculateActiveTickIndex(pos, ticks, tooltipTicks, axis);\n\n if (activeIndex >= 0 && tooltipTicks) {\n var activeLabel = tooltipTicks[activeIndex] && tooltipTicks[activeIndex].value;\n var activePayload = getTooltipContent(state, chartData, activeIndex, activeLabel);\n var activeCoordinate = getActiveCoordinate(layout, ticks, activeIndex, rangeData);\n return {\n activeTooltipIndex: activeIndex,\n activeLabel: activeLabel,\n activePayload: activePayload,\n activeCoordinate: activeCoordinate\n };\n }\n\n return null;\n};\n/**\n * Get the configuration of axis by the options of axis instance\n * @param {Object} props Latest props\n * @param {Array} axes The instance of axes\n * @param {Array} graphicalItems The instances of item\n * @param {String} axisType The type of axis, xAxis - x-axis, yAxis - y-axis\n * @param {String} axisIdKey The unique id of an axis\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @param {Number} dataStartIndex The start index of the data series when a brush is applied\n * @param {Number} dataEndIndex The end index of the data series when a brush is applied\n * @return {Object} Configuration\n */\n\n\nvar getAxisMapByAxes = function getAxisMapByAxes(props, _ref2) {\n var axes = _ref2.axes,\n graphicalItems = _ref2.graphicalItems,\n axisType = _ref2.axisType,\n axisIdKey = _ref2.axisIdKey,\n stackGroups = _ref2.stackGroups,\n dataStartIndex = _ref2.dataStartIndex,\n dataEndIndex = _ref2.dataEndIndex;\n var layout = props.layout,\n children = props.children,\n stackOffset = props.stackOffset;\n var isCategorical = isCategoricalAxis(layout, axisType); // Eliminate duplicated axes\n\n var axisMap = axes.reduce(function (result, child) {\n var _child$props = child.props,\n type = _child$props.type,\n dataKey = _child$props.dataKey,\n allowDataOverflow = _child$props.allowDataOverflow,\n allowDuplicatedCategory = _child$props.allowDuplicatedCategory,\n scale = _child$props.scale,\n ticks = _child$props.ticks;\n var axisId = child.props[axisIdKey];\n var displayedData = getDisplayedData(props.data, {\n graphicalItems: graphicalItems.filter(function (item) {\n return item.props[axisIdKey] === axisId;\n }),\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n var len = displayedData.length;\n\n if (!result[axisId]) {\n var domain, duplicateDomain, categoricalDomain;\n\n if (dataKey) {\n // has dataKey in \n domain = getDomainOfDataByKey(displayedData, dataKey, type);\n\n if (type === 'category' && isCategorical) {\n // the field type is category data and this axis is catrgorical axis\n var duplicate = hasDuplicate(domain);\n\n if (allowDuplicatedCategory && duplicate) {\n duplicateDomain = domain; // When category axis has duplicated text, serial numbers are used to generate scale\n\n domain = _range(0, len);\n } else if (!allowDuplicatedCategory) {\n // remove duplicated category\n domain = parseDomainOfCategoryAxis(child.props.domain, domain, child).reduce(function (finalDomain, entry) {\n return finalDomain.indexOf(entry) >= 0 ? finalDomain : [].concat(_toConsumableArray(finalDomain), [entry]);\n }, []);\n }\n } else if (type === 'category') {\n // the field type is category data and this axis is numerical axis\n if (!allowDuplicatedCategory) {\n domain = parseDomainOfCategoryAxis(child.props.domain, domain, child).reduce(function (finalDomain, entry) {\n return finalDomain.indexOf(entry) >= 0 || entry === '' || _isNil(entry) ? finalDomain : [].concat(_toConsumableArray(finalDomain), [entry]);\n }, []);\n } else {\n // eliminate undefined or null or empty string\n domain = domain.filter(function (entry) {\n return entry !== '' && !_isNil(entry);\n });\n }\n } else if (type === 'number') {\n // the field type is numerical\n var errorBarsDomain = parseErrorBarsOfAxis(displayedData, graphicalItems.filter(function (item) {\n return item.props[axisIdKey] === axisId && !item.props.hide;\n }), dataKey, axisType);\n\n if (errorBarsDomain) {\n domain = errorBarsDomain;\n }\n }\n\n if (isCategorical && (type === 'number' || scale !== 'auto')) {\n categoricalDomain = getDomainOfDataByKey(displayedData, dataKey, 'category');\n }\n } else if (isCategorical) {\n // the axis is a categorical axis\n domain = _range(0, len);\n } else if (stackGroups && stackGroups[axisId] && stackGroups[axisId].hasStack && type === 'number') {\n // when stackOffset is 'expand', the domain may be calculated as [0, 1.000000000002]\n domain = stackOffset === 'expand' ? [0, 1] : getDomainOfStackGroups(stackGroups[axisId].stackGroups, dataStartIndex, dataEndIndex);\n } else {\n domain = getDomainOfItemsWithSameAxis(displayedData, graphicalItems.filter(function (item) {\n return item.props[axisIdKey] === axisId && !item.props.hide;\n }), type, true);\n }\n\n if (type === 'number') {\n // To detect wether there is any reference lines whose props alwaysShow is true\n domain = detectReferenceElementsDomain(children, domain, axisId, axisType, ticks);\n\n if (child.props.domain) {\n domain = parseSpecifiedDomain(child.props.domain, domain, allowDataOverflow);\n }\n } else if (type === 'category' && child.props.domain) {\n var axisDomain = child.props.domain;\n var isDomainValidate = domain.every(function (entry) {\n return axisDomain.indexOf(entry) >= 0;\n });\n\n if (isDomainValidate) {\n domain = axisDomain;\n }\n }\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, _objectSpread(_objectSpread({}, child.props), {}, {\n axisType: axisType,\n domain: domain,\n categoricalDomain: categoricalDomain,\n duplicateDomain: duplicateDomain,\n originalDomain: child.props.domain,\n isCategorical: isCategorical,\n layout: layout\n })));\n }\n\n return result;\n }, {});\n return axisMap;\n};\n/**\n * Get the configuration of axis by the options of item,\n * this kind of axis does not display in chart\n * @param {Object} props Latest props\n * @param {Array} graphicalItems The instances of item\n * @param {ReactElement} Axis Axis Component\n * @param {String} axisType The type of axis, xAxis - x-axis, yAxis - y-axis\n * @param {String} axisIdKey The unique id of an axis\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @param {Number} dataStartIndex The start index of the data series when a brush is applied\n * @param {Number} dataEndIndex The end index of the data series when a brush is applied\n * @return {Object} Configuration\n */\n\n\nvar getAxisMapByItems = function getAxisMapByItems(props, _ref3) {\n var graphicalItems = _ref3.graphicalItems,\n Axis = _ref3.Axis,\n axisType = _ref3.axisType,\n axisIdKey = _ref3.axisIdKey,\n stackGroups = _ref3.stackGroups,\n dataStartIndex = _ref3.dataStartIndex,\n dataEndIndex = _ref3.dataEndIndex;\n var layout = props.layout,\n children = props.children;\n var displayedData = getDisplayedData(props.data, {\n graphicalItems: graphicalItems,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n var len = displayedData.length;\n var isCategorical = isCategoricalAxis(layout, axisType);\n var index = -1; // The default type of x-axis is category axis,\n // The default contents of x-axis is the serial numbers of data\n // The default type of y-axis is number axis\n // The default contents of y-axis is the domain of data\n\n var axisMap = graphicalItems.reduce(function (result, child) {\n var axisId = child.props[axisIdKey];\n\n if (!result[axisId]) {\n index++;\n var domain;\n\n if (isCategorical) {\n domain = _range(0, len);\n } else if (stackGroups && stackGroups[axisId] && stackGroups[axisId].hasStack) {\n domain = getDomainOfStackGroups(stackGroups[axisId].stackGroups, dataStartIndex, dataEndIndex);\n domain = detectReferenceElementsDomain(children, domain, axisId, axisType);\n } else {\n domain = parseSpecifiedDomain(Axis.defaultProps.domain, getDomainOfItemsWithSameAxis(displayedData, graphicalItems.filter(function (item) {\n return item.props[axisIdKey] === axisId && !item.props.hide;\n }), 'number'), Axis.defaultProps.allowDataOverflow);\n domain = detectReferenceElementsDomain(children, domain, axisId, axisType);\n }\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, _objectSpread(_objectSpread({\n axisType: axisType\n }, Axis.defaultProps), {}, {\n hide: true,\n orientation: _get(ORIENT_MAP, \"\".concat(axisType, \".\").concat(index % 2), null),\n domain: domain,\n originalDomain: Axis.defaultProps.domain,\n isCategorical: isCategorical,\n layout: layout // specify scale when no Axis\n // scale: isCategorical ? 'band' : 'linear',\n\n })));\n }\n\n return result;\n }, {});\n return axisMap;\n};\n/**\n * Get the configuration of all x-axis or y-axis\n * @param {Object} props Latest props\n * @param {String} axisType The type of axis\n * @param {Array} graphicalItems The instances of item\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @param {Number} dataStartIndex The start index of the data series when a brush is applied\n * @param {Number} dataEndIndex The end index of the data series when a brush is applied\n * @return {Object} Configuration\n */\n\n\nvar getAxisMap = function getAxisMap(props, _ref4) {\n var _ref4$axisType = _ref4.axisType,\n axisType = _ref4$axisType === void 0 ? 'xAxis' : _ref4$axisType,\n AxisComp = _ref4.AxisComp,\n graphicalItems = _ref4.graphicalItems,\n stackGroups = _ref4.stackGroups,\n dataStartIndex = _ref4.dataStartIndex,\n dataEndIndex = _ref4.dataEndIndex;\n var children = props.children;\n var axisIdKey = \"\".concat(axisType, \"Id\"); // Get all the instance of Axis\n\n var axes = findAllByType(children, AxisComp);\n var axisMap = {};\n\n if (axes && axes.length) {\n axisMap = getAxisMapByAxes(props, {\n axes: axes,\n graphicalItems: graphicalItems,\n axisType: axisType,\n axisIdKey: axisIdKey,\n stackGroups: stackGroups,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n } else if (graphicalItems && graphicalItems.length) {\n axisMap = getAxisMapByItems(props, {\n Axis: AxisComp,\n graphicalItems: graphicalItems,\n axisType: axisType,\n axisIdKey: axisIdKey,\n stackGroups: stackGroups,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n });\n }\n\n return axisMap;\n};\n\nvar tooltipTicksGenerator = function tooltipTicksGenerator(axisMap) {\n var axis = getAnyElementOfObject(axisMap);\n var tooltipTicks = getTicksOfAxis(axis, false, true);\n return {\n tooltipTicks: tooltipTicks,\n orderedTooltipTicks: _sortBy(tooltipTicks, function (o) {\n return o.coordinate;\n }),\n tooltipAxis: axis,\n tooltipAxisBandSize: getBandSizeOfAxis(axis, tooltipTicks)\n };\n};\n/**\n * Returns default, reset state for the categorical chart.\n * @param {Object} props Props object to use when creating the default state\n * @return {Object} Whole new state\n */\n\n\nvar createDefaultState = function createDefaultState(props) {\n var children = props.children,\n defaultShowTooltip = props.defaultShowTooltip;\n var brushItem = findChildByType(children, Brush.displayName);\n var startIndex = brushItem && brushItem.props && brushItem.props.startIndex || 0;\n var endIndex = brushItem && brushItem.props && brushItem.props.endIndex || props.data && props.data.length - 1 || 0;\n return {\n chartX: 0,\n chartY: 0,\n dataStartIndex: startIndex,\n dataEndIndex: endIndex,\n activeTooltipIndex: -1,\n isTooltipActive: !_isNil(defaultShowTooltip) ? defaultShowTooltip : false\n };\n};\n\nvar hasGraphicalBarItem = function hasGraphicalBarItem(graphicalItems) {\n if (!graphicalItems || !graphicalItems.length) {\n return false;\n }\n\n return graphicalItems.some(function (item) {\n var name = getDisplayName(item && item.type);\n return name && name.indexOf('Bar') >= 0;\n });\n};\n\nvar getAxisNameByLayout = function getAxisNameByLayout(layout) {\n if (layout === 'horizontal') {\n return {\n numericAxisName: 'yAxis',\n cateAxisName: 'xAxis'\n };\n }\n\n if (layout === 'vertical') {\n return {\n numericAxisName: 'xAxis',\n cateAxisName: 'yAxis'\n };\n }\n\n if (layout === 'centric') {\n return {\n numericAxisName: 'radiusAxis',\n cateAxisName: 'angleAxis'\n };\n }\n\n return {\n numericAxisName: 'angleAxis',\n cateAxisName: 'radiusAxis'\n };\n};\n/**\n * Calculate the offset of main part in the svg element\n * @param {Object} props Latest props\n * graphicalItems The instances of item\n * xAxisMap The configuration of x-axis\n * yAxisMap The configuration of y-axis\n * @param {Object} prevLegendBBox the boundary box of legend\n * @return {Object} The offset of main part in the svg element\n */\n\n\nvar calculateOffset = function calculateOffset(_ref5, prevLegendBBox) {\n var props = _ref5.props,\n graphicalItems = _ref5.graphicalItems,\n _ref5$xAxisMap = _ref5.xAxisMap,\n xAxisMap = _ref5$xAxisMap === void 0 ? {} : _ref5$xAxisMap,\n _ref5$yAxisMap = _ref5.yAxisMap,\n yAxisMap = _ref5$yAxisMap === void 0 ? {} : _ref5$yAxisMap;\n var width = props.width,\n height = props.height,\n children = props.children;\n var margin = props.margin || {};\n var brushItem = findChildByType(children, Brush.displayName);\n var legendItem = findChildByType(children, Legend.displayName);\n var offsetH = Object.keys(yAxisMap).reduce(function (result, id) {\n var entry = yAxisMap[id];\n var orientation = entry.orientation;\n\n if (!entry.mirror && !entry.hide) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, orientation, result[orientation] + entry.width));\n }\n\n return result;\n }, {\n left: margin.left || 0,\n right: margin.right || 0\n });\n var offsetV = Object.keys(xAxisMap).reduce(function (result, id) {\n var entry = xAxisMap[id];\n var orientation = entry.orientation;\n\n if (!entry.mirror && !entry.hide) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, orientation, _get(result, \"\".concat(orientation)) + entry.height));\n }\n\n return result;\n }, {\n top: margin.top || 0,\n bottom: margin.bottom || 0\n });\n\n var offset = _objectSpread(_objectSpread({}, offsetV), offsetH);\n\n var brushBottom = offset.bottom;\n\n if (brushItem) {\n offset.bottom += brushItem.props.height || Brush.defaultProps.height;\n }\n\n if (legendItem && prevLegendBBox) {\n offset = appendOffsetOfLegend(offset, graphicalItems, props, prevLegendBBox);\n }\n\n return _objectSpread(_objectSpread({\n brushBottom: brushBottom\n }, offset), {}, {\n width: width - offset.left - offset.right,\n height: height - offset.top - offset.bottom\n });\n};\n\nexport var generateCategoricalChart = function generateCategoricalChart(_ref6) {\n var _class, _temp;\n\n var chartName = _ref6.chartName,\n GraphicalChild = _ref6.GraphicalChild,\n _ref6$defaultTooltipE = _ref6.defaultTooltipEventType,\n defaultTooltipEventType = _ref6$defaultTooltipE === void 0 ? 'axis' : _ref6$defaultTooltipE,\n _ref6$validateTooltip = _ref6.validateTooltipEventTypes,\n validateTooltipEventTypes = _ref6$validateTooltip === void 0 ? ['axis'] : _ref6$validateTooltip,\n axisComponents = _ref6.axisComponents,\n legendContent = _ref6.legendContent,\n formatAxisMap = _ref6.formatAxisMap,\n defaultProps = _ref6.defaultProps;\n\n var getFormatItems = function getFormatItems(props, currentState) {\n var graphicalItems = currentState.graphicalItems,\n stackGroups = currentState.stackGroups,\n offset = currentState.offset,\n updateId = currentState.updateId,\n dataStartIndex = currentState.dataStartIndex,\n dataEndIndex = currentState.dataEndIndex;\n var barSize = props.barSize,\n layout = props.layout,\n barGap = props.barGap,\n barCategoryGap = props.barCategoryGap,\n globalMaxBarSize = props.maxBarSize;\n\n var _getAxisNameByLayout = getAxisNameByLayout(layout),\n numericAxisName = _getAxisNameByLayout.numericAxisName,\n cateAxisName = _getAxisNameByLayout.cateAxisName;\n\n var hasBar = hasGraphicalBarItem(graphicalItems);\n var sizeList = hasBar && getBarSizeList({\n barSize: barSize,\n stackGroups: stackGroups\n });\n var formattedItems = [];\n graphicalItems.forEach(function (item, index) {\n var displayedData = getDisplayedData(props.data, {\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }, item);\n var _item$props = item.props,\n dataKey = _item$props.dataKey,\n childMaxBarSize = _item$props.maxBarSize;\n var numericAxisId = item.props[\"\".concat(numericAxisName, \"Id\")];\n var cateAxisId = item.props[\"\".concat(cateAxisName, \"Id\")];\n var axisObj = axisComponents.reduce(function (result, entry) {\n var _objectSpread6;\n\n var axisMap = currentState[\"\".concat(entry.axisType, \"Map\")];\n var id = item.props[\"\".concat(entry.axisType, \"Id\")];\n var axis = axisMap && axisMap[id];\n return _objectSpread(_objectSpread({}, result), {}, (_objectSpread6 = {}, _defineProperty(_objectSpread6, entry.axisType, axis), _defineProperty(_objectSpread6, \"\".concat(entry.axisType, \"Ticks\"), getTicksOfAxis(axis)), _objectSpread6));\n }, {});\n var cateAxis = axisObj[cateAxisName];\n var cateTicks = axisObj[\"\".concat(cateAxisName, \"Ticks\")];\n var stackedData = stackGroups && stackGroups[numericAxisId] && stackGroups[numericAxisId].hasStack && getStackedDataOfItem(item, stackGroups[numericAxisId].stackGroups);\n var itemIsBar = getDisplayName(item.type).indexOf('Bar') >= 0;\n var bandSize = getBandSizeOfAxis(cateAxis, cateTicks);\n var barPosition = [];\n\n if (itemIsBar) {\n var _ref7, _getBandSizeOfAxis;\n\n // 如果是bar,计算bar的位置\n var maxBarSize = _isNil(childMaxBarSize) ? globalMaxBarSize : childMaxBarSize;\n var barBandSize = (_ref7 = (_getBandSizeOfAxis = getBandSizeOfAxis(cateAxis, cateTicks, true)) !== null && _getBandSizeOfAxis !== void 0 ? _getBandSizeOfAxis : maxBarSize) !== null && _ref7 !== void 0 ? _ref7 : 0;\n barPosition = getBarPosition({\n barGap: barGap,\n barCategoryGap: barCategoryGap,\n bandSize: barBandSize !== bandSize ? barBandSize : bandSize,\n sizeList: sizeList[cateAxisId],\n maxBarSize: maxBarSize\n });\n\n if (barBandSize !== bandSize) {\n barPosition = barPosition.map(function (pos) {\n return _objectSpread(_objectSpread({}, pos), {}, {\n position: _objectSpread(_objectSpread({}, pos.position), {}, {\n offset: pos.position.offset - barBandSize / 2\n })\n });\n });\n }\n }\n\n var composedFn = item && item.type && item.type.getComposedData;\n\n if (composedFn) {\n var _objectSpread7;\n\n formattedItems.push({\n props: _objectSpread(_objectSpread({}, composedFn(_objectSpread(_objectSpread({}, axisObj), {}, {\n displayedData: displayedData,\n props: props,\n dataKey: dataKey,\n item: item,\n bandSize: bandSize,\n barPosition: barPosition,\n offset: offset,\n stackedData: stackedData,\n layout: layout,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }))), {}, (_objectSpread7 = {\n key: item.key || \"item-\".concat(index)\n }, _defineProperty(_objectSpread7, numericAxisName, axisObj[numericAxisName]), _defineProperty(_objectSpread7, cateAxisName, axisObj[cateAxisName]), _defineProperty(_objectSpread7, \"animationId\", updateId), _objectSpread7)),\n childIndex: parseChildIndex(item, props.children),\n item: item\n });\n }\n });\n return formattedItems;\n };\n /**\n * The AxisMaps are expensive to render on large data sets\n * so provide the ability to store them in state and only update them when necessary\n * they are dependent upon the start and end index of\n * the brush so it's important that this method is called _after_\n * the state is updated with any new start/end indices\n *\n * @param {Object} props The props object to be used for updating the axismaps\n * dataStartIndex: The start index of the data series when a brush is applied\n * dataEndIndex: The end index of the data series when a brush is applied\n * updateId: The update id\n * @param {Object} prevState Prev state\n * @return {Object} state New state to set\n */\n\n\n var updateStateOfAxisMapsOffsetAndStackGroups = function updateStateOfAxisMapsOffsetAndStackGroups(_ref8, prevState) {\n var props = _ref8.props,\n dataStartIndex = _ref8.dataStartIndex,\n dataEndIndex = _ref8.dataEndIndex,\n updateId = _ref8.updateId;\n\n if (!validateWidthHeight({\n props: props\n })) {\n return null;\n }\n\n var children = props.children,\n layout = props.layout,\n stackOffset = props.stackOffset,\n data = props.data,\n reverseStackOrder = props.reverseStackOrder;\n\n var _getAxisNameByLayout2 = getAxisNameByLayout(layout),\n numericAxisName = _getAxisNameByLayout2.numericAxisName,\n cateAxisName = _getAxisNameByLayout2.cateAxisName;\n\n var graphicalItems = findAllByType(children, GraphicalChild);\n var stackGroups = getStackGroupsByAxisId(data, graphicalItems, \"\".concat(numericAxisName, \"Id\"), \"\".concat(cateAxisName, \"Id\"), stackOffset, reverseStackOrder);\n var axisObj = axisComponents.reduce(function (result, entry) {\n var name = \"\".concat(entry.axisType, \"Map\");\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, name, getAxisMap(props, _objectSpread(_objectSpread({}, entry), {}, {\n graphicalItems: graphicalItems,\n stackGroups: entry.axisType === numericAxisName && stackGroups,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }))));\n }, {});\n var offset = calculateOffset(_objectSpread(_objectSpread({}, axisObj), {}, {\n props: props,\n graphicalItems: graphicalItems\n }), prevState === null || prevState === void 0 ? void 0 : prevState.legendBBox);\n Object.keys(axisObj).forEach(function (key) {\n axisObj[key] = formatAxisMap(props, axisObj[key], offset, key.replace('Map', ''), chartName);\n });\n var cateAxisMap = axisObj[\"\".concat(cateAxisName, \"Map\")];\n var ticksObj = tooltipTicksGenerator(cateAxisMap);\n var formattedGraphicalItems = getFormatItems(props, _objectSpread(_objectSpread({}, axisObj), {}, {\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex,\n updateId: updateId,\n graphicalItems: graphicalItems,\n stackGroups: stackGroups,\n offset: offset\n }));\n return _objectSpread(_objectSpread({\n formattedGraphicalItems: formattedGraphicalItems,\n graphicalItems: graphicalItems,\n offset: offset,\n stackGroups: stackGroups\n }, ticksObj), axisObj);\n };\n\n return _temp = _class = /*#__PURE__*/function (_Component) {\n _inherits(CategoricalChartWrapper, _Component);\n\n var _super = _createSuper(CategoricalChartWrapper);\n\n // todo join specific chart propTypes\n function CategoricalChartWrapper(_props) {\n var _this;\n\n _classCallCheck(this, CategoricalChartWrapper);\n\n _this = _super.call(this, _props);\n _this.uniqueChartId = void 0;\n _this.clipPathId = void 0;\n _this.legendInstance = void 0;\n _this.deferId = void 0;\n _this.container = void 0;\n\n _this.clearDeferId = function () {\n if (!_isNil(_this.deferId) && deferClear) {\n deferClear(_this.deferId);\n }\n\n _this.deferId = null;\n };\n\n _this.handleLegendBBoxUpdate = function (box) {\n if (box && _this.legendInstance) {\n var _this$state = _this.state,\n dataStartIndex = _this$state.dataStartIndex,\n dataEndIndex = _this$state.dataEndIndex,\n updateId = _this$state.updateId;\n\n _this.setState(_objectSpread({\n legendBBox: box\n }, updateStateOfAxisMapsOffsetAndStackGroups({\n props: _this.props,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex,\n updateId: updateId\n }, _objectSpread(_objectSpread({}, _this.state), {}, {\n legendBBox: box\n }))));\n }\n };\n\n _this.handleReceiveSyncEvent = function (cId, chartId, data) {\n var syncId = _this.props.syncId;\n\n if (syncId === cId && chartId !== _this.uniqueChartId) {\n _this.clearDeferId();\n\n _this.deferId = defer && defer(_this.applySyncEvent.bind(_assertThisInitialized(_this), data));\n }\n };\n\n _this.handleBrushChange = function (_ref9) {\n var startIndex = _ref9.startIndex,\n endIndex = _ref9.endIndex;\n\n // Only trigger changes if the extents of the brush have actually changed\n if (startIndex !== _this.state.dataStartIndex || endIndex !== _this.state.dataEndIndex) {\n var updateId = _this.state.updateId;\n\n _this.setState(function () {\n return _objectSpread({\n dataStartIndex: startIndex,\n dataEndIndex: endIndex\n }, updateStateOfAxisMapsOffsetAndStackGroups({\n props: _this.props,\n dataStartIndex: startIndex,\n dataEndIndex: endIndex,\n updateId: updateId\n }, _this.state));\n });\n\n _this.triggerSyncEvent({\n dataStartIndex: startIndex,\n dataEndIndex: endIndex\n });\n }\n };\n\n _this.handleMouseEnter = function (e) {\n var onMouseEnter = _this.props.onMouseEnter;\n\n var mouse = _this.getMouseInfo(e);\n\n if (mouse) {\n var nextState = _objectSpread(_objectSpread({}, mouse), {}, {\n isTooltipActive: true\n });\n\n _this.setState(nextState);\n\n _this.triggerSyncEvent(nextState);\n\n if (_isFunction(onMouseEnter)) {\n onMouseEnter(nextState, e);\n }\n }\n };\n\n _this.triggeredAfterMouseMove = function (e) {\n var onMouseMove = _this.props.onMouseMove;\n\n var mouse = _this.getMouseInfo(e);\n\n var nextState = mouse ? _objectSpread(_objectSpread({}, mouse), {}, {\n isTooltipActive: true\n }) : {\n isTooltipActive: false\n };\n\n _this.setState(nextState);\n\n _this.triggerSyncEvent(nextState);\n\n if (_isFunction(onMouseMove)) {\n onMouseMove(nextState, e);\n }\n };\n\n _this.handleItemMouseEnter = function (el) {\n _this.setState(function () {\n return {\n isTooltipActive: true,\n activeItem: el,\n activePayload: el.tooltipPayload,\n activeCoordinate: el.tooltipPosition || {\n x: el.cx,\n y: el.cy\n }\n };\n });\n };\n\n _this.handleItemMouseLeave = function () {\n _this.setState(function () {\n return {\n isTooltipActive: false\n };\n });\n };\n\n _this.handleMouseMove = function (e) {\n if (e && _isFunction(e.persist)) {\n e.persist();\n }\n\n _this.triggeredAfterMouseMove(e);\n };\n\n _this.handleMouseLeave = function (e) {\n var onMouseLeave = _this.props.onMouseLeave;\n var nextState = {\n isTooltipActive: false\n };\n\n _this.setState(nextState);\n\n _this.triggerSyncEvent(nextState);\n\n if (_isFunction(onMouseLeave)) {\n onMouseLeave(nextState, e);\n }\n\n _this.cancelThrottledTriggerAfterMouseMove();\n };\n\n _this.handleOuterEvent = function (e) {\n var eventName = getReactEventByType(e);\n\n var event = _get(_this.props, \"\".concat(eventName));\n\n if (eventName && _isFunction(event)) {\n var mouse;\n\n if (/.*touch.*/i.test(eventName)) {\n mouse = _this.getMouseInfo(e.changedTouches[0]);\n } else {\n mouse = _this.getMouseInfo(e);\n }\n\n var handler = event;\n handler(mouse, e);\n }\n };\n\n _this.handleClick = function (e) {\n var onClick = _this.props.onClick;\n\n var mouse = _this.getMouseInfo(e);\n\n if (mouse) {\n var nextState = _objectSpread(_objectSpread({}, mouse), {}, {\n isTooltipActive: true\n });\n\n _this.setState(nextState);\n\n _this.triggerSyncEvent(nextState);\n\n if (_isFunction(onClick)) {\n onClick(nextState, e);\n }\n }\n };\n\n _this.handleMouseDown = function (e) {\n var onMouseDown = _this.props.onMouseDown;\n\n if (_isFunction(onMouseDown)) {\n var mouse = _this.getMouseInfo(e);\n\n onMouseDown(mouse, e);\n }\n };\n\n _this.handleMouseUp = function (e) {\n var onMouseUp = _this.props.onMouseUp;\n\n if (_isFunction(onMouseUp)) {\n var mouse = _this.getMouseInfo(e);\n\n onMouseUp(mouse, e);\n }\n };\n\n _this.handleTouchMove = function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleMouseMove(e.changedTouches[0]);\n }\n };\n\n _this.handleTouchStart = function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleMouseDown(e.changedTouches[0]);\n }\n };\n\n _this.handleTouchEnd = function (e) {\n if (e.changedTouches != null && e.changedTouches.length > 0) {\n _this.handleMouseUp(e.changedTouches[0]);\n }\n };\n\n _this.verticalCoordinatesGenerator = function (_ref10) {\n var xAxis = _ref10.xAxis,\n width = _ref10.width,\n height = _ref10.height,\n offset = _ref10.offset;\n return getCoordinatesOfGrid(CartesianAxis.getTicks(_objectSpread(_objectSpread(_objectSpread({}, CartesianAxis.defaultProps), xAxis), {}, {\n ticks: getTicksOfAxis(xAxis, true),\n viewBox: {\n x: 0,\n y: 0,\n width: width,\n height: height\n }\n })), offset.left, offset.left + offset.width);\n };\n\n _this.horizontalCoordinatesGenerator = function (_ref11) {\n var yAxis = _ref11.yAxis,\n width = _ref11.width,\n height = _ref11.height,\n offset = _ref11.offset;\n return getCoordinatesOfGrid(CartesianAxis.getTicks(_objectSpread(_objectSpread(_objectSpread({}, CartesianAxis.defaultProps), yAxis), {}, {\n ticks: getTicksOfAxis(yAxis, true),\n viewBox: {\n x: 0,\n y: 0,\n width: width,\n height: height\n }\n })), offset.top, offset.top + offset.height);\n };\n\n _this.axesTicksGenerator = function (axis) {\n return getTicksOfAxis(axis, true);\n };\n\n _this.renderCursor = function (element) {\n var _this$state2 = _this.state,\n isTooltipActive = _this$state2.isTooltipActive,\n activeCoordinate = _this$state2.activeCoordinate,\n activePayload = _this$state2.activePayload,\n offset = _this$state2.offset,\n activeTooltipIndex = _this$state2.activeTooltipIndex;\n\n var tooltipEventType = _this.getTooltipEventType();\n\n if (!element || !element.props.cursor || !isTooltipActive || !activeCoordinate || chartName !== 'ScatterChart' && tooltipEventType !== 'axis') {\n return null;\n }\n\n var layout = _this.props.layout;\n var restProps;\n var cursorComp = Curve;\n\n if (chartName === 'ScatterChart') {\n restProps = activeCoordinate;\n cursorComp = Cross;\n } else if (chartName === 'BarChart') {\n restProps = _this.getCursorRectangle();\n cursorComp = Rectangle;\n } else if (layout === 'radial') {\n var _this$getCursorPoints = _this.getCursorPoints(),\n cx = _this$getCursorPoints.cx,\n cy = _this$getCursorPoints.cy,\n radius = _this$getCursorPoints.radius,\n startAngle = _this$getCursorPoints.startAngle,\n endAngle = _this$getCursorPoints.endAngle;\n\n restProps = {\n cx: cx,\n cy: cy,\n startAngle: startAngle,\n endAngle: endAngle,\n innerRadius: radius,\n outerRadius: radius\n };\n cursorComp = Sector;\n } else {\n restProps = {\n points: _this.getCursorPoints()\n };\n cursorComp = Curve;\n }\n\n var key = element.key || '_recharts-cursor';\n\n var cursorProps = _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n stroke: '#ccc',\n pointerEvents: 'none'\n }, offset), restProps), filterProps(element.props.cursor)), {}, {\n payload: activePayload,\n payloadIndex: activeTooltipIndex,\n key: key,\n className: 'recharts-tooltip-cursor'\n });\n\n return /*#__PURE__*/isValidElement(element.props.cursor) ? /*#__PURE__*/cloneElement(element.props.cursor, cursorProps) : /*#__PURE__*/createElement(cursorComp, cursorProps);\n };\n\n _this.renderPolarAxis = function (element, displayName, index) {\n var axisType = _get(element, 'type.axisType');\n\n var axisMap = _get(_this.state, \"\".concat(axisType, \"Map\"));\n\n var axisOption = axisMap[element.props[\"\".concat(axisType, \"Id\")]];\n return /*#__PURE__*/cloneElement(element, _objectSpread(_objectSpread({}, axisOption), {}, {\n className: axisType,\n key: element.key || \"\".concat(displayName, \"-\").concat(index),\n ticks: getTicksOfAxis(axisOption, true)\n }));\n };\n\n _this.renderXAxis = function (element, displayName, index) {\n var xAxisMap = _this.state.xAxisMap;\n var axisObj = xAxisMap[element.props.xAxisId];\n return _this.renderAxis(axisObj, element, displayName, index);\n };\n\n _this.renderYAxis = function (element, displayName, index) {\n var yAxisMap = _this.state.yAxisMap;\n var axisObj = yAxisMap[element.props.yAxisId];\n return _this.renderAxis(axisObj, element, displayName, index);\n };\n\n _this.renderGrid = function (element) {\n var _this$state3 = _this.state,\n xAxisMap = _this$state3.xAxisMap,\n yAxisMap = _this$state3.yAxisMap,\n offset = _this$state3.offset;\n var _this$props = _this.props,\n width = _this$props.width,\n height = _this$props.height;\n var xAxis = getAnyElementOfObject(xAxisMap);\n\n var yAxisWithFiniteDomain = _find(yAxisMap, function (axis) {\n return _every(axis.domain, isFinit);\n });\n\n var yAxis = yAxisWithFiniteDomain || getAnyElementOfObject(yAxisMap);\n var props = element.props || {};\n return /*#__PURE__*/cloneElement(element, {\n key: element.key || 'grid',\n x: isNumber(props.x) ? props.x : offset.left,\n y: isNumber(props.y) ? props.y : offset.top,\n width: isNumber(props.width) ? props.width : offset.width,\n height: isNumber(props.height) ? props.height : offset.height,\n xAxis: xAxis,\n yAxis: yAxis,\n offset: offset,\n chartWidth: width,\n chartHeight: height,\n verticalCoordinatesGenerator: props.verticalCoordinatesGenerator || _this.verticalCoordinatesGenerator,\n horizontalCoordinatesGenerator: props.horizontalCoordinatesGenerator || _this.horizontalCoordinatesGenerator\n });\n };\n\n _this.renderPolarGrid = function (element) {\n var _element$props = element.props,\n radialLines = _element$props.radialLines,\n polarAngles = _element$props.polarAngles,\n polarRadius = _element$props.polarRadius;\n var _this$state4 = _this.state,\n radiusAxisMap = _this$state4.radiusAxisMap,\n angleAxisMap = _this$state4.angleAxisMap;\n var radiusAxis = getAnyElementOfObject(radiusAxisMap);\n var angleAxis = getAnyElementOfObject(angleAxisMap);\n var cx = angleAxis.cx,\n cy = angleAxis.cy,\n innerRadius = angleAxis.innerRadius,\n outerRadius = angleAxis.outerRadius;\n return /*#__PURE__*/cloneElement(element, {\n polarAngles: _isArray(polarAngles) ? polarAngles : getTicksOfAxis(angleAxis, true).map(function (entry) {\n return entry.coordinate;\n }),\n polarRadius: _isArray(polarRadius) ? polarRadius : getTicksOfAxis(radiusAxis, true).map(function (entry) {\n return entry.coordinate;\n }),\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n key: element.key || 'polar-grid',\n radialLines: radialLines\n });\n };\n\n _this.renderLegend = function () {\n var formattedGraphicalItems = _this.state.formattedGraphicalItems;\n var _this$props2 = _this.props,\n children = _this$props2.children,\n width = _this$props2.width,\n height = _this$props2.height;\n var margin = _this.props.margin || {};\n var legendWidth = width - (margin.left || 0) - (margin.right || 0);\n var props = getLegendProps({\n children: children,\n formattedGraphicalItems: formattedGraphicalItems,\n legendWidth: legendWidth,\n legendContent: legendContent\n });\n\n if (!props) {\n return null;\n }\n\n var item = props.item,\n otherProps = _objectWithoutProperties(props, [\"item\"]);\n\n return /*#__PURE__*/cloneElement(item, _objectSpread(_objectSpread({}, otherProps), {}, {\n chartWidth: width,\n chartHeight: height,\n margin: margin,\n ref: function ref(legend) {\n _this.legendInstance = legend;\n },\n onBBoxUpdate: _this.handleLegendBBoxUpdate\n }));\n };\n\n _this.renderTooltip = function () {\n var children = _this.props.children;\n var tooltipItem = findChildByType(children, Tooltip.displayName);\n\n if (!tooltipItem) {\n return null;\n }\n\n var _this$state5 = _this.state,\n isTooltipActive = _this$state5.isTooltipActive,\n activeCoordinate = _this$state5.activeCoordinate,\n activePayload = _this$state5.activePayload,\n activeLabel = _this$state5.activeLabel,\n offset = _this$state5.offset;\n return /*#__PURE__*/cloneElement(tooltipItem, {\n viewBox: _objectSpread(_objectSpread({}, offset), {}, {\n x: offset.left,\n y: offset.top\n }),\n active: isTooltipActive,\n label: activeLabel,\n payload: isTooltipActive ? activePayload : [],\n coordinate: activeCoordinate\n });\n };\n\n _this.renderBrush = function (element) {\n var _this$props3 = _this.props,\n margin = _this$props3.margin,\n data = _this$props3.data;\n var _this$state6 = _this.state,\n offset = _this$state6.offset,\n dataStartIndex = _this$state6.dataStartIndex,\n dataEndIndex = _this$state6.dataEndIndex,\n updateId = _this$state6.updateId; // TODO: update brush when children update\n\n return /*#__PURE__*/cloneElement(element, {\n key: element.key || '_recharts-brush',\n onChange: combineEventHandlers(_this.handleBrushChange, null, element.props.onChange),\n data: data,\n x: isNumber(element.props.x) ? element.props.x : offset.left,\n y: isNumber(element.props.y) ? element.props.y : offset.top + offset.height + offset.brushBottom - (margin.bottom || 0),\n width: isNumber(element.props.width) ? element.props.width : offset.width,\n startIndex: dataStartIndex,\n endIndex: dataEndIndex,\n updateId: \"brush-\".concat(updateId)\n });\n };\n\n _this.renderReferenceElement = function (element, displayName, index) {\n if (!element) {\n return null;\n }\n\n var _assertThisInitialize = _assertThisInitialized(_this),\n clipPathId = _assertThisInitialize.clipPathId;\n\n var _this$state7 = _this.state,\n xAxisMap = _this$state7.xAxisMap,\n yAxisMap = _this$state7.yAxisMap,\n offset = _this$state7.offset;\n var _element$props2 = element.props,\n xAxisId = _element$props2.xAxisId,\n yAxisId = _element$props2.yAxisId;\n return /*#__PURE__*/cloneElement(element, {\n key: element.key || \"\".concat(displayName, \"-\").concat(index),\n xAxis: xAxisMap[xAxisId],\n yAxis: yAxisMap[yAxisId],\n viewBox: {\n x: offset.left,\n y: offset.top,\n width: offset.width,\n height: offset.height\n },\n clipPathId: clipPathId\n });\n };\n\n _this.renderActivePoints = function (_ref12) {\n var item = _ref12.item,\n activePoint = _ref12.activePoint,\n basePoint = _ref12.basePoint,\n childIndex = _ref12.childIndex,\n isRange = _ref12.isRange;\n var result = [];\n var key = item.props.key;\n var _item$item$props = item.item.props,\n activeDot = _item$item$props.activeDot,\n dataKey = _item$item$props.dataKey;\n\n var dotProps = _objectSpread(_objectSpread({\n index: childIndex,\n dataKey: dataKey,\n cx: activePoint.x,\n cy: activePoint.y,\n r: 4,\n fill: getMainColorOfGraphicItem(item.item),\n strokeWidth: 2,\n stroke: '#fff',\n payload: activePoint.payload,\n value: activePoint.value,\n key: \"\".concat(key, \"-activePoint-\").concat(childIndex)\n }, filterProps(activeDot)), adaptEventHandlers(activeDot));\n\n result.push(CategoricalChartWrapper.renderActiveDot(activeDot, dotProps));\n\n if (basePoint) {\n result.push(CategoricalChartWrapper.renderActiveDot(activeDot, _objectSpread(_objectSpread({}, dotProps), {}, {\n cx: basePoint.x,\n cy: basePoint.y,\n key: \"\".concat(key, \"-basePoint-\").concat(childIndex)\n })));\n } else if (isRange) {\n result.push(null);\n }\n\n return result;\n };\n\n _this.renderGraphicChild = function (element, displayName, index) {\n var item = _this.filterFormatItem(element, displayName, index);\n\n if (!item) {\n return null;\n }\n\n var tooltipEventType = _this.getTooltipEventType();\n\n var _this$state8 = _this.state,\n isTooltipActive = _this$state8.isTooltipActive,\n tooltipAxis = _this$state8.tooltipAxis,\n activeTooltipIndex = _this$state8.activeTooltipIndex,\n activeLabel = _this$state8.activeLabel;\n var children = _this.props.children;\n var tooltipItem = findChildByType(children, Tooltip.displayName);\n var _item$props2 = item.props,\n points = _item$props2.points,\n isRange = _item$props2.isRange,\n baseLine = _item$props2.baseLine;\n var _item$item$props2 = item.item.props,\n activeDot = _item$item$props2.activeDot,\n hide = _item$item$props2.hide;\n var hasActive = !hide && isTooltipActive && tooltipItem && activeDot && activeTooltipIndex >= 0;\n var itemEvents = {};\n\n if (tooltipEventType !== 'axis' && tooltipItem && tooltipItem.props.trigger === 'click') {\n itemEvents = {\n onClick: combineEventHandlers(_this.handleItemMouseEnter, null, element.props.onCLick)\n };\n } else if (tooltipEventType !== 'axis') {\n itemEvents = {\n onMouseLeave: combineEventHandlers(_this.handleItemMouseLeave, null, element.props.onMouseLeave),\n onMouseEnter: combineEventHandlers(_this.handleItemMouseEnter, null, element.props.onMouseEnter)\n };\n }\n\n var graphicalItem = /*#__PURE__*/cloneElement(element, _objectSpread(_objectSpread({}, item.props), itemEvents));\n\n function findWithPayload(entry) {\n // TODO needs to verify dataKey is Function\n return typeof tooltipAxis.dataKey === 'function' ? tooltipAxis.dataKey(entry.payload) : null;\n }\n\n if (hasActive) {\n var activePoint, basePoint;\n\n if (tooltipAxis.dataKey && !tooltipAxis.allowDuplicatedCategory) {\n // number transform to string\n var specifiedKey = typeof tooltipAxis.dataKey === 'function' ? findWithPayload : 'payload.'.concat(tooltipAxis.dataKey.toString());\n activePoint = findEntryInArray(points, specifiedKey, activeLabel);\n basePoint = isRange && baseLine && findEntryInArray(baseLine, specifiedKey, activeLabel);\n } else {\n activePoint = points[activeTooltipIndex];\n basePoint = isRange && baseLine && baseLine[activeTooltipIndex];\n }\n\n if (!_isNil(activePoint)) {\n return [graphicalItem].concat(_toConsumableArray(_this.renderActivePoints({\n item: item,\n activePoint: activePoint,\n basePoint: basePoint,\n childIndex: activeTooltipIndex,\n isRange: isRange\n })));\n }\n }\n\n if (isRange) {\n return [graphicalItem, null, null];\n }\n\n return [graphicalItem, null];\n };\n\n _this.renderCustomized = function (element, displayName, index) {\n return /*#__PURE__*/cloneElement(element, _objectSpread(_objectSpread({\n key: \"recharts-customized-\".concat(index)\n }, _this.props), _this.state));\n };\n\n _this.uniqueChartId = _isNil(_props.id) ? uniqueId('recharts') : _props.id;\n _this.clipPathId = \"\".concat(_this.uniqueChartId, \"-clip\");\n\n if (_props.throttleDelay) {\n _this.triggeredAfterMouseMove = _throttle(_this.triggeredAfterMouseMove, _props.throttleDelay);\n }\n\n _this.state = {};\n return _this;\n }\n /* eslint-disable react/no-did-mount-set-state */\n\n\n _createClass(CategoricalChartWrapper, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!_isNil(this.props.syncId)) {\n this.addListener();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n // add syncId\n if (_isNil(prevProps.syncId) && !_isNil(this.props.syncId)) {\n this.addListener();\n } // remove syncId\n\n\n if (!_isNil(prevProps.syncId) && _isNil(this.props.syncId)) {\n this.removeListener();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.clearDeferId();\n\n if (!_isNil(this.props.syncId)) {\n this.removeListener();\n }\n\n this.cancelThrottledTriggerAfterMouseMove();\n }\n }, {\n key: \"cancelThrottledTriggerAfterMouseMove\",\n value: function cancelThrottledTriggerAfterMouseMove() {\n if (typeof this.triggeredAfterMouseMove.cancel === 'function') {\n this.triggeredAfterMouseMove.cancel();\n }\n }\n }, {\n key: \"getTooltipEventType\",\n value: function getTooltipEventType() {\n var tooltipItem = findChildByType(this.props.children, Tooltip.displayName);\n\n if (tooltipItem && _isBoolean(tooltipItem.props.shared)) {\n var eventType = tooltipItem.props.shared ? 'axis' : 'item';\n return validateTooltipEventTypes.indexOf(eventType) >= 0 ? eventType : defaultTooltipEventType;\n }\n\n return defaultTooltipEventType;\n }\n /**\n * Get the information of mouse in chart, return null when the mouse is not in the chart\n * @param {Object} event The event object\n * @return {Object} Mouse data\n */\n\n }, {\n key: \"getMouseInfo\",\n value: function getMouseInfo(event) {\n if (!this.container) {\n return null;\n }\n\n var containerOffset = getOffset(this.container);\n var e = calculateChartCoordinate(event, containerOffset);\n var rangeObj = this.inRange(e.chartX, e.chartY);\n\n if (!rangeObj) {\n return null;\n }\n\n var _this$state9 = this.state,\n xAxisMap = _this$state9.xAxisMap,\n yAxisMap = _this$state9.yAxisMap;\n var tooltipEventType = this.getTooltipEventType();\n\n if (tooltipEventType !== 'axis' && xAxisMap && yAxisMap) {\n var xScale = getAnyElementOfObject(xAxisMap).scale;\n var yScale = getAnyElementOfObject(yAxisMap).scale;\n var xValue = xScale && xScale.invert ? xScale.invert(e.chartX) : null;\n var yValue = yScale && yScale.invert ? yScale.invert(e.chartY) : null;\n return _objectSpread(_objectSpread({}, e), {}, {\n xValue: xValue,\n yValue: yValue\n });\n }\n\n var toolTipData = getTooltipData(this.state, this.props.data, this.props.layout, rangeObj);\n\n if (toolTipData) {\n return _objectSpread(_objectSpread({}, e), toolTipData);\n }\n\n return null;\n }\n }, {\n key: \"getCursorRectangle\",\n value: function getCursorRectangle() {\n var layout = this.props.layout;\n var _this$state10 = this.state,\n activeCoordinate = _this$state10.activeCoordinate,\n offset = _this$state10.offset,\n tooltipAxisBandSize = _this$state10.tooltipAxisBandSize;\n var halfSize = tooltipAxisBandSize / 2;\n return {\n stroke: 'none',\n fill: '#ccc',\n x: layout === 'horizontal' ? activeCoordinate.x - halfSize : offset.left + 0.5,\n y: layout === 'horizontal' ? offset.top + 0.5 : activeCoordinate.y - halfSize,\n width: layout === 'horizontal' ? tooltipAxisBandSize : offset.width - 1,\n height: layout === 'horizontal' ? offset.height - 1 : tooltipAxisBandSize\n };\n }\n }, {\n key: \"getCursorPoints\",\n value: function getCursorPoints() {\n var layout = this.props.layout;\n var _this$state11 = this.state,\n activeCoordinate = _this$state11.activeCoordinate,\n offset = _this$state11.offset;\n var x1, y1, x2, y2;\n\n if (layout === 'horizontal') {\n x1 = activeCoordinate.x;\n x2 = x1;\n y1 = offset.top;\n y2 = offset.top + offset.height;\n } else if (layout === 'vertical') {\n y1 = activeCoordinate.y;\n y2 = y1;\n x1 = offset.left;\n x2 = offset.left + offset.width;\n } else if (!_isNil(activeCoordinate.cx) || !_isNil(activeCoordinate.cy)) {\n if (layout === 'centric') {\n var cx = activeCoordinate.cx,\n cy = activeCoordinate.cy,\n innerRadius = activeCoordinate.innerRadius,\n outerRadius = activeCoordinate.outerRadius,\n angle = activeCoordinate.angle;\n var innerPoint = polarToCartesian(cx, cy, innerRadius, angle);\n var outerPoint = polarToCartesian(cx, cy, outerRadius, angle);\n x1 = innerPoint.x;\n y1 = innerPoint.y;\n x2 = outerPoint.x;\n y2 = outerPoint.y;\n } else {\n var _cx = activeCoordinate.cx,\n _cy = activeCoordinate.cy,\n radius = activeCoordinate.radius,\n startAngle = activeCoordinate.startAngle,\n endAngle = activeCoordinate.endAngle;\n var startPoint = polarToCartesian(_cx, _cy, radius, startAngle);\n var endPoint = polarToCartesian(_cx, _cy, radius, endAngle);\n return {\n points: [startPoint, endPoint],\n cx: _cx,\n cy: _cy,\n radius: radius,\n startAngle: startAngle,\n endAngle: endAngle\n };\n }\n }\n\n return [{\n x: x1,\n y: y1\n }, {\n x: x2,\n y: y2\n }];\n }\n }, {\n key: \"inRange\",\n value: function inRange(x, y) {\n var layout = this.props.layout;\n\n if (layout === 'horizontal' || layout === 'vertical') {\n var offset = this.state.offset;\n var isInRange = x >= offset.left && x <= offset.left + offset.width && y >= offset.top && y <= offset.top + offset.height;\n return isInRange ? {\n x: x,\n y: y\n } : null;\n }\n\n var _this$state12 = this.state,\n angleAxisMap = _this$state12.angleAxisMap,\n radiusAxisMap = _this$state12.radiusAxisMap;\n\n if (angleAxisMap && radiusAxisMap) {\n var angleAxis = getAnyElementOfObject(angleAxisMap);\n return inRangeOfSector({\n x: x,\n y: y\n }, angleAxis);\n }\n\n return null;\n }\n }, {\n key: \"parseEventsOfWrapper\",\n value: function parseEventsOfWrapper() {\n var children = this.props.children;\n var tooltipEventType = this.getTooltipEventType();\n var tooltipItem = findChildByType(children, Tooltip.displayName);\n var tooltipEvents = {};\n\n if (tooltipItem && tooltipEventType === 'axis') {\n if (tooltipItem.props.trigger === 'click') {\n tooltipEvents = {\n onClick: this.handleClick\n };\n } else {\n tooltipEvents = {\n onMouseEnter: this.handleMouseEnter,\n onMouseMove: this.handleMouseMove,\n onMouseLeave: this.handleMouseLeave,\n onTouchMove: this.handleTouchMove,\n onTouchStart: this.handleTouchStart,\n onTouchEnd: this.handleTouchEnd\n };\n }\n }\n\n var outerEvents = adaptEventHandlers(this.props, this.handleOuterEvent);\n return _objectSpread(_objectSpread({}, outerEvents), tooltipEvents);\n }\n /* eslint-disable no-underscore-dangle */\n\n }, {\n key: \"addListener\",\n value: function addListener() {\n eventCenter.on(SYNC_EVENT, this.handleReceiveSyncEvent);\n\n if (eventCenter.setMaxListeners && eventCenter._maxListeners) {\n eventCenter.setMaxListeners(eventCenter._maxListeners + 1);\n }\n }\n }, {\n key: \"removeListener\",\n value: function removeListener() {\n eventCenter.removeListener(SYNC_EVENT, this.handleReceiveSyncEvent);\n\n if (eventCenter.setMaxListeners && eventCenter._maxListeners) {\n eventCenter.setMaxListeners(eventCenter._maxListeners - 1);\n }\n }\n }, {\n key: \"triggerSyncEvent\",\n value: function triggerSyncEvent(data) {\n var syncId = this.props.syncId;\n\n if (!_isNil(syncId)) {\n eventCenter.emit(SYNC_EVENT, syncId, this.uniqueChartId, data);\n }\n }\n }, {\n key: \"applySyncEvent\",\n value: function applySyncEvent(data) {\n var _this$props4 = this.props,\n layout = _this$props4.layout,\n syncMethod = _this$props4.syncMethod;\n var updateId = this.state.updateId;\n var dataStartIndex = data.dataStartIndex,\n dataEndIndex = data.dataEndIndex;\n\n if (!_isNil(data.dataStartIndex) || !_isNil(data.dataEndIndex)) {\n this.setState(_objectSpread({\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex\n }, updateStateOfAxisMapsOffsetAndStackGroups({\n props: this.props,\n dataStartIndex: dataStartIndex,\n dataEndIndex: dataEndIndex,\n updateId: updateId\n }, this.state)));\n } else if (!_isNil(data.activeTooltipIndex)) {\n var chartX = data.chartX,\n chartY = data.chartY;\n var activeTooltipIndex = data.activeTooltipIndex;\n var _this$state13 = this.state,\n offset = _this$state13.offset,\n tooltipTicks = _this$state13.tooltipTicks;\n\n if (!offset) {\n return;\n }\n\n if (typeof syncMethod === 'function') {\n // Call a callback function. If there is an application specific algorithm\n activeTooltipIndex = syncMethod(tooltipTicks, data);\n } else if (syncMethod === 'value') {\n // Set activeTooltipIndex to the index with the same value as data.activeLabel\n // For loop instead of findIndex because the latter is very slow in some browsers\n activeTooltipIndex = -1; // in case we cannot find the element\n\n for (var i = 0; i < tooltipTicks.length; i++) {\n if (tooltipTicks[i].value === data.activeLabel) {\n activeTooltipIndex = i;\n break;\n }\n }\n }\n\n var viewBox = _objectSpread(_objectSpread({}, offset), {}, {\n x: offset.left,\n y: offset.top\n }); // When a categotical chart is combined with another chart, the value of chartX\n // and chartY may beyond the boundaries.\n\n\n var validateChartX = Math.min(chartX, viewBox.x + viewBox.width);\n var validateChartY = Math.min(chartY, viewBox.y + viewBox.height);\n var activeLabel = tooltipTicks[activeTooltipIndex] && tooltipTicks[activeTooltipIndex].value;\n var activePayload = getTooltipContent(this.state, this.props.data, activeTooltipIndex);\n var activeCoordinate = tooltipTicks[activeTooltipIndex] ? {\n x: layout === 'horizontal' ? tooltipTicks[activeTooltipIndex].coordinate : validateChartX,\n y: layout === 'horizontal' ? validateChartY : tooltipTicks[activeTooltipIndex].coordinate\n } : originCoordinate;\n this.setState(_objectSpread(_objectSpread({}, data), {}, {\n activeLabel: activeLabel,\n activeCoordinate: activeCoordinate,\n activePayload: activePayload,\n activeTooltipIndex: activeTooltipIndex\n }));\n } else {\n this.setState(data);\n }\n }\n }, {\n key: \"filterFormatItem\",\n value: function filterFormatItem(item, displayName, childIndex) {\n var formattedGraphicalItems = this.state.formattedGraphicalItems;\n\n for (var i = 0, len = formattedGraphicalItems.length; i < len; i++) {\n var entry = formattedGraphicalItems[i];\n\n if (entry.item === item || entry.props.key === item.key || displayName === getDisplayName(entry.item.type) && childIndex === entry.childIndex) {\n return entry;\n }\n }\n\n return null;\n }\n }, {\n key: \"renderAxis\",\n value:\n /**\n * Draw axis\n * @param {Object} axisOptions The options of axis\n * @param {Object} element The axis element\n * @param {String} displayName The display name of axis\n * @param {Number} index The index of element\n * @return {ReactElement} The instance of x-axes\n */\n function renderAxis(axisOptions, element, displayName, index) {\n var _this$props5 = this.props,\n width = _this$props5.width,\n height = _this$props5.height;\n return /*#__PURE__*/React.createElement(CartesianAxis, _extends({}, axisOptions, {\n className: \"recharts-\".concat(axisOptions.axisType, \" \").concat(axisOptions.axisType),\n key: element.key || \"\".concat(displayName, \"-\").concat(index),\n viewBox: {\n x: 0,\n y: 0,\n width: width,\n height: height\n },\n ticksGenerator: this.axesTicksGenerator\n }));\n }\n /**\n * Draw grid\n * @param {ReactElement} element the grid item\n * @return {ReactElement} The instance of grid\n */\n\n }, {\n key: \"renderClipPath\",\n value: function renderClipPath() {\n var clipPathId = this.clipPathId;\n var _this$state$offset = this.state.offset,\n left = _this$state$offset.left,\n top = _this$state$offset.top,\n height = _this$state$offset.height,\n width = _this$state$offset.width;\n return /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: clipPathId\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left,\n y: top,\n height: height,\n width: width\n })));\n }\n }, {\n key: \"getXScales\",\n value: function getXScales() {\n var xAxisMap = this.state.xAxisMap;\n return xAxisMap ? Object.entries(xAxisMap).reduce(function (res, _ref13) {\n var _ref14 = _slicedToArray(_ref13, 2),\n axisId = _ref14[0],\n axisProps = _ref14[1];\n\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, axisId, axisProps.scale));\n }, {}) : null;\n }\n }, {\n key: \"getYScales\",\n value: function getYScales() {\n var yAxisMap = this.state.yAxisMap;\n return yAxisMap ? Object.entries(yAxisMap).reduce(function (res, _ref15) {\n var _ref16 = _slicedToArray(_ref15, 2),\n axisId = _ref16[0],\n axisProps = _ref16[1];\n\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, axisId, axisProps.scale));\n }, {}) : null;\n }\n }, {\n key: \"getXScaleByAxisId\",\n value: function getXScaleByAxisId(axisId) {\n var _this$state$xAxisMap, _this$state$xAxisMap$;\n\n return (_this$state$xAxisMap = this.state.xAxisMap) === null || _this$state$xAxisMap === void 0 ? void 0 : (_this$state$xAxisMap$ = _this$state$xAxisMap[axisId]) === null || _this$state$xAxisMap$ === void 0 ? void 0 : _this$state$xAxisMap$.scale;\n }\n }, {\n key: \"getYScaleByAxisId\",\n value: function getYScaleByAxisId(axisId) {\n var _this$state$yAxisMap, _this$state$yAxisMap$;\n\n return (_this$state$yAxisMap = this.state.yAxisMap) === null || _this$state$yAxisMap === void 0 ? void 0 : (_this$state$yAxisMap$ = _this$state$yAxisMap[axisId]) === null || _this$state$yAxisMap$ === void 0 ? void 0 : _this$state$yAxisMap$.scale;\n }\n }, {\n key: \"getItemByXY\",\n value: function getItemByXY(chartXY) {\n var formattedGraphicalItems = this.state.formattedGraphicalItems;\n\n if (formattedGraphicalItems && formattedGraphicalItems.length) {\n for (var i = 0, len = formattedGraphicalItems.length; i < len; i++) {\n var graphicalItem = formattedGraphicalItems[i];\n var props = graphicalItem.props,\n item = graphicalItem.item;\n var itemDisplayName = getDisplayName(item.type);\n\n if (itemDisplayName === 'Bar') {\n var activeBarItem = (props.data || []).find(function (entry) {\n return isInRectangle(chartXY, entry);\n });\n\n if (activeBarItem) {\n return {\n graphicalItem: graphicalItem,\n payload: activeBarItem\n };\n }\n } else if (itemDisplayName === 'RadialBar') {\n var _activeBarItem = (props.data || []).find(function (entry) {\n return inRangeOfSector(chartXY, entry);\n });\n\n if (_activeBarItem) {\n return {\n graphicalItem: graphicalItem,\n payload: _activeBarItem\n };\n }\n }\n }\n }\n\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n if (!validateWidthHeight(this)) {\n return null;\n }\n\n var _this$props6 = this.props,\n children = _this$props6.children,\n className = _this$props6.className,\n width = _this$props6.width,\n height = _this$props6.height,\n style = _this$props6.style,\n compact = _this$props6.compact,\n others = _objectWithoutProperties(_this$props6, [\"children\", \"className\", \"width\", \"height\", \"style\", \"compact\"]);\n\n var attrs = filterProps(others);\n var map = {\n CartesianGrid: {\n handler: this.renderGrid,\n once: true\n },\n ReferenceArea: {\n handler: this.renderReferenceElement\n },\n ReferenceLine: {\n handler: this.renderReferenceElement\n },\n ReferenceDot: {\n handler: this.renderReferenceElement\n },\n XAxis: {\n handler: this.renderXAxis\n },\n YAxis: {\n handler: this.renderYAxis\n },\n Brush: {\n handler: this.renderBrush,\n once: true\n },\n Bar: {\n handler: this.renderGraphicChild\n },\n Line: {\n handler: this.renderGraphicChild\n },\n Area: {\n handler: this.renderGraphicChild\n },\n Radar: {\n handler: this.renderGraphicChild\n },\n RadialBar: {\n handler: this.renderGraphicChild\n },\n Scatter: {\n handler: this.renderGraphicChild\n },\n Pie: {\n handler: this.renderGraphicChild\n },\n Funnel: {\n handler: this.renderGraphicChild\n },\n Tooltip: {\n handler: this.renderCursor,\n once: true\n },\n PolarGrid: {\n handler: this.renderPolarGrid,\n once: true\n },\n PolarAngleAxis: {\n handler: this.renderPolarAxis\n },\n PolarRadiusAxis: {\n handler: this.renderPolarAxis\n },\n Customized: {\n handler: this.renderCustomized\n }\n }; // The \"compact\" mode is mainly used as the panorama within Brush\n\n if (compact) {\n return /*#__PURE__*/React.createElement(Surface, _extends({}, attrs, {\n width: width,\n height: height\n }), this.renderClipPath(), renderByOrder(children, map));\n }\n\n var events = this.parseEventsOfWrapper();\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames('recharts-wrapper', className),\n style: _objectSpread({\n position: 'relative',\n cursor: 'default',\n width: width,\n height: height\n }, style)\n }, events, {\n ref: function ref(node) {\n _this2.container = node;\n }\n }), /*#__PURE__*/React.createElement(Surface, _extends({}, attrs, {\n width: width,\n height: height\n }), this.renderClipPath(), renderByOrder(children, map)), this.renderLegend(), this.renderTooltip());\n }\n }]);\n\n return CategoricalChartWrapper;\n }(Component), _class.displayName = chartName, _class.defaultProps = _objectSpread({\n layout: 'horizontal',\n stackOffset: 'none',\n barCategoryGap: '10%',\n barGap: 4,\n margin: {\n top: 5,\n right: 5,\n bottom: 5,\n left: 5\n },\n reverseStackOrder: false,\n syncMethod: 'index'\n }, defaultProps), _class.getDerivedStateFromProps = function (nextProps, prevState) {\n var data = nextProps.data,\n children = nextProps.children,\n width = nextProps.width,\n height = nextProps.height,\n layout = nextProps.layout,\n stackOffset = nextProps.stackOffset,\n margin = nextProps.margin;\n\n if (_isNil(prevState.updateId)) {\n var defaultState = createDefaultState(nextProps);\n return _objectSpread(_objectSpread(_objectSpread({}, defaultState), {}, {\n updateId: 0\n }, updateStateOfAxisMapsOffsetAndStackGroups(_objectSpread(_objectSpread({\n props: nextProps\n }, defaultState), {}, {\n updateId: 0\n }), prevState)), {}, {\n prevData: data,\n prevWidth: width,\n prevHeight: height,\n prevLayout: layout,\n prevStackOffset: stackOffset,\n prevMargin: margin,\n prevChildren: children\n });\n }\n\n if (data !== prevState.prevData || width !== prevState.prevWidth || height !== prevState.prevHeight || layout !== prevState.prevLayout || stackOffset !== prevState.prevStackOffset || !shallowEqual(margin, prevState.prevMargin)) {\n var _defaultState = createDefaultState(nextProps); // Fixes https://github.com/recharts/recharts/issues/2143\n\n\n var keepFromPrevState = {\n // (chartX, chartY) are (0,0) in default state, but we want to keep the last mouse position to avoid\n // any flickering\n chartX: prevState.chartX,\n chartY: prevState.chartY,\n // The tooltip should stay active when it was active in the previous render. If this is not\n // the case, the tooltip disappears and immediately re-appears, causing a flickering effect\n isTooltipActive: prevState.isTooltipActive\n };\n\n var updatesToState = _objectSpread(_objectSpread({}, getTooltipData(prevState, data, layout)), {}, {\n updateId: prevState.updateId + 1\n });\n\n var newState = _objectSpread(_objectSpread(_objectSpread({}, _defaultState), keepFromPrevState), updatesToState);\n\n return _objectSpread(_objectSpread(_objectSpread({}, newState), updateStateOfAxisMapsOffsetAndStackGroups(_objectSpread({\n props: nextProps\n }, newState), prevState)), {}, {\n prevData: data,\n prevWidth: width,\n prevHeight: height,\n prevLayout: layout,\n prevStackOffset: stackOffset,\n prevMargin: margin,\n prevChildren: children\n });\n }\n\n if (!isChildrenEqual(children, prevState.prevChildren)) {\n // update configuration in chilren\n var hasGlobalData = !_isNil(data);\n var newUpdateId = hasGlobalData ? prevState.updateId : prevState.updateId + 1;\n return _objectSpread(_objectSpread({\n updateId: newUpdateId\n }, updateStateOfAxisMapsOffsetAndStackGroups(_objectSpread(_objectSpread({\n props: nextProps\n }, prevState), {}, {\n updateId: newUpdateId\n }), prevState)), {}, {\n prevChildren: children\n });\n }\n\n return null;\n }, _class.renderActiveDot = function (option, props) {\n var dot;\n\n if ( /*#__PURE__*/isValidElement(option)) {\n dot = /*#__PURE__*/cloneElement(option, props);\n } else if (_isFunction(option)) {\n dot = option(props);\n } else {\n dot = /*#__PURE__*/React.createElement(Dot, props);\n }\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-active-dot\",\n key: props.key\n }, dot);\n }, _temp;\n};","import _isObject from \"lodash/isObject\";\nimport _isFunction from \"lodash/isFunction\";\nimport _isNil from \"lodash/isNil\";\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 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 _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\nimport React, { cloneElement, isValidElement, createElement } from 'react';\nimport classNames from 'classnames';\nimport { Text } from './Text';\nimport { findAllByType } from '../util/ReactUtils';\nimport { isNumOrStr, isNumber, isPercent, getPercentValue, uniqueId, mathSign } from '../util/DataUtils';\nimport { polarToCartesian } from '../util/PolarUtils';\nimport { filterProps } from '../util/types';\n\nvar getLabel = function getLabel(props) {\n var value = props.value,\n formatter = props.formatter;\n var label = _isNil(props.children) ? value : props.children;\n\n if (_isFunction(formatter)) {\n return formatter(label);\n }\n\n return label;\n};\n\nvar getDeltaAngle = function getDeltaAngle(startAngle, endAngle) {\n var sign = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 360);\n return sign * deltaAngle;\n};\n\nvar renderRadialLabel = function renderRadialLabel(labelProps, label, attrs) {\n var position = labelProps.position,\n viewBox = labelProps.viewBox,\n offset = labelProps.offset,\n className = labelProps.className;\n var _ref = viewBox,\n cx = _ref.cx,\n cy = _ref.cy,\n innerRadius = _ref.innerRadius,\n outerRadius = _ref.outerRadius,\n startAngle = _ref.startAngle,\n endAngle = _ref.endAngle,\n clockWise = _ref.clockWise;\n var radius = (innerRadius + outerRadius) / 2;\n var deltaAngle = getDeltaAngle(startAngle, endAngle);\n var sign = deltaAngle >= 0 ? 1 : -1;\n var labelAngle, direction;\n\n if (position === 'insideStart') {\n labelAngle = startAngle + sign * offset;\n direction = clockWise;\n } else if (position === 'insideEnd') {\n labelAngle = endAngle - sign * offset;\n direction = !clockWise;\n } else if (position === 'end') {\n labelAngle = endAngle + sign * offset;\n direction = clockWise;\n }\n\n direction = deltaAngle <= 0 ? direction : !direction;\n var startPoint = polarToCartesian(cx, cy, radius, labelAngle);\n var endPoint = polarToCartesian(cx, cy, radius, labelAngle + (direction ? 1 : -1) * 359);\n var path = \"M\".concat(startPoint.x, \",\").concat(startPoint.y, \"\\n A\").concat(radius, \",\").concat(radius, \",0,1,\").concat(direction ? 0 : 1, \",\\n \").concat(endPoint.x, \",\").concat(endPoint.y);\n var id = _isNil(labelProps.id) ? uniqueId('recharts-radial-line-') : labelProps.id;\n return /*#__PURE__*/React.createElement(\"text\", _extends({}, attrs, {\n dominantBaseline: \"central\",\n className: classNames('recharts-radial-bar-label', className)\n }), /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n id: id,\n d: path\n })), /*#__PURE__*/React.createElement(\"textPath\", {\n xlinkHref: \"#\".concat(id)\n }, label));\n};\n\nvar getAttrsOfPolarLabel = function getAttrsOfPolarLabel(props) {\n var viewBox = props.viewBox,\n offset = props.offset,\n position = props.position;\n var _ref2 = viewBox,\n cx = _ref2.cx,\n cy = _ref2.cy,\n innerRadius = _ref2.innerRadius,\n outerRadius = _ref2.outerRadius,\n startAngle = _ref2.startAngle,\n endAngle = _ref2.endAngle;\n var midAngle = (startAngle + endAngle) / 2;\n\n if (position === 'outside') {\n var _polarToCartesian = polarToCartesian(cx, cy, outerRadius + offset, midAngle),\n _x = _polarToCartesian.x,\n _y = _polarToCartesian.y;\n\n return {\n x: _x,\n y: _y,\n textAnchor: _x >= cx ? 'start' : 'end',\n verticalAnchor: 'middle'\n };\n }\n\n if (position === 'center') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n };\n }\n\n if (position === 'centerTop') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'start'\n };\n }\n\n if (position === 'centerBottom') {\n return {\n x: cx,\n y: cy,\n textAnchor: 'middle',\n verticalAnchor: 'end'\n };\n }\n\n var r = (innerRadius + outerRadius) / 2;\n\n var _polarToCartesian2 = polarToCartesian(cx, cy, r, midAngle),\n x = _polarToCartesian2.x,\n y = _polarToCartesian2.y;\n\n return {\n x: x,\n y: y,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n };\n};\n\nvar getAttrsOfCartesianLabel = function getAttrsOfCartesianLabel(props) {\n var viewBox = props.viewBox,\n parentViewBox = props.parentViewBox,\n offset = props.offset,\n position = props.position;\n var _ref3 = viewBox,\n x = _ref3.x,\n y = _ref3.y,\n width = _ref3.width,\n height = _ref3.height; // Define vertical offsets and position inverts based on the value being positive or negative\n\n var verticalSign = height >= 0 ? 1 : -1;\n var verticalOffset = verticalSign * offset;\n var verticalEnd = verticalSign > 0 ? 'end' : 'start';\n var verticalStart = verticalSign > 0 ? 'start' : 'end'; // Define horizontal offsets and position inverts based on the value being positive or negative\n\n var horizontalSign = width >= 0 ? 1 : -1;\n var horizontalOffset = horizontalSign * offset;\n var horizontalEnd = horizontalSign > 0 ? 'end' : 'start';\n var horizontalStart = horizontalSign > 0 ? 'start' : 'end';\n\n if (position === 'top') {\n var attrs = {\n x: x + width / 2,\n y: y - verticalSign * offset,\n textAnchor: 'middle',\n verticalAnchor: verticalEnd\n };\n return _objectSpread(_objectSpread({}, attrs), parentViewBox ? {\n height: Math.max(y - parentViewBox.y, 0),\n width: width\n } : {});\n }\n\n if (position === 'bottom') {\n var _attrs = {\n x: x + width / 2,\n y: y + height + verticalOffset,\n textAnchor: 'middle',\n verticalAnchor: verticalStart\n };\n return _objectSpread(_objectSpread({}, _attrs), parentViewBox ? {\n height: Math.max(parentViewBox.y + parentViewBox.height - (y + height), 0),\n width: width\n } : {});\n }\n\n if (position === 'left') {\n var _attrs2 = {\n x: x - horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalEnd,\n verticalAnchor: 'middle'\n };\n return _objectSpread(_objectSpread({}, _attrs2), parentViewBox ? {\n width: Math.max(_attrs2.x - parentViewBox.x, 0),\n height: height\n } : {});\n }\n\n if (position === 'right') {\n var _attrs3 = {\n x: x + width + horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalStart,\n verticalAnchor: 'middle'\n };\n return _objectSpread(_objectSpread({}, _attrs3), parentViewBox ? {\n width: Math.max(parentViewBox.x + parentViewBox.width - _attrs3.x, 0),\n height: height\n } : {});\n }\n\n var sizeAttrs = parentViewBox ? {\n width: width,\n height: height\n } : {};\n\n if (position === 'insideLeft') {\n return _objectSpread({\n x: x + horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalStart,\n verticalAnchor: 'middle'\n }, sizeAttrs);\n }\n\n if (position === 'insideRight') {\n return _objectSpread({\n x: x + width - horizontalOffset,\n y: y + height / 2,\n textAnchor: horizontalEnd,\n verticalAnchor: 'middle'\n }, sizeAttrs);\n }\n\n if (position === 'insideTop') {\n return _objectSpread({\n x: x + width / 2,\n y: y + verticalOffset,\n textAnchor: 'middle',\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n\n if (position === 'insideBottom') {\n return _objectSpread({\n x: x + width / 2,\n y: y + height - verticalOffset,\n textAnchor: 'middle',\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n\n if (position === 'insideTopLeft') {\n return _objectSpread({\n x: x + horizontalOffset,\n y: y + verticalOffset,\n textAnchor: horizontalStart,\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n\n if (position === 'insideTopRight') {\n return _objectSpread({\n x: x + width - horizontalOffset,\n y: y + verticalOffset,\n textAnchor: horizontalEnd,\n verticalAnchor: verticalStart\n }, sizeAttrs);\n }\n\n if (position === 'insideBottomLeft') {\n return _objectSpread({\n x: x + horizontalOffset,\n y: y + height - verticalOffset,\n textAnchor: horizontalStart,\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n\n if (position === 'insideBottomRight') {\n return _objectSpread({\n x: x + width - horizontalOffset,\n y: y + height - verticalOffset,\n textAnchor: horizontalEnd,\n verticalAnchor: verticalEnd\n }, sizeAttrs);\n }\n\n if (_isObject(position) && (isNumber(position.x) || isPercent(position.x)) && (isNumber(position.y) || isPercent(position.y))) {\n return _objectSpread({\n x: x + getPercentValue(position.x, width),\n y: y + getPercentValue(position.y, height),\n textAnchor: 'end',\n verticalAnchor: 'end'\n }, sizeAttrs);\n }\n\n return _objectSpread({\n x: x + width / 2,\n y: y + height / 2,\n textAnchor: 'middle',\n verticalAnchor: 'middle'\n }, sizeAttrs);\n};\n\nvar isPolar = function isPolar(viewBox) {\n return isNumber(viewBox.cx);\n};\n\nexport function Label(props) {\n var viewBox = props.viewBox,\n position = props.position,\n value = props.value,\n children = props.children,\n content = props.content,\n _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n textBreakAll = props.textBreakAll;\n\n if (!viewBox || _isNil(value) && _isNil(children) && ! /*#__PURE__*/isValidElement(content) && !_isFunction(content)) {\n return null;\n }\n\n if ( /*#__PURE__*/isValidElement(content)) {\n return /*#__PURE__*/cloneElement(content, props);\n }\n\n var label;\n\n if (_isFunction(content)) {\n label = /*#__PURE__*/createElement(content, props);\n\n if ( /*#__PURE__*/isValidElement(label)) {\n return label;\n }\n } else {\n label = getLabel(props);\n }\n\n var isPolarLabel = isPolar(viewBox);\n var attrs = filterProps(props, true);\n\n if (isPolarLabel && (position === 'insideStart' || position === 'insideEnd' || position === 'end')) {\n return renderRadialLabel(props, label, attrs);\n }\n\n var positionAttrs = isPolarLabel ? getAttrsOfPolarLabel(props) : getAttrsOfCartesianLabel(props);\n return /*#__PURE__*/React.createElement(Text, _extends({\n className: classNames('recharts-label', className)\n }, attrs, positionAttrs, {\n breakAll: textBreakAll\n }), label);\n}\nLabel.displayName = 'Label';\nLabel.defaultProps = {\n offset: 5\n};\n\nvar parseViewBox = function parseViewBox(props) {\n var cx = props.cx,\n cy = props.cy,\n angle = props.angle,\n startAngle = props.startAngle,\n endAngle = props.endAngle,\n r = props.r,\n radius = props.radius,\n innerRadius = props.innerRadius,\n outerRadius = props.outerRadius,\n x = props.x,\n y = props.y,\n top = props.top,\n left = props.left,\n width = props.width,\n height = props.height,\n clockWise = props.clockWise,\n labelViewBox = props.labelViewBox;\n\n if (labelViewBox) {\n return labelViewBox;\n }\n\n if (isNumber(width) && isNumber(height)) {\n if (isNumber(x) && isNumber(y)) {\n return {\n x: x,\n y: y,\n width: width,\n height: height\n };\n }\n\n if (isNumber(top) && isNumber(left)) {\n return {\n x: top,\n y: left,\n width: width,\n height: height\n };\n }\n }\n\n if (isNumber(x) && isNumber(y)) {\n return {\n x: x,\n y: y,\n width: 0,\n height: 0\n };\n }\n\n if (isNumber(cx) && isNumber(cy)) {\n return {\n cx: cx,\n cy: cy,\n startAngle: startAngle || angle || 0,\n endAngle: endAngle || angle || 0,\n innerRadius: innerRadius || 0,\n outerRadius: outerRadius || radius || r || 0,\n clockWise: clockWise\n };\n }\n\n if (props.viewBox) {\n return props.viewBox;\n }\n\n return {};\n};\n\nvar parseLabel = function parseLabel(label, viewBox) {\n if (!label) {\n return null;\n }\n\n if (label === true) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n viewBox: viewBox\n });\n }\n\n if (isNumOrStr(label)) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n viewBox: viewBox,\n value: label\n });\n }\n\n if ( /*#__PURE__*/isValidElement(label)) {\n if (label.type === Label) {\n return /*#__PURE__*/cloneElement(label, {\n key: 'label-implicit',\n viewBox: viewBox\n });\n }\n\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n content: label,\n viewBox: viewBox\n });\n }\n\n if (_isFunction(label)) {\n return /*#__PURE__*/React.createElement(Label, {\n key: \"label-implicit\",\n content: label,\n viewBox: viewBox\n });\n }\n\n if (_isObject(label)) {\n return /*#__PURE__*/React.createElement(Label, _extends({\n viewBox: viewBox\n }, label, {\n key: \"label-implicit\"\n }));\n }\n\n return null;\n};\n\nvar renderCallByParent = function renderCallByParent(parentProps, viewBox) {\n var checkPropsLabel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n if (!parentProps || !parentProps.children && checkPropsLabel && !parentProps.label) {\n return null;\n }\n\n var children = parentProps.children;\n var parentViewBox = parseViewBox(parentProps);\n var explicitChildren = findAllByType(children, Label.displayName).map(function (child, index) {\n return /*#__PURE__*/cloneElement(child, {\n viewBox: viewBox || parentViewBox,\n key: \"label-\".concat(index)\n });\n });\n\n if (!checkPropsLabel) {\n return explicitChildren;\n }\n\n var implicitLabel = parseLabel(parentProps.label, viewBox || parentViewBox);\n return [implicitLabel].concat(_toConsumableArray(explicitChildren));\n};\n\nLabel.parseViewBox = parseViewBox;\nLabel.renderCallByParent = renderCallByParent;","import _isObject from \"lodash/isObject\";\nimport _isFunction from \"lodash/isFunction\";\nimport _isNil from \"lodash/isNil\";\nimport _last from \"lodash/last\";\nimport _isArray from \"lodash/isArray\";\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 _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 _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\nimport React, { cloneElement } from 'react';\nimport { Label } from './Label';\nimport { Layer } from '../container/Layer';\nimport { findAllByType } from '../util/ReactUtils';\nimport { getValueByDataKey } from '../util/ChartUtils';\nimport { filterProps } from '../util/types';\nvar defaultProps = {\n valueAccessor: function valueAccessor(entry) {\n return _isArray(entry.value) ? _last(entry.value) : entry.value;\n }\n};\nexport function LabelList(props) {\n var data = props.data,\n valueAccessor = props.valueAccessor,\n dataKey = props.dataKey,\n clockWise = props.clockWise,\n id = props.id,\n textBreakAll = props.textBreakAll,\n others = _objectWithoutProperties(props, [\"data\", \"valueAccessor\", \"dataKey\", \"clockWise\", \"id\", \"textBreakAll\"]);\n\n if (!data || !data.length) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(Layer, {\n className: \"recharts-label-list\"\n }, data.map(function (entry, index) {\n var value = _isNil(dataKey) ? valueAccessor(entry, index) : getValueByDataKey(entry && entry.payload, dataKey);\n var idProps = _isNil(id) ? {} : {\n id: \"\".concat(id, \"-\").concat(index)\n };\n return /*#__PURE__*/React.createElement(Label, _extends({}, filterProps(entry, true), others, idProps, {\n parentViewBox: entry.parentViewBox,\n index: index,\n value: value,\n textBreakAll: textBreakAll,\n viewBox: Label.parseViewBox(_isNil(clockWise) ? entry : _objectSpread(_objectSpread({}, entry), {}, {\n clockWise: clockWise\n })),\n key: \"label-\".concat(index) // eslint-disable-line react/no-array-index-key\n\n }));\n }));\n}\nLabelList.displayName = 'LabelList';\n\nfunction parseLabelList(label, data) {\n if (!label) {\n return null;\n }\n\n if (label === true) {\n return /*#__PURE__*/React.createElement(LabelList, {\n key: \"labelList-implicit\",\n data: data\n });\n }\n\n if ( /*#__PURE__*/React.isValidElement(label) || _isFunction(label)) {\n return /*#__PURE__*/React.createElement(LabelList, {\n key: \"labelList-implicit\",\n data: data,\n content: label\n });\n }\n\n if (_isObject(label)) {\n return /*#__PURE__*/React.createElement(LabelList, _extends({\n data: data\n }, label, {\n key: \"labelList-implicit\"\n }));\n }\n\n return null;\n}\n\nfunction renderCallByParent(parentProps, data) {\n var ckeckPropsLabel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n if (!parentProps || !parentProps.children && ckeckPropsLabel && !parentProps.label) {\n return null;\n }\n\n var children = parentProps.children;\n var explicitChilren = findAllByType(children, LabelList.displayName).map(function (child, index) {\n return /*#__PURE__*/cloneElement(child, {\n data: data,\n key: \"labelList-\".concat(index)\n });\n });\n\n if (!ckeckPropsLabel) {\n return explicitChilren;\n }\n\n var implicitLabelList = parseLabelList(parentProps.label, data);\n return [implicitLabelList].concat(_toConsumableArray(explicitChilren));\n}\n\nLabelList.renderCallByParent = renderCallByParent;\nLabelList.defaultProps = defaultProps;","export var abs = Math.abs;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var max = Math.max;\nexport var min = Math.min;\nexport var sin = Math.sin;\nexport var sqrt = Math.sqrt;\n\nexport var epsilon = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","import {pi, tau} from \"../math.js\";\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / pi);\n context.moveTo(r, 0);\n context.arc(0, 0, r, 0, tau);\n }\n};\n","export default {\n draw: function(context, size) {\n var r = Math.sqrt(size / 5) / 2;\n context.moveTo(-3 * r, -r);\n context.lineTo(-r, -r);\n context.lineTo(-r, -3 * r);\n context.lineTo(r, -3 * r);\n context.lineTo(r, -r);\n context.lineTo(3 * r, -r);\n context.lineTo(3 * r, r);\n context.lineTo(r, r);\n context.lineTo(r, 3 * r);\n context.lineTo(-r, 3 * r);\n context.lineTo(-r, r);\n context.lineTo(-3 * r, r);\n context.closePath();\n }\n};\n","var tan30 = Math.sqrt(1 / 3),\n tan30_2 = tan30 * 2;\n\nexport default {\n draw: function(context, size) {\n var y = Math.sqrt(size / tan30_2),\n x = y * tan30;\n context.moveTo(0, -y);\n context.lineTo(x, 0);\n context.lineTo(0, y);\n context.lineTo(-x, 0);\n context.closePath();\n }\n};\n","export default {\n draw: function(context, size) {\n var w = Math.sqrt(size),\n x = -w / 2;\n context.rect(x, x, w, w);\n }\n};\n","import {pi, tau} from \"../math.js\";\n\nvar ka = 0.89081309152928522810,\n kr = Math.sin(pi / 10) / Math.sin(7 * pi / 10),\n kx = Math.sin(tau / 10) * kr,\n ky = -Math.cos(tau / 10) * kr;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size * ka),\n x = kx * r,\n y = ky * r;\n context.moveTo(0, -r);\n context.lineTo(x, y);\n for (var i = 1; i < 5; ++i) {\n var a = tau * i / 5,\n c = Math.cos(a),\n s = Math.sin(a);\n context.lineTo(s * r, -c * r);\n context.lineTo(c * x - s * y, s * x + c * y);\n }\n context.closePath();\n }\n};\n","var sqrt3 = Math.sqrt(3);\n\nexport default {\n draw: function(context, size) {\n var y = -Math.sqrt(size / (sqrt3 * 3));\n context.moveTo(0, y * 2);\n context.lineTo(-sqrt3 * y, -y);\n context.lineTo(sqrt3 * y, -y);\n context.closePath();\n }\n};\n","var c = -0.5,\n s = Math.sqrt(3) / 2,\n k = 1 / Math.sqrt(12),\n a = (k / 2 + 1) * 3;\n\nexport default {\n draw: function(context, size) {\n var r = Math.sqrt(size / a),\n x0 = r / 2,\n y0 = r * k,\n x1 = x0,\n y1 = r * k + r,\n x2 = -x1,\n y2 = y1;\n context.moveTo(x0, y0);\n context.lineTo(x1, y1);\n context.lineTo(x2, y2);\n context.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n context.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n context.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n context.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n context.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n context.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n context.closePath();\n }\n};\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 _upperFirst from \"lodash/upperFirst\";\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 _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 Curve\n */\nimport React, { PureComponent } from 'react';\nimport { symbol as shapeSymbol, symbolCircle, symbolCross, symbolDiamond, symbolSquare, symbolStar, symbolTriangle, symbolWye } from 'd3-shape';\nimport classNames from 'classnames';\nimport { filterProps } from '../util/types';\nvar symbolFactories = {\n symbolCircle: symbolCircle,\n symbolCross: symbolCross,\n symbolDiamond: symbolDiamond,\n symbolSquare: symbolSquare,\n symbolStar: symbolStar,\n symbolTriangle: symbolTriangle,\n symbolWye: symbolWye\n};\nvar RADIAN = Math.PI / 180;\n\nvar getSymbolFactory = function getSymbolFactory(type) {\n var name = \"symbol\".concat(_upperFirst(type));\n return symbolFactories[name] || symbolCircle;\n};\n\nvar calculateAreaSize = function calculateAreaSize(size, sizeType, type) {\n if (sizeType === 'area') {\n return size;\n }\n\n switch (type) {\n case 'cross':\n return 5 * size * size / 9;\n\n case 'diamond':\n return 0.5 * size * size / Math.sqrt(3);\n\n case 'square':\n return size * size;\n\n case 'star':\n {\n var angle = 18 * RADIAN;\n return 1.25 * size * size * (Math.tan(angle) - Math.tan(angle * 2) * Math.pow(Math.tan(angle), 2));\n }\n\n case 'triangle':\n return Math.sqrt(3) * size * size / 4;\n\n case 'wye':\n return (21 - 10 * Math.sqrt(3)) * size * size / 8;\n\n default:\n return Math.PI * size * size / 4;\n }\n};\n\nexport var Symbols = /*#__PURE__*/function (_PureComponent) {\n _inherits(Symbols, _PureComponent);\n\n var _super = _createSuper(Symbols);\n\n function Symbols() {\n _classCallCheck(this, Symbols);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Symbols, [{\n key: \"getPath\",\n value:\n /**\n * Calculate the path of curve\n * @return {String} path\n */\n function getPath() {\n var _this$props = this.props,\n size = _this$props.size,\n sizeType = _this$props.sizeType,\n type = _this$props.type;\n var symbolFactory = getSymbolFactory(type);\n var symbol = shapeSymbol().type(symbolFactory).size(calculateAreaSize(size, sizeType, type));\n return symbol();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n className = _this$props2.className,\n cx = _this$props2.cx,\n cy = _this$props2.cy,\n size = _this$props2.size;\n\n if (cx === +cx && cy === +cy && size === +size) {\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(this.props, true), {\n className: classNames('recharts-symbols', className),\n transform: \"translate(\".concat(cx, \", \").concat(cy, \")\"),\n d: this.getPath()\n }));\n }\n\n return null;\n }\n }]);\n\n return Symbols;\n}(PureComponent);\nSymbols.defaultProps = {\n type: 'circle',\n size: 64,\n sizeType: 'area'\n};\n\nSymbols.registerSymbol = function (key, factory) {\n symbolFactories[\"symbol\".concat(_upperFirst(key))] = factory;\n};","import {path} from \"d3-path\";\nimport circle from \"./symbol/circle.js\";\nimport cross from \"./symbol/cross.js\";\nimport diamond from \"./symbol/diamond.js\";\nimport star from \"./symbol/star.js\";\nimport square from \"./symbol/square.js\";\nimport triangle from \"./symbol/triangle.js\";\nimport wye from \"./symbol/wye.js\";\nimport constant from \"./constant.js\";\n\nexport var symbols = [\n circle,\n cross,\n diamond,\n square,\n star,\n triangle,\n wye\n];\n\nexport default function(type, size) {\n var context = null;\n type = typeof type === \"function\" ? type : constant(type || circle);\n size = typeof size === \"function\" ? size : constant(size === undefined ? 64 : +size);\n\n function symbol() {\n var buffer;\n if (!context) context = buffer = path();\n type.apply(this, arguments).draw(context, +size.apply(this, arguments));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n symbol.type = function(_) {\n return arguments.length ? (type = typeof _ === \"function\" ? _ : constant(_), symbol) : type;\n };\n\n symbol.size = function(_) {\n return arguments.length ? (size = typeof _ === \"function\" ? _ : constant(+_), symbol) : size;\n };\n\n symbol.context = function(_) {\n return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n };\n\n return symbol;\n}\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\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * @fileOverview Default Legend Content\n */\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { Surface } from '../container/Surface';\nimport { Symbols } from '../shape/Symbols';\nimport { adaptEventsOfChild } from '../util/types';\nvar SIZE = 32;\nexport var DefaultLegendContent = /*#__PURE__*/function (_PureComponent) {\n _inherits(DefaultLegendContent, _PureComponent);\n\n var _super = _createSuper(DefaultLegendContent);\n\n function DefaultLegendContent() {\n _classCallCheck(this, DefaultLegendContent);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(DefaultLegendContent, [{\n key: \"renderIcon\",\n value:\n /**\n * Render the path of icon\n * @param {Object} data Data of each legend item\n * @return {String} Path element\n */\n function renderIcon(data) {\n var inactiveColor = this.props.inactiveColor;\n var halfSize = SIZE / 2;\n var sixthSize = SIZE / 6;\n var thirdSize = SIZE / 3;\n var color = data.inactive ? inactiveColor : data.color;\n\n if (data.type === 'plainline') {\n return /*#__PURE__*/React.createElement(\"line\", {\n strokeWidth: 4,\n fill: \"none\",\n stroke: color,\n strokeDasharray: data.payload.strokeDasharray,\n x1: 0,\n y1: halfSize,\n x2: SIZE,\n y2: halfSize,\n className: \"recharts-legend-icon\"\n });\n }\n\n if (data.type === 'line') {\n return /*#__PURE__*/React.createElement(\"path\", {\n strokeWidth: 4,\n fill: \"none\",\n stroke: color,\n d: \"M0,\".concat(halfSize, \"h\").concat(thirdSize, \"\\n A\").concat(sixthSize, \",\").concat(sixthSize, \",0,1,1,\").concat(2 * thirdSize, \",\").concat(halfSize, \"\\n H\").concat(SIZE, \"M\").concat(2 * thirdSize, \",\").concat(halfSize, \"\\n A\").concat(sixthSize, \",\").concat(sixthSize, \",0,1,1,\").concat(thirdSize, \",\").concat(halfSize),\n className: \"recharts-legend-icon\"\n });\n }\n\n if (data.type === 'rect') {\n return /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"none\",\n fill: color,\n d: \"M0,\".concat(SIZE / 8, \"h\").concat(SIZE, \"v\").concat(SIZE * 3 / 4, \"h\").concat(-SIZE, \"z\"),\n className: \"recharts-legend-icon\"\n });\n }\n\n if ( /*#__PURE__*/React.isValidElement(data.legendIcon)) {\n var iconProps = _objectSpread({}, data);\n\n delete iconProps.legendIcon;\n return /*#__PURE__*/React.cloneElement(data.legendIcon, iconProps);\n }\n\n return /*#__PURE__*/React.createElement(Symbols, {\n fill: color,\n cx: halfSize,\n cy: halfSize,\n size: SIZE,\n sizeType: \"diameter\",\n type: data.type\n });\n }\n /**\n * Draw items of legend\n * @return {ReactElement} Items\n */\n\n }, {\n key: \"renderItems\",\n value: function renderItems() {\n var _this = this;\n\n var _this$props = this.props,\n payload = _this$props.payload,\n iconSize = _this$props.iconSize,\n layout = _this$props.layout,\n formatter = _this$props.formatter,\n inactiveColor = _this$props.inactiveColor;\n var viewBox = {\n x: 0,\n y: 0,\n width: SIZE,\n height: SIZE\n };\n var itemStyle = {\n display: layout === 'horizontal' ? 'inline-block' : 'block',\n marginRight: 10\n };\n var svgStyle = {\n display: 'inline-block',\n verticalAlign: 'middle',\n marginRight: 4\n };\n return payload.map(function (entry, i) {\n var _classNames;\n\n var finalFormatter = entry.formatter || formatter;\n var className = classNames((_classNames = {\n 'recharts-legend-item': true\n }, _defineProperty(_classNames, \"legend-item-\".concat(i), true), _defineProperty(_classNames, \"inactive\", entry.inactive), _classNames));\n\n if (entry.type === 'none') {\n return null;\n }\n\n var color = entry.inactive ? inactiveColor : entry.color;\n return /*#__PURE__*/React.createElement(\"li\", _extends({\n className: className,\n style: itemStyle,\n key: \"legend-item-\".concat(i) // eslint-disable-line react/no-array-index-key\n\n }, adaptEventsOfChild(_this.props, entry, i)), /*#__PURE__*/React.createElement(Surface, {\n width: iconSize,\n height: iconSize,\n viewBox: viewBox,\n style: svgStyle\n }, _this.renderIcon(entry)), /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-legend-item-text\",\n style: {\n color: color\n }\n }, finalFormatter ? finalFormatter(entry.value, entry, i) : entry.value));\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n payload = _this$props2.payload,\n layout = _this$props2.layout,\n align = _this$props2.align;\n\n if (!payload || !payload.length) {\n return null;\n }\n\n var finalStyle = {\n padding: 0,\n margin: 0,\n textAlign: layout === 'horizontal' ? align : 'left'\n };\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: \"recharts-default-legend\",\n style: finalStyle\n }, this.renderItems());\n }\n }]);\n\n return DefaultLegendContent;\n}(PureComponent);\nDefaultLegendContent.displayName = 'Legend';\nDefaultLegendContent.defaultProps = {\n iconSize: 14,\n layout: 'horizontal',\n align: 'center',\n verticalAlign: 'middle',\n inactiveColor: '#ccc'\n};","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport _isFunction from \"lodash/isFunction\";\nimport _uniqBy from \"lodash/uniqBy\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\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\n/**\n * @fileOverview Legend\n */\nimport React, { PureComponent } from 'react';\nimport { DefaultLegendContent } from './DefaultLegendContent';\nimport { isNumber } from '../util/DataUtils';\n\nfunction defaultUniqBy(entry) {\n return entry.value;\n}\n\nfunction getUniqPayload(option, payload) {\n if (option === true) {\n return _uniqBy(payload, defaultUniqBy);\n }\n\n if (_isFunction(option)) {\n return _uniqBy(payload, option);\n }\n\n return payload;\n}\n\nfunction renderContent(content, props) {\n if ( /*#__PURE__*/React.isValidElement(content)) {\n return /*#__PURE__*/React.cloneElement(content, props);\n }\n\n if (_isFunction(content)) {\n return /*#__PURE__*/React.createElement(content, props);\n }\n\n var ref = props.ref,\n otherProps = _objectWithoutProperties(props, [\"ref\"]);\n\n return /*#__PURE__*/React.createElement(DefaultLegendContent, otherProps);\n}\n\nvar EPS = 1;\nexport var Legend = /*#__PURE__*/function (_PureComponent) {\n _inherits(Legend, _PureComponent);\n\n var _super = _createSuper(Legend);\n\n function Legend() {\n var _this;\n\n _classCallCheck(this, Legend);\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.wrapperNode = void 0;\n _this.state = {\n boxWidth: -1,\n boxHeight: -1\n };\n return _this;\n }\n\n _createClass(Legend, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateBBox();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.updateBBox();\n }\n }, {\n key: \"getBBox\",\n value: function getBBox() {\n if (this.wrapperNode && this.wrapperNode.getBoundingClientRect) {\n return this.wrapperNode.getBoundingClientRect();\n }\n\n return null;\n }\n }, {\n key: \"getBBoxSnapshot\",\n value: function getBBoxSnapshot() {\n var _this$state = this.state,\n boxWidth = _this$state.boxWidth,\n boxHeight = _this$state.boxHeight;\n\n if (boxWidth >= 0 && boxHeight >= 0) {\n return {\n width: boxWidth,\n height: boxHeight\n };\n }\n\n return null;\n }\n }, {\n key: \"getDefaultPosition\",\n value: function getDefaultPosition(style) {\n var _this$props = this.props,\n layout = _this$props.layout,\n align = _this$props.align,\n verticalAlign = _this$props.verticalAlign,\n margin = _this$props.margin,\n chartWidth = _this$props.chartWidth,\n chartHeight = _this$props.chartHeight;\n var hPos, vPos;\n\n if (!style || (style.left === undefined || style.left === null) && (style.right === undefined || style.right === null)) {\n if (align === 'center' && layout === 'vertical') {\n var _box = this.getBBoxSnapshot() || {\n width: 0\n };\n\n hPos = {\n left: ((chartWidth || 0) - _box.width) / 2\n };\n } else {\n hPos = align === 'right' ? {\n right: margin && margin.right || 0\n } : {\n left: margin && margin.left || 0\n };\n }\n }\n\n if (!style || (style.top === undefined || style.top === null) && (style.bottom === undefined || style.bottom === null)) {\n if (verticalAlign === 'middle') {\n var _box2 = this.getBBoxSnapshot() || {\n height: 0\n };\n\n vPos = {\n top: ((chartHeight || 0) - _box2.height) / 2\n };\n } else {\n vPos = verticalAlign === 'bottom' ? {\n bottom: margin && margin.bottom || 0\n } : {\n top: margin && margin.top || 0\n };\n }\n }\n\n return _objectSpread(_objectSpread({}, hPos), vPos);\n }\n }, {\n key: \"updateBBox\",\n value: function updateBBox() {\n var _this$state2 = this.state,\n boxWidth = _this$state2.boxWidth,\n boxHeight = _this$state2.boxHeight;\n var onBBoxUpdate = this.props.onBBoxUpdate;\n\n if (this.wrapperNode && this.wrapperNode.getBoundingClientRect) {\n var _box3 = this.wrapperNode.getBoundingClientRect();\n\n if (Math.abs(_box3.width - boxWidth) > EPS || Math.abs(_box3.height - boxHeight) > EPS) {\n this.setState({\n boxWidth: _box3.width,\n boxHeight: _box3.height\n }, function () {\n if (onBBoxUpdate) {\n onBBoxUpdate(_box3);\n }\n });\n }\n } else if (boxWidth !== -1 || boxHeight !== -1) {\n this.setState({\n boxWidth: -1,\n boxHeight: -1\n }, function () {\n if (onBBoxUpdate) {\n onBBoxUpdate(null);\n }\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n content = _this$props2.content,\n width = _this$props2.width,\n height = _this$props2.height,\n wrapperStyle = _this$props2.wrapperStyle,\n payloadUniqBy = _this$props2.payloadUniqBy,\n payload = _this$props2.payload;\n\n var outerStyle = _objectSpread(_objectSpread({\n position: 'absolute',\n width: width || 'auto',\n height: height || 'auto'\n }, this.getDefaultPosition(wrapperStyle)), wrapperStyle);\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"recharts-legend-wrapper\",\n style: outerStyle,\n ref: function ref(node) {\n _this2.wrapperNode = node;\n }\n }, renderContent(content, _objectSpread(_objectSpread({}, this.props), {}, {\n payload: getUniqPayload(payloadUniqBy, payload)\n })));\n }\n }], [{\n key: \"getWithHeight\",\n value: function getWithHeight(item, chartWidth) {\n var layout = item.props.layout;\n\n if (layout === 'vertical' && isNumber(item.props.height)) {\n return {\n height: item.props.height\n };\n }\n\n if (layout === 'horizontal') {\n return {\n width: item.props.width || chartWidth\n };\n }\n\n return null;\n }\n }]);\n\n return Legend;\n}(PureComponent);\nLegend.displayName = 'Legend';\nLegend.defaultProps = {\n iconSize: 14,\n layout: 'horizontal',\n align: 'center',\n verticalAlign: 'bottom'\n};","import _debounce from \"lodash/debounce\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n/**\n * @fileOverview Wrapper component to make charts adapt to the size of parent * DOM\n */\nimport classNames from 'classnames';\nimport React, { forwardRef, cloneElement, useState, useImperativeHandle, useRef, useEffect } from 'react';\nimport ReactResizeDetector from 'react-resize-detector/build/withPolyfill';\nimport { isPercent } from '../util/DataUtils';\nimport { warn } from '../util/LogUtils';\nexport var ResponsiveContainer = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var aspect = _ref.aspect,\n _ref$width = _ref.width,\n width = _ref$width === void 0 ? '100%' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? '100%' : _ref$height,\n minWidth = _ref.minWidth,\n minHeight = _ref.minHeight,\n maxHeight = _ref.maxHeight,\n children = _ref.children,\n _ref$debounce = _ref.debounce,\n debounce = _ref$debounce === void 0 ? 0 : _ref$debounce,\n id = _ref.id,\n className = _ref.className;\n\n var _useState = useState({\n containerWidth: -1,\n containerHeight: -1\n }),\n _useState2 = _slicedToArray(_useState, 2),\n sizes = _useState2[0],\n setSizes = _useState2[1];\n\n var containerRef = useRef(null);\n useImperativeHandle(ref, function () {\n return containerRef;\n }, [containerRef]);\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n mounted = _useState4[0],\n setMounted = _useState4[1];\n\n var getContainerSize = function getContainerSize() {\n if (!containerRef.current) {\n return null;\n }\n\n return {\n containerWidth: containerRef.current.clientWidth,\n containerHeight: containerRef.current.clientHeight\n };\n };\n\n var updateDimensionsImmediate = function updateDimensionsImmediate() {\n if (!mounted) {\n return;\n }\n\n var newSize = getContainerSize();\n\n if (newSize) {\n var oldWidth = sizes.containerWidth,\n oldHeight = sizes.containerHeight;\n var containerWidth = newSize.containerWidth,\n containerHeight = newSize.containerHeight;\n\n if (containerWidth !== oldWidth || containerHeight !== oldHeight) {\n setSizes({\n containerWidth: containerWidth,\n containerHeight: containerHeight\n });\n }\n }\n };\n\n var handleResize = debounce > 0 ? _debounce(updateDimensionsImmediate, debounce) : updateDimensionsImmediate;\n\n var renderChart = function renderChart() {\n var containerWidth = sizes.containerWidth,\n containerHeight = sizes.containerHeight;\n\n if (containerWidth < 0 || containerHeight < 0) {\n return null;\n }\n\n warn(isPercent(width) || isPercent(height), \"The width(%s) and height(%s) are both fixed numbers,\\n maybe you don't need to use a ResponsiveContainer.\", width, height);\n warn(!aspect || aspect > 0, 'The aspect(%s) must be greater than zero.', aspect);\n var calculatedWidth = isPercent(width) ? containerWidth : width;\n var calculatedHeight = isPercent(height) ? containerHeight : height;\n\n if (aspect && aspect > 0) {\n // Preserve the desired aspect ratio\n if (calculatedWidth) {\n // Will default to using width for aspect ratio\n calculatedHeight = calculatedWidth / aspect;\n } else if (calculatedHeight) {\n // But we should also take height into consideration\n calculatedWidth = calculatedHeight * aspect;\n } // if maxHeight is set, overwrite if calculatedHeight is greater than maxHeight\n\n\n if (maxHeight && calculatedHeight > maxHeight) {\n calculatedHeight = maxHeight;\n }\n }\n\n warn(calculatedWidth > 0 || calculatedHeight > 0, \"The width(%s) and height(%s) of chart should be greater than 0,\\n please check the style of container, or the props width(%s) and height(%s),\\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\\n height and width.\", calculatedWidth, calculatedHeight, width, height, minWidth, minHeight, aspect);\n return /*#__PURE__*/cloneElement(children, {\n width: calculatedWidth,\n height: calculatedHeight\n });\n };\n\n useEffect(function () {\n if (mounted) {\n var size = getContainerSize();\n\n if (size) {\n setSizes(size);\n }\n }\n }, [mounted]);\n useEffect(function () {\n setMounted(true);\n }, []);\n var style = {\n width: width,\n height: height,\n minWidth: minWidth,\n minHeight: minHeight,\n maxHeight: maxHeight\n };\n return /*#__PURE__*/React.createElement(ReactResizeDetector, {\n handleWidth: true,\n handleHeight: true,\n onResize: handleResize,\n targetRef: containerRef\n }, /*#__PURE__*/React.createElement(\"div\", _extends({}, id != null ? {\n id: \"\".concat(id)\n } : {}, {\n className: classNames('recharts-responsive-container', className),\n style: style,\n ref: containerRef\n }), renderChart()));\n});","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 _isNil from \"lodash/isNil\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _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\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\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\nimport React, { Component } from 'react';\nimport reduceCSSCalc from 'reduce-css-calc';\nimport classNames from 'classnames';\nimport { isNumber, isNumOrStr } from '../util/DataUtils';\nimport { Global } from '../util/Global';\nimport { filterProps } from '../util/types';\nimport { getStringSize } from '../util/DOMUtils';\nvar BREAKING_SPACES = /[ \\f\\n\\r\\t\\v\\u2028\\u2029]+/;\n\nvar calculateWordWidths = function calculateWordWidths(props) {\n try {\n var words = [];\n\n if (!_isNil(props.children)) {\n if (props.breakAll) {\n words = props.children.toString().split('');\n } else {\n words = props.children.toString().split(BREAKING_SPACES);\n }\n }\n\n var wordsWithComputedWidth = words.map(function (word) {\n return {\n word: word,\n width: getStringSize(word, props.style).width\n };\n });\n var spaceWidth = props.breakAll ? 0 : getStringSize(\"\\xA0\", props.style).width;\n return {\n wordsWithComputedWidth: wordsWithComputedWidth,\n spaceWidth: spaceWidth\n };\n } catch (e) {\n return null;\n }\n};\n\nvar calculateWordsByLines = function calculateWordsByLines(props, initialWordsWithComputedWith, spaceWidth, lineWidth, scaleToFit) {\n var shouldLimitLines = isNumber(props.maxLines);\n var text = props.children;\n\n var calculate = function calculate() {\n var words = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return words.reduce(function (result, _ref) {\n var word = _ref.word,\n width = _ref.width;\n var currentLine = result[result.length - 1];\n\n if (currentLine && (lineWidth == null || scaleToFit || currentLine.width + width + spaceWidth < lineWidth)) {\n // Word can be added to an existing line\n currentLine.words.push(word);\n currentLine.width += width + spaceWidth;\n } else {\n // Add first word to line or word is too long to scaleToFit on existing line\n var newLine = {\n words: [word],\n width: width\n };\n result.push(newLine);\n }\n\n return result;\n }, []);\n };\n\n var originalResult = calculate(initialWordsWithComputedWith);\n\n var findLongestLine = function findLongestLine(words) {\n return words.reduce(function (a, b) {\n return a.width > b.width ? a : b;\n });\n };\n\n if (!shouldLimitLines) {\n return originalResult;\n }\n\n var suffix = '…';\n\n var checkOverflow = function checkOverflow(index) {\n var tempText = text.slice(0, index);\n var words = calculateWordWidths(_objectSpread(_objectSpread({}, props), {}, {\n children: tempText + suffix\n })).wordsWithComputedWidth;\n var result = calculate(words);\n var doesOverflow = result.length > props.maxLines || findLongestLine(result).width > lineWidth;\n return [doesOverflow, result];\n };\n\n var start = 0;\n var end = text.length - 1;\n var iterations = 0;\n var trimmedResult;\n\n while (start <= end && iterations <= text.length - 1) {\n var middle = Math.floor((start + end) / 2);\n var prev = middle - 1;\n\n var _checkOverflow = checkOverflow(prev),\n _checkOverflow2 = _slicedToArray(_checkOverflow, 2),\n doesPrevOverflow = _checkOverflow2[0],\n result = _checkOverflow2[1];\n\n var _checkOverflow3 = checkOverflow(middle),\n _checkOverflow4 = _slicedToArray(_checkOverflow3, 1),\n doesMiddleOverflow = _checkOverflow4[0];\n\n if (!doesPrevOverflow && !doesMiddleOverflow) {\n start = middle + 1;\n }\n\n if (doesPrevOverflow && doesMiddleOverflow) {\n end = middle - 1;\n }\n\n if (!doesPrevOverflow && doesMiddleOverflow) {\n trimmedResult = result;\n break;\n }\n\n iterations++;\n } // Fallback to originalResult (result without trimming) if we cannot find the\n // where to trim. This should not happen :tm:\n\n\n return trimmedResult || originalResult;\n};\n\nvar getWordsWithoutCalculate = function getWordsWithoutCalculate(children) {\n var words = !_isNil(children) ? children.toString().split(BREAKING_SPACES) : [];\n return [{\n words: words\n }];\n};\n\nvar getWordsByLines = function getWordsByLines(props, needCalculate) {\n // Only perform calculations if using features that require them (multiline, scaleToFit)\n if ((props.width || props.scaleToFit) && !Global.isSsr) {\n var wordsWithComputedWidth, spaceWidth;\n\n if (needCalculate) {\n var wordWidths = calculateWordWidths(props);\n\n if (wordWidths) {\n var wcw = wordWidths.wordsWithComputedWidth,\n sw = wordWidths.spaceWidth;\n wordsWithComputedWidth = wcw;\n spaceWidth = sw;\n } else {\n return getWordsWithoutCalculate(props.children);\n }\n\n return calculateWordsByLines(props, wordsWithComputedWidth, spaceWidth, props.width, props.scaleToFit);\n }\n }\n\n return getWordsWithoutCalculate(props.children);\n};\n\nexport var Text = /*#__PURE__*/function (_Component) {\n _inherits(Text, _Component);\n\n var _super = _createSuper(Text);\n\n function Text() {\n var _this;\n\n _classCallCheck(this, Text);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {};\n return _this;\n }\n\n _createClass(Text, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n dx = _this$props.dx,\n dy = _this$props.dy,\n textAnchor = _this$props.textAnchor,\n verticalAnchor = _this$props.verticalAnchor,\n scaleToFit = _this$props.scaleToFit,\n angle = _this$props.angle,\n lineHeight = _this$props.lineHeight,\n capHeight = _this$props.capHeight,\n className = _this$props.className,\n breakAll = _this$props.breakAll,\n textProps = _objectWithoutProperties(_this$props, [\"dx\", \"dy\", \"textAnchor\", \"verticalAnchor\", \"scaleToFit\", \"angle\", \"lineHeight\", \"capHeight\", \"className\", \"breakAll\"]);\n\n var wordsByLines = this.state.wordsByLines;\n\n if (!isNumOrStr(textProps.x) || !isNumOrStr(textProps.y)) {\n return null;\n }\n\n var x = textProps.x + (isNumber(dx) ? dx : 0);\n var y = textProps.y + (isNumber(dy) ? dy : 0);\n var startDy;\n\n switch (verticalAnchor) {\n case 'start':\n startDy = reduceCSSCalc(\"calc(\".concat(capHeight, \")\"));\n break;\n\n case 'middle':\n startDy = reduceCSSCalc(\"calc(\".concat((wordsByLines.length - 1) / 2, \" * -\").concat(lineHeight, \" + (\").concat(capHeight, \" / 2))\"));\n break;\n\n default:\n startDy = reduceCSSCalc(\"calc(\".concat(wordsByLines.length - 1, \" * -\").concat(lineHeight, \")\"));\n break;\n }\n\n var transforms = [];\n\n if (scaleToFit) {\n var lineWidth = wordsByLines[0].width;\n var width = this.props.width;\n transforms.push(\"scale(\".concat((isNumber(width) ? width / lineWidth : 1) / lineWidth, \")\"));\n }\n\n if (angle) {\n transforms.push(\"rotate(\".concat(angle, \", \").concat(x, \", \").concat(y, \")\"));\n }\n\n if (transforms.length) {\n textProps.transform = transforms.join(' ');\n }\n\n return /*#__PURE__*/React.createElement(\"text\", _extends({}, filterProps(textProps, true), {\n x: x,\n y: y,\n className: classNames('recharts-text', className),\n textAnchor: textAnchor\n }), wordsByLines.map(function (line, index) {\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"tspan\", {\n x: x,\n dy: index === 0 ? startDy : lineHeight,\n key: index\n }, line.words.join(breakAll ? '' : ' '))\n );\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.width !== prevState.prevWidth || nextProps.scaleToFit !== prevState.prevScaleToFit || nextProps.children !== prevState.prevChildren || nextProps.style !== prevState.prevStyle || nextProps.breakAll !== prevState.prevBreakAll) {\n var needCalculate = nextProps.children !== prevState.prevChildren || nextProps.style !== prevState.prevStyle || nextProps.breakAll !== prevState.prevBreakAll;\n return {\n prevWidth: nextProps.width,\n prevScaleToFit: nextProps.scaleToFit,\n prevChildren: nextProps.children,\n prevStyle: nextProps.style,\n wordsByLines: getWordsByLines(nextProps, needCalculate)\n };\n }\n\n return null;\n }\n }]);\n\n return Text;\n}(Component);\nText.defaultProps = {\n x: 0,\n y: 0,\n lineHeight: '1em',\n capHeight: '0.71em',\n // Magic number from d3\n scaleToFit: false,\n textAnchor: 'start',\n verticalAnchor: 'end' // Maintain compat with existing charts / default SVG behavior\n\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 _isNil from \"lodash/isNil\";\nimport _sortBy from \"lodash/sortBy\";\nimport _isArray from \"lodash/isArray\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { isNumOrStr } from '../util/DataUtils';\n\nfunction defaultFormatter(value) {\n return _isArray(value) && isNumOrStr(value[0]) && isNumOrStr(value[1]) ? value.join(' ~ ') : value;\n}\n\nexport var DefaultTooltipContent = /*#__PURE__*/function (_PureComponent) {\n _inherits(DefaultTooltipContent, _PureComponent);\n\n var _super = _createSuper(DefaultTooltipContent);\n\n function DefaultTooltipContent() {\n _classCallCheck(this, DefaultTooltipContent);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(DefaultTooltipContent, [{\n key: \"renderContent\",\n value: function renderContent() {\n var _this$props = this.props,\n payload = _this$props.payload,\n separator = _this$props.separator,\n formatter = _this$props.formatter,\n itemStyle = _this$props.itemStyle,\n itemSorter = _this$props.itemSorter;\n\n if (payload && payload.length) {\n var listStyle = {\n padding: 0,\n margin: 0\n };\n var items = (itemSorter ? _sortBy(payload, itemSorter) : payload).map(function (entry, i) {\n if (entry.type === 'none') {\n return null;\n }\n\n var finalItemStyle = _objectSpread({\n display: 'block',\n paddingTop: 4,\n paddingBottom: 4,\n color: entry.color || '#000'\n }, itemStyle);\n\n var finalFormatter = entry.formatter || formatter || defaultFormatter;\n var name = entry.name,\n value = entry.value;\n\n if (finalFormatter) {\n var formatted = finalFormatter(value, name, entry, i, payload);\n\n if (Array.isArray(formatted)) {\n var _formatted = _slicedToArray(formatted, 2);\n\n value = _formatted[0];\n name = _formatted[1];\n } else {\n value = formatted;\n }\n }\n\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"li\", {\n className: \"recharts-tooltip-item\",\n key: \"tooltip-item-\".concat(i),\n style: finalItemStyle\n }, isNumOrStr(name) ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-name\"\n }, name) : null, isNumOrStr(name) ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-separator\"\n }, separator) : null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-value\"\n }, value), /*#__PURE__*/React.createElement(\"span\", {\n className: \"recharts-tooltip-item-unit\"\n }, entry.unit || ''))\n );\n });\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: \"recharts-tooltip-item-list\",\n style: listStyle\n }, items);\n }\n\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n wrapperClassName = _this$props2.wrapperClassName,\n contentStyle = _this$props2.contentStyle,\n labelClassName = _this$props2.labelClassName,\n labelStyle = _this$props2.labelStyle,\n label = _this$props2.label,\n labelFormatter = _this$props2.labelFormatter,\n payload = _this$props2.payload;\n\n var finalStyle = _objectSpread({\n margin: 0,\n padding: 10,\n backgroundColor: '#fff',\n border: '1px solid #ccc',\n whiteSpace: 'nowrap'\n }, contentStyle);\n\n var finalLabelStyle = _objectSpread({\n margin: 0\n }, labelStyle);\n\n var hasLabel = !_isNil(label);\n var finalLabel = hasLabel ? label : '';\n var wrapperCN = classNames('recharts-default-tooltip', wrapperClassName);\n var labelCN = classNames('recharts-tooltip-label', labelClassName);\n\n if (hasLabel && labelFormatter) {\n finalLabel = labelFormatter(label, payload);\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: wrapperCN,\n style: finalStyle\n }, /*#__PURE__*/React.createElement(\"p\", {\n className: labelCN,\n style: finalLabelStyle\n }, /*#__PURE__*/React.isValidElement(finalLabel) ? finalLabel : \"\".concat(finalLabel)), this.renderContent());\n }\n }]);\n\n return DefaultTooltipContent;\n}(PureComponent);\nDefaultTooltipContent.displayName = 'DefaultTooltipContent';\nDefaultTooltipContent.defaultProps = {\n separator: ' : ',\n contentStyle: {},\n itemStyle: {},\n labelStyle: {}\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 _isNil from \"lodash/isNil\";\nimport _isFunction from \"lodash/isFunction\";\nimport _uniqBy from \"lodash/uniqBy\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * @fileOverview Tooltip\n */\nimport React, { PureComponent } from 'react';\nimport { translateStyle } from 'react-smooth';\nimport classNames from 'classnames';\nimport { DefaultTooltipContent } from './DefaultTooltipContent';\nimport { Global } from '../util/Global';\nimport { isNumber } from '../util/DataUtils';\nvar CLS_PREFIX = 'recharts-tooltip-wrapper';\nvar EPS = 1;\n\nfunction defaultUniqBy(entry) {\n return entry.dataKey;\n}\n\nfunction getUniqPayload(option, payload) {\n if (option === true) {\n return _uniqBy(payload, defaultUniqBy);\n }\n\n if (_isFunction(option)) {\n return _uniqBy(payload, option);\n }\n\n return payload;\n}\n\nfunction renderContent(content, props) {\n if ( /*#__PURE__*/React.isValidElement(content)) {\n return /*#__PURE__*/React.cloneElement(content, props);\n }\n\n if (_isFunction(content)) {\n return /*#__PURE__*/React.createElement(content, props);\n }\n\n return /*#__PURE__*/React.createElement(DefaultTooltipContent, props);\n}\n\nexport var Tooltip = /*#__PURE__*/function (_PureComponent) {\n _inherits(Tooltip, _PureComponent);\n\n var _super = _createSuper(Tooltip);\n\n function Tooltip() {\n var _this;\n\n _classCallCheck(this, Tooltip);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n boxWidth: -1,\n boxHeight: -1\n };\n _this.wrapperNode = void 0;\n\n _this.getTranslate = function (_ref) {\n var key = _ref.key,\n tooltipDimension = _ref.tooltipDimension,\n viewBoxDimension = _ref.viewBoxDimension;\n var _this$props = _this.props,\n allowEscapeViewBox = _this$props.allowEscapeViewBox,\n coordinate = _this$props.coordinate,\n offset = _this$props.offset,\n position = _this$props.position,\n viewBox = _this$props.viewBox;\n\n if (position && isNumber(position[key])) {\n return position[key];\n }\n\n var restricted = coordinate[key] - tooltipDimension - offset;\n var unrestricted = coordinate[key] + offset;\n\n if (allowEscapeViewBox[key]) {\n return unrestricted;\n }\n\n var tooltipBoundary = coordinate[key] + tooltipDimension + offset;\n var viewBoxBoundary = viewBox[key] + viewBoxDimension;\n\n if (tooltipBoundary > viewBoxBoundary) {\n return Math.max(restricted, viewBox[key]);\n }\n\n return Math.max(unrestricted, viewBox[key]);\n };\n\n return _this;\n }\n\n _createClass(Tooltip, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateBBox();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.updateBBox();\n }\n }, {\n key: \"updateBBox\",\n value: function updateBBox() {\n var _this$state = this.state,\n boxWidth = _this$state.boxWidth,\n boxHeight = _this$state.boxHeight;\n\n if (this.wrapperNode && this.wrapperNode.getBoundingClientRect) {\n var box = this.wrapperNode.getBoundingClientRect();\n\n if (Math.abs(box.width - boxWidth) > EPS || Math.abs(box.height - boxHeight) > EPS) {\n this.setState({\n boxWidth: box.width,\n boxHeight: box.height\n });\n }\n } else if (boxWidth !== -1 || boxHeight !== -1) {\n this.setState({\n boxWidth: -1,\n boxHeight: -1\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames,\n _this2 = this;\n\n var _this$props2 = this.props,\n payload = _this$props2.payload,\n isAnimationActive = _this$props2.isAnimationActive,\n animationDuration = _this$props2.animationDuration,\n animationEasing = _this$props2.animationEasing,\n filterNull = _this$props2.filterNull,\n payloadUniqBy = _this$props2.payloadUniqBy;\n var finalPayload = getUniqPayload(payloadUniqBy, filterNull && payload && payload.length ? payload.filter(function (entry) {\n return !_isNil(entry.value);\n }) : payload);\n var hasPayload = finalPayload && finalPayload.length;\n var _this$props3 = this.props,\n content = _this$props3.content,\n viewBox = _this$props3.viewBox,\n coordinate = _this$props3.coordinate,\n position = _this$props3.position,\n active = _this$props3.active,\n wrapperStyle = _this$props3.wrapperStyle;\n\n var outerStyle = _objectSpread({\n pointerEvents: 'none',\n visibility: active && hasPayload ? 'visible' : 'hidden',\n position: 'absolute',\n top: 0,\n left: 0\n }, wrapperStyle);\n\n var translateX, translateY;\n\n if (position && isNumber(position.x) && isNumber(position.y)) {\n translateX = position.x;\n translateY = position.y;\n } else {\n var _this$state2 = this.state,\n boxWidth = _this$state2.boxWidth,\n boxHeight = _this$state2.boxHeight;\n\n if (boxWidth > 0 && boxHeight > 0 && coordinate) {\n translateX = this.getTranslate({\n key: 'x',\n tooltipDimension: boxWidth,\n viewBoxDimension: viewBox.width\n });\n translateY = this.getTranslate({\n key: 'y',\n tooltipDimension: boxHeight,\n viewBoxDimension: viewBox.height\n });\n } else {\n outerStyle.visibility = 'hidden';\n }\n }\n\n outerStyle = _objectSpread(_objectSpread({}, translateStyle({\n transform: this.props.useTranslate3d ? \"translate3d(\".concat(translateX, \"px, \").concat(translateY, \"px, 0)\") : \"translate(\".concat(translateX, \"px, \").concat(translateY, \"px)\")\n })), outerStyle);\n\n if (isAnimationActive && active) {\n outerStyle = _objectSpread(_objectSpread({}, translateStyle({\n transition: \"transform \".concat(animationDuration, \"ms \").concat(animationEasing)\n })), outerStyle);\n }\n\n var cls = classNames(CLS_PREFIX, (_classNames = {}, _defineProperty(_classNames, \"\".concat(CLS_PREFIX, \"-right\"), isNumber(translateX) && coordinate && isNumber(coordinate.x) && translateX >= coordinate.x), _defineProperty(_classNames, \"\".concat(CLS_PREFIX, \"-left\"), isNumber(translateX) && coordinate && isNumber(coordinate.x) && translateX < coordinate.x), _defineProperty(_classNames, \"\".concat(CLS_PREFIX, \"-bottom\"), isNumber(translateY) && coordinate && isNumber(coordinate.y) && translateY >= coordinate.y), _defineProperty(_classNames, \"\".concat(CLS_PREFIX, \"-top\"), isNumber(translateY) && coordinate && isNumber(coordinate.y) && translateY < coordinate.y), _classNames));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: cls,\n style: outerStyle,\n ref: function ref(node) {\n _this2.wrapperNode = node;\n }\n }, renderContent(content, _objectSpread(_objectSpread({}, this.props), {}, {\n payload: finalPayload\n })));\n }\n }]);\n\n return Tooltip;\n}(PureComponent);\nTooltip.displayName = 'Tooltip';\nTooltip.defaultProps = {\n active: false,\n allowEscapeViewBox: {\n x: false,\n y: false\n },\n offset: 10,\n viewBox: {\n x1: 0,\n x2: 0,\n y1: 0,\n y2: 0\n },\n coordinate: {\n x: 0,\n y: 0\n },\n cursorStyle: {},\n separator: ' : ',\n wrapperStyle: {},\n contentStyle: {},\n itemStyle: {},\n labelStyle: {},\n cursor: true,\n trigger: 'hover',\n isAnimationActive: !Global.isSsr,\n animationEasing: 'ease',\n animationDuration: 400,\n filterNull: true,\n useTranslate3d: false\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/**\n * @fileOverview Layer\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { filterProps } from '../util/types';\nexport function Layer(props) {\n var children = props.children,\n className = props.className,\n others = _objectWithoutProperties(props, [\"children\", \"className\"]);\n\n var layerClass = classNames('recharts-layer', className);\n return /*#__PURE__*/React.createElement(\"g\", _extends({\n className: layerClass\n }, filterProps(others, true)), children);\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/**\n * @fileOverview Surface\n */\nimport React from 'react';\nimport classNames from 'classnames';\nimport { filterProps } from '../util/types';\nexport function Surface(props) {\n var children = props.children,\n width = props.width,\n height = props.height,\n viewBox = props.viewBox,\n className = props.className,\n style = props.style,\n others = _objectWithoutProperties(props, [\"children\", \"width\", \"height\", \"viewBox\", \"className\", \"style\"]);\n\n var svgView = viewBox || {\n width: width,\n height: height,\n x: 0,\n y: 0\n };\n var layerClass = classNames('recharts-surface', className);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({}, filterProps(others, true, true), {\n className: layerClass,\n width: width,\n height: height,\n style: style,\n viewBox: \"\".concat(svgView.x, \" \").concat(svgView.y, \" \").concat(svgView.width, \" \").concat(svgView.height),\n version: \"1.1\"\n }), children);\n}","export default function() {}\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // proceed\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n","import noop from \"../noop.js\";\nimport {point} from \"./basis.js\";\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x2 = x, this._y2 = y; break;\n case 1: this._point = 2; this._x3 = x, this._y3 = y; break;\n case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisClosed(context);\n}\n","import {point} from \"./basis.js\";\n\nfunction BasisOpen(context) {\n this._context = context;\n}\n\nBasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisOpen(context);\n}\n","import noop from \"../noop.js\";\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point) this._context.closePath();\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) this._context.lineTo(x, y);\n else this._point = 1, this._context.moveTo(x, y);\n }\n};\n\nexport default function(context) {\n return new LinearClosed(context);\n}\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n","function Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n// See https://www.particleincell.com/2012/bezier-splines/ for derivation.\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\n\nexport default function(context) {\n return new Natural(context);\n}\n","function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import {path} from \"d3-path\";\nimport array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x, y) {\n var defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n x = typeof x === \"function\" ? x : (x === undefined) ? pointX : constant(x);\n y = typeof y === \"function\" ? y : (y === undefined) ? pointY : constant(y);\n\n function line(data) {\n var i,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n","import {path} from \"d3-path\";\nimport array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport line from \"./line.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x0, y0, y1) {\n var x1 = null,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n\n x0 = typeof x0 === \"function\" ? x0 : (x0 === undefined) ? pointX : constant(+x0);\n y0 = typeof y0 === \"function\" ? y0 : (y0 === undefined) ? constant(0) : constant(+y0);\n y1 = typeof y1 === \"function\" ? y1 : (y1 === undefined) ? pointY : constant(+y1);\n\n function area(data) {\n var i,\n j,\n k,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n function arealine() {\n return line().defined(defined).curve(curve).context(context);\n }\n\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), area) : x0;\n };\n\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : x1;\n };\n\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), area) : y0;\n };\n\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : y1;\n };\n\n area.lineX0 =\n area.lineY0 = function() {\n return arealine().x(x0).y(y0);\n };\n\n area.lineY1 = function() {\n return arealine().x(x0).y(y1);\n };\n\n area.lineX1 = function() {\n return arealine().x(x1).y(y0);\n };\n\n area.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), area) : defined;\n };\n\n area.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n\n area.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n\n return area;\n}\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 _isArray from \"lodash/isArray\";\nimport _upperFirst from \"lodash/upperFirst\";\nimport _isFunction from \"lodash/isFunction\";\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * @fileOverview Curve\n */\nimport React, { PureComponent } from 'react';\nimport { line as shapeLine, area as shapeArea, curveBasisClosed, curveBasisOpen, curveBasis, curveLinearClosed, curveLinear, curveMonotoneX, curveMonotoneY, curveNatural, curveStep, curveStepAfter, curveStepBefore } from 'd3-shape';\nimport classNames from 'classnames';\nimport { adaptEventHandlers, filterProps } from '../util/types';\nimport { isNumber } from '../util/DataUtils';\nvar CURVE_FACTORIES = {\n curveBasisClosed: curveBasisClosed,\n curveBasisOpen: curveBasisOpen,\n curveBasis: curveBasis,\n curveLinearClosed: curveLinearClosed,\n curveLinear: curveLinear,\n curveMonotoneX: curveMonotoneX,\n curveMonotoneY: curveMonotoneY,\n curveNatural: curveNatural,\n curveStep: curveStep,\n curveStepAfter: curveStepAfter,\n curveStepBefore: curveStepBefore\n};\n\nvar defined = function defined(p) {\n return p.x === +p.x && p.y === +p.y;\n};\n\nvar getX = function getX(p) {\n return p.x;\n};\n\nvar getY = function getY(p) {\n return p.y;\n};\n\nvar getCurveFactory = function getCurveFactory(type, layout) {\n if (_isFunction(type)) {\n return type;\n }\n\n var name = \"curve\".concat(_upperFirst(type));\n\n if (name === 'curveMonotone' && layout) {\n return CURVE_FACTORIES[\"\".concat(name).concat(layout === 'vertical' ? 'Y' : 'X')];\n }\n\n return CURVE_FACTORIES[name] || curveLinear;\n};\n\nexport var Curve = /*#__PURE__*/function (_PureComponent) {\n _inherits(Curve, _PureComponent);\n\n var _super = _createSuper(Curve);\n\n function Curve() {\n _classCallCheck(this, Curve);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Curve, [{\n key: \"getPath\",\n value:\n /**\n * Calculate the path of curve\n * @return {String} path\n */\n function getPath() {\n var _this$props = this.props,\n type = _this$props.type,\n points = _this$props.points,\n baseLine = _this$props.baseLine,\n layout = _this$props.layout,\n connectNulls = _this$props.connectNulls;\n var curveFactory = getCurveFactory(type, layout);\n var formatPoints = connectNulls ? points.filter(function (entry) {\n return defined(entry);\n }) : points;\n var lineFunction;\n\n if (_isArray(baseLine)) {\n var formatBaseLine = connectNulls ? baseLine.filter(function (base) {\n return defined(base);\n }) : baseLine;\n var areaPoints = formatPoints.map(function (entry, index) {\n return _objectSpread(_objectSpread({}, entry), {}, {\n base: formatBaseLine[index]\n });\n });\n\n if (layout === 'vertical') {\n lineFunction = shapeArea().y(getY).x1(getX).x0(function (d) {\n return d.base.x;\n });\n } else {\n lineFunction = shapeArea().x(getX).y1(getY).y0(function (d) {\n return d.base.y;\n });\n }\n\n lineFunction.defined(defined).curve(curveFactory);\n return lineFunction(areaPoints);\n }\n\n if (layout === 'vertical' && isNumber(baseLine)) {\n lineFunction = shapeArea().y(getY).x1(getX).x0(baseLine);\n } else if (isNumber(baseLine)) {\n lineFunction = shapeArea().x(getX).y1(getY).y0(baseLine);\n } else {\n lineFunction = shapeLine().x(getX).y(getY);\n }\n\n lineFunction.defined(defined).curve(curveFactory);\n return lineFunction(formatPoints);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n className = _this$props2.className,\n points = _this$props2.points,\n path = _this$props2.path,\n pathRef = _this$props2.pathRef;\n\n if ((!points || !points.length) && !path) {\n return null;\n }\n\n var realPath = points && points.length ? this.getPath() : path;\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(this.props), adaptEventHandlers(this.props), {\n className: classNames('recharts-curve', className),\n d: realPath,\n ref: pathRef\n }));\n }\n }]);\n\n return Curve;\n}(PureComponent);\nCurve.defaultProps = {\n type: 'linear',\n points: [],\n connectNulls: false\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\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 _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 Dot\n */\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { adaptEventHandlers, filterProps } from '../util/types';\nexport var Dot = /*#__PURE__*/function (_PureComponent) {\n _inherits(Dot, _PureComponent);\n\n var _super = _createSuper(Dot);\n\n function Dot() {\n _classCallCheck(this, Dot);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Dot, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n cx = _this$props.cx,\n cy = _this$props.cy,\n r = _this$props.r,\n className = _this$props.className;\n var layerClass = classNames('recharts-dot', className);\n\n if (cx === +cx && cy === +cy && r === +r) {\n return /*#__PURE__*/React.createElement(\"circle\", _extends({}, filterProps(this.props), adaptEventHandlers(this.props), {\n className: layerClass,\n cx: cx,\n cy: cy,\n r: r\n }));\n }\n\n return null;\n }\n }]);\n\n return Dot;\n}(PureComponent);","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\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 _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 Rectangle\n */\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport Animate from 'react-smooth';\nimport { filterProps } from '../util/types';\n\nvar getRectanglePath = function getRectanglePath(x, y, width, height, radius) {\n var maxRadius = Math.min(Math.abs(width) / 2, Math.abs(height) / 2);\n var ySign = height >= 0 ? 1 : -1;\n var xSign = width >= 0 ? 1 : -1;\n var clockWise = height >= 0 && width >= 0 || height < 0 && width < 0 ? 1 : 0;\n var path;\n\n if (maxRadius > 0 && radius instanceof Array) {\n var newRadius = [0, 0, 0, 0];\n\n for (var i = 0, len = 4; i < len; i++) {\n newRadius[i] = radius[i] > maxRadius ? maxRadius : radius[i];\n }\n\n path = \"M\".concat(x, \",\").concat(y + ySign * newRadius[0]);\n\n if (newRadius[0] > 0) {\n path += \"A \".concat(newRadius[0], \",\").concat(newRadius[0], \",0,0,\").concat(clockWise, \",\").concat(x + xSign * newRadius[0], \",\").concat(y);\n }\n\n path += \"L \".concat(x + width - xSign * newRadius[1], \",\").concat(y);\n\n if (newRadius[1] > 0) {\n path += \"A \".concat(newRadius[1], \",\").concat(newRadius[1], \",0,0,\").concat(clockWise, \",\\n \").concat(x + width, \",\").concat(y + ySign * newRadius[1]);\n }\n\n path += \"L \".concat(x + width, \",\").concat(y + height - ySign * newRadius[2]);\n\n if (newRadius[2] > 0) {\n path += \"A \".concat(newRadius[2], \",\").concat(newRadius[2], \",0,0,\").concat(clockWise, \",\\n \").concat(x + width - xSign * newRadius[2], \",\").concat(y + height);\n }\n\n path += \"L \".concat(x + xSign * newRadius[3], \",\").concat(y + height);\n\n if (newRadius[3] > 0) {\n path += \"A \".concat(newRadius[3], \",\").concat(newRadius[3], \",0,0,\").concat(clockWise, \",\\n \").concat(x, \",\").concat(y + height - ySign * newRadius[3]);\n }\n\n path += 'Z';\n } else if (maxRadius > 0 && radius === +radius && radius > 0) {\n var _newRadius = Math.min(maxRadius, radius);\n\n path = \"M \".concat(x, \",\").concat(y + ySign * _newRadius, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x + xSign * _newRadius, \",\").concat(y, \"\\n L \").concat(x + width - xSign * _newRadius, \",\").concat(y, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x + width, \",\").concat(y + ySign * _newRadius, \"\\n L \").concat(x + width, \",\").concat(y + height - ySign * _newRadius, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x + width - xSign * _newRadius, \",\").concat(y + height, \"\\n L \").concat(x + xSign * _newRadius, \",\").concat(y + height, \"\\n A \").concat(_newRadius, \",\").concat(_newRadius, \",0,0,\").concat(clockWise, \",\").concat(x, \",\").concat(y + height - ySign * _newRadius, \" Z\");\n } else {\n path = \"M \".concat(x, \",\").concat(y, \" h \").concat(width, \" v \").concat(height, \" h \").concat(-width, \" Z\");\n }\n\n return path;\n};\n\nexport var isInRectangle = function isInRectangle(point, rect) {\n if (!point || !rect) {\n return false;\n }\n\n var px = point.x,\n py = point.y;\n var x = rect.x,\n y = rect.y,\n width = rect.width,\n height = rect.height;\n\n if (Math.abs(width) > 0 && Math.abs(height) > 0) {\n var minX = Math.min(x, x + width);\n var maxX = Math.max(x, x + width);\n var minY = Math.min(y, y + height);\n var maxY = Math.max(y, y + height);\n return px >= minX && px <= maxX && py >= minY && py <= maxY;\n }\n\n return false;\n};\nexport var Rectangle = /*#__PURE__*/function (_PureComponent) {\n _inherits(Rectangle, _PureComponent);\n\n var _super = _createSuper(Rectangle);\n\n function Rectangle() {\n var _this;\n\n _classCallCheck(this, Rectangle);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n totalLength: -1\n };\n _this.node = void 0;\n return _this;\n }\n\n _createClass(Rectangle, [{\n key: \"componentDidMount\",\n value:\n /* eslint-disable react/no-did-mount-set-state */\n function componentDidMount() {\n if (this.node && this.node.getTotalLength) {\n try {\n var totalLength = this.node.getTotalLength();\n\n if (totalLength) {\n this.setState({\n totalLength: totalLength\n });\n }\n } catch (err) {// calculate total length error\n }\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n x = _this$props.x,\n y = _this$props.y,\n width = _this$props.width,\n height = _this$props.height,\n radius = _this$props.radius,\n className = _this$props.className;\n var totalLength = this.state.totalLength;\n var _this$props2 = this.props,\n animationEasing = _this$props2.animationEasing,\n animationDuration = _this$props2.animationDuration,\n animationBegin = _this$props2.animationBegin,\n isAnimationActive = _this$props2.isAnimationActive,\n isUpdateAnimationActive = _this$props2.isUpdateAnimationActive;\n\n if (x !== +x || y !== +y || width !== +width || height !== +height || width === 0 || height === 0) {\n return null;\n }\n\n var layerClass = classNames('recharts-rectangle', className);\n\n if (!isUpdateAnimationActive) {\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(this.props, true), {\n className: layerClass,\n d: getRectanglePath(x, y, width, height, radius)\n }));\n }\n\n return /*#__PURE__*/React.createElement(Animate, {\n canBegin: totalLength > 0,\n from: {\n width: width,\n height: height,\n x: x,\n y: y\n },\n to: {\n width: width,\n height: height,\n x: x,\n y: y\n },\n duration: animationDuration,\n animationEasing: animationEasing,\n isActive: isUpdateAnimationActive\n }, function (_ref) {\n var currWidth = _ref.width,\n currHeight = _ref.height,\n currX = _ref.x,\n currY = _ref.y;\n return /*#__PURE__*/React.createElement(Animate, {\n canBegin: totalLength > 0,\n from: \"0px \".concat(totalLength === -1 ? 1 : totalLength, \"px\"),\n to: \"\".concat(totalLength, \"px 0px\"),\n attributeName: \"strokeDasharray\",\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing\n }, /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(_this2.props, true), {\n className: layerClass,\n d: getRectanglePath(currX, currY, currWidth, currHeight, radius),\n ref: function ref(node) {\n _this2.node = node;\n }\n })));\n });\n }\n }]);\n\n return Rectangle;\n}(PureComponent);\nRectangle.defaultProps = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n // The radius of border\n // The radius of four corners when radius is a number\n // The radius of left-top, right-top, right-bottom, left-bottom when radius is an array\n radius: 0,\n isAnimationActive: false,\n isUpdateAnimationActive: false,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease'\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\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 _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 Sector\n */\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { filterProps } from '../util/types';\nimport { polarToCartesian, RADIAN } from '../util/PolarUtils';\nimport { getPercentValue, mathSign } from '../util/DataUtils';\n\nvar getDeltaAngle = function getDeltaAngle(startAngle, endAngle) {\n var sign = mathSign(endAngle - startAngle);\n var deltaAngle = Math.min(Math.abs(endAngle - startAngle), 359.999);\n return sign * deltaAngle;\n};\n\nvar getTangentCircle = function getTangentCircle(_ref) {\n var cx = _ref.cx,\n cy = _ref.cy,\n radius = _ref.radius,\n angle = _ref.angle,\n sign = _ref.sign,\n isExternal = _ref.isExternal,\n cornerRadius = _ref.cornerRadius,\n cornerIsExternal = _ref.cornerIsExternal;\n var centerRadius = cornerRadius * (isExternal ? 1 : -1) + radius;\n var theta = Math.asin(cornerRadius / centerRadius) / RADIAN;\n var centerAngle = cornerIsExternal ? angle : angle + sign * theta;\n var center = polarToCartesian(cx, cy, centerRadius, centerAngle); // The coordinate of point which is tangent to the circle\n\n var circleTangency = polarToCartesian(cx, cy, radius, centerAngle); // The coordinate of point which is tangent to the radius line\n\n var lineTangencyAngle = cornerIsExternal ? angle - sign * theta : angle;\n var lineTangency = polarToCartesian(cx, cy, centerRadius * Math.cos(theta * RADIAN), lineTangencyAngle);\n return {\n center: center,\n circleTangency: circleTangency,\n lineTangency: lineTangency,\n theta: theta\n };\n};\n\nvar getSectorPath = function getSectorPath(_ref2) {\n var cx = _ref2.cx,\n cy = _ref2.cy,\n innerRadius = _ref2.innerRadius,\n outerRadius = _ref2.outerRadius,\n startAngle = _ref2.startAngle,\n endAngle = _ref2.endAngle;\n var angle = getDeltaAngle(startAngle, endAngle); // When the angle of sector equals to 360, star point and end point coincide\n\n var tempEndAngle = startAngle + angle;\n var outerStartPoint = polarToCartesian(cx, cy, outerRadius, startAngle);\n var outerEndPoint = polarToCartesian(cx, cy, outerRadius, tempEndAngle);\n var path = \"M \".concat(outerStartPoint.x, \",\").concat(outerStartPoint.y, \"\\n A \").concat(outerRadius, \",\").concat(outerRadius, \",0,\\n \").concat(+(Math.abs(angle) > 180), \",\").concat(+(startAngle > tempEndAngle), \",\\n \").concat(outerEndPoint.x, \",\").concat(outerEndPoint.y, \"\\n \");\n\n if (innerRadius > 0) {\n var innerStartPoint = polarToCartesian(cx, cy, innerRadius, startAngle);\n var innerEndPoint = polarToCartesian(cx, cy, innerRadius, tempEndAngle);\n path += \"L \".concat(innerEndPoint.x, \",\").concat(innerEndPoint.y, \"\\n A \").concat(innerRadius, \",\").concat(innerRadius, \",0,\\n \").concat(+(Math.abs(angle) > 180), \",\").concat(+(startAngle <= tempEndAngle), \",\\n \").concat(innerStartPoint.x, \",\").concat(innerStartPoint.y, \" Z\");\n } else {\n path += \"L \".concat(cx, \",\").concat(cy, \" Z\");\n }\n\n return path;\n};\n\nvar getSectorWithCorner = function getSectorWithCorner(_ref3) {\n var cx = _ref3.cx,\n cy = _ref3.cy,\n innerRadius = _ref3.innerRadius,\n outerRadius = _ref3.outerRadius,\n cornerRadius = _ref3.cornerRadius,\n forceCornerRadius = _ref3.forceCornerRadius,\n cornerIsExternal = _ref3.cornerIsExternal,\n startAngle = _ref3.startAngle,\n endAngle = _ref3.endAngle;\n var sign = mathSign(endAngle - startAngle);\n\n var _getTangentCircle = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: outerRadius,\n angle: startAngle,\n sign: sign,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n soct = _getTangentCircle.circleTangency,\n solt = _getTangentCircle.lineTangency,\n sot = _getTangentCircle.theta;\n\n var _getTangentCircle2 = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: outerRadius,\n angle: endAngle,\n sign: -sign,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n eoct = _getTangentCircle2.circleTangency,\n eolt = _getTangentCircle2.lineTangency,\n eot = _getTangentCircle2.theta;\n\n var outerArcAngle = cornerIsExternal ? Math.abs(startAngle - endAngle) : Math.abs(startAngle - endAngle) - sot - eot;\n\n if (outerArcAngle < 0) {\n if (forceCornerRadius) {\n return \"M \".concat(solt.x, \",\").concat(solt.y, \"\\n a\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,1,\").concat(cornerRadius * 2, \",0\\n a\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,1,\").concat(-cornerRadius * 2, \",0\\n \");\n }\n\n return getSectorPath({\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n startAngle: startAngle,\n endAngle: endAngle\n });\n }\n\n var path = \"M \".concat(solt.x, \",\").concat(solt.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(soct.x, \",\").concat(soct.y, \"\\n A\").concat(outerRadius, \",\").concat(outerRadius, \",0,\").concat(+(outerArcAngle > 180), \",\").concat(+(sign < 0), \",\").concat(eoct.x, \",\").concat(eoct.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(eolt.x, \",\").concat(eolt.y, \"\\n \");\n\n if (innerRadius > 0) {\n var _getTangentCircle3 = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: innerRadius,\n angle: startAngle,\n sign: sign,\n isExternal: true,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n sict = _getTangentCircle3.circleTangency,\n silt = _getTangentCircle3.lineTangency,\n sit = _getTangentCircle3.theta;\n\n var _getTangentCircle4 = getTangentCircle({\n cx: cx,\n cy: cy,\n radius: innerRadius,\n angle: endAngle,\n sign: -sign,\n isExternal: true,\n cornerRadius: cornerRadius,\n cornerIsExternal: cornerIsExternal\n }),\n eict = _getTangentCircle4.circleTangency,\n eilt = _getTangentCircle4.lineTangency,\n eit = _getTangentCircle4.theta;\n\n var innerArcAngle = cornerIsExternal ? Math.abs(startAngle - endAngle) : Math.abs(startAngle - endAngle) - sit - eit;\n\n if (innerArcAngle < 0 && cornerRadius === 0) {\n return \"\".concat(path, \"L\").concat(cx, \",\").concat(cy, \"Z\");\n }\n\n path += \"L\".concat(eilt.x, \",\").concat(eilt.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(eict.x, \",\").concat(eict.y, \"\\n A\").concat(innerRadius, \",\").concat(innerRadius, \",0,\").concat(+(innerArcAngle > 180), \",\").concat(+(sign > 0), \",\").concat(sict.x, \",\").concat(sict.y, \"\\n A\").concat(cornerRadius, \",\").concat(cornerRadius, \",0,0,\").concat(+(sign < 0), \",\").concat(silt.x, \",\").concat(silt.y, \"Z\");\n } else {\n path += \"L\".concat(cx, \",\").concat(cy, \"Z\");\n }\n\n return path;\n};\n\nexport var Sector = /*#__PURE__*/function (_PureComponent) {\n _inherits(Sector, _PureComponent);\n\n var _super = _createSuper(Sector);\n\n function Sector() {\n _classCallCheck(this, Sector);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Sector, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n cx = _this$props.cx,\n cy = _this$props.cy,\n innerRadius = _this$props.innerRadius,\n outerRadius = _this$props.outerRadius,\n cornerRadius = _this$props.cornerRadius,\n forceCornerRadius = _this$props.forceCornerRadius,\n cornerIsExternal = _this$props.cornerIsExternal,\n startAngle = _this$props.startAngle,\n endAngle = _this$props.endAngle,\n className = _this$props.className;\n\n if (outerRadius < innerRadius || startAngle === endAngle) {\n return null;\n }\n\n var layerClass = classNames('recharts-sector', className);\n var deltaRadius = outerRadius - innerRadius;\n var cr = getPercentValue(cornerRadius, deltaRadius, 0, true);\n var path;\n\n if (cr > 0 && Math.abs(startAngle - endAngle) < 360) {\n path = getSectorWithCorner({\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n cornerRadius: Math.min(cr, deltaRadius / 2),\n forceCornerRadius: forceCornerRadius,\n cornerIsExternal: cornerIsExternal,\n startAngle: startAngle,\n endAngle: endAngle\n });\n } else {\n path = getSectorPath({\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n startAngle: startAngle,\n endAngle: endAngle\n });\n }\n\n return /*#__PURE__*/React.createElement(\"path\", _extends({}, filterProps(this.props, true), {\n className: layerClass,\n d: path\n }));\n }\n }]);\n\n return Sector;\n}(PureComponent);\nSector.defaultProps = {\n cx: 0,\n cy: 0,\n innerRadius: 0,\n outerRadius: 0,\n startAngle: 0,\n endAngle: 0,\n cornerRadius: 0,\n forceCornerRadius: false,\n cornerIsExternal: false\n};","import _every from \"lodash/every\";\nimport _mapValues from \"lodash/mapValues\";\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 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\nimport { getTicksOfScale, parseScale, checkDomainOfScale, getBandSizeOfAxis } from './ChartUtils';\nimport { findChildByType } from './ReactUtils';\nimport { getPercentValue } from './DataUtils';\n/**\n * Calculate the scale function, position, width, height of axes\n * @param {Object} props Latest props\n * @param {Object} axisMap The configuration of axes\n * @param {Object} offset The offset of main part in the svg element\n * @param {String} axisType The type of axes, x-axis or y-axis\n * @param {String} chartName The name of chart\n * @return {Object} Configuration\n */\n\nexport var formatAxisMap = function formatAxisMap(props, axisMap, offset, axisType, chartName) {\n var width = props.width,\n height = props.height,\n layout = props.layout,\n children = props.children;\n var ids = Object.keys(axisMap);\n var steps = {\n left: offset.left,\n leftMirror: offset.left,\n right: width - offset.right,\n rightMirror: width - offset.right,\n top: offset.top,\n topMirror: offset.top,\n bottom: height - offset.bottom,\n bottomMirror: height - offset.bottom\n };\n var hasBar = !!findChildByType(children, 'Bar');\n return ids.reduce(function (result, id) {\n var axis = axisMap[id];\n var orientation = axis.orientation,\n domain = axis.domain,\n _axis$padding = axis.padding,\n padding = _axis$padding === void 0 ? {} : _axis$padding,\n mirror = axis.mirror,\n reversed = axis.reversed;\n var offsetKey = \"\".concat(orientation).concat(mirror ? 'Mirror' : '');\n var calculatedPadding, range, x, y, needSpace;\n\n if (axis.type === 'number' && (axis.padding === 'gap' || axis.padding === 'no-gap')) {\n var diff = domain[1] - domain[0];\n var smallestDistanceBetweenValues = Infinity;\n var sortedValues = axis.categoricalDomain.sort();\n sortedValues.forEach(function (value, index) {\n if (index > 0) {\n smallestDistanceBetweenValues = Math.min((value || 0) - (sortedValues[index - 1] || 0), smallestDistanceBetweenValues);\n }\n });\n var smallestDistanceInPercent = smallestDistanceBetweenValues / diff;\n var rangeWidth = axis.layout === 'vertical' ? offset.height : offset.width;\n\n if (axis.padding === 'gap') {\n calculatedPadding = smallestDistanceInPercent * rangeWidth / 2;\n }\n\n if (axis.padding === 'no-gap') {\n var gap = getPercentValue(props.barCategoryGap, smallestDistanceInPercent * rangeWidth);\n var halfBand = smallestDistanceInPercent * rangeWidth / 2;\n calculatedPadding = halfBand - gap - (halfBand - gap) / rangeWidth * gap;\n }\n }\n\n if (axisType === 'xAxis') {\n range = [offset.left + (padding.left || 0) + (calculatedPadding || 0), offset.left + offset.width - (padding.right || 0) - (calculatedPadding || 0)];\n } else if (axisType === 'yAxis') {\n range = layout === 'horizontal' ? [offset.top + offset.height - (padding.bottom || 0), offset.top + (padding.top || 0)] : [offset.top + (padding.top || 0) + (calculatedPadding || 0), offset.top + offset.height - (padding.bottom || 0) - (calculatedPadding || 0)];\n } else {\n range = axis.range;\n }\n\n if (reversed) {\n range = [range[1], range[0]];\n }\n\n var _parseScale = parseScale(axis, chartName, hasBar),\n scale = _parseScale.scale,\n realScaleType = _parseScale.realScaleType;\n\n scale.domain(domain).range(range);\n checkDomainOfScale(scale);\n var ticks = getTicksOfScale(scale, _objectSpread(_objectSpread({}, axis), {}, {\n realScaleType: realScaleType\n }));\n\n if (axisType === 'xAxis') {\n needSpace = orientation === 'top' && !mirror || orientation === 'bottom' && mirror;\n x = offset.left;\n y = steps[offsetKey] - needSpace * axis.height;\n } else if (axisType === 'yAxis') {\n needSpace = orientation === 'left' && !mirror || orientation === 'right' && mirror;\n x = steps[offsetKey] - needSpace * axis.width;\n y = offset.top;\n }\n\n var finalAxis = _objectSpread(_objectSpread(_objectSpread({}, axis), ticks), {}, {\n realScaleType: realScaleType,\n x: x,\n y: y,\n scale: scale,\n width: axisType === 'xAxis' ? offset.width : axis.width,\n height: axisType === 'yAxis' ? offset.height : axis.height\n });\n\n finalAxis.bandSize = getBandSizeOfAxis(finalAxis, ticks);\n\n if (!axis.hide && axisType === 'xAxis') {\n steps[offsetKey] += (needSpace ? -1 : 1) * finalAxis.height;\n } else if (!axis.hide) {\n steps[offsetKey] += (needSpace ? -1 : 1) * finalAxis.width;\n }\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, id, finalAxis));\n }, {});\n};\nexport var rectWithPoints = function rectWithPoints(_ref, _ref2) {\n var x1 = _ref.x,\n y1 = _ref.y;\n var x2 = _ref2.x,\n y2 = _ref2.y;\n return {\n x: Math.min(x1, x2),\n y: Math.min(y1, y2),\n width: Math.abs(x2 - x1),\n height: Math.abs(y2 - y1)\n };\n};\n/**\n * Compute the x, y, width, and height of a box from two reference points.\n * @param {Object} coords x1, x2, y1, and y2\n * @return {Object} object\n */\n\nexport var rectWithCoords = function rectWithCoords(_ref3) {\n var x1 = _ref3.x1,\n y1 = _ref3.y1,\n x2 = _ref3.x2,\n y2 = _ref3.y2;\n return rectWithPoints({\n x: x1,\n y: y1\n }, {\n x: x2,\n y: y2\n });\n};\nexport var ScaleHelper = /*#__PURE__*/function () {\n function ScaleHelper(scale) {\n _classCallCheck(this, ScaleHelper);\n\n this.scale = void 0;\n this.scale = scale;\n }\n\n _createClass(ScaleHelper, [{\n key: \"domain\",\n get: function get() {\n return this.scale.domain;\n }\n }, {\n key: \"range\",\n get: function get() {\n return this.scale.range;\n }\n }, {\n key: \"rangeMin\",\n get: function get() {\n return this.range()[0];\n }\n }, {\n key: \"rangeMax\",\n get: function get() {\n return this.range()[1];\n }\n }, {\n key: \"bandwidth\",\n get: function get() {\n return this.scale.bandwidth;\n }\n }, {\n key: \"apply\",\n value: function apply(value) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n bandAware = _ref4.bandAware,\n position = _ref4.position;\n\n if (value === undefined) {\n return undefined;\n }\n\n if (position) {\n switch (position) {\n case 'start':\n {\n return this.scale(value);\n }\n\n case 'middle':\n {\n var offset = this.bandwidth ? this.bandwidth() / 2 : 0;\n return this.scale(value) + offset;\n }\n\n case 'end':\n {\n var _offset = this.bandwidth ? this.bandwidth() : 0;\n\n return this.scale(value) + _offset;\n }\n\n default:\n {\n return this.scale(value);\n }\n }\n }\n\n if (bandAware) {\n var _offset2 = this.bandwidth ? this.bandwidth() / 2 : 0;\n\n return this.scale(value) + _offset2;\n }\n\n return this.scale(value);\n }\n }, {\n key: \"isInRange\",\n value: function isInRange(value) {\n var range = this.range();\n var first = range[0];\n var last = range[range.length - 1];\n return first <= last ? value >= first && value <= last : value >= last && value <= first;\n }\n }], [{\n key: \"create\",\n value: function create(obj) {\n return new ScaleHelper(obj);\n }\n }]);\n\n return ScaleHelper;\n}();\nScaleHelper.EPS = 1e-4;\nexport var createLabeledScales = function createLabeledScales(options) {\n var scales = Object.keys(options).reduce(function (res, key) {\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, key, ScaleHelper.create(options[key])));\n }, {});\n return _objectSpread(_objectSpread({}, scales), {}, {\n apply: function apply(coord) {\n var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n bandAware = _ref5.bandAware,\n position = _ref5.position;\n\n return _mapValues(coord, function (value, label) {\n return scales[label].apply(value, {\n bandAware: bandAware,\n position: position\n });\n });\n },\n isInRange: function isInRange(coord) {\n return _every(coord, function (value, label) {\n return scales[label].isInRange(value);\n });\n }\n });\n};","function _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\nvar identity = function identity(i) {\n return i;\n};\n\nexport var PLACE_HOLDER = {\n '@@functional/placeholder': true\n};\n\nvar isPlaceHolder = function isPlaceHolder(val) {\n return val === PLACE_HOLDER;\n};\n\nvar curry0 = function curry0(fn) {\n return function _curried() {\n if (arguments.length === 0 || arguments.length === 1 && isPlaceHolder(arguments.length <= 0 ? undefined : arguments[0])) {\n return _curried;\n }\n\n return fn.apply(void 0, arguments);\n };\n};\n\nvar curryN = function curryN(n, fn) {\n if (n === 1) {\n return fn;\n }\n\n return curry0(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var argsLength = args.filter(function (arg) {\n return arg !== PLACE_HOLDER;\n }).length;\n\n if (argsLength >= n) {\n return fn.apply(void 0, args);\n }\n\n return curryN(n - argsLength, curry0(function () {\n for (var _len2 = arguments.length, restArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n restArgs[_key2] = arguments[_key2];\n }\n\n var newArgs = args.map(function (arg) {\n return isPlaceHolder(arg) ? restArgs.shift() : arg;\n });\n return fn.apply(void 0, _toConsumableArray(newArgs).concat(restArgs));\n }));\n });\n};\n\nexport var curry = function curry(fn) {\n return curryN(fn.length, fn);\n};\nexport var range = function range(begin, end) {\n var arr = [];\n\n for (var i = begin; i < end; ++i) {\n arr[i - begin] = i;\n }\n\n return arr;\n};\nexport var map = curry(function (fn, arr) {\n if (Array.isArray(arr)) {\n return arr.map(fn);\n }\n\n return Object.keys(arr).map(function (key) {\n return arr[key];\n }).map(fn);\n});\nexport var compose = function compose() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n if (!args.length) {\n return identity;\n }\n\n var fns = args.reverse(); // first function can receive multiply arguments\n\n var firstFn = fns[0];\n var tailsFn = fns.slice(1);\n return function () {\n return tailsFn.reduce(function (res, fn) {\n return fn(res);\n }, firstFn.apply(void 0, arguments));\n };\n};\nexport var reverse = function reverse(arr) {\n if (Array.isArray(arr)) {\n return arr.reverse();\n } // can be string\n\n\n return arr.split('').reverse.join('');\n};\nexport var memoize = function memoize(fn) {\n var lastArgs = null;\n var lastResult = null;\n return function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n if (lastArgs && args.every(function (val, i) {\n return val === lastArgs[i];\n })) {\n return lastResult;\n }\n\n lastArgs = args;\n lastResult = fn.apply(void 0, args);\n return lastResult;\n };\n};","/**\n * @fileOverview 一些公用的运算方法\n * @author xile611\n * @date 2015-09-17\n */\nimport Decimal from 'decimal.js-light';\nimport { curry } from './utils';\n/**\n * 获取数值的位数\n * 其中绝对值属于区间[0.1, 1), 得到的值为0\n * 绝对值属于区间[0.01, 0.1),得到的位数为 -1\n * 绝对值属于区间[0.001, 0.01),得到的位数为 -2\n *\n * @param {Number} value 数值\n * @return {Integer} 位数\n */\n\nfunction getDigitCount(value) {\n var result;\n\n if (value === 0) {\n result = 1;\n } else {\n result = Math.floor(new Decimal(value).abs().log(10).toNumber()) + 1;\n }\n\n return result;\n}\n/**\n * 按照固定的步长获取[start, end)这个区间的数据\n * 并且需要处理js计算精度的问题\n *\n * @param {Decimal} start 起点\n * @param {Decimal} end 终点,不包含该值\n * @param {Decimal} step 步长\n * @return {Array} 若干数值\n */\n\n\nfunction rangeStep(start, end, step) {\n var num = new Decimal(start);\n var i = 0;\n var result = []; // magic number to prevent infinite loop\n\n while (num.lt(end) && i < 100000) {\n result.push(num.toNumber());\n num = num.add(step);\n i++;\n }\n\n return result;\n}\n/**\n * 对数值进行线性插值\n *\n * @param {Number} a 定义域的极点\n * @param {Number} b 定义域的极点\n * @param {Number} t [0, 1]内的某个值\n * @return {Number} 定义域内的某个值\n */\n\n\nvar interpolateNumber = curry(function (a, b, t) {\n var newA = +a;\n var newB = +b;\n return newA + t * (newB - newA);\n});\n/**\n * 线性插值的逆运算\n *\n * @param {Number} a 定义域的极点\n * @param {Number} b 定义域的极点\n * @param {Number} x 可以认为是插值后的一个输出值\n * @return {Number} 当x在 a ~ b这个范围内时,返回值属于[0, 1]\n */\n\nvar uninterpolateNumber = curry(function (a, b, x) {\n var diff = b - +a;\n diff = diff || Infinity;\n return (x - a) / diff;\n});\n/**\n * 线性插值的逆运算,并且有截断的操作\n *\n * @param {Number} a 定义域的极点\n * @param {Number} b 定义域的极点\n * @param {Number} x 可以认为是插值后的一个输出值\n * @return {Number} 当x在 a ~ b这个区间内时,返回值属于[0, 1],\n * 当x不在 a ~ b这个区间时,会截断到 a ~ b 这个区间\n */\n\nvar uninterpolateTruncation = curry(function (a, b, x) {\n var diff = b - +a;\n diff = diff || Infinity;\n return Math.max(0, Math.min(1, (x - a) / diff));\n});\nexport default {\n rangeStep: rangeStep,\n getDigitCount: getDigitCount,\n interpolateNumber: interpolateNumber,\n uninterpolateNumber: uninterpolateNumber,\n uninterpolateTruncation: uninterpolateTruncation\n};","function _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 _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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n/**\n * @fileOverview calculate tick values of scale\n * @author xile611, arcthur\n * @date 2015-09-17\n */\nimport Decimal from 'decimal.js-light';\nimport { compose, range, memoize, map, reverse } from './util/utils';\nimport Arithmetic from './util/arithmetic';\n/**\n * Calculate a interval of a minimum value and a maximum value\n *\n * @param {Number} min The minimum value\n * @param {Number} max The maximum value\n * @return {Array} An interval\n */\n\nfunction getValidInterval(_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n min = _ref2[0],\n max = _ref2[1];\n\n var validMin = min,\n validMax = max; // exchange\n\n if (min > max) {\n validMin = max;\n validMax = min;\n }\n\n return [validMin, validMax];\n}\n/**\n * Calculate the step which is easy to understand between ticks, like 10, 20, 25\n *\n * @param {Decimal} roughStep The rough step calculated by deviding the\n * difference by the tickCount\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @param {Integer} correctionFactor A correction factor\n * @return {Decimal} The step which is easy to understand between two ticks\n */\n\n\nfunction getFormatStep(roughStep, allowDecimals, correctionFactor) {\n if (roughStep.lte(0)) {\n return new Decimal(0);\n }\n\n var digitCount = Arithmetic.getDigitCount(roughStep.toNumber()); // The ratio between the rough step and the smallest number which has a bigger\n // order of magnitudes than the rough step\n\n var digitCountValue = new Decimal(10).pow(digitCount);\n var stepRatio = roughStep.div(digitCountValue); // When an integer and a float multiplied, the accuracy of result may be wrong\n\n var stepRatioScale = digitCount !== 1 ? 0.05 : 0.1;\n var amendStepRatio = new Decimal(Math.ceil(stepRatio.div(stepRatioScale).toNumber())).add(correctionFactor).mul(stepRatioScale);\n var formatStep = amendStepRatio.mul(digitCountValue);\n return allowDecimals ? formatStep : new Decimal(Math.ceil(formatStep));\n}\n/**\n * calculate the ticks when the minimum value equals to the maximum value\n *\n * @param {Number} value The minimum valuue which is also the maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getTickOfSingleValue(value, tickCount, allowDecimals) {\n var step = 1; // calculate the middle value of ticks\n\n var middle = new Decimal(value);\n\n if (!middle.isint() && allowDecimals) {\n var absVal = Math.abs(value);\n\n if (absVal < 1) {\n // The step should be a float number when the difference is smaller than 1\n step = new Decimal(10).pow(Arithmetic.getDigitCount(value) - 1);\n middle = new Decimal(Math.floor(middle.div(step).toNumber())).mul(step);\n } else if (absVal > 1) {\n // Return the maximum integer which is smaller than 'value' when 'value' is greater than 1\n middle = new Decimal(Math.floor(value));\n }\n } else if (value === 0) {\n middle = new Decimal(Math.floor((tickCount - 1) / 2));\n } else if (!allowDecimals) {\n middle = new Decimal(Math.floor(value));\n }\n\n var middleIndex = Math.floor((tickCount - 1) / 2);\n var fn = compose(map(function (n) {\n return middle.add(new Decimal(n - middleIndex).mul(step)).toNumber();\n }), range);\n return fn(0, tickCount);\n}\n/**\n * Calculate the step\n *\n * @param {Number} min The minimum value of an interval\n * @param {Number} max The maximum value of an interval\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @param {Number} correctionFactor A correction factor\n * @return {Object} The step, minimum value of ticks, maximum value of ticks\n */\n\n\nfunction calculateStep(min, max, tickCount, allowDecimals) {\n var correctionFactor = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n\n // dirty hack (for recharts' test)\n if (!Number.isFinite((max - min) / (tickCount - 1))) {\n return {\n step: new Decimal(0),\n tickMin: new Decimal(0),\n tickMax: new Decimal(0)\n };\n } // The step which is easy to understand between two ticks\n\n\n var step = getFormatStep(new Decimal(max).sub(min).div(tickCount - 1), allowDecimals, correctionFactor); // A medial value of ticks\n\n var middle; // When 0 is inside the interval, 0 should be a tick\n\n if (min <= 0 && max >= 0) {\n middle = new Decimal(0);\n } else {\n // calculate the middle value\n middle = new Decimal(min).add(max).div(2); // minus modulo value\n\n middle = middle.sub(new Decimal(middle).mod(step));\n }\n\n var belowCount = Math.ceil(middle.sub(min).div(step).toNumber());\n var upCount = Math.ceil(new Decimal(max).sub(middle).div(step).toNumber());\n var scaleCount = belowCount + upCount + 1;\n\n if (scaleCount > tickCount) {\n // When more ticks need to cover the interval, step should be bigger.\n return calculateStep(min, max, tickCount, allowDecimals, correctionFactor + 1);\n }\n\n if (scaleCount < tickCount) {\n // When less ticks can cover the interval, we should add some additional ticks\n upCount = max > 0 ? upCount + (tickCount - scaleCount) : upCount;\n belowCount = max > 0 ? belowCount : belowCount + (tickCount - scaleCount);\n }\n\n return {\n step: step,\n tickMin: middle.sub(new Decimal(belowCount).mul(step)),\n tickMax: middle.add(new Decimal(upCount).mul(step))\n };\n}\n/**\n * Calculate the ticks of an interval, the count of ticks will be guraranteed\n *\n * @param {Number} min, max min: The minimum value, max: The maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getNiceTickValuesFn(_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n min = _ref4[0],\n max = _ref4[1];\n\n var tickCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 6;\n var allowDecimals = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n // More than two ticks should be return\n var count = Math.max(tickCount, 2);\n\n var _getValidInterval = getValidInterval([min, max]),\n _getValidInterval2 = _slicedToArray(_getValidInterval, 2),\n cormin = _getValidInterval2[0],\n cormax = _getValidInterval2[1];\n\n if (cormin === -Infinity || cormax === Infinity) {\n var _values = cormax === Infinity ? [cormin].concat(_toConsumableArray(range(0, tickCount - 1).map(function () {\n return Infinity;\n }))) : [].concat(_toConsumableArray(range(0, tickCount - 1).map(function () {\n return -Infinity;\n })), [cormax]);\n\n return min > max ? reverse(_values) : _values;\n }\n\n if (cormin === cormax) {\n return getTickOfSingleValue(cormin, tickCount, allowDecimals);\n } // Get the step between two ticks\n\n\n var _calculateStep = calculateStep(cormin, cormax, count, allowDecimals),\n step = _calculateStep.step,\n tickMin = _calculateStep.tickMin,\n tickMax = _calculateStep.tickMax;\n\n var values = Arithmetic.rangeStep(tickMin, tickMax.add(new Decimal(0.1).mul(step)), step);\n return min > max ? reverse(values) : values;\n}\n/**\n * Calculate the ticks of an interval, the count of ticks won't be guraranteed\n *\n * @param {Number} min, max min: The minimum value, max: The maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getTickValuesFn(_ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n min = _ref6[0],\n max = _ref6[1];\n\n var tickCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 6;\n var allowDecimals = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n // More than two ticks should be return\n var count = Math.max(tickCount, 2);\n\n var _getValidInterval3 = getValidInterval([min, max]),\n _getValidInterval4 = _slicedToArray(_getValidInterval3, 2),\n cormin = _getValidInterval4[0],\n cormax = _getValidInterval4[1];\n\n if (cormin === -Infinity || cormax === Infinity) {\n return [min, max];\n }\n\n if (cormin === cormax) {\n return getTickOfSingleValue(cormin, tickCount, allowDecimals);\n }\n\n var step = getFormatStep(new Decimal(cormax).sub(cormin).div(count - 1), allowDecimals, 0);\n var fn = compose(map(function (n) {\n return new Decimal(cormin).add(new Decimal(n).mul(step)).toNumber();\n }), range);\n var values = fn(0, count).filter(function (entry) {\n return entry >= cormin && entry <= cormax;\n });\n return min > max ? reverse(values) : values;\n}\n/**\n * Calculate the ticks of an interval, the count of ticks won't be guraranteed,\n * but the domain will be guaranteed\n *\n * @param {Number} min, max min: The minimum value, max: The maximum value\n * @param {Integer} tickCount The count of ticks\n * @param {Boolean} allowDecimals Allow the ticks to be decimals or not\n * @return {Array} ticks\n */\n\n\nfunction getTickValuesFixedDomainFn(_ref7, tickCount) {\n var _ref8 = _slicedToArray(_ref7, 2),\n min = _ref8[0],\n max = _ref8[1];\n\n var allowDecimals = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n // More than two ticks should be return\n var _getValidInterval5 = getValidInterval([min, max]),\n _getValidInterval6 = _slicedToArray(_getValidInterval5, 2),\n cormin = _getValidInterval6[0],\n cormax = _getValidInterval6[1];\n\n if (cormin === -Infinity || cormax === Infinity) {\n return [min, max];\n }\n\n if (cormin === cormax) {\n return [cormin];\n }\n\n var count = Math.max(tickCount, 2);\n var step = getFormatStep(new Decimal(cormax).sub(cormin).div(count - 1), allowDecimals, 0);\n var values = [].concat(_toConsumableArray(Arithmetic.rangeStep(new Decimal(cormin), new Decimal(cormax).sub(new Decimal(0.99).mul(step)), step)), [cormax]);\n return min > max ? reverse(values) : values;\n}\n\nexport var getNiceTickValues = memoize(getNiceTickValuesFn);\nexport var getTickValues = memoize(getTickValuesFn);\nexport var getTickValuesFixedDomain = memoize(getTickValuesFixedDomainFn);","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n let r0 = Math.round(start / step), r1 = Math.round(stop / step);\n if (r0 * step < start) ++r0;\n if (r1 * step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) * step;\n } else {\n step = -step;\n let r0 = Math.round(start * step), r1 = Math.round(stop * step);\n if (r0 / step < start) ++r0;\n if (r1 / step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending.js\";\n\nexport default function(f) {\n let delta = f;\n let compare = f;\n\n if (f.length === 1) {\n delta = (d, x) => f(d) - x;\n compare = ascendingComparator(f);\n }\n\n function left(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n }\n\n function right(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n\n function center(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction ascendingComparator(f) {\n return (d, x) => ascending(f(d), x);\n}\n","export default function(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","import {linearish} from \"./linear.js\";\nimport number from \"./number.js\";\n\nexport default function identity(domain) {\n var unknown;\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : x;\n }\n\n scale.invert = scale;\n\n scale.domain = scale.range = function(_) {\n return arguments.length ? (domain = Array.from(_, number), scale) : domain.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return identity(domain).unknown(unknown);\n };\n\n domain = arguments.length ? Array.from(domain, number) : [0, 1];\n\n return linearish(scale);\n}\n","export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","import {ticks} from \"d3-array\";\nimport {format} from \"d3-format\";\nimport nice from \"./nice.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformLog(x) {\n return Math.log(x);\n}\n\nfunction transformExp(x) {\n return Math.exp(x);\n}\n\nfunction transformLogn(x) {\n return -Math.log(-x);\n}\n\nfunction transformExpn(x) {\n return -Math.exp(-x);\n}\n\nfunction pow10(x) {\n return isFinite(x) ? +(\"1e\" + x) : x < 0 ? 0 : x;\n}\n\nfunction powp(base) {\n return base === 10 ? pow10\n : base === Math.E ? Math.exp\n : function(x) { return Math.pow(base, x); };\n}\n\nfunction logp(base) {\n return base === Math.E ? Math.log\n : base === 10 && Math.log10\n || base === 2 && Math.log2\n || (base = Math.log(base), function(x) { return Math.log(x) / base; });\n}\n\nfunction reflect(f) {\n return function(x) {\n return -f(-x);\n };\n}\n\nexport function loggish(transform) {\n var scale = transform(transformLog, transformExp),\n domain = scale.domain,\n base = 10,\n logs,\n pows;\n\n function rescale() {\n logs = logp(base), pows = powp(base);\n if (domain()[0] < 0) {\n logs = reflect(logs), pows = reflect(pows);\n transform(transformLogn, transformExpn);\n } else {\n transform(transformLog, transformExp);\n }\n return scale;\n }\n\n scale.base = function(_) {\n return arguments.length ? (base = +_, rescale()) : base;\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.ticks = function(count) {\n var d = domain(),\n u = d[0],\n v = d[d.length - 1],\n r;\n\n if (r = v < u) i = u, u = v, v = i;\n\n var i = logs(u),\n j = logs(v),\n p,\n k,\n t,\n n = count == null ? 10 : +count,\n z = [];\n\n if (!(base % 1) && j - i < n) {\n i = Math.floor(i), j = Math.ceil(j);\n if (u > 0) for (; i <= j; ++i) {\n for (k = 1, p = pows(i); k < base; ++k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n } else for (; i <= j; ++i) {\n for (k = base - 1, p = pows(i); k >= 1; --k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n }\n if (z.length * 2 < n) z = ticks(u, v, n);\n } else {\n z = ticks(i, j, Math.min(j - i, n)).map(pows);\n }\n\n return r ? z.reverse() : z;\n };\n\n scale.tickFormat = function(count, specifier) {\n if (specifier == null) specifier = base === 10 ? \".0e\" : \",\";\n if (typeof specifier !== \"function\") specifier = format(specifier);\n if (count === Infinity) return specifier;\n if (count == null) count = 10;\n var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?\n return function(d) {\n var i = d / pows(Math.round(logs(d)));\n if (i * base < base - 0.5) i *= base;\n return i <= k ? specifier(d) : \"\";\n };\n };\n\n scale.nice = function() {\n return domain(nice(domain(), {\n floor: function(x) { return pows(Math.floor(logs(x))); },\n ceil: function(x) { return pows(Math.ceil(logs(x))); }\n }));\n };\n\n return scale;\n}\n\nexport default function log() {\n var scale = loggish(transformer()).domain([1, 10]);\n\n scale.copy = function() {\n return copy(scale, log()).base(scale.base());\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","import {linearish} from \"./linear.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformSymlog(c) {\n return function(x) {\n return Math.sign(x) * Math.log1p(Math.abs(x / c));\n };\n}\n\nfunction transformSymexp(c) {\n return function(x) {\n return Math.sign(x) * Math.expm1(Math.abs(x)) * c;\n };\n}\n\nexport function symlogish(transform) {\n var c = 1, scale = transform(transformSymlog(c), transformSymexp(c));\n\n scale.constant = function(_) {\n return arguments.length ? transform(transformSymlog(c = +_), transformSymexp(c)) : c;\n };\n\n return linearish(scale);\n}\n\nexport default function symlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, symlog()).constant(scale.constant());\n };\n\n return initRange.apply(scale, arguments);\n}\n","import {linearish} from \"./linear.js\";\nimport {copy, identity, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformPow(exponent) {\n return function(x) {\n return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);\n };\n}\n\nfunction transformSqrt(x) {\n return x < 0 ? -Math.sqrt(-x) : Math.sqrt(x);\n}\n\nfunction transformSquare(x) {\n return x < 0 ? -x * x : x * x;\n}\n\nexport function powish(transform) {\n var scale = transform(identity, identity),\n exponent = 1;\n\n function rescale() {\n return exponent === 1 ? transform(identity, identity)\n : exponent === 0.5 ? transform(transformSqrt, transformSquare)\n : transform(transformPow(exponent), transformPow(1 / exponent));\n }\n\n scale.exponent = function(_) {\n return arguments.length ? (exponent = +_, rescale()) : exponent;\n };\n\n return linearish(scale);\n}\n\nexport default function pow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, pow()).exponent(scale.exponent());\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n\nexport function sqrt() {\n return pow.apply(null, arguments).exponent(0.5);\n}\n","import continuous from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport number from \"./number.js\";\n\nfunction square(x) {\n return Math.sign(x) * x * x;\n}\n\nfunction unsquare(x) {\n return Math.sign(x) * Math.sqrt(Math.abs(x));\n}\n\nexport default function radial() {\n var squared = continuous(),\n range = [0, 1],\n round = false,\n unknown;\n\n function scale(x) {\n var y = unsquare(squared(x));\n return isNaN(y) ? unknown : round ? Math.round(y) : y;\n }\n\n scale.invert = function(y) {\n return squared.invert(square(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (squared.domain(_), scale) : squared.domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? (squared.range((range = Array.from(_, number)).map(square)), scale) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return scale.range(_).round(true);\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, scale) : round;\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (squared.clamp(_), scale) : squared.clamp();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return radial(squared.domain(), range)\n .round(round)\n .clamp(squared.clamp())\n .unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n","export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n","import ascending from \"./ascending.js\";\n\n// Based on https://github.com/mourner/quickselect\n// ISC license, Copyright 2018 Vladimir Agafonkin.\nexport default function quickselect(array, k, left = 0, right = array.length - 1, compare = ascending) {\n while (right > left) {\n if (right - left > 600) {\n const n = right - left + 1;\n const m = k - left + 1;\n const z = Math.log(n);\n const s = 0.5 * Math.exp(2 * z / 3);\n const sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1);\n const newLeft = Math.max(left, Math.floor(k - m * s / n + sd));\n const newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd));\n quickselect(array, k, newLeft, newRight, compare);\n }\n\n const t = array[k];\n let i = left;\n let j = right;\n\n swap(array, left, k);\n if (compare(array[right], t) > 0) swap(array, left, right);\n\n while (i < j) {\n swap(array, i, j), ++i, --j;\n while (compare(array[i], t) < 0) ++i;\n while (compare(array[j], t) > 0) --j;\n }\n\n if (compare(array[left], t) === 0) swap(array, left, j);\n else ++j, swap(array, j, right);\n\n if (j <= k) left = j + 1;\n if (k <= j) right = j - 1;\n }\n return array;\n}\n\nfunction swap(array, i, j) {\n const t = array[i];\n array[i] = array[j];\n array[j] = t;\n}\n","import max from \"./max.js\";\nimport min from \"./min.js\";\nimport quickselect from \"./quickselect.js\";\nimport number, {numbers} from \"./number.js\";\n\nexport default function quantile(values, p, valueof) {\n values = Float64Array.from(numbers(values, valueof));\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return min(values);\n if (p >= 1) return max(values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = max(quickselect(values, i0).subarray(0, i0 + 1)),\n value1 = min(values.subarray(i0 + 1));\n return value0 + (value1 - value0) * (i - i0);\n}\n\nexport function quantileSorted(values, p, valueof = number) {\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = +valueof(values[i0], i0, values),\n value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n}\n","import {ascending, bisect, quantileSorted as threshold} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport default function quantile() {\n var domain = [],\n range = [],\n thresholds = [],\n unknown;\n\n function rescale() {\n var i = 0, n = Math.max(1, range.length);\n thresholds = new Array(n - 1);\n while (++i < n) thresholds[i - 1] = threshold(domain, i / n);\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : range[bisect(thresholds, x)];\n }\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN] : [\n i > 0 ? thresholds[i - 1] : domain[0],\n i < thresholds.length ? thresholds[i] : domain[domain.length - 1]\n ];\n };\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return rescale();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.quantiles = function() {\n return thresholds.slice();\n };\n\n scale.copy = function() {\n return quantile()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(scale, arguments);\n}\n","import {bisect} from \"d3-array\";\nimport {linearish} from \"./linear.js\";\nimport {initRange} from \"./init.js\";\n\nexport default function quantize() {\n var x0 = 0,\n x1 = 1,\n n = 1,\n domain = [0.5],\n range = [0, 1],\n unknown;\n\n function scale(x) {\n return x != null && x <= x ? range[bisect(domain, x, 0, n)] : unknown;\n }\n\n function rescale() {\n var i = -1;\n domain = new Array(n);\n while (++i < n) domain[i] = ((i + 1) * x1 - (i - n) * x0) / (n + 1);\n return scale;\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1] = _, x0 = +x0, x1 = +x1, rescale()) : [x0, x1];\n };\n\n scale.range = function(_) {\n return arguments.length ? (n = (range = Array.from(_)).length - 1, rescale()) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN]\n : i < 1 ? [x0, domain[0]]\n : i >= n ? [domain[n - 1], x1]\n : [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : scale;\n };\n\n scale.thresholds = function() {\n return domain.slice();\n };\n\n scale.copy = function() {\n return quantize()\n .domain([x0, x1])\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(linearish(scale), arguments);\n}\n","import {bisect} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport default function threshold() {\n var domain = [0.5],\n range = [0, 1],\n unknown,\n n = 1;\n\n function scale(x) {\n return x != null && x <= x ? range[bisect(domain, x, 0, n)] : unknown;\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), n = Math.min(domain.length, range.length - 1), scale) : range.slice();\n };\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return [domain[i - 1], domain[i]];\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return threshold()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(scale, arguments);\n}\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = function(date) {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","import interval from \"./interval.js\";\n\nvar millisecond = interval(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;\n","import interval from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nvar second = interval(function(date) {\n date.setTime(date - date.getMilliseconds());\n}, function(date, step) {\n date.setTime(+date + step * durationSecond);\n}, function(start, end) {\n return (end - start) / durationSecond;\n}, function(date) {\n return date.getUTCSeconds();\n});\n\nexport default second;\nexport var seconds = second.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nvar minute = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getMinutes();\n});\n\nexport default minute;\nexport var minutes = minute.range;\n","import interval from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nvar hour = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getHours();\n});\n\nexport default hour;\nexport var hours = hour.range;\n","import interval from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nvar day = interval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport default day;\nexport var days = day.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval.js\";\n\nvar month = interval(function(date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setMonth(date.getMonth() + step);\n}, function(start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function(date) {\n return date.getMonth();\n});\n\nexport default month;\nexport var months = month.range;\n","import interval from \"./interval.js\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","import interval from \"./interval.js\";\nimport {durationMinute} from \"./duration.js\";\n\nvar utcMinute = interval(function(date) {\n date.setUTCSeconds(0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getUTCMinutes();\n});\n\nexport default utcMinute;\nexport var utcMinutes = utcMinute.range;\n","import interval from \"./interval.js\";\nimport {durationHour} from \"./duration.js\";\n\nvar utcHour = interval(function(date) {\n date.setUTCMinutes(0, 0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getUTCHours();\n});\n\nexport default utcHour;\nexport var utcHours = utcHour.range;\n","import interval from \"./interval.js\";\nimport {durationDay} from \"./duration.js\";\n\nvar utcDay = interval(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / durationDay;\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\nexport default utcDay;\nexport var utcDays = utcDay.range;\n","import interval from \"./interval.js\";\nimport {durationWeek} from \"./duration.js\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval.js\";\n\nvar utcMonth = interval(function(date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function(start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function(date) {\n return date.getUTCMonth();\n});\n\nexport default utcMonth;\nexport var utcMonths = utcMonth.range;\n","import interval from \"./interval.js\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport millisecond from \"./millisecond.js\";\nimport second from \"./second.js\";\nimport minute from \"./minute.js\";\nimport hour from \"./hour.js\";\nimport day from \"./day.js\";\nimport {sunday as week} from \"./week.js\";\nimport month from \"./month.js\";\nimport year from \"./year.js\";\nimport utcMinute from \"./utcMinute.js\";\nimport utcHour from \"./utcHour.js\";\nimport utcDay from \"./utcDay.js\";\nimport {utcSunday as utcWeek} from \"./utcWeek.js\";\nimport utcMonth from \"./utcMonth.js\";\nimport utcYear from \"./utcYear.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(year, month, week, day, hour, minute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n","import {utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcTicks, utcTickInterval} from \"d3-time\";\nimport {utcFormat} from \"d3-time-format\";\nimport {calendar} from \"./time.js\";\nimport {initRange} from \"./init.js\";\n\nexport default function utcTime() {\n return initRange.apply(calendar(utcTicks, utcTickInterval, utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]), arguments);\n}\n","import {interpolate, interpolateRound} from \"d3-interpolate\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport {loggish} from \"./log.js\";\nimport {symlogish} from \"./symlog.js\";\nimport {powish} from \"./pow.js\";\n\nfunction transformer() {\n var x0 = 0,\n x1 = 1,\n t0,\n t1,\n k10,\n transform,\n interpolator = identity,\n clamp = false,\n unknown;\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : interpolator(k10 === 0 ? 0.5 : (x = (transform(x) - t0) * k10, clamp ? Math.max(0, Math.min(1, x)) : x));\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0), scale) : [x0, x1];\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n function range(interpolate) {\n return function(_) {\n var r0, r1;\n return arguments.length ? ([r0, r1] = _, interpolator = interpolate(r0, r1), scale) : [interpolator(0), interpolator(1)];\n };\n }\n\n scale.range = range(interpolate);\n\n scale.rangeRound = range(interpolateRound);\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t) {\n transform = t, t0 = t(x0), t1 = t(x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0);\n return scale;\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .interpolator(source.interpolator())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport default function sequential() {\n var scale = linearish(transformer()(identity));\n\n scale.copy = function() {\n return copy(scale, sequential());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialLog() {\n var scale = loggish(transformer()).domain([1, 10]);\n\n scale.copy = function() {\n return copy(scale, sequentialLog()).base(scale.base());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialSymlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, sequentialSymlog()).constant(scale.constant());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialPow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, sequentialPow()).exponent(scale.exponent());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function sequentialSqrt() {\n return sequentialPow.apply(null, arguments).exponent(0.5);\n}\n","import {ascending, bisect, quantile} from \"d3-array\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\n\nexport default function sequentialQuantile() {\n var domain = [],\n interpolator = identity;\n\n function scale(x) {\n if (x != null && !isNaN(x = +x)) return interpolator((bisect(domain, x, 1) - 1) / (domain.length - 1));\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return scale;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n scale.range = function() {\n return domain.map((d, i) => interpolator(i / (domain.length - 1)));\n };\n\n scale.quantiles = function(n) {\n return Array.from({length: n + 1}, (_, i) => quantile(domain, i / n));\n };\n\n scale.copy = function() {\n return sequentialQuantile(interpolator).domain(domain);\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n","import {default as value} from \"./value.js\";\n\nexport default function piecewise(interpolate, values) {\n if (values === undefined) values = interpolate, interpolate = value;\n var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n);\n while (i < n) I[i] = interpolate(v, v = values[++i]);\n return function(t) {\n var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n)));\n return I[i](t - i);\n };\n}\n","import {interpolate, interpolateRound, piecewise} from \"d3-interpolate\";\nimport {identity} from \"./continuous.js\";\nimport {initInterpolator} from \"./init.js\";\nimport {linearish} from \"./linear.js\";\nimport {loggish} from \"./log.js\";\nimport {copy} from \"./sequential.js\";\nimport {symlogish} from \"./symlog.js\";\nimport {powish} from \"./pow.js\";\n\nfunction transformer() {\n var x0 = 0,\n x1 = 0.5,\n x2 = 1,\n s = 1,\n t0,\n t1,\n t2,\n k10,\n k21,\n interpolator = identity,\n transform,\n clamp = false,\n unknown;\n\n function scale(x) {\n return isNaN(x = +x) ? unknown : (x = 0.5 + ((x = +transform(x)) - t1) * (s * x < s * t1 ? k10 : k21), interpolator(clamp ? Math.max(0, Math.min(1, x)) : x));\n }\n\n scale.domain = function(_) {\n return arguments.length ? ([x0, x1, x2] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), t2 = transform(x2 = +x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), s = t1 < t0 ? -1 : 1, scale) : [x0, x1, x2];\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = !!_, scale) : clamp;\n };\n\n scale.interpolator = function(_) {\n return arguments.length ? (interpolator = _, scale) : interpolator;\n };\n\n function range(interpolate) {\n return function(_) {\n var r0, r1, r2;\n return arguments.length ? ([r0, r1, r2] = _, interpolator = piecewise(interpolate, [r0, r1, r2]), scale) : [interpolator(0), interpolator(0.5), interpolator(1)];\n };\n }\n\n scale.range = range(interpolate);\n\n scale.rangeRound = range(interpolateRound);\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t) {\n transform = t, t0 = t(x0), t1 = t(x1), t2 = t(x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), s = t1 < t0 ? -1 : 1;\n return scale;\n };\n}\n\nexport default function diverging() {\n var scale = linearish(transformer()(identity));\n\n scale.copy = function() {\n return copy(scale, diverging());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingLog() {\n var scale = loggish(transformer()).domain([0.1, 1, 10]);\n\n scale.copy = function() {\n return copy(scale, divergingLog()).base(scale.base());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingSymlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, divergingSymlog()).constant(scale.constant());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingPow() {\n var scale = powish(transformer());\n\n scale.copy = function() {\n return copy(scale, divergingPow()).exponent(scale.exponent());\n };\n\n return initInterpolator.apply(scale, arguments);\n}\n\nexport function divergingSqrt() {\n return divergingPow.apply(null, arguments).exponent(0.5);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n}\n","export default function(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport offsetNone from \"./offset/none.js\";\nimport orderNone from \"./order/none.js\";\n\nfunction stackValue(d, key) {\n return d[key];\n}\n\nfunction stackSeries(key) {\n const series = [];\n series.key = key;\n return series;\n}\n\nexport default function() {\n var keys = constant([]),\n order = orderNone,\n offset = offsetNone,\n value = stackValue;\n\n function stack(data) {\n var sz = Array.from(keys.apply(this, arguments), stackSeries),\n i, n = sz.length, j = -1,\n oz;\n\n for (const d of data) {\n for (i = 0, ++j; i < n; ++i) {\n (sz[i][j] = [0, +value(d, sz[i].key, j, data)]).data = d;\n }\n }\n\n for (i = 0, oz = array(order(sz)); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n\n offset(sz, oz);\n return sz;\n }\n\n stack.keys = function(_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : constant(Array.from(_)), stack) : keys;\n };\n\n stack.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), stack) : value;\n };\n\n stack.order = function(_) {\n return arguments.length ? (order = _ == null ? orderNone : typeof _ === \"function\" ? _ : constant(Array.from(_)), stack) : order;\n };\n\n stack.offset = function(_) {\n return arguments.length ? (offset = _ == null ? offsetNone : _, stack) : offset;\n };\n\n return stack;\n}\n","import _isEqual from \"lodash/isEqual\";\nimport _sortBy from \"lodash/sortBy\";\nimport _isNaN from \"lodash/isNaN\";\nimport _upperFirst from \"lodash/upperFirst\";\nimport _isString from \"lodash/isString\";\nimport _isArray from \"lodash/isArray\";\nimport _max from \"lodash/max\";\nimport _min from \"lodash/min\";\nimport _flatMap from \"lodash/flatMap\";\nimport _isFunction from \"lodash/isFunction\";\nimport _get from \"lodash/get\";\nimport _isNil from \"lodash/isNil\";\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 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\nimport { getNiceTickValues, getTickValuesFixedDomain } from 'recharts-scale';\nimport * as d3Scales from 'd3-scale';\nimport { stack as shapeStack, stackOrderNone, stackOffsetExpand, stackOffsetNone, stackOffsetSilhouette, stackOffsetWiggle } from 'd3-shape';\nimport { isNumOrStr, uniqueId, isNumber, getPercentValue, mathSign, findEntryInArray } from './DataUtils';\nimport { Legend } from '../component/Legend';\nimport { findAllByType, findChildByType, getDisplayName } from './ReactUtils'; // TODO: Cause of circular dependency. Needs refactor.\n// import { RadiusAxisProps, AngleAxisProps } from '../polar/types';\n\nimport { filterProps } from './types';\nexport function getValueByDataKey(obj, dataKey, defaultValue) {\n if (_isNil(obj) || _isNil(dataKey)) {\n return defaultValue;\n }\n\n if (isNumOrStr(dataKey)) {\n return _get(obj, dataKey, defaultValue);\n }\n\n if (_isFunction(dataKey)) {\n return dataKey(obj);\n }\n\n return defaultValue;\n}\n/**\n * Get domain of data by key\n * @param {Array} data The data displayed in the chart\n * @param {String} key The unique key of a group of data\n * @param {String} type The type of axis\n * @param {Boolean} filterNil Whether or not filter nil values\n * @return {Array} Domain of data\n */\n\nexport function getDomainOfDataByKey(data, key, type, filterNil) {\n var flattenData = _flatMap(data, function (entry) {\n return getValueByDataKey(entry, key);\n });\n\n if (type === 'number') {\n var domain = flattenData.filter(function (entry) {\n return isNumber(entry) || parseFloat(entry);\n });\n return domain.length ? [_min(domain), _max(domain)] : [Infinity, -Infinity];\n }\n\n var validateData = filterNil ? flattenData.filter(function (entry) {\n return !_isNil(entry);\n }) : flattenData; // 支持Date类型的x轴\n\n return validateData.map(function (entry) {\n return isNumOrStr(entry) || entry instanceof Date ? entry : '';\n });\n}\nexport var calculateActiveTickIndex = function calculateActiveTickIndex(coordinate) {\n var _ticks$length;\n\n var ticks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var unsortedTicks = arguments.length > 2 ? arguments[2] : undefined;\n var axis = arguments.length > 3 ? arguments[3] : undefined;\n var index = -1;\n var len = (_ticks$length = ticks === null || ticks === void 0 ? void 0 : ticks.length) !== null && _ticks$length !== void 0 ? _ticks$length : 0;\n\n if (len > 1) {\n if (axis && axis.axisType === 'angleAxis' && Math.abs(Math.abs(axis.range[1] - axis.range[0]) - 360) <= 1e-6) {\n var range = axis.range; // ticks are distributed in a circle\n\n for (var i = 0; i < len; i++) {\n var before = i > 0 ? unsortedTicks[i - 1].coordinate : unsortedTicks[len - 1].coordinate;\n var cur = unsortedTicks[i].coordinate;\n var after = i >= len - 1 ? unsortedTicks[0].coordinate : unsortedTicks[i + 1].coordinate;\n var sameDirectionCoord = void 0;\n\n if (mathSign(cur - before) !== mathSign(after - cur)) {\n var diffInterval = [];\n\n if (mathSign(after - cur) === mathSign(range[1] - range[0])) {\n sameDirectionCoord = after;\n var curInRange = cur + range[1] - range[0];\n diffInterval[0] = Math.min(curInRange, (curInRange + before) / 2);\n diffInterval[1] = Math.max(curInRange, (curInRange + before) / 2);\n } else {\n sameDirectionCoord = before;\n var afterInRange = after + range[1] - range[0];\n diffInterval[0] = Math.min(cur, (afterInRange + cur) / 2);\n diffInterval[1] = Math.max(cur, (afterInRange + cur) / 2);\n }\n\n var sameInterval = [Math.min(cur, (sameDirectionCoord + cur) / 2), Math.max(cur, (sameDirectionCoord + cur) / 2)];\n\n if (coordinate > sameInterval[0] && coordinate <= sameInterval[1] || coordinate >= diffInterval[0] && coordinate <= diffInterval[1]) {\n index = unsortedTicks[i].index;\n break;\n }\n } else {\n var min = Math.min(before, after);\n var max = Math.max(before, after);\n\n if (coordinate > (min + cur) / 2 && coordinate <= (max + cur) / 2) {\n index = unsortedTicks[i].index;\n break;\n }\n }\n }\n } else {\n // ticks are distributed in a single direction\n for (var _i = 0; _i < len; _i++) {\n if (_i === 0 && coordinate <= (ticks[_i].coordinate + ticks[_i + 1].coordinate) / 2 || _i > 0 && _i < len - 1 && coordinate > (ticks[_i].coordinate + ticks[_i - 1].coordinate) / 2 && coordinate <= (ticks[_i].coordinate + ticks[_i + 1].coordinate) / 2 || _i === len - 1 && coordinate > (ticks[_i].coordinate + ticks[_i - 1].coordinate) / 2) {\n index = ticks[_i].index;\n break;\n }\n }\n }\n } else {\n index = 0;\n }\n\n return index;\n};\n/**\n * Get the main color of each graphic item\n * @param {ReactElement} item A graphic item\n * @return {String} Color\n */\n\nexport var getMainColorOfGraphicItem = function getMainColorOfGraphicItem(item) {\n var _ref = item,\n displayName = _ref.type.displayName; // TODO: check if displayName is valid.\n\n var _item$props = item.props,\n stroke = _item$props.stroke,\n fill = _item$props.fill;\n var result;\n\n switch (displayName) {\n case 'Line':\n result = stroke;\n break;\n\n case 'Area':\n case 'Radar':\n result = stroke && stroke !== 'none' ? stroke : fill;\n break;\n\n default:\n result = fill;\n break;\n }\n\n return result;\n};\nexport var getLegendProps = function getLegendProps(_ref2) {\n var children = _ref2.children,\n formattedGraphicalItems = _ref2.formattedGraphicalItems,\n legendWidth = _ref2.legendWidth,\n legendContent = _ref2.legendContent;\n var legendItem = findChildByType(children, Legend.displayName);\n\n if (!legendItem) {\n return null;\n }\n\n var legendData;\n\n if (legendItem.props && legendItem.props.payload) {\n legendData = legendItem.props && legendItem.props.payload;\n } else if (legendContent === 'children') {\n legendData = (formattedGraphicalItems || []).reduce(function (result, _ref3) {\n var item = _ref3.item,\n props = _ref3.props;\n var data = props.sectors || props.data || [];\n return result.concat(data.map(function (entry) {\n return {\n type: legendItem.props.iconType || item.props.legendType,\n value: entry.name,\n color: entry.fill,\n payload: entry\n };\n }));\n }, []);\n } else {\n legendData = (formattedGraphicalItems || []).map(function (_ref4) {\n var item = _ref4.item;\n var _item$props2 = item.props,\n dataKey = _item$props2.dataKey,\n name = _item$props2.name,\n legendType = _item$props2.legendType,\n hide = _item$props2.hide;\n return {\n inactive: hide,\n dataKey: dataKey,\n type: legendItem.props.iconType || legendType || 'square',\n color: getMainColorOfGraphicItem(item),\n value: name || dataKey,\n payload: item.props\n };\n });\n }\n\n return _objectSpread(_objectSpread(_objectSpread({}, legendItem.props), Legend.getWithHeight(legendItem, legendWidth)), {}, {\n payload: legendData,\n item: legendItem\n });\n};\n/**\n * Calculate the size of all groups for stacked bar graph\n * @param {Object} stackGroups The items grouped by axisId and stackId\n * @return {Object} The size of all groups\n */\n\nexport var getBarSizeList = function getBarSizeList(_ref5) {\n var globalSize = _ref5.barSize,\n _ref5$stackGroups = _ref5.stackGroups,\n stackGroups = _ref5$stackGroups === void 0 ? {} : _ref5$stackGroups;\n\n if (!stackGroups) {\n return {};\n }\n\n var result = {};\n var numericAxisIds = Object.keys(stackGroups);\n\n for (var i = 0, len = numericAxisIds.length; i < len; i++) {\n var sgs = stackGroups[numericAxisIds[i]].stackGroups;\n var stackIds = Object.keys(sgs);\n\n for (var j = 0, sLen = stackIds.length; j < sLen; j++) {\n var _sgs$stackIds$j = sgs[stackIds[j]],\n items = _sgs$stackIds$j.items,\n cateAxisId = _sgs$stackIds$j.cateAxisId;\n var barItems = items.filter(function (item) {\n return getDisplayName(item.type).indexOf('Bar') >= 0;\n });\n\n if (barItems && barItems.length) {\n var selfSize = barItems[0].props.barSize;\n var cateId = barItems[0].props[cateAxisId];\n\n if (!result[cateId]) {\n result[cateId] = [];\n }\n\n result[cateId].push({\n item: barItems[0],\n stackList: barItems.slice(1),\n barSize: _isNil(selfSize) ? globalSize : selfSize\n });\n }\n }\n }\n\n return result;\n};\n/**\n * Calculate the size of each bar and the gap between two bars\n * @param {Number} bandSize The size of each category\n * @param {sizeList} sizeList The size of all groups\n * @param {maxBarSize} maxBarSize The maximum size of bar\n * @return {Number} The size of each bar and the gap between two bars\n */\n\nexport var getBarPosition = function getBarPosition(_ref6) {\n var barGap = _ref6.barGap,\n barCategoryGap = _ref6.barCategoryGap,\n bandSize = _ref6.bandSize,\n _ref6$sizeList = _ref6.sizeList,\n sizeList = _ref6$sizeList === void 0 ? [] : _ref6$sizeList,\n maxBarSize = _ref6.maxBarSize;\n var len = sizeList.length;\n if (len < 1) return null;\n var realBarGap = getPercentValue(barGap, bandSize, 0, true);\n var result; // whether or not is barSize setted by user\n\n if (sizeList[0].barSize === +sizeList[0].barSize) {\n var useFull = false;\n var fullBarSize = bandSize / len;\n var sum = sizeList.reduce(function (res, entry) {\n return res + entry.barSize || 0;\n }, 0);\n sum += (len - 1) * realBarGap;\n\n if (sum >= bandSize) {\n sum -= (len - 1) * realBarGap;\n realBarGap = 0;\n }\n\n if (sum >= bandSize && fullBarSize > 0) {\n useFull = true;\n fullBarSize *= 0.9;\n sum = len * fullBarSize;\n }\n\n var offset = (bandSize - sum) / 2 >> 0;\n var prev = {\n offset: offset - realBarGap,\n size: 0\n };\n result = sizeList.reduce(function (res, entry) {\n var newRes = [].concat(_toConsumableArray(res), [{\n item: entry.item,\n position: {\n offset: prev.offset + prev.size + realBarGap,\n size: useFull ? fullBarSize : entry.barSize\n }\n }]);\n prev = newRes[newRes.length - 1].position;\n\n if (entry.stackList && entry.stackList.length) {\n entry.stackList.forEach(function (item) {\n newRes.push({\n item: item,\n position: prev\n });\n });\n }\n\n return newRes;\n }, []);\n } else {\n var _offset = getPercentValue(barCategoryGap, bandSize, 0, true);\n\n if (bandSize - 2 * _offset - (len - 1) * realBarGap <= 0) {\n realBarGap = 0;\n }\n\n var originalSize = (bandSize - 2 * _offset - (len - 1) * realBarGap) / len;\n\n if (originalSize > 1) {\n originalSize >>= 0;\n }\n\n var size = maxBarSize === +maxBarSize ? Math.min(originalSize, maxBarSize) : originalSize;\n result = sizeList.reduce(function (res, entry, i) {\n var newRes = [].concat(_toConsumableArray(res), [{\n item: entry.item,\n position: {\n offset: _offset + (originalSize + realBarGap) * i + (originalSize - size) / 2,\n size: size\n }\n }]);\n\n if (entry.stackList && entry.stackList.length) {\n entry.stackList.forEach(function (item) {\n newRes.push({\n item: item,\n position: newRes[newRes.length - 1].position\n });\n });\n }\n\n return newRes;\n }, []);\n }\n\n return result;\n};\nexport var appendOffsetOfLegend = function appendOffsetOfLegend(offset, items, props, legendBox) {\n var children = props.children,\n width = props.width,\n margin = props.margin;\n var legendWidth = width - (margin.left || 0) - (margin.right || 0); // const legendHeight = height - (margin.top || 0) - (margin.bottom || 0);\n\n var legendProps = getLegendProps({\n children: children,\n legendWidth: legendWidth\n });\n var newOffset = offset;\n\n if (legendProps) {\n var box = legendBox || {};\n var align = legendProps.align,\n verticalAlign = legendProps.verticalAlign,\n layout = legendProps.layout;\n\n if ((layout === 'vertical' || layout === 'horizontal' && verticalAlign === 'center') && isNumber(offset[align])) {\n newOffset = _objectSpread(_objectSpread({}, offset), {}, _defineProperty({}, align, newOffset[align] + (box.width || 0)));\n }\n\n if ((layout === 'horizontal' || layout === 'vertical' && align === 'center') && isNumber(offset[verticalAlign])) {\n newOffset = _objectSpread(_objectSpread({}, offset), {}, _defineProperty({}, verticalAlign, newOffset[verticalAlign] + (box.height || 0)));\n }\n }\n\n return newOffset;\n};\nexport var getDomainOfErrorBars = function getDomainOfErrorBars(data, item, dataKey, axisType) {\n var children = item.props.children;\n var errorBars = findAllByType(children, 'ErrorBar').filter(function (errorBarChild) {\n var direction = errorBarChild.props.direction;\n return _isNil(direction) || _isNil(axisType) ? true : axisType.indexOf(direction) >= 0;\n });\n\n if (errorBars && errorBars.length) {\n var keys = errorBars.map(function (errorBarChild) {\n return errorBarChild.props.dataKey;\n });\n return data.reduce(function (result, entry) {\n var entryValue = getValueByDataKey(entry, dataKey, 0);\n var mainValue = _isArray(entryValue) ? [_min(entryValue), _max(entryValue)] : [entryValue, entryValue];\n var errorDomain = keys.reduce(function (prevErrorArr, k) {\n var errorValue = getValueByDataKey(entry, k, 0);\n var lowerValue = mainValue[0] - Math.abs(_isArray(errorValue) ? errorValue[0] : errorValue);\n var upperValue = mainValue[1] + Math.abs(_isArray(errorValue) ? errorValue[1] : errorValue);\n return [Math.min(lowerValue, prevErrorArr[0]), Math.max(upperValue, prevErrorArr[1])];\n }, [Infinity, -Infinity]);\n return [Math.min(errorDomain[0], result[0]), Math.max(errorDomain[1], result[1])];\n }, [Infinity, -Infinity]);\n }\n\n return null;\n};\nexport var parseErrorBarsOfAxis = function parseErrorBarsOfAxis(data, items, dataKey, axisType) {\n var domains = items.map(function (item) {\n return getDomainOfErrorBars(data, item, dataKey, axisType);\n }).filter(function (entry) {\n return !_isNil(entry);\n });\n\n if (domains && domains.length) {\n return domains.reduce(function (result, entry) {\n return [Math.min(result[0], entry[0]), Math.max(result[1], entry[1])];\n }, [Infinity, -Infinity]);\n }\n\n return null;\n};\n/**\n * Get domain of data by the configuration of item element\n * @param {Array} data The data displayed in the chart\n * @param {Array} items The instances of item\n * @param {String} type The type of axis, number - Number Axis, category - Category Axis\n * @param {Boolean} filterNil Whether or not filter nil values\n * @return {Array} Domain\n */\n\nexport var getDomainOfItemsWithSameAxis = function getDomainOfItemsWithSameAxis(data, items, type, filterNil) {\n var domains = items.map(function (item) {\n var dataKey = item.props.dataKey;\n\n if (type === 'number' && dataKey) {\n return getDomainOfErrorBars(data, item, dataKey) || getDomainOfDataByKey(data, dataKey, type, filterNil);\n }\n\n return getDomainOfDataByKey(data, dataKey, type, filterNil);\n });\n\n if (type === 'number') {\n // Calculate the domain of number axis\n return domains.reduce(function (result, entry) {\n return [Math.min(result[0], entry[0]), Math.max(result[1], entry[1])];\n }, [Infinity, -Infinity]);\n }\n\n var tag = {}; // Get the union set of category axis\n\n return domains.reduce(function (result, entry) {\n for (var i = 0, len = entry.length; i < len; i++) {\n if (!tag[entry[i]]) {\n tag[entry[i]] = true;\n result.push(entry[i]);\n }\n }\n\n return result;\n }, []);\n};\nexport var isCategoricalAxis = function isCategoricalAxis(layout, axisType) {\n return layout === 'horizontal' && axisType === 'xAxis' || layout === 'vertical' && axisType === 'yAxis' || layout === 'centric' && axisType === 'angleAxis' || layout === 'radial' && axisType === 'radiusAxis';\n};\n/**\n * Calculate the Coordinates of grid\n * @param {Array} ticks The ticks in axis\n * @param {Number} min The minimun value of axis\n * @param {Number} max The maximun value of axis\n * @return {Array} Coordinates\n */\n\nexport var getCoordinatesOfGrid = function getCoordinatesOfGrid(ticks, min, max) {\n var hasMin, hasMax;\n var values = ticks.map(function (entry) {\n if (entry.coordinate === min) {\n hasMin = true;\n }\n\n if (entry.coordinate === max) {\n hasMax = true;\n }\n\n return entry.coordinate;\n });\n\n if (!hasMin) {\n values.push(min);\n }\n\n if (!hasMax) {\n values.push(max);\n }\n\n return values;\n};\n/**\n * Get the ticks of an axis\n * @param {Object} axis The configuration of an axis\n * @param {Boolean} isGrid Whether or not are the ticks in grid\n * @param {Boolean} isAll Return the ticks of all the points or not\n * @return {Array} Ticks\n */\n\nexport var getTicksOfAxis = function getTicksOfAxis(axis, isGrid, isAll) {\n if (!axis) return null;\n var scale = axis.scale;\n var duplicateDomain = axis.duplicateDomain,\n type = axis.type,\n range = axis.range;\n var offset = (isGrid || isAll) && type === 'category' && scale.bandwidth ? scale.bandwidth() / 2 : 0;\n offset = axis.axisType === 'angleAxis' ? mathSign(range[0] - range[1]) * 2 * offset : offset; // The ticks setted by user should only affect the ticks adjacent to axis line\n\n if (isGrid && (axis.ticks || axis.niceTicks)) {\n return (axis.ticks || axis.niceTicks).map(function (entry) {\n var scaleContent = duplicateDomain ? duplicateDomain.indexOf(entry) : entry;\n return {\n coordinate: scale(scaleContent) + offset,\n value: entry,\n offset: offset\n };\n });\n } // When axis is a categorial axis, but the type of axis is number or the scale of axis is not \"auto\"\n\n\n if (axis.isCategorical && axis.categoricalDomain) {\n return axis.categoricalDomain.map(function (entry, index) {\n return {\n coordinate: scale(entry) + offset,\n value: entry,\n index: index,\n offset: offset\n };\n });\n }\n\n if (scale.ticks && !isAll) {\n return scale.ticks(axis.tickCount).map(function (entry) {\n return {\n coordinate: scale(entry) + offset,\n value: entry,\n offset: offset\n };\n });\n } // When axis has duplicated text, serial numbers are used to generate scale\n\n\n return scale.domain().map(function (entry, index) {\n return {\n coordinate: scale(entry) + offset,\n value: duplicateDomain ? duplicateDomain[entry] : entry,\n index: index,\n offset: offset\n };\n });\n};\n/**\n * combine the handlers\n * @param {Function} defaultHandler Internal private handler\n * @param {Function} parentHandler Handler function specified in parent component\n * @param {Function} childHandler Handler function specified in child component\n * @return {Function} The combined handler\n */\n\nexport var combineEventHandlers = function combineEventHandlers(defaultHandler, parentHandler, childHandler) {\n var customizedHandler;\n\n if (_isFunction(childHandler)) {\n customizedHandler = childHandler;\n } else if (_isFunction(parentHandler)) {\n customizedHandler = parentHandler;\n }\n\n if (_isFunction(defaultHandler) || customizedHandler) {\n return function (arg1, arg2, arg3, arg4) {\n if (_isFunction(defaultHandler)) {\n defaultHandler(arg1, arg2, arg3, arg4);\n }\n\n if (_isFunction(customizedHandler)) {\n customizedHandler(arg1, arg2, arg3, arg4);\n }\n };\n }\n\n return null;\n};\n/**\n * Parse the scale function of axis\n * @param {Object} axis The option of axis\n * @param {String} chartType The displayName of chart\n * @param {Boolean} hasBar if it has a bar\n * @return {Function} The scale function\n */\n\nexport var parseScale = function parseScale(axis, chartType, hasBar) {\n var scale = axis.scale,\n type = axis.type,\n layout = axis.layout,\n axisType = axis.axisType;\n\n if (scale === 'auto') {\n if (layout === 'radial' && axisType === 'radiusAxis') {\n return {\n scale: d3Scales.scaleBand(),\n realScaleType: 'band'\n };\n }\n\n if (layout === 'radial' && axisType === 'angleAxis') {\n return {\n scale: d3Scales.scaleLinear(),\n realScaleType: 'linear'\n };\n }\n\n if (type === 'category' && chartType && (chartType.indexOf('LineChart') >= 0 || chartType.indexOf('AreaChart') >= 0 || chartType.indexOf('ComposedChart') >= 0 && !hasBar)) {\n return {\n scale: d3Scales.scalePoint(),\n realScaleType: 'point'\n };\n }\n\n if (type === 'category') {\n return {\n scale: d3Scales.scaleBand(),\n realScaleType: 'band'\n };\n }\n\n return {\n scale: d3Scales.scaleLinear(),\n realScaleType: 'linear'\n };\n }\n\n if (_isString(scale)) {\n var name = \"scale\".concat(_upperFirst(scale));\n return {\n scale: (d3Scales[name] || d3Scales.scalePoint)(),\n realScaleType: d3Scales[name] ? name : 'point'\n };\n }\n\n return _isFunction(scale) ? {\n scale: scale\n } : {\n scale: d3Scales.scalePoint(),\n realScaleType: 'point'\n };\n};\nvar EPS = 1e-4;\nexport var checkDomainOfScale = function checkDomainOfScale(scale) {\n var domain = scale.domain();\n\n if (!domain || domain.length <= 2) {\n return;\n }\n\n var len = domain.length;\n var range = scale.range();\n var min = Math.min(range[0], range[1]) - EPS;\n var max = Math.max(range[0], range[1]) + EPS;\n var first = scale(domain[0]);\n var last = scale(domain[len - 1]);\n\n if (first < min || first > max || last < min || last > max) {\n scale.domain([domain[0], domain[len - 1]]);\n }\n};\nexport var findPositionOfBar = function findPositionOfBar(barPosition, child) {\n if (!barPosition) {\n return null;\n }\n\n for (var i = 0, len = barPosition.length; i < len; i++) {\n if (barPosition[i].item === child) {\n return barPosition[i].position;\n }\n }\n\n return null;\n};\nexport var truncateByDomain = function truncateByDomain(value, domain) {\n if (!domain || domain.length !== 2 || !isNumber(domain[0]) || !isNumber(domain[1])) {\n return value;\n }\n\n var min = Math.min(domain[0], domain[1]);\n var max = Math.max(domain[0], domain[1]);\n var result = [value[0], value[1]];\n\n if (!isNumber(value[0]) || value[0] < min) {\n result[0] = min;\n }\n\n if (!isNumber(value[1]) || value[1] > max) {\n result[1] = max;\n }\n\n if (result[0] > max) {\n result[0] = max;\n }\n\n if (result[1] < min) {\n result[1] = min;\n }\n\n return result;\n};\n/* eslint no-param-reassign: 0 */\n\nexport var offsetSign = function offsetSign(series) {\n var n = series.length;\n\n if (n <= 0) {\n return;\n }\n\n for (var j = 0, m = series[0].length; j < m; ++j) {\n var positive = 0;\n var negative = 0;\n\n for (var i = 0; i < n; ++i) {\n var value = _isNaN(series[i][j][1]) ? series[i][j][0] : series[i][j][1];\n /* eslint-disable prefer-destructuring */\n\n if (value >= 0) {\n series[i][j][0] = positive;\n series[i][j][1] = positive + value;\n positive = series[i][j][1];\n } else {\n series[i][j][0] = negative;\n series[i][j][1] = negative + value;\n negative = series[i][j][1];\n }\n /* eslint-enable prefer-destructuring */\n\n }\n }\n};\n/* eslint no-param-reassign: 0 */\n\nexport var offsetPositive = function offsetPositive(series) {\n var n = series.length;\n\n if (n <= 0) {\n return;\n }\n\n for (var j = 0, m = series[0].length; j < m; ++j) {\n var positive = 0;\n\n for (var i = 0; i < n; ++i) {\n var value = _isNaN(series[i][j][1]) ? series[i][j][0] : series[i][j][1];\n /* eslint-disable prefer-destructuring */\n\n if (value >= 0) {\n series[i][j][0] = positive;\n series[i][j][1] = positive + value;\n positive = series[i][j][1];\n } else {\n series[i][j][0] = 0;\n series[i][j][1] = 0;\n }\n /* eslint-enable prefer-destructuring */\n\n }\n }\n};\nvar STACK_OFFSET_MAP = {\n sign: offsetSign,\n expand: stackOffsetExpand,\n none: stackOffsetNone,\n silhouette: stackOffsetSilhouette,\n wiggle: stackOffsetWiggle,\n positive: offsetPositive\n};\nexport var getStackedData = function getStackedData(data, stackItems, offsetType) {\n var dataKeys = stackItems.map(function (item) {\n return item.props.dataKey;\n });\n var stack = shapeStack().keys(dataKeys).value(function (d, key) {\n return +getValueByDataKey(d, key, 0);\n }).order(stackOrderNone).offset(STACK_OFFSET_MAP[offsetType]);\n return stack(data);\n};\nexport var getStackGroupsByAxisId = function getStackGroupsByAxisId(data, _items, numericAxisId, cateAxisId, offsetType, reverseStackOrder) {\n if (!data) {\n return null;\n } // reversing items to affect render order (for layering)\n\n\n var items = reverseStackOrder ? _items.reverse() : _items;\n var stackGroups = items.reduce(function (result, item) {\n var _item$props3 = item.props,\n stackId = _item$props3.stackId,\n hide = _item$props3.hide;\n\n if (hide) {\n return result;\n }\n\n var axisId = item.props[numericAxisId];\n var parentGroup = result[axisId] || {\n hasStack: false,\n stackGroups: {}\n };\n\n if (isNumOrStr(stackId)) {\n var childGroup = parentGroup.stackGroups[stackId] || {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: []\n };\n childGroup.items.push(item);\n parentGroup.hasStack = true;\n parentGroup.stackGroups[stackId] = childGroup;\n } else {\n parentGroup.stackGroups[uniqueId('_stackId_')] = {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: [item]\n };\n }\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, parentGroup));\n }, {});\n return Object.keys(stackGroups).reduce(function (result, axisId) {\n var group = stackGroups[axisId];\n\n if (group.hasStack) {\n group.stackGroups = Object.keys(group.stackGroups).reduce(function (res, stackId) {\n var g = group.stackGroups[stackId];\n return _objectSpread(_objectSpread({}, res), {}, _defineProperty({}, stackId, {\n numericAxisId: numericAxisId,\n cateAxisId: cateAxisId,\n items: g.items,\n stackedData: getStackedData(data, g.items, offsetType)\n }));\n }, {});\n }\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, axisId, group));\n }, {});\n};\n/**\n * get domain of ticks\n * @param {Array} ticks Ticks of axis\n * @param {String} type The type of axis\n * @return {Array} domain\n */\n\nexport var calculateDomainOfTicks = function calculateDomainOfTicks(ticks, type) {\n if (type === 'number') {\n return [_min(ticks), _max(ticks)];\n }\n\n return ticks;\n};\n/**\n * Configure the scale function of axis\n * @param {Object} scale The scale function\n * @param {Object} opts The configuration of axis\n * @return {Object} null\n */\n\nexport var getTicksOfScale = function getTicksOfScale(scale, opts) {\n var realScaleType = opts.realScaleType,\n type = opts.type,\n tickCount = opts.tickCount,\n originalDomain = opts.originalDomain,\n allowDecimals = opts.allowDecimals;\n var scaleType = realScaleType || opts.scale;\n\n if (scaleType !== 'auto' && scaleType !== 'linear') {\n return null;\n }\n\n if (tickCount && type === 'number' && originalDomain && (originalDomain[0] === 'auto' || originalDomain[1] === 'auto')) {\n // Calculate the ticks by the number of grid when the axis is a number axis\n var domain = scale.domain();\n\n if (!domain.length) {\n return null;\n }\n\n var tickValues = getNiceTickValues(domain, tickCount, allowDecimals);\n scale.domain(calculateDomainOfTicks(tickValues, type));\n return {\n niceTicks: tickValues\n };\n }\n\n if (tickCount && type === 'number') {\n var _domain = scale.domain();\n\n var _tickValues = getTickValuesFixedDomain(_domain, tickCount, allowDecimals);\n\n return {\n niceTicks: _tickValues\n };\n }\n\n return null;\n};\nexport var getCateCoordinateOfLine = function getCateCoordinateOfLine(_ref7) {\n var axis = _ref7.axis,\n ticks = _ref7.ticks,\n bandSize = _ref7.bandSize,\n entry = _ref7.entry,\n index = _ref7.index,\n dataKey = _ref7.dataKey;\n\n if (axis.type === 'category') {\n // find coordinate of category axis by the value of category\n if (!axis.allowDuplicatedCategory && axis.dataKey && !_isNil(entry[axis.dataKey])) {\n var matchedTick = findEntryInArray(ticks, 'value', entry[axis.dataKey]);\n\n if (matchedTick) {\n return matchedTick.coordinate + bandSize / 2;\n }\n }\n\n return ticks[index] ? ticks[index].coordinate + bandSize / 2 : null;\n }\n\n var value = getValueByDataKey(entry, !_isNil(dataKey) ? dataKey : axis.dataKey);\n return !_isNil(value) ? axis.scale(value) : null;\n};\nexport var getCateCoordinateOfBar = function getCateCoordinateOfBar(_ref8) {\n var axis = _ref8.axis,\n ticks = _ref8.ticks,\n offset = _ref8.offset,\n bandSize = _ref8.bandSize,\n entry = _ref8.entry,\n index = _ref8.index;\n\n if (axis.type === 'category') {\n return ticks[index] ? ticks[index].coordinate + offset : null;\n }\n\n var value = getValueByDataKey(entry, axis.dataKey, axis.domain[index]);\n return !_isNil(value) ? axis.scale(value) - bandSize / 2 + offset : null;\n};\nexport var getBaseValueOfBar = function getBaseValueOfBar(_ref9) {\n var numericAxis = _ref9.numericAxis;\n var domain = numericAxis.scale.domain();\n\n if (numericAxis.type === 'number') {\n var min = Math.min(domain[0], domain[1]);\n var max = Math.max(domain[0], domain[1]);\n\n if (min <= 0 && max >= 0) {\n return 0;\n }\n\n if (max < 0) {\n return max;\n }\n\n return min;\n }\n\n return domain[0];\n};\nexport var getStackedDataOfItem = function getStackedDataOfItem(item, stackGroups) {\n var stackId = item.props.stackId;\n\n if (isNumOrStr(stackId)) {\n var group = stackGroups[stackId];\n\n if (group && group.items.length) {\n var itemIndex = -1;\n\n for (var i = 0, len = group.items.length; i < len; i++) {\n if (group.items[i] === item) {\n itemIndex = i;\n break;\n }\n }\n\n return itemIndex >= 0 ? group.stackedData[itemIndex] : null;\n }\n }\n\n return null;\n};\n\nvar getDomainOfSingle = function getDomainOfSingle(data) {\n return data.reduce(function (result, entry) {\n return [_min(entry.concat([result[0]]).filter(isNumber)), _max(entry.concat([result[1]]).filter(isNumber))];\n }, [Infinity, -Infinity]);\n};\n\nexport var getDomainOfStackGroups = function getDomainOfStackGroups(stackGroups, startIndex, endIndex) {\n return Object.keys(stackGroups).reduce(function (result, stackId) {\n var group = stackGroups[stackId];\n var stackedData = group.stackedData;\n var domain = stackedData.reduce(function (res, entry) {\n var s = getDomainOfSingle(entry.slice(startIndex, endIndex + 1));\n return [Math.min(res[0], s[0]), Math.max(res[1], s[1])];\n }, [Infinity, -Infinity]);\n return [Math.min(domain[0], result[0]), Math.max(domain[1], result[1])];\n }, [Infinity, -Infinity]).map(function (result) {\n return result === Infinity || result === -Infinity ? 0 : result;\n });\n};\nexport var MIN_VALUE_REG = /^dataMin[\\s]*-[\\s]*([0-9]+([.]{1}[0-9]+){0,1})$/;\nexport var MAX_VALUE_REG = /^dataMax[\\s]*\\+[\\s]*([0-9]+([.]{1}[0-9]+){0,1})$/;\nexport var parseSpecifiedDomain = function parseSpecifiedDomain(specifiedDomain, dataDomain, allowDataOverflow) {\n if (!_isArray(specifiedDomain)) {\n return dataDomain;\n }\n\n var domain = [];\n /* eslint-disable prefer-destructuring */\n\n if (isNumber(specifiedDomain[0])) {\n domain[0] = allowDataOverflow ? specifiedDomain[0] : Math.min(specifiedDomain[0], dataDomain[0]);\n } else if (MIN_VALUE_REG.test(specifiedDomain[0])) {\n var value = +MIN_VALUE_REG.exec(specifiedDomain[0])[1];\n domain[0] = dataDomain[0] - value;\n } else if (_isFunction(specifiedDomain[0])) {\n domain[0] = specifiedDomain[0](dataDomain[0]);\n } else {\n domain[0] = dataDomain[0];\n }\n\n if (isNumber(specifiedDomain[1])) {\n domain[1] = allowDataOverflow ? specifiedDomain[1] : Math.max(specifiedDomain[1], dataDomain[1]);\n } else if (MAX_VALUE_REG.test(specifiedDomain[1])) {\n var _value = +MAX_VALUE_REG.exec(specifiedDomain[1])[1];\n\n domain[1] = dataDomain[1] + _value;\n } else if (_isFunction(specifiedDomain[1])) {\n domain[1] = specifiedDomain[1](dataDomain[1]);\n } else {\n domain[1] = dataDomain[1];\n }\n /* eslint-enable prefer-destructuring */\n\n\n return domain;\n};\n/**\n * Calculate the size between two category\n * @param {Object} axis The options of axis\n * @param {Array} ticks The ticks of axis\n * @param {Boolean} isBar if items in axis are bars\n * @return {Number} Size\n */\n\nexport var getBandSizeOfAxis = function getBandSizeOfAxis(axis, ticks, isBar) {\n if (axis && axis.scale && axis.scale.bandwidth) {\n var bandWidth = axis.scale.bandwidth();\n\n if (!isBar || bandWidth > 0) {\n return bandWidth;\n }\n }\n\n if (axis && ticks && ticks.length >= 2) {\n var orderedTicks = _sortBy(ticks, function (o) {\n return o.coordinate;\n });\n\n var bandSize = Infinity;\n\n for (var i = 1, len = orderedTicks.length; i < len; i++) {\n var cur = orderedTicks[i];\n var prev = orderedTicks[i - 1];\n bandSize = Math.min((cur.coordinate || 0) - (prev.coordinate || 0), bandSize);\n }\n\n return bandSize === Infinity ? 0 : bandSize;\n }\n\n return isBar ? undefined : 0;\n};\n/**\n * parse the domain of a category axis when a domain is specified\n * @param {Array} specifiedDomain The domain specified by users\n * @param {Array} calculatedDomain The domain calculated by dateKey\n * @param {ReactElement} axisChild The axis element\n * @returns {Array} domains\n */\n\nexport var parseDomainOfCategoryAxis = function parseDomainOfCategoryAxis(specifiedDomain, calculatedDomain, axisChild) {\n if (!specifiedDomain || !specifiedDomain.length) {\n return calculatedDomain;\n }\n\n if (_isEqual(specifiedDomain, _get(axisChild, 'type.defaultProps.domain'))) {\n return calculatedDomain;\n }\n\n return specifiedDomain;\n};\nexport var getTooltipItem = function getTooltipItem(graphicalItem, payload) {\n var _graphicalItem$props = graphicalItem.props,\n dataKey = _graphicalItem$props.dataKey,\n name = _graphicalItem$props.name,\n unit = _graphicalItem$props.unit,\n formatter = _graphicalItem$props.formatter,\n tooltipType = _graphicalItem$props.tooltipType,\n chartType = _graphicalItem$props.chartType;\n return _objectSpread(_objectSpread({}, filterProps(graphicalItem)), {}, {\n dataKey: dataKey,\n unit: unit,\n formatter: formatter,\n name: name || dataKey,\n color: getMainColorOfGraphicItem(graphicalItem),\n value: getValueByDataKey(payload, dataKey),\n type: tooltipType,\n payload: payload,\n chartType: chartType\n });\n};","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {\n for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0;\n if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y;\n }\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0;\n s0[j][1] += s0[j][0] = -y / 2;\n }\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n for (var y = 0, j = 1, s0, m, n; j < m; ++j) {\n for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n var si = series[order[i]],\n sij0 = si[j][1] || 0,\n sij1 = si[j - 1][1] || 0,\n s3 = (sij0 - sij1) / 2;\n for (var k = 0; k < i; ++k) {\n var sk = series[order[k]],\n skj0 = sk[j][1] || 0,\n skj1 = sk[j - 1][1] || 0;\n s3 += skj0 - skj1;\n }\n s1 += sij0, s2 += s3 * sij0;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n if (s1) y -= s2 / s1;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n none(series, order);\n}\n","function 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\nimport { Global } from './Global';\nvar stringCache = {\n widthCache: {},\n cacheCount: 0\n};\nvar MAX_CACHE_NUM = 2000;\nvar SPAN_STYLE = {\n position: 'absolute',\n top: '-20000px',\n left: 0,\n padding: 0,\n margin: 0,\n border: 'none',\n whiteSpace: 'pre'\n};\nvar STYLE_LIST = ['minWidth', 'maxWidth', 'width', 'minHeight', 'maxHeight', 'height', 'top', 'left', 'fontSize', 'lineHeight', 'padding', 'margin', 'paddingLeft', 'paddingRight', 'paddingTop', 'paddingBottom', 'marginLeft', 'marginRight', 'marginTop', 'marginBottom'];\nvar MEASUREMENT_SPAN_ID = 'recharts_measurement_span';\n\nfunction autoCompleteStyle(name, value) {\n if (STYLE_LIST.indexOf(name) >= 0 && value === +value) {\n return \"\".concat(value, \"px\");\n }\n\n return value;\n}\n\nfunction camelToMiddleLine(text) {\n var strs = text.split('');\n var formatStrs = strs.reduce(function (result, entry) {\n if (entry === entry.toUpperCase()) {\n return [].concat(_toConsumableArray(result), ['-', entry.toLowerCase()]);\n }\n\n return [].concat(_toConsumableArray(result), [entry]);\n }, []);\n return formatStrs.join('');\n}\n\nexport var getStyleString = function getStyleString(style) {\n return Object.keys(style).reduce(function (result, s) {\n return \"\".concat(result).concat(camelToMiddleLine(s), \":\").concat(autoCompleteStyle(s, style[s]), \";\");\n }, '');\n};\nexport var getStringSize = function getStringSize(text) {\n var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (text === undefined || text === null || Global.isSsr) {\n return {\n width: 0,\n height: 0\n };\n }\n\n var str = \"\".concat(text);\n var styleString = getStyleString(style);\n var cacheKey = \"\".concat(str, \"-\").concat(styleString);\n\n if (stringCache.widthCache[cacheKey]) {\n return stringCache.widthCache[cacheKey];\n }\n\n try {\n var measurementSpan = document.getElementById(MEASUREMENT_SPAN_ID);\n\n if (!measurementSpan) {\n measurementSpan = document.createElement('span');\n measurementSpan.setAttribute('id', MEASUREMENT_SPAN_ID);\n measurementSpan.setAttribute('aria-hidden', 'true');\n document.body.appendChild(measurementSpan);\n } // Need to use CSS Object Model (CSSOM) to be able to comply with Content Security Policy (CSP)\n // https://en.wikipedia.org/wiki/Content_Security_Policy\n\n\n var measurementSpanStyle = _objectSpread(_objectSpread({}, SPAN_STYLE), style);\n\n Object.keys(measurementSpanStyle).map(function (styleKey) {\n measurementSpan.style[styleKey] = measurementSpanStyle[styleKey];\n return styleKey;\n });\n measurementSpan.textContent = str;\n var rect = measurementSpan.getBoundingClientRect();\n var result = {\n width: rect.width,\n height: rect.height\n };\n stringCache.widthCache[cacheKey] = result;\n\n if (++stringCache.cacheCount > MAX_CACHE_NUM) {\n stringCache.cacheCount = 0;\n stringCache.widthCache = {};\n }\n\n return result;\n } catch (e) {\n return {\n width: 0,\n height: 0\n };\n }\n};\nexport var getOffset = function getOffset(el) {\n var html = el.ownerDocument.documentElement;\n var box = {\n top: 0,\n left: 0\n }; // If we don't have gBCR, just use 0,0 rather than error\n // BlackBerry 5, iOS 3 (original iPhone)\n\n if (typeof el.getBoundingClientRect !== 'undefined') {\n box = el.getBoundingClientRect();\n }\n\n return {\n top: box.top + window.pageYOffset - html.clientTop,\n left: box.left + window.pageXOffset - html.clientLeft\n };\n};\n/**\n * Calculate coordinate of cursor in chart\n * @param {Object} event Event object\n * @param {Object} offset The offset of main part in the svg element\n * @return {Object} {chartX, chartY}\n */\n\nexport var calculateChartCoordinate = function calculateChartCoordinate(event, offset) {\n return {\n chartX: Math.round(event.pageX - offset.left),\n chartY: Math.round(event.pageY - offset.top)\n };\n};","import _get from \"lodash/get\";\nimport _isArray from \"lodash/isArray\";\nimport _isNaN from \"lodash/isNaN\";\nimport _isNumber from \"lodash/isNumber\";\nimport _isString from \"lodash/isString\";\nexport var mathSign = function mathSign(value) {\n if (value === 0) {\n return 0;\n }\n\n if (value > 0) {\n return 1;\n }\n\n return -1;\n};\nexport var isPercent = function isPercent(value) {\n return _isString(value) && value.indexOf('%') === value.length - 1;\n};\nexport var isNumber = function isNumber(value) {\n return _isNumber(value) && !_isNaN(value);\n};\nexport var isNumOrStr = function isNumOrStr(value) {\n return isNumber(value) || _isString(value);\n};\nvar idCounter = 0;\nexport var uniqueId = function uniqueId(prefix) {\n var id = ++idCounter;\n return \"\".concat(prefix || '').concat(id);\n};\n/**\n * Get percent value of a total value\n * @param {Number|String} percent A percent\n * @param {Number} totalValue Total value\n * @param {NUmber} defaultValue The value returned when percent is undefined or invalid\n * @param {Boolean} validate If set to be true, the result will be validated\n * @return {Number} value\n */\n\nexport var getPercentValue = function getPercentValue(percent, totalValue) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var validate = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n if (!isNumber(percent) && !_isString(percent)) {\n return defaultValue;\n }\n\n var value;\n\n if (isPercent(percent)) {\n var index = percent.indexOf('%');\n value = totalValue * parseFloat(percent.slice(0, index)) / 100;\n } else {\n value = +percent;\n }\n\n if (_isNaN(value)) {\n value = defaultValue;\n }\n\n if (validate && value > totalValue) {\n value = totalValue;\n }\n\n return value;\n};\nexport var getAnyElementOfObject = function getAnyElementOfObject(obj) {\n if (!obj) {\n return null;\n }\n\n var keys = Object.keys(obj);\n\n if (keys && keys.length) {\n return obj[keys[0]];\n }\n\n return null;\n};\nexport var hasDuplicate = function hasDuplicate(ary) {\n if (!_isArray(ary)) {\n return false;\n }\n\n var len = ary.length;\n var cache = {};\n\n for (var i = 0; i < len; i++) {\n if (!cache[ary[i]]) {\n cache[ary[i]] = true;\n } else {\n return true;\n }\n }\n\n return false;\n};\nexport var interpolateNumber = function interpolateNumber(numberA, numberB) {\n if (isNumber(numberA) && isNumber(numberB)) {\n return function (t) {\n return numberA + t * (numberB - numberA);\n };\n }\n\n return function () {\n return numberB;\n };\n};\nexport function findEntryInArray(ary, specifiedKey, specifiedValue) {\n if (!ary || !ary.length) {\n return null;\n }\n\n return ary.find(function (entry) {\n return entry && (typeof specifiedKey === 'function' ? specifiedKey(entry) : _get(entry, specifiedKey)) === specifiedValue;\n });\n}\n/**\n * The least square linear regression\n * @param {Array} data The array of points\n * @returns {Object} The domain of x, and the parameter of linear function\n */\n\nexport var getLinearRegression = function getLinearRegression(data) {\n if (!data || !data.length) {\n return null;\n }\n\n var len = data.length;\n var xsum = 0;\n var ysum = 0;\n var xysum = 0;\n var xxsum = 0;\n var xmin = Infinity;\n var xmax = -Infinity;\n\n for (var i = 0; i < len; i++) {\n xsum += data[i].cx;\n ysum += data[i].cy;\n xysum += data[i].cx * data[i].cy;\n xxsum += data[i].cx * data[i].cx;\n xmin = Math.min(xmin, data[i].cx);\n xmax = Math.max(xmax, data[i].cx);\n }\n\n var a = len * xxsum !== xsum * xsum ? (len * xysum - xsum * ysum) / (len * xxsum - xsum * xsum) : 0;\n return {\n xmin: xmin,\n xmax: xmax,\n a: a,\n b: (ysum - a * xsum) / len\n };\n};","var parseIsSsrByDefault = function parseIsSsrByDefault() {\n return !(typeof window !== 'undefined' && window.document && window.document.createElement && window.setTimeout);\n};\n\nexport var Global = {\n isSsr: parseIsSsrByDefault(),\n get: function get(key) {\n return Global[key];\n },\n set: function set(key, value) {\n if (typeof key === 'string') {\n Global[key] = value;\n } else {\n var keys = Object.keys(key);\n\n if (keys && keys.length) {\n keys.forEach(function (k) {\n Global[k] = key[k];\n });\n }\n }\n }\n};","/* eslint no-console: 0 */\nvar isDev = process.env.NODE_ENV !== 'production';\nexport var warn = function warn(condition, format) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n if (isDev && typeof console !== 'undefined' && console.warn) {\n if (format === undefined) {\n console.warn('LogUtils requires an error message argument');\n }\n\n if (!condition) {\n if (format === undefined) {\n console.warn('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var argIndex = 0;\n console.warn(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n }\n }\n }\n};","import _isNil from \"lodash/isNil\";\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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { getPercentValue } from './DataUtils';\nimport { parseScale, checkDomainOfScale, getTicksOfScale } from './ChartUtils';\nexport var RADIAN = Math.PI / 180;\nexport var degreeToRadian = function degreeToRadian(angle) {\n return angle * Math.PI / 180;\n};\nexport var radianToDegree = function radianToDegree(angleInRadian) {\n return angleInRadian * 180 / Math.PI;\n};\nexport var polarToCartesian = function polarToCartesian(cx, cy, radius, angle) {\n return {\n x: cx + Math.cos(-RADIAN * angle) * radius,\n y: cy + Math.sin(-RADIAN * angle) * radius\n };\n};\nexport var getMaxRadius = function getMaxRadius(width, height) {\n var offset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n return Math.min(Math.abs(width - (offset.left || 0) - (offset.right || 0)), Math.abs(height - (offset.top || 0) - (offset.bottom || 0))) / 2;\n};\n/**\n * Calculate the scale function, position, width, height of axes\n * @param {Object} props Latest props\n * @param {Object} axisMap The configuration of axes\n * @param {Object} offset The offset of main part in the svg element\n * @param {Object} axisType The type of axes, radius-axis or angle-axis\n * @param {String} chartName The name of chart\n * @return {Object} Configuration\n */\n\nexport var formatAxisMap = function formatAxisMap(props, axisMap, offset, axisType, chartName) {\n var width = props.width,\n height = props.height;\n var startAngle = props.startAngle,\n endAngle = props.endAngle;\n var cx = getPercentValue(props.cx, width, width / 2);\n var cy = getPercentValue(props.cy, height, height / 2);\n var maxRadius = getMaxRadius(width, height, offset);\n var innerRadius = getPercentValue(props.innerRadius, maxRadius, 0);\n var outerRadius = getPercentValue(props.outerRadius, maxRadius, maxRadius * 0.8);\n var ids = Object.keys(axisMap);\n return ids.reduce(function (result, id) {\n var axis = axisMap[id];\n var domain = axis.domain,\n reversed = axis.reversed;\n var range;\n\n if (_isNil(axis.range)) {\n if (axisType === 'angleAxis') {\n range = [startAngle, endAngle];\n } else if (axisType === 'radiusAxis') {\n range = [innerRadius, outerRadius];\n }\n\n if (reversed) {\n range = [range[1], range[0]];\n }\n } else {\n range = axis.range;\n var _range = range;\n\n var _range2 = _slicedToArray(_range, 2);\n\n startAngle = _range2[0];\n endAngle = _range2[1];\n }\n\n var _parseScale = parseScale(axis, chartName),\n realScaleType = _parseScale.realScaleType,\n scale = _parseScale.scale;\n\n scale.domain(domain).range(range);\n checkDomainOfScale(scale);\n var ticks = getTicksOfScale(scale, _objectSpread(_objectSpread({}, axis), {}, {\n realScaleType: realScaleType\n }));\n\n var finalAxis = _objectSpread(_objectSpread(_objectSpread({}, axis), ticks), {}, {\n range: range,\n radius: outerRadius,\n realScaleType: realScaleType,\n scale: scale,\n cx: cx,\n cy: cy,\n innerRadius: innerRadius,\n outerRadius: outerRadius,\n startAngle: startAngle,\n endAngle: endAngle\n });\n\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, id, finalAxis));\n }, {});\n};\nexport var distanceBetweenPoints = function distanceBetweenPoints(point, anotherPoint) {\n var x1 = point.x,\n y1 = point.y;\n var x2 = anotherPoint.x,\n y2 = anotherPoint.y;\n return Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2));\n};\nexport var getAngleOfPoint = function getAngleOfPoint(_ref, _ref2) {\n var x = _ref.x,\n y = _ref.y;\n var cx = _ref2.cx,\n cy = _ref2.cy;\n var radius = distanceBetweenPoints({\n x: x,\n y: y\n }, {\n x: cx,\n y: cy\n });\n\n if (radius <= 0) {\n return {\n radius: radius\n };\n }\n\n var cos = (x - cx) / radius;\n var angleInRadian = Math.acos(cos);\n\n if (y > cy) {\n angleInRadian = 2 * Math.PI - angleInRadian;\n }\n\n return {\n radius: radius,\n angle: radianToDegree(angleInRadian),\n angleInRadian: angleInRadian\n };\n};\nexport var formatAngleOfSector = function formatAngleOfSector(_ref3) {\n var startAngle = _ref3.startAngle,\n endAngle = _ref3.endAngle;\n var startCnt = Math.floor(startAngle / 360);\n var endCnt = Math.floor(endAngle / 360);\n var min = Math.min(startCnt, endCnt);\n return {\n startAngle: startAngle - min * 360,\n endAngle: endAngle - min * 360\n };\n};\n\nvar reverseFormatAngleOfSetor = function reverseFormatAngleOfSetor(angle, _ref4) {\n var startAngle = _ref4.startAngle,\n endAngle = _ref4.endAngle;\n var startCnt = Math.floor(startAngle / 360);\n var endCnt = Math.floor(endAngle / 360);\n var min = Math.min(startCnt, endCnt);\n return angle + min * 360;\n};\n\nexport var inRangeOfSector = function inRangeOfSector(_ref5, sector) {\n var x = _ref5.x,\n y = _ref5.y;\n\n var _getAngleOfPoint = getAngleOfPoint({\n x: x,\n y: y\n }, sector),\n radius = _getAngleOfPoint.radius,\n angle = _getAngleOfPoint.angle;\n\n var innerRadius = sector.innerRadius,\n outerRadius = sector.outerRadius;\n\n if (radius < innerRadius || radius > outerRadius) {\n return false;\n }\n\n if (radius === 0) {\n return true;\n }\n\n var _formatAngleOfSector = formatAngleOfSector(sector),\n startAngle = _formatAngleOfSector.startAngle,\n endAngle = _formatAngleOfSector.endAngle;\n\n var formatAngle = angle;\n var inRange;\n\n if (startAngle <= endAngle) {\n while (formatAngle > endAngle) {\n formatAngle -= 360;\n }\n\n while (formatAngle < startAngle) {\n formatAngle += 360;\n }\n\n inRange = formatAngle >= startAngle && formatAngle <= endAngle;\n } else {\n while (formatAngle > startAngle) {\n formatAngle -= 360;\n }\n\n while (formatAngle < endAngle) {\n formatAngle += 360;\n }\n\n inRange = formatAngle >= endAngle && formatAngle <= startAngle;\n }\n\n if (inRange) {\n return _objectSpread(_objectSpread({}, sector), {}, {\n radius: radius,\n angle: reverseFormatAngleOfSetor(formatAngle, sector)\n });\n }\n\n return null;\n};","import _isString from \"lodash/isString\";\nimport _get from \"lodash/get\";\nimport _isNil from \"lodash/isNil\";\nimport _isArray from \"lodash/isArray\";\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport { Children } from 'react';\nimport { isFragment } from 'react-is';\nimport { isNumber } from './DataUtils';\nimport { shallowEqual } from './ShallowEqual';\nvar REACT_BROWSER_EVENT_MAP = {\n click: 'onClick',\n mousedown: 'onMouseDown',\n mouseup: 'onMouseUp',\n mouseover: 'onMouseOver',\n mousemove: 'onMouseMove',\n mouseout: 'onMouseOut',\n mouseenter: 'onMouseEnter',\n mouseleave: 'onMouseLeave',\n touchcancel: 'onTouchCancel',\n touchend: 'onTouchEnd',\n touchmove: 'onTouchMove',\n touchstart: 'onTouchStart'\n};\nexport var SCALE_TYPES = ['auto', 'linear', 'pow', 'sqrt', 'log', 'identity', 'time', 'band', 'point', 'ordinal', 'quantile', 'quantize', 'utc', 'sequential', 'threshold'];\nexport var LEGEND_TYPES = ['plainline', 'line', 'square', 'rect', 'circle', 'cross', 'diamond', 'star', 'triangle', 'wye', 'none'];\nexport var TOOLTIP_TYPES = ['none'];\n/**\n * Get the display name of a component\n * @param {Object} Comp Specified Component\n * @return {String} Display name of Component\n */\n\nexport var getDisplayName = function getDisplayName(Comp) {\n if (typeof Comp === 'string') {\n return Comp;\n }\n\n if (!Comp) {\n return '';\n }\n\n return Comp.displayName || Comp.name || 'Component';\n}; // `toArray` gets called multiple times during the render\n// so we can memoize last invocation (since reference to `children` is the same)\n\nvar lastChildren = null;\nvar lastResult = null;\nexport var toArray = function toArray(children) {\n if (children === lastChildren && _isArray(lastResult)) {\n return lastResult;\n }\n\n var result = [];\n Children.forEach(children, function (child) {\n if (_isNil(child)) return;\n\n if (isFragment(child)) {\n result = result.concat(toArray(child.props.children));\n } else {\n result.push(child);\n }\n });\n lastResult = result;\n lastChildren = children;\n return result;\n};\n/*\n * Find and return all matched children by type. `type` can be a React element class or\n * string\n */\n\nexport var findAllByType = function findAllByType(children, type) {\n var result = [];\n var types = [];\n\n if (_isArray(type)) {\n types = type.map(function (t) {\n return getDisplayName(t);\n });\n } else {\n types = [getDisplayName(type)];\n }\n\n toArray(children).forEach(function (child) {\n var childType = _get(child, 'type.displayName') || _get(child, 'type.name');\n\n if (types.indexOf(childType) !== -1) {\n result.push(child);\n }\n });\n return result;\n};\n/*\n * Return the first matched child by type, return null otherwise.\n * `type` can be a React element class or string.\n */\n\nexport var findChildByType = function findChildByType(children, type) {\n var result = findAllByType(children, type);\n return result && result[0];\n};\n/*\n * Create a new array of children excluding the ones matched the type\n */\n\nexport var withoutType = function withoutType(children, type) {\n var newChildren = [];\n var types;\n\n if (_isArray(type)) {\n types = type.map(function (t) {\n return getDisplayName(t);\n });\n } else {\n types = [getDisplayName(type)];\n }\n\n toArray(children).forEach(function (child) {\n var displayName = _get(child, 'type.displayName');\n\n if (displayName && types.indexOf(displayName) !== -1) {\n return;\n }\n\n newChildren.push(child);\n });\n return newChildren;\n};\n/**\n * validate the width and height props of a chart element\n * @param {Object} el A chart element\n * @return {Boolean} true If the props width and height are number, and greater than 0\n */\n\nexport var validateWidthHeight = function validateWidthHeight(el) {\n if (!el || !el.props) {\n return false;\n }\n\n var _el$props = el.props,\n width = _el$props.width,\n height = _el$props.height;\n\n if (!isNumber(width) || width <= 0 || !isNumber(height) || height <= 0) {\n return false;\n }\n\n return true;\n};\nvar SVG_TAGS = ['a', 'altGlyph', 'altGlyphDef', 'altGlyphItem', 'animate', 'animateColor', 'animateMotion', 'animateTransform', 'circle', 'clipPath', 'color-profile', 'cursor', 'defs', 'desc', 'ellipse', 'feBlend', 'feColormatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence', 'filter', 'font', 'font-face', 'font-face-format', 'font-face-name', 'font-face-url', 'foreignObject', 'g', 'glyph', 'glyphRef', 'hkern', 'image', 'line', 'lineGradient', 'marker', 'mask', 'metadata', 'missing-glyph', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'script', 'set', 'stop', 'style', 'svg', 'switch', 'symbol', 'text', 'textPath', 'title', 'tref', 'tspan', 'use', 'view', 'vkern'];\n\nvar isSvgElement = function isSvgElement(child) {\n return child && child.type && _isString(child.type) && SVG_TAGS.indexOf(child.type) >= 0;\n};\n/**\n * Filter all the svg elements of children\n * @param {Array} children The children of a react element\n * @return {Array} All the svg elements\n */\n\n\nexport var filterSvgElements = function filterSvgElements(children) {\n var svgElements = [];\n toArray(children).forEach(function (entry) {\n if (isSvgElement(entry)) {\n svgElements.push(entry);\n }\n });\n return svgElements;\n};\n/**\n * Wether props of children changed\n * @param {Object} nextChildren The latest children\n * @param {Object} prevChildren The prev children\n * @return {Boolean} equal or not\n */\n\nexport var isChildrenEqual = function isChildrenEqual(nextChildren, prevChildren) {\n if (nextChildren === prevChildren) {\n return true;\n }\n\n var count = Children.count(nextChildren);\n\n if (count !== Children.count(prevChildren)) {\n return false;\n }\n\n if (count === 0) {\n return true;\n }\n\n if (count === 1) {\n // eslint-disable-next-line no-use-before-define,@typescript-eslint/no-use-before-define\n return isSingleChildEqual(_isArray(nextChildren) ? nextChildren[0] : nextChildren, _isArray(prevChildren) ? prevChildren[0] : prevChildren);\n }\n\n for (var i = 0; i < count; i++) {\n var nextChild = nextChildren[i];\n var prevChild = prevChildren[i];\n\n if (_isArray(nextChild) || _isArray(prevChild)) {\n if (!isChildrenEqual(nextChild, prevChild)) {\n return false;\n } // eslint-disable-next-line no-use-before-define,@typescript-eslint/no-use-before-define\n\n } else if (!isSingleChildEqual(nextChild, prevChild)) {\n return false;\n }\n }\n\n return true;\n};\nexport var isSingleChildEqual = function isSingleChildEqual(nextChild, prevChild) {\n if (_isNil(nextChild) && _isNil(prevChild)) {\n return true;\n }\n\n if (!_isNil(nextChild) && !_isNil(prevChild)) {\n var _ref = nextChild.props || {},\n nextChildren = _ref.children,\n nextProps = _objectWithoutProperties(_ref, [\"children\"]);\n\n var _ref2 = prevChild.props || {},\n prevChildren = _ref2.children,\n prevProps = _objectWithoutProperties(_ref2, [\"children\"]);\n\n if (nextChildren && prevChildren) {\n // eslint-disable-next-line no-use-before-define\n return shallowEqual(nextProps, prevProps) && isChildrenEqual(nextChildren, prevChildren);\n }\n\n if (!nextChildren && !prevChildren) {\n return shallowEqual(nextProps, prevProps);\n }\n\n return false;\n }\n\n return false;\n};\nexport var renderByOrder = function renderByOrder(children, renderMap) {\n var elements = [];\n var record = {};\n toArray(children).forEach(function (child, index) {\n if (isSvgElement(child)) {\n elements.push(child);\n } else if (child) {\n var displayName = getDisplayName(child.type);\n\n var _ref3 = renderMap[displayName] || {},\n handler = _ref3.handler,\n once = _ref3.once;\n\n if (handler && (!once || !record[displayName])) {\n var results = handler(child, displayName, index);\n elements.push(results);\n record[displayName] = true;\n }\n }\n });\n return elements;\n};\nexport var getReactEventByType = function getReactEventByType(e) {\n var type = e && e.type;\n\n if (type && REACT_BROWSER_EVENT_MAP[type]) {\n return REACT_BROWSER_EVENT_MAP[type];\n }\n\n return null;\n};\nexport var parseChildIndex = function parseChildIndex(child, children) {\n return toArray(children).indexOf(child);\n};","export function shallowEqual(a, b) {\n /* eslint-disable no-restricted-syntax */\n for (var key in a) {\n if ({}.hasOwnProperty.call(a, key) && (!{}.hasOwnProperty.call(b, key) || a[key] !== b[key])) {\n return false;\n }\n }\n\n for (var _key in b) {\n if ({}.hasOwnProperty.call(b, _key) && !{}.hasOwnProperty.call(a, _key)) {\n return false;\n }\n }\n\n return true;\n}","import _isObject from \"lodash/isObject\";\n\nfunction _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 { isValidElement } from 'react';\nvar SVGContainerPropKeys = ['viewBox', 'children'];\nvar SVGElementPropKeys = ['className', 'color', 'height', 'id', 'lang', 'max', 'media', 'method', 'min', 'name', 'style', 'target', 'type', 'width', 'role', 'tabIndex', 'accentHeight', 'accumulate', 'additive', 'alignmentBaseline', 'allowReorder', 'alphabetic', 'amplitude', 'arabicForm', 'ascent', 'attributeName', 'attributeType', 'autoReverse', 'azimuth', 'baseFrequency', 'baselineShift', 'baseProfile', 'bbox', 'begin', 'bias', 'by', 'calcMode', 'capHeight', 'clip', 'clipPath', 'clipPathUnits', 'clipRule', 'colorInterpolation', 'colorInterpolationFilters', 'colorProfile', 'colorRendering', 'contentScriptType', 'contentStyleType', 'cursor', 'cx', 'cy', 'd', 'decelerate', 'descent', 'diffuseConstant', 'direction', 'display', 'divisor', 'dominantBaseline', 'dur', 'dx', 'dy', 'edgeMode', 'elevation', 'enableBackground', 'end', 'exponent', 'externalResourcesRequired', 'fill', 'fillOpacity', 'fillRule', 'filter', 'filterRes', 'filterUnits', 'floodColor', 'floodOpacity', 'focusable', 'fontFamily', 'fontSize', 'fontSizeAdjust', 'fontStretch', 'fontStyle', 'fontVariant', 'fontWeight', 'format', 'from', 'fx', 'fy', 'g1', 'g2', 'glyphName', 'glyphOrientationHorizontal', 'glyphOrientationVertical', 'glyphRef', 'gradientTransform', 'gradientUnits', 'hanging', 'horizAdvX', 'horizOriginX', 'href', 'ideographic', 'imageRendering', 'in2', 'in', 'intercept', 'k1', 'k2', 'k3', 'k4', 'k', 'kernelMatrix', 'kernelUnitLength', 'kerning', 'keyPoints', 'keySplines', 'keyTimes', 'lengthAdjust', 'letterSpacing', 'lightingColor', 'limitingConeAngle', 'local', 'markerEnd', 'markerHeight', 'markerMid', 'markerStart', 'markerUnits', 'markerWidth', 'mask', 'maskContentUnits', 'maskUnits', 'mathematical', 'mode', 'numOctaves', 'offset', 'opacity', 'operator', 'order', 'orient', 'orientation', 'origin', 'overflow', 'overlinePosition', 'overlineThickness', 'paintOrder', 'panose1', 'pathLength', 'patternContentUnits', 'patternTransform', 'patternUnits', 'pointerEvents', 'points', 'pointsAtX', 'pointsAtY', 'pointsAtZ', 'preserveAlpha', 'preserveAspectRatio', 'primitiveUnits', 'r', 'radius', 'refX', 'refY', 'renderingIntent', 'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures', 'restart', 'result', 'rotate', 'rx', 'ry', 'seed', 'shapeRendering', 'slope', 'spacing', 'specularConstant', 'specularExponent', 'speed', 'spreadMethod', 'startOffset', 'stdDeviation', 'stemh', 'stemv', 'stitchTiles', 'stopColor', 'stopOpacity', 'strikethroughPosition', 'strikethroughThickness', 'string', 'stroke', 'strokeDasharray', 'strokeDashoffset', 'strokeLinecap', 'strokeLinejoin', 'strokeMiterlimit', 'strokeOpacity', 'strokeWidth', 'surfaceScale', 'systemLanguage', 'tableValues', 'targetX', 'targetY', 'textAnchor', 'textDecoration', 'textLength', 'textRendering', 'to', 'transform', 'u1', 'u2', 'underlinePosition', 'underlineThickness', 'unicode', 'unicodeBidi', 'unicodeRange', 'unitsPerEm', 'vAlphabetic', 'values', 'vectorEffect', 'version', 'vertAdvY', 'vertOriginX', 'vertOriginY', 'vHanging', 'vIdeographic', 'viewTarget', 'visibility', 'vMathematical', 'widths', 'wordSpacing', 'writingMode', 'x1', 'x2', 'x', 'xChannelSelector', 'xHeight', 'xlinkActuate', 'xlinkArcrole', 'xlinkHref', 'xlinkRole', 'xlinkShow', 'xlinkTitle', 'xlinkType', 'xmlBase', 'xmlLang', 'xmlns', 'xmlnsXlink', 'xmlSpace', 'y1', 'y2', 'y', 'yChannelSelector', 'z', 'zoomAndPan', 'ref', 'key', 'angle'];\nvar EventKeys = ['dangerouslySetInnerHTML', 'onCopy', 'onCopyCapture', 'onCut', 'onCutCapture', 'onPaste', 'onPasteCapture', 'onCompositionEnd', 'onCompositionEndCapture', 'onCompositionStart', 'onCompositionStartCapture', 'onCompositionUpdate', 'onCompositionUpdateCapture', 'onFocus', 'onFocusCapture', 'onBlur', 'onBlurCapture', 'onChange', 'onChangeCapture', 'onBeforeInput', 'onBeforeInputCapture', 'onInput', 'onInputCapture', 'onReset', 'onResetCapture', 'onSubmit', 'onSubmitCapture', 'onInvalid', 'onInvalidCapture', 'onLoad', 'onLoadCapture', 'onError', 'onErrorCapture', 'onKeyDown', 'onKeyDownCapture', 'onKeyPress', 'onKeyPressCapture', 'onKeyUp', 'onKeyUpCapture', 'onAbort', 'onAbortCapture', 'onCanPlay', 'onCanPlayCapture', 'onCanPlayThrough', 'onCanPlayThroughCapture', 'onDurationChange', 'onDurationChangeCapture', 'onEmptied', 'onEmptiedCapture', 'onEncrypted', 'onEncryptedCapture', 'onEnded', 'onEndedCapture', 'onLoadedData', 'onLoadedDataCapture', 'onLoadedMetadata', 'onLoadedMetadataCapture', 'onLoadStart', 'onLoadStartCapture', 'onPause', 'onPauseCapture', 'onPlay', 'onPlayCapture', 'onPlaying', 'onPlayingCapture', 'onProgress', 'onProgressCapture', 'onRateChange', 'onRateChangeCapture', 'onSeeked', 'onSeekedCapture', 'onSeeking', 'onSeekingCapture', 'onStalled', 'onStalledCapture', 'onSuspend', 'onSuspendCapture', 'onTimeUpdate', 'onTimeUpdateCapture', 'onVolumeChange', 'onVolumeChangeCapture', 'onWaiting', 'onWaitingCapture', 'onAuxClick', 'onAuxClickCapture', 'onClick', 'onClickCapture', 'onContextMenu', 'onContextMenuCapture', 'onDoubleClick', 'onDoubleClickCapture', 'onDrag', 'onDragCapture', 'onDragEnd', 'onDragEndCapture', 'onDragEnter', 'onDragEnterCapture', 'onDragExit', 'onDragExitCapture', 'onDragLeave', 'onDragLeaveCapture', 'onDragOver', 'onDragOverCapture', 'onDragStart', 'onDragStartCapture', 'onDrop', 'onDropCapture', 'onMouseDown', 'onMouseDownCapture', 'onMouseEnter', 'onMouseLeave', 'onMouseMove', 'onMouseMoveCapture', 'onMouseOut', 'onMouseOutCapture', 'onMouseOver', 'onMouseOverCapture', 'onMouseUp', 'onMouseUpCapture', 'onSelect', 'onSelectCapture', 'onTouchCancel', 'onTouchCancelCapture', 'onTouchEnd', 'onTouchEndCapture', 'onTouchMove', 'onTouchMoveCapture', 'onTouchStart', 'onTouchStartCapture', 'onPointerDown', 'onPointerDownCapture', 'onPointerMove', 'onPointerMoveCapture', 'onPointerUp', 'onPointerUpCapture', 'onPointerCancel', 'onPointerCancelCapture', 'onPointerEnter', 'onPointerEnterCapture', 'onPointerLeave', 'onPointerLeaveCapture', 'onPointerOver', 'onPointerOverCapture', 'onPointerOut', 'onPointerOutCapture', 'onGotPointerCapture', 'onGotPointerCaptureCapture', 'onLostPointerCapture', 'onLostPointerCaptureCapture', 'onScroll', 'onScrollCapture', 'onWheel', 'onWheelCapture', 'onAnimationStart', 'onAnimationStartCapture', 'onAnimationEnd', 'onAnimationEndCapture', 'onAnimationIteration', 'onAnimationIterationCapture', 'onTransitionEnd', 'onTransitionEndCapture']; // Animation Types => TODO: Should be moved when react-smooth is typescriptified.\n\nexport var filterProps = function filterProps(props, includeEvents, isSvg) {\n if (!props || typeof props === 'function' || typeof props === 'boolean') {\n return null;\n }\n\n var inputProps = props;\n\n if ( /*#__PURE__*/isValidElement(props)) {\n inputProps = props.props;\n }\n\n if (!_isObject(inputProps)) {\n return null;\n }\n\n var out = {};\n Object.keys(inputProps).forEach(function (key) {\n // viewBox only exist in \n if (SVGElementPropKeys.includes(key) || isSvg && SVGContainerPropKeys.includes(key) || includeEvents && EventKeys.includes(key)) {\n out[key] = inputProps[key];\n }\n });\n return out;\n};\nexport var adaptEventHandlers = function adaptEventHandlers(props, newHandler) {\n if (!props || typeof props === 'function' || typeof props === 'boolean') {\n return null;\n }\n\n var inputProps = props;\n\n if ( /*#__PURE__*/isValidElement(props)) {\n inputProps = props.props;\n }\n\n if (!_isObject(inputProps)) {\n return null;\n }\n\n var out = {};\n Object.keys(inputProps).forEach(function (key) {\n if (EventKeys.includes(key)) {\n out[key] = newHandler || function (e) {\n return inputProps[key](inputProps, e);\n };\n }\n });\n return out;\n};\n\nvar getEventHandlerOfChild = function getEventHandlerOfChild(originalHandler, data, index) {\n return function (e) {\n originalHandler(data, index, e);\n return null;\n };\n};\n\nexport var adaptEventsOfChild = function adaptEventsOfChild(props, data, index) {\n if (!_isObject(props) || _typeof(props) !== 'object') {\n return null;\n }\n\n var out = null;\n Object.keys(props).forEach(function (key) {\n var item = props[key];\n\n if (EventKeys.includes(key) && typeof item === 'function') {\n if (!out) out = {};\n out[key] = getEventHandlerOfChild(item, data, index);\n }\n });\n return out;\n};","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _postcssValueParser = require('postcss-value-parser');\n\nvar _postcssValueParser2 = _interopRequireDefault(_postcssValueParser);\n\nvar _parser = require('./parser');\n\nvar _reducer = require('./lib/reducer');\n\nvar _reducer2 = _interopRequireDefault(_reducer);\n\nvar _stringifier = require('./lib/stringifier');\n\nvar _stringifier2 = _interopRequireDefault(_stringifier);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// eslint-disable-line\nvar MATCH_CALC = /((?:\\-[a-z]+\\-)?calc)/;\n\nexports.default = function (value) {\n var precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;\n\n return (0, _postcssValueParser2.default)(value).walk(function (node) {\n // skip anything which isn't a calc() function\n if (node.type !== 'function' || !MATCH_CALC.test(node.value)) return;\n\n // stringify calc expression and produce an AST\n var contents = _postcssValueParser2.default.stringify(node.nodes);\n\n // skip constant() and env()\n if (contents.indexOf('constant') >= 0 || contents.indexOf('env') >= 0) return;\n\n var ast = _parser.parser.parse(contents);\n\n // reduce AST to its simplest form, that is, either to a single value\n // or a simplified calc expression\n var reducedAst = (0, _reducer2.default)(ast, precision);\n\n // stringify AST and write it back\n node.type = 'word';\n node.value = (0, _stringifier2.default)(node.value, reducedAst, precision);\n }, true).toString();\n};\n\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _cssUnitConverter = require('css-unit-converter');\n\nvar _cssUnitConverter2 = _interopRequireDefault(_cssUnitConverter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction convertNodes(left, right, precision) {\n switch (left.type) {\n case 'LengthValue':\n case 'AngleValue':\n case 'TimeValue':\n case 'FrequencyValue':\n case 'ResolutionValue':\n return convertAbsoluteLength(left, right, precision);\n default:\n return { left: left, right: right };\n }\n}\n\nfunction convertAbsoluteLength(left, right, precision) {\n if (right.type === left.type) {\n right = {\n type: left.type,\n value: (0, _cssUnitConverter2.default)(right.value, right.unit, left.unit, precision),\n unit: left.unit\n };\n }\n return { left: left, right: right };\n}\n\nexports.default = convertNodes;\nmodule.exports = exports['default'];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.flip = flip;\n\nvar _convert = require(\"./convert\");\n\nvar _convert2 = _interopRequireDefault(_convert);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction reduce(node, precision) {\n if (node.type === \"MathExpression\") return reduceMathExpression(node, precision);\n if (node.type === \"Calc\") return reduce(node.value, precision);\n\n return node;\n}\n\nfunction isEqual(left, right) {\n return left.type === right.type && left.value === right.value;\n}\n\nfunction isValueType(type) {\n switch (type) {\n case 'LengthValue':\n case 'AngleValue':\n case 'TimeValue':\n case 'FrequencyValue':\n case 'ResolutionValue':\n case 'EmValue':\n case 'ExValue':\n case 'ChValue':\n case 'RemValue':\n case 'VhValue':\n case 'VwValue':\n case 'VminValue':\n case 'VmaxValue':\n case 'PercentageValue':\n case 'Value':\n return true;\n }\n return false;\n}\n\nfunction convertMathExpression(node, precision) {\n var nodes = (0, _convert2.default)(node.left, node.right, precision);\n var left = reduce(nodes.left, precision);\n var right = reduce(nodes.right, precision);\n\n if (left.type === \"MathExpression\" && right.type === \"MathExpression\") {\n\n if (left.operator === '/' && right.operator === '*' || left.operator === '-' && right.operator === '+' || left.operator === '*' && right.operator === '/' || left.operator === '+' && right.operator === '-') {\n\n if (isEqual(left.right, right.right)) nodes = (0, _convert2.default)(left.left, right.left, precision);else if (isEqual(left.right, right.left)) nodes = (0, _convert2.default)(left.left, right.right, precision);\n\n left = reduce(nodes.left, precision);\n right = reduce(nodes.right, precision);\n }\n }\n\n node.left = left;\n node.right = right;\n return node;\n}\n\nfunction flip(operator) {\n return operator === '+' ? '-' : '+';\n}\n\nfunction flipValue(node) {\n if (isValueType(node.type)) node.value = -node.value;else if (node.type == 'MathExpression') {\n node.left = flipValue(node.left);\n node.right = flipValue(node.right);\n }\n return node;\n}\n\nfunction reduceAddSubExpression(node, precision) {\n var _node = node,\n left = _node.left,\n right = _node.right,\n op = _node.operator;\n\n\n if (left.type === 'CssVariable' || right.type === 'CssVariable') return node;\n\n // something + 0 => something\n // something - 0 => something\n if (right.value === 0) return left;\n\n // 0 + something => something\n if (left.value === 0 && op === \"+\") return right;\n\n // 0 - something => -something\n if (left.value === 0 && op === \"-\") return flipValue(right);\n\n // value + value\n // value - value\n if (left.type === right.type && isValueType(left.type)) {\n node = Object.assign({}, left);\n if (op === \"+\") node.value = left.value + right.value;else node.value = left.value - right.value;\n }\n\n // value (expr)\n if (isValueType(left.type) && (right.operator === '+' || right.operator === '-') && right.type === 'MathExpression') {\n // value + (value + something) => (value + value) + something\n // value + (value - something) => (value + value) - something\n // value - (value + something) => (value - value) - something\n // value - (value - something) => (value - value) + something\n if (left.type === right.left.type) {\n node = Object.assign({}, node);\n node.left = reduce({\n type: 'MathExpression',\n operator: op,\n left: left,\n right: right.left\n }, precision);\n node.right = right.right;\n node.operator = op === '-' ? flip(right.operator) : right.operator;\n return reduce(node, precision);\n }\n // value + (something + value) => (value + value) + something\n // value + (something - value) => (value - value) + something\n // value - (something + value) => (value - value) - something\n // value - (something - value) => (value + value) - something\n else if (left.type === right.right.type) {\n node = Object.assign({}, node);\n node.left = reduce({\n type: 'MathExpression',\n operator: op === '-' ? flip(right.operator) : right.operator,\n left: left,\n right: right.right\n }, precision);\n node.right = right.left;\n return reduce(node, precision);\n }\n }\n\n // (expr) value\n if (left.type === 'MathExpression' && (left.operator === '+' || left.operator === '-') && isValueType(right.type)) {\n // (value + something) + value => (value + value) + something\n // (value - something) + value => (value + value) - something\n // (value + something) - value => (value - value) + something\n // (value - something) - value => (value - value) - something\n if (right.type === left.left.type) {\n node = Object.assign({}, left);\n node.left = reduce({\n type: 'MathExpression',\n operator: op,\n left: left.left,\n right: right\n }, precision);\n return reduce(node, precision);\n }\n // (something + value) + value => something + (value + value)\n // (something - value1) + value2 => something - (value2 - value1)\n // (something + value) - value => something + (value - value)\n // (something - value) - value => something - (value + value)\n else if (right.type === left.right.type) {\n node = Object.assign({}, left);\n if (left.operator === '-') {\n node.right = reduce({\n type: 'MathExpression',\n operator: op === '-' ? '+' : '-',\n left: right,\n right: left.right\n }, precision);\n node.operator = op === '-' ? '-' : '+';\n } else {\n node.right = reduce({\n type: 'MathExpression',\n operator: op,\n left: left.right,\n right: right\n }, precision);\n }\n if (node.right.value < 0) {\n node.right.value *= -1;\n node.operator = node.operator === '-' ? '+' : '-';\n }\n return reduce(node, precision);\n }\n }\n return node;\n}\n\nfunction reduceDivisionExpression(node, precision) {\n if (!isValueType(node.right.type)) return node;\n\n if (node.right.type !== 'Value') throw new Error(\"Cannot divide by \\\"\" + node.right.unit + \"\\\", number expected\");\n\n if (node.right.value === 0) throw new Error('Cannot divide by zero');\n\n // (expr) / value\n if (node.left.type === 'MathExpression') {\n if (isValueType(node.left.left.type) && isValueType(node.left.right.type)) {\n node.left.left.value /= node.right.value;\n node.left.right.value /= node.right.value;\n return reduce(node.left, precision);\n }\n return node;\n }\n // something / value\n else if (isValueType(node.left.type)) {\n node.left.value /= node.right.value;\n return node.left;\n }\n return node;\n}\n\nfunction reduceMultiplicationExpression(node) {\n // (expr) * value\n if (node.left.type === 'MathExpression' && node.right.type === 'Value') {\n if (isValueType(node.left.left.type) && isValueType(node.left.right.type)) {\n node.left.left.value *= node.right.value;\n node.left.right.value *= node.right.value;\n return node.left;\n }\n }\n // something * value\n else if (isValueType(node.left.type) && node.right.type === 'Value') {\n node.left.value *= node.right.value;\n return node.left;\n }\n // value * (expr)\n else if (node.left.type === 'Value' && node.right.type === 'MathExpression') {\n if (isValueType(node.right.left.type) && isValueType(node.right.right.type)) {\n node.right.left.value *= node.left.value;\n node.right.right.value *= node.left.value;\n return node.right;\n }\n }\n // value * something\n else if (node.left.type === 'Value' && isValueType(node.right.type)) {\n node.right.value *= node.left.value;\n return node.right;\n }\n return node;\n}\n\nfunction reduceMathExpression(node, precision) {\n node = convertMathExpression(node, precision);\n\n switch (node.operator) {\n case \"+\":\n case \"-\":\n return reduceAddSubExpression(node, precision);\n case \"/\":\n return reduceDivisionExpression(node, precision);\n case \"*\":\n return reduceMultiplicationExpression(node);\n }\n return node;\n}\n\nexports.default = reduce;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (calc, node, precision) {\n var str = stringify(node, precision);\n\n if (node.type === \"MathExpression\") {\n // if calc expression couldn't be resolved to a single value, re-wrap it as\n // a calc()\n str = calc + \"(\" + str + \")\";\n }\n return str;\n};\n\nvar _reducer = require(\"./reducer\");\n\nvar order = {\n \"*\": 0,\n \"/\": 0,\n \"+\": 1,\n \"-\": 1\n};\n\nfunction round(value, prec) {\n if (prec !== false) {\n var precision = Math.pow(10, prec);\n return Math.round(value * precision) / precision;\n }\n return value;\n}\n\nfunction stringify(node, prec) {\n switch (node.type) {\n case \"MathExpression\":\n {\n var left = node.left,\n right = node.right,\n op = node.operator;\n\n var str = \"\";\n\n if (left.type === 'MathExpression' && order[op] < order[left.operator]) str += \"(\" + stringify(left, prec) + \")\";else str += stringify(left, prec);\n\n str += \" \" + node.operator + \" \";\n\n if (right.type === 'MathExpression' && order[op] < order[right.operator]) {\n str += \"(\" + stringify(right, prec) + \")\";\n } else if (right.type === 'MathExpression' && op === \"-\" && [\"+\", \"-\"].includes(right.operator)) {\n // fix #52 : a-(b+c) = a-b-c\n right.operator = (0, _reducer.flip)(right.operator);\n str += stringify(right, prec);\n } else {\n str += stringify(right, prec);\n }\n\n return str;\n }\n case \"Value\":\n return round(node.value, prec);\n case 'CssVariable':\n if (node.fallback) {\n return \"var(\" + node.value + \", \" + stringify(node.fallback, prec, true) + \")\";\n }\n return \"var(\" + node.value + \")\";\n case 'Calc':\n if (node.prefix) {\n return \"-\" + node.prefix + \"-calc(\" + stringify(node.value, prec) + \")\";\n }\n return \"calc(\" + stringify(node.value, prec) + \")\";\n default:\n return round(node.value, prec) + node.unit;\n }\n}\n\nmodule.exports = exports[\"default\"];","\n/* parser generated by jison 0.6.1-215 */\n\n/*\n * Returns a Parser object of the following structure:\n *\n * Parser: {\n * yy: {} The so-called \"shared state\" or rather the *source* of it;\n * the real \"shared state\" `yy` passed around to\n * the rule actions, etc. is a derivative/copy of this one,\n * not a direct reference!\n * }\n *\n * Parser.prototype: {\n * yy: {},\n * EOF: 1,\n * TERROR: 2,\n *\n * trace: function(errorMessage, ...),\n *\n * JisonParserError: function(msg, hash),\n *\n * quoteName: function(name),\n * Helper function which can be overridden by user code later on: put suitable\n * quotes around literal IDs in a description string.\n *\n * originalQuoteName: function(name),\n * The basic quoteName handler provided by JISON.\n * `cleanupAfterParse()` will clean up and reset `quoteName()` to reference this function\n * at the end of the `parse()`.\n *\n * describeSymbol: function(symbol),\n * Return a more-or-less human-readable description of the given symbol, when\n * available, or the symbol itself, serving as its own 'description' for lack\n * of something better to serve up.\n *\n * Return NULL when the symbol is unknown to the parser.\n *\n * symbols_: {associative list: name ==> number},\n * terminals_: {associative list: number ==> name},\n * nonterminals: {associative list: rule-name ==> {associative list: number ==> rule-alt}},\n * terminal_descriptions_: (if there are any) {associative list: number ==> description},\n * productions_: [...],\n *\n * performAction: function parser__performAction(yytext, yyleng, yylineno, yyloc, yystate, yysp, yyvstack, yylstack, yystack, yysstack),\n *\n * The function parameters and `this` have the following value/meaning:\n * - `this` : reference to the `yyval` internal object, which has members (`$` and `_$`)\n * to store/reference the rule value `$$` and location info `@$`.\n *\n * One important thing to note about `this` a.k.a. `yyval`: every *reduce* action gets\n * to see the same object via the `this` reference, i.e. if you wish to carry custom\n * data from one reduce action through to the next within a single parse run, then you\n * may get nasty and use `yyval` a.k.a. `this` for storing you own semi-permanent data.\n *\n * `this.yy` is a direct reference to the `yy` shared state object.\n *\n * `%parse-param`-specified additional `parse()` arguments have been added to this `yy`\n * object at `parse()` start and are therefore available to the action code via the\n * same named `yy.xxxx` attributes (where `xxxx` represents a identifier name from\n * the %parse-param` list.\n *\n * - `yytext` : reference to the lexer value which belongs to the last lexer token used\n * to match this rule. This is *not* the look-ahead token, but the last token\n * that's actually part of this rule.\n *\n * Formulated another way, `yytext` is the value of the token immediately preceeding\n * the current look-ahead token.\n * Caveats apply for rules which don't require look-ahead, such as epsilon rules.\n *\n * - `yyleng` : ditto as `yytext`, only now for the lexer.yyleng value.\n *\n * - `yylineno`: ditto as `yytext`, only now for the lexer.yylineno value.\n *\n * - `yyloc` : ditto as `yytext`, only now for the lexer.yylloc lexer token location info.\n *\n * WARNING: since jison 0.4.18-186 this entry may be NULL/UNDEFINED instead\n * of an empty object when no suitable location info can be provided.\n *\n * - `yystate` : the current parser state number, used internally for dispatching and\n * executing the action code chunk matching the rule currently being reduced.\n *\n * - `yysp` : the current state stack position (a.k.a. 'stack pointer')\n *\n * This one comes in handy when you are going to do advanced things to the parser\n * stacks, all of which are accessible from your action code (see the next entries below).\n *\n * Also note that you can access this and other stack index values using the new double-hash\n * syntax, i.e. `##$ === ##0 === yysp`, while `##1` is the stack index for all things\n * related to the first rule term, just like you have `$1`, `@1` and `#1`.\n * This is made available to write very advanced grammar action rules, e.g. when you want\n * to investigate the parse state stack in your action code, which would, for example,\n * be relevant when you wish to implement error diagnostics and reporting schemes similar\n * to the work described here:\n *\n * + Pottier, F., 2016. Reachability and error diagnosis in LR(1) automata.\n * In Journées Francophones des Languages Applicatifs.\n *\n * + Jeffery, C.L., 2003. Generating LR syntax error messages from examples.\n * ACM Transactions on Programming Languages and Systems (TOPLAS), 25(5), pp.631–640.\n *\n * - `yyrulelength`: the current rule's term count, i.e. the number of entries occupied on the stack.\n *\n * This one comes in handy when you are going to do advanced things to the parser\n * stacks, all of which are accessible from your action code (see the next entries below).\n *\n * - `yyvstack`: reference to the parser value stack. Also accessed via the `$1` etc.\n * constructs.\n *\n * - `yylstack`: reference to the parser token location stack. Also accessed via\n * the `@1` etc. constructs.\n *\n * WARNING: since jison 0.4.18-186 this array MAY contain slots which are\n * UNDEFINED rather than an empty (location) object, when the lexer/parser\n * action code did not provide a suitable location info object when such a\n * slot was filled!\n *\n * - `yystack` : reference to the parser token id stack. Also accessed via the\n * `#1` etc. constructs.\n *\n * Note: this is a bit of a **white lie** as we can statically decode any `#n` reference to\n * its numeric token id value, hence that code wouldn't need the `yystack` but *you* might\n * want access this array for your own purposes, such as error analysis as mentioned above!\n *\n * Note that this stack stores the current stack of *tokens*, that is the sequence of\n * already parsed=reduced *nonterminals* (tokens representing rules) and *terminals*\n * (lexer tokens *shifted* onto the stack until the rule they belong to is found and\n * *reduced*.\n *\n * - `yysstack`: reference to the parser state stack. This one carries the internal parser\n * *states* such as the one in `yystate`, which are used to represent\n * the parser state machine in the *parse table*. *Very* *internal* stuff,\n * what can I say? If you access this one, you're clearly doing wicked things\n *\n * - `...` : the extra arguments you specified in the `%parse-param` statement in your\n * grammar definition file.\n *\n * table: [...],\n * State transition table\n * ----------------------\n *\n * index levels are:\n * - `state` --> hash table\n * - `symbol` --> action (number or array)\n *\n * If the `action` is an array, these are the elements' meaning:\n * - index [0]: 1 = shift, 2 = reduce, 3 = accept\n * - index [1]: GOTO `state`\n *\n * If the `action` is a number, it is the GOTO `state`\n *\n * defaultActions: {...},\n *\n * parseError: function(str, hash, ExceptionClass),\n * yyError: function(str, ...),\n * yyRecovering: function(),\n * yyErrOk: function(),\n * yyClearIn: function(),\n *\n * constructParseErrorInfo: function(error_message, exception_object, expected_token_set, is_recoverable),\n * Helper function **which will be set up during the first invocation of the `parse()` method**.\n * Produces a new errorInfo 'hash object' which can be passed into `parseError()`.\n * See it's use in this parser kernel in many places; example usage:\n *\n * var infoObj = parser.constructParseErrorInfo('fail!', null,\n * parser.collect_expected_token_set(state), true);\n * var retVal = parser.parseError(infoObj.errStr, infoObj, parser.JisonParserError);\n *\n * originalParseError: function(str, hash, ExceptionClass),\n * The basic `parseError` handler provided by JISON.\n * `cleanupAfterParse()` will clean up and reset `parseError()` to reference this function\n * at the end of the `parse()`.\n *\n * options: { ... parser %options ... },\n *\n * parse: function(input[, args...]),\n * Parse the given `input` and return the parsed value (or `true` when none was provided by\n * the root action, in which case the parser is acting as a *matcher*).\n * You MAY use the additional `args...` parameters as per `%parse-param` spec of this grammar:\n * these extra `args...` are added verbatim to the `yy` object reference as member variables.\n *\n * WARNING:\n * Parser's additional `args...` parameters (via `%parse-param`) MAY conflict with\n * any attributes already added to `yy` by the jison run-time;\n * when such a collision is detected an exception is thrown to prevent the generated run-time\n * from silently accepting this confusing and potentially hazardous situation!\n *\n * The lexer MAY add its own set of additional parameters (via the `%parse-param` line in\n * the lexer section of the grammar spec): these will be inserted in the `yy` shared state\n * object and any collision with those will be reported by the lexer via a thrown exception.\n *\n * cleanupAfterParse: function(resultValue, invoke_post_methods, do_not_nuke_errorinfos),\n * Helper function **which will be set up during the first invocation of the `parse()` method**.\n * This helper API is invoked at the end of the `parse()` call, unless an exception was thrown\n * and `%options no-try-catch` has been defined for this grammar: in that case this helper MAY\n * be invoked by calling user code to ensure the `post_parse` callbacks are invoked and\n * the internal parser gets properly garbage collected under these particular circumstances.\n *\n * yyMergeLocationInfo: function(first_index, last_index, first_yylloc, last_yylloc, dont_look_back),\n * Helper function **which will be set up during the first invocation of the `parse()` method**.\n * This helper API can be invoked to calculate a spanning `yylloc` location info object.\n *\n * Note: %epsilon rules MAY specify no `first_index` and `first_yylloc`, in which case\n * this function will attempt to obtain a suitable location marker by inspecting the location stack\n * backwards.\n *\n * For more info see the documentation comment further below, immediately above this function's\n * implementation.\n *\n * lexer: {\n * yy: {...}, A reference to the so-called \"shared state\" `yy` once\n * received via a call to the `.setInput(input, yy)` lexer API.\n * EOF: 1,\n * ERROR: 2,\n * JisonLexerError: function(msg, hash),\n * parseError: function(str, hash, ExceptionClass),\n * setInput: function(input, [yy]),\n * input: function(),\n * unput: function(str),\n * more: function(),\n * reject: function(),\n * less: function(n),\n * pastInput: function(n),\n * upcomingInput: function(n),\n * showPosition: function(),\n * test_match: function(regex_match_array, rule_index, ...),\n * next: function(...),\n * lex: function(...),\n * begin: function(condition),\n * pushState: function(condition),\n * popState: function(),\n * topState: function(),\n * _currentRules: function(),\n * stateStackSize: function(),\n * cleanupAfterLex: function()\n *\n * options: { ... lexer %options ... },\n *\n * performAction: function(yy, yy_, $avoiding_name_collisions, YY_START, ...),\n * rules: [...],\n * conditions: {associative list: name ==> set},\n * }\n * }\n *\n *\n * token location info (@$, _$, etc.): {\n * first_line: n,\n * last_line: n,\n * first_column: n,\n * last_column: n,\n * range: [start_number, end_number]\n * (where the numbers are indexes into the input string, zero-based)\n * }\n *\n * ---\n *\n * The `parseError` function receives a 'hash' object with these members for lexer and\n * parser errors:\n *\n * {\n * text: (matched text)\n * token: (the produced terminal token, if any)\n * token_id: (the produced terminal token numeric ID, if any)\n * line: (yylineno)\n * loc: (yylloc)\n * }\n *\n * parser (grammar) errors will also provide these additional members:\n *\n * {\n * expected: (array describing the set of expected tokens;\n * may be UNDEFINED when we cannot easily produce such a set)\n * state: (integer (or array when the table includes grammar collisions);\n * represents the current internal state of the parser kernel.\n * can, for example, be used to pass to the `collect_expected_token_set()`\n * API to obtain the expected token set)\n * action: (integer; represents the current internal action which will be executed)\n * new_state: (integer; represents the next/planned internal state, once the current\n * action has executed)\n * recoverable: (boolean: TRUE when the parser MAY have an error recovery rule\n * available for this particular error)\n * state_stack: (array: the current parser LALR/LR internal state stack; this can be used,\n * for instance, for advanced error analysis and reporting)\n * value_stack: (array: the current parser LALR/LR internal `$$` value stack; this can be used,\n * for instance, for advanced error analysis and reporting)\n * location_stack: (array: the current parser LALR/LR internal location stack; this can be used,\n * for instance, for advanced error analysis and reporting)\n * yy: (object: the current parser internal \"shared state\" `yy`\n * as is also available in the rule actions; this can be used,\n * for instance, for advanced error analysis and reporting)\n * lexer: (reference to the current lexer instance used by the parser)\n * parser: (reference to the current parser instance)\n * }\n *\n * while `this` will reference the current parser instance.\n *\n * When `parseError` is invoked by the lexer, `this` will still reference the related *parser*\n * instance, while these additional `hash` fields will also be provided:\n *\n * {\n * lexer: (reference to the current lexer instance which reported the error)\n * }\n *\n * When `parseError` is invoked by the parser due to a **JavaScript exception** being fired\n * from either the parser or lexer, `this` will still reference the related *parser*\n * instance, while these additional `hash` fields will also be provided:\n *\n * {\n * exception: (reference to the exception thrown)\n * }\n *\n * Please do note that in the latter situation, the `expected` field will be omitted as\n * this type of failure is assumed not to be due to *parse errors* but rather due to user\n * action code in either parser or lexer failing unexpectedly.\n *\n * ---\n *\n * You can specify parser options by setting / modifying the `.yy` object of your Parser instance.\n * These options are available:\n *\n * ### options which are global for all parser instances\n *\n * Parser.pre_parse: function(yy)\n * optional: you can specify a pre_parse() function in the chunk following\n * the grammar, i.e. after the last `%%`.\n * Parser.post_parse: function(yy, retval, parseInfo) { return retval; }\n * optional: you can specify a post_parse() function in the chunk following\n * the grammar, i.e. after the last `%%`. When it does not return any value,\n * the parser will return the original `retval`.\n *\n * ### options which can be set up per parser instance\n *\n * yy: {\n * pre_parse: function(yy)\n * optional: is invoked before the parse cycle starts (and before the first\n * invocation of `lex()`) but immediately after the invocation of\n * `parser.pre_parse()`).\n * post_parse: function(yy, retval, parseInfo) { return retval; }\n * optional: is invoked when the parse terminates due to success ('accept')\n * or failure (even when exceptions are thrown).\n * `retval` contains the return value to be produced by `Parser.parse()`;\n * this function can override the return value by returning another.\n * When it does not return any value, the parser will return the original\n * `retval`.\n * This function is invoked immediately before `parser.post_parse()`.\n *\n * parseError: function(str, hash, ExceptionClass)\n * optional: overrides the default `parseError` function.\n * quoteName: function(name),\n * optional: overrides the default `quoteName` function.\n * }\n *\n * parser.lexer.options: {\n * pre_lex: function()\n * optional: is invoked before the lexer is invoked to produce another token.\n * `this` refers to the Lexer object.\n * post_lex: function(token) { return token; }\n * optional: is invoked when the lexer has produced a token `token`;\n * this function can override the returned token value by returning another.\n * When it does not return any (truthy) value, the lexer will return\n * the original `token`.\n * `this` refers to the Lexer object.\n *\n * ranges: boolean\n * optional: `true` ==> token location info will include a .range[] member.\n * flex: boolean\n * optional: `true` ==> flex-like lexing behaviour where the rules are tested\n * exhaustively to find the longest match.\n * backtrack_lexer: boolean\n * optional: `true` ==> lexer regexes are tested in order and for invoked;\n * the lexer terminates the scan when a token is returned by the action code.\n * xregexp: boolean\n * optional: `true` ==> lexer rule regexes are \"extended regex format\" requiring the\n * `XRegExp` library. When this `%option` has not been specified at compile time, all lexer\n * rule regexes have been written as standard JavaScript RegExp expressions.\n * }\n */\n\n \n \n var parser = (function () {\n\n\n// See also:\n// http://stackoverflow.com/questions/1382107/whats-a-good-way-to-extend-error-in-javascript/#35881508\n// but we keep the prototype.constructor and prototype.name assignment lines too for compatibility\n// with userland code which might access the derived class in a 'classic' way.\nfunction JisonParserError(msg, hash) {\n Object.defineProperty(this, 'name', {\n enumerable: false,\n writable: false,\n value: 'JisonParserError'\n });\n\n if (msg == null) msg = '???';\n\n Object.defineProperty(this, 'message', {\n enumerable: false,\n writable: true,\n value: msg\n });\n\n this.hash = hash;\n\n var stacktrace;\n if (hash && hash.exception instanceof Error) {\n var ex2 = hash.exception;\n this.message = ex2.message || msg;\n stacktrace = ex2.stack;\n }\n if (!stacktrace) {\n if (Error.hasOwnProperty('captureStackTrace')) { // V8/Chrome engine\n Error.captureStackTrace(this, this.constructor);\n } else {\n stacktrace = (new Error(msg)).stack;\n }\n }\n if (stacktrace) {\n Object.defineProperty(this, 'stack', {\n enumerable: false,\n writable: false,\n value: stacktrace\n });\n }\n}\n\nif (typeof Object.setPrototypeOf === 'function') {\n Object.setPrototypeOf(JisonParserError.prototype, Error.prototype);\n} else {\n JisonParserError.prototype = Object.create(Error.prototype);\n}\nJisonParserError.prototype.constructor = JisonParserError;\nJisonParserError.prototype.name = 'JisonParserError';\n\n\n\n\n // helper: reconstruct the productions[] table\n function bp(s) {\n var rv = [];\n var p = s.pop;\n var r = s.rule;\n for (var i = 0, l = p.length; i < l; i++) {\n rv.push([\n p[i],\n r[i]\n ]);\n }\n return rv;\n }\n \n\n\n // helper: reconstruct the defaultActions[] table\n function bda(s) {\n var rv = {};\n var d = s.idx;\n var g = s.goto;\n for (var i = 0, l = d.length; i < l; i++) {\n var j = d[i];\n rv[j] = g[i];\n }\n return rv;\n }\n \n\n\n // helper: reconstruct the 'goto' table\n function bt(s) {\n var rv = [];\n var d = s.len;\n var y = s.symbol;\n var t = s.type;\n var a = s.state;\n var m = s.mode;\n var g = s.goto;\n for (var i = 0, l = d.length; i < l; i++) {\n var n = d[i];\n var q = {};\n for (var j = 0; j < n; j++) {\n var z = y.shift();\n switch (t.shift()) {\n case 2:\n q[z] = [\n m.shift(),\n g.shift()\n ];\n break;\n\n case 0:\n q[z] = a.shift();\n break;\n\n default:\n // type === 1: accept\n q[z] = [\n 3\n ];\n }\n }\n rv.push(q);\n }\n return rv;\n }\n \n\n\n // helper: runlength encoding with increment step: code, length: step (default step = 0)\n // `this` references an array\n function s(c, l, a) {\n a = a || 0;\n for (var i = 0; i < l; i++) {\n this.push(c);\n c += a;\n }\n }\n\n // helper: duplicate sequence from *relative* offset and length.\n // `this` references an array\n function c(i, l) {\n i = this.length - i;\n for (l += i; i < l; i++) {\n this.push(this[i]);\n }\n }\n\n // helper: unpack an array using helpers and data, all passed in an array argument 'a'.\n function u(a) {\n var rv = [];\n for (var i = 0, l = a.length; i < l; i++) {\n var e = a[i];\n // Is this entry a helper function?\n if (typeof e === 'function') {\n i++;\n e.apply(rv, a[i]);\n } else {\n rv.push(e);\n }\n }\n return rv;\n }\n \n\nvar parser = {\n // Code Generator Information Report\n // ---------------------------------\n //\n // Options:\n //\n // default action mode: ............. [\"classic\",\"merge\"]\n // test-compile action mode: ........ \"parser:*,lexer:*\"\n // try..catch: ...................... true\n // default resolve on conflict: ..... true\n // on-demand look-ahead: ............ false\n // error recovery token skip maximum: 3\n // yyerror in parse actions is: ..... NOT recoverable,\n // yyerror in lexer actions and other non-fatal lexer are:\n // .................................. NOT recoverable,\n // debug grammar/output: ............ false\n // has partial LR conflict upgrade: true\n // rudimentary token-stack support: false\n // parser table compression mode: ... 2\n // export debug tables: ............. false\n // export *all* tables: ............. false\n // module type: ..................... commonjs\n // parser engine type: .............. lalr\n // output main() in the module: ..... true\n // has user-specified main(): ....... false\n // has user-specified require()/import modules for main():\n // .................................. false\n // number of expected conflicts: .... 0\n //\n //\n // Parser Analysis flags:\n //\n // no significant actions (parser is a language matcher only):\n // .................................. false\n // uses yyleng: ..................... false\n // uses yylineno: ................... false\n // uses yytext: ..................... false\n // uses yylloc: ..................... false\n // uses ParseError API: ............. false\n // uses YYERROR: .................... false\n // uses YYRECOVERING: ............... false\n // uses YYERROK: .................... false\n // uses YYCLEARIN: .................. false\n // tracks rule values: .............. true\n // assigns rule values: ............. true\n // uses location tracking: .......... false\n // assigns location: ................ false\n // uses yystack: .................... false\n // uses yysstack: ................... false\n // uses yysp: ....................... true\n // uses yyrulelength: ............... false\n // uses yyMergeLocationInfo API: .... false\n // has error recovery: .............. false\n // has error reporting: ............. false\n //\n // --------- END OF REPORT -----------\n\ntrace: function no_op_trace() { },\nJisonParserError: JisonParserError,\nyy: {},\noptions: {\n type: \"lalr\",\n hasPartialLrUpgradeOnConflict: true,\n errorRecoveryTokenDiscardCount: 3\n},\nsymbols_: {\n \"$accept\": 0,\n \"$end\": 1,\n \"ADD\": 3,\n \"ANGLE\": 16,\n \"CHS\": 22,\n \"COMMA\": 14,\n \"CSS_CPROP\": 13,\n \"CSS_VAR\": 12,\n \"DIV\": 6,\n \"EMS\": 20,\n \"EOF\": 1,\n \"EXS\": 21,\n \"FREQ\": 18,\n \"LENGTH\": 15,\n \"LPAREN\": 7,\n \"MUL\": 5,\n \"NESTED_CALC\": 9,\n \"NUMBER\": 11,\n \"PERCENTAGE\": 28,\n \"PREFIX\": 10,\n \"REMS\": 23,\n \"RES\": 19,\n \"RPAREN\": 8,\n \"SUB\": 4,\n \"TIME\": 17,\n \"VHS\": 24,\n \"VMAXS\": 27,\n \"VMINS\": 26,\n \"VWS\": 25,\n \"css_value\": 33,\n \"css_variable\": 32,\n \"error\": 2,\n \"expression\": 29,\n \"math_expression\": 30,\n \"value\": 31\n},\nterminals_: {\n 1: \"EOF\",\n 2: \"error\",\n 3: \"ADD\",\n 4: \"SUB\",\n 5: \"MUL\",\n 6: \"DIV\",\n 7: \"LPAREN\",\n 8: \"RPAREN\",\n 9: \"NESTED_CALC\",\n 10: \"PREFIX\",\n 11: \"NUMBER\",\n 12: \"CSS_VAR\",\n 13: \"CSS_CPROP\",\n 14: \"COMMA\",\n 15: \"LENGTH\",\n 16: \"ANGLE\",\n 17: \"TIME\",\n 18: \"FREQ\",\n 19: \"RES\",\n 20: \"EMS\",\n 21: \"EXS\",\n 22: \"CHS\",\n 23: \"REMS\",\n 24: \"VHS\",\n 25: \"VWS\",\n 26: \"VMINS\",\n 27: \"VMAXS\",\n 28: \"PERCENTAGE\"\n},\nTERROR: 2,\n EOF: 1,\n\n // internals: defined here so the object *structure* doesn't get modified by parse() et al,\n // thus helping JIT compilers like Chrome V8.\n originalQuoteName: null,\n originalParseError: null,\n cleanupAfterParse: null,\n constructParseErrorInfo: null,\n yyMergeLocationInfo: null,\n\n __reentrant_call_depth: 0, // INTERNAL USE ONLY\n __error_infos: [], // INTERNAL USE ONLY: the set of parseErrorInfo objects created since the last cleanup\n __error_recovery_infos: [], // INTERNAL USE ONLY: the set of parseErrorInfo objects created since the last cleanup\n\n // APIs which will be set up depending on user action code analysis:\n //yyRecovering: 0,\n //yyErrOk: 0,\n //yyClearIn: 0,\n\n // Helper APIs\n // -----------\n\n // Helper function which can be overridden by user code later on: put suitable quotes around\n // literal IDs in a description string.\n quoteName: function parser_quoteName(id_str) {\n return '\"' + id_str + '\"';\n },\n\n // Return the name of the given symbol (terminal or non-terminal) as a string, when available.\n //\n // Return NULL when the symbol is unknown to the parser.\n getSymbolName: function parser_getSymbolName(symbol) {\n if (this.terminals_[symbol]) {\n return this.terminals_[symbol];\n }\n\n // Otherwise... this might refer to a RULE token i.e. a non-terminal: see if we can dig that one up.\n //\n // An example of this may be where a rule's action code contains a call like this:\n //\n // parser.getSymbolName(#$)\n //\n // to obtain a human-readable name of the current grammar rule.\n var s = this.symbols_;\n for (var key in s) {\n if (s[key] === symbol) {\n return key;\n }\n }\n return null;\n },\n\n // Return a more-or-less human-readable description of the given symbol, when available,\n // or the symbol itself, serving as its own 'description' for lack of something better to serve up.\n //\n // Return NULL when the symbol is unknown to the parser.\n describeSymbol: function parser_describeSymbol(symbol) {\n if (symbol !== this.EOF && this.terminal_descriptions_ && this.terminal_descriptions_[symbol]) {\n return this.terminal_descriptions_[symbol];\n }\n else if (symbol === this.EOF) {\n return 'end of input';\n }\n var id = this.getSymbolName(symbol);\n if (id) {\n return this.quoteName(id);\n }\n return null;\n },\n\n // Produce a (more or less) human-readable list of expected tokens at the point of failure.\n //\n // The produced list may contain token or token set descriptions instead of the tokens\n // themselves to help turning this output into something that easier to read by humans\n // unless `do_not_describe` parameter is set, in which case a list of the raw, *numeric*,\n // expected terminals and nonterminals is produced.\n //\n // The returned list (array) will not contain any duplicate entries.\n collect_expected_token_set: function parser_collect_expected_token_set(state, do_not_describe) {\n var TERROR = this.TERROR;\n var tokenset = [];\n var check = {};\n // Has this (error?) state been outfitted with a custom expectations description text for human consumption?\n // If so, use that one instead of the less palatable token set.\n if (!do_not_describe && this.state_descriptions_ && this.state_descriptions_[state]) {\n return [\n this.state_descriptions_[state]\n ];\n }\n for (var p in this.table[state]) {\n p = +p;\n if (p !== TERROR) {\n var d = do_not_describe ? p : this.describeSymbol(p);\n if (d && !check[d]) {\n tokenset.push(d);\n check[d] = true; // Mark this token description as already mentioned to prevent outputting duplicate entries.\n }\n }\n }\n return tokenset;\n },\nproductions_: bp({\n pop: u([\n 29,\n s,\n [30, 10],\n 31,\n 31,\n 32,\n 32,\n s,\n [33, 15]\n]),\n rule: u([\n 2,\n s,\n [3, 5],\n 4,\n 7,\n s,\n [1, 4],\n 2,\n 4,\n 6,\n s,\n [1, 14],\n 2\n])\n}),\nperformAction: function parser__PerformAction(yystate /* action[1] */, yysp, yyvstack) {\n\n /* this == yyval */\n\n // the JS engine itself can go and remove these statements when `yy` turns out to be unused in any action code!\n var yy = this.yy;\n var yyparser = yy.parser;\n var yylexer = yy.lexer;\n\n \n\n switch (yystate) {\ncase 0:\n /*! Production:: $accept : expression $end */\n\n // default action (generated by JISON mode classic/merge :: 1,VT,VA,-,-,-,-,-,-):\n this.$ = yyvstack[yysp - 1];\n // END of default action (generated by JISON mode classic/merge :: 1,VT,VA,-,-,-,-,-,-)\n break;\n\ncase 1:\n /*! Production:: expression : math_expression EOF */\n\n // default action (generated by JISON mode classic/merge :: 2,VT,VA,-,-,-,-,-,-):\n this.$ = yyvstack[yysp - 1];\n // END of default action (generated by JISON mode classic/merge :: 2,VT,VA,-,-,-,-,-,-)\n \n \n return yyvstack[yysp - 1];\n break;\n\ncase 2:\n /*! Production:: math_expression : math_expression ADD math_expression */\ncase 3:\n /*! Production:: math_expression : math_expression SUB math_expression */\ncase 4:\n /*! Production:: math_expression : math_expression MUL math_expression */\ncase 5:\n /*! Production:: math_expression : math_expression DIV math_expression */\n\n this.$ = { type: 'MathExpression', operator: yyvstack[yysp - 1], left: yyvstack[yysp - 2], right: yyvstack[yysp] };\n break;\n\ncase 6:\n /*! Production:: math_expression : LPAREN math_expression RPAREN */\n\n this.$ = yyvstack[yysp - 1];\n break;\n\ncase 7:\n /*! Production:: math_expression : NESTED_CALC LPAREN math_expression RPAREN */\n\n this.$ = { type: 'Calc', value: yyvstack[yysp - 1] };\n break;\n\ncase 8:\n /*! Production:: math_expression : SUB PREFIX SUB NESTED_CALC LPAREN math_expression RPAREN */\n\n this.$ = { type: 'Calc', value: yyvstack[yysp - 1], prefix: yyvstack[yysp - 5] };\n break;\n\ncase 9:\n /*! Production:: math_expression : css_variable */\ncase 10:\n /*! Production:: math_expression : css_value */\ncase 11:\n /*! Production:: math_expression : value */\n\n this.$ = yyvstack[yysp];\n break;\n\ncase 12:\n /*! Production:: value : NUMBER */\n\n this.$ = { type: 'Value', value: parseFloat(yyvstack[yysp]) };\n break;\n\ncase 13:\n /*! Production:: value : SUB NUMBER */\n\n this.$ = { type: 'Value', value: parseFloat(yyvstack[yysp]) * -1 };\n break;\n\ncase 14:\n /*! Production:: css_variable : CSS_VAR LPAREN CSS_CPROP RPAREN */\n\n this.$ = { type: 'CssVariable', value: yyvstack[yysp - 1] };\n break;\n\ncase 15:\n /*! Production:: css_variable : CSS_VAR LPAREN CSS_CPROP COMMA math_expression RPAREN */\n\n this.$ = { type: 'CssVariable', value: yyvstack[yysp - 3], fallback: yyvstack[yysp - 1] };\n break;\n\ncase 16:\n /*! Production:: css_value : LENGTH */\n\n this.$ = { type: 'LengthValue', value: parseFloat(yyvstack[yysp]), unit: /[a-z]+/.exec(yyvstack[yysp])[0] };\n break;\n\ncase 17:\n /*! Production:: css_value : ANGLE */\n\n this.$ = { type: 'AngleValue', value: parseFloat(yyvstack[yysp]), unit: /[a-z]+/.exec(yyvstack[yysp])[0] };\n break;\n\ncase 18:\n /*! Production:: css_value : TIME */\n\n this.$ = { type: 'TimeValue', value: parseFloat(yyvstack[yysp]), unit: /[a-z]+/.exec(yyvstack[yysp])[0] };\n break;\n\ncase 19:\n /*! Production:: css_value : FREQ */\n\n this.$ = { type: 'FrequencyValue', value: parseFloat(yyvstack[yysp]), unit: /[a-z]+/.exec(yyvstack[yysp])[0] };\n break;\n\ncase 20:\n /*! Production:: css_value : RES */\n\n this.$ = { type: 'ResolutionValue', value: parseFloat(yyvstack[yysp]), unit: /[a-z]+/.exec(yyvstack[yysp])[0] };\n break;\n\ncase 21:\n /*! Production:: css_value : EMS */\n\n this.$ = { type: 'EmValue', value: parseFloat(yyvstack[yysp]), unit: 'em' };\n break;\n\ncase 22:\n /*! Production:: css_value : EXS */\n\n this.$ = { type: 'ExValue', value: parseFloat(yyvstack[yysp]), unit: 'ex' };\n break;\n\ncase 23:\n /*! Production:: css_value : CHS */\n\n this.$ = { type: 'ChValue', value: parseFloat(yyvstack[yysp]), unit: 'ch' };\n break;\n\ncase 24:\n /*! Production:: css_value : REMS */\n\n this.$ = { type: 'RemValue', value: parseFloat(yyvstack[yysp]), unit: 'rem' };\n break;\n\ncase 25:\n /*! Production:: css_value : VHS */\n\n this.$ = { type: 'VhValue', value: parseFloat(yyvstack[yysp]), unit: 'vh' };\n break;\n\ncase 26:\n /*! Production:: css_value : VWS */\n\n this.$ = { type: 'VwValue', value: parseFloat(yyvstack[yysp]), unit: 'vw' };\n break;\n\ncase 27:\n /*! Production:: css_value : VMINS */\n\n this.$ = { type: 'VminValue', value: parseFloat(yyvstack[yysp]), unit: 'vmin' };\n break;\n\ncase 28:\n /*! Production:: css_value : VMAXS */\n\n this.$ = { type: 'VmaxValue', value: parseFloat(yyvstack[yysp]), unit: 'vmax' };\n break;\n\ncase 29:\n /*! Production:: css_value : PERCENTAGE */\n\n this.$ = { type: 'PercentageValue', value: parseFloat(yyvstack[yysp]), unit: '%' };\n break;\n\ncase 30:\n /*! Production:: css_value : SUB css_value */\n\n var prev = yyvstack[yysp]; prev.value *= -1; this.$ = prev;\n break;\n\n}\n},\ntable: bt({\n len: u([\n 24,\n 1,\n 5,\n 23,\n 1,\n 18,\n s,\n [0, 3],\n 1,\n s,\n [0, 16],\n s,\n [23, 4],\n c,\n [28, 3],\n 0,\n 0,\n 16,\n 1,\n 6,\n 6,\n s,\n [0, 3],\n 5,\n 1,\n 2,\n c,\n [37, 3],\n c,\n [20, 3],\n 5,\n 0,\n 0\n]),\n symbol: u([\n 4,\n 7,\n 9,\n 11,\n 12,\n s,\n [15, 19, 1],\n 1,\n 1,\n s,\n [3, 4, 1],\n c,\n [30, 19],\n c,\n [29, 4],\n 7,\n 4,\n 10,\n 11,\n c,\n [22, 14],\n c,\n [19, 3],\n c,\n [43, 22],\n c,\n [23, 69],\n c,\n [139, 4],\n 8,\n c,\n [51, 24],\n 4,\n c,\n [138, 15],\n 13,\n c,\n [186, 5],\n 8,\n c,\n [6, 6],\n c,\n [5, 5],\n 9,\n 8,\n 14,\n c,\n [159, 47],\n c,\n [60, 10]\n]),\n type: u([\n s,\n [2, 19],\n s,\n [0, 5],\n 1,\n s,\n [2, 24],\n s,\n [0, 4],\n c,\n [22, 19],\n c,\n [43, 42],\n c,\n [23, 70],\n c,\n [28, 25],\n c,\n [45, 25],\n c,\n [113, 54]\n]),\n state: u([\n 1,\n 2,\n 8,\n 6,\n 7,\n 30,\n c,\n [4, 3],\n 33,\n 37,\n c,\n [5, 3],\n 38,\n c,\n [4, 3],\n 39,\n c,\n [4, 3],\n 40,\n c,\n [4, 3],\n 42,\n c,\n [21, 4],\n 50,\n c,\n [5, 3],\n 51,\n c,\n [4, 3]\n]),\n mode: u([\n s,\n [1, 179],\n s,\n [2, 3],\n c,\n [5, 5],\n c,\n [6, 4],\n s,\n [1, 57]\n]),\n goto: u([\n 5,\n 3,\n 4,\n 24,\n s,\n [9, 15, 1],\n s,\n [25, 5, 1],\n c,\n [24, 19],\n 31,\n 35,\n 32,\n 34,\n c,\n [18, 14],\n 36,\n c,\n [38, 19],\n c,\n [19, 57],\n c,\n [118, 4],\n 41,\n c,\n [24, 19],\n 43,\n 35,\n c,\n [16, 14],\n 44,\n s,\n [2, 3],\n 28,\n 29,\n 2,\n s,\n [3, 3],\n 28,\n 29,\n 3,\n c,\n [53, 4],\n s,\n [45, 5, 1],\n c,\n [100, 42],\n 52,\n c,\n [5, 4],\n 53\n])\n}),\ndefaultActions: bda({\n idx: u([\n 6,\n 7,\n 8,\n s,\n [10, 16, 1],\n 33,\n 34,\n 39,\n 40,\n 41,\n 45,\n 47,\n 52,\n 53\n]),\n goto: u([\n 9,\n 10,\n 11,\n s,\n [16, 14, 1],\n 12,\n 1,\n 30,\n 13,\n s,\n [4, 4, 1],\n 14,\n 15,\n 8\n])\n}),\nparseError: function parseError(str, hash, ExceptionClass) {\n if (hash.recoverable) {\n if (typeof this.trace === 'function') {\n this.trace(str);\n }\n hash.destroy(); // destroy... well, *almost*!\n } else {\n if (typeof this.trace === 'function') {\n this.trace(str);\n }\n if (!ExceptionClass) {\n ExceptionClass = this.JisonParserError;\n }\n throw new ExceptionClass(str, hash);\n }\n},\nparse: function parse(input) {\n var self = this;\n var stack = new Array(128); // token stack: stores token which leads to state at the same index (column storage)\n var sstack = new Array(128); // state stack: stores states (column storage)\n\n var vstack = new Array(128); // semantic value stack\n\n var table = this.table;\n var sp = 0; // 'stack pointer': index into the stacks\n\n\n \n\n\n var symbol = 0;\n\n\n\n var TERROR = this.TERROR;\n var EOF = this.EOF;\n var ERROR_RECOVERY_TOKEN_DISCARD_COUNT = (this.options.errorRecoveryTokenDiscardCount | 0) || 3;\n var NO_ACTION = [0, 54 /* === table.length :: ensures that anyone using this new state will fail dramatically! */];\n\n var lexer;\n if (this.__lexer__) {\n lexer = this.__lexer__;\n } else {\n lexer = this.__lexer__ = Object.create(this.lexer);\n }\n\n var sharedState_yy = {\n parseError: undefined,\n quoteName: undefined,\n lexer: undefined,\n parser: undefined,\n pre_parse: undefined,\n post_parse: undefined,\n pre_lex: undefined,\n post_lex: undefined // WARNING: must be written this way for the code expanders to work correctly in both ES5 and ES6 modes!\n };\n\n var ASSERT;\n if (typeof assert !== 'function') {\n ASSERT = function JisonAssert(cond, msg) {\n if (!cond) {\n throw new Error('assertion failed: ' + (msg || '***'));\n }\n };\n } else {\n ASSERT = assert;\n }\n\n this.yyGetSharedState = function yyGetSharedState() {\n return sharedState_yy;\n };\n\n\n\n\n\n\n\n\n function shallow_copy_noclobber(dst, src) {\n for (var k in src) {\n if (typeof dst[k] === 'undefined' && Object.prototype.hasOwnProperty.call(src, k)) {\n dst[k] = src[k];\n }\n }\n }\n\n // copy state\n shallow_copy_noclobber(sharedState_yy, this.yy);\n\n sharedState_yy.lexer = lexer;\n sharedState_yy.parser = this;\n\n\n\n\n\n\n // Does the shared state override the default `parseError` that already comes with this instance?\n if (typeof sharedState_yy.parseError === 'function') {\n this.parseError = function parseErrorAlt(str, hash, ExceptionClass) {\n if (!ExceptionClass) {\n ExceptionClass = this.JisonParserError;\n }\n return sharedState_yy.parseError.call(this, str, hash, ExceptionClass);\n };\n } else {\n this.parseError = this.originalParseError;\n }\n\n // Does the shared state override the default `quoteName` that already comes with this instance?\n if (typeof sharedState_yy.quoteName === 'function') {\n this.quoteName = function quoteNameAlt(id_str) {\n return sharedState_yy.quoteName.call(this, id_str);\n };\n } else {\n this.quoteName = this.originalQuoteName;\n }\n\n // set up the cleanup function; make it an API so that external code can re-use this one in case of\n // calamities or when the `%options no-try-catch` option has been specified for the grammar, in which\n // case this parse() API method doesn't come with a `finally { ... }` block any more!\n //\n // NOTE: as this API uses parse() as a closure, it MUST be set again on every parse() invocation,\n // or else your `sharedState`, etc. references will be *wrong*!\n this.cleanupAfterParse = function parser_cleanupAfterParse(resultValue, invoke_post_methods, do_not_nuke_errorinfos) {\n var rv;\n\n if (invoke_post_methods) {\n var hash;\n\n if (sharedState_yy.post_parse || this.post_parse) {\n // create an error hash info instance: we re-use this API in a **non-error situation**\n // as this one delivers all parser internals ready for access by userland code.\n hash = this.constructParseErrorInfo(null /* no error! */, null /* no exception! */, null, false);\n }\n\n if (sharedState_yy.post_parse) {\n rv = sharedState_yy.post_parse.call(this, sharedState_yy, resultValue, hash);\n if (typeof rv !== 'undefined') resultValue = rv;\n }\n if (this.post_parse) {\n rv = this.post_parse.call(this, sharedState_yy, resultValue, hash);\n if (typeof rv !== 'undefined') resultValue = rv;\n }\n\n // cleanup:\n if (hash && hash.destroy) {\n hash.destroy();\n }\n }\n\n if (this.__reentrant_call_depth > 1) return resultValue; // do not (yet) kill the sharedState when this is a reentrant run.\n\n // clean up the lingering lexer structures as well:\n if (lexer.cleanupAfterLex) {\n lexer.cleanupAfterLex(do_not_nuke_errorinfos);\n }\n\n // prevent lingering circular references from causing memory leaks:\n if (sharedState_yy) {\n sharedState_yy.lexer = undefined;\n sharedState_yy.parser = undefined;\n if (lexer.yy === sharedState_yy) {\n lexer.yy = undefined;\n }\n }\n sharedState_yy = undefined;\n this.parseError = this.originalParseError;\n this.quoteName = this.originalQuoteName;\n\n // nuke the vstack[] array at least as that one will still reference obsoleted user values.\n // To be safe, we nuke the other internal stack columns as well...\n stack.length = 0; // fastest way to nuke an array without overly bothering the GC\n sstack.length = 0;\n\n vstack.length = 0;\n sp = 0;\n\n // nuke the error hash info instances created during this run.\n // Userland code must COPY any data/references\n // in the error hash instance(s) it is more permanently interested in.\n if (!do_not_nuke_errorinfos) {\n for (var i = this.__error_infos.length - 1; i >= 0; i--) {\n var el = this.__error_infos[i];\n if (el && typeof el.destroy === 'function') {\n el.destroy();\n }\n }\n this.__error_infos.length = 0;\n\n\n }\n\n return resultValue;\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\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\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\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\n\n\n\n // NOTE: as this API uses parse() as a closure, it MUST be set again on every parse() invocation,\n // or else your `lexer`, `sharedState`, etc. references will be *wrong*!\n this.constructParseErrorInfo = function parser_constructParseErrorInfo(msg, ex, expected, recoverable) {\n var pei = {\n errStr: msg,\n exception: ex,\n text: lexer.match,\n value: lexer.yytext,\n token: this.describeSymbol(symbol) || symbol,\n token_id: symbol,\n line: lexer.yylineno,\n\n expected: expected,\n recoverable: recoverable,\n state: state,\n action: action,\n new_state: newState,\n symbol_stack: stack,\n state_stack: sstack,\n value_stack: vstack,\n\n stack_pointer: sp,\n yy: sharedState_yy,\n lexer: lexer,\n parser: this,\n\n // and make sure the error info doesn't stay due to potential\n // ref cycle via userland code manipulations.\n // These would otherwise all be memory leak opportunities!\n //\n // Note that only array and object references are nuked as those\n // constitute the set of elements which can produce a cyclic ref.\n // The rest of the members is kept intact as they are harmless.\n destroy: function destructParseErrorInfo() {\n // remove cyclic references added to error info:\n // info.yy = null;\n // info.lexer = null;\n // info.value = null;\n // info.value_stack = null;\n // ...\n var rec = !!this.recoverable;\n for (var key in this) {\n if (this.hasOwnProperty(key) && typeof key === 'object') {\n this[key] = undefined;\n }\n }\n this.recoverable = rec;\n }\n };\n // track this instance so we can `destroy()` it once we deem it superfluous and ready for garbage collection!\n this.__error_infos.push(pei);\n return pei;\n };\n\n\n\n\n\n\n\n\n\n\n\n\n\n function getNonTerminalFromCode(symbol) {\n var tokenName = self.getSymbolName(symbol);\n if (!tokenName) {\n tokenName = symbol;\n }\n return tokenName;\n }\n\n\n function stdLex() {\n var token = lexer.lex();\n // if token isn't its numeric value, convert\n if (typeof token !== 'number') {\n token = self.symbols_[token] || token;\n }\n\n return token || EOF;\n }\n\n function fastLex() {\n var token = lexer.fastLex();\n // if token isn't its numeric value, convert\n if (typeof token !== 'number') {\n token = self.symbols_[token] || token;\n }\n\n return token || EOF;\n }\n\n var lex = stdLex;\n\n\n var state, action, r, t;\n var yyval = {\n $: true,\n _$: undefined,\n yy: sharedState_yy\n };\n var p;\n var yyrulelen;\n var this_production;\n var newState;\n var retval = false;\n\n\n try {\n this.__reentrant_call_depth++;\n\n lexer.setInput(input, sharedState_yy);\n\n // NOTE: we *assume* no lexer pre/post handlers are set up *after* \n // this initial `setInput()` call: hence we can now check and decide\n // whether we'll go with the standard, slower, lex() API or the\n // `fast_lex()` one:\n if (typeof lexer.canIUse === 'function') {\n var lexerInfo = lexer.canIUse();\n if (lexerInfo.fastLex && typeof fastLex === 'function') {\n lex = fastLex;\n }\n } \n\n\n\n vstack[sp] = null;\n sstack[sp] = 0;\n stack[sp] = 0;\n ++sp;\n\n\n\n\n\n if (this.pre_parse) {\n this.pre_parse.call(this, sharedState_yy);\n }\n if (sharedState_yy.pre_parse) {\n sharedState_yy.pre_parse.call(this, sharedState_yy);\n }\n\n newState = sstack[sp - 1];\n for (;;) {\n // retrieve state number from top of stack\n state = newState; // sstack[sp - 1];\n\n // use default actions if available\n if (this.defaultActions[state]) {\n action = 2;\n newState = this.defaultActions[state];\n } else {\n // The single `==` condition below covers both these `===` comparisons in a single\n // operation:\n //\n // if (symbol === null || typeof symbol === 'undefined') ...\n if (!symbol) {\n symbol = lex();\n }\n // read action for current state and first input\n t = (table[state] && table[state][symbol]) || NO_ACTION;\n newState = t[1];\n action = t[0];\n\n\n\n\n\n\n\n\n\n\n\n // handle parse error\n if (!action) {\n var errStr;\n var errSymbolDescr = (this.describeSymbol(symbol) || symbol);\n var expected = this.collect_expected_token_set(state);\n\n // Report error\n if (typeof lexer.yylineno === 'number') {\n errStr = 'Parse error on line ' + (lexer.yylineno + 1) + ': ';\n } else {\n errStr = 'Parse error: ';\n }\n if (typeof lexer.showPosition === 'function') {\n errStr += '\\n' + lexer.showPosition(79 - 10, 10) + '\\n';\n }\n if (expected.length) {\n errStr += 'Expecting ' + expected.join(', ') + ', got unexpected ' + errSymbolDescr;\n } else {\n errStr += 'Unexpected ' + errSymbolDescr;\n }\n // we cannot recover from the error!\n p = this.constructParseErrorInfo(errStr, null, expected, false);\n r = this.parseError(p.errStr, p, this.JisonParserError);\n if (typeof r !== 'undefined') {\n retval = r;\n }\n break;\n }\n\n\n }\n\n\n\n\n\n\n\n\n\n\n switch (action) {\n // catch misc. parse failures:\n default:\n // this shouldn't happen, unless resolve defaults are off\n if (action instanceof Array) {\n p = this.constructParseErrorInfo('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol, null, null, false);\n r = this.parseError(p.errStr, p, this.JisonParserError);\n if (typeof r !== 'undefined') {\n retval = r;\n }\n break;\n }\n // Another case of better safe than sorry: in case state transitions come out of another error recovery process\n // or a buggy LUT (LookUp Table):\n p = this.constructParseErrorInfo('Parsing halted. No viable error recovery approach available due to internal system failure.', null, null, false);\n r = this.parseError(p.errStr, p, this.JisonParserError);\n if (typeof r !== 'undefined') {\n retval = r;\n }\n break;\n\n // shift:\n case 1:\n stack[sp] = symbol;\n vstack[sp] = lexer.yytext;\n\n sstack[sp] = newState; // push state\n\n ++sp;\n symbol = 0;\n\n\n\n\n // Pick up the lexer details for the current symbol as that one is not 'look-ahead' any more:\n\n\n\n\n continue;\n\n // reduce:\n case 2:\n\n\n\n this_production = this.productions_[newState - 1]; // `this.productions_[]` is zero-based indexed while states start from 1 upwards...\n yyrulelen = this_production[1];\n\n\n\n\n\n\n\n\n\n\n r = this.performAction.call(yyval, newState, sp - 1, vstack);\n\n if (typeof r !== 'undefined') {\n retval = r;\n break;\n }\n\n // pop off stack\n sp -= yyrulelen;\n\n // don't overwrite the `symbol` variable: use a local var to speed things up:\n var ntsymbol = this_production[0]; // push nonterminal (reduce)\n stack[sp] = ntsymbol;\n vstack[sp] = yyval.$;\n\n // goto new state = table[STATE][NONTERMINAL]\n newState = table[sstack[sp - 1]][ntsymbol];\n sstack[sp] = newState;\n ++sp;\n\n\n\n\n\n\n\n\n\n continue;\n\n // accept:\n case 3:\n if (sp !== -2) {\n retval = true;\n // Return the `$accept` rule's `$$` result, if available.\n //\n // Also note that JISON always adds this top-most `$accept` rule (with implicit,\n // default, action):\n //\n // $accept: $end\n // %{ $$ = $1; @$ = @1; %}\n //\n // which, combined with the parse kernel's `$accept` state behaviour coded below,\n // will produce the `$$` value output of the rule as the parse result,\n // IFF that result is *not* `undefined`. (See also the parser kernel code.)\n //\n // In code:\n //\n // %{\n // @$ = @1; // if location tracking support is included\n // if (typeof $1 !== 'undefined')\n // return $1;\n // else\n // return true; // the default parse result if the rule actions don't produce anything\n // %}\n sp--;\n if (typeof vstack[sp] !== 'undefined') {\n retval = vstack[sp];\n }\n }\n break;\n }\n\n // break out of loop: we accept or fail with error\n break;\n }\n } catch (ex) {\n // report exceptions through the parseError callback too, but keep the exception intact\n // if it is a known parser or lexer error which has been thrown by parseError() already:\n if (ex instanceof this.JisonParserError) {\n throw ex;\n }\n else if (lexer && typeof lexer.JisonLexerError === 'function' && ex instanceof lexer.JisonLexerError) {\n throw ex;\n }\n\n p = this.constructParseErrorInfo('Parsing aborted due to exception.', ex, null, false);\n retval = false;\n r = this.parseError(p.errStr, p, this.JisonParserError);\n if (typeof r !== 'undefined') {\n retval = r;\n }\n } finally {\n retval = this.cleanupAfterParse(retval, true, true);\n this.__reentrant_call_depth--;\n } // /finally\n\n return retval;\n}\n};\nparser.originalParseError = parser.parseError;\nparser.originalQuoteName = parser.quoteName;\n/* lexer generated by jison-lex 0.6.1-215 */\n\n/*\n * Returns a Lexer object of the following structure:\n *\n * Lexer: {\n * yy: {} The so-called \"shared state\" or rather the *source* of it;\n * the real \"shared state\" `yy` passed around to\n * the rule actions, etc. is a direct reference!\n *\n * This \"shared context\" object was passed to the lexer by way of \n * the `lexer.setInput(str, yy)` API before you may use it.\n *\n * This \"shared context\" object is passed to the lexer action code in `performAction()`\n * so userland code in the lexer actions may communicate with the outside world \n * and/or other lexer rules' actions in more or less complex ways.\n *\n * }\n *\n * Lexer.prototype: {\n * EOF: 1,\n * ERROR: 2,\n *\n * yy: The overall \"shared context\" object reference.\n *\n * JisonLexerError: function(msg, hash),\n *\n * performAction: function lexer__performAction(yy, yyrulenumber, YY_START),\n *\n * The function parameters and `this` have the following value/meaning:\n * - `this` : reference to the `lexer` instance. \n * `yy_` is an alias for `this` lexer instance reference used internally.\n *\n * - `yy` : a reference to the `yy` \"shared state\" object which was passed to the lexer\n * by way of the `lexer.setInput(str, yy)` API before.\n *\n * Note:\n * The extra arguments you specified in the `%parse-param` statement in your\n * **parser** grammar definition file are passed to the lexer via this object\n * reference as member variables.\n *\n * - `yyrulenumber` : index of the matched lexer rule (regex), used internally.\n *\n * - `YY_START`: the current lexer \"start condition\" state.\n *\n * parseError: function(str, hash, ExceptionClass),\n *\n * constructLexErrorInfo: function(error_message, is_recoverable),\n * Helper function.\n * Produces a new errorInfo 'hash object' which can be passed into `parseError()`.\n * See it's use in this lexer kernel in many places; example usage:\n *\n * var infoObj = lexer.constructParseErrorInfo('fail!', true);\n * var retVal = lexer.parseError(infoObj.errStr, infoObj, lexer.JisonLexerError);\n *\n * options: { ... lexer %options ... },\n *\n * lex: function(),\n * Produce one token of lexed input, which was passed in earlier via the `lexer.setInput()` API.\n * You MAY use the additional `args...` parameters as per `%parse-param` spec of the **lexer** grammar:\n * these extra `args...` are added verbatim to the `yy` object reference as member variables.\n *\n * WARNING:\n * Lexer's additional `args...` parameters (via lexer's `%parse-param`) MAY conflict with\n * any attributes already added to `yy` by the **parser** or the jison run-time; \n * when such a collision is detected an exception is thrown to prevent the generated run-time \n * from silently accepting this confusing and potentially hazardous situation! \n *\n * cleanupAfterLex: function(do_not_nuke_errorinfos),\n * Helper function.\n *\n * This helper API is invoked when the **parse process** has completed: it is the responsibility\n * of the **parser** (or the calling userland code) to invoke this method once cleanup is desired. \n *\n * This helper may be invoked by user code to ensure the internal lexer gets properly garbage collected.\n *\n * setInput: function(input, [yy]),\n *\n *\n * input: function(),\n *\n *\n * unput: function(str),\n *\n *\n * more: function(),\n *\n *\n * reject: function(),\n *\n *\n * less: function(n),\n *\n *\n * pastInput: function(n),\n *\n *\n * upcomingInput: function(n),\n *\n *\n * showPosition: function(),\n *\n *\n * test_match: function(regex_match_array, rule_index),\n *\n *\n * next: function(),\n *\n *\n * begin: function(condition),\n *\n *\n * pushState: function(condition),\n *\n *\n * popState: function(),\n *\n *\n * topState: function(),\n *\n *\n * _currentRules: function(),\n *\n *\n * stateStackSize: function(),\n *\n *\n * performAction: function(yy, yy_, yyrulenumber, YY_START),\n *\n *\n * rules: [...],\n *\n *\n * conditions: {associative list: name ==> set},\n * }\n *\n *\n * token location info (`yylloc`): {\n * first_line: n,\n * last_line: n,\n * first_column: n,\n * last_column: n,\n * range: [start_number, end_number]\n * (where the numbers are indexes into the input string, zero-based)\n * }\n *\n * ---\n *\n * The `parseError` function receives a 'hash' object with these members for lexer errors:\n *\n * {\n * text: (matched text)\n * token: (the produced terminal token, if any)\n * token_id: (the produced terminal token numeric ID, if any)\n * line: (yylineno)\n * loc: (yylloc)\n * recoverable: (boolean: TRUE when the parser MAY have an error recovery rule\n * available for this particular error)\n * yy: (object: the current parser internal \"shared state\" `yy`\n * as is also available in the rule actions; this can be used,\n * for instance, for advanced error analysis and reporting)\n * lexer: (reference to the current lexer instance used by the parser)\n * }\n *\n * while `this` will reference the current lexer instance.\n *\n * When `parseError` is invoked by the lexer, the default implementation will\n * attempt to invoke `yy.parser.parseError()`; when this callback is not provided\n * it will try to invoke `yy.parseError()` instead. When that callback is also not\n * provided, a `JisonLexerError` exception will be thrown containing the error\n * message and `hash`, as constructed by the `constructLexErrorInfo()` API.\n *\n * Note that the lexer's `JisonLexerError` error class is passed via the\n * `ExceptionClass` argument, which is invoked to construct the exception\n * instance to be thrown, so technically `parseError` will throw the object\n * produced by the `new ExceptionClass(str, hash)` JavaScript expression.\n *\n * ---\n *\n * You can specify lexer options by setting / modifying the `.options` object of your Lexer instance.\n * These options are available:\n *\n * (Options are permanent.)\n * \n * yy: {\n * parseError: function(str, hash, ExceptionClass)\n * optional: overrides the default `parseError` function.\n * }\n *\n * lexer.options: {\n * pre_lex: function()\n * optional: is invoked before the lexer is invoked to produce another token.\n * `this` refers to the Lexer object.\n * post_lex: function(token) { return token; }\n * optional: is invoked when the lexer has produced a token `token`;\n * this function can override the returned token value by returning another.\n * When it does not return any (truthy) value, the lexer will return\n * the original `token`.\n * `this` refers to the Lexer object.\n *\n * WARNING: the next set of options are not meant to be changed. They echo the abilities of\n * the lexer as per when it was compiled!\n *\n * ranges: boolean\n * optional: `true` ==> token location info will include a .range[] member.\n * flex: boolean\n * optional: `true` ==> flex-like lexing behaviour where the rules are tested\n * exhaustively to find the longest match.\n * backtrack_lexer: boolean\n * optional: `true` ==> lexer regexes are tested in order and for invoked;\n * the lexer terminates the scan when a token is returned by the action code.\n * xregexp: boolean\n * optional: `true` ==> lexer rule regexes are \"extended regex format\" requiring the\n * `XRegExp` library. When this %option has not been specified at compile time, all lexer\n * rule regexes have been written as standard JavaScript RegExp expressions.\n * }\n */\n\n\nvar lexer = function() {\n /**\n * See also:\n * http://stackoverflow.com/questions/1382107/whats-a-good-way-to-extend-error-in-javascript/#35881508\n * but we keep the prototype.constructor and prototype.name assignment lines too for compatibility\n * with userland code which might access the derived class in a 'classic' way.\n *\n * @public\n * @constructor\n * @nocollapse\n */\n function JisonLexerError(msg, hash) {\n Object.defineProperty(this, 'name', {\n enumerable: false,\n writable: false,\n value: 'JisonLexerError'\n });\n\n if (msg == null)\n msg = '???';\n\n Object.defineProperty(this, 'message', {\n enumerable: false,\n writable: true,\n value: msg\n });\n\n this.hash = hash;\n var stacktrace;\n\n if (hash && hash.exception instanceof Error) {\n var ex2 = hash.exception;\n this.message = ex2.message || msg;\n stacktrace = ex2.stack;\n }\n\n if (!stacktrace) {\n if (Error.hasOwnProperty('captureStackTrace')) {\n // V8\n Error.captureStackTrace(this, this.constructor);\n } else {\n stacktrace = new Error(msg).stack;\n }\n }\n\n if (stacktrace) {\n Object.defineProperty(this, 'stack', {\n enumerable: false,\n writable: false,\n value: stacktrace\n });\n }\n }\n\n if (typeof Object.setPrototypeOf === 'function') {\n Object.setPrototypeOf(JisonLexerError.prototype, Error.prototype);\n } else {\n JisonLexerError.prototype = Object.create(Error.prototype);\n }\n\n JisonLexerError.prototype.constructor = JisonLexerError;\n JisonLexerError.prototype.name = 'JisonLexerError';\n\n var lexer = {\n \n// Code Generator Information Report\n// ---------------------------------\n//\n// Options:\n//\n// backtracking: .................... false\n// location.ranges: ................. false\n// location line+column tracking: ... true\n//\n//\n// Forwarded Parser Analysis flags:\n//\n// uses yyleng: ..................... false\n// uses yylineno: ................... false\n// uses yytext: ..................... false\n// uses yylloc: ..................... false\n// uses lexer values: ............... true / true\n// location tracking: ............... false\n// location assignment: ............. false\n//\n//\n// Lexer Analysis flags:\n//\n// uses yyleng: ..................... ???\n// uses yylineno: ................... ???\n// uses yytext: ..................... ???\n// uses yylloc: ..................... ???\n// uses ParseError API: ............. ???\n// uses yyerror: .................... ???\n// uses location tracking & editing: ???\n// uses more() API: ................. ???\n// uses unput() API: ................ ???\n// uses reject() API: ............... ???\n// uses less() API: ................. ???\n// uses display APIs pastInput(), upcomingInput(), showPosition():\n// ............................. ???\n// uses describeYYLLOC() API: ....... ???\n//\n// --------- END OF REPORT -----------\n\nEOF: 1,\n ERROR: 2,\n\n // JisonLexerError: JisonLexerError, /// <-- injected by the code generator\n\n // options: {}, /// <-- injected by the code generator\n\n // yy: ..., /// <-- injected by setInput()\n\n __currentRuleSet__: null, /// INTERNAL USE ONLY: internal rule set cache for the current lexer state \n\n __error_infos: [], /// INTERNAL USE ONLY: the set of lexErrorInfo objects created since the last cleanup \n __decompressed: false, /// INTERNAL USE ONLY: mark whether the lexer instance has been 'unfolded' completely and is now ready for use \n done: false, /// INTERNAL USE ONLY \n _backtrack: false, /// INTERNAL USE ONLY \n _input: '', /// INTERNAL USE ONLY \n _more: false, /// INTERNAL USE ONLY \n _signaled_error_token: false, /// INTERNAL USE ONLY \n conditionStack: [], /// INTERNAL USE ONLY; managed via `pushState()`, `popState()`, `topState()` and `stateStackSize()` \n match: '', /// READ-ONLY EXTERNAL ACCESS - ADVANCED USE ONLY: tracks input which has been matched so far for the lexer token under construction. `match` is identical to `yytext` except that this one still contains the matched input string after `lexer.performAction()` has been invoked, where userland code MAY have changed/replaced the `yytext` value entirely! \n matched: '', /// READ-ONLY EXTERNAL ACCESS - ADVANCED USE ONLY: tracks entire input which has been matched so far \n matches: false, /// READ-ONLY EXTERNAL ACCESS - ADVANCED USE ONLY: tracks RE match result for last (successful) match attempt \n yytext: '', /// ADVANCED USE ONLY: tracks input which has been matched so far for the lexer token under construction; this value is transferred to the parser as the 'token value' when the parser consumes the lexer token produced through a call to the `lex()` API. \n offset: 0, /// READ-ONLY EXTERNAL ACCESS - ADVANCED USE ONLY: tracks the 'cursor position' in the input string, i.e. the number of characters matched so far \n yyleng: 0, /// READ-ONLY EXTERNAL ACCESS - ADVANCED USE ONLY: length of matched input for the token under construction (`yytext`) \n yylineno: 0, /// READ-ONLY EXTERNAL ACCESS - ADVANCED USE ONLY: 'line number' at which the token under construction is located \n yylloc: null, /// READ-ONLY EXTERNAL ACCESS - ADVANCED USE ONLY: tracks location info (lines + columns) for the token under construction \n\n /**\n * INTERNAL USE: construct a suitable error info hash object instance for `parseError`.\n * \n * @public\n * @this {RegExpLexer}\n */\n constructLexErrorInfo: function lexer_constructLexErrorInfo(msg, recoverable, show_input_position) {\n msg = '' + msg;\n\n // heuristic to determine if the error message already contains a (partial) source code dump\n // as produced by either `showPosition()` or `prettyPrintRange()`:\n if (show_input_position == undefined) {\n show_input_position = !(msg.indexOf('\\n') > 0 && msg.indexOf('^') > 0);\n }\n\n if (this.yylloc && show_input_position) {\n if (typeof this.prettyPrintRange === 'function') {\n var pretty_src = this.prettyPrintRange(this.yylloc);\n\n if (!/\\n\\s*$/.test(msg)) {\n msg += '\\n';\n }\n\n msg += '\\n Erroneous area:\\n' + this.prettyPrintRange(this.yylloc);\n } else if (typeof this.showPosition === 'function') {\n var pos_str = this.showPosition();\n\n if (pos_str) {\n if (msg.length && msg[msg.length - 1] !== '\\n' && pos_str[0] !== '\\n') {\n msg += '\\n' + pos_str;\n } else {\n msg += pos_str;\n }\n }\n }\n }\n\n /** @constructor */\n var pei = {\n errStr: msg,\n recoverable: !!recoverable,\n text: this.match, // This one MAY be empty; userland code should use the `upcomingInput` API to obtain more text which follows the 'lexer cursor position'... \n token: null,\n line: this.yylineno,\n loc: this.yylloc,\n yy: this.yy,\n lexer: this,\n\n /**\n * and make sure the error info doesn't stay due to potential\n * ref cycle via userland code manipulations.\n * These would otherwise all be memory leak opportunities!\n * \n * Note that only array and object references are nuked as those\n * constitute the set of elements which can produce a cyclic ref.\n * The rest of the members is kept intact as they are harmless.\n * \n * @public\n * @this {LexErrorInfo}\n */\n destroy: function destructLexErrorInfo() {\n // remove cyclic references added to error info:\n // info.yy = null;\n // info.lexer = null;\n // ...\n var rec = !!this.recoverable;\n\n for (var key in this) {\n if (this.hasOwnProperty(key) && typeof key === 'object') {\n this[key] = undefined;\n }\n }\n\n this.recoverable = rec;\n }\n };\n\n // track this instance so we can `destroy()` it once we deem it superfluous and ready for garbage collection!\n this.__error_infos.push(pei);\n\n return pei;\n },\n\n /**\n * handler which is invoked when a lexer error occurs.\n * \n * @public\n * @this {RegExpLexer}\n */\n parseError: function lexer_parseError(str, hash, ExceptionClass) {\n if (!ExceptionClass) {\n ExceptionClass = this.JisonLexerError;\n }\n\n if (this.yy) {\n if (this.yy.parser && typeof this.yy.parser.parseError === 'function') {\n return this.yy.parser.parseError.call(this, str, hash, ExceptionClass) || this.ERROR;\n } else if (typeof this.yy.parseError === 'function') {\n return this.yy.parseError.call(this, str, hash, ExceptionClass) || this.ERROR;\n }\n }\n\n throw new ExceptionClass(str, hash);\n },\n\n /**\n * method which implements `yyerror(str, ...args)` functionality for use inside lexer actions.\n * \n * @public\n * @this {RegExpLexer}\n */\n yyerror: function yyError(str /*, ...args */) {\n var lineno_msg = '';\n\n if (this.yylloc) {\n lineno_msg = ' on line ' + (this.yylineno + 1);\n }\n\n var p = this.constructLexErrorInfo(\n 'Lexical error' + lineno_msg + ': ' + str,\n this.options.lexerErrorsAreRecoverable\n );\n\n // Add any extra args to the hash under the name `extra_error_attributes`:\n var args = Array.prototype.slice.call(arguments, 1);\n\n if (args.length) {\n p.extra_error_attributes = args;\n }\n\n return this.parseError(p.errStr, p, this.JisonLexerError) || this.ERROR;\n },\n\n /**\n * final cleanup function for when we have completed lexing the input;\n * make it an API so that external code can use this one once userland\n * code has decided it's time to destroy any lingering lexer error\n * hash object instances and the like: this function helps to clean\n * up these constructs, which *may* carry cyclic references which would\n * otherwise prevent the instances from being properly and timely\n * garbage-collected, i.e. this function helps prevent memory leaks!\n * \n * @public\n * @this {RegExpLexer}\n */\n cleanupAfterLex: function lexer_cleanupAfterLex(do_not_nuke_errorinfos) {\n // prevent lingering circular references from causing memory leaks:\n this.setInput('', {});\n\n // nuke the error hash info instances created during this run.\n // Userland code must COPY any data/references\n // in the error hash instance(s) it is more permanently interested in.\n if (!do_not_nuke_errorinfos) {\n for (var i = this.__error_infos.length - 1; i >= 0; i--) {\n var el = this.__error_infos[i];\n\n if (el && typeof el.destroy === 'function') {\n el.destroy();\n }\n }\n\n this.__error_infos.length = 0;\n }\n\n return this;\n },\n\n /**\n * clear the lexer token context; intended for internal use only\n * \n * @public\n * @this {RegExpLexer}\n */\n clear: function lexer_clear() {\n this.yytext = '';\n this.yyleng = 0;\n this.match = '';\n\n // - DO NOT reset `this.matched`\n this.matches = false;\n\n this._more = false;\n this._backtrack = false;\n var col = (this.yylloc ? this.yylloc.last_column : 0);\n\n this.yylloc = {\n first_line: this.yylineno + 1,\n first_column: col,\n last_line: this.yylineno + 1,\n last_column: col,\n range: [this.offset, this.offset]\n };\n },\n\n /**\n * resets the lexer, sets new input\n * \n * @public\n * @this {RegExpLexer}\n */\n setInput: function lexer_setInput(input, yy) {\n this.yy = yy || this.yy || {};\n\n // also check if we've fully initialized the lexer instance,\n // including expansion work to be done to go from a loaded\n // lexer to a usable lexer:\n if (!this.__decompressed) {\n // step 1: decompress the regex list:\n var rules = this.rules;\n\n for (var i = 0, len = rules.length; i < len; i++) {\n var rule_re = rules[i];\n\n // compression: is the RE an xref to another RE slot in the rules[] table?\n if (typeof rule_re === 'number') {\n rules[i] = rules[rule_re];\n }\n }\n\n // step 2: unfold the conditions[] set to make these ready for use:\n var conditions = this.conditions;\n\n for (var k in conditions) {\n var spec = conditions[k];\n var rule_ids = spec.rules;\n var len = rule_ids.length;\n var rule_regexes = new Array(len + 1); // slot 0 is unused; we use a 1-based index approach here to keep the hottest code in `lexer_next()` fast and simple! \n var rule_new_ids = new Array(len + 1);\n\n for (var i = 0; i < len; i++) {\n var idx = rule_ids[i];\n var rule_re = rules[idx];\n rule_regexes[i + 1] = rule_re;\n rule_new_ids[i + 1] = idx;\n }\n\n spec.rules = rule_new_ids;\n spec.__rule_regexes = rule_regexes;\n spec.__rule_count = len;\n }\n\n this.__decompressed = true;\n }\n\n this._input = input || '';\n this.clear();\n this._signaled_error_token = false;\n this.done = false;\n this.yylineno = 0;\n this.matched = '';\n this.conditionStack = ['INITIAL'];\n this.__currentRuleSet__ = null;\n\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0,\n range: [0, 0]\n };\n\n this.offset = 0;\n return this;\n },\n\n /**\n * edit the remaining input via user-specified callback.\n * This can be used to forward-adjust the input-to-parse, \n * e.g. inserting macro expansions and alike in the\n * input which has yet to be lexed.\n * The behaviour of this API contrasts the `unput()` et al\n * APIs as those act on the *consumed* input, while this\n * one allows one to manipulate the future, without impacting\n * the current `yyloc` cursor location or any history. \n * \n * Use this API to help implement C-preprocessor-like\n * `#include` statements, etc.\n * \n * The provided callback must be synchronous and is\n * expected to return the edited input (string).\n *\n * The `cpsArg` argument value is passed to the callback\n * as-is.\n *\n * `callback` interface: \n * `function callback(input, cpsArg)`\n * \n * - `input` will carry the remaining-input-to-lex string\n * from the lexer.\n * - `cpsArg` is `cpsArg` passed into this API.\n * \n * The `this` reference for the callback will be set to\n * reference this lexer instance so that userland code\n * in the callback can easily and quickly access any lexer\n * API. \n *\n * When the callback returns a non-string-type falsey value,\n * we assume the callback did not edit the input and we\n * will using the input as-is.\n *\n * When the callback returns a non-string-type value, it\n * is converted to a string for lexing via the `\"\" + retval`\n * operation. (See also why: http://2ality.com/2012/03/converting-to-string.html \n * -- that way any returned object's `toValue()` and `toString()`\n * methods will be invoked in a proper/desirable order.)\n * \n * @public\n * @this {RegExpLexer}\n */\n editRemainingInput: function lexer_editRemainingInput(callback, cpsArg) {\n var rv = callback.call(this, this._input, cpsArg);\n\n if (typeof rv !== 'string') {\n if (rv) {\n this._input = '' + rv;\n } \n // else: keep `this._input` as is. \n } else {\n this._input = rv;\n }\n\n return this;\n },\n\n /**\n * consumes and returns one char from the input\n * \n * @public\n * @this {RegExpLexer}\n */\n input: function lexer_input() {\n if (!this._input) {\n //this.done = true; -- don't set `done` as we want the lex()/next() API to be able to produce one custom EOF token match after this anyhow. (lexer can match special <> tokens and perform user action code for a <> match, but only does so *once*)\n return null;\n }\n\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n\n // Count the linenumber up when we hit the LF (or a stand-alone CR).\n // On CRLF, the linenumber is incremented when you fetch the CR or the CRLF combo\n // and we advance immediately past the LF as well, returning both together as if\n // it was all a single 'character' only.\n var slice_len = 1;\n\n var lines = false;\n\n if (ch === '\\n') {\n lines = true;\n } else if (ch === '\\r') {\n lines = true;\n var ch2 = this._input[1];\n\n if (ch2 === '\\n') {\n slice_len++;\n ch += ch2;\n this.yytext += ch2;\n this.yyleng++;\n this.offset++;\n this.match += ch2;\n this.matched += ch2;\n this.yylloc.range[1]++;\n }\n }\n\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n this.yylloc.last_column = 0;\n } else {\n this.yylloc.last_column++;\n }\n\n this.yylloc.range[1]++;\n this._input = this._input.slice(slice_len);\n return ch;\n },\n\n /**\n * unshifts one char (or an entire string) into the input\n * \n * @public\n * @this {RegExpLexer}\n */\n unput: function lexer_unput(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.yyleng = this.yytext.length;\n this.offset -= len;\n this.match = this.match.substr(0, this.match.length - len);\n this.matched = this.matched.substr(0, this.matched.length - len);\n\n if (lines.length > 1) {\n this.yylineno -= lines.length - 1;\n this.yylloc.last_line = this.yylineno + 1;\n\n // Get last entirely matched line into the `pre_lines[]` array's\n // last index slot; we don't mind when other previously \n // matched lines end up in the array too. \n var pre = this.match;\n\n var pre_lines = pre.split(/(?:\\r\\n?|\\n)/g);\n\n if (pre_lines.length === 1) {\n pre = this.matched;\n pre_lines = pre.split(/(?:\\r\\n?|\\n)/g);\n }\n\n this.yylloc.last_column = pre_lines[pre_lines.length - 1].length;\n } else {\n this.yylloc.last_column -= len;\n }\n\n this.yylloc.range[1] = this.yylloc.range[0] + this.yyleng;\n this.done = false;\n return this;\n },\n\n /**\n * cache matched text and append it on next action\n * \n * @public\n * @this {RegExpLexer}\n */\n more: function lexer_more() {\n this._more = true;\n return this;\n },\n\n /**\n * signal the lexer that this rule fails to match the input, so the\n * next matching rule (regex) should be tested instead.\n * \n * @public\n * @this {RegExpLexer}\n */\n reject: function lexer_reject() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n // when the `parseError()` call returns, we MUST ensure that the error is registered.\n // We accomplish this by signaling an 'error' token to be produced for the current\n // `.lex()` run.\n var lineno_msg = '';\n\n if (this.yylloc) {\n lineno_msg = ' on line ' + (this.yylineno + 1);\n }\n\n var p = this.constructLexErrorInfo(\n 'Lexical error' + lineno_msg + ': You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).',\n false\n );\n\n this._signaled_error_token = this.parseError(p.errStr, p, this.JisonLexerError) || this.ERROR;\n }\n\n return this;\n },\n\n /**\n * retain first n characters of the match\n * \n * @public\n * @this {RegExpLexer}\n */\n less: function lexer_less(n) {\n return this.unput(this.match.slice(n));\n },\n\n /**\n * return (part of the) already matched input, i.e. for error\n * messages.\n * \n * Limit the returned string length to `maxSize` (default: 20).\n * \n * Limit the returned string to the `maxLines` number of lines of\n * input (default: 1).\n * \n * Negative limit values equal *unlimited*.\n * \n * @public\n * @this {RegExpLexer}\n */\n pastInput: function lexer_pastInput(maxSize, maxLines) {\n var past = this.matched.substring(0, this.matched.length - this.match.length);\n\n if (maxSize < 0)\n maxSize = past.length;\n else if (!maxSize)\n maxSize = 20;\n\n if (maxLines < 0)\n maxLines = past.length; // can't ever have more input lines than this! \n else if (!maxLines)\n maxLines = 1;\n\n // `substr` anticipation: treat \\r\\n as a single character and take a little\n // more than necessary so that we can still properly check against maxSize\n // after we've transformed and limited the newLines in here:\n past = past.substr(-maxSize * 2 - 2);\n\n // now that we have a significantly reduced string to process, transform the newlines\n // and chop them, then limit them:\n var a = past.replace(/\\r\\n|\\r/g, '\\n').split('\\n');\n\n a = a.slice(-maxLines);\n past = a.join('\\n');\n\n // When, after limiting to maxLines, we still have too much to return,\n // do add an ellipsis prefix...\n if (past.length > maxSize) {\n past = '...' + past.substr(-maxSize);\n }\n\n return past;\n },\n\n /**\n * return (part of the) upcoming input, i.e. for error messages.\n * \n * Limit the returned string length to `maxSize` (default: 20).\n * \n * Limit the returned string to the `maxLines` number of lines of input (default: 1).\n * \n * Negative limit values equal *unlimited*.\n *\n * > ### NOTE ###\n * >\n * > *\"upcoming input\"* is defined as the whole of the both\n * > the *currently lexed* input, together with any remaining input\n * > following that. *\"currently lexed\"* input is the input \n * > already recognized by the lexer but not yet returned with\n * > the lexer token. This happens when you are invoking this API\n * > from inside any lexer rule action code block. \n * >\n * \n * @public\n * @this {RegExpLexer}\n */\n upcomingInput: function lexer_upcomingInput(maxSize, maxLines) {\n var next = this.match;\n\n if (maxSize < 0)\n maxSize = next.length + this._input.length;\n else if (!maxSize)\n maxSize = 20;\n\n if (maxLines < 0)\n maxLines = maxSize; // can't ever have more input lines than this! \n else if (!maxLines)\n maxLines = 1;\n\n // `substring` anticipation: treat \\r\\n as a single character and take a little\n // more than necessary so that we can still properly check against maxSize\n // after we've transformed and limited the newLines in here:\n if (next.length < maxSize * 2 + 2) {\n next += this._input.substring(0, maxSize * 2 + 2); // substring is faster on Chrome/V8 \n }\n\n // now that we have a significantly reduced string to process, transform the newlines\n // and chop them, then limit them:\n var a = next.replace(/\\r\\n|\\r/g, '\\n').split('\\n');\n\n a = a.slice(0, maxLines);\n next = a.join('\\n');\n\n // When, after limiting to maxLines, we still have too much to return,\n // do add an ellipsis postfix...\n if (next.length > maxSize) {\n next = next.substring(0, maxSize) + '...';\n }\n\n return next;\n },\n\n /**\n * return a string which displays the character position where the\n * lexing error occurred, i.e. for error messages\n * \n * @public\n * @this {RegExpLexer}\n */\n showPosition: function lexer_showPosition(maxPrefix, maxPostfix) {\n var pre = this.pastInput(maxPrefix).replace(/\\s/g, ' ');\n var c = new Array(pre.length + 1).join('-');\n return pre + this.upcomingInput(maxPostfix).replace(/\\s/g, ' ') + '\\n' + c + '^';\n },\n\n /**\n * return an YYLLOC info object derived off the given context (actual, preceding, following, current).\n * Use this method when the given `actual` location is not guaranteed to exist (i.e. when\n * it MAY be NULL) and you MUST have a valid location info object anyway:\n * then we take the given context of the `preceding` and `following` locations, IFF those are available,\n * and reconstruct the `actual` location info from those.\n * If this fails, the heuristic is to take the `current` location, IFF available.\n * If this fails as well, we assume the sought location is at/around the current lexer position\n * and then produce that one as a response. DO NOTE that these heuristic/derived location info\n * values MAY be inaccurate!\n *\n * NOTE: `deriveLocationInfo()` ALWAYS produces a location info object *copy* of `actual`, not just\n * a *reference* hence all input location objects can be assumed to be 'constant' (function has no side-effects).\n * \n * @public\n * @this {RegExpLexer}\n */\n deriveLocationInfo: function lexer_deriveYYLLOC(actual, preceding, following, current) {\n var loc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0,\n range: [0, 0]\n };\n\n if (actual) {\n loc.first_line = actual.first_line | 0;\n loc.last_line = actual.last_line | 0;\n loc.first_column = actual.first_column | 0;\n loc.last_column = actual.last_column | 0;\n\n if (actual.range) {\n loc.range[0] = actual.range[0] | 0;\n loc.range[1] = actual.range[1] | 0;\n }\n }\n\n if (loc.first_line <= 0 || loc.last_line < loc.first_line) {\n // plan B: heuristic using preceding and following:\n if (loc.first_line <= 0 && preceding) {\n loc.first_line = preceding.last_line | 0;\n loc.first_column = preceding.last_column | 0;\n\n if (preceding.range) {\n loc.range[0] = actual.range[1] | 0;\n }\n }\n\n if ((loc.last_line <= 0 || loc.last_line < loc.first_line) && following) {\n loc.last_line = following.first_line | 0;\n loc.last_column = following.first_column | 0;\n\n if (following.range) {\n loc.range[1] = actual.range[0] | 0;\n }\n }\n\n // plan C?: see if the 'current' location is useful/sane too:\n if (loc.first_line <= 0 && current && (loc.last_line <= 0 || current.last_line <= loc.last_line)) {\n loc.first_line = current.first_line | 0;\n loc.first_column = current.first_column | 0;\n\n if (current.range) {\n loc.range[0] = current.range[0] | 0;\n }\n }\n\n if (loc.last_line <= 0 && current && (loc.first_line <= 0 || current.first_line >= loc.first_line)) {\n loc.last_line = current.last_line | 0;\n loc.last_column = current.last_column | 0;\n\n if (current.range) {\n loc.range[1] = current.range[1] | 0;\n }\n }\n }\n\n // sanitize: fix last_line BEFORE we fix first_line as we use the 'raw' value of the latter\n // or plan D heuristics to produce a 'sensible' last_line value:\n if (loc.last_line <= 0) {\n if (loc.first_line <= 0) {\n loc.first_line = this.yylloc.first_line;\n loc.last_line = this.yylloc.last_line;\n loc.first_column = this.yylloc.first_column;\n loc.last_column = this.yylloc.last_column;\n loc.range[0] = this.yylloc.range[0];\n loc.range[1] = this.yylloc.range[1];\n } else {\n loc.last_line = this.yylloc.last_line;\n loc.last_column = this.yylloc.last_column;\n loc.range[1] = this.yylloc.range[1];\n }\n }\n\n if (loc.first_line <= 0) {\n loc.first_line = loc.last_line;\n loc.first_column = 0; // loc.last_column; \n loc.range[1] = loc.range[0];\n }\n\n if (loc.first_column < 0) {\n loc.first_column = 0;\n }\n\n if (loc.last_column < 0) {\n loc.last_column = (loc.first_column > 0 ? loc.first_column : 80);\n }\n\n return loc;\n },\n\n /**\n * return a string which displays the lines & columns of input which are referenced \n * by the given location info range, plus a few lines of context.\n * \n * This function pretty-prints the indicated section of the input, with line numbers \n * and everything!\n * \n * This function is very useful to provide highly readable error reports, while\n * the location range may be specified in various flexible ways:\n * \n * - `loc` is the location info object which references the area which should be\n * displayed and 'marked up': these lines & columns of text are marked up by `^`\n * characters below each character in the entire input range.\n * \n * - `context_loc` is the *optional* location info object which instructs this\n * pretty-printer how much *leading* context should be displayed alongside\n * the area referenced by `loc`. This can help provide context for the displayed\n * error, etc.\n * \n * When this location info is not provided, a default context of 3 lines is\n * used.\n * \n * - `context_loc2` is another *optional* location info object, which serves\n * a similar purpose to `context_loc`: it specifies the amount of *trailing*\n * context lines to display in the pretty-print output.\n * \n * When this location info is not provided, a default context of 1 line only is\n * used.\n * \n * Special Notes:\n * \n * - when the `loc`-indicated range is very large (about 5 lines or more), then\n * only the first and last few lines of this block are printed while a\n * `...continued...` message will be printed between them.\n * \n * This serves the purpose of not printing a huge amount of text when the `loc`\n * range happens to be huge: this way a manageable & readable output results\n * for arbitrary large ranges.\n * \n * - this function can display lines of input which whave not yet been lexed.\n * `prettyPrintRange()` can access the entire input!\n * \n * @public\n * @this {RegExpLexer}\n */\n prettyPrintRange: function lexer_prettyPrintRange(loc, context_loc, context_loc2) {\n loc = this.deriveLocationInfo(loc, context_loc, context_loc2);\n const CONTEXT = 3;\n const CONTEXT_TAIL = 1;\n const MINIMUM_VISIBLE_NONEMPTY_LINE_COUNT = 2;\n var input = this.matched + this._input;\n var lines = input.split('\\n');\n var l0 = Math.max(1, (context_loc ? context_loc.first_line : loc.first_line - CONTEXT));\n var l1 = Math.max(1, (context_loc2 ? context_loc2.last_line : loc.last_line + CONTEXT_TAIL));\n var lineno_display_width = 1 + Math.log10(l1 | 1) | 0;\n var ws_prefix = new Array(lineno_display_width).join(' ');\n var nonempty_line_indexes = [];\n\n var rv = lines.slice(l0 - 1, l1 + 1).map(function injectLineNumber(line, index) {\n var lno = index + l0;\n var lno_pfx = (ws_prefix + lno).substr(-lineno_display_width);\n var rv = lno_pfx + ': ' + line;\n var errpfx = new Array(lineno_display_width + 1).join('^');\n var offset = 2 + 1;\n var len = 0;\n\n if (lno === loc.first_line) {\n offset += loc.first_column;\n\n len = Math.max(\n 2,\n ((lno === loc.last_line ? loc.last_column : line.length)) - loc.first_column + 1\n );\n } else if (lno === loc.last_line) {\n len = Math.max(2, loc.last_column + 1);\n } else if (lno > loc.first_line && lno < loc.last_line) {\n len = Math.max(2, line.length + 1);\n }\n\n if (len) {\n var lead = new Array(offset).join('.');\n var mark = new Array(len).join('^');\n rv += '\\n' + errpfx + lead + mark;\n\n if (line.trim().length > 0) {\n nonempty_line_indexes.push(index);\n }\n }\n\n rv = rv.replace(/\\t/g, ' ');\n return rv;\n });\n\n // now make sure we don't print an overly large amount of error area: limit it \n // to the top and bottom line count:\n if (nonempty_line_indexes.length > 2 * MINIMUM_VISIBLE_NONEMPTY_LINE_COUNT) {\n var clip_start = nonempty_line_indexes[MINIMUM_VISIBLE_NONEMPTY_LINE_COUNT - 1] + 1;\n var clip_end = nonempty_line_indexes[nonempty_line_indexes.length - MINIMUM_VISIBLE_NONEMPTY_LINE_COUNT] - 1;\n var intermediate_line = new Array(lineno_display_width + 1).join(' ') + ' (...continued...)';\n intermediate_line += '\\n' + new Array(lineno_display_width + 1).join('-') + ' (---------------)';\n rv.splice(clip_start, clip_end - clip_start + 1, intermediate_line);\n }\n\n return rv.join('\\n');\n },\n\n /**\n * helper function, used to produce a human readable description as a string, given\n * the input `yylloc` location object.\n * \n * Set `display_range_too` to TRUE to include the string character index position(s)\n * in the description if the `yylloc.range` is available.\n * \n * @public\n * @this {RegExpLexer}\n */\n describeYYLLOC: function lexer_describe_yylloc(yylloc, display_range_too) {\n var l1 = yylloc.first_line;\n var l2 = yylloc.last_line;\n var c1 = yylloc.first_column;\n var c2 = yylloc.last_column;\n var dl = l2 - l1;\n var dc = c2 - c1;\n var rv;\n\n if (dl === 0) {\n rv = 'line ' + l1 + ', ';\n\n if (dc <= 1) {\n rv += 'column ' + c1;\n } else {\n rv += 'columns ' + c1 + ' .. ' + c2;\n }\n } else {\n rv = 'lines ' + l1 + '(column ' + c1 + ') .. ' + l2 + '(column ' + c2 + ')';\n }\n\n if (yylloc.range && display_range_too) {\n var r1 = yylloc.range[0];\n var r2 = yylloc.range[1] - 1;\n\n if (r2 <= r1) {\n rv += ' {String Offset: ' + r1 + '}';\n } else {\n rv += ' {String Offset range: ' + r1 + ' .. ' + r2 + '}';\n }\n }\n\n return rv;\n },\n\n /**\n * test the lexed token: return FALSE when not a match, otherwise return token.\n * \n * `match` is supposed to be an array coming out of a regex match, i.e. `match[0]`\n * contains the actually matched text string.\n * \n * Also move the input cursor forward and update the match collectors:\n * \n * - `yytext`\n * - `yyleng`\n * - `match`\n * - `matches`\n * - `yylloc`\n * - `offset`\n * \n * @public\n * @this {RegExpLexer}\n */\n test_match: function lexer_test_match(match, indexed_rule) {\n var token, lines, backup, match_str, match_str_len;\n\n if (this.options.backtrack_lexer) {\n // save context\n backup = {\n yylineno: this.yylineno,\n\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.yylloc.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column,\n range: this.yylloc.range.slice(0)\n },\n\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n\n //_signaled_error_token: this._signaled_error_token,\n yy: this.yy,\n\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n }\n\n match_str = match[0];\n match_str_len = match_str.length;\n\n // if (match_str.indexOf('\\n') !== -1 || match_str.indexOf('\\r') !== -1) {\n lines = match_str.split(/(?:\\r\\n?|\\n)/g);\n\n if (lines.length > 1) {\n this.yylineno += lines.length - 1;\n this.yylloc.last_line = this.yylineno + 1;\n this.yylloc.last_column = lines[lines.length - 1].length;\n } else {\n this.yylloc.last_column += match_str_len;\n }\n\n // }\n this.yytext += match_str;\n\n this.match += match_str;\n this.matched += match_str;\n this.matches = match;\n this.yyleng = this.yytext.length;\n this.yylloc.range[1] += match_str_len;\n\n // previous lex rules MAY have invoked the `more()` API rather than producing a token:\n // those rules will already have moved this `offset` forward matching their match lengths,\n // hence we must only add our own match length now:\n this.offset += match_str_len;\n\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match_str_len);\n\n // calling this method:\n //\n // function lexer__performAction(yy, yyrulenumber, YY_START) {...}\n token = this.performAction.call(\n this,\n this.yy,\n indexed_rule,\n this.conditionStack[this.conditionStack.length - 1] /* = YY_START */\n );\n\n // otherwise, when the action codes are all simple return token statements:\n //token = this.simpleCaseActionClusters[indexed_rule];\n\n if (this.done && this._input) {\n this.done = false;\n }\n\n if (token) {\n return token;\n } else if (this._backtrack) {\n // recover context\n for (var k in backup) {\n this[k] = backup[k];\n }\n\n this.__currentRuleSet__ = null;\n return false; // rule action called reject() implying the next rule should be tested instead. \n } else if (this._signaled_error_token) {\n // produce one 'error' token as `.parseError()` in `reject()`\n // did not guarantee a failure signal by throwing an exception!\n token = this._signaled_error_token;\n\n this._signaled_error_token = false;\n return token;\n }\n\n return false;\n },\n\n /**\n * return next match in input\n * \n * @public\n * @this {RegExpLexer}\n */\n next: function lexer_next() {\n if (this.done) {\n this.clear();\n return this.EOF;\n }\n\n if (!this._input) {\n this.done = true;\n }\n\n var token, match, tempMatch, index;\n\n if (!this._more) {\n this.clear();\n }\n\n var spec = this.__currentRuleSet__;\n\n if (!spec) {\n // Update the ruleset cache as we apparently encountered a state change or just started lexing.\n // The cache is set up for fast lookup -- we assume a lexer will switch states much less often than it will\n // invoke the `lex()` token-producing API and related APIs, hence caching the set for direct access helps\n // speed up those activities a tiny bit.\n spec = this.__currentRuleSet__ = this._currentRules();\n\n // Check whether a *sane* condition has been pushed before: this makes the lexer robust against\n // user-programmer bugs such as https://github.com/zaach/jison-lex/issues/19\n if (!spec || !spec.rules) {\n var lineno_msg = '';\n\n if (this.options.trackPosition) {\n lineno_msg = ' on line ' + (this.yylineno + 1);\n }\n\n var p = this.constructLexErrorInfo(\n 'Internal lexer engine error' + lineno_msg + ': The lex grammar programmer pushed a non-existing condition name \"' + this.topState() + '\"; this is a fatal error and should be reported to the application programmer team!',\n false\n );\n\n // produce one 'error' token until this situation has been resolved, most probably by parse termination!\n return this.parseError(p.errStr, p, this.JisonLexerError) || this.ERROR;\n }\n }\n\n var rule_ids = spec.rules;\n var regexes = spec.__rule_regexes;\n var len = spec.__rule_count;\n\n // Note: the arrays are 1-based, while `len` itself is a valid index,\n // hence the non-standard less-or-equal check in the next loop condition!\n for (var i = 1; i <= len; i++) {\n tempMatch = this._input.match(regexes[i]);\n\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rule_ids[i]);\n\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = undefined;\n continue; // rule action called reject() implying a rule MISmatch. \n } else {\n // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n\n if (match) {\n token = this.test_match(match, rule_ids[index]);\n\n if (token !== false) {\n return token;\n }\n\n // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)\n return false;\n }\n\n if (!this._input) {\n this.done = true;\n this.clear();\n return this.EOF;\n } else {\n var lineno_msg = '';\n\n if (this.options.trackPosition) {\n lineno_msg = ' on line ' + (this.yylineno + 1);\n }\n\n var p = this.constructLexErrorInfo(\n 'Lexical error' + lineno_msg + ': Unrecognized text.',\n this.options.lexerErrorsAreRecoverable\n );\n\n var pendingInput = this._input;\n var activeCondition = this.topState();\n var conditionStackDepth = this.conditionStack.length;\n token = this.parseError(p.errStr, p, this.JisonLexerError) || this.ERROR;\n\n if (token === this.ERROR) {\n // we can try to recover from a lexer error that `parseError()` did not 'recover' for us\n // by moving forward at least one character at a time IFF the (user-specified?) `parseError()`\n // has not consumed/modified any pending input or changed state in the error handler:\n if (!this.matches && // and make sure the input has been modified/consumed ...\n pendingInput === this._input && // ...or the lexer state has been modified significantly enough\n // to merit a non-consuming error handling action right now.\n activeCondition === this.topState() && conditionStackDepth === this.conditionStack.length) {\n this.input();\n }\n }\n\n return token;\n }\n },\n\n /**\n * return next match that has a token\n * \n * @public\n * @this {RegExpLexer}\n */\n lex: function lexer_lex() {\n var r;\n\n // allow the PRE/POST handlers set/modify the return token for maximum flexibility of the generated lexer:\n if (typeof this.pre_lex === 'function') {\n r = this.pre_lex.call(this, 0);\n }\n\n if (typeof this.options.pre_lex === 'function') {\n // (also account for a userdef function which does not return any value: keep the token as is)\n r = this.options.pre_lex.call(this, r) || r;\n }\n\n if (this.yy && typeof this.yy.pre_lex === 'function') {\n // (also account for a userdef function which does not return any value: keep the token as is)\n r = this.yy.pre_lex.call(this, r) || r;\n }\n\n while (!r) {\n r = this.next();\n }\n\n if (this.yy && typeof this.yy.post_lex === 'function') {\n // (also account for a userdef function which does not return any value: keep the token as is)\n r = this.yy.post_lex.call(this, r) || r;\n }\n\n if (typeof this.options.post_lex === 'function') {\n // (also account for a userdef function which does not return any value: keep the token as is)\n r = this.options.post_lex.call(this, r) || r;\n }\n\n if (typeof this.post_lex === 'function') {\n // (also account for a userdef function which does not return any value: keep the token as is)\n r = this.post_lex.call(this, r) || r;\n }\n\n return r;\n },\n\n /**\n * return next match that has a token. Identical to the `lex()` API but does not invoke any of the \n * `pre_lex()` nor any of the `post_lex()` callbacks.\n * \n * @public\n * @this {RegExpLexer}\n */\n fastLex: function lexer_fastLex() {\n var r;\n\n while (!r) {\n r = this.next();\n }\n\n return r;\n },\n\n /**\n * return info about the lexer state that can help a parser or other lexer API user to use the\n * most efficient means available. This API is provided to aid run-time performance for larger\n * systems which employ this lexer.\n * \n * @public\n * @this {RegExpLexer}\n */\n canIUse: function lexer_canIUse() {\n var rv = {\n fastLex: !(typeof this.pre_lex === 'function' || typeof this.options.pre_lex === 'function' || this.yy && typeof this.yy.pre_lex === 'function' || this.yy && typeof this.yy.post_lex === 'function' || typeof this.options.post_lex === 'function' || typeof this.post_lex === 'function') && typeof this.fastLex === 'function'\n };\n\n return rv;\n },\n\n /**\n * backwards compatible alias for `pushState()`;\n * the latter is symmetrical with `popState()` and we advise to use\n * those APIs in any modern lexer code, rather than `begin()`.\n * \n * @public\n * @this {RegExpLexer}\n */\n begin: function lexer_begin(condition) {\n return this.pushState(condition);\n },\n\n /**\n * activates a new lexer condition state (pushes the new lexer\n * condition state onto the condition stack)\n * \n * @public\n * @this {RegExpLexer}\n */\n pushState: function lexer_pushState(condition) {\n this.conditionStack.push(condition);\n this.__currentRuleSet__ = null;\n return this;\n },\n\n /**\n * pop the previously active lexer condition state off the condition\n * stack\n * \n * @public\n * @this {RegExpLexer}\n */\n popState: function lexer_popState() {\n var n = this.conditionStack.length - 1;\n\n if (n > 0) {\n this.__currentRuleSet__ = null;\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n },\n\n /**\n * return the currently active lexer condition state; when an index\n * argument is provided it produces the N-th previous condition state,\n * if available\n * \n * @public\n * @this {RegExpLexer}\n */\n topState: function lexer_topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return 'INITIAL';\n }\n },\n\n /**\n * (internal) determine the lexer rule set which is active for the\n * currently active lexer condition state\n * \n * @public\n * @this {RegExpLexer}\n */\n _currentRules: function lexer__currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]];\n } else {\n return this.conditions['INITIAL'];\n }\n },\n\n /**\n * return the number of states currently on the stack\n * \n * @public\n * @this {RegExpLexer}\n */\n stateStackSize: function lexer_stateStackSize() {\n return this.conditionStack.length;\n },\n\n options: {\n trackPosition: true\n },\n\n JisonLexerError: JisonLexerError,\n\n performAction: function lexer__performAction(yy, yyrulenumber, YY_START) {\n var yy_ = this;\n var YYSTATE = YY_START;\n\n switch (yyrulenumber) {\n case 1:\n /*! Conditions:: INITIAL */\n /*! Rule:: \\s+ */\n /* skip whitespace */\n break;\n\n default:\n return this.simpleCaseActionClusters[yyrulenumber];\n }\n },\n\n simpleCaseActionClusters: {\n /*! Conditions:: INITIAL */\n /*! Rule:: (--[0-9a-z-A-Z-]*) */\n 0: 13,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: \\* */\n 2: 5,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: \\/ */\n 3: 6,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: \\+ */\n 4: 3,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: - */\n 5: 4,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)px\\b */\n 6: 15,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)cm\\b */\n 7: 15,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)mm\\b */\n 8: 15,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)in\\b */\n 9: 15,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)pt\\b */\n 10: 15,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)pc\\b */\n 11: 15,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)deg\\b */\n 12: 16,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)grad\\b */\n 13: 16,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)rad\\b */\n 14: 16,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)turn\\b */\n 15: 16,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)s\\b */\n 16: 17,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)ms\\b */\n 17: 17,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)Hz\\b */\n 18: 18,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)kHz\\b */\n 19: 18,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)dpi\\b */\n 20: 19,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)dpcm\\b */\n 21: 19,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)dppx\\b */\n 22: 19,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)em\\b */\n 23: 20,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)ex\\b */\n 24: 21,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)ch\\b */\n 25: 22,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)rem\\b */\n 26: 23,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)vw\\b */\n 27: 25,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)vh\\b */\n 28: 24,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)vmin\\b */\n 29: 26,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)vmax\\b */\n 30: 27,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)% */\n 31: 28,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([0-9]+(\\.[0-9]*)?|\\.[0-9]+)\\b */\n 32: 11,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: (calc) */\n 33: 9,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: (var) */\n 34: 12,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: ([a-z]+) */\n 35: 10,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: \\( */\n 36: 7,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: \\) */\n 37: 8,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: , */\n 38: 14,\n\n /*! Conditions:: INITIAL */\n /*! Rule:: $ */\n 39: 1\n },\n\n rules: [\n /* 0: */ /^(?:(--[\\d\\-A-Za-z]*))/,\n /* 1: */ /^(?:\\s+)/,\n /* 2: */ /^(?:\\*)/,\n /* 3: */ /^(?:\\/)/,\n /* 4: */ /^(?:\\+)/,\n /* 5: */ /^(?:-)/,\n /* 6: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)px\\b)/,\n /* 7: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)cm\\b)/,\n /* 8: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)mm\\b)/,\n /* 9: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)in\\b)/,\n /* 10: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)pt\\b)/,\n /* 11: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)pc\\b)/,\n /* 12: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)deg\\b)/,\n /* 13: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)grad\\b)/,\n /* 14: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)rad\\b)/,\n /* 15: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)turn\\b)/,\n /* 16: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)s\\b)/,\n /* 17: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)ms\\b)/,\n /* 18: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)Hz\\b)/,\n /* 19: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)kHz\\b)/,\n /* 20: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)dpi\\b)/,\n /* 21: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)dpcm\\b)/,\n /* 22: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)dppx\\b)/,\n /* 23: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)em\\b)/,\n /* 24: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)ex\\b)/,\n /* 25: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)ch\\b)/,\n /* 26: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)rem\\b)/,\n /* 27: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)vw\\b)/,\n /* 28: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)vh\\b)/,\n /* 29: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)vmin\\b)/,\n /* 30: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)vmax\\b)/,\n /* 31: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)%)/,\n /* 32: */ /^(?:(\\d+(\\.\\d*)?|\\.\\d+)\\b)/,\n /* 33: */ /^(?:(calc))/,\n /* 34: */ /^(?:(var))/,\n /* 35: */ /^(?:([a-z]+))/,\n /* 36: */ /^(?:\\()/,\n /* 37: */ /^(?:\\))/,\n /* 38: */ /^(?:,)/,\n /* 39: */ /^(?:$)/\n ],\n\n conditions: {\n 'INITIAL': {\n rules: [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 18,\n 19,\n 20,\n 21,\n 22,\n 23,\n 24,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 38,\n 39\n ],\n\n inclusive: true\n }\n }\n };\n\n return lexer;\n}();\nparser.lexer = lexer;\n\n\n\nfunction Parser() {\n this.yy = {};\n}\nParser.prototype = parser;\nparser.Parser = Parser;\n\nreturn new Parser();\n})();\n\n \n\n\nif (typeof require !== 'undefined' && typeof exports !== 'undefined') {\n exports.parser = parser;\n exports.Parser = parser.Parser;\n exports.parse = function () {\n return parser.parse.apply(parser, arguments);\n };\n \n}\n","var parse = require(\"./parse\");\nvar walk = require(\"./walk\");\nvar stringify = require(\"./stringify\");\n\nfunction ValueParser(value) {\n if (this instanceof ValueParser) {\n this.nodes = parse(value);\n return this;\n }\n return new ValueParser(value);\n}\n\nValueParser.prototype.toString = function() {\n return Array.isArray(this.nodes) ? stringify(this.nodes) : \"\";\n};\n\nValueParser.prototype.walk = function(cb, bubble) {\n walk(this.nodes, cb, bubble);\n return this;\n};\n\nValueParser.unit = require(\"./unit\");\n\nValueParser.walk = walk;\n\nValueParser.stringify = stringify;\n\nmodule.exports = ValueParser;\n","var openParentheses = \"(\".charCodeAt(0);\nvar closeParentheses = \")\".charCodeAt(0);\nvar singleQuote = \"'\".charCodeAt(0);\nvar doubleQuote = '\"'.charCodeAt(0);\nvar backslash = \"\\\\\".charCodeAt(0);\nvar slash = \"/\".charCodeAt(0);\nvar comma = \",\".charCodeAt(0);\nvar colon = \":\".charCodeAt(0);\nvar star = \"*\".charCodeAt(0);\n\nmodule.exports = function(input) {\n var tokens = [];\n var value = input;\n\n var next, quote, prev, token, escape, escapePos, whitespacePos;\n var pos = 0;\n var code = value.charCodeAt(pos);\n var max = value.length;\n var stack = [{ nodes: tokens }];\n var balanced = 0;\n var parent;\n\n var name = \"\";\n var before = \"\";\n var after = \"\";\n\n while (pos < max) {\n // Whitespaces\n if (code <= 32) {\n next = pos;\n do {\n next += 1;\n code = value.charCodeAt(next);\n } while (code <= 32);\n token = value.slice(pos, next);\n\n prev = tokens[tokens.length - 1];\n if (code === closeParentheses && balanced) {\n after = token;\n } else if (prev && prev.type === \"div\") {\n prev.after = token;\n } else if (\n code === comma ||\n code === colon ||\n (code === slash && value.charCodeAt(next + 1) !== star)\n ) {\n before = token;\n } else {\n tokens.push({\n type: \"space\",\n sourceIndex: pos,\n value: token\n });\n }\n\n pos = next;\n\n // Quotes\n } else if (code === singleQuote || code === doubleQuote) {\n next = pos;\n quote = code === singleQuote ? \"'\" : '\"';\n token = {\n type: \"string\",\n sourceIndex: pos,\n quote: quote\n };\n do {\n escape = false;\n next = value.indexOf(quote, next + 1);\n if (~next) {\n escapePos = next;\n while (value.charCodeAt(escapePos - 1) === backslash) {\n escapePos -= 1;\n escape = !escape;\n }\n } else {\n value += quote;\n next = value.length - 1;\n token.unclosed = true;\n }\n } while (escape);\n token.value = value.slice(pos + 1, next);\n\n tokens.push(token);\n pos = next + 1;\n code = value.charCodeAt(pos);\n\n // Comments\n } else if (code === slash && value.charCodeAt(pos + 1) === star) {\n token = {\n type: \"comment\",\n sourceIndex: pos\n };\n\n next = value.indexOf(\"*/\", pos);\n if (next === -1) {\n token.unclosed = true;\n next = value.length;\n }\n\n token.value = value.slice(pos + 2, next);\n tokens.push(token);\n\n pos = next + 2;\n code = value.charCodeAt(pos);\n\n // Dividers\n } else if (code === slash || code === comma || code === colon) {\n token = value[pos];\n\n tokens.push({\n type: \"div\",\n sourceIndex: pos - before.length,\n value: token,\n before: before,\n after: \"\"\n });\n before = \"\";\n\n pos += 1;\n code = value.charCodeAt(pos);\n\n // Open parentheses\n } else if (openParentheses === code) {\n // Whitespaces after open parentheses\n next = pos;\n do {\n next += 1;\n code = value.charCodeAt(next);\n } while (code <= 32);\n token = {\n type: \"function\",\n sourceIndex: pos - name.length,\n value: name,\n before: value.slice(pos + 1, next)\n };\n pos = next;\n\n if (name === \"url\" && code !== singleQuote && code !== doubleQuote) {\n next -= 1;\n do {\n escape = false;\n next = value.indexOf(\")\", next + 1);\n if (~next) {\n escapePos = next;\n while (value.charCodeAt(escapePos - 1) === backslash) {\n escapePos -= 1;\n escape = !escape;\n }\n } else {\n value += \")\";\n next = value.length - 1;\n token.unclosed = true;\n }\n } while (escape);\n // Whitespaces before closed\n whitespacePos = next;\n do {\n whitespacePos -= 1;\n code = value.charCodeAt(whitespacePos);\n } while (code <= 32);\n if (pos !== whitespacePos + 1) {\n token.nodes = [\n {\n type: \"word\",\n sourceIndex: pos,\n value: value.slice(pos, whitespacePos + 1)\n }\n ];\n } else {\n token.nodes = [];\n }\n if (token.unclosed && whitespacePos + 1 !== next) {\n token.after = \"\";\n token.nodes.push({\n type: \"space\",\n sourceIndex: whitespacePos + 1,\n value: value.slice(whitespacePos + 1, next)\n });\n } else {\n token.after = value.slice(whitespacePos + 1, next);\n }\n pos = next + 1;\n code = value.charCodeAt(pos);\n tokens.push(token);\n } else {\n balanced += 1;\n token.after = \"\";\n tokens.push(token);\n stack.push(token);\n tokens = token.nodes = [];\n parent = token;\n }\n name = \"\";\n\n // Close parentheses\n } else if (closeParentheses === code && balanced) {\n pos += 1;\n code = value.charCodeAt(pos);\n\n parent.after = after;\n after = \"\";\n balanced -= 1;\n stack.pop();\n parent = stack[balanced];\n tokens = parent.nodes;\n\n // Words\n } else {\n next = pos;\n do {\n if (code === backslash) {\n next += 1;\n }\n next += 1;\n code = value.charCodeAt(next);\n } while (\n next < max &&\n !(\n code <= 32 ||\n code === singleQuote ||\n code === doubleQuote ||\n code === comma ||\n code === colon ||\n code === slash ||\n code === openParentheses ||\n (code === closeParentheses && balanced)\n )\n );\n token = value.slice(pos, next);\n\n if (openParentheses === code) {\n name = token;\n } else {\n tokens.push({\n type: \"word\",\n sourceIndex: pos,\n value: token\n });\n }\n\n pos = next;\n }\n }\n\n for (pos = stack.length - 1; pos; pos -= 1) {\n stack[pos].unclosed = true;\n }\n\n return stack[0].nodes;\n};\n","function stringifyNode(node, custom) {\n var type = node.type;\n var value = node.value;\n var buf;\n var customResult;\n\n if (custom && (customResult = custom(node)) !== undefined) {\n return customResult;\n } else if (type === \"word\" || type === \"space\") {\n return value;\n } else if (type === \"string\") {\n buf = node.quote || \"\";\n return buf + value + (node.unclosed ? \"\" : buf);\n } else if (type === \"comment\") {\n return \"/*\" + value + (node.unclosed ? \"\" : \"*/\");\n } else if (type === \"div\") {\n return (node.before || \"\") + value + (node.after || \"\");\n } else if (Array.isArray(node.nodes)) {\n buf = stringify(node.nodes);\n if (type !== \"function\") {\n return buf;\n }\n return (\n value +\n \"(\" +\n (node.before || \"\") +\n buf +\n (node.after || \"\") +\n (node.unclosed ? \"\" : \")\")\n );\n }\n return value;\n}\n\nfunction stringify(nodes, custom) {\n var result, i;\n\n if (Array.isArray(nodes)) {\n result = \"\";\n for (i = nodes.length - 1; ~i; i -= 1) {\n result = stringifyNode(nodes[i], custom) + result;\n }\n return result;\n }\n return stringifyNode(nodes, custom);\n}\n\nmodule.exports = stringify;\n","var minus = \"-\".charCodeAt(0);\nvar plus = \"+\".charCodeAt(0);\nvar dot = \".\".charCodeAt(0);\nvar exp = \"e\".charCodeAt(0);\nvar EXP = \"E\".charCodeAt(0);\n\nmodule.exports = function(value) {\n var pos = 0;\n var length = value.length;\n var dotted = false;\n var sciPos = -1;\n var containsNumber = false;\n var code;\n\n while (pos < length) {\n code = value.charCodeAt(pos);\n\n if (code >= 48 && code <= 57) {\n containsNumber = true;\n } else if (code === exp || code === EXP) {\n if (sciPos > -1) {\n break;\n }\n sciPos = pos;\n } else if (code === dot) {\n if (dotted) {\n break;\n }\n dotted = true;\n } else if (code === plus || code === minus) {\n if (pos !== 0) {\n break;\n }\n } else {\n break;\n }\n\n pos += 1;\n }\n\n if (sciPos + 1 === pos) pos--;\n\n return containsNumber\n ? {\n number: value.slice(0, pos),\n unit: value.slice(pos)\n }\n : false;\n};\n","module.exports = function walk(nodes, cb, bubble) {\n var i, max, node, result;\n\n for (i = 0, max = nodes.length; i < max; i += 1) {\n node = nodes[i];\n if (!bubble) {\n result = cb(node, i, nodes);\n }\n\n if (\n result !== false &&\n node.type === \"function\" &&\n Array.isArray(node.nodes)\n ) {\n walk(node.nodes, cb, bubble);\n }\n\n if (bubble) {\n cb(node, i, nodes);\n }\n }\n};\n","/**\n * Copyright (c) 2014-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\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["module","exports","obj","__esModule","hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","argType","push","Array","isArray","inner","apply","toString","Object","prototype","key","call","join","default","conversions","Math","PI","value","sourceUnit","targetUnit","precision","Error","converted","pow","parseInt","round","pi","tau","epsilon","tauEpsilon","Path","this","_x0","_y0","_x1","_y1","_","path","constructor","moveTo","x","y","closePath","lineTo","quadraticCurveTo","x1","y1","bezierCurveTo","x2","y2","arcTo","r","x0","y0","x21","y21","x01","y01","l01_2","abs","x20","y20","l21_2","l20_2","l21","sqrt","l01","l","tan","acos","t01","t21","arc","a0","a1","ccw","dx","cos","dy","sin","cw","da","rect","w","h","start","stop","step","n","max","ceil","range","band","bandwidth","scale","ordinal","unknown","undefined","domain","ordinalRange","r0","r1","paddingInner","paddingOuter","align","rescale","reverse","floor","values","sequence","map","rangeRound","padding","min","copy","initRange","pointish","point","initInterpolator","interpolator","implicit","Symbol","index","Map","d","get","set","slice","has","from","globalScope","ONE","MAX_DIGITS","Decimal","rounding","toExpNeg","toExpPos","LN10","external","decimalError","invalidArgument","exponentOutOfRange","mathfloor","mathpow","isDecimal","BASE","MAX_SAFE_INTEGER","MAX_E","P","add","carry","e","k","len","xd","yd","Ctor","pr","s","unshift","pop","checkInt32","digitsToString","ws","indexOfLastWord","str","getZeroString","absoluteValue","comparedTo","cmp","j","xdL","ydL","decimalPlaces","dp","dividedBy","div","divide","dividedToIntegerBy","idiv","equals","eq","exponent","getBase10Exponent","greaterThan","gt","greaterThanOrEqualTo","gte","isInteger","isint","isNegative","isneg","isPositive","ispos","isZero","lessThan","lt","lessThanOrEqualTo","lte","logarithm","log","base","wpr","ln","minus","sub","subtract","modulo","mod","q","times","naturalExponential","exp","naturalLogarithm","negated","neg","plus","sd","z","squareRoot","t","toExponential","indexOf","mul","rL","shift","toDecimalPlaces","todp","rm","toFixed","toInteger","toint","toNumber","toPower","sign","yIsInt","yn","truncate","toPrecision","toSignificantDigits","tosd","valueOf","val","toJSON","multiplyInteger","temp","compare","a","b","aL","bL","prod","prodL","qd","rem","remL","rem0","xi","xL","yd0","yL","yz","denominator","sum","getLn10","zs","c","c0","numerator","charAt","parseDecimal","replace","search","substring","charCodeAt","rd","doRound","xdi","xe","xLTy","isExp","arr","config","p","v","ps","clone","test","ROUND_UP","ROUND_DOWN","ROUND_CEIL","ROUND_FLOOR","ROUND_HALF_UP","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_CEIL","ROUND_HALF_FLOOR","define","prefix","Events","EE","fn","context","once","addListener","emitter","event","TypeError","listener","evt","_events","_eventsCount","clearEvent","EventEmitter","create","__proto__","eventNames","events","name","names","getOwnPropertySymbols","concat","listeners","handlers","ee","listenerCount","emit","a2","a3","a4","a5","args","removeListener","on","removeAllListeners","off","prefixed","func","thisArg","array","predicate","baseIndexOf","require","comparator","string","split","baseEach","collection","result","isSymbol","iteratee","current","computed","fromIndex","fromRight","arrayPush","isFlattenable","baseFlatten","depth","isStrict","other","baseFindIndex","baseIsNaN","strictIndexOf","isArrayLike","arrayMap","baseGet","baseIteratee","baseMap","baseSortBy","baseUnary","compareMultiple","identity","iteratees","orders","object","nativeCeil","nativeMax","end","overRest","setToString","constant","defineProperty","baseSetToString","comparer","sort","trimmedEndIndex","reTrimStart","SetCache","arrayIncludes","arrayIncludesWith","cacheHas","createSet","setToArray","includes","isCommon","seen","outer","seenIndex","baseSlice","valIsDefined","valIsNull","valIsReflexive","valIsSymbol","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","compareAscending","objCriteria","criteria","othCriteria","ordersLength","castSlice","hasUnicode","stringToArray","methodName","strSymbols","chr","trailing","keys","findIndexFunc","iterable","baseRange","isIterateeCall","toFinite","Set","noop","reHasUnicode","RegExp","isArguments","spreadableSymbol","isConcatSpreadable","isIndex","isObject","type","transform","otherArgs","shortOut","nativeNow","Date","now","count","lastCalled","stamp","remaining","asciiToArray","unicodeToArray","reWhitespace","rsAstral","rsCombo","rsFitz","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsOptVar","rsSeq","rsSymbol","reUnicode","match","nativeMin","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","invokeFunc","time","leadingEdge","setTimeout","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","clearTimeout","cancel","flush","arrayEvery","baseEvery","guard","find","createFind","baseGetTag","isObjectLike","isNumber","baseAssignValue","baseForOwn","baseExtremum","baseGt","baseLt","root","createRange","arraySome","baseSome","baseOrderBy","baseRest","sortBy","debounce","INFINITY","remainder","baseTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","isBinary","baseUniq","upperFirst","createCaseFirst","performance","process","getNanoSeconds","hrtime","moduleLoadTime","hr","upTime","nodeLoadTime","loadTime","window","global","vendors","suffix","raf","caf","last","id","queue","callback","_now","next","cp","cancelled","handle","polyfill","requestAnimationFrame","cancelAnimationFrame","componentWillMount","state","getDerivedStateFromProps","props","setState","componentWillReceiveProps","nextProps","prevState","bind","componentWillUpdate","nextState","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","Component","isReactComponent","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","componentName","displayName","newApiName","componentDidUpdate","maybeSnapshot","snapshot","__suppressDeprecationWarning","setPrototypeOf","__extends","String","__","assign","__rest","propertyIsEnumerable","freeGlobal","freeSelf","self","Function","require$$0","objectProto","nativeObjectToString","symToStringTag","toStringTag","isOwn","tag","unmasked","getRawTag","require$$1","objectToString","patchResizeHandler","resizeCallback","refreshMode","refreshRate","refreshOptions","throttle","isFunction","isSSR","isDOMElement","element","Element","HTMLDocument","createNotifier","onResize","setSize","handleWidth","handleHeight","width","height","prev","cancelHandler","resizeHandler","attachObserver","targetRef","observerOptions","getElement","observableElement","resizeObserver","observe","querySelector","targetDomEl","document","currentElement","findDOMNode","getRenderType","parentElement","createResizeHandler","entries","notifyResize","forEach","entry","contentRect","skipOnMount","render","children","isValidElement","createRef","window.ResizeObserver","PureComponent","componentDidMount","componentWillUnmount","disconnect","typedChildren","nodeType","WrapperTag","childProps","nativeProps","cloneElement","el","React","useEnhancedEffect","useEffect","useLayoutEffect","setRafTimeout","timeout","currTime","shouldUpdate","_typeof","iterator","_toArray","_arrayWithHoles","iter","_iterableToArray","o","minLen","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","arr2","createAnimateManager","handleChange","shouldStop","setStyle","_style","_styles","curr","restStyles","style","subscribe","_handleChange","ownKeys","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","target","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","configurable","writable","PREFIX_LIST","IN_LINE_PREFIX_LIST","IN_COMPATIBLE_PROPERTY","param","mapObject","reduce","res","translateStyle","isTransition","camelName","toUpperCase","styleVal","property","generatePrefixStyle","getTransitionVal","duration","easing","prop","toLowerCase","_slicedToArray","_arr","_n","_d","_e","_s","_i","done","err","_iterableToArrayLimit","_toConsumableArray","_arrayWithoutHoles","_nonIterableSpread","ACCURACY","cubicBezierFactor","c1","c2","multyTime","params","pre","cubicBezier","derivativeCubicBezier","newParams","configBezier","_len","_key","_easing$1$split$0$spl","parseFloat","_easing$1$split$0$spl2","every","num","curveX","curveY","derCurveX","rangeValue","bezier","_t","evalT","derVal","isStepper","configSpring","_config$stiff","stiff","_config$damping","damping","_config$dt","dt","stepper","currX","destX","currV","newV","newX","alpha","begin","needContinue","_ref","to","calStepperVals","preVals","steps","nextStepVals","_easing2","velocity","preObj","nextObj","preTime","beginTime","interKeys","timingStyle","stepperStyle","cafId","update","currStyle","finalStyle","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","_defineProperties","descriptor","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","getPrototypeOf","Animate","_PureComponent","subClass","superClass","_inherits","Constructor","protoProps","staticProps","_super","_this","instance","_classCallCheck","_this$props","isActive","attributeName","handleStyleChange","changeStyle","_this$props2","canBegin","mounted","runAnimation","_this$props3","shouldReAnimate","deepEqual","isTriggered","manager","stopJSAnimation","_newState","newState","unSubscribe","_this2","onAnimationEnd","onAnimationStart","startAnimation","configUpdate","_len2","_key2","configEasing","_this3","_steps$","initialStyle","_steps$$duration","initialTime","nextItem","_nextItem$easing","nextProperties","properties","preItem","runJSAnimation","transition","newStyle","propsTo","runStepAnimation","_this$props4","others","onAnimationReStart","Children","stateStyle","cloneContainer","container","_container$props","_container$props$styl","className","child","propTypes","PropTypes","defaultProps","_extends","Number","isFinite","parseDurationOfSingleTransition","AnimateGroupChild","_Component","handleEnter","node","isAppearing","appearOptions","enterOptions","handleStyleActive","handleExit","leaveOptions","Transition","onEnter","onExit","parseTimeout","AnimateGroup","component","appear","enter","leave","TransitionGroup","_interopRequireDefault","classList","_hasClass","setAttribute","baseVal","contains","replaceClassName","origClass","classToRemove","remove","newObj","desc","_interopRequireWildcard","_addClass","_removeClass","_react","_Transition","addClass","removeClass","CSSTransition","_React$Component","appearing","getClassNames","removeClasses","onEntering","activeClassName","reflowAndAddClass","onEntered","appearClassName","doneClassName","enterClassName","onExiting","onExited","isStringClassNames","_proto","_this$getClassNames6","scrollTop","createElement","_default","_reactDom","_TransitionGroup","ReplaceTransition","_args","handleLifecycle","handleEntering","_len3","_key3","handleEntered","_len4","_key4","_len5","_key5","handleExiting","_len6","_key6","handleExited","_len7","_key7","handler","idx","originalArgs","_child$props","toArray","inProp","in","_React$Children$toArr","first","second","EXITING","ENTERED","ENTERING","EXITED","UNMOUNTED","_reactLifecyclesCompat","initialStatus","parentGroup","transitionGroup","isMounting","appearStatus","unmountOnExit","mountOnEnter","status","nextCallback","getChildContext","updateStatus","nextStatus","cancelNextCallback","getTimeouts","exit","mounting","performEnter","performExit","timeouts","enterTimeout","safeSetState","onTransitionEnd","setNextCallback","_this4","active","doesNotHaveTimeoutOrListener","addEndListener","only","contextTypes","childContextTypes","_propTypes","_ChildMapping","firstRender","appeared","prevChildMapping","getInitialChildMapping","getNextChildMapping","currentChildMapping","getChildMapping","childFactory","isRequired","_CSSTransition","_ReplaceTransition","mergeChildMappings","getProp","nextChildMapping","hasPrev","hasNext","prevChild","isLeaving","mapFn","mapper","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","classNamesShape","timeoutsShape","Area","isAnimationFinished","uniqueId","handleAnimationEnd","_isFunction","handleAnimationStart","animationId","prevAnimationId","curPoints","points","curBaseLine","baseLine","prevPoints","prevBaseLine","needClip","clipPathId","isAnimationActive","dot","dataKey","areaProps","filterProps","customDotProps","dots","dotProps","cx","cy","payload","renderDotItem","dotsProps","clipPath","Layer","strokeWidth","startX","endX","maxY","_max","_isArray","startY","endY","maxX","layout","renderVerticalRect","renderHorizontalRect","stroke","connectNulls","isRange","ref","Curve","fill","_this$props5","animationBegin","animationDuration","animationEasing","_this$state","stepBaseLine","prevPointsDiffFactor","stepPoints","prevPointIndex","interpolatorX","interpolateNumber","interpolatorY","_isNil","_isNaN","_interpolator","renderAreaStatically","renderClipRect","_this$props6","_this$state2","totalLength","_isEqual","renderAreaWithAnimation","_this$props7","hide","top","left","xAxis","yAxis","hasSinglePoint","layerClass","allowDataOverflow","renderArea","renderDots","LabelList","fillOpacity","xAxisId","yAxisId","legendType","activeDot","Global","getBaseValue","baseValue","numericAxis","getComposedData","_ref2","xAxisTicks","yAxisTicks","bandSize","stackedData","dataStartIndex","displayedData","offset","hasStack","originalValue","getValueByDataKey","isBreakPoint","getCateCoordinateOfLine","axis","ticks","_get","option","Dot","CartesianGrid","lineItem","horizontalPoints","horizontal","items","renderLineItem","verticalPoints","vertical","verticalFill","verticalPointsUpdated","lineWidth","colorIndex","horizontalFill","horizontalPointsUpdated","lineHeight","horizontalCoordinatesGenerator","verticalCoordinatesGenerator","chartWidth","chartHeight","renderBackground","renderHorizontal","renderVertical","renderHorizontalStripes","renderVerticalStripes","XAxis","allowDecimals","orientation","mirror","tickCount","right","reversed","allowDuplicatedCategory","YAxis","bottom","AreaChart","generateCategoricalChart","chartName","GraphicalChild","axisComponents","axisType","AxisComp","formatAxisMap","Cross","getPath","CartesianAxis","tick","viewBox","minTickGap","interval","tickFormatter","unit","getNumberIntervalTicks","getTicksStart","getTicksEnd","preserveEnd","sizeKey","unitSize","getStringSize","mathSign","coordinate","tail","tailContent","tailSize","tailGap","tickCoord","isShow","content","size","gap","_ref3","Text","restProps","viewBoxOld","restPropsOld","shallowEqual","data","tx","ty","tickSize","tickMargin","finalTickSize","line","textAnchor","verticalAnchor","axisLine","needHeight","needWidth","tickLine","finalTicks","getTicks","getTickTextAnchor","getTickVerticalAnchor","axisProps","customTickProps","tickLineProps","_this$getTickLineCoor","getTickLineCoord","lineCoord","tickProps","visibleTicksCount","adaptEventsOfChild","renderTickItem","ticksGenerator","_this$props8","noTicksProps","renderAxisLine","renderTicks","Label","isTouch","changedTouches","Brush","leaveTimer","travellerDragStartHandlers","handleDrag","isTravellerMoving","handleTravellerMove","isSlideMoving","handleSlideDrag","handleTouchMove","handleDragEnd","detachDragEndListener","handleLeaveWrapper","leaveTimeOut","handleEnterSlideOrTraveller","isTextActive","handleLeaveSlideOrTraveller","handleSlideDragStart","slideMoveStartX","pageX","attachDragEndListener","handleTravellerDragStart","lineY","renderDefaultTraveller","travellerWidth","updateId","startIndex","endIndex","prevData","prevUpdateId","prevTravellerWidth","prevX","prevWidth","scalePoint","_range","scaleValues","createScale","middle","lastIndex","minIndex","getIndexInRange","maxIndex","text","addEventListener","removeEventListener","onChange","delta","newIndex","getIndex","movingTravellerId","brushMoveStartX","_this$setState","prevValue","isFullGap","chartElement","margin","compact","travellerX","traveller","travellerProps","onMouseEnter","onMouseLeave","onMouseDown","onTouchStart","cursor","renderTraveller","_this$props9","_this$state3","attrs","pointerEvents","getTextOfTick","_this$props10","alwaysShowText","_this$state4","isPanoramic","onMouseMove","onTouchMove","renderPanorama","renderSlide","renderTravellerLayer","renderText","ifOverflowMatches","alwaysShow","ifOverflow","ReferenceDot","isX","isNumOrStr","isY","warn","scales","createLabeledScales","bandAware","isInRange","getCoordinate","shape","renderDot","isFront","ReferenceLine","fixedX","fixedY","segment","endPoints","isFixedX","isFixedY","isSegment","_props$viewBox","position","yCoord","coord","xCoord","_orientation","_coord","_points","_points2","_some","getEndPoints","_endPoints","_endPoints$","_endPoints$2","lineProps","renderLine","rectWithCoords","ReferenceArea","hasX1","hasX2","hasY1","hasY2","xValue1","xValue2","yValue1","yValue2","p1","rangeMin","p2","rangeMax","rectWithPoints","getRect","renderRect","Rectangle","detectReferenceElementsDomain","axisId","specifiedTicks","lines","findAllByType","elements","areas","idKey","valueKey","finalDomain","key1","key2","value1","value2","eventCenter","setMaxListeners","SYNC_EVENT","ORIENT_MAP","originCoordinate","isFinit","defer","setImmediate","deferClear","clearImmediate","getDisplayedData","item","graphicalItems","dataEndIndex","itemsData","itemData","getTooltipContent","chartData","activeIndex","activeLabel","tooltipAxis","findEntryInArray","getTooltipItem","getTooltipData","rangeObj","rangeData","chartX","chartY","pos","angle","radius","calculateTooltipPos","orderedTooltipTicks","tooltipTicks","calculateActiveTickIndex","activePayload","activeCoordinate","_angle","_radius","polarToCartesian","getActiveCoordinate","activeTooltipIndex","getAxisMap","_ref4","_ref4$axisType","stackGroups","axisIdKey","axes","axisMap","stackOffset","isCategorical","isCategoricalAxis","duplicateDomain","categoricalDomain","getDomainOfDataByKey","duplicate","hasDuplicate","parseDomainOfCategoryAxis","errorBarsDomain","parseErrorBarsOfAxis","getDomainOfStackGroups","getDomainOfItemsWithSameAxis","parseSpecifiedDomain","axisDomain","originalDomain","getAxisMapByAxes","Axis","getAxisMapByItems","createDefaultState","defaultShowTooltip","brushItem","findChildByType","isTooltipActive","getAxisNameByLayout","numericAxisName","cateAxisName","_ref6","_class","_temp","_ref6$defaultTooltipE","defaultTooltipEventType","_ref6$validateTooltip","validateTooltipEventTypes","legendContent","getFormatItems","currentState","barSize","barGap","barCategoryGap","globalMaxBarSize","maxBarSize","_getAxisNameByLayout","hasBar","some","getDisplayName","hasGraphicalBarItem","sizeList","getBarSizeList","formattedItems","_item$props","childMaxBarSize","numericAxisId","cateAxisId","axisObj","_objectSpread6","getTicksOfAxis","cateAxis","cateTicks","getStackedDataOfItem","itemIsBar","getBandSizeOfAxis","barPosition","_ref7","_getBandSizeOfAxis","barBandSize","getBarPosition","_objectSpread7","composedFn","childIndex","parseChildIndex","updateStateOfAxisMapsOffsetAndStackGroups","_ref8","validateWidthHeight","reverseStackOrder","_getAxisNameByLayout2","getStackGroupsByAxisId","_ref5","prevLegendBBox","_ref5$xAxisMap","xAxisMap","_ref5$yAxisMap","yAxisMap","legendItem","Legend","offsetH","offsetV","brushBottom","appendOffsetOfLegend","calculateOffset","legendBBox","ticksObj","getAnyElementOfObject","_sortBy","tooltipAxisBandSize","tooltipTicksGenerator","formattedGraphicalItems","CategoricalChartWrapper","_props","uniqueChartId","legendInstance","deferId","clearDeferId","handleLegendBBoxUpdate","box","handleReceiveSyncEvent","cId","chartId","syncId","applySyncEvent","handleBrushChange","_ref9","triggerSyncEvent","handleMouseEnter","mouse","getMouseInfo","triggeredAfterMouseMove","handleItemMouseEnter","activeItem","tooltipPayload","tooltipPosition","handleItemMouseLeave","handleMouseMove","persist","handleMouseLeave","cancelThrottledTriggerAfterMouseMove","handleOuterEvent","eventName","getReactEventByType","handleClick","onClick","handleMouseDown","handleMouseUp","onMouseUp","handleTouchStart","handleTouchEnd","_ref10","getCoordinatesOfGrid","_ref11","axesTicksGenerator","renderCursor","tooltipEventType","getTooltipEventType","cursorComp","getCursorRectangle","_this$getCursorPoints","getCursorPoints","startAngle","endAngle","innerRadius","outerRadius","Sector","cursorProps","payloadIndex","renderPolarAxis","axisOption","renderXAxis","renderAxis","renderYAxis","renderGrid","_find","_every","renderPolarGrid","_element$props","radialLines","polarAngles","polarRadius","radiusAxisMap","angleAxisMap","radiusAxis","angleAxis","renderLegend","legendWidth","getLegendProps","otherProps","legend","onBBoxUpdate","renderTooltip","tooltipItem","Tooltip","_this$state5","label","renderBrush","_this$state6","combineEventHandlers","renderReferenceElement","_this$state7","_element$props2","renderActivePoints","_ref12","activePoint","basePoint","_item$item$props","getMainColorOfGraphicItem","adaptEventHandlers","renderActiveDot","renderGraphicChild","filterFormatItem","_this$state8","_item$props2","_item$item$props2","hasActive","itemEvents","trigger","onCLick","graphicalItem","specifiedKey","renderCustomized","throttleDelay","_throttle","_isBoolean","shared","eventType","containerOffset","getOffset","calculateChartCoordinate","inRange","_this$state9","xScale","yScale","xValue","invert","yValue","toolTipData","_this$state10","halfSize","_this$state11","_cx","_cy","innerPoint","outerPoint","_this$state12","inRangeOfSector","tooltipEvents","onTouchEnd","_maxListeners","syncMethod","_this$state13","validateChartX","validateChartY","axisOptions","_this$state$offset","_ref13","_ref14","_ref15","_ref16","_this$state$xAxisMap","_this$state$xAxisMap$","_this$state$yAxisMap","_this$state$yAxisMap$","chartXY","itemDisplayName","activeBarItem","isInRectangle","_activeBarItem","Bar","Line","Radar","RadialBar","Scatter","Pie","Funnel","PolarGrid","PolarAngleAxis","PolarRadiusAxis","Customized","Surface","renderClipPath","renderByOrder","parseEventsOfWrapper","defaultState","prevHeight","prevLayout","prevStackOffset","prevMargin","prevChildren","_defaultState","keepFromPrevState","updatesToState","isChildrenEqual","newUpdateId","renderRadialLabel","labelProps","labelAngle","direction","clockWise","deltaAngle","getDeltaAngle","startPoint","endPoint","dominantBaseline","xlinkHref","_props$className","textBreakAll","formatter","getLabel","isPolarLabel","isPolar","positionAttrs","midAngle","_polarToCartesian","_x","_polarToCartesian2","getAttrsOfPolarLabel","parentViewBox","verticalSign","verticalOffset","verticalEnd","verticalStart","horizontalSign","horizontalOffset","horizontalEnd","horizontalStart","_attrs2","_attrs3","sizeAttrs","_isObject","isPercent","getPercentValue","getAttrsOfCartesianLabel","breakAll","parseViewBox","labelViewBox","parseLabel","renderCallByParent","parentProps","checkPropsLabel","explicitChildren","implicitLabel","valueAccessor","_last","idProps","parseLabelList","ckeckPropsLabel","explicitChilren","implicitLabelList","atan2","draw","tan30","tan30_2","kr","kx","ky","sqrt3","symbolFactories","symbolCircle","symbolCross","symbolDiamond","symbolSquare","symbolStar","symbolTriangle","symbolWye","RADIAN","Symbols","sizeType","symbolFactory","_upperFirst","getSymbolFactory","symbol","buffer","circle","shapeSymbol","calculateAreaSize","registerSymbol","factory","SIZE","DefaultLegendContent","inactiveColor","sixthSize","thirdSize","color","inactive","strokeDasharray","legendIcon","iconProps","iconSize","itemStyle","display","marginRight","svgStyle","verticalAlign","_classNames","finalFormatter","renderIcon","textAlign","renderItems","defaultUniqBy","getUniqPayload","_uniqBy","wrapperNode","boxWidth","boxHeight","updateBBox","getBoundingClientRect","hPos","vPos","getBBoxSnapshot","_box3","wrapperStyle","payloadUniqBy","outerStyle","getDefaultPosition","renderContent","ResponsiveContainer","forwardRef","aspect","_ref$width","_ref$height","minWidth","minHeight","maxHeight","_ref$debounce","_useState2","useState","containerWidth","containerHeight","sizes","setSizes","containerRef","useRef","useImperativeHandle","_useState4","setMounted","getContainerSize","clientWidth","clientHeight","updateDimensionsImmediate","newSize","oldWidth","oldHeight","handleResize","_debounce","ReactResizeDetector","calculatedWidth","calculatedHeight","renderChart","BREAKING_SPACES","calculateWordWidths","words","wordsWithComputedWidth","word","spaceWidth","getWordsWithoutCalculate","getWordsByLines","needCalculate","scaleToFit","wordWidths","initialWordsWithComputedWith","shouldLimitLines","maxLines","calculate","currentLine","newLine","originalResult","trimmedResult","checkOverflow","tempText","doesOverflow","findLongestLine","iterations","_checkOverflow2","doesPrevOverflow","doesMiddleOverflow","calculateWordsByLines","prevScaleToFit","prevStyle","prevBreakAll","wordsByLines","capHeight","textProps","startDy","reduceCSSCalc","transforms","defaultFormatter","DefaultTooltipContent","separator","itemSorter","finalItemStyle","paddingTop","paddingBottom","formatted","_formatted","wrapperClassName","contentStyle","labelClassName","labelStyle","labelFormatter","backgroundColor","border","whiteSpace","finalLabelStyle","hasLabel","finalLabel","wrapperCN","labelCN","CLS_PREFIX","getTranslate","tooltipDimension","viewBoxDimension","allowEscapeViewBox","restricted","unrestricted","translateX","translateY","filterNull","finalPayload","hasPayload","visibility","useTranslate3d","cls","cursorStyle","svgView","version","that","_context","Basis","BasisClosed","BasisOpen","LinearClosed","Linear","slope3","h0","h1","s0","s1","slope2","t0","t1","MonotoneX","MonotoneY","ReflectContext","Natural","controlPoints","m","Step","areaStart","_line","areaEnd","NaN","lineStart","_point","lineEnd","_x2","_x3","_x4","_y2","_y3","_y4","_t0","_y","px","py","i0","i1","defined","curve","curveLinear","output","defined0","pointX","pointY","area","x0z","y0z","arealine","lineX0","lineY0","lineY1","lineX1","CURVE_FACTORIES","curveBasisClosed","curveBasisOpen","curveBasis","curveLinearClosed","curveMonotoneX","curveMonotoneY","curveNatural","curveStep","curveStepAfter","curveStepBefore","getX","getY","lineFunction","curveFactory","getCurveFactory","formatPoints","formatBaseLine","areaPoints","shapeArea","shapeLine","pathRef","realPath","getRectanglePath","maxRadius","ySign","xSign","newRadius","_newRadius","minX","minY","getTotalLength","isUpdateAnimationActive","currWidth","currHeight","currY","getTangentCircle","isExternal","cornerRadius","cornerIsExternal","centerRadius","theta","asin","centerAngle","lineTangencyAngle","center","circleTangency","lineTangency","getSectorPath","tempEndAngle","outerStartPoint","outerEndPoint","innerStartPoint","innerEndPoint","forceCornerRadius","deltaRadius","cr","_getTangentCircle","soct","solt","sot","_getTangentCircle2","eoct","eolt","eot","outerArcAngle","_getTangentCircle3","sict","silt","sit","_getTangentCircle4","eict","eilt","eit","innerArcAngle","getSectorWithCorner","ids","leftMirror","rightMirror","topMirror","bottomMirror","calculatedPadding","needSpace","_axis$padding","offsetKey","diff","smallestDistanceBetweenValues","Infinity","sortedValues","smallestDistanceInPercent","rangeWidth","halfBand","_parseScale","parseScale","realScaleType","checkDomainOfScale","getTicksOfScale","finalAxis","ScaleHelper","_offset","_offset2","EPS","_mapValues","PLACE_HOLDER","isPlaceHolder","curry0","_curried","curryN","argsLength","restArgs","newArgs","curry","compose","fns","firstFn","tailsFn","memoize","lastResult","rangeStep","getDigitCount","newA","uninterpolateNumber","uninterpolateTruncation","getValidInterval","validMin","validMax","getFormatStep","roughStep","correctionFactor","digitCount","Arithmetic","digitCountValue","stepRatio","stepRatioScale","formatStep","getTickOfSingleValue","absVal","middleIndex","calculateStep","tickMin","tickMax","belowCount","upCount","scaleCount","getNiceTickValues","_getValidInterval","_getValidInterval2","cormin","cormax","_values","_calculateStep","getTickValuesFixedDomain","_getValidInterval3","_getValidInterval4","_getValidInterval5","_getValidInterval6","e10","e5","e2","tickIncrement","power","error","tickStep","step0","step1","f","lo","hi","mid","ascending","ascendingComparator","numbers","valueof","ascendingBisect","bisector","bisectRight","number","extend","parent","definition","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color_formatHex","rgb","formatHex","color_formatRgb","formatRgb","format","trim","exec","rgbn","Rgb","rgba","hsla","g","rgbConvert","opacity","rgb_formatHex","hex","rgb_formatRgb","isNaN","Hsl","hslConvert","hsl2rgb","m1","m2","basis","v0","v1","v2","v3","t2","t3","channels","displayable","formatHsl","linear","gamma","nogamma","exponential","rgbGamma","colorRgb","rgbSpline","spline","colors","genericArray","nb","na","setTime","reA","reB","am","bm","bs","bi","one","zero","date","ArrayBuffer","isView","DataView","numberArray","normalize","bimap","interpolate","d0","d1","polymap","bisect","clamp","transformer","untransform","piecewise","input","interpolateValue","clamper","interpolateRound","u","continuous","prefixExponent","re","formatSpecifier","specifier","FormatSpecifier","comma","formatDecimalParts","coefficient","toLocaleString","formatRounded","locale","formatPrefix","prefixes","grouping","thousands","group","currencyPrefix","currency","currencySuffix","decimal","numerals","formatNumerals","percent","nan","newFormat","formatTypes","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","out","formatTrim","tickFormat","precisionPrefix","precisionRound","precisionFixed","linearish","nice","prestep","maxIter","transformLog","transformExp","transformLogn","transformExpn","pow10","reflect","loggish","logs","pows","E","log10","log2","logp","powp","transformSymlog","log1p","transformSymexp","expm1","symlogish","symlog","formatLocale","transformPow","transformSqrt","transformSquare","powish","square","unsquare","radial","squared","quickselect","newLeft","newRight","swap","quantile","Float64Array","value0","subarray","quantileSorted","thresholds","threshold","invertExtent","quantiles","quantize","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","newInterval","floori","offseti","field","previous","millisecond","getMilliseconds","getUTCSeconds","minute","getSeconds","getMinutes","hour","getHours","day","setHours","setDate","getDate","getTimezoneOffset","weekday","getDay","sunday","monday","tuesday","wednesday","thursday","friday","saturday","month","setMonth","getMonth","getFullYear","year","setFullYear","utcMinute","setUTCSeconds","getUTCMinutes","utcHour","setUTCMinutes","getUTCHours","utcDay","setUTCHours","setUTCDate","getUTCDate","utcWeekday","getUTCDay","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcMonth","setUTCMonth","getUTCMonth","getUTCFullYear","utcYear","setUTCFullYear","ticker","week","tickIntervals","tickInterval","utcWeek","utcTicks","utcTickInterval","timeTicks","timeTickInterval","localDate","H","M","S","L","utcDate","UTC","newDate","timeFormat","utcFormat","pads","numberRe","percentRe","requoteRe","pad","requote","formatRe","formatLookup","parseWeekdayNumberSunday","parseWeekdayNumberMonday","parseWeekNumberSunday","U","parseWeekNumberISO","V","parseWeekNumberMonday","W","parseFullYear","parseYear","parseZone","Z","parseQuarter","parseMonthNumber","parseDayOfMonth","parseDayOfYear","parseHour24","parseMinutes","parseSeconds","parseMilliseconds","parseMicroseconds","parseLiteralPercent","parseUnixTimestamp","Q","parseUnixTimestampSeconds","formatDayOfMonth","formatHour24","formatHour12","formatDayOfYear","timeDay","timeYear","formatMilliseconds","formatMicroseconds","formatMonthNumber","formatMinutes","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","timeSunday","dISO","timeThursday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","timeMonday","formatYear","formatYearISO","formatFullYear","formatFullYearISO","formatZone","formatUTCDayOfMonth","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","getUTCMilliseconds","formatUTCMicroseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCSeconds","formatUTCWeekdayNumberMonday","dow","formatUTCWeekNumberSunday","UTCdISO","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCYearISO","formatUTCFullYear","formatUTCFullYearISO","formatUTCZone","formatLiteralPercent","formatUnixTimestamp","formatUnixTimestampSeconds","calendar","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","timeMonth","timeWeek","timeHour","timeMinute","timeSecond","utcTime","utcSecond","k10","sequential","sequentialLog","sequentialSymlog","sequentialPow","sequentialSqrt","sequentialQuantile","I","k21","r2","diverging","divergingLog","divergingSymlog","divergingPow","divergingSqrt","series","order","locale_dateTime","dateTime","locale_date","locale_time","locale_periods","periods","locale_weekdays","days","locale_shortWeekdays","shortDays","locale_months","months","locale_shortMonths","shortMonths","periodRe","periodLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","utcFormats","parses","parseSpecifier","newParse","parse","X","utcParse","defaultLocale","stackValue","stackSeries","defaultValue","filterNil","flattenData","_flatMap","_min","_ticks$length","unsortedTicks","before","cur","after","sameDirectionCoord","diffInterval","curInRange","afterInRange","sameInterval","legendData","sectors","iconType","globalSize","_ref5$stackGroups","numericAxisIds","sgs","stackIds","sLen","_sgs$stackIds$j","barItems","selfSize","cateId","stackList","_ref6$sizeList","realBarGap","useFull","fullBarSize","newRes","originalSize","legendBox","legendProps","newOffset","getDomainOfErrorBars","errorBars","errorBarChild","entryValue","mainValue","errorDomain","prevErrorArr","errorValue","lowerValue","upperValue","domains","hasMin","hasMax","isGrid","isAll","niceTicks","scaleContent","defaultHandler","parentHandler","childHandler","customizedHandler","arg1","arg2","arg3","arg4","chartType","d3Scales","_isString","findPositionOfBar","truncateByDomain","STACK_OFFSET_MAP","positive","negative","expand","none","stackOffsetNone","silhouette","wiggle","s2","si","sij0","s3","sk","getStackedData","stackItems","offsetType","dataKeys","stack","orderNone","offsetNone","oz","sz","shapeStack","stackOrderNone","_items","_item$props3","stackId","childGroup","opts","scaleType","tickValues","calculateDomainOfTicks","_domain","matchedTick","getCateCoordinateOfBar","getBaseValueOfBar","itemIndex","MIN_VALUE_REG","MAX_VALUE_REG","specifiedDomain","dataDomain","_value","isBar","bandWidth","orderedTicks","calculatedDomain","axisChild","_graphicalItem$props","tooltipType","stringCache","widthCache","cacheCount","SPAN_STYLE","STYLE_LIST","MEASUREMENT_SPAN_ID","getStyleString","styleString","cacheKey","measurementSpan","getElementById","body","appendChild","measurementSpanStyle","styleKey","textContent","html","ownerDocument","documentElement","pageYOffset","clientTop","pageXOffset","clientLeft","pageY","_isNumber","idCounter","totalValue","validate","ary","cache","numberA","numberB","specifiedValue","isSsr","condition","radianToDegree","angleInRadian","getMaxRadius","_range2","getAngleOfPoint","anotherPoint","distanceBetweenPoints","reverseFormatAngleOfSetor","startCnt","endCnt","sector","_getAngleOfPoint","_formatAngleOfSector","formatAngleOfSector","formatAngle","REACT_BROWSER_EVENT_MAP","click","mousedown","mouseup","mouseover","mousemove","mouseout","mouseenter","mouseleave","touchcancel","touchend","touchmove","touchstart","Comp","lastChildren","isFragment","types","childType","_el$props","SVG_TAGS","isSvgElement","nextChildren","isSingleChildEqual","nextChild","renderMap","record","results","SVGContainerPropKeys","SVGElementPropKeys","EventKeys","includeEvents","isSvg","inputProps","newHandler","originalHandler","getEventHandlerOfChild","for","$$typeof","A","_postcssValueParser2","_parser","_reducer2","_stringifier2","MATCH_CALC","walk","contents","stringify","nodes","ast","parser","reducedAst","_cssUnitConverter","_cssUnitConverter2","convertAbsoluteLength","flip","_convert","_convert2","operator","isEqual","convertMathExpression","_node","op","flipValue","isValueType","reduceAddSubExpression","reduceDivisionExpression","reduceMultiplicationExpression","reduceMathExpression","calc","_reducer","prec","fallback","JisonParserError","msg","hash","stacktrace","exception","ex2","message","captureStackTrace","rv","trace","yy","hasPartialLrUpgradeOnConflict","errorRecoveryTokenDiscardCount","symbols_","terminals_","TERROR","EOF","originalQuoteName","originalParseError","cleanupAfterParse","constructParseErrorInfo","yyMergeLocationInfo","__reentrant_call_depth","__error_infos","__error_recovery_infos","quoteName","id_str","getSymbolName","describeSymbol","terminal_descriptions_","collect_expected_token_set","do_not_describe","tokenset","check","state_descriptions_","table","productions_","rule","bp","performAction","yystate","yysp","yyvstack","lexer","$","mode","goto","bt","defaultActions","bda","parseError","ExceptionClass","recoverable","destroy","sstack","vstack","sp","NO_ACTION","__lexer__","sharedState_yy","pre_parse","post_parse","pre_lex","post_lex","fastLex","token","assert","yyGetSharedState","dst","src","shallow_copy_noclobber","resultValue","invoke_post_methods","do_not_nuke_errorinfos","cleanupAfterLex","ex","expected","pei","errStr","yytext","token_id","yylineno","action","new_state","symbol_stack","state_stack","value_stack","stack_pointer","rec","yyrulelen","this_production","lex","yyval","_$","retval","setInput","canIUse","errSymbolDescr","showPosition","ntsymbol","JisonLexerError","ERROR","__currentRuleSet__","__decompressed","_backtrack","_input","_more","_signaled_error_token","conditionStack","matched","matches","yyleng","yylloc","constructLexErrorInfo","show_input_position","prettyPrintRange","pos_str","loc","yyerror","lineno_msg","lexerErrorsAreRecoverable","extra_error_attributes","clear","col","last_column","first_line","first_column","last_line","rules","rule_re","conditions","spec","rule_ids","rule_regexes","rule_new_ids","__rule_regexes","__rule_count","editRemainingInput","cpsArg","ch","slice_len","ch2","unput","substr","pre_lines","more","reject","backtrack_lexer","less","pastInput","maxSize","past","upcomingInput","maxPrefix","maxPostfix","deriveLocationInfo","actual","preceding","following","context_loc","context_loc2","l0","l1","lineno_display_width","ws_prefix","nonempty_line_indexes","lno","errpfx","clip_start","MINIMUM_VISIBLE_NONEMPTY_LINE_COUNT","clip_end","intermediate_line","splice","describeYYLLOC","display_range_too","l2","test_match","indexed_rule","backup","match_str","match_str_len","tempMatch","_currentRules","trackPosition","topState","regexes","flex","pendingInput","activeCondition","conditionStackDepth","pushState","popState","stateStackSize","yyrulenumber","YY_START","simpleCaseActionClusters","inclusive","Parser","ValueParser","cb","bubble","openParentheses","closeParentheses","singleQuote","doubleQuote","backslash","slash","colon","star","quote","escape","escapePos","whitespacePos","tokens","code","balanced","sourceIndex","unclosed","stringifyNode","custom","buf","customResult","EXP","dotted","sciPos","containsNumber","runtime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","GenStateSuspendedStart","method","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","resolve","__await","then","unwrapped","previousPromise","callInvokeWithMethodAndArg","info","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iteratorMethod","isGeneratorFunction","genFun","ctor","mark","awrap","async","Promise","skipTempReset","rootRecord","rval","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis","MapShim","class_1","__entries__","delete","ctx","_a","isBrowser","global$1","requestAnimationFrame$1","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","delay","leadingCall","trailingCall","resolvePending","proxy","timeoutCallback","timeStamp","addObserver","observer","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","broadcastActive","attributes","childList","characterData","subtree","_b","propertyName","getInstance","instance_","defineConfigurable","getWindowOf","defaultView","emptyRect","createRectInit","toFloat","getBordersSize","styles","positions","getHTMLElementContentRect","getComputedStyle","paddings","positions_1","getPaddings","horizPad","vertPad","boxSizing","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","broadcastRect","ResizeObserverEntry","rectInit","Constr","DOMRectReadOnly","createReadOnlyRect","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","unobserve","clearActive","observation","WeakMap","ResizeObserver"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/8503.6ce0ff69.chunk.js b/portal-ui/build/static/js/8503.e5a8b0ef.chunk.js similarity index 96% rename from portal-ui/build/static/js/8503.6ce0ff69.chunk.js rename to portal-ui/build/static/js/8503.e5a8b0ef.chunk.js index dec4b2f30..2eeffccaf 100644 --- a/portal-ui/build/static/js/8503.6ce0ff69.chunk.js +++ b/portal-ui/build/static/js/8503.e5a8b0ef.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[8503],{35721:function(e,n,a){a(50390);var t=a(34424),s=a(25594),i=a(86509),r=a(4285),l=a(35477),o=a(95467),c=a(26805),d=a(44078),m=a(5265),u=a(11387),x=a(62559),g={toggleList:m.kQ},p=(0,t.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),g);n.Z=p((0,r.Z)((function(e){return(0,i.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,a=e.label,t=e.actions,i=e.sidebarOpen,r=e.operatorMode,m=e.managerObjects,g=e.toggleList,p=e.middleComponent;return(0,x.jsxs)(s.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,x.jsxs)(s.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!i&&(0,x.jsx)("div",{className:n.logo,children:r?(0,x.jsx)(c.Z,{}):(0,x.jsx)(d.Z,{})}),(0,x.jsx)(l.Z,{variant:"h4",className:n.labelStyle,children:a})]}),p&&(0,x.jsx)(s.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:p}),(0,x.jsxs)(s.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:n.rightMenu,children:[t&&t,m&&m.length>0&&(0,x.jsx)(o.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){g()},size:"large",children:(0,x.jsx)(u.gx,{})})]})]})})))},8503:function(e,n,a){a.r(n);var t=a(23430),s=a(18489),i=a(50390),r=a(34424),l=a(38342),o=a.n(l),c=a(75312),d=a(35721),m=a(25594),u=a(72462),x=a(86509),g=a(4285),p=a(81378),f=a(30324),h=a(44149),j=a(46134),Z=a(62559),b=(0,r.$j)(null,{displayErrorMessage:h.Ih});n.default=(0,g.Z)((function(e){return(0,x.Z)((0,s.Z)({},(0,u.Bz)(e.spacing(4))))}))(b((function(e){var n=e.classes,a=e.displayErrorMessage,s=(0,i.useState)(!0),r=(0,t.Z)(s,2),l=r[0],u=r[1],x=(0,i.useState)(null),g=(0,t.Z)(x,2),h=g[0],b=g[1],y=(0,i.useCallback)((function(){f.Z.invoke("GET","/api/v1/admin/info").then((function(e){b(e),u(!1)})).catch((function(e){a(e),u(!1)}))}),[b,u,a]);(0,i.useEffect)((function(){l&&y()}),[l,y]);var C=o()(h,"widgets",null);return(0,Z.jsxs)(i.Fragment,{children:[(0,Z.jsx)(d.Z,{label:"Metrics"}),l?(0,Z.jsx)(m.ZP,{container:!0,children:(0,Z.jsx)(m.ZP,{item:!0,xs:12,className:n.container,children:(0,Z.jsx)(p.Z,{})})}):(0,Z.jsx)(i.Fragment,{children:null!==C?(0,Z.jsx)(m.ZP,{container:!0,className:n.container,children:(0,Z.jsx)(c.Z,{})}):(0,Z.jsx)(j.Z,{usage:h})})]})})))}}]); -//# sourceMappingURL=8503.6ce0ff69.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[8503],{35721:function(e,n,a){a(50390);var t=a(34424),s=a(25594),i=a(86509),r=a(4285),l=a(35477),o=a(95467),c=a(26805),d=a(44078),m=a(5265),u=a(98280),x=a(62559),g={toggleList:m.kQ},p=(0,t.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),g);n.Z=p((0,r.Z)((function(e){return(0,i.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,a=e.label,t=e.actions,i=e.sidebarOpen,r=e.operatorMode,m=e.managerObjects,g=e.toggleList,p=e.middleComponent;return(0,x.jsxs)(s.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,x.jsxs)(s.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!i&&(0,x.jsx)("div",{className:n.logo,children:r?(0,x.jsx)(c.Z,{}):(0,x.jsx)(d.Z,{})}),(0,x.jsx)(l.Z,{variant:"h4",className:n.labelStyle,children:a})]}),p&&(0,x.jsx)(s.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:p}),(0,x.jsxs)(s.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:n.rightMenu,children:[t&&t,m&&m.length>0&&(0,x.jsx)(o.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){g()},size:"large",children:(0,x.jsx)(u.gx,{})})]})]})})))},8503:function(e,n,a){a.r(n);var t=a(23430),s=a(18489),i=a(50390),r=a(34424),l=a(38342),o=a.n(l),c=a(75312),d=a(35721),m=a(25594),u=a(72462),x=a(86509),g=a(4285),p=a(81378),f=a(30324),h=a(44149),j=a(46134),Z=a(62559),b=(0,r.$j)(null,{displayErrorMessage:h.Ih});n.default=(0,g.Z)((function(e){return(0,x.Z)((0,s.Z)({},(0,u.Bz)(e.spacing(4))))}))(b((function(e){var n=e.classes,a=e.displayErrorMessage,s=(0,i.useState)(!0),r=(0,t.Z)(s,2),l=r[0],u=r[1],x=(0,i.useState)(null),g=(0,t.Z)(x,2),h=g[0],b=g[1],y=(0,i.useCallback)((function(){f.Z.invoke("GET","/api/v1/admin/info").then((function(e){b(e),u(!1)})).catch((function(e){a(e),u(!1)}))}),[b,u,a]);(0,i.useEffect)((function(){l&&y()}),[l,y]);var C=o()(h,"widgets",null);return(0,Z.jsxs)(i.Fragment,{children:[(0,Z.jsx)(d.Z,{label:"Metrics"}),l?(0,Z.jsx)(m.ZP,{container:!0,children:(0,Z.jsx)(m.ZP,{item:!0,xs:12,className:n.container,children:(0,Z.jsx)(p.Z,{})})}):(0,Z.jsx)(i.Fragment,{children:null!==C?(0,Z.jsx)(m.ZP,{container:!0,className:n.container,children:(0,Z.jsx)(c.Z,{})}):(0,Z.jsx)(j.Z,{usage:h})})]})})))}}]); +//# sourceMappingURL=8503.e5a8b0ef.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/8503.6ce0ff69.chunk.js.map b/portal-ui/build/static/js/8503.e5a8b0ef.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/8503.6ce0ff69.chunk.js.map rename to portal-ui/build/static/js/8503.e5a8b0ef.chunk.js.map index 545dda978..88db3d817 100644 --- a/portal-ui/build/static/js/8503.6ce0ff69.chunk.js.map +++ b/portal-ui/build/static/js/8503.e5a8b0ef.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/8503.6ce0ff69.chunk.js","mappings":"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","sources":["screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Dashboard/Dashboard.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 { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport PrDashboard from \"./Prometheus/PrDashboard\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport Grid from \"@mui/material/Grid\";\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 { LinearProgress } from \"@mui/material\";\nimport api from \"../../../common/api\";\nimport { Usage } from \"./types\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport BasicDashboard from \"./BasicDashboard/BasicDashboard\";\n\ninterface IDashboardSimple {\n classes: any;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst Dashboard = ({ classes, displayErrorMessage }: IDashboardSimple) => {\n const [loading, setLoading] = useState(true);\n const [basicResult, setBasicResult] = useState(null);\n\n const fetchUsage = useCallback(() => {\n api\n .invoke(\"GET\", `/api/v1/admin/info`)\n .then((res: Usage) => {\n setBasicResult(res);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n displayErrorMessage(err);\n setLoading(false);\n });\n }, [setBasicResult, setLoading, displayErrorMessage]);\n\n useEffect(() => {\n if (loading) {\n fetchUsage();\n }\n }, [loading, fetchUsage]);\n\n const widgets = get(basicResult, \"widgets\", null);\n\n return (\n \n \n {loading ? (\n \n \n \n \n \n ) : (\n \n {widgets !== null ? (\n \n \n \n ) : (\n \n )}\n \n )}\n \n );\n};\n\nconst connector = connect(null, {\n displayErrorMessage: setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(Dashboard));\n"],"names":["mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","withStyles","theme","createStyles","headerContainer","width","minHeight","display","backgroundColor","left","boxShadow","label","justifyContent","alignItems","labelStyle","color","fontSize","fontWeight","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","classes","actions","container","className","direction","item","xs","sm","md","sx","paddingTop","variant","length","component","onClick","size","displayErrorMessage","setErrorSnackMessage","containerForHeader","spacing","useState","loading","setLoading","basicResult","setBasicResult","fetchUsage","useCallback","api","then","res","catch","err","useEffect","widgets","get","Fragment","usage"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/8503.e5a8b0ef.chunk.js","mappings":"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","sources":["screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Dashboard/Dashboard.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 { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport PrDashboard from \"./Prometheus/PrDashboard\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport Grid from \"@mui/material/Grid\";\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 { LinearProgress } from \"@mui/material\";\nimport api from \"../../../common/api\";\nimport { Usage } from \"./types\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport BasicDashboard from \"./BasicDashboard/BasicDashboard\";\n\ninterface IDashboardSimple {\n classes: any;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst Dashboard = ({ classes, displayErrorMessage }: IDashboardSimple) => {\n const [loading, setLoading] = useState(true);\n const [basicResult, setBasicResult] = useState(null);\n\n const fetchUsage = useCallback(() => {\n api\n .invoke(\"GET\", `/api/v1/admin/info`)\n .then((res: Usage) => {\n setBasicResult(res);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n displayErrorMessage(err);\n setLoading(false);\n });\n }, [setBasicResult, setLoading, displayErrorMessage]);\n\n useEffect(() => {\n if (loading) {\n fetchUsage();\n }\n }, [loading, fetchUsage]);\n\n const widgets = get(basicResult, \"widgets\", null);\n\n return (\n \n \n {loading ? (\n \n \n \n \n \n ) : (\n \n {widgets !== null ? (\n \n \n \n ) : (\n \n )}\n \n )}\n \n );\n};\n\nconst connector = connect(null, {\n displayErrorMessage: setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(Dashboard));\n"],"names":["mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","withStyles","theme","createStyles","headerContainer","width","minHeight","display","backgroundColor","left","boxShadow","label","justifyContent","alignItems","labelStyle","color","fontSize","fontWeight","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","classes","actions","container","className","direction","item","xs","sm","md","sx","paddingTop","variant","length","component","onClick","size","displayErrorMessage","setErrorSnackMessage","containerForHeader","spacing","useState","loading","setLoading","basicResult","setBasicResult","fetchUsage","useCallback","api","then","res","catch","err","useEffect","widgets","get","Fragment","usage"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/8564.11a3023b.chunk.js b/portal-ui/build/static/js/8564.eeedae16.chunk.js similarity index 98% rename from portal-ui/build/static/js/8564.11a3023b.chunk.js rename to portal-ui/build/static/js/8564.eeedae16.chunk.js index d3363f31f..0a1846ba8 100644 --- a/portal-ui/build/static/js/8564.11a3023b.chunk.js +++ b/portal-ui/build/static/js/8564.eeedae16.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[8564],{98564:function(n,o,t){t.r(o);var i=t(23430),a=(t(50390),t(34424)),e=t(23473),r=t(44149),s=t(21639),c=t(60656),d=t(11387),l=t(62559),u={setErrorSnackMessage:r.Ih},g=(0,a.$j)(null,u);o.default=g((function(n){var o=n.closeDeleteModalAndRefresh,t=n.deleteOpen,a=n.selectedBucket,r=n.ruleToDelete,u=n.setErrorSnackMessage,g=(0,s.Z)((function(){return o(!0)}),(function(n){return u(n)})),f=(0,i.Z)(g,2),Z=f[0],v=f[1];if(!a)return null;return(0,l.jsx)(c.Z,{title:"Delete Replication Rule",confirmText:"Delete",isOpen:t,titleIcon:(0,l.jsx)(d.Nv,{}),isLoading:Z,onConfirm:function(){v("DELETE","/api/v1/buckets/".concat(a,"/replication/").concat(r))},onClose:function(){return o(!1)},confirmationContent:(0,l.jsxs)(e.Z,{children:["Are you sure you want to delete replication rule ",(0,l.jsx)("b",{children:r}),"? ",(0,l.jsx)("br",{}),"Remember, at lease one rule must be present once replication has been enabled"]})})}))},21639:function(n,o,t){var i=t(23430),a=t(50390),e=t(30324);o.Z=function(n,o){var t=(0,a.useState)(!1),r=(0,i.Z)(t,2),s=r[0],c=r[1];return[s,function(t,i,a){c(!0),e.Z.invoke(t,i,a).then((function(o){c(!1),n(o)})).catch((function(n){c(!1),o(n)}))}]}},60656:function(n,o,t){var i=t(18489),a=t(50390),e=t(84402),r=t(78426),s=t(93085),c=t(7887),d=t(66946),l=t(14476),u=t(95467),g=t(21278),f=t(86509),Z=t(4285),v=t(72462),p=t(62559);o.Z=(0,Z.Z)((function(n){return(0,f.Z)((0,i.Z)({},v.Qw))}))((function(n){var o=n.isOpen,t=void 0!==o&&o,f=n.onClose,Z=n.onCancel,v=n.onConfirm,m=n.classes,h=void 0===m?{}:m,x=n.title,I=void 0===x?"":x,b=n.isLoading,S=n.confirmationContent,L=n.cancelText,j=void 0===L?"Cancel":L,P=n.confirmText,C=void 0===P?"Confirm":P,w=n.confirmButtonProps,y=void 0===w?{}:w,M=n.cancelButtonProps,R=void 0===M?{}:M,k=n.titleIcon,N=void 0===k?null:k;return(0,p.jsxs)(e.Z,{open:t,onClose:function(n,o){"backdropClick"!==o&&f()},className:h.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,p.jsxs)(r.Z,{className:h.title,children:[(0,p.jsxs)("div",{className:h.titleText,children:[N," ",I]}),(0,p.jsx)("div",{className:h.closeContainer,children:(0,p.jsx)(u.Z,{"aria-label":"close",className:h.closeButton,onClick:f,disableRipple:!0,size:"small",children:(0,p.jsx)(g.Z,{})})})]}),(0,p.jsx)(s.Z,{className:h.content,children:S}),(0,p.jsxs)(c.Z,{className:h.actions,children:[(0,p.jsx)(d.Z,(0,i.Z)((0,i.Z)({className:h.cancelButton,onClick:Z||f,disabled:b,type:"button"},R),{},{variant:"outlined",color:"primary",children:j})),(0,p.jsx)(l.Z,(0,i.Z)((0,i.Z)({className:h.confirmButton,type:"button",onClick:v,loading:b,disabled:b,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,p.jsx)(a.Fragment,{}),autoFocus:!0},y),{},{children:C}))]})]})}))},14476:function(n,o,t){t.d(o,{Z:function(){return b}});var i=t(36222),a=t(46633),e=t(18207),r=t(50390),s=t(91442),c=t(4733),d=t(50076),l=t(8208),u=t(15573),g=t(66946),f=t(18201),Z=t(10594);function v(n){return(0,Z.Z)("MuiLoadingButton",n)}var p=(0,t(43349).Z)("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),m=t(62559),h=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],x=(0,l.ZP)(g.Z,{shouldForwardProp:function(n){return function(n){return"ownerState"!==n&&"theme"!==n&&"sx"!==n&&"as"!==n&&"classes"!==n}(n)||"classes"===n},name:"MuiLoadingButton",slot:"Root",overridesResolver:function(n,o){return[o.root,o.startIconLoadingStart&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart),o.startIconLoadingStart),o.endIconLoadingEnd&&(0,i.Z)({},"& .".concat(p.endIconLoadingEnd),o.endIconLoadingEnd)]}})((function(n){var o=n.ownerState,t=n.theme;return(0,e.Z)((0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0}),"center"===o.loadingPosition&&(0,i.Z)({transition:t.transitions.create(["background-color","box-shadow","border-color"],{duration:t.transitions.duration.short})},"&.".concat(p.loading),{color:"transparent"}),"start"===o.loadingPosition&&o.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0,marginRight:-8}),"end"===o.loadingPosition&&o.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0,marginLeft:-8}))})),I=(0,l.ZP)("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:function(n,o){var t=n.ownerState;return[o.loadingIndicator,o["loadingIndicator".concat((0,s.Z)(t.loadingPosition))]]}})((function(n){var o=n.theme,t=n.ownerState;return(0,e.Z)({position:"absolute",visibility:"visible",display:"flex"},"start"===t.loadingPosition&&("outlined"===t.variant||"contained"===t.variant)&&{left:14},"start"===t.loadingPosition&&"text"===t.variant&&{left:6},"center"===t.loadingPosition&&{left:"50%",transform:"translate(-50%)",color:o.palette.action.disabled},"end"===t.loadingPosition&&("outlined"===t.variant||"contained"===t.variant)&&{right:14},"end"===t.loadingPosition&&"text"===t.variant&&{right:6},"start"===t.loadingPosition&&t.fullWidth&&{position:"relative",left:-10},"end"===t.loadingPosition&&t.fullWidth&&{position:"relative",right:-10})})),b=r.forwardRef((function(n,o){var t=(0,u.Z)({props:n,name:"MuiLoadingButton"}),i=t.children,l=t.disabled,g=void 0!==l&&l,Z=t.id,p=t.loading,b=void 0!==p&&p,S=t.loadingIndicator,L=t.loadingPosition,j=void 0===L?"center":L,P=t.variant,C=void 0===P?"text":P,w=(0,a.Z)(t,h),y=(0,c.Z)(Z),M=null!=S?S:(0,m.jsx)(f.Z,{"aria-labelledby":y,color:"inherit",size:16}),R=(0,e.Z)({},t,{disabled:g,loading:b,loadingIndicator:M,loadingPosition:j,variant:C}),k=function(n){var o=n.loading,t=n.loadingPosition,i=n.classes,a={root:["root",o&&"loading"],startIcon:[o&&"startIconLoading".concat((0,s.Z)(t))],endIcon:[o&&"endIconLoading".concat((0,s.Z)(t))],loadingIndicator:["loadingIndicator",o&&"loadingIndicator".concat((0,s.Z)(t))]},r=(0,d.Z)(a,v,i);return(0,e.Z)({},i,r)}(R);return(0,m.jsx)(x,(0,e.Z)({disabled:g||b,id:y,ref:o},w,{variant:C,classes:k,ownerState:R,children:"end"===R.loadingPosition?(0,m.jsxs)(r.Fragment,{children:[i,b&&(0,m.jsx)(I,{className:k.loadingIndicator,ownerState:R,children:M})]}):(0,m.jsxs)(r.Fragment,{children:[b&&(0,m.jsx)(I,{className:k.loadingIndicator,ownerState:R,children:M}),i]})}))}))},7887:function(n,o,t){t.d(o,{Z:function(){return v}});var i=t(1048),a=t(32793),e=t(50390),r=t(44977),s=t(50076),c=t(8208),d=t(15573),l=t(10594);function u(n){return(0,l.Z)("MuiDialogActions",n)}(0,t(43349).Z)("MuiDialogActions",["root","spacing"]);var g=t(62559),f=["className","disableSpacing"],Z=(0,c.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(n,o){var t=n.ownerState;return[o.root,!t.disableSpacing&&o.spacing]}})((function(n){var o=n.ownerState;return(0,a.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!o.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),v=e.forwardRef((function(n,o){var t=(0,d.Z)({props:n,name:"MuiDialogActions"}),e=t.className,c=t.disableSpacing,l=void 0!==c&&c,v=(0,i.Z)(t,f),p=(0,a.Z)({},t,{disableSpacing:l}),m=function(n){var o=n.classes,t={root:["root",!n.disableSpacing&&"spacing"]};return(0,s.Z)(t,u,o)}(p);return(0,g.jsx)(Z,(0,a.Z)({className:(0,r.Z)(m.root,e),ownerState:p,ref:o},v))}))},23473:function(n,o,t){t.d(o,{Z:function(){return v}});var i=t(1048),a=t(32793),e=t(50390),r=t(50076),s=t(8208),c=t(15573),d=t(35477),l=t(10594);function u(n){return(0,l.Z)("MuiDialogContentText",n)}(0,t(43349).Z)("MuiDialogContentText",["root"]);var g=t(62559),f=["children"],Z=(0,s.ZP)(d.Z,{shouldForwardProp:function(n){return(0,s.FO)(n)||"classes"===n},name:"MuiDialogContentText",slot:"Root",overridesResolver:function(n,o){return o.root}})({}),v=e.forwardRef((function(n,o){var t=(0,c.Z)({props:n,name:"MuiDialogContentText"}),e=(0,i.Z)(t,f),s=function(n){var o=n.classes,t=(0,r.Z)({root:["root"]},u,o);return(0,a.Z)({},o,t)}(e);return(0,g.jsx)(Z,(0,a.Z)({component:"p",variant:"body1",color:"text.secondary",ref:o,ownerState:e},t,{classes:s}))}))}}]); -//# sourceMappingURL=8564.11a3023b.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[8564],{98564:function(n,o,t){t.r(o);var i=t(23430),a=(t(50390),t(34424)),e=t(23473),r=t(44149),s=t(21639),c=t(60656),d=t(98280),l=t(62559),u={setErrorSnackMessage:r.Ih},g=(0,a.$j)(null,u);o.default=g((function(n){var o=n.closeDeleteModalAndRefresh,t=n.deleteOpen,a=n.selectedBucket,r=n.ruleToDelete,u=n.setErrorSnackMessage,g=(0,s.Z)((function(){return o(!0)}),(function(n){return u(n)})),f=(0,i.Z)(g,2),Z=f[0],v=f[1];if(!a)return null;return(0,l.jsx)(c.Z,{title:"Delete Replication Rule",confirmText:"Delete",isOpen:t,titleIcon:(0,l.jsx)(d.Nv,{}),isLoading:Z,onConfirm:function(){v("DELETE","/api/v1/buckets/".concat(a,"/replication/").concat(r))},onClose:function(){return o(!1)},confirmationContent:(0,l.jsxs)(e.Z,{children:["Are you sure you want to delete replication rule ",(0,l.jsx)("b",{children:r}),"? ",(0,l.jsx)("br",{}),"Remember, at lease one rule must be present once replication has been enabled"]})})}))},21639:function(n,o,t){var i=t(23430),a=t(50390),e=t(30324);o.Z=function(n,o){var t=(0,a.useState)(!1),r=(0,i.Z)(t,2),s=r[0],c=r[1];return[s,function(t,i,a){c(!0),e.Z.invoke(t,i,a).then((function(o){c(!1),n(o)})).catch((function(n){c(!1),o(n)}))}]}},60656:function(n,o,t){var i=t(18489),a=t(50390),e=t(84402),r=t(78426),s=t(93085),c=t(7887),d=t(66946),l=t(14476),u=t(95467),g=t(21278),f=t(86509),Z=t(4285),v=t(72462),p=t(62559);o.Z=(0,Z.Z)((function(n){return(0,f.Z)((0,i.Z)({},v.Qw))}))((function(n){var o=n.isOpen,t=void 0!==o&&o,f=n.onClose,Z=n.onCancel,v=n.onConfirm,m=n.classes,h=void 0===m?{}:m,x=n.title,I=void 0===x?"":x,b=n.isLoading,S=n.confirmationContent,L=n.cancelText,j=void 0===L?"Cancel":L,P=n.confirmText,C=void 0===P?"Confirm":P,w=n.confirmButtonProps,y=void 0===w?{}:w,M=n.cancelButtonProps,R=void 0===M?{}:M,k=n.titleIcon,N=void 0===k?null:k;return(0,p.jsxs)(e.Z,{open:t,onClose:function(n,o){"backdropClick"!==o&&f()},className:h.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,p.jsxs)(r.Z,{className:h.title,children:[(0,p.jsxs)("div",{className:h.titleText,children:[N," ",I]}),(0,p.jsx)("div",{className:h.closeContainer,children:(0,p.jsx)(u.Z,{"aria-label":"close",className:h.closeButton,onClick:f,disableRipple:!0,size:"small",children:(0,p.jsx)(g.Z,{})})})]}),(0,p.jsx)(s.Z,{className:h.content,children:S}),(0,p.jsxs)(c.Z,{className:h.actions,children:[(0,p.jsx)(d.Z,(0,i.Z)((0,i.Z)({className:h.cancelButton,onClick:Z||f,disabled:b,type:"button"},R),{},{variant:"outlined",color:"primary",children:j})),(0,p.jsx)(l.Z,(0,i.Z)((0,i.Z)({className:h.confirmButton,type:"button",onClick:v,loading:b,disabled:b,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,p.jsx)(a.Fragment,{}),autoFocus:!0},y),{},{children:C}))]})]})}))},14476:function(n,o,t){t.d(o,{Z:function(){return b}});var i=t(36222),a=t(46633),e=t(18207),r=t(50390),s=t(91442),c=t(4733),d=t(50076),l=t(8208),u=t(15573),g=t(66946),f=t(18201),Z=t(10594);function v(n){return(0,Z.Z)("MuiLoadingButton",n)}var p=(0,t(43349).Z)("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),m=t(62559),h=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],x=(0,l.ZP)(g.Z,{shouldForwardProp:function(n){return function(n){return"ownerState"!==n&&"theme"!==n&&"sx"!==n&&"as"!==n&&"classes"!==n}(n)||"classes"===n},name:"MuiLoadingButton",slot:"Root",overridesResolver:function(n,o){return[o.root,o.startIconLoadingStart&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart),o.startIconLoadingStart),o.endIconLoadingEnd&&(0,i.Z)({},"& .".concat(p.endIconLoadingEnd),o.endIconLoadingEnd)]}})((function(n){var o=n.ownerState,t=n.theme;return(0,e.Z)((0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0}),"center"===o.loadingPosition&&(0,i.Z)({transition:t.transitions.create(["background-color","box-shadow","border-color"],{duration:t.transitions.duration.short})},"&.".concat(p.loading),{color:"transparent"}),"start"===o.loadingPosition&&o.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0,marginRight:-8}),"end"===o.loadingPosition&&o.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0,marginLeft:-8}))})),I=(0,l.ZP)("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:function(n,o){var t=n.ownerState;return[o.loadingIndicator,o["loadingIndicator".concat((0,s.Z)(t.loadingPosition))]]}})((function(n){var o=n.theme,t=n.ownerState;return(0,e.Z)({position:"absolute",visibility:"visible",display:"flex"},"start"===t.loadingPosition&&("outlined"===t.variant||"contained"===t.variant)&&{left:14},"start"===t.loadingPosition&&"text"===t.variant&&{left:6},"center"===t.loadingPosition&&{left:"50%",transform:"translate(-50%)",color:o.palette.action.disabled},"end"===t.loadingPosition&&("outlined"===t.variant||"contained"===t.variant)&&{right:14},"end"===t.loadingPosition&&"text"===t.variant&&{right:6},"start"===t.loadingPosition&&t.fullWidth&&{position:"relative",left:-10},"end"===t.loadingPosition&&t.fullWidth&&{position:"relative",right:-10})})),b=r.forwardRef((function(n,o){var t=(0,u.Z)({props:n,name:"MuiLoadingButton"}),i=t.children,l=t.disabled,g=void 0!==l&&l,Z=t.id,p=t.loading,b=void 0!==p&&p,S=t.loadingIndicator,L=t.loadingPosition,j=void 0===L?"center":L,P=t.variant,C=void 0===P?"text":P,w=(0,a.Z)(t,h),y=(0,c.Z)(Z),M=null!=S?S:(0,m.jsx)(f.Z,{"aria-labelledby":y,color:"inherit",size:16}),R=(0,e.Z)({},t,{disabled:g,loading:b,loadingIndicator:M,loadingPosition:j,variant:C}),k=function(n){var o=n.loading,t=n.loadingPosition,i=n.classes,a={root:["root",o&&"loading"],startIcon:[o&&"startIconLoading".concat((0,s.Z)(t))],endIcon:[o&&"endIconLoading".concat((0,s.Z)(t))],loadingIndicator:["loadingIndicator",o&&"loadingIndicator".concat((0,s.Z)(t))]},r=(0,d.Z)(a,v,i);return(0,e.Z)({},i,r)}(R);return(0,m.jsx)(x,(0,e.Z)({disabled:g||b,id:y,ref:o},w,{variant:C,classes:k,ownerState:R,children:"end"===R.loadingPosition?(0,m.jsxs)(r.Fragment,{children:[i,b&&(0,m.jsx)(I,{className:k.loadingIndicator,ownerState:R,children:M})]}):(0,m.jsxs)(r.Fragment,{children:[b&&(0,m.jsx)(I,{className:k.loadingIndicator,ownerState:R,children:M}),i]})}))}))},7887:function(n,o,t){t.d(o,{Z:function(){return v}});var i=t(1048),a=t(32793),e=t(50390),r=t(44977),s=t(50076),c=t(8208),d=t(15573),l=t(10594);function u(n){return(0,l.Z)("MuiDialogActions",n)}(0,t(43349).Z)("MuiDialogActions",["root","spacing"]);var g=t(62559),f=["className","disableSpacing"],Z=(0,c.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(n,o){var t=n.ownerState;return[o.root,!t.disableSpacing&&o.spacing]}})((function(n){var o=n.ownerState;return(0,a.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!o.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),v=e.forwardRef((function(n,o){var t=(0,d.Z)({props:n,name:"MuiDialogActions"}),e=t.className,c=t.disableSpacing,l=void 0!==c&&c,v=(0,i.Z)(t,f),p=(0,a.Z)({},t,{disableSpacing:l}),m=function(n){var o=n.classes,t={root:["root",!n.disableSpacing&&"spacing"]};return(0,s.Z)(t,u,o)}(p);return(0,g.jsx)(Z,(0,a.Z)({className:(0,r.Z)(m.root,e),ownerState:p,ref:o},v))}))},23473:function(n,o,t){t.d(o,{Z:function(){return v}});var i=t(1048),a=t(32793),e=t(50390),r=t(50076),s=t(8208),c=t(15573),d=t(35477),l=t(10594);function u(n){return(0,l.Z)("MuiDialogContentText",n)}(0,t(43349).Z)("MuiDialogContentText",["root"]);var g=t(62559),f=["children"],Z=(0,s.ZP)(d.Z,{shouldForwardProp:function(n){return(0,s.FO)(n)||"classes"===n},name:"MuiDialogContentText",slot:"Root",overridesResolver:function(n,o){return o.root}})({}),v=e.forwardRef((function(n,o){var t=(0,c.Z)({props:n,name:"MuiDialogContentText"}),e=(0,i.Z)(t,f),s=function(n){var o=n.classes,t=(0,r.Z)({root:["root"]},u,o);return(0,a.Z)({},o,t)}(e);return(0,g.jsx)(Z,(0,a.Z)({component:"p",variant:"body1",color:"text.secondary",ref:o,ownerState:e},t,{classes:s}))}))}}]); +//# sourceMappingURL=8564.eeedae16.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/8564.11a3023b.chunk.js.map b/portal-ui/build/static/js/8564.eeedae16.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/8564.11a3023b.chunk.js.map rename to portal-ui/build/static/js/8564.eeedae16.chunk.js.map index d62ee6b4f..a795ce953 100644 --- a/portal-ui/build/static/js/8564.11a3023b.chunk.js.map +++ b/portal-ui/build/static/js/8564.eeedae16.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/8564.11a3023b.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/DeleteReplicationRule.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","../node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","../node_modules/@mui/lab/LoadingButton/LoadingButton.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.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 { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\n\ninterface IDeleteReplicationProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedBucket: string;\n ruleToDelete: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeleteReplicationRule = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n ruleToDelete,\n setErrorSnackMessage,\n}: IDeleteReplicationProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedBucket) {\n return null;\n }\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/buckets/${selectedBucket}/replication/${ruleToDelete}`\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 replication rule {ruleToDelete}\n ?
\n Remember, at lease one rule must be present once replication has been\n enabled\n
\n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteReplicationRule);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLoadingButtonUtilityClass(slot) {\n return generateUtilityClass('MuiLoadingButton', slot);\n}\nconst loadingButtonClasses = generateUtilityClasses('MuiLoadingButton', ['root', 'loading', 'loadingIndicator', 'loadingIndicatorCenter', 'loadingIndicatorStart', 'loadingIndicatorEnd', 'endIconLoadingEnd', 'startIconLoadingStart']);\nexport default loadingButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"disabled\", \"id\", \"loading\", \"loadingIndicator\", \"loadingPosition\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@mui/utils';\nimport { capitalize, unstable_useId as useId } from '@mui/material/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading'],\n startIcon: [loading && `startIconLoading${capitalize(loadingPosition)}`],\n endIcon: [loading && `endIconLoading${capitalize(loadingPosition)}`],\n loadingIndicator: ['loadingIndicator', loading && `loadingIndicator${capitalize(loadingPosition)}`]\n };\n const composedClasses = composeClasses(slots, getLoadingButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n}; // TODO use `import { rootShouldForwardProp } from '../styles/styled';` once move to core\n\n\nconst rootShouldForwardProp = prop => prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as' && prop !== 'classes';\n\nconst LoadingButtonRoot = styled(Button, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiLoadingButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root, styles.startIconLoadingStart && {\n [`& .${loadingButtonClasses.startIconLoadingStart}`]: styles.startIconLoadingStart\n }, styles.endIconLoadingEnd && {\n [`& .${loadingButtonClasses.endIconLoadingEnd}`]: styles.endIconLoadingEnd\n }];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n}, ownerState.loadingPosition === 'center' && {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${loadingButtonClasses.loading}`]: {\n color: 'transparent'\n }\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginRight: -8\n }\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginLeft: -8\n }\n}));\nconst LoadingButtonLoadingIndicator = styled('div', {\n name: 'MuiLoadingButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.loadingIndicator, styles[`loadingIndicator${capitalize(ownerState.loadingPosition)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'absolute',\n visibility: 'visible',\n display: 'flex'\n}, ownerState.loadingPosition === 'start' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n left: 14\n}, ownerState.loadingPosition === 'start' && ownerState.variant === 'text' && {\n left: 6\n}, ownerState.loadingPosition === 'center' && {\n left: '50%',\n transform: 'translate(-50%)',\n color: theme.palette.action.disabled\n}, ownerState.loadingPosition === 'end' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n right: 14\n}, ownerState.loadingPosition === 'end' && ownerState.variant === 'text' && {\n right: 6\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n position: 'relative',\n left: -10\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n position: 'relative',\n right: -10\n}));\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLoadingButton'\n });\n\n const {\n children,\n disabled = false,\n id: idProp,\n loading = false,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp != null ? loadingIndicatorProp : /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n\n const ownerState = _extends({}, props, {\n disabled,\n loading,\n loadingIndicator,\n loadingPosition,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LoadingButtonRoot, _extends({\n disabled: disabled || loading,\n id: id,\n ref: ref\n }, other, {\n variant: variant,\n classes: classes,\n ownerState: ownerState,\n children: ownerState.loadingPosition === 'end' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children, loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n }), children]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LoadingButton.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * @ignore\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the loading indicator is shown.\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default we render a `CircularProgress` that is labelled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: chainPropTypes(PropTypes.oneOf(['start', 'end', 'center']), props => {\n if (props.loadingPosition === 'start' && !props.startIcon) {\n return new Error(`MUI: The loadingPosition=\"start\" should be used in combination with startIcon.`);\n }\n\n if (props.loadingPosition === 'end' && !props.endIcon) {\n return new Error(`MUI: The loadingPosition=\"end\" should be used in combination with endIcon.`);\n }\n\n return null;\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes.oneOf(['contained', 'outlined', 'text'])\n} : void 0;\nexport default LoadingButton;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n\n const ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * 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 DialogContentText;"],"names":["mapDispatchToProps","setErrorSnackMessage","connector","connect","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","ruleToDelete","useApi","err","deleteLoading","invokeDeleteApi","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","onClose","confirmationContent","onSuccess","onError","useState","setIsLoading","method","url","data","api","then","res","catch","withStyles","theme","createStyles","deleteDialogStyles","onCancel","classes","cancelText","confirmButtonProps","cancelButtonProps","open","event","reason","className","root","sx","padding","titleText","closeContainer","closeButton","onClick","disableRipple","size","content","actions","cancelButton","disabled","type","variant","color","confirmButton","loading","loadingPosition","startIcon","autoFocus","getLoadingButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","LoadingButtonRoot","styled","Button","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","startIconLoadingStart","loadingButtonClasses","endIconLoadingEnd","ownerState","_extends","transition","transitions","create","duration","short","opacity","fullWidth","marginRight","marginLeft","LoadingButtonLoadingIndicator","loadingIndicator","capitalize","position","visibility","display","left","transform","palette","action","right","React","inProps","ref","useThemeProps","children","idProp","id","loadingIndicatorProp","other","_objectWithoutPropertiesLoose","useId","_jsx","CircularProgress","slots","endIcon","composedClasses","composeClasses","useUtilityClasses","_jsxs","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","spacing","alignItems","justifyContent","flex","clsx","getDialogContentTextUtilityClass","DialogContentTextRoot","Typography","component"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/8564.eeedae16.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/DeleteReplicationRule.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","../node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","../node_modules/@mui/lab/LoadingButton/LoadingButton.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.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 { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\n\ninterface IDeleteReplicationProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedBucket: string;\n ruleToDelete: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeleteReplicationRule = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n ruleToDelete,\n setErrorSnackMessage,\n}: IDeleteReplicationProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedBucket) {\n return null;\n }\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/buckets/${selectedBucket}/replication/${ruleToDelete}`\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 replication rule {ruleToDelete}\n ?
\n Remember, at lease one rule must be present once replication has been\n enabled\n
\n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteReplicationRule);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLoadingButtonUtilityClass(slot) {\n return generateUtilityClass('MuiLoadingButton', slot);\n}\nconst loadingButtonClasses = generateUtilityClasses('MuiLoadingButton', ['root', 'loading', 'loadingIndicator', 'loadingIndicatorCenter', 'loadingIndicatorStart', 'loadingIndicatorEnd', 'endIconLoadingEnd', 'startIconLoadingStart']);\nexport default loadingButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"disabled\", \"id\", \"loading\", \"loadingIndicator\", \"loadingPosition\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@mui/utils';\nimport { capitalize, unstable_useId as useId } from '@mui/material/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading'],\n startIcon: [loading && `startIconLoading${capitalize(loadingPosition)}`],\n endIcon: [loading && `endIconLoading${capitalize(loadingPosition)}`],\n loadingIndicator: ['loadingIndicator', loading && `loadingIndicator${capitalize(loadingPosition)}`]\n };\n const composedClasses = composeClasses(slots, getLoadingButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n}; // TODO use `import { rootShouldForwardProp } from '../styles/styled';` once move to core\n\n\nconst rootShouldForwardProp = prop => prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as' && prop !== 'classes';\n\nconst LoadingButtonRoot = styled(Button, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiLoadingButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root, styles.startIconLoadingStart && {\n [`& .${loadingButtonClasses.startIconLoadingStart}`]: styles.startIconLoadingStart\n }, styles.endIconLoadingEnd && {\n [`& .${loadingButtonClasses.endIconLoadingEnd}`]: styles.endIconLoadingEnd\n }];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n}, ownerState.loadingPosition === 'center' && {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${loadingButtonClasses.loading}`]: {\n color: 'transparent'\n }\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginRight: -8\n }\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginLeft: -8\n }\n}));\nconst LoadingButtonLoadingIndicator = styled('div', {\n name: 'MuiLoadingButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.loadingIndicator, styles[`loadingIndicator${capitalize(ownerState.loadingPosition)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'absolute',\n visibility: 'visible',\n display: 'flex'\n}, ownerState.loadingPosition === 'start' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n left: 14\n}, ownerState.loadingPosition === 'start' && ownerState.variant === 'text' && {\n left: 6\n}, ownerState.loadingPosition === 'center' && {\n left: '50%',\n transform: 'translate(-50%)',\n color: theme.palette.action.disabled\n}, ownerState.loadingPosition === 'end' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n right: 14\n}, ownerState.loadingPosition === 'end' && ownerState.variant === 'text' && {\n right: 6\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n position: 'relative',\n left: -10\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n position: 'relative',\n right: -10\n}));\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLoadingButton'\n });\n\n const {\n children,\n disabled = false,\n id: idProp,\n loading = false,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp != null ? loadingIndicatorProp : /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n\n const ownerState = _extends({}, props, {\n disabled,\n loading,\n loadingIndicator,\n loadingPosition,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LoadingButtonRoot, _extends({\n disabled: disabled || loading,\n id: id,\n ref: ref\n }, other, {\n variant: variant,\n classes: classes,\n ownerState: ownerState,\n children: ownerState.loadingPosition === 'end' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children, loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n }), children]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LoadingButton.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * @ignore\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the loading indicator is shown.\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default we render a `CircularProgress` that is labelled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: chainPropTypes(PropTypes.oneOf(['start', 'end', 'center']), props => {\n if (props.loadingPosition === 'start' && !props.startIcon) {\n return new Error(`MUI: The loadingPosition=\"start\" should be used in combination with startIcon.`);\n }\n\n if (props.loadingPosition === 'end' && !props.endIcon) {\n return new Error(`MUI: The loadingPosition=\"end\" should be used in combination with endIcon.`);\n }\n\n return null;\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes.oneOf(['contained', 'outlined', 'text'])\n} : void 0;\nexport default LoadingButton;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n\n const ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * 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 DialogContentText;"],"names":["mapDispatchToProps","setErrorSnackMessage","connector","connect","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","ruleToDelete","useApi","err","deleteLoading","invokeDeleteApi","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","onClose","confirmationContent","onSuccess","onError","useState","setIsLoading","method","url","data","api","then","res","catch","withStyles","theme","createStyles","deleteDialogStyles","onCancel","classes","cancelText","confirmButtonProps","cancelButtonProps","open","event","reason","className","root","sx","padding","titleText","closeContainer","closeButton","onClick","disableRipple","size","content","actions","cancelButton","disabled","type","variant","color","confirmButton","loading","loadingPosition","startIcon","autoFocus","getLoadingButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","LoadingButtonRoot","styled","Button","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","startIconLoadingStart","loadingButtonClasses","endIconLoadingEnd","ownerState","_extends","transition","transitions","create","duration","short","opacity","fullWidth","marginRight","marginLeft","LoadingButtonLoadingIndicator","loadingIndicator","capitalize","position","visibility","display","left","transform","palette","action","right","React","inProps","ref","useThemeProps","children","idProp","id","loadingIndicatorProp","other","_objectWithoutPropertiesLoose","useId","_jsx","CircularProgress","slots","endIcon","composedClasses","composeClasses","useUtilityClasses","_jsxs","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","spacing","alignItems","justifyContent","flex","clsx","getDialogContentTextUtilityClass","DialogContentTextRoot","Typography","component"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/8724.cf8fb340.chunk.js b/portal-ui/build/static/js/8724.eec4f225.chunk.js similarity index 97% rename from portal-ui/build/static/js/8724.cf8fb340.chunk.js rename to portal-ui/build/static/js/8724.eec4f225.chunk.js index 8eca024ea..59b8d0234 100644 --- a/portal-ui/build/static/js/8724.cf8fb340.chunk.js +++ b/portal-ui/build/static/js/8724.eec4f225.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[8724],{53224:function(e,n,t){var o=t(18489),r=t(83738),a=(t(50390),t(70758)),i=t(62449),s=t(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,i.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,o=n.color,r=e.palette.primary.main;return"primary"===o&&"contained"===t?r=e.palette.primary.contrastText:"primary"===o&&"outlined"===t?r=e.palette.primary.main:"secondary"===o&&(r=e.palette.secondary.main),r}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,i=e.text,d=void 0===i?"":i,u=e.disabled,m=void 0!==u&&u,f=e.tooltip,p=e.icon,x=void 0===p?null:p,g=(0,r.Z)(e,l);return(0,s.jsxs)(a.Z,(0,o.Z)((0,o.Z)({classes:n,tooltip:f||d,variant:"outlined",onClick:t,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},g),{},{children:[(0,s.jsx)("span",{children:d})," ",x]}))}},70014:function(e,n,t){var o=t(35531),r=t(23430),a=t(18489),i=t(50390),s=t(25594),l=(t(2574),t(20704)),c=t(54880),d=t(21563),u=t(36297),m=t(14602),f=t(94187),p=t(56805),x=t(86509),g=t(4285),h=t(97538),b=t(72462),Z=t(11387),C=t(53224),j=t(33034),v=t.n(j),k=t(53357),y=t(62559),S={json:d.AV,yaml:function(){return c.i.define(u.r)}},B=k.tk.theme({"&":{backgroundColor:"#FBFAFA"},".cm-content":{caretColor:"#05122B"},"&.cm-focused .cm-cursor":{borderLeftColor:"#05122B"},".cm-gutters":{backgroundColor:"#FBFAFA",color:"#000000",border:"none"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px",color:"#2781B0","& .\u037cc":{color:"#C83B51"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#dde1f1"},".cm-matchingBracket":{backgroundColor:"#05122B",color:"#ffffff"},".cm-selectionMatch":{backgroundColor:"#ebe7f1"},".cm-selectionLayer":{fontWeight:500}," .cm-selectionBackground":{backgroundColor:"#a180c7",color:"#ffffff"}},{dark:!1}),M=k.tk.theme({"&":{backgroundColor:"#282a36",color:"#ffb86c"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px","& .\u037cd, & .\u037cc":{color:"#8e6cef"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#44475a"},".cm-matchingBracket":{backgroundColor:"#842de5",color:"#ff79c6"},".cm-selectionLayer .cm-selectionBackground":{backgroundColor:"green"}},{dark:!0});n.Z=(0,g.Z)((function(e){return(0,x.Z)((0,a.Z)((0,a.Z)({},b.YI),{},{inputLabel:(0,a.Z)((0,a.Z)({},b.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.value,t=e.label,a=void 0===t?"":t,c=e.tooltip,d=void 0===c?"":c,u=e.mode,x=void 0===u?"json":u,g=e.classes,b=e.onBeforeChange,j=e.readOnly,k=void 0!==j&&j,E=e.editorHeight,N=void 0===E?"250px":E,L=(0,i.useState)(!1),w=(0,r.Z)(L,2),z=w[0],I=w[1],D=[];return S[x]&&(D=[].concat((0,o.Z)(D),[S[x]()])),(0,y.jsxs)(i.Fragment,{children:[(0,y.jsxs)(m.Z,{className:g.inputLabel,children:[(0,y.jsx)("span",{children:a}),""!==d&&(0,y.jsx)("div",{className:g.tooltipContainer,children:(0,y.jsx)(f.Z,{title:d,placement:"top-start",children:(0,y.jsx)("div",{className:g.tooltip,children:(0,y.jsx)(h.Z,{})})})})]}),(0,y.jsx)(s.ZP,{item:!0,xs:12,children:(0,y.jsx)("br",{})}),(0,y.jsxs)(s.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea"},children:[(0,y.jsx)(s.ZP,{item:!0,xs:12,children:(0,y.jsx)(l.ZP,{value:n,theme:z?M:B,extensions:D,editable:!k,basicSetup:!0,height:N,onChange:function(e,n){b(null,null,e)}})}),(0,y.jsx)(s.ZP,{item:!0,xs:12,sx:{borderTop:"1px solid #eaeaea",background:z?"#282c34":"#f7f7f7"},children:(0,y.jsxs)(p.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)(C.Z,{tooltip:"Change theme",onClick:function(){I(!z)},text:"",icon:(0,y.jsx)(Z.EO,{}),color:"primary",variant:"outlined"}),(0,y.jsx)(v(),{text:n,children:(0,y.jsx)(C.Z,{tooltip:"Copy to Clipboard",onClick:function(){},text:"",icon:(0,y.jsx)(Z.TI,{}),color:"primary",variant:"outlined"})})]})})]})]})}))},76352:function(e,n,t){t.d(n,{Z:function(){return M}});var o,r=t(23430),a=t(18489),i=t(50390),s=t(34424),l=t(95467),c=t(97771),d=t(84402),u=t(78426),m=t(93085),f=t(86509),p=t(4285),x=t(72462),g=t(44149),h=t(38342),b=t.n(h),Z=t(92125),C=t(19538),j=t(21278),v=t(62559),k=function(){clearInterval(o)},y={displayErrorMessage:g.zb},S=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),y)((0,p.Z)((function(e){return(0,f.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var n=e.classes,t=e.modalSnackMessage,a=e.displayErrorMessage,s=e.customStyle,l=(0,i.useState)(!1),c=(0,r.Z)(l,2),d=c[0],u=c[1],m=(0,i.useState)(!1),f=(0,r.Z)(m,2),p=f[0],x=f[1],g=(0,i.useCallback)((function(){x(!1)}),[]);(0,i.useEffect)((function(){p||(a({detailedError:"",errorMessage:""}),u(!1))}),[a,p]),(0,i.useEffect)((function(){""!==t.message&&"error"===t.type&&x(!0)}),[g,t.message,t.type]);var h=b()(t,"message",""),y=b()(t,"detailedErrorMsg","");return"error"!==t.type||""===h?null:(0,v.jsx)(i.Fragment,{children:(0,v.jsxs)("div",{className:"".concat(n.modalErrorContainer," ").concat(p?n.modalErrorShow:""),style:s,onMouseOver:k,onMouseLeave:function(){o=setInterval(g,1e4)},children:[(0,v.jsx)("button",{className:n.closeButton,onClick:g,children:(0,v.jsx)(j.Z,{})}),(0,v.jsxs)("div",{className:n.errorTitle,children:[(0,v.jsx)("span",{className:n.messageIcon,children:(0,v.jsx)(C.Z,{})}),(0,v.jsx)("span",{className:n.errorLabel,children:h})]}),""!==y&&(0,v.jsxs)(i.Fragment,{children:[(0,v.jsx)("div",{className:n.detailsContainerLink,children:(0,v.jsxs)("button",{className:n.detailsButton,onClick:function(){u(!d)},children:["Details",(0,v.jsx)(Z.Z,{className:"".concat(n.arrowElement," ").concat(d?n.arrowOpen:"")})]})}),(0,v.jsx)("div",{className:"".concat(n.extraDetailsContainer," ").concat(d?n.extraDetailsOpen:""),children:y})]})]})})}))),B=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:g.MK}),M=(0,p.Z)((function(e){return(0,f.Z)((0,a.Z)((0,a.Z)({},x.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},x.sN))}))(B((function(e){var n=e.onClose,t=e.modalOpen,o=e.title,s=e.children,f=e.classes,p=e.wideLimit,x=void 0===p||p,g=e.modalSnackMessage,h=e.noContentPadding,b=e.setModalSnackMessage,Z=e.titleIcon,C=void 0===Z?null:Z,k=(0,i.useState)(!1),y=(0,r.Z)(k,2),B=y[0],M=y[1];(0,i.useEffect)((function(){b("")}),[b]),(0,i.useEffect)((function(){if(g){if(""===g.message)return void M(!1);"error"!==g.type&&M(!0)}}),[g]);var E=x?{classes:{paper:f.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},N="";return g&&(N=g.detailedErrorMsg,(""===g.detailedErrorMsg||g.detailedErrorMsg.length<5)&&(N=g.message)),(0,v.jsxs)(d.Z,(0,a.Z)((0,a.Z)({open:t,classes:f},E),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:f.root,children:[(0,v.jsxs)(u.Z,{className:f.title,children:[(0,v.jsxs)("div",{className:f.titleText,children:[C," ",o]}),(0,v.jsx)("div",{className:f.closeContainer,children:(0,v.jsx)(l.Z,{"aria-label":"close",className:f.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,v.jsx)(j.Z,{})})})]}),(0,v.jsx)(S,{}),(0,v.jsx)(c.Z,{open:B,className:f.snackBarModal,onClose:function(){M(!1),b("")},message:N,ContentProps:{className:"".concat(f.snackBar," ").concat(g&&"error"===g.type?f.errorSnackBar:"")},autoHideDuration:g&&"error"===g.type?1e4:5e3}),(0,v.jsx)(m.Z,{className:h?"":f.content,children:s})]}))})))},70313:function(e,n,t){t.r(n);var o=t(23430),r=t(18489),a=t(50390),i=t(34424),s=t(25594),l=t(81378),c=t(66946),d=t(86509),u=t(4285),m=t(30324),f=t(44149),p=t(72462),x=t(76352),g=t(70014),h=t(11387),b=t(62559),Z={setModalErrorSnackMessage:f.zb},C=(0,i.$j)(null,Z);n.default=(0,u.Z)((function(e){return(0,d.Z)((0,r.Z)((0,r.Z)({buttonContainer:{textAlign:"right"},errorState:{color:"#b53b4b",fontSize:14,fontWeight:"bold"},codeMirrorContainer:{marginBottom:20,paddingLeft:15,"& label":{marginBottom:".5rem"},"& label + div":{display:"none"}}},p.ID),p.YI))}))(C((function(e){var n=e.classes,t=e.open,r=e.closeModalAndRefresh,i=e.tenant,d=e.namespace,u=e.setModalErrorSnackMessage,f=(0,a.useState)(!1),p=(0,o.Z)(f,2),Z=p[0],C=p[1],j=(0,a.useState)(!1),v=(0,o.Z)(j,2),k=v[0],y=v[1],S=(0,a.useState)(""),B=(0,o.Z)(S,2),M=B[0],E=B[1],N=(0,a.useState)(""),L=(0,o.Z)(N,2),w=L[0],z=L[1];(0,a.useEffect)((function(){m.Z.invoke("GET","/api/v1/namespaces/".concat(d,"/tenants/").concat(i,"/yaml")).then((function(e){y(!1),E(e.yaml)})).catch((function(e){y(!1),u(e)}))}),[i,d,u]),(0,a.useEffect)((function(){}),[]);var I=""!==M.trim();return(0,b.jsxs)(x.Z,{modalOpen:t,onClose:function(){r(!1)},title:"YAML",titleIcon:(0,b.jsx)(h.wK,{}),children:[Z||k&&(0,b.jsx)(s.ZP,{item:!0,xs:12,children:(0,b.jsx)(l.Z,{})}),""!==w&&(0,b.jsx)("div",{className:n.errorState,children:w}),!k&&(0,b.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),Z||(C(!0),z(""),m.Z.invoke("PUT","/api/v1/namespaces/".concat(d,"/tenants/").concat(i,"/yaml"),{yaml:M}).then((function(e){C(!1),r(!0),z("")})).catch((function(e){C(!1),z(e.errorMessage)})))},children:(0,b.jsxs)(s.ZP,{container:!0,children:[(0,b.jsx)(s.ZP,{item:!0,xs:12,className:n.codeMirrorContainer,children:(0,b.jsx)(g.Z,{label:"Tenant Specification",value:M,mode:"yaml",onBeforeChange:function(e,n,t){E(t)},editorHeight:"550px"})}),(0,b.jsxs)(s.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,b.jsx)(c.Z,{type:"button",variant:"outlined",color:"primary",disabled:Z,onClick:function(){r(!1)},children:"Cancel"}),(0,b.jsx)(c.Z,{type:"submit",variant:"contained",color:"primary",disabled:Z||!I,children:"Save"})]})]})})]})})))}}]); -//# sourceMappingURL=8724.cf8fb340.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[8724],{53224:function(e,n,t){var o=t(18489),r=t(83738),a=(t(50390),t(70758)),i=t(62449),s=t(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,i.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,o=n.color,r=e.palette.primary.main;return"primary"===o&&"contained"===t?r=e.palette.primary.contrastText:"primary"===o&&"outlined"===t?r=e.palette.primary.main:"secondary"===o&&(r=e.palette.secondary.main),r}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,i=e.text,d=void 0===i?"":i,u=e.disabled,m=void 0!==u&&u,f=e.tooltip,p=e.icon,x=void 0===p?null:p,g=(0,r.Z)(e,l);return(0,s.jsxs)(a.Z,(0,o.Z)((0,o.Z)({classes:n,tooltip:f||d,variant:"outlined",onClick:t,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},g),{},{children:[(0,s.jsx)("span",{children:d})," ",x]}))}},70014:function(e,n,t){var o=t(35531),r=t(23430),a=t(18489),i=t(50390),s=t(25594),l=(t(2574),t(20704)),c=t(54880),d=t(21563),u=t(36297),m=t(36554),f=t(94187),p=t(56805),x=t(86509),g=t(4285),h=t(97538),b=t(72462),Z=t(98280),C=t(53224),j=t(33034),v=t.n(j),k=t(53357),y=t(62559),S={json:d.AV,yaml:function(){return c.i.define(u.r)}},B=k.tk.theme({"&":{backgroundColor:"#FBFAFA"},".cm-content":{caretColor:"#05122B"},"&.cm-focused .cm-cursor":{borderLeftColor:"#05122B"},".cm-gutters":{backgroundColor:"#FBFAFA",color:"#000000",border:"none"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px",color:"#2781B0","& .\u037cc":{color:"#C83B51"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#dde1f1"},".cm-matchingBracket":{backgroundColor:"#05122B",color:"#ffffff"},".cm-selectionMatch":{backgroundColor:"#ebe7f1"},".cm-selectionLayer":{fontWeight:500}," .cm-selectionBackground":{backgroundColor:"#a180c7",color:"#ffffff"}},{dark:!1}),M=k.tk.theme({"&":{backgroundColor:"#282a36",color:"#ffb86c"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px","& .\u037cd, & .\u037cc":{color:"#8e6cef"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#44475a"},".cm-matchingBracket":{backgroundColor:"#842de5",color:"#ff79c6"},".cm-selectionLayer .cm-selectionBackground":{backgroundColor:"green"}},{dark:!0});n.Z=(0,g.Z)((function(e){return(0,x.Z)((0,a.Z)((0,a.Z)({},b.YI),{},{inputLabel:(0,a.Z)((0,a.Z)({},b.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.value,t=e.label,a=void 0===t?"":t,c=e.tooltip,d=void 0===c?"":c,u=e.mode,x=void 0===u?"json":u,g=e.classes,b=e.onBeforeChange,j=e.readOnly,k=void 0!==j&&j,E=e.editorHeight,N=void 0===E?"250px":E,L=(0,i.useState)(!1),w=(0,r.Z)(L,2),z=w[0],I=w[1],D=[];return S[x]&&(D=[].concat((0,o.Z)(D),[S[x]()])),(0,y.jsxs)(i.Fragment,{children:[(0,y.jsxs)(m.Z,{className:g.inputLabel,children:[(0,y.jsx)("span",{children:a}),""!==d&&(0,y.jsx)("div",{className:g.tooltipContainer,children:(0,y.jsx)(f.Z,{title:d,placement:"top-start",children:(0,y.jsx)("div",{className:g.tooltip,children:(0,y.jsx)(h.Z,{})})})})]}),(0,y.jsx)(s.ZP,{item:!0,xs:12,children:(0,y.jsx)("br",{})}),(0,y.jsxs)(s.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea"},children:[(0,y.jsx)(s.ZP,{item:!0,xs:12,children:(0,y.jsx)(l.ZP,{value:n,theme:z?M:B,extensions:D,editable:!k,basicSetup:!0,height:N,onChange:function(e,n){b(null,null,e)}})}),(0,y.jsx)(s.ZP,{item:!0,xs:12,sx:{borderTop:"1px solid #eaeaea",background:z?"#282c34":"#f7f7f7"},children:(0,y.jsxs)(p.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)(C.Z,{tooltip:"Change theme",onClick:function(){I(!z)},text:"",icon:(0,y.jsx)(Z.EO,{}),color:"primary",variant:"outlined"}),(0,y.jsx)(v(),{text:n,children:(0,y.jsx)(C.Z,{tooltip:"Copy to Clipboard",onClick:function(){},text:"",icon:(0,y.jsx)(Z.TI,{}),color:"primary",variant:"outlined"})})]})})]})]})}))},76352:function(e,n,t){t.d(n,{Z:function(){return M}});var o,r=t(23430),a=t(18489),i=t(50390),s=t(34424),l=t(95467),c=t(97771),d=t(84402),u=t(78426),m=t(93085),f=t(86509),p=t(4285),x=t(72462),g=t(44149),h=t(38342),b=t.n(h),Z=t(92125),C=t(19538),j=t(21278),v=t(62559),k=function(){clearInterval(o)},y={displayErrorMessage:g.zb},S=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),y)((0,p.Z)((function(e){return(0,f.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var n=e.classes,t=e.modalSnackMessage,a=e.displayErrorMessage,s=e.customStyle,l=(0,i.useState)(!1),c=(0,r.Z)(l,2),d=c[0],u=c[1],m=(0,i.useState)(!1),f=(0,r.Z)(m,2),p=f[0],x=f[1],g=(0,i.useCallback)((function(){x(!1)}),[]);(0,i.useEffect)((function(){p||(a({detailedError:"",errorMessage:""}),u(!1))}),[a,p]),(0,i.useEffect)((function(){""!==t.message&&"error"===t.type&&x(!0)}),[g,t.message,t.type]);var h=b()(t,"message",""),y=b()(t,"detailedErrorMsg","");return"error"!==t.type||""===h?null:(0,v.jsx)(i.Fragment,{children:(0,v.jsxs)("div",{className:"".concat(n.modalErrorContainer," ").concat(p?n.modalErrorShow:""),style:s,onMouseOver:k,onMouseLeave:function(){o=setInterval(g,1e4)},children:[(0,v.jsx)("button",{className:n.closeButton,onClick:g,children:(0,v.jsx)(j.Z,{})}),(0,v.jsxs)("div",{className:n.errorTitle,children:[(0,v.jsx)("span",{className:n.messageIcon,children:(0,v.jsx)(C.Z,{})}),(0,v.jsx)("span",{className:n.errorLabel,children:h})]}),""!==y&&(0,v.jsxs)(i.Fragment,{children:[(0,v.jsx)("div",{className:n.detailsContainerLink,children:(0,v.jsxs)("button",{className:n.detailsButton,onClick:function(){u(!d)},children:["Details",(0,v.jsx)(Z.Z,{className:"".concat(n.arrowElement," ").concat(d?n.arrowOpen:"")})]})}),(0,v.jsx)("div",{className:"".concat(n.extraDetailsContainer," ").concat(d?n.extraDetailsOpen:""),children:y})]})]})})}))),B=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:g.MK}),M=(0,p.Z)((function(e){return(0,f.Z)((0,a.Z)((0,a.Z)({},x.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},x.sN))}))(B((function(e){var n=e.onClose,t=e.modalOpen,o=e.title,s=e.children,f=e.classes,p=e.wideLimit,x=void 0===p||p,g=e.modalSnackMessage,h=e.noContentPadding,b=e.setModalSnackMessage,Z=e.titleIcon,C=void 0===Z?null:Z,k=(0,i.useState)(!1),y=(0,r.Z)(k,2),B=y[0],M=y[1];(0,i.useEffect)((function(){b("")}),[b]),(0,i.useEffect)((function(){if(g){if(""===g.message)return void M(!1);"error"!==g.type&&M(!0)}}),[g]);var E=x?{classes:{paper:f.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},N="";return g&&(N=g.detailedErrorMsg,(""===g.detailedErrorMsg||g.detailedErrorMsg.length<5)&&(N=g.message)),(0,v.jsxs)(d.Z,(0,a.Z)((0,a.Z)({open:t,classes:f},E),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:f.root,children:[(0,v.jsxs)(u.Z,{className:f.title,children:[(0,v.jsxs)("div",{className:f.titleText,children:[C," ",o]}),(0,v.jsx)("div",{className:f.closeContainer,children:(0,v.jsx)(l.Z,{"aria-label":"close",className:f.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,v.jsx)(j.Z,{})})})]}),(0,v.jsx)(S,{}),(0,v.jsx)(c.Z,{open:B,className:f.snackBarModal,onClose:function(){M(!1),b("")},message:N,ContentProps:{className:"".concat(f.snackBar," ").concat(g&&"error"===g.type?f.errorSnackBar:"")},autoHideDuration:g&&"error"===g.type?1e4:5e3}),(0,v.jsx)(m.Z,{className:h?"":f.content,children:s})]}))})))},70313:function(e,n,t){t.r(n);var o=t(23430),r=t(18489),a=t(50390),i=t(34424),s=t(25594),l=t(81378),c=t(66946),d=t(86509),u=t(4285),m=t(30324),f=t(44149),p=t(72462),x=t(76352),g=t(70014),h=t(98280),b=t(62559),Z={setModalErrorSnackMessage:f.zb},C=(0,i.$j)(null,Z);n.default=(0,u.Z)((function(e){return(0,d.Z)((0,r.Z)((0,r.Z)({buttonContainer:{textAlign:"right"},errorState:{color:"#b53b4b",fontSize:14,fontWeight:"bold"},codeMirrorContainer:{marginBottom:20,paddingLeft:15,"& label":{marginBottom:".5rem"},"& label + div":{display:"none"}}},p.ID),p.YI))}))(C((function(e){var n=e.classes,t=e.open,r=e.closeModalAndRefresh,i=e.tenant,d=e.namespace,u=e.setModalErrorSnackMessage,f=(0,a.useState)(!1),p=(0,o.Z)(f,2),Z=p[0],C=p[1],j=(0,a.useState)(!1),v=(0,o.Z)(j,2),k=v[0],y=v[1],S=(0,a.useState)(""),B=(0,o.Z)(S,2),M=B[0],E=B[1],N=(0,a.useState)(""),L=(0,o.Z)(N,2),w=L[0],z=L[1];(0,a.useEffect)((function(){m.Z.invoke("GET","/api/v1/namespaces/".concat(d,"/tenants/").concat(i,"/yaml")).then((function(e){y(!1),E(e.yaml)})).catch((function(e){y(!1),u(e)}))}),[i,d,u]),(0,a.useEffect)((function(){}),[]);var I=""!==M.trim();return(0,b.jsxs)(x.Z,{modalOpen:t,onClose:function(){r(!1)},title:"YAML",titleIcon:(0,b.jsx)(h.wK,{}),children:[Z||k&&(0,b.jsx)(s.ZP,{item:!0,xs:12,children:(0,b.jsx)(l.Z,{})}),""!==w&&(0,b.jsx)("div",{className:n.errorState,children:w}),!k&&(0,b.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),Z||(C(!0),z(""),m.Z.invoke("PUT","/api/v1/namespaces/".concat(d,"/tenants/").concat(i,"/yaml"),{yaml:M}).then((function(e){C(!1),r(!0),z("")})).catch((function(e){C(!1),z(e.errorMessage)})))},children:(0,b.jsxs)(s.ZP,{container:!0,children:[(0,b.jsx)(s.ZP,{item:!0,xs:12,className:n.codeMirrorContainer,children:(0,b.jsx)(g.Z,{label:"Tenant Specification",value:M,mode:"yaml",onBeforeChange:function(e,n,t){E(t)},editorHeight:"550px"})}),(0,b.jsxs)(s.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,b.jsx)(c.Z,{type:"button",variant:"outlined",color:"primary",disabled:Z,onClick:function(){r(!1)},children:"Cancel"}),(0,b.jsx)(c.Z,{type:"submit",variant:"contained",color:"primary",disabled:Z||!I,children:"Save"})]})]})})]})})))}}]); +//# sourceMappingURL=8724.eec4f225.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/8724.cf8fb340.chunk.js.map b/portal-ui/build/static/js/8724.eec4f225.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/8724.cf8fb340.chunk.js.map rename to portal-ui/build/static/js/8724.eec4f225.chunk.js.map index 9109f3000..0130df29f 100644 --- a/portal-ui/build/static/js/8724.cf8fb340.chunk.js.map +++ b/portal-ui/build/static/js/8724.eec4f225.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/8724.cf8fb340.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Tenants/TenantDetails/TenantYAML.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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\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, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\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 inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\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 const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n \n
\n
\n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\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\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n
\n \n )}\n
\n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(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, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport api from \"../../../../common/api\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport {\n fieldBasic,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport CodeMirrorWrapper from \"../../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport { EditYamlIcon } from \"../../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\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 open: boolean;\n closeModalAndRefresh: (refresh: boolean) => void;\n tenant: string;\n namespace: string;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst TenantYAML = ({\n classes,\n open,\n closeModalAndRefresh,\n tenant,\n namespace,\n setModalErrorSnackMessage,\n}: ITenantYAMLProps) => {\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 closeModalAndRefresh(true);\n setErrorMessage(\"\");\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setErrorMessage(err.errorMessage);\n });\n };\n\n // check the permissions for creating bucket\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 setModalErrorSnackMessage(err);\n });\n }, [tenant, namespace, setModalErrorSnackMessage]);\n\n useEffect(() => {}, []);\n\n const validSave = tenantYaml.trim() !== \"\";\n\n return (\n {\n closeModalAndRefresh(false);\n }}\n title={`YAML`}\n titleIcon={}\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 {\n setTenantYaml(value);\n }}\n editorHeight={\"550px\"}\n />\n \n \n {\n closeModalAndRefresh(false);\n }}\n >\n Cancel\n \n \n Save\n \n \n \n \n )}\n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(TenantYAML));\n"],"names":["useStyles","makeStyles","theme","root","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","width","marginLeft","text","classes","onClick","disabled","tooltip","icon","restProps","size","sx","border","fontSize","display","langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","backgroundColor","caretColor","borderLeftColor","borderRight","fontWeight","dark","darkTheme","withStyles","createStyles","fieldBasic","inputLabel","value","label","mode","onBeforeChange","readOnly","editorHeight","useState","isDarkTheme","setIsDarkTheme","extensionList","className","tooltipContainer","title","placement","item","xs","extensions","editable","basicSetup","height","onChange","v","vu","borderTop","background","alignItems","paddingRight","justifyContent","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","position","marginTop","borderLeftWidth","borderRadius","zIndex","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","right","cursor","errorTitle","errorLabel","marginRight","messageIcon","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","type","get","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","maxWidth","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","fullWidth","detailedErrorMsg","length","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","disableRipple","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","buttonContainer","textAlign","errorState","codeMirrorContainer","marginBottom","modalStyleUtils","closeModalAndRefresh","tenant","namespace","addLoading","setAddLoading","loading","setLoading","tenantYaml","setTenantYaml","setErrorMessage","api","then","res","catch","err","validSave","trim","noValidate","autoComplete","onSubmit","e","preventDefault","container","editor","data","modalButtonBar"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/8724.eec4f225.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Tenants/TenantDetails/TenantYAML.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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\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, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\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 inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\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 const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n \n
\n
\n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\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\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n
\n \n )}\n
\n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(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, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport api from \"../../../../common/api\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport {\n fieldBasic,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport CodeMirrorWrapper from \"../../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport { EditYamlIcon } from \"../../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\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 open: boolean;\n closeModalAndRefresh: (refresh: boolean) => void;\n tenant: string;\n namespace: string;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst TenantYAML = ({\n classes,\n open,\n closeModalAndRefresh,\n tenant,\n namespace,\n setModalErrorSnackMessage,\n}: ITenantYAMLProps) => {\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 closeModalAndRefresh(true);\n setErrorMessage(\"\");\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setErrorMessage(err.errorMessage);\n });\n };\n\n // check the permissions for creating bucket\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 setModalErrorSnackMessage(err);\n });\n }, [tenant, namespace, setModalErrorSnackMessage]);\n\n useEffect(() => {}, []);\n\n const validSave = tenantYaml.trim() !== \"\";\n\n return (\n {\n closeModalAndRefresh(false);\n }}\n title={`YAML`}\n titleIcon={}\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 {\n setTenantYaml(value);\n }}\n editorHeight={\"550px\"}\n />\n \n \n {\n closeModalAndRefresh(false);\n }}\n >\n Cancel\n \n \n Save\n \n \n \n \n )}\n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(TenantYAML));\n"],"names":["useStyles","makeStyles","theme","root","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","width","marginLeft","text","classes","onClick","disabled","tooltip","icon","restProps","size","sx","border","fontSize","display","langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","backgroundColor","caretColor","borderLeftColor","borderRight","fontWeight","dark","darkTheme","withStyles","createStyles","fieldBasic","inputLabel","value","label","mode","onBeforeChange","readOnly","editorHeight","useState","isDarkTheme","setIsDarkTheme","extensionList","className","tooltipContainer","title","placement","item","xs","extensions","editable","basicSetup","height","onChange","v","vu","borderTop","background","alignItems","paddingRight","justifyContent","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","position","marginTop","borderLeftWidth","borderRadius","zIndex","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","right","cursor","errorTitle","errorLabel","marginRight","messageIcon","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","type","get","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","maxWidth","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","fullWidth","detailedErrorMsg","length","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","disableRipple","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","buttonContainer","textAlign","errorState","codeMirrorContainer","marginBottom","modalStyleUtils","closeModalAndRefresh","tenant","namespace","addLoading","setAddLoading","loading","setLoading","tenantYaml","setTenantYaml","setErrorMessage","api","then","res","catch","err","validSave","trim","noValidate","autoComplete","onSubmit","e","preventDefault","container","editor","data","modalButtonBar"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/8853.b298ca0c.chunk.js b/portal-ui/build/static/js/8853.55db07fc.chunk.js similarity index 98% rename from portal-ui/build/static/js/8853.b298ca0c.chunk.js rename to portal-ui/build/static/js/8853.55db07fc.chunk.js index d17dcf7a9..da277967f 100644 --- a/portal-ui/build/static/js/8853.b298ca0c.chunk.js +++ b/portal-ui/build/static/js/8853.55db07fc.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[8853],{25534:function(e,n,t){var a=t(18489),o=(t(50390),t(25594)),i=t(86509),s=t(4285),r=t(72462),l=t(62559);n.Z=(0,s.Z)((function(e){return(0,i.Z)((0,a.Z)({},r.Bw))}))((function(e){var n=e.classes,t=e.className,a=void 0===t?"":t,i=e.children;return(0,l.jsx)("div",{className:n.contentSpacer,children:(0,l.jsx)(o.ZP,{container:!0,children:(0,l.jsx)(o.ZP,{item:!0,xs:12,className:a,children:i})})})}))},35721:function(e,n,t){t(50390);var a=t(34424),o=t(25594),i=t(86509),s=t(4285),r=t(35477),l=t(95467),c=t(26805),d=t(44078),u=t(5265),m=t(11387),p=t(62559),h={toggleList:u.kQ},f=(0,a.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),h);n.Z=f((0,s.Z)((function(e){return(0,i.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,a=e.actions,i=e.sidebarOpen,s=e.operatorMode,u=e.managerObjects,h=e.toggleList,f=e.middleComponent;return(0,p.jsxs)(o.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!i&&(0,p.jsx)("div",{className:n.logo,children:s?(0,p.jsx)(c.Z,{}):(0,p.jsx)(d.Z,{})}),(0,p.jsx)(r.Z,{variant:"h4",className:n.labelStyle,children:t})]}),f&&(0,p.jsx)(o.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,p.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.rightMenu,children:[a&&a,u&&u.length>0&&(0,p.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){h()},size:"large",children:(0,p.jsx)(m.gx,{})})]})]})})))},66721:function(e,n,t){t.r(n),t.d(n,{default:function(){return M}});var a=t(35531),o=t(23430),i=t(18489),s=t(50390),r=t(34424),l=t(38342),c=t.n(l),d=t(86509),u=t(4285),m=t(25594),p=t(66946),h=t(72462),f=t(28948),g=t(44149),x=t(30324),b=t(17777),j=t(12066),v=t(62559),Z=(0,u.Z)((function(e){return(0,d.Z)({searchField:(0,i.Z)((0,i.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 n=e.classes,t=e.label,a=e.onChange,o=e.value,i=e.placeholder,r=void 0===i?"":i,l=e.id,c=e.name;return(0,v.jsx)(s.Fragment,{children:(0,v.jsxs)("div",{className:n.fieldContainer,children:[(0,v.jsx)("div",{className:n.labelStyle,children:t}),(0,v.jsx)("div",{className:n.buttonKit,children:(0,v.jsx)(j.Z,{placeholder:r,id:l,name:c,label:"",onChange:function(e){a(e.target.value)},InputProps:{disableUnderline:!0},className:n.searchField,value:o})})]})})})),S=t(76352),C={time:"Timestamp",api_name:"API Name",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"},y=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({buttonContainer:{textAlign:"right"},objectKeyCol:{fontWeight:700,paddingRight:"10px",textAlign:"left"}},h.oO))}))((function(e){var n=e.modalOpen,t=e.logSearchElement,a=e.onClose,o=e.classes,i=Object.keys(t);return(0,v.jsx)(s.Fragment,{children:(0,v.jsx)(S.Z,{modalOpen:n,title:"Full Log Information",onClose:function(){a()},children:(0,v.jsxs)(m.ZP,{container:!0,children:[(0,v.jsx)(m.ZP,{item:!0,xs:12,children:(0,v.jsx)("table",{children:(0,v.jsx)("tbody",{children:i.map((function(e,n){return(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{className:o.objectKeyCol,children:c()(C,e,"".concat(e))}),(0,v.jsx)("td",{children:c()(t,e,"")})]},"logSearch-".concat(n.toString()))}))})})}),(0,v.jsx)(m.ZP,{item:!0,xs:12,className:o.buttonContainer,children:(0,v.jsx)(p.Z,{type:"button",variant:"contained",color:"primary",onClick:a,children:"Close"})})]})})})})),_=t(17778),N=t(35721),P=t(25534),k=t(37354),E=t(49495),w=t(15607),A=t(11387),L=t(8235),O=function(e){var n=e.iconComponent,t=e.entity,a=e.documentationLink;return(0,v.jsx)(m.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,v.jsx)(m.ZP,{item:!0,xs:8,children:(0,v.jsx)(L.Z,{title:"".concat(t," not available"),iconComponent:n,help:(0,v.jsxs)(s.Fragment,{children:["This feature is not available.",(0,v.jsx)("br",{}),"Please configure"," ",(0,v.jsx)("a",{href:a,target:"_blank",rel:"noreferrer",children:t})," ","first to use this feature."]})})})})},I={setErrorSnackMessage:g.Ih},F=(0,r.$j)((function(e){return{features:e.console.session.features}}),I),M=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.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))))}))(F((function(e){var n=e.classes,t=e.features,i=e.setErrorSnackMessage,r=(0,s.useState)(!0),l=(0,o.Z)(r,2),d=l[0],u=l[1],h=(0,s.useState)(null),g=(0,o.Z)(h,2),j=g[0],S=g[1],L=(0,s.useState)(null),I=(0,o.Z)(L,2),F=I[0],M=I[1],R=(0,s.useState)(!1),q=(0,o.Z)(R,2),B=q[0],T=q[1],z=(0,s.useState)([]),D=(0,o.Z)(z,2),K=D[0],H=D[1],W=(0,s.useState)(""),G=(0,o.Z)(W,2),U=G[0],Y=G[1],$=(0,s.useState)(""),V=(0,o.Z)($,2),Q=V[0],X=V[1],J=(0,s.useState)(""),ee=(0,o.Z)(J,2),ne=ee[0],te=ee[1],ae=(0,s.useState)(""),oe=(0,o.Z)(ae,2),ie=oe[0],se=oe[1],re=(0,s.useState)(""),le=(0,o.Z)(re,2),ce=le[0],de=le[1],ue=(0,s.useState)(""),me=(0,o.Z)(ue,2),pe=me[0],he=me[1],fe=(0,s.useState)("DESC"),ge=(0,o.Z)(fe,2),xe=ge[0],be=ge[1],je=(0,s.useState)(["time","api_name","bucket","object","remote_host","request_id","user_agent","response_status"]),ve=(0,o.Z)(je,2),Ze=ve[0],Se=ve[1],Ce=(0,s.useState)(0),ye=(0,o.Z)(Ce,2),_e=ye[0],Ne=ye[1],Pe=(0,s.useState)(!1),ke=(0,o.Z)(Pe,2),Ee=ke[0],we=ke[1],Ae=(0,s.useState)(!1),Le=(0,o.Z)(Ae,2),Oe=Le[0],Ie=Le[1],Fe=(0,s.useState)(null),Me=(0,o.Z)(Fe,2),Re=Me[0],qe=Me[1],Be=null,Te=t&&t.includes("log-search"),ze=(0,s.useCallback)((function(){if(!Ee&&Te){we(!0);var e="".concat(""!==U?"&fp=bucket:".concat(U):"").concat(""!==ie?"&fp=object:".concat(ie):"").concat(""!==Q?"&fp=api_name:".concat(Q):"").concat(""!==ce?"&fp=request_id:".concat(ce):"").concat(""!==ne?"&fp=user_agent:".concat(ne):"").concat(""!==pe?"&fp=response_status:".concat(pe):"");(e=e.trim()).endsWith(",")&&(e=e.slice(0,-1)),x.Z.invoke("GET","/api/v1/logs/search?q=reqinfo".concat(""!==e?"".concat(e):"","&pageSize=100&pageNo=").concat(_e,"&order=").concat("DESC"===xe?"timeDesc":"timeAsc").concat(null!==j?"&timeStart=".concat(j.toISOString()):"").concat(null!==F?"&timeEnd=".concat(F.toISOString()):"")).then((function(e){var n=e.results||[];u(!1),we(!1),H(n),Ne(_e+1),null!==Be&&Be()})).catch((function(e){u(!1),we(!1),i(e)}))}else u(!1),we(!1)}),[Ee,Te,U,ie,Q,ce,ne,pe,_e,xe,j,F,Be,i]);(0,s.useEffect)((function(){d&&(H([]),ze())}),[d,xe,ze]);return(0,v.jsxs)(s.Fragment,{children:[Oe&&null!==Re&&(0,v.jsx)(y,{logSearchElement:Re,modalOpen:Oe,onClose:function(){qe(null),Ie(!1)}}),(0,v.jsx)(N.Z,{label:"Audit Logs"}),(0,v.jsx)(P.Z,{children:Te?(0,v.jsxs)(s.Fragment,{children:[" ",(0,v.jsxs)(m.ZP,{xs:12,className:n.formBox,children:[(0,v.jsxs)(m.ZP,{item:!0,xs:12,className:"".concat(n.searchOptions),children:[(0,v.jsx)("div",{className:n.dateRangePicker,children:(0,v.jsx)(_.Z,{setTimeEnd:M,setTimeStart:S,timeEnd:F,timeStart:j})}),(0,v.jsx)(m.ZP,{item:!0,className:n.advancedButton,children:(0,v.jsxs)("button",{onClick:function(){T(!B)},className:n.advancedConfiguration,children:[B?"Hide":"Show"," advanced Filters"," ",(0,v.jsx)("span",{className:B?n.advancedOpen:n.advancedClosed,children:(0,v.jsx)(k.Z,{})})]})})]}),(0,v.jsx)(m.ZP,{item:!0,xs:12,className:"".concat(n.blockCollapsed," ").concat(B?n.filterOpen:""),children:(0,v.jsxs)("div",{className:n.innerContainer,children:[(0,v.jsxs)("div",{className:n.noticeLabel,children:["Enable your preferred options to get filtered records.",(0,v.jsx)("br",{}),"You can use '*' to match any character, '.' to signify a single character or '\\' to scape an special character (E.g. mybucket-*)"]}),(0,v.jsxs)("div",{className:n.filtersContainer,children:[(0,v.jsx)(Z,{onChange:Y,value:U,label:"Bucket",id:"bucket",name:"bucket"}),(0,v.jsx)(Z,{onChange:X,value:Q,label:"API Name",id:"api_name",name:"api_name"}),(0,v.jsx)(Z,{onChange:te,value:ne,label:"User Agent",id:"user_agent",name:"user_agent"})]}),(0,v.jsxs)("div",{className:n.filtersContainer,children:[(0,v.jsx)(Z,{onChange:se,value:ie,label:"Object",id:"object",name:"object"}),(0,v.jsx)(Z,{onChange:de,value:ce,label:"Request ID",id:"request_id",name:"request_id"}),(0,v.jsx)(Z,{onChange:he,value:pe,label:"Response Status",id:"response_status",name:"response_status"})]})]})}),(0,v.jsx)(m.ZP,{item:!0,xs:12,className:n.endLineAction,children:(0,v.jsx)(p.Z,{type:"button",variant:"contained",color:"primary",onClick:function(){Ne(0),u(!0)},children:"Get Information"})})]}),(0,v.jsx)(m.ZP,{item:!0,xs:12,className:n.tableBlock,children:(0,v.jsx)(w.Z,{scopes:[E.Ft.ADMIN_HEALTH_INFO],resource:E.C3,errorProps:{disabled:!0},children:(0,v.jsx)(b.Z,{columns:[{label:C.time,elementKey:"time",enableSort:!0},{label:C.api_name,elementKey:"api_name"},{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,v.jsx)(s.Fragment,{children:(0,v.jsxs)("span",{children:[e.response_status_code," (",e.response_status,")"]})})},renderFullObject:!0},{label:C.request_content_length,elementKey:"request_content_length",renderFunction:f.ae},{label:C.response_content_length,elementKey:"response_content_length",renderFunction:f.ae},{label:C.time_to_response_ns,elementKey:"time_to_response_ns",renderFunction:f.Yj,contentTextAlign:"right"}],isLoading:d,records:K,entityName:"Logs",customEmptyMessage:"There is no information with this criteria",idField:"request_id",columnsSelector:!0,columnsShown:Ze,onColumnChange:function(e,n){var t=(0,a.Z)(Ze);n?t.includes(e)||t.push(e):t=Ze.filter((function(n){return n!==e})),Se(t)},customPaperHeight:B?n.tableFOpen:n.tableFClosed,sortConfig:{currentSort:"time",currentDirection:xe,triggerSort:function(e){var n=c()(e,"sortDirection","DESC");be(n),Ne(0),u(!0)}},infiniteScrollConfig:{recordsCount:1e6,loadMoreRecords:function(e){return ze(),new Promise((function(e){Be=e}))}},itemActions:[{type:"view",onClick:function(e){qe(e),Ie(!0)}}],textSelectable:!0})})})]}):(0,v.jsx)(O,{entity:"Audit Logs",iconComponent:(0,v.jsx)(A.W1,{}),documentationLink:"https://github.com/minio/operator/tree/master/logsearchapi"})})]})})))},37354:function(e,n,t){var a=t(64119);n.Z=void 0;var o=a(t(66830)),i=t(62559),s=(0,o.default)((0,i.jsx)("path",{d:"M6.23 20.23 8 22l10-10L8 2 6.23 3.77 14.46 12z"}),"ArrowForwardIos");n.Z=s},59443:function(e,n,t){var a=t(64119);n.Z=void 0;var o=a(t(66830)),i=t(62559),s=(0,o.default)((0,i.jsx)("path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"}),"WatchLater");n.Z=s},7887:function(e,n,t){t.d(n,{Z:function(){return f}});var a=t(1048),o=t(32793),i=t(50390),s=t(44977),r=t(50076),l=t(8208),c=t(15573),d=t(10594);function u(e){return(0,d.Z)("MuiDialogActions",e)}(0,t(43349).Z)("MuiDialogActions",["root","spacing"]);var m=t(62559),p=["className","disableSpacing"],h=(0,l.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,!t.disableSpacing&&n.spacing]}})((function(e){var n=e.ownerState;return(0,o.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!n.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),f=i.forwardRef((function(e,n){var t=(0,c.Z)({props:e,name:"MuiDialogActions"}),i=t.className,l=t.disableSpacing,d=void 0!==l&&l,f=(0,a.Z)(t,p),g=(0,o.Z)({},t,{disableSpacing:d}),x=function(e){var n=e.classes,t={root:["root",!e.disableSpacing&&"spacing"]};return(0,r.Z)(t,u,n)}(g);return(0,m.jsx)(h,(0,o.Z)({className:(0,s.Z)(x.root,i),ownerState:g,ref:n},f))}))},65771:function(e,n,t){t.d(n,{Z:function(){return S}});var a=t(36222),o=t(1048),i=t(32793),s=t(50390),r=t(44977),l=t(50076),c=t(91442),d=t(35477),u=t(14478),m=t(23060),p=t(8208),h=t(10594);function f(e){return(0,h.Z)("MuiInputAdornment",e)}var g,x=(0,t(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),b=t(15573),j=t(62559),v=["children","className","component","disablePointerEvents","disableTypography","position","variant"],Z=(0,p.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,n["position".concat((0,c.Z)(t.position))],!0===t.disablePointerEvents&&n.disablePointerEvents,n[t.variant]]}})((function(e){var n=e.theme,t=e.ownerState;return(0,i.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:n.palette.action.active},"filled"===t.variant&&(0,a.Z)({},"&.".concat(x.positionStart,"&:not(.").concat(x.hiddenLabel,")"),{marginTop:16}),"start"===t.position&&{marginRight:8},"end"===t.position&&{marginLeft:8},!0===t.disablePointerEvents&&{pointerEvents:"none"})})),S=s.forwardRef((function(e,n){var t=(0,b.Z)({props:e,name:"MuiInputAdornment"}),a=t.children,p=t.className,h=t.component,x=void 0===h?"div":h,S=t.disablePointerEvents,C=void 0!==S&&S,y=t.disableTypography,_=void 0!==y&&y,N=t.position,P=t.variant,k=(0,o.Z)(t,v),E=(0,m.Z)()||{},w=P;P&&E.variant,E&&!w&&(w=E.variant);var A=(0,i.Z)({},t,{hiddenLabel:E.hiddenLabel,size:E.size,disablePointerEvents:C,position:N,variant:w}),L=function(e){var n=e.classes,t=e.disablePointerEvents,a=e.hiddenLabel,o=e.position,i=e.size,s=e.variant,r={root:["root",t&&"disablePointerEvents",o&&"position".concat((0,c.Z)(o)),s,a&&"hiddenLabel",i&&"size".concat((0,c.Z)(i))]};return(0,l.Z)(r,f,n)}(A);return(0,j.jsx)(u.Z.Provider,{value:null,children:(0,j.jsx)(Z,(0,i.Z)({as:x,ownerState:A,className:(0,r.Z)(L.root,p),ref:n},k,{children:"string"!==typeof a||_?(0,j.jsxs)(s.Fragment,{children:["start"===N?g||(g=(0,j.jsx)("span",{className:"notranslate",children:"\u200b"})):null,a]}):(0,j.jsx)(d.Z,{color:"text.secondary",children:a})}))})}))},83738:function(e,n,t){function a(e,n){if(null==e)return{};var t,a,o=function(e,n){if(null==e)return{};var t,a,o={},i=Object.keys(e);for(a=0;a=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}t.d(n,{Z:function(){return a}})}}]); -//# sourceMappingURL=8853.b298ca0c.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[8853],{25534:function(e,n,t){var a=t(18489),o=(t(50390),t(25594)),i=t(86509),s=t(4285),r=t(72462),l=t(62559);n.Z=(0,s.Z)((function(e){return(0,i.Z)((0,a.Z)({},r.Bw))}))((function(e){var n=e.classes,t=e.className,a=void 0===t?"":t,i=e.children;return(0,l.jsx)("div",{className:n.contentSpacer,children:(0,l.jsx)(o.ZP,{container:!0,children:(0,l.jsx)(o.ZP,{item:!0,xs:12,className:a,children:i})})})}))},35721:function(e,n,t){t(50390);var a=t(34424),o=t(25594),i=t(86509),s=t(4285),r=t(35477),l=t(95467),c=t(26805),d=t(44078),u=t(5265),m=t(98280),p=t(62559),h={toggleList:u.kQ},f=(0,a.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),h);n.Z=f((0,s.Z)((function(e){return(0,i.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,a=e.actions,i=e.sidebarOpen,s=e.operatorMode,u=e.managerObjects,h=e.toggleList,f=e.middleComponent;return(0,p.jsxs)(o.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!i&&(0,p.jsx)("div",{className:n.logo,children:s?(0,p.jsx)(c.Z,{}):(0,p.jsx)(d.Z,{})}),(0,p.jsx)(r.Z,{variant:"h4",className:n.labelStyle,children:t})]}),f&&(0,p.jsx)(o.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,p.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.rightMenu,children:[a&&a,u&&u.length>0&&(0,p.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){h()},size:"large",children:(0,p.jsx)(m.gx,{})})]})]})})))},66721:function(e,n,t){t.r(n),t.d(n,{default:function(){return M}});var a=t(35531),o=t(23430),i=t(18489),s=t(50390),r=t(34424),l=t(38342),c=t.n(l),d=t(86509),u=t(4285),m=t(25594),p=t(66946),h=t(72462),f=t(28948),g=t(44149),x=t(30324),b=t(17777),j=t(12066),v=t(62559),Z=(0,u.Z)((function(e){return(0,d.Z)({searchField:(0,i.Z)((0,i.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 n=e.classes,t=e.label,a=e.onChange,o=e.value,i=e.placeholder,r=void 0===i?"":i,l=e.id,c=e.name;return(0,v.jsx)(s.Fragment,{children:(0,v.jsxs)("div",{className:n.fieldContainer,children:[(0,v.jsx)("div",{className:n.labelStyle,children:t}),(0,v.jsx)("div",{className:n.buttonKit,children:(0,v.jsx)(j.Z,{placeholder:r,id:l,name:c,label:"",onChange:function(e){a(e.target.value)},InputProps:{disableUnderline:!0},className:n.searchField,value:o})})]})})})),S=t(76352),C={time:"Timestamp",api_name:"API Name",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"},y=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({buttonContainer:{textAlign:"right"},objectKeyCol:{fontWeight:700,paddingRight:"10px",textAlign:"left"}},h.oO))}))((function(e){var n=e.modalOpen,t=e.logSearchElement,a=e.onClose,o=e.classes,i=Object.keys(t);return(0,v.jsx)(s.Fragment,{children:(0,v.jsx)(S.Z,{modalOpen:n,title:"Full Log Information",onClose:function(){a()},children:(0,v.jsxs)(m.ZP,{container:!0,children:[(0,v.jsx)(m.ZP,{item:!0,xs:12,children:(0,v.jsx)("table",{children:(0,v.jsx)("tbody",{children:i.map((function(e,n){return(0,v.jsxs)("tr",{children:[(0,v.jsx)("th",{className:o.objectKeyCol,children:c()(C,e,"".concat(e))}),(0,v.jsx)("td",{children:c()(t,e,"")})]},"logSearch-".concat(n.toString()))}))})})}),(0,v.jsx)(m.ZP,{item:!0,xs:12,className:o.buttonContainer,children:(0,v.jsx)(p.Z,{type:"button",variant:"contained",color:"primary",onClick:a,children:"Close"})})]})})})})),_=t(17778),N=t(35721),P=t(25534),k=t(37354),E=t(49495),w=t(15607),A=t(98280),L=t(8235),O=function(e){var n=e.iconComponent,t=e.entity,a=e.documentationLink;return(0,v.jsx)(m.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,v.jsx)(m.ZP,{item:!0,xs:8,children:(0,v.jsx)(L.Z,{title:"".concat(t," not available"),iconComponent:n,help:(0,v.jsxs)(s.Fragment,{children:["This feature is not available.",(0,v.jsx)("br",{}),"Please configure"," ",(0,v.jsx)("a",{href:a,target:"_blank",rel:"noreferrer",children:t})," ","first to use this feature."]})})})})},I={setErrorSnackMessage:g.Ih},F=(0,r.$j)((function(e){return{features:e.console.session.features}}),I),M=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.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))))}))(F((function(e){var n=e.classes,t=e.features,i=e.setErrorSnackMessage,r=(0,s.useState)(!0),l=(0,o.Z)(r,2),d=l[0],u=l[1],h=(0,s.useState)(null),g=(0,o.Z)(h,2),j=g[0],S=g[1],L=(0,s.useState)(null),I=(0,o.Z)(L,2),F=I[0],M=I[1],R=(0,s.useState)(!1),q=(0,o.Z)(R,2),B=q[0],T=q[1],z=(0,s.useState)([]),D=(0,o.Z)(z,2),K=D[0],H=D[1],W=(0,s.useState)(""),G=(0,o.Z)(W,2),U=G[0],Y=G[1],$=(0,s.useState)(""),V=(0,o.Z)($,2),Q=V[0],X=V[1],J=(0,s.useState)(""),ee=(0,o.Z)(J,2),ne=ee[0],te=ee[1],ae=(0,s.useState)(""),oe=(0,o.Z)(ae,2),ie=oe[0],se=oe[1],re=(0,s.useState)(""),le=(0,o.Z)(re,2),ce=le[0],de=le[1],ue=(0,s.useState)(""),me=(0,o.Z)(ue,2),pe=me[0],he=me[1],fe=(0,s.useState)("DESC"),ge=(0,o.Z)(fe,2),xe=ge[0],be=ge[1],je=(0,s.useState)(["time","api_name","bucket","object","remote_host","request_id","user_agent","response_status"]),ve=(0,o.Z)(je,2),Ze=ve[0],Se=ve[1],Ce=(0,s.useState)(0),ye=(0,o.Z)(Ce,2),_e=ye[0],Ne=ye[1],Pe=(0,s.useState)(!1),ke=(0,o.Z)(Pe,2),Ee=ke[0],we=ke[1],Ae=(0,s.useState)(!1),Le=(0,o.Z)(Ae,2),Oe=Le[0],Ie=Le[1],Fe=(0,s.useState)(null),Me=(0,o.Z)(Fe,2),Re=Me[0],qe=Me[1],Be=null,Te=t&&t.includes("log-search"),ze=(0,s.useCallback)((function(){if(!Ee&&Te){we(!0);var e="".concat(""!==U?"&fp=bucket:".concat(U):"").concat(""!==ie?"&fp=object:".concat(ie):"").concat(""!==Q?"&fp=api_name:".concat(Q):"").concat(""!==ce?"&fp=request_id:".concat(ce):"").concat(""!==ne?"&fp=user_agent:".concat(ne):"").concat(""!==pe?"&fp=response_status:".concat(pe):"");(e=e.trim()).endsWith(",")&&(e=e.slice(0,-1)),x.Z.invoke("GET","/api/v1/logs/search?q=reqinfo".concat(""!==e?"".concat(e):"","&pageSize=100&pageNo=").concat(_e,"&order=").concat("DESC"===xe?"timeDesc":"timeAsc").concat(null!==j?"&timeStart=".concat(j.toISOString()):"").concat(null!==F?"&timeEnd=".concat(F.toISOString()):"")).then((function(e){var n=e.results||[];u(!1),we(!1),H(n),Ne(_e+1),null!==Be&&Be()})).catch((function(e){u(!1),we(!1),i(e)}))}else u(!1),we(!1)}),[Ee,Te,U,ie,Q,ce,ne,pe,_e,xe,j,F,Be,i]);(0,s.useEffect)((function(){d&&(H([]),ze())}),[d,xe,ze]);return(0,v.jsxs)(s.Fragment,{children:[Oe&&null!==Re&&(0,v.jsx)(y,{logSearchElement:Re,modalOpen:Oe,onClose:function(){qe(null),Ie(!1)}}),(0,v.jsx)(N.Z,{label:"Audit Logs"}),(0,v.jsx)(P.Z,{children:Te?(0,v.jsxs)(s.Fragment,{children:[" ",(0,v.jsxs)(m.ZP,{xs:12,className:n.formBox,children:[(0,v.jsxs)(m.ZP,{item:!0,xs:12,className:"".concat(n.searchOptions),children:[(0,v.jsx)("div",{className:n.dateRangePicker,children:(0,v.jsx)(_.Z,{setTimeEnd:M,setTimeStart:S,timeEnd:F,timeStart:j})}),(0,v.jsx)(m.ZP,{item:!0,className:n.advancedButton,children:(0,v.jsxs)("button",{onClick:function(){T(!B)},className:n.advancedConfiguration,children:[B?"Hide":"Show"," advanced Filters"," ",(0,v.jsx)("span",{className:B?n.advancedOpen:n.advancedClosed,children:(0,v.jsx)(k.Z,{})})]})})]}),(0,v.jsx)(m.ZP,{item:!0,xs:12,className:"".concat(n.blockCollapsed," ").concat(B?n.filterOpen:""),children:(0,v.jsxs)("div",{className:n.innerContainer,children:[(0,v.jsxs)("div",{className:n.noticeLabel,children:["Enable your preferred options to get filtered records.",(0,v.jsx)("br",{}),"You can use '*' to match any character, '.' to signify a single character or '\\' to scape an special character (E.g. mybucket-*)"]}),(0,v.jsxs)("div",{className:n.filtersContainer,children:[(0,v.jsx)(Z,{onChange:Y,value:U,label:"Bucket",id:"bucket",name:"bucket"}),(0,v.jsx)(Z,{onChange:X,value:Q,label:"API Name",id:"api_name",name:"api_name"}),(0,v.jsx)(Z,{onChange:te,value:ne,label:"User Agent",id:"user_agent",name:"user_agent"})]}),(0,v.jsxs)("div",{className:n.filtersContainer,children:[(0,v.jsx)(Z,{onChange:se,value:ie,label:"Object",id:"object",name:"object"}),(0,v.jsx)(Z,{onChange:de,value:ce,label:"Request ID",id:"request_id",name:"request_id"}),(0,v.jsx)(Z,{onChange:he,value:pe,label:"Response Status",id:"response_status",name:"response_status"})]})]})}),(0,v.jsx)(m.ZP,{item:!0,xs:12,className:n.endLineAction,children:(0,v.jsx)(p.Z,{type:"button",variant:"contained",color:"primary",onClick:function(){Ne(0),u(!0)},children:"Get Information"})})]}),(0,v.jsx)(m.ZP,{item:!0,xs:12,className:n.tableBlock,children:(0,v.jsx)(w.Z,{scopes:[E.Ft.ADMIN_HEALTH_INFO],resource:E.C3,errorProps:{disabled:!0},children:(0,v.jsx)(b.Z,{columns:[{label:C.time,elementKey:"time",enableSort:!0},{label:C.api_name,elementKey:"api_name"},{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,v.jsx)(s.Fragment,{children:(0,v.jsxs)("span",{children:[e.response_status_code," (",e.response_status,")"]})})},renderFullObject:!0},{label:C.request_content_length,elementKey:"request_content_length",renderFunction:f.ae},{label:C.response_content_length,elementKey:"response_content_length",renderFunction:f.ae},{label:C.time_to_response_ns,elementKey:"time_to_response_ns",renderFunction:f.Yj,contentTextAlign:"right"}],isLoading:d,records:K,entityName:"Logs",customEmptyMessage:"There is no information with this criteria",idField:"request_id",columnsSelector:!0,columnsShown:Ze,onColumnChange:function(e,n){var t=(0,a.Z)(Ze);n?t.includes(e)||t.push(e):t=Ze.filter((function(n){return n!==e})),Se(t)},customPaperHeight:B?n.tableFOpen:n.tableFClosed,sortConfig:{currentSort:"time",currentDirection:xe,triggerSort:function(e){var n=c()(e,"sortDirection","DESC");be(n),Ne(0),u(!0)}},infiniteScrollConfig:{recordsCount:1e6,loadMoreRecords:function(e){return ze(),new Promise((function(e){Be=e}))}},itemActions:[{type:"view",onClick:function(e){qe(e),Ie(!0)}}],textSelectable:!0})})})]}):(0,v.jsx)(O,{entity:"Audit Logs",iconComponent:(0,v.jsx)(A.W1,{}),documentationLink:"https://github.com/minio/operator/tree/master/logsearchapi"})})]})})))},37354:function(e,n,t){var a=t(64119);n.Z=void 0;var o=a(t(66830)),i=t(62559),s=(0,o.default)((0,i.jsx)("path",{d:"M6.23 20.23 8 22l10-10L8 2 6.23 3.77 14.46 12z"}),"ArrowForwardIos");n.Z=s},59443:function(e,n,t){var a=t(64119);n.Z=void 0;var o=a(t(66830)),i=t(62559),s=(0,o.default)((0,i.jsx)("path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"}),"WatchLater");n.Z=s},7887:function(e,n,t){t.d(n,{Z:function(){return f}});var a=t(1048),o=t(32793),i=t(50390),s=t(44977),r=t(50076),l=t(8208),c=t(15573),d=t(10594);function u(e){return(0,d.Z)("MuiDialogActions",e)}(0,t(43349).Z)("MuiDialogActions",["root","spacing"]);var m=t(62559),p=["className","disableSpacing"],h=(0,l.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,!t.disableSpacing&&n.spacing]}})((function(e){var n=e.ownerState;return(0,o.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!n.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),f=i.forwardRef((function(e,n){var t=(0,c.Z)({props:e,name:"MuiDialogActions"}),i=t.className,l=t.disableSpacing,d=void 0!==l&&l,f=(0,a.Z)(t,p),g=(0,o.Z)({},t,{disableSpacing:d}),x=function(e){var n=e.classes,t={root:["root",!e.disableSpacing&&"spacing"]};return(0,r.Z)(t,u,n)}(g);return(0,m.jsx)(h,(0,o.Z)({className:(0,s.Z)(x.root,i),ownerState:g,ref:n},f))}))},65771:function(e,n,t){t.d(n,{Z:function(){return S}});var a=t(36222),o=t(1048),i=t(32793),s=t(50390),r=t(44977),l=t(50076),c=t(91442),d=t(35477),u=t(14478),m=t(23060),p=t(8208),h=t(10594);function f(e){return(0,h.Z)("MuiInputAdornment",e)}var g,x=(0,t(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),b=t(15573),j=t(62559),v=["children","className","component","disablePointerEvents","disableTypography","position","variant"],Z=(0,p.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,n["position".concat((0,c.Z)(t.position))],!0===t.disablePointerEvents&&n.disablePointerEvents,n[t.variant]]}})((function(e){var n=e.theme,t=e.ownerState;return(0,i.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:n.palette.action.active},"filled"===t.variant&&(0,a.Z)({},"&.".concat(x.positionStart,"&:not(.").concat(x.hiddenLabel,")"),{marginTop:16}),"start"===t.position&&{marginRight:8},"end"===t.position&&{marginLeft:8},!0===t.disablePointerEvents&&{pointerEvents:"none"})})),S=s.forwardRef((function(e,n){var t=(0,b.Z)({props:e,name:"MuiInputAdornment"}),a=t.children,p=t.className,h=t.component,x=void 0===h?"div":h,S=t.disablePointerEvents,C=void 0!==S&&S,y=t.disableTypography,_=void 0!==y&&y,N=t.position,P=t.variant,k=(0,o.Z)(t,v),E=(0,m.Z)()||{},w=P;P&&E.variant,E&&!w&&(w=E.variant);var A=(0,i.Z)({},t,{hiddenLabel:E.hiddenLabel,size:E.size,disablePointerEvents:C,position:N,variant:w}),L=function(e){var n=e.classes,t=e.disablePointerEvents,a=e.hiddenLabel,o=e.position,i=e.size,s=e.variant,r={root:["root",t&&"disablePointerEvents",o&&"position".concat((0,c.Z)(o)),s,a&&"hiddenLabel",i&&"size".concat((0,c.Z)(i))]};return(0,l.Z)(r,f,n)}(A);return(0,j.jsx)(u.Z.Provider,{value:null,children:(0,j.jsx)(Z,(0,i.Z)({as:x,ownerState:A,className:(0,r.Z)(L.root,p),ref:n},k,{children:"string"!==typeof a||_?(0,j.jsxs)(s.Fragment,{children:["start"===N?g||(g=(0,j.jsx)("span",{className:"notranslate",children:"\u200b"})):null,a]}):(0,j.jsx)(d.Z,{color:"text.secondary",children:a})}))})}))},83738:function(e,n,t){function a(e,n){if(null==e)return{};var t,a,o=function(e,n){if(null==e)return{};var t,a,o={},i=Object.keys(e);for(a=0;a=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}t.d(n,{Z:function(){return a}})}}]); +//# sourceMappingURL=8853.55db07fc.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/8853.b298ca0c.chunk.js.map b/portal-ui/build/static/js/8853.55db07fc.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/8853.b298ca0c.chunk.js.map rename to portal-ui/build/static/js/8853.55db07fc.chunk.js.map index be833a7be..630e23062 100644 --- a/portal-ui/build/static/js/8853.b298ca0c.chunk.js.map +++ b/portal-ui/build/static/js/8853.55db07fc.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/8853.b298ca0c.chunk.js","mappings":"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","sources":["screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.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","../node_modules/@mui/icons-material/ArrowForwardIos.js","../node_modules/@mui/icons-material/WatchLater.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 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 get from \"lodash/get\";\nimport { Button, Grid } from \"@mui/material\";\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 { 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 Close\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 { connect } 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 { Button, Grid } from \"@mui/material\";\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 { setErrorSnackMessage } from \"../../../../actions\";\nimport { AppState } from \"../../../../store\";\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/SecureComponent\";\nimport { SearchIcon } from \"../../../../icons\";\nimport MissingIntegration from \"../../Common/MissingIntegration/MissingIntegration\";\n\ninterface ILogSearchProps {\n classes: any;\n features: string[] | null;\n setErrorSnackMessage: typeof setErrorSnackMessage;\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 = ({\n classes,\n features,\n setErrorSnackMessage,\n}: ILogSearchProps) => {\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 [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 \"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 requestID !== \"\" ? `&fp=request_id:${requestID}` : \"\"\n }${userAgent !== \"\" ? `&fp=user_agent:${userAgent}` : \"\"}${\n responseStatus !== \"\" ? `&fp=response_status:${responseStatus}` : \"\"\n }`;\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 setErrorSnackMessage(err);\n });\n } else {\n setLoading(false);\n setAlreadyFetching(false);\n }\n }, [\n alreadyFetching,\n logSearchEnabled,\n bucket,\n object,\n apiName,\n requestID,\n userAgent,\n responseStatus,\n nextPage,\n sortOrder,\n timeStart,\n timeEnd,\n recordsResp,\n setErrorSnackMessage,\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 Get Information\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\nconst mapState = (state: AppState) => ({\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(LogsSearchMain));\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M6.23 20.23 8 22l10-10L8 2 6.23 3.77 14.46 12z\"\n}), 'ArrowForwardIos');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z\"\n}), 'WatchLater');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","pageContentStyles","classes","className","children","contentSpacer","container","item","xs","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","width","minHeight","display","backgroundColor","left","boxShadow","label","justifyContent","alignItems","labelStyle","color","fontSize","fontWeight","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","actions","direction","sm","md","sx","paddingTop","variant","length","component","onClick","size","searchField","height","padding","borderColor","marginBottom","buttonKit","fieldContainer","flexGrow","margin","onChange","value","placeholder","id","name","Fragment","TextField","val","target","InputProps","disableUnderline","LogSearchColumnLabels","time","api_name","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","paddingRight","modalBasic","modalOpen","logSearchElement","onClose","jsonItems","Object","keys","ModalWrapper","title","Grid","map","objectKey","index","get","toString","Button","type","iconComponent","entity","documentationLink","alignContent","HelpBox","help","href","rel","setErrorSnackMessage","features","console","session","blockCollapsed","overflowY","filterOpen","endLineAction","filtersContainer","innerContainer","noticeLabel","tableFOpen","tableFClosed","tableStyles","advancedFilterToggleStyles","searchOptions","flexFlow","formBox","border","dateRangePicker","advancedButton","logsCommon","containerForHeader","spacing","useState","loading","setLoading","timeStart","setTimeStart","timeEnd","setTimeEnd","setFilterOpen","records","setRecords","setBucket","apiName","setApiName","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","useEffect","PageHeader","PageLayout","DateRangeSelector","advancedConfiguration","advancedOpen","advancedClosed","ArrowForwardIos","tableBlock","SecureComponent","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","errorProps","disabled","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","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getDialogActionsUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","DialogActionsRoot","styled","overridesResolver","props","styles","ownerState","root","disableSpacing","_extends","flex","React","inProps","ref","useThemeProps","other","_objectWithoutPropertiesLoose","slots","composeClasses","useUtilityClasses","_jsx","clsx","getInputAdornmentUtilityClass","_span","InputAdornmentRoot","capitalize","position","disablePointerEvents","maxHeight","whiteSpace","action","inputAdornmentClasses","marginRight","pointerEvents","disableTypography","variantProp","muiFormControl","useFormControl","hiddenLabel","FormControlContext","as","_jsxs","Typography","_objectWithoutProperties","source","excluded","key","i","sourceKeys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/8853.55db07fc.chunk.js","mappings":"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","sources":["screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.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","../node_modules/@mui/icons-material/ArrowForwardIos.js","../node_modules/@mui/icons-material/WatchLater.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 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 get from \"lodash/get\";\nimport { Button, Grid } from \"@mui/material\";\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 { 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 Close\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 { connect } 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 { Button, Grid } from \"@mui/material\";\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 { setErrorSnackMessage } from \"../../../../actions\";\nimport { AppState } from \"../../../../store\";\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/SecureComponent\";\nimport { SearchIcon } from \"../../../../icons\";\nimport MissingIntegration from \"../../Common/MissingIntegration/MissingIntegration\";\n\ninterface ILogSearchProps {\n classes: any;\n features: string[] | null;\n setErrorSnackMessage: typeof setErrorSnackMessage;\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 = ({\n classes,\n features,\n setErrorSnackMessage,\n}: ILogSearchProps) => {\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 [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 \"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 requestID !== \"\" ? `&fp=request_id:${requestID}` : \"\"\n }${userAgent !== \"\" ? `&fp=user_agent:${userAgent}` : \"\"}${\n responseStatus !== \"\" ? `&fp=response_status:${responseStatus}` : \"\"\n }`;\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 setErrorSnackMessage(err);\n });\n } else {\n setLoading(false);\n setAlreadyFetching(false);\n }\n }, [\n alreadyFetching,\n logSearchEnabled,\n bucket,\n object,\n apiName,\n requestID,\n userAgent,\n responseStatus,\n nextPage,\n sortOrder,\n timeStart,\n timeEnd,\n recordsResp,\n setErrorSnackMessage,\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 Get Information\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\nconst mapState = (state: AppState) => ({\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(LogsSearchMain));\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M6.23 20.23 8 22l10-10L8 2 6.23 3.77 14.46 12z\"\n}), 'ArrowForwardIos');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z\"\n}), 'WatchLater');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","pageContentStyles","classes","className","children","contentSpacer","container","item","xs","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","width","minHeight","display","backgroundColor","left","boxShadow","label","justifyContent","alignItems","labelStyle","color","fontSize","fontWeight","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","actions","direction","sm","md","sx","paddingTop","variant","length","component","onClick","size","searchField","height","padding","borderColor","marginBottom","buttonKit","fieldContainer","flexGrow","margin","onChange","value","placeholder","id","name","Fragment","TextField","val","target","InputProps","disableUnderline","LogSearchColumnLabels","time","api_name","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","paddingRight","modalBasic","modalOpen","logSearchElement","onClose","jsonItems","Object","keys","ModalWrapper","title","Grid","map","objectKey","index","get","toString","Button","type","iconComponent","entity","documentationLink","alignContent","HelpBox","help","href","rel","setErrorSnackMessage","features","console","session","blockCollapsed","overflowY","filterOpen","endLineAction","filtersContainer","innerContainer","noticeLabel","tableFOpen","tableFClosed","tableStyles","advancedFilterToggleStyles","searchOptions","flexFlow","formBox","border","dateRangePicker","advancedButton","logsCommon","containerForHeader","spacing","useState","loading","setLoading","timeStart","setTimeStart","timeEnd","setTimeEnd","setFilterOpen","records","setRecords","setBucket","apiName","setApiName","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","useEffect","PageHeader","PageLayout","DateRangeSelector","advancedConfiguration","advancedOpen","advancedClosed","ArrowForwardIos","tableBlock","SecureComponent","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","errorProps","disabled","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","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getDialogActionsUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","DialogActionsRoot","styled","overridesResolver","props","styles","ownerState","root","disableSpacing","_extends","flex","React","inProps","ref","useThemeProps","other","_objectWithoutPropertiesLoose","slots","composeClasses","useUtilityClasses","_jsx","clsx","getInputAdornmentUtilityClass","_span","InputAdornmentRoot","capitalize","position","disablePointerEvents","maxHeight","whiteSpace","action","inputAdornmentClasses","marginRight","pointerEvents","disableTypography","variantProp","muiFormControl","useFormControl","hiddenLabel","FormControlContext","as","_jsxs","Typography","_objectWithoutProperties","source","excluded","key","i","sourceKeys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/892.2aaf58f1.chunk.js b/portal-ui/build/static/js/892.2aaf58f1.chunk.js deleted file mode 100644 index c9094eaa2..000000000 --- a/portal-ui/build/static/js/892.2aaf58f1.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[892],{14478:function(r,e,o){var n=o(50390).createContext();e.Z=n},25868:function(r,e,o){function n(r){var e=r.props,o=r.states,n=r.muiFormControl;return o.reduce((function(r,o){return r[o]=e[o],n&&"undefined"===typeof e[o]&&(r[o]=n[o]),r}),{})}o.d(e,{Z:function(){return n}})},23060:function(r,e,o){o.d(e,{Z:function(){return i}});var n=o(50390),t=o(14478);function i(){return n.useContext(t.Z)}},14602:function(r,e,o){o.d(e,{Z:function(){return y}});var n=o(36222),t=o(1048),i=o(32793),a=o(50390),s=o(50076),l=o(25868),c=o(23060),u=o(44977),d=o(91442),f=o(15573),p=o(8208),m=o(10594),v=o(43349);function h(r){return(0,m.Z)("MuiFormLabel",r)}var Z=(0,v.Z)("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]),x=o(62559),b=["children","className","color","component","disabled","error","filled","focused","required"],g=(0,p.ZP)("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:function(r,e){var o=r.ownerState;return(0,i.Z)({},e.root,"secondary"===o.color&&e.colorSecondary,o.filled&&e.filled)}})((function(r){var e,o=r.theme,t=r.ownerState;return(0,i.Z)({color:o.palette.text.secondary},o.typography.body1,(e={lineHeight:"1.4375em",padding:0,position:"relative"},(0,n.Z)(e,"&.".concat(Z.focused),{color:o.palette[t.color].main}),(0,n.Z)(e,"&.".concat(Z.disabled),{color:o.palette.text.disabled}),(0,n.Z)(e,"&.".concat(Z.error),{color:o.palette.error.main}),e))})),k=(0,p.ZP)("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:function(r,e){return e.asterisk}})((function(r){var e=r.theme;return(0,n.Z)({},"&.".concat(Z.error),{color:e.palette.error.main})})),P=a.forwardRef((function(r,e){var o=(0,f.Z)({props:r,name:"MuiFormLabel"}),n=o.children,a=o.className,p=o.component,m=void 0===p?"label":p,v=(0,t.Z)(o,b),Z=(0,c.Z)(),P=(0,l.Z)({props:o,muiFormControl:Z,states:["color","required","focused","disabled","error","filled"]}),z=(0,i.Z)({},o,{color:P.color||"primary",component:m,disabled:P.disabled,error:P.error,filled:P.filled,focused:P.focused,required:P.required}),w=function(r){var e=r.classes,o=r.color,n=r.focused,t=r.disabled,i=r.error,a=r.filled,l=r.required,c={root:["root","color".concat((0,d.Z)(o)),t&&"disabled",i&&"error",a&&"filled",n&&"focused",l&&"required"],asterisk:["asterisk",i&&"error"]};return(0,s.Z)(c,h,e)}(z);return(0,x.jsxs)(g,(0,i.Z)({as:m,ownerState:z,className:(0,u.Z)(w.root,a),ref:e},v,{children:[n,P.required&&(0,x.jsxs)(k,{ownerState:z,"aria-hidden":!0,className:w.asterisk,children:["\u2009","*"]})]}))}));function z(r){return(0,m.Z)("MuiInputLabel",r)}(0,v.Z)("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]);var w=["disableAnimation","margin","shrink","variant"],C=(0,p.ZP)(P,{shouldForwardProp:function(r){return(0,p.FO)(r)||"classes"===r},name:"MuiInputLabel",slot:"Root",overridesResolver:function(r,e){var o=r.ownerState;return[(0,n.Z)({},"& .".concat(Z.asterisk),e.asterisk),e.root,o.formControl&&e.formControl,"small"===o.size&&e.sizeSmall,o.shrink&&e.shrink,!o.disableAnimation&&e.animated,e[o.variant]]}})((function(r){var e=r.theme,o=r.ownerState;return(0,i.Z)({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%"},o.formControl&&{position:"absolute",left:0,top:0,transform:"translate(0, 20px) scale(1)"},"small"===o.size&&{transform:"translate(0, 17px) scale(1)"},o.shrink&&{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"},!o.disableAnimation&&{transition:e.transitions.create(["color","transform","max-width"],{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut})},"filled"===o.variant&&(0,i.Z)({zIndex:1,pointerEvents:"none",transform:"translate(12px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},"small"===o.size&&{transform:"translate(12px, 13px) scale(1)"},o.shrink&&(0,i.Z)({userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"},"small"===o.size&&{transform:"translate(12px, 4px) scale(0.75)"})),"outlined"===o.variant&&(0,i.Z)({zIndex:1,pointerEvents:"none",transform:"translate(14px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},"small"===o.size&&{transform:"translate(14px, 9px) scale(1)"},o.shrink&&{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 24px)",transform:"translate(14px, -9px) scale(0.75)"}))})),y=a.forwardRef((function(r,e){var o=(0,f.Z)({name:"MuiInputLabel",props:r}),n=o.disableAnimation,a=void 0!==n&&n,u=o.shrink,d=(0,t.Z)(o,w),p=(0,c.Z)(),m=u;"undefined"===typeof m&&p&&(m=p.filled||p.focused||p.adornedStart);var v=(0,l.Z)({props:o,muiFormControl:p,states:["size","variant","required"]}),h=(0,i.Z)({},o,{disableAnimation:a,formControl:p,shrink:m,size:v.size,variant:v.variant,required:v.required}),Z=function(r){var e=r.classes,o=r.formControl,n=r.size,t=r.shrink,a={root:["root",o&&"formControl",!r.disableAnimation&&"animated",t&&"shrink","small"===n&&"sizeSmall",r.variant],asterisk:[r.required&&"asterisk"]},l=(0,s.Z)(a,z,e);return(0,i.Z)({},e,l)}(h);return(0,x.jsx)(C,(0,i.Z)({"data-shrink":m,ownerState:h,ref:e},d,{classes:Z}))}))},95892:function(r,e,o){o.d(e,{ZP:function(){return M}});var n=o(32793),t=o(1048),i=o(50390),a=o(44977),s=o(50076),l=o(8208),c=o(15573),u=o(60563),d=o(64132),f=o(89603),p=o(3299),m=o(2074),v=o(57757),h=o(46981),Z=o(10594);function x(r){return(0,Z.Z)("MuiPopover",r)}(0,o(43349).Z)("MuiPopover",["root","paper"]);var b=o(62559),g=["onEntering"],k=["action","anchorEl","anchorOrigin","anchorPosition","anchorReference","children","className","container","elevation","marginThreshold","open","PaperProps","transformOrigin","TransitionComponent","transitionDuration","TransitionProps"];function P(r,e){var o=0;return"number"===typeof e?o=e:"center"===e?o=r.height/2:"bottom"===e&&(o=r.height),o}function z(r,e){var o=0;return"number"===typeof e?o=e:"center"===e?o=r.width/2:"right"===e&&(o=r.width),o}function w(r){return[r.horizontal,r.vertical].map((function(r){return"number"===typeof r?"".concat(r,"px"):r})).join(" ")}function C(r){return"function"===typeof r?r():r}var y=(0,l.ZP)(v.Z,{name:"MuiPopover",slot:"Root",overridesResolver:function(r,e){return e.root}})({}),S=(0,l.ZP)(h.Z,{name:"MuiPopover",slot:"Paper",overridesResolver:function(r,e){return e.paper}})({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:16,minHeight:16,maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0}),M=i.forwardRef((function(r,e){var o=(0,c.Z)({props:r,name:"MuiPopover"}),l=o.action,v=o.anchorEl,h=o.anchorOrigin,Z=void 0===h?{vertical:"top",horizontal:"left"}:h,M=o.anchorPosition,R=o.anchorReference,O=void 0===R?"anchorEl":R,E=o.children,q=o.className,L=o.container,T=o.elevation,F=void 0===T?8:T,W=o.marginThreshold,N=void 0===W?16:W,A=o.open,j=o.PaperProps,I=void 0===j?{}:j,H=o.transformOrigin,D=void 0===H?{vertical:"top",horizontal:"left"}:H,B=o.TransitionComponent,_=void 0===B?m.Z:B,X=o.transitionDuration,Y=void 0===X?"auto":X,G=o.TransitionProps,J=(G=void 0===G?{}:G).onEntering,K=(0,t.Z)(o.TransitionProps,g),Q=(0,t.Z)(o,k),U=i.useRef(),V=(0,p.Z)(U,I.ref),$=(0,n.Z)({},o,{anchorOrigin:Z,anchorReference:O,elevation:F,marginThreshold:N,PaperProps:I,transformOrigin:D,TransitionComponent:_,transitionDuration:Y,TransitionProps:K}),rr=function(r){var e=r.classes;return(0,s.Z)({root:["root"],paper:["paper"]},x,e)}($),er=i.useCallback((function(){if("anchorPosition"===O)return M;var r=C(v),e=(r&&1===r.nodeType?r:(0,d.Z)(U.current).body).getBoundingClientRect();return{top:e.top+P(e,Z.vertical),left:e.left+z(e,Z.horizontal)}}),[v,Z.horizontal,Z.vertical,M,O]),or=i.useCallback((function(r){return{vertical:P(r,D.vertical),horizontal:z(r,D.horizontal)}}),[D.horizontal,D.vertical]),nr=i.useCallback((function(r){var e={width:r.offsetWidth,height:r.offsetHeight},o=or(e);if("none"===O)return{top:null,left:null,transformOrigin:w(o)};var n=er(),t=n.top-o.vertical,i=n.left-o.horizontal,a=t+e.height,s=i+e.width,l=(0,f.Z)(C(v)),c=l.innerHeight-N,u=l.innerWidth-N;if(tc){var p=a-c;t-=p,o.vertical+=p}if(iu){var h=s-u;i-=h,o.horizontal+=h}return{top:"".concat(Math.round(t),"px"),left:"".concat(Math.round(i),"px"),transformOrigin:w(o)}}),[v,O,er,or,N]),tr=i.useCallback((function(){var r=U.current;if(r){var e=nr(r);null!==e.top&&(r.style.top=e.top),null!==e.left&&(r.style.left=e.left),r.style.transformOrigin=e.transformOrigin}}),[nr]);i.useEffect((function(){A&&tr()})),i.useImperativeHandle(l,(function(){return A?{updatePosition:function(){tr()}}:null}),[A,tr]),i.useEffect((function(){if(A){var r=(0,u.Z)((function(){tr()})),e=(0,f.Z)(v);return e.addEventListener("resize",r),function(){r.clear(),e.removeEventListener("resize",r)}}}),[v,A,tr]);var ir=Y;"auto"!==Y||_.muiSupportAuto||(ir=void 0);var ar=L||(v?(0,d.Z)(C(v)).body:void 0);return(0,b.jsx)(y,(0,n.Z)({BackdropProps:{invisible:!0},className:(0,a.Z)(rr.root,q),container:ar,open:A,ref:e,ownerState:$},Q,{children:(0,b.jsx)(_,(0,n.Z)({appear:!0,in:A,onEntering:function(r,e){J&&J(r,e),tr()},timeout:ir},K,{children:(0,b.jsx)(S,(0,n.Z)({elevation:F},I,{ref:V,className:(0,a.Z)(rr.paper,I.className),children:E}))}))}))}))}}]); -//# sourceMappingURL=892.2aaf58f1.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/892.2aaf58f1.chunk.js.map b/portal-ui/build/static/js/892.2aaf58f1.chunk.js.map deleted file mode 100644 index 24bc8d412..000000000 --- a/portal-ui/build/static/js/892.2aaf58f1.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/892.2aaf58f1.chunk.js","mappings":"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","sources":["../node_modules/@mui/material/FormControl/FormControlContext.js","../node_modules/@mui/material/FormControl/formControlState.js","../node_modules/@mui/material/FormControl/useFormControl.js","../node_modules/@mui/material/FormLabel/formLabelClasses.js","../node_modules/@mui/material/FormLabel/FormLabel.js","../node_modules/@mui/material/InputLabel/inputLabelClasses.js","../node_modules/@mui/material/InputLabel/InputLabel.js","../node_modules/@mui/material/Popover/popoverClasses.js","../node_modules/@mui/material/Popover/Popover.js"],"sourcesContent":["import * as React from 'react';\n/**\n * @ignore - internal component.\n */\n\nconst FormControlContext = /*#__PURE__*/React.createContext();\n\nif (process.env.NODE_ENV !== 'production') {\n FormControlContext.displayName = 'FormControlContext';\n}\n\nexport default FormControlContext;","export default function formControlState({\n props,\n states,\n muiFormControl\n}) {\n return states.reduce((acc, state) => {\n acc[state] = props[state];\n\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n\n return acc;\n }, {});\n}","import * as React from 'react';\nimport FormControlContext from './FormControlContext';\nexport default function useFormControl() {\n return React.useContext(FormControlContext);\n}","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getFormLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormLabel', slot);\n}\nconst formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\nexport default formLabelClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormLabelUtilityClasses, classes);\n};\n\nexport const FormLabelRoot = styled('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: theme.palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${formLabelClasses.focused}`]: {\n color: theme.palette[ownerState.color].main\n },\n [`&.${formLabelClasses.disabled}`]: {\n color: theme.palette.text.disabled\n },\n [`&.${formLabelClasses.error}`]: {\n color: theme.palette.error.main\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formLabelClasses.error}`]: {\n color: theme.palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormLabel'\n });\n\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(FormLabelRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormLabel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, the label should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: PropTypes.bool,\n\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: PropTypes.bool,\n\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default FormLabel;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiInputLabel', slot);\n}\nconst inputLabelClasses = generateUtilityClasses('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);\nexport default inputLabelClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableAnimation\", \"margin\", \"shrink\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport FormLabel, { formLabelClasses } from '../FormLabel';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getInputLabelUtilityClasses } from './inputLabelClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n formControl,\n size,\n shrink,\n disableAnimation,\n variant,\n required\n } = ownerState;\n const slots = {\n root: ['root', formControl && 'formControl', !disableAnimation && 'animated', shrink && 'shrink', size === 'small' && 'sizeSmall', variant],\n asterisk: [required && 'asterisk']\n };\n const composedClasses = composeClasses(slots, getInputLabelUtilityClasses, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst InputLabelRoot = styled(FormLabel, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInputLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formLabelClasses.asterisk}`]: styles.asterisk\n }, styles.root, ownerState.formControl && styles.formControl, ownerState.size === 'small' && styles.sizeSmall, ownerState.shrink && styles.shrink, !ownerState.disableAnimation && styles.animated, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'block',\n transformOrigin: 'top left',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%'\n}, ownerState.formControl && {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: 'translate(0, 20px) scale(1)'\n}, ownerState.size === 'small' && {\n // Compensation for the `Input.inputSizeSmall` style.\n transform: 'translate(0, 17px) scale(1)'\n}, ownerState.shrink && {\n transform: 'translate(0, -1.5px) scale(0.75)',\n transformOrigin: 'top left',\n maxWidth: '133%'\n}, !ownerState.disableAnimation && {\n transition: theme.transitions.create(['color', 'transform', 'max-width'], {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.variant === 'filled' && _extends({\n // Chrome's autofill feature gives the input field a yellow background.\n // Since the input field is behind the label in the HTML tree,\n // the input field is drawn last and hides the label with an opaque background color.\n // zIndex: 1 will raise the label above opaque background-colors of input.\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(12px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 13px) scale(1)'\n}, ownerState.shrink && _extends({\n userSelect: 'none',\n pointerEvents: 'auto',\n transform: 'translate(12px, 7px) scale(0.75)',\n maxWidth: 'calc(133% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 4px) scale(0.75)'\n})), ownerState.variant === 'outlined' && _extends({\n // see comment above on filled.zIndex\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(14px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(14px, 9px) scale(1)'\n}, ownerState.shrink && {\n userSelect: 'none',\n pointerEvents: 'auto',\n maxWidth: 'calc(133% - 24px)',\n transform: 'translate(14px, -9px) scale(0.75)'\n})));\nconst InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {\n const props = useThemeProps({\n name: 'MuiInputLabel',\n props: inProps\n });\n\n const {\n disableAnimation = false,\n shrink: shrinkProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl();\n let shrink = shrinkProp;\n\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['size', 'variant', 'required']\n });\n\n const ownerState = _extends({}, props, {\n disableAnimation,\n formControl: muiFormControl,\n shrink,\n size: fcs.size,\n variant: fcs.variant,\n required: fcs.required\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(InputLabelRoot, _extends({\n \"data-shrink\": shrink,\n ownerState: ownerState,\n ref: ref\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? InputLabel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n\n /**\n * If `true`, the transition animation is disabled.\n * @default false\n */\n disableAnimation: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n\n /**\n * If `true`, the `input` of this label is focused.\n */\n focused: PropTypes.bool,\n\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n\n /**\n * if `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n\n /**\n * If `true`, the label is shrunk.\n */\n shrink: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputLabel;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getPopoverUtilityClass(slot) {\n return generateUtilityClass('MuiPopover', slot);\n}\nconst popoverClasses = generateUtilityClasses('MuiPopover', ['root', 'paper']);\nexport default popoverClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onEntering\"],\n _excluded2 = [\"action\", \"anchorEl\", \"anchorOrigin\", \"anchorPosition\", \"anchorReference\", \"children\", \"className\", \"container\", \"elevation\", \"marginThreshold\", \"open\", \"PaperProps\", \"transformOrigin\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { chainPropTypes, integerPropType, elementTypeAcceptingRef, refType, HTMLElementType } from '@mui/utils';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport debounce from '../utils/debounce';\nimport ownerDocument from '../utils/ownerDocument';\nimport ownerWindow from '../utils/ownerWindow';\nimport useForkRef from '../utils/useForkRef';\nimport Grow from '../Grow';\nimport Modal from '../Modal';\nimport Paper from '../Paper';\nimport { getPopoverUtilityClass } from './popoverClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function getOffsetTop(rect, vertical) {\n let offset = 0;\n\n if (typeof vertical === 'number') {\n offset = vertical;\n } else if (vertical === 'center') {\n offset = rect.height / 2;\n } else if (vertical === 'bottom') {\n offset = rect.height;\n }\n\n return offset;\n}\nexport function getOffsetLeft(rect, horizontal) {\n let offset = 0;\n\n if (typeof horizontal === 'number') {\n offset = horizontal;\n } else if (horizontal === 'center') {\n offset = rect.width / 2;\n } else if (horizontal === 'right') {\n offset = rect.width;\n }\n\n return offset;\n}\n\nfunction getTransformOriginValue(transformOrigin) {\n return [transformOrigin.horizontal, transformOrigin.vertical].map(n => typeof n === 'number' ? `${n}px` : n).join(' ');\n}\n\nfunction resolveAnchorEl(anchorEl) {\n return typeof anchorEl === 'function' ? anchorEl() : anchorEl;\n}\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n paper: ['paper']\n };\n return composeClasses(slots, getPopoverUtilityClass, classes);\n};\n\nconst PopoverRoot = styled(Modal, {\n name: 'MuiPopover',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst PopoverPaper = styled(Paper, {\n name: 'MuiPopover',\n slot: 'Paper',\n overridesResolver: (props, styles) => styles.paper\n})({\n position: 'absolute',\n overflowY: 'auto',\n overflowX: 'hidden',\n // So we see the popover when it's empty.\n // It's most likely on issue on userland.\n minWidth: 16,\n minHeight: 16,\n maxWidth: 'calc(100% - 32px)',\n maxHeight: 'calc(100% - 32px)',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0\n});\nconst Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPopover'\n });\n\n const {\n action,\n anchorEl,\n anchorOrigin = {\n vertical: 'top',\n horizontal: 'left'\n },\n anchorPosition,\n anchorReference = 'anchorEl',\n children,\n className,\n container: containerProp,\n elevation = 8,\n marginThreshold = 16,\n open,\n PaperProps = {},\n transformOrigin = {\n vertical: 'top',\n horizontal: 'left'\n },\n TransitionComponent = Grow,\n transitionDuration: transitionDurationProp = 'auto',\n TransitionProps: {\n onEntering\n } = {}\n } = props,\n TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n\n const paperRef = React.useRef();\n const handlePaperRef = useForkRef(paperRef, PaperProps.ref);\n\n const ownerState = _extends({}, props, {\n anchorOrigin,\n anchorReference,\n elevation,\n marginThreshold,\n PaperProps,\n transformOrigin,\n TransitionComponent,\n transitionDuration: transitionDurationProp,\n TransitionProps\n });\n\n const classes = useUtilityClasses(ownerState); // Returns the top/left offset of the position\n // to attach to on the anchor element (or body if none is provided)\n\n const getAnchorOffset = React.useCallback(() => {\n if (anchorReference === 'anchorPosition') {\n if (process.env.NODE_ENV !== 'production') {\n if (!anchorPosition) {\n console.error('MUI: You need to provide a `anchorPosition` prop when using ' + '.');\n }\n }\n\n return anchorPosition;\n }\n\n const resolvedAnchorEl = resolveAnchorEl(anchorEl); // If an anchor element wasn't provided, just use the parent body element of this Popover\n\n const anchorElement = resolvedAnchorEl && resolvedAnchorEl.nodeType === 1 ? resolvedAnchorEl : ownerDocument(paperRef.current).body;\n const anchorRect = anchorElement.getBoundingClientRect();\n\n if (process.env.NODE_ENV !== 'production') {\n const box = anchorElement.getBoundingClientRect();\n\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n console.warn(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n }\n\n return {\n top: anchorRect.top + getOffsetTop(anchorRect, anchorOrigin.vertical),\n left: anchorRect.left + getOffsetLeft(anchorRect, anchorOrigin.horizontal)\n };\n }, [anchorEl, anchorOrigin.horizontal, anchorOrigin.vertical, anchorPosition, anchorReference]); // Returns the base transform origin using the element\n\n const getTransformOrigin = React.useCallback(elemRect => {\n return {\n vertical: getOffsetTop(elemRect, transformOrigin.vertical),\n horizontal: getOffsetLeft(elemRect, transformOrigin.horizontal)\n };\n }, [transformOrigin.horizontal, transformOrigin.vertical]);\n const getPositioningStyle = React.useCallback(element => {\n const elemRect = {\n width: element.offsetWidth,\n height: element.offsetHeight\n }; // Get the transform origin point on the element itself\n\n const elemTransformOrigin = getTransformOrigin(elemRect);\n\n if (anchorReference === 'none') {\n return {\n top: null,\n left: null,\n transformOrigin: getTransformOriginValue(elemTransformOrigin)\n };\n } // Get the offset of the anchoring element\n\n\n const anchorOffset = getAnchorOffset(); // Calculate element positioning\n\n let top = anchorOffset.top - elemTransformOrigin.vertical;\n let left = anchorOffset.left - elemTransformOrigin.horizontal;\n const bottom = top + elemRect.height;\n const right = left + elemRect.width; // Use the parent window of the anchorEl if provided\n\n const containerWindow = ownerWindow(resolveAnchorEl(anchorEl)); // Window thresholds taking required margin into account\n\n const heightThreshold = containerWindow.innerHeight - marginThreshold;\n const widthThreshold = containerWindow.innerWidth - marginThreshold; // Check if the vertical axis needs shifting\n\n if (top < marginThreshold) {\n const diff = top - marginThreshold;\n top -= diff;\n elemTransformOrigin.vertical += diff;\n } else if (bottom > heightThreshold) {\n const diff = bottom - heightThreshold;\n top -= diff;\n elemTransformOrigin.vertical += diff;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (elemRect.height > heightThreshold && elemRect.height && heightThreshold) {\n console.error(['MUI: The popover component is too tall.', `Some part of it can not be seen on the screen (${elemRect.height - heightThreshold}px).`, 'Please consider adding a `max-height` to improve the user-experience.'].join('\\n'));\n }\n } // Check if the horizontal axis needs shifting\n\n\n if (left < marginThreshold) {\n const diff = left - marginThreshold;\n left -= diff;\n elemTransformOrigin.horizontal += diff;\n } else if (right > widthThreshold) {\n const diff = right - widthThreshold;\n left -= diff;\n elemTransformOrigin.horizontal += diff;\n }\n\n return {\n top: `${Math.round(top)}px`,\n left: `${Math.round(left)}px`,\n transformOrigin: getTransformOriginValue(elemTransformOrigin)\n };\n }, [anchorEl, anchorReference, getAnchorOffset, getTransformOrigin, marginThreshold]);\n const setPositioningStyles = React.useCallback(() => {\n const element = paperRef.current;\n\n if (!element) {\n return;\n }\n\n const positioning = getPositioningStyle(element);\n\n if (positioning.top !== null) {\n element.style.top = positioning.top;\n }\n\n if (positioning.left !== null) {\n element.style.left = positioning.left;\n }\n\n element.style.transformOrigin = positioning.transformOrigin;\n }, [getPositioningStyle]);\n\n const handleEntering = (element, isAppearing) => {\n if (onEntering) {\n onEntering(element, isAppearing);\n }\n\n setPositioningStyles();\n };\n\n React.useEffect(() => {\n if (open) {\n setPositioningStyles();\n }\n });\n React.useImperativeHandle(action, () => open ? {\n updatePosition: () => {\n setPositioningStyles();\n }\n } : null, [open, setPositioningStyles]);\n React.useEffect(() => {\n if (!open) {\n return undefined;\n }\n\n const handleResize = debounce(() => {\n setPositioningStyles();\n });\n const containerWindow = ownerWindow(anchorEl);\n containerWindow.addEventListener('resize', handleResize);\n return () => {\n handleResize.clear();\n containerWindow.removeEventListener('resize', handleResize);\n };\n }, [anchorEl, open, setPositioningStyles]);\n let transitionDuration = transitionDurationProp;\n\n if (transitionDurationProp === 'auto' && !TransitionComponent.muiSupportAuto) {\n transitionDuration = undefined;\n } // If the container prop is provided, use that\n // If the anchorEl prop is provided, use its parent body element as the container\n // If neither are provided let the Modal take care of choosing the container\n\n\n const container = containerProp || (anchorEl ? ownerDocument(resolveAnchorEl(anchorEl)).body : undefined);\n return /*#__PURE__*/_jsx(PopoverRoot, _extends({\n BackdropProps: {\n invisible: true\n },\n className: clsx(classes.root, className),\n container: container,\n open: open,\n ref: ref,\n ownerState: ownerState\n }, other, {\n children: /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: true,\n in: open,\n onEntering: handleEntering,\n timeout: transitionDuration\n }, TransitionProps, {\n children: /*#__PURE__*/_jsx(PopoverPaper, _extends({\n elevation: elevation\n }, PaperProps, {\n ref: handlePaperRef,\n className: clsx(classes.paper, PaperProps.className),\n children: children\n }))\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Popover.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A ref for imperative actions.\n * It currently only supports updatePosition() action.\n */\n action: refType,\n\n /**\n * An HTML element, or a function that returns one.\n * It's used to set the position of the popover.\n */\n anchorEl: chainPropTypes(PropTypes.oneOfType([HTMLElementType, PropTypes.func]), props => {\n if (props.open && (!props.anchorReference || props.anchorReference === 'anchorEl')) {\n const resolvedAnchorEl = resolveAnchorEl(props.anchorEl);\n\n if (resolvedAnchorEl && resolvedAnchorEl.nodeType === 1) {\n const box = resolvedAnchorEl.getBoundingClientRect();\n\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n } else {\n return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', `It should be an Element instance but it's \\`${resolvedAnchorEl}\\` instead.`].join('\\n'));\n }\n }\n\n return null;\n }),\n\n /**\n * This is the point on the anchor where the popover's\n * `anchorEl` will attach to. This is not used when the\n * anchorReference is 'anchorPosition'.\n *\n * Options:\n * vertical: [top, center, bottom];\n * horizontal: [left, center, right].\n * @default {\n * vertical: 'top',\n * horizontal: 'left',\n * }\n */\n anchorOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOfType([PropTypes.oneOf(['center', 'left', 'right']), PropTypes.number]).isRequired,\n vertical: PropTypes.oneOfType([PropTypes.oneOf(['bottom', 'center', 'top']), PropTypes.number]).isRequired\n }),\n\n /**\n * This is the position that may be used to set the position of the popover.\n * The coordinates are relative to the application's client area.\n */\n anchorPosition: PropTypes.shape({\n left: PropTypes.number.isRequired,\n top: PropTypes.number.isRequired\n }),\n\n /**\n * This determines which anchor prop to refer to when setting\n * the position of the popover.\n * @default 'anchorEl'\n */\n anchorReference: PropTypes.oneOf(['anchorEl', 'anchorPosition', 'none']),\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * An HTML element, component instance, or function that returns either.\n * The `container` will passed to the Modal component.\n *\n * By default, it uses the body of the anchorEl's top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([HTMLElementType, PropTypes.func]),\n\n /**\n * The elevation of the popover.\n * @default 8\n */\n elevation: integerPropType,\n\n /**\n * Specifies how close to the edge of the window the popover can appear.\n * @default 16\n */\n marginThreshold: PropTypes.number,\n\n /**\n * Callback fired when the component requests to be closed.\n * The `reason` parameter can optionally be used to control the response to `onClose`.\n */\n onClose: PropTypes.func,\n\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n\n /**\n * Props applied to the [`Paper`](/api/paper/) element.\n * @default {}\n */\n PaperProps: PropTypes\n /* @typescript-to-proptypes-ignore */\n .shape({\n component: elementTypeAcceptingRef\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * This is the point on the popover which\n * will attach to the anchor's origin.\n *\n * Options:\n * vertical: [top, center, bottom, x(px)];\n * horizontal: [left, center, right, x(px)].\n * @default {\n * vertical: 'top',\n * horizontal: 'left',\n * }\n */\n transformOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOfType([PropTypes.oneOf(['center', 'left', 'right']), PropTypes.number]).isRequired,\n vertical: PropTypes.oneOfType([PropTypes.oneOf(['bottom', 'center', 'top']), PropTypes.number]).isRequired\n }),\n\n /**\n * The component used for the transition.\n * [Follow this guide](/components/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Grow\n */\n TransitionComponent: PropTypes.elementType,\n\n /**\n * Set to 'auto' to automatically calculate transition time based on height.\n * @default 'auto'\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](http://reactcommunity.org/react-transition-group/transition/) component.\n * @default {}\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Popover;"],"names":["FormControlContext","React","formControlState","props","states","muiFormControl","reduce","acc","state","useFormControl","getFormLabelUtilityClasses","slot","generateUtilityClass","generateUtilityClasses","_excluded","FormLabelRoot","styled","name","overridesResolver","styles","ownerState","_extends","root","color","colorSecondary","filled","theme","palette","text","secondary","typography","body1","lineHeight","padding","position","formLabelClasses","main","disabled","error","AsteriskComponent","asterisk","inProps","ref","useThemeProps","children","className","component","other","_objectWithoutPropertiesLoose","fcs","focused","required","classes","slots","capitalize","composeClasses","useUtilityClasses","_jsxs","as","clsx","getInputLabelUtilityClasses","InputLabelRoot","FormLabel","shouldForwardProp","prop","rootShouldForwardProp","formControl","size","sizeSmall","shrink","disableAnimation","animated","variant","display","transformOrigin","whiteSpace","overflow","textOverflow","maxWidth","left","top","transform","transition","transitions","create","duration","shorter","easing","easeOut","zIndex","pointerEvents","userSelect","shrinkProp","adornedStart","composedClasses","_jsx","getPopoverUtilityClass","_excluded2","getOffsetTop","rect","vertical","offset","height","getOffsetLeft","horizontal","width","getTransformOriginValue","map","n","join","resolveAnchorEl","anchorEl","PopoverRoot","Modal","PopoverPaper","Paper","paper","overflowY","overflowX","minWidth","minHeight","maxHeight","outline","action","anchorOrigin","anchorPosition","anchorReference","containerProp","container","elevation","marginThreshold","open","PaperProps","TransitionComponent","Grow","transitionDuration","transitionDurationProp","TransitionProps","onEntering","paperRef","handlePaperRef","useForkRef","getAnchorOffset","resolvedAnchorEl","anchorRect","nodeType","ownerDocument","current","body","getBoundingClientRect","getTransformOrigin","elemRect","getPositioningStyle","element","offsetWidth","offsetHeight","elemTransformOrigin","anchorOffset","bottom","right","containerWindow","ownerWindow","heightThreshold","innerHeight","widthThreshold","innerWidth","diff","Math","round","setPositioningStyles","positioning","style","updatePosition","handleResize","debounce","addEventListener","clear","removeEventListener","muiSupportAuto","undefined","BackdropProps","invisible","appear","in","isAppearing","timeout"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/8961.8aa802d6.chunk.js b/portal-ui/build/static/js/8961.1587a077.chunk.js similarity index 97% rename from portal-ui/build/static/js/8961.8aa802d6.chunk.js rename to portal-ui/build/static/js/8961.1587a077.chunk.js index f13e54fc0..8ad8407d3 100644 --- a/portal-ui/build/static/js/8961.8aa802d6.chunk.js +++ b/portal-ui/build/static/js/8961.1587a077.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[8961],{29316:function(e,t,n){n(50390);var i=n(6369),a=n(86509),o=n(4285),l=n(11387),r=n(62559);t.Z=(0,o.Z)((function(e){return(0,a.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var t=e.to,n=e.label,a=e.classes,o=e.className,s=e.executeOnClick;return(0,r.jsxs)(i.rU,{to:t,className:"".concat(a.link," ").concat(o||""),onClick:function(){s&&s()},children:[(0,r.jsx)("div",{className:a.icon,children:(0,r.jsx)(l.xN,{})}),(0,r.jsx)("div",{className:a.label,children:n})]})}))},88961:function(e,t,n){n.r(t);var i=n(23430),a=n(18489),o=n(50390),l=n(25594),r=n(66946),s=n(81378),c=n(86509),d=n(4285),u=n(72462),m=n(30324),x=n(66964),h=n(67754),p=n(27207),b=n(28948),g=n(24442),j=n(34424),Z=n(77130),f=n(89054),v=n(92440),k=n(35721),C=n(29316),y=n(11387),N=n(44149),B=n(25534),P=n(62559),L=(0,j.$j)((function(e){return{addBucketModalOpen:e.buckets.open,bucketName:e.buckets.addBucketName,versioningEnabled:e.buckets.addBucketVersioningEnabled,lockingEnabled:e.buckets.addBucketLockingEnabled,quotaEnabled:e.buckets.addBucketQuotaEnabled,quotaType:e.buckets.addBucketQuotaType,quotaSize:e.buckets.addBucketQuotaSize,quotaUnit:e.buckets.addBucketQuotaUnit,retentionEnabled:e.buckets.addBucketRetentionEnabled,retentionMode:e.buckets.addBucketRetentionMode,retentionUnit:e.buckets.addBucketRetentionUnit,retentionValidity:e.buckets.addBucketRetentionValidity,distributedSetup:e.system.distributedSetup}}),{addBucketName:Z.pK,addBucketVersioned:Z.Og,enableObjectLocking:Z.YP,addBucketQuota:Z.hN,addBucketQuotaType:Z.i9,addBucketQuotaSize:Z._X,addBucketQuotaUnit:Z.FB,addBucketRetention:Z._n,addBucketRetentionMode:Z.Tv,addBucketRetentionUnit:Z.Mf,addBucketRetentionValidity:Z.bC,setErrorSnackMessage:N.Ih});t.default=L((0,d.Z)((function(e){return(0,c.Z)((0,a.Z)({buttonContainer:{marginTop:24,textAlign:"right","& .MuiButton-root":{marginLeft:8}},error:{color:"#b53b4b",border:"1px solid #b53b4b",padding:8,borderRadius:3},title:{marginBottom:8},headTitle:{fontWeight:"bold",fontSize:16,paddingLeft:8},h6title:{fontWeight:"bold",color:"#000000",fontSize:20,paddingBottom:8}},(0,u.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=e.addBucketName,a=e.addBucketVersioned,c=e.enableObjectLocking,d=e.addBucketQuota,u=e.addBucketQuotaType,j=e.addBucketQuotaSize,Z=e.addBucketQuotaUnit,N=e.addBucketRetention,L=e.addBucketRetentionMode,F=e.addBucketRetentionUnit,S=e.addBucketRetentionValidity,R=e.setErrorSnackMessage,w=e.bucketName,O=e.versioningEnabled,I=e.lockingEnabled,M=e.quotaEnabled,E=e.quotaType,_=e.quotaSize,q=e.quotaUnit,T=e.retentionEnabled,z=e.retentionMode,Q=e.retentionUnit,A=e.retentionValidity,U=e.distributedSetup,W=(0,o.useState)(!1),V=(0,i.Z)(W,2),Y=V[0],D=V[1],H=(0,o.useState)(!1),$=(0,i.Z)(H,2),G=$[0],K=$[1],X=(0,o.useState)(!1),J=(0,i.Z)(X,2),ee=J[0],te=J[1],ne=(0,f.Z)(w,1e3),ie=(0,i.Z)(ne,1)[0];(0,o.useEffect)((function(){n(ie)}),[ie,n]);var ae=function(){n(""),a(!1),c(!1),d(!1),u("hard"),j("1"),Z("TiB"),N(!1),L("compliance"),F("days"),S(1)};return(0,o.useEffect)((function(){var e=!1;""!==w.trim()&&(e=!0),M&&e&&(""!==_.trim()&&0!==parseInt(_)||(e=!1)),O&&T||(N(!1),L("compliance"),F("days"),S(1)),T?(c(!0),te(!0)):te(!1),T&&(Number.isNaN(A)||A<1)&&(e=!1),K(e)}),[w,T,I,E,_,q,M,N,L,F,S,A,O,c]),(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)(k.Z,{label:"Create a Bucket"}),(0,P.jsx)(C.Z,{label:"Return to Buckets",to:"/buckets"}),(0,P.jsx)(B.Z,{children:(0,P.jsx)(l.ZP,{item:!0,xs:12,className:t.boxy,children:(0,P.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){if(e.preventDefault(),!Y){D(!0);var t={name:w,versioning:!!U&&O,locking:!!U&&I};if(U){if(M){var n=(0,b.Pw)(_,q,!1);t.quota={enabled:!0,quota_type:E,amount:parseInt(n)}}T&&(t.retention={mode:z,unit:Q,validity:A})}m.Z.invoke("POST","/api/v1/buckets",t).then((function(e){D(!1);var t="".concat(w);ae(),g.Z.push("/buckets/".concat(t,"/browse"))})).catch((function(e){D(!1),R(e)}))}}(e)},children:(0,P.jsxs)(l.ZP,{container:!0,children:[(0,P.jsxs)(l.ZP,{item:!0,xs:12,container:!0,className:t.title,children:[(0,P.jsx)(l.ZP,{item:!0,xs:"auto",children:(0,P.jsx)(y.wN,{})}),(0,P.jsx)(l.ZP,{item:!0,xs:!0,className:t.headTitle,children:"Create Bucket"})]}),(0,P.jsxs)(l.ZP,{item:!0,xs:12,container:!0,children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(x.Z,{id:"bucket-name",name:"bucket-name",autoFocus:!0,onChange:function(e){n(e.target.value)},label:"Bucket Name",value:w})}),(0,P.jsxs)(l.ZP,{item:!0,xs:12,children:[(0,P.jsx)("div",{className:t.h6title,children:"Features"}),(0,P.jsx)("br",{}),!U&&(0,P.jsxs)(o.Fragment,{children:[(0,P.jsxs)("div",{className:t.error,children:["These features are unavailable in a single-disk setup.",(0,P.jsx)("br",{}),"Please deploy a server in"," ",(0,P.jsx)("a",{href:"https://docs.min.io/minio/baremetal/installation/deploy-minio-distributed.html?ref=con",target:"_blank",rel:"noreferrer",children:"Distributed Mode"})," ","to use these features."]}),(0,P.jsx)("br",{}),(0,P.jsx)("br",{})]})]}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(v.Z,{value:"versioned",id:"versioned",name:"versioned",checked:O,onChange:function(e){a(e.target.checked)},description:"Allows to keep multiple versions of the same object under the same key.",label:"Versioning",disabled:!U||I})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(v.Z,{value:"locking",id:"locking",name:"locking",disabled:ee||!U,checked:I,onChange:function(e){c(e.target.checked),e.target.checked&&a(!0)},label:"Object Locking",description:"Required to support retention and legal hold. Can only be enabled at bucket creation."})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(v.Z,{value:"bucket_quota",id:"bucket_quota",name:"bucket_quota",checked:M,onChange:function(e){d(e.target.checked)},label:"Quota",description:"Limit the amount of data in the bucket.",disabled:!U})}),M&&U&&(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(p.Z,{currentSelection:E,id:"quota_type",name:"quota_type",label:"Quota Type",onChange:function(e){u(e.target.value)},selectorOptions:[{value:"hard",label:"Hard"}]})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsxs)(l.ZP,{container:!0,children:[(0,P.jsx)(l.ZP,{item:!0,xs:10,children:(0,P.jsx)(x.Z,{type:"number",id:"quota_size",name:"quota_size",onChange:function(e){j(e.target.value)},label:"Quota",value:_,required:!0,min:"1"})}),(0,P.jsx)(l.ZP,{item:!0,xs:2,children:(0,P.jsx)("div",{style:{width:100},children:(0,P.jsx)(h.Z,{label:"",id:"quota_unit",name:"quota_unit",value:q,onChange:function(e){Z(e.target.value)},options:(0,b.mK)()})})})]})})]}),O&&U&&(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(v.Z,{value:"bucket_retention",id:"bucket_retention",name:"bucket_retention",checked:T,onChange:function(e){N(e.target.checked)},label:"Retention",description:"Impose rules to prevent object deletion for a period of time."})}),T&&U&&(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(p.Z,{currentSelection:z,id:"retention_mode",name:"retention_mode",label:"Retention Mode",onChange:function(e){L(e.target.value)},selectorOptions:[{value:"compliance",label:"Compliance"},{value:"governance",label:"Governance"}]})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(p.Z,{currentSelection:Q,id:"retention_unit",name:"retention_unit",label:"Retention Unit",onChange:function(e){F(e.target.value)},selectorOptions:[{value:"days",label:"Days"},{value:"years",label:"Years"}]})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(x.Z,{type:"number",id:"retention_validity",name:"retention_validity",onChange:function(e){S(e.target.valueAsNumber)},label:"Retention Validity",value:String(A),required:!0,min:"1"})})]})]}),(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:t.buttonContainer,children:[(0,P.jsx)(r.Z,{type:"button",variant:"outlined",className:t.clearButton,onClick:ae,children:"Clear"}),(0,P.jsx)(r.Z,{type:"submit",variant:"contained",color:"primary",disabled:Y||!G,children:"Create Bucket"})]}),Y&&(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(s.Z,{})})]})})})})]})})))},92440:function(e,t,n){var i=n(36222),a=n(18489),o=n(50390),l=n(86509),r=n(4285),s=n(49056),c=n(14602),d=n(94187),u=n(35477),m=n(25594),x=n(72462),h=n(97538),p=n(44977),b=n(62559),g=(0,r.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(s.Z);t.Z=(0,r.Z)((function(e){return(0,l.Z)((0,a.Z)((0,a.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},x.OR),x.YI))}))((function(e){var t=e.label,n=void 0===t?"":t,a=e.onChange,l=e.value,r=e.id,s=e.name,x=e.checked,j=void 0!==x&&x,Z=e.disabled,f=void 0!==Z&&Z,v=e.switchOnly,k=void 0!==v&&v,C=e.tooltip,y=void 0===C?"":C,N=e.description,B=void 0===N?"":N,P=e.classes,L=e.indicatorLabels,F=(0,b.jsxs)(o.Fragment,{children:[!k&&(0,b.jsx)("span",{className:(0,p.Z)(P.indicatorLabel,(0,i.Z)({},P.indicatorLabelOn,!j)),children:L&&L.length>1?L[1]:"OFF"}),(0,b.jsx)(g,{checked:j,onChange:a,color:"primary",name:s,inputProps:{"aria-label":"primary checkbox"},disabled:f,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:l}),!k&&(0,b.jsx)("span",{className:(0,p.Z)(P.indicatorLabel,(0,i.Z)({},P.indicatorLabelOn,j)),children:L?L[0]:"ON"})]});return k?F:(0,b.jsx)("div",{className:P.divContainer,children:(0,b.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[(0,b.jsx)(m.ZP,{item:!0,xs:!0,children:(0,b.jsxs)(m.ZP,{container:!0,children:[(0,b.jsx)(m.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==n&&(0,b.jsxs)(c.Z,{htmlFor:r,className:P.inputLabel,children:[(0,b.jsx)("span",{children:n}),""!==y&&(0,b.jsx)("div",{className:P.tooltipContainer,children:(0,b.jsx)(d.Z,{title:y,placement:"top-start",children:(0,b.jsx)("div",{className:P.tooltip,children:(0,b.jsx)(h.Z,{})})})})]})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==B&&(0,b.jsx)(u.Z,{component:"p",className:P.fieldDescription,children:B})})]})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:P.switchContainer,children:F})]})})}))},66964:function(e,t,n){var i=n(18489),a=n(50390),o=n(12066),l=n(25594),r=n(14602),s=n(94187),c=n(95467),d=n(86509),u=n(62449),m=n(4285),x=n(72462),h=n(97538),p=n(44977),b=n(62559),g=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({},x.gM))}));function j(e){var t=g();return(0,b.jsx)(o.Z,(0,i.Z)({InputProps:{classes:t}},e))}t.Z=(0,m.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},x.YI),x.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},x.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,o=e.value,d=e.id,u=e.name,m=e.type,x=void 0===m?"text":m,g=e.autoComplete,Z=void 0===g?"off":g,f=e.disabled,v=void 0!==f&&f,k=e.multiline,C=void 0!==k&&k,y=e.tooltip,N=void 0===y?"":y,B=e.index,P=void 0===B?0:B,L=e.error,F=void 0===L?"":L,S=e.required,R=void 0!==S&&S,w=e.placeholder,O=void 0===w?"":w,I=e.min,M=e.max,E=e.overlayIcon,_=void 0===E?null:E,q=e.overlayObject,T=void 0===q?null:q,z=e.extraInputProps,Q=void 0===z?{}:z,A=e.overlayAction,U=e.noLabelMinWidth,W=void 0!==U&&U,V=e.pattern,Y=void 0===V?"":V,D=e.autoFocus,H=void 0!==D&&D,$=e.classes,G=e.className,K=void 0===G?"":G,X=(0,i.Z)({"data-index":P},Q);return"number"===x&&I&&(X.min=I),"number"===x&&M&&(X.max=M),""!==Y&&(X.pattern=Y),(0,b.jsx)(a.Fragment,{children:(0,b.jsxs)(l.ZP,{container:!0,className:(0,p.Z)(""!==K?K:"",""!==F?$.errorInField:$.inputBoxContainer),children:[""!==t&&(0,b.jsxs)(r.Z,{htmlFor:d,className:W?$.noMinWidthLabel:$.inputLabel,children:[(0,b.jsxs)("span",{children:[t,R?"*":""]}),""!==N&&(0,b.jsx)("div",{className:$.tooltipContainer,children:(0,b.jsx)(s.Z,{title:N,placement:"top-start",children:(0,b.jsx)("div",{className:$.tooltip,children:(0,b.jsx)(h.Z,{})})})})]}),(0,b.jsxs)("div",{className:$.textBoxContainer,children:[(0,b.jsx)(j,{id:d,name:u,fullWidth:!0,value:o,autoFocus:H,disabled:v,onChange:n,type:x,multiline:C,autoComplete:Z,inputProps:X,error:""!==F,helperText:F,placeholder:O,className:$.inputRebase}),_&&(0,b.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,b.jsx)(c.Z,{onClick:A?function(){A()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:_})}),T&&(0,b.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==t?"withLabel":""),children:T})]})]})})}))},27207:function(e,t,n){var i=n(36222),a=n(18489),o=(n(50390),n(44977)),l=n(25594),r=n(82420),s=n(66695),c=n(98893),d=n(14602),u=n(94187),m=n(86509),x=n(4285),h=n(62449),p=n(72462),b=n(97538),g=n(62559),j=(0,h.Z)((0,a.Z)({root:{"&:hover":{backgroundColor:"transparent"}}},p.FU)),Z=function(e){var t=j();return(0,g.jsx)(c.Z,(0,a.Z)({className:t.root,disableRipple:!0,color:"default",checkedIcon:(0,g.jsx)("span",{className:t.radioSelectedIcon}),icon:(0,g.jsx)("span",{className:t.radioUnselectedIcon})},e))};t.Z=(0,x.Z)((function(e){return(0,m.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},p.YI),p.Hr),{},{optionLabel:{"&.Mui-disabled":{"& .MuiFormControlLabel-label":{color:"#9c9c9c"}},"&:last-child":{marginRight:0},"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E"}},checkedOption:{"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E",fontWeight:700}}}))}))((function(e){var t=e.selectorOptions,n=void 0===t?[]:t,a=e.currentSelection,c=e.label,m=e.id,x=e.name,h=e.onChange,p=e.tooltip,j=void 0===p?"":p,f=e.disableOptions,v=void 0!==f&&f,k=e.classes,C=e.displayInColumn,y=void 0!==C&&C;return(0,g.jsxs)(l.ZP,{container:!0,alignItems:"center",children:[(0,g.jsx)(l.ZP,{item:!0,xs:!0,children:(0,g.jsxs)(d.Z,{htmlFor:m,className:k.inputLabel,children:[(0,g.jsx)("span",{children:c}),""!==j&&(0,g.jsx)("div",{className:k.tooltipContainer,children:(0,g.jsx)(u.Z,{title:j,placement:"top-start",children:(0,g.jsx)("div",{children:(0,g.jsx)(b.Z,{})})})})]})}),(0,g.jsx)(l.ZP,{item:!0,xs:!0,className:k.radioOptionsLayout,children:(0,g.jsx)(r.Z,{"aria-label":m,id:m,name:x,value:a,onChange:h,row:!y,style:{display:"block",textAlign:"right"},children:n.map((function(e){return(0,g.jsx)(s.Z,{value:e.value,control:(0,g.jsx)(Z,{}),label:e.label,disabled:v,className:(0,o.Z)(k.optionLabel,(0,i.Z)({},k.checkedOption,e.value===a))},"rd-".concat(x,"-").concat(e.value))}))})})]})}))},67754:function(e,t,n){var i=n(18489),a=n(50390),o=n(25594),l=n(46413),r=n(14602),s=n(94187),c=n(47554),d=n(43965),u=n(31680),m=n(86509),x=n(4285),h=n(72462),p=n(97538),b=n(62559),g=(0,x.Z)((function(e){return(0,m.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(l.ZP);t.Z=(0,x.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.YI),h.Hr),{},{inputLabel:(0,i.Z)((0,i.Z)({},h.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var t=e.classes,n=e.id,i=e.name,l=e.onChange,m=e.options,x=e.label,h=e.tooltip,j=void 0===h?"":h,Z=e.value,f=e.disabled,v=void 0!==f&&f;return(0,b.jsx)(a.Fragment,{children:(0,b.jsxs)(o.ZP,{item:!0,xs:12,className:t.fieldContainer,children:[""!==x&&(0,b.jsxs)(r.Z,{htmlFor:n,className:t.inputLabel,children:[(0,b.jsx)("span",{children:x}),""!==j&&(0,b.jsx)("div",{className:t.tooltipContainer,children:(0,b.jsx)(s.Z,{title:j,placement:"top-start",children:(0,b.jsx)("div",{className:t.tooltip,children:(0,b.jsx)(p.Z,{})})})})]}),(0,b.jsx)(c.Z,{fullWidth:!0,children:(0,b.jsx)(d.Z,{id:n,name:i,value:Z,onChange:l,input:(0,b.jsx)(g,{}),disabled:v,children:m.map((function(e){return(0,b.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(i,"-").concat(e.label))}))})})]})})}))},35721:function(e,t,n){n(50390);var i=n(34424),a=n(25594),o=n(86509),l=n(4285),r=n(35477),s=n(95467),c=n(26805),d=n(44078),u=n(5265),m=n(11387),x=n(62559),h={toggleList:u.kQ},p=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),h);t.Z=p((0,l.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,i=e.actions,o=e.sidebarOpen,l=e.operatorMode,u=e.managerObjects,h=e.toggleList,p=e.middleComponent;return(0,x.jsxs)(a.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,x.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,x.jsx)("div",{className:t.logo,children:l?(0,x.jsx)(c.Z,{}):(0,x.jsx)(d.Z,{})}),(0,x.jsx)(r.Z,{variant:"h4",className:t.labelStyle,children:n})]}),p&&(0,x.jsx)(a.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:p}),(0,x.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:t.rightMenu,children:[i&&i,u&&u.length>0&&(0,x.jsx)(s.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){h()},size:"large",children:(0,x.jsx)(m.gx,{})})]})]})})))}}]); -//# sourceMappingURL=8961.8aa802d6.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[8961],{29316:function(e,t,n){n(50390);var i=n(6369),a=n(86509),o=n(4285),l=n(98280),r=n(62559);t.Z=(0,o.Z)((function(e){return(0,a.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var t=e.to,n=e.label,a=e.classes,o=e.className,s=e.executeOnClick;return(0,r.jsxs)(i.rU,{to:t,className:"".concat(a.link," ").concat(o||""),onClick:function(){s&&s()},children:[(0,r.jsx)("div",{className:a.icon,children:(0,r.jsx)(l.xN,{})}),(0,r.jsx)("div",{className:a.label,children:n})]})}))},88961:function(e,t,n){n.r(t);var i=n(23430),a=n(18489),o=n(50390),l=n(25594),r=n(66946),s=n(81378),c=n(86509),d=n(4285),u=n(72462),m=n(30324),x=n(66964),h=n(67754),p=n(27207),b=n(28948),g=n(24442),j=n(34424),Z=n(77130),f=n(89054),v=n(92440),k=n(35721),C=n(29316),y=n(98280),N=n(44149),B=n(25534),P=n(62559),L=(0,j.$j)((function(e){return{addBucketModalOpen:e.buckets.open,bucketName:e.buckets.addBucketName,versioningEnabled:e.buckets.addBucketVersioningEnabled,lockingEnabled:e.buckets.addBucketLockingEnabled,quotaEnabled:e.buckets.addBucketQuotaEnabled,quotaType:e.buckets.addBucketQuotaType,quotaSize:e.buckets.addBucketQuotaSize,quotaUnit:e.buckets.addBucketQuotaUnit,retentionEnabled:e.buckets.addBucketRetentionEnabled,retentionMode:e.buckets.addBucketRetentionMode,retentionUnit:e.buckets.addBucketRetentionUnit,retentionValidity:e.buckets.addBucketRetentionValidity,distributedSetup:e.system.distributedSetup}}),{addBucketName:Z.pK,addBucketVersioned:Z.Og,enableObjectLocking:Z.YP,addBucketQuota:Z.hN,addBucketQuotaType:Z.i9,addBucketQuotaSize:Z._X,addBucketQuotaUnit:Z.FB,addBucketRetention:Z._n,addBucketRetentionMode:Z.Tv,addBucketRetentionUnit:Z.Mf,addBucketRetentionValidity:Z.bC,setErrorSnackMessage:N.Ih});t.default=L((0,d.Z)((function(e){return(0,c.Z)((0,a.Z)({buttonContainer:{marginTop:24,textAlign:"right","& .MuiButton-root":{marginLeft:8}},error:{color:"#b53b4b",border:"1px solid #b53b4b",padding:8,borderRadius:3},title:{marginBottom:8},headTitle:{fontWeight:"bold",fontSize:16,paddingLeft:8},h6title:{fontWeight:"bold",color:"#000000",fontSize:20,paddingBottom:8}},(0,u.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=e.addBucketName,a=e.addBucketVersioned,c=e.enableObjectLocking,d=e.addBucketQuota,u=e.addBucketQuotaType,j=e.addBucketQuotaSize,Z=e.addBucketQuotaUnit,N=e.addBucketRetention,L=e.addBucketRetentionMode,F=e.addBucketRetentionUnit,S=e.addBucketRetentionValidity,R=e.setErrorSnackMessage,w=e.bucketName,O=e.versioningEnabled,I=e.lockingEnabled,M=e.quotaEnabled,E=e.quotaType,_=e.quotaSize,q=e.quotaUnit,T=e.retentionEnabled,z=e.retentionMode,Q=e.retentionUnit,A=e.retentionValidity,U=e.distributedSetup,W=(0,o.useState)(!1),V=(0,i.Z)(W,2),Y=V[0],D=V[1],H=(0,o.useState)(!1),$=(0,i.Z)(H,2),G=$[0],K=$[1],X=(0,o.useState)(!1),J=(0,i.Z)(X,2),ee=J[0],te=J[1],ne=(0,f.Z)(w,1e3),ie=(0,i.Z)(ne,1)[0];(0,o.useEffect)((function(){n(ie)}),[ie,n]);var ae=function(){n(""),a(!1),c(!1),d(!1),u("hard"),j("1"),Z("TiB"),N(!1),L("compliance"),F("days"),S(1)};return(0,o.useEffect)((function(){var e=!1;""!==w.trim()&&(e=!0),M&&e&&(""!==_.trim()&&0!==parseInt(_)||(e=!1)),O&&T||(N(!1),L("compliance"),F("days"),S(1)),T?(c(!0),te(!0)):te(!1),T&&(Number.isNaN(A)||A<1)&&(e=!1),K(e)}),[w,T,I,E,_,q,M,N,L,F,S,A,O,c]),(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)(k.Z,{label:"Create a Bucket"}),(0,P.jsx)(C.Z,{label:"Return to Buckets",to:"/buckets"}),(0,P.jsx)(B.Z,{children:(0,P.jsx)(l.ZP,{item:!0,xs:12,className:t.boxy,children:(0,P.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){if(e.preventDefault(),!Y){D(!0);var t={name:w,versioning:!!U&&O,locking:!!U&&I};if(U){if(M){var n=(0,b.Pw)(_,q,!1);t.quota={enabled:!0,quota_type:E,amount:parseInt(n)}}T&&(t.retention={mode:z,unit:Q,validity:A})}m.Z.invoke("POST","/api/v1/buckets",t).then((function(e){D(!1);var t="".concat(w);ae(),g.Z.push("/buckets/".concat(t,"/browse"))})).catch((function(e){D(!1),R(e)}))}}(e)},children:(0,P.jsxs)(l.ZP,{container:!0,children:[(0,P.jsxs)(l.ZP,{item:!0,xs:12,container:!0,className:t.title,children:[(0,P.jsx)(l.ZP,{item:!0,xs:"auto",children:(0,P.jsx)(y.wN,{})}),(0,P.jsx)(l.ZP,{item:!0,xs:!0,className:t.headTitle,children:"Create Bucket"})]}),(0,P.jsxs)(l.ZP,{item:!0,xs:12,container:!0,children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(x.Z,{id:"bucket-name",name:"bucket-name",autoFocus:!0,onChange:function(e){n(e.target.value)},label:"Bucket Name",value:w})}),(0,P.jsxs)(l.ZP,{item:!0,xs:12,children:[(0,P.jsx)("div",{className:t.h6title,children:"Features"}),(0,P.jsx)("br",{}),!U&&(0,P.jsxs)(o.Fragment,{children:[(0,P.jsxs)("div",{className:t.error,children:["These features are unavailable in a single-disk setup.",(0,P.jsx)("br",{}),"Please deploy a server in"," ",(0,P.jsx)("a",{href:"https://docs.min.io/minio/baremetal/installation/deploy-minio-distributed.html?ref=con",target:"_blank",rel:"noreferrer",children:"Distributed Mode"})," ","to use these features."]}),(0,P.jsx)("br",{}),(0,P.jsx)("br",{})]})]}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(v.Z,{value:"versioned",id:"versioned",name:"versioned",checked:O,onChange:function(e){a(e.target.checked)},description:"Allows to keep multiple versions of the same object under the same key.",label:"Versioning",disabled:!U||I})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(v.Z,{value:"locking",id:"locking",name:"locking",disabled:ee||!U,checked:I,onChange:function(e){c(e.target.checked),e.target.checked&&a(!0)},label:"Object Locking",description:"Required to support retention and legal hold. Can only be enabled at bucket creation."})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(v.Z,{value:"bucket_quota",id:"bucket_quota",name:"bucket_quota",checked:M,onChange:function(e){d(e.target.checked)},label:"Quota",description:"Limit the amount of data in the bucket.",disabled:!U})}),M&&U&&(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(p.Z,{currentSelection:E,id:"quota_type",name:"quota_type",label:"Quota Type",onChange:function(e){u(e.target.value)},selectorOptions:[{value:"hard",label:"Hard"}]})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsxs)(l.ZP,{container:!0,children:[(0,P.jsx)(l.ZP,{item:!0,xs:10,children:(0,P.jsx)(x.Z,{type:"number",id:"quota_size",name:"quota_size",onChange:function(e){j(e.target.value)},label:"Quota",value:_,required:!0,min:"1"})}),(0,P.jsx)(l.ZP,{item:!0,xs:2,children:(0,P.jsx)("div",{style:{width:100},children:(0,P.jsx)(h.Z,{label:"",id:"quota_unit",name:"quota_unit",value:q,onChange:function(e){Z(e.target.value)},options:(0,b.mK)()})})})]})})]}),O&&U&&(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(v.Z,{value:"bucket_retention",id:"bucket_retention",name:"bucket_retention",checked:T,onChange:function(e){N(e.target.checked)},label:"Retention",description:"Impose rules to prevent object deletion for a period of time."})}),T&&U&&(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(p.Z,{currentSelection:z,id:"retention_mode",name:"retention_mode",label:"Retention Mode",onChange:function(e){L(e.target.value)},selectorOptions:[{value:"compliance",label:"Compliance"},{value:"governance",label:"Governance"}]})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(p.Z,{currentSelection:Q,id:"retention_unit",name:"retention_unit",label:"Retention Unit",onChange:function(e){F(e.target.value)},selectorOptions:[{value:"days",label:"Days"},{value:"years",label:"Years"}]})}),(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(x.Z,{type:"number",id:"retention_validity",name:"retention_validity",onChange:function(e){S(e.target.valueAsNumber)},label:"Retention Validity",value:String(A),required:!0,min:"1"})})]})]}),(0,P.jsxs)(l.ZP,{item:!0,xs:12,className:t.buttonContainer,children:[(0,P.jsx)(r.Z,{type:"button",variant:"outlined",className:t.clearButton,onClick:ae,children:"Clear"}),(0,P.jsx)(r.Z,{type:"submit",variant:"contained",color:"primary",disabled:Y||!G,children:"Create Bucket"})]}),Y&&(0,P.jsx)(l.ZP,{item:!0,xs:12,children:(0,P.jsx)(s.Z,{})})]})})})})]})})))},92440:function(e,t,n){var i=n(36222),a=n(18489),o=n(50390),l=n(86509),r=n(4285),s=n(49056),c=n(36554),d=n(94187),u=n(35477),m=n(25594),x=n(72462),h=n(97538),p=n(44977),b=n(62559),g=(0,r.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(s.Z);t.Z=(0,r.Z)((function(e){return(0,l.Z)((0,a.Z)((0,a.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},x.OR),x.YI))}))((function(e){var t=e.label,n=void 0===t?"":t,a=e.onChange,l=e.value,r=e.id,s=e.name,x=e.checked,j=void 0!==x&&x,Z=e.disabled,f=void 0!==Z&&Z,v=e.switchOnly,k=void 0!==v&&v,C=e.tooltip,y=void 0===C?"":C,N=e.description,B=void 0===N?"":N,P=e.classes,L=e.indicatorLabels,F=(0,b.jsxs)(o.Fragment,{children:[!k&&(0,b.jsx)("span",{className:(0,p.Z)(P.indicatorLabel,(0,i.Z)({},P.indicatorLabelOn,!j)),children:L&&L.length>1?L[1]:"OFF"}),(0,b.jsx)(g,{checked:j,onChange:a,color:"primary",name:s,inputProps:{"aria-label":"primary checkbox"},disabled:f,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:l}),!k&&(0,b.jsx)("span",{className:(0,p.Z)(P.indicatorLabel,(0,i.Z)({},P.indicatorLabelOn,j)),children:L?L[0]:"ON"})]});return k?F:(0,b.jsx)("div",{className:P.divContainer,children:(0,b.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[(0,b.jsx)(m.ZP,{item:!0,xs:!0,children:(0,b.jsxs)(m.ZP,{container:!0,children:[(0,b.jsx)(m.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==n&&(0,b.jsxs)(c.Z,{htmlFor:r,className:P.inputLabel,children:[(0,b.jsx)("span",{children:n}),""!==y&&(0,b.jsx)("div",{className:P.tooltipContainer,children:(0,b.jsx)(d.Z,{title:y,placement:"top-start",children:(0,b.jsx)("div",{className:P.tooltip,children:(0,b.jsx)(h.Z,{})})})})]})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==B&&(0,b.jsx)(u.Z,{component:"p",className:P.fieldDescription,children:B})})]})}),(0,b.jsx)(m.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:P.switchContainer,children:F})]})})}))},66964:function(e,t,n){var i=n(18489),a=n(50390),o=n(12066),l=n(25594),r=n(36554),s=n(94187),c=n(95467),d=n(86509),u=n(62449),m=n(4285),x=n(72462),h=n(97538),p=n(44977),b=n(62559),g=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({},x.gM))}));function j(e){var t=g();return(0,b.jsx)(o.Z,(0,i.Z)({InputProps:{classes:t}},e))}t.Z=(0,m.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},x.YI),x.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},x.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,o=e.value,d=e.id,u=e.name,m=e.type,x=void 0===m?"text":m,g=e.autoComplete,Z=void 0===g?"off":g,f=e.disabled,v=void 0!==f&&f,k=e.multiline,C=void 0!==k&&k,y=e.tooltip,N=void 0===y?"":y,B=e.index,P=void 0===B?0:B,L=e.error,F=void 0===L?"":L,S=e.required,R=void 0!==S&&S,w=e.placeholder,O=void 0===w?"":w,I=e.min,M=e.max,E=e.overlayIcon,_=void 0===E?null:E,q=e.overlayObject,T=void 0===q?null:q,z=e.extraInputProps,Q=void 0===z?{}:z,A=e.overlayAction,U=e.noLabelMinWidth,W=void 0!==U&&U,V=e.pattern,Y=void 0===V?"":V,D=e.autoFocus,H=void 0!==D&&D,$=e.classes,G=e.className,K=void 0===G?"":G,X=(0,i.Z)({"data-index":P},Q);return"number"===x&&I&&(X.min=I),"number"===x&&M&&(X.max=M),""!==Y&&(X.pattern=Y),(0,b.jsx)(a.Fragment,{children:(0,b.jsxs)(l.ZP,{container:!0,className:(0,p.Z)(""!==K?K:"",""!==F?$.errorInField:$.inputBoxContainer),children:[""!==t&&(0,b.jsxs)(r.Z,{htmlFor:d,className:W?$.noMinWidthLabel:$.inputLabel,children:[(0,b.jsxs)("span",{children:[t,R?"*":""]}),""!==N&&(0,b.jsx)("div",{className:$.tooltipContainer,children:(0,b.jsx)(s.Z,{title:N,placement:"top-start",children:(0,b.jsx)("div",{className:$.tooltip,children:(0,b.jsx)(h.Z,{})})})})]}),(0,b.jsxs)("div",{className:$.textBoxContainer,children:[(0,b.jsx)(j,{id:d,name:u,fullWidth:!0,value:o,autoFocus:H,disabled:v,onChange:n,type:x,multiline:C,autoComplete:Z,inputProps:X,error:""!==F,helperText:F,placeholder:O,className:$.inputRebase}),_&&(0,b.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,b.jsx)(c.Z,{onClick:A?function(){A()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:_})}),T&&(0,b.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==t?"withLabel":""),children:T})]})]})})}))},27207:function(e,t,n){var i=n(36222),a=n(18489),o=(n(50390),n(44977)),l=n(25594),r=n(82420),s=n(66695),c=n(98893),d=n(36554),u=n(94187),m=n(86509),x=n(4285),h=n(62449),p=n(72462),b=n(97538),g=n(62559),j=(0,h.Z)((0,a.Z)({root:{"&:hover":{backgroundColor:"transparent"}}},p.FU)),Z=function(e){var t=j();return(0,g.jsx)(c.Z,(0,a.Z)({className:t.root,disableRipple:!0,color:"default",checkedIcon:(0,g.jsx)("span",{className:t.radioSelectedIcon}),icon:(0,g.jsx)("span",{className:t.radioUnselectedIcon})},e))};t.Z=(0,x.Z)((function(e){return(0,m.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},p.YI),p.Hr),{},{optionLabel:{"&.Mui-disabled":{"& .MuiFormControlLabel-label":{color:"#9c9c9c"}},"&:last-child":{marginRight:0},"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E"}},checkedOption:{"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E",fontWeight:700}}}))}))((function(e){var t=e.selectorOptions,n=void 0===t?[]:t,a=e.currentSelection,c=e.label,m=e.id,x=e.name,h=e.onChange,p=e.tooltip,j=void 0===p?"":p,f=e.disableOptions,v=void 0!==f&&f,k=e.classes,C=e.displayInColumn,y=void 0!==C&&C;return(0,g.jsxs)(l.ZP,{container:!0,alignItems:"center",children:[(0,g.jsx)(l.ZP,{item:!0,xs:!0,children:(0,g.jsxs)(d.Z,{htmlFor:m,className:k.inputLabel,children:[(0,g.jsx)("span",{children:c}),""!==j&&(0,g.jsx)("div",{className:k.tooltipContainer,children:(0,g.jsx)(u.Z,{title:j,placement:"top-start",children:(0,g.jsx)("div",{children:(0,g.jsx)(b.Z,{})})})})]})}),(0,g.jsx)(l.ZP,{item:!0,xs:!0,className:k.radioOptionsLayout,children:(0,g.jsx)(r.Z,{"aria-label":m,id:m,name:x,value:a,onChange:h,row:!y,style:{display:"block",textAlign:"right"},children:n.map((function(e){return(0,g.jsx)(s.Z,{value:e.value,control:(0,g.jsx)(Z,{}),label:e.label,disabled:v,className:(0,o.Z)(k.optionLabel,(0,i.Z)({},k.checkedOption,e.value===a))},"rd-".concat(x,"-").concat(e.value))}))})})]})}))},67754:function(e,t,n){var i=n(18489),a=n(50390),o=n(25594),l=n(46413),r=n(36554),s=n(94187),c=n(47554),d=n(43965),u=n(31680),m=n(86509),x=n(4285),h=n(72462),p=n(97538),b=n(62559),g=(0,x.Z)((function(e){return(0,m.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(l.ZP);t.Z=(0,x.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.YI),h.Hr),{},{inputLabel:(0,i.Z)((0,i.Z)({},h.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var t=e.classes,n=e.id,i=e.name,l=e.onChange,m=e.options,x=e.label,h=e.tooltip,j=void 0===h?"":h,Z=e.value,f=e.disabled,v=void 0!==f&&f;return(0,b.jsx)(a.Fragment,{children:(0,b.jsxs)(o.ZP,{item:!0,xs:12,className:t.fieldContainer,children:[""!==x&&(0,b.jsxs)(r.Z,{htmlFor:n,className:t.inputLabel,children:[(0,b.jsx)("span",{children:x}),""!==j&&(0,b.jsx)("div",{className:t.tooltipContainer,children:(0,b.jsx)(s.Z,{title:j,placement:"top-start",children:(0,b.jsx)("div",{className:t.tooltip,children:(0,b.jsx)(p.Z,{})})})})]}),(0,b.jsx)(c.Z,{fullWidth:!0,children:(0,b.jsx)(d.Z,{id:n,name:i,value:Z,onChange:l,input:(0,b.jsx)(g,{}),disabled:v,children:m.map((function(e){return(0,b.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(i,"-").concat(e.label))}))})})]})})}))},35721:function(e,t,n){n(50390);var i=n(34424),a=n(25594),o=n(86509),l=n(4285),r=n(35477),s=n(95467),c=n(26805),d=n(44078),u=n(5265),m=n(98280),x=n(62559),h={toggleList:u.kQ},p=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),h);t.Z=p((0,l.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,i=e.actions,o=e.sidebarOpen,l=e.operatorMode,u=e.managerObjects,h=e.toggleList,p=e.middleComponent;return(0,x.jsxs)(a.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,x.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,x.jsx)("div",{className:t.logo,children:l?(0,x.jsx)(c.Z,{}):(0,x.jsx)(d.Z,{})}),(0,x.jsx)(r.Z,{variant:"h4",className:t.labelStyle,children:n})]}),p&&(0,x.jsx)(a.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:p}),(0,x.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:t.rightMenu,children:[i&&i,u&&u.length>0&&(0,x.jsx)(s.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){h()},size:"large",children:(0,x.jsx)(m.gx,{})})]})]})})))}}]); +//# sourceMappingURL=8961.1587a077.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/8961.1587a077.chunk.js.map b/portal-ui/build/static/js/8961.1587a077.chunk.js.map new file mode 100644 index 000000000..e7639e348 --- /dev/null +++ b/portal-ui/build/static/js/8961.1587a077.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/8961.1587a077.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Buckets/ListBuckets/AddBucket.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/PageHeader/PageHeader.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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button, LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { containerForHeader } from \"../../Common/FormComponents/common/styleLibrary\";\nimport api from \"../../../../common/api\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport { factorForDropdown, getBytes } from \"../../../../common/utils\";\nimport { AppState } from \"../../../../store\";\nimport history from \"../../../../history\";\nimport { connect } from \"react-redux\";\nimport {\n addBucketEnableObjectLocking,\n addBucketName,\n addBucketQuota,\n addBucketQuotaSize,\n addBucketQuotaType,\n addBucketQuotaUnit,\n addBucketRetention,\n addBucketRetentionMode,\n addBucketRetentionUnit,\n addBucketRetentionValidity,\n addBucketVersioning,\n} from \"../actions\";\nimport { useDebounce } from \"use-debounce\";\nimport { MakeBucketRequest } from \"../types\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport BackLink from \"../../../../common/BackLink\";\nimport { BucketsIcon } from \"../../../../icons\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n marginTop: 24,\n textAlign: \"right\",\n \"& .MuiButton-root\": {\n marginLeft: 8,\n },\n },\n error: {\n color: \"#b53b4b\",\n border: \"1px solid #b53b4b\",\n padding: 8,\n borderRadius: 3,\n },\n title: {\n marginBottom: 8,\n },\n headTitle: {\n fontWeight: \"bold\",\n fontSize: 16,\n paddingLeft: 8,\n },\n h6title: {\n fontWeight: \"bold\",\n color: \"#000000\",\n fontSize: 20,\n paddingBottom: 8,\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IAddBucketProps {\n classes: any;\n addBucketName: typeof addBucketName;\n addBucketVersioned: typeof addBucketVersioning;\n enableObjectLocking: typeof addBucketEnableObjectLocking;\n addBucketQuota: typeof addBucketQuota;\n addBucketQuotaType: typeof addBucketQuotaType;\n addBucketQuotaSize: typeof addBucketQuotaSize;\n addBucketQuotaUnit: typeof addBucketQuotaUnit;\n addBucketRetention: typeof addBucketRetention;\n addBucketRetentionMode: typeof addBucketRetentionMode;\n addBucketRetentionUnit: typeof addBucketRetentionUnit;\n addBucketRetentionValidity: typeof addBucketRetentionValidity;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n bucketName: string;\n versioningEnabled: boolean;\n lockingEnabled: boolean;\n quotaEnabled: boolean;\n quotaType: string;\n quotaSize: string;\n quotaUnit: string;\n retentionEnabled: boolean;\n retentionMode: string;\n retentionUnit: string;\n retentionValidity: number;\n distributedSetup: boolean;\n}\n\nconst AddBucket = ({\n classes,\n addBucketName,\n addBucketVersioned,\n enableObjectLocking,\n addBucketQuota,\n addBucketQuotaType,\n addBucketQuotaSize,\n addBucketQuotaUnit,\n addBucketRetention,\n addBucketRetentionMode,\n addBucketRetentionUnit,\n addBucketRetentionValidity,\n setErrorSnackMessage,\n bucketName,\n versioningEnabled,\n lockingEnabled,\n quotaEnabled,\n quotaType,\n quotaSize,\n quotaUnit,\n retentionEnabled,\n retentionMode,\n retentionUnit,\n retentionValidity,\n distributedSetup,\n}: IAddBucketProps) => {\n const [addLoading, setAddLoading] = useState(false);\n const [sendEnabled, setSendEnabled] = useState(false);\n const [lockingFieldDisabled, setLockingFieldDisabled] =\n useState(false);\n\n const addRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n\n let request: MakeBucketRequest = {\n name: bucketName,\n versioning: distributedSetup ? versioningEnabled : false,\n locking: distributedSetup ? lockingEnabled : false,\n };\n\n if (distributedSetup) {\n if (quotaEnabled) {\n const amount = getBytes(quotaSize, quotaUnit, false);\n request.quota = {\n enabled: true,\n quota_type: quotaType,\n amount: parseInt(amount),\n };\n }\n\n if (retentionEnabled) {\n request.retention = {\n mode: retentionMode,\n unit: retentionUnit,\n validity: retentionValidity,\n };\n }\n }\n\n api\n .invoke(\"POST\", \"/api/v1/buckets\", request)\n .then((res) => {\n setAddLoading(false);\n const newBucketName = `${bucketName}`;\n resetForm();\n history.push(`/buckets/${newBucketName}/browse`);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setErrorSnackMessage(err);\n });\n };\n\n const [value] = useDebounce(bucketName, 1000);\n\n useEffect(() => {\n addBucketName(value);\n }, [value, addBucketName]);\n\n const resetForm = () => {\n addBucketName(\"\");\n addBucketVersioned(false);\n enableObjectLocking(false);\n addBucketQuota(false);\n addBucketQuotaType(\"hard\");\n addBucketQuotaSize(\"1\");\n addBucketQuotaUnit(\"TiB\");\n addBucketRetention(false);\n addBucketRetentionMode(\"compliance\");\n addBucketRetentionUnit(\"days\");\n addBucketRetentionValidity(1);\n };\n\n useEffect(() => {\n let valid = false;\n\n if (bucketName.trim() !== \"\") {\n valid = true;\n }\n\n if (quotaEnabled && valid) {\n if (quotaSize.trim() === \"\" || parseInt(quotaSize) === 0) {\n valid = false;\n }\n }\n\n if (!versioningEnabled || !retentionEnabled) {\n addBucketRetention(false);\n addBucketRetentionMode(\"compliance\");\n addBucketRetentionUnit(\"days\");\n addBucketRetentionValidity(1);\n }\n\n if (retentionEnabled) {\n // if retention is enabled, then objec locking should be enabled as well\n enableObjectLocking(true);\n setLockingFieldDisabled(true);\n } else {\n setLockingFieldDisabled(false);\n }\n\n if (\n retentionEnabled &&\n (Number.isNaN(retentionValidity) || retentionValidity < 1)\n ) {\n valid = false;\n }\n\n setSendEnabled(valid);\n }, [\n bucketName,\n retentionEnabled,\n lockingEnabled,\n quotaType,\n quotaSize,\n quotaUnit,\n quotaEnabled,\n addBucketRetention,\n addBucketRetentionMode,\n addBucketRetentionUnit,\n addBucketRetentionValidity,\n retentionValidity,\n versioningEnabled,\n enableObjectLocking,\n ]);\n\n return (\n \n \n \n \n \n ) => {\n addRecord(e);\n }}\n >\n \n \n \n \n \n \n Create Bucket\n \n \n \n \n ) => {\n addBucketName(event.target.value);\n }}\n label=\"Bucket Name\"\n value={bucketName}\n />\n \n \n
Features
\n
\n {!distributedSetup && (\n \n
\n These features are unavailable in a single-disk setup.\n
\n Please deploy a server in{\" \"}\n \n Distributed Mode\n {\" \"}\n to use these features.\n
\n
\n
\n
\n )}\n
\n\n \n ) => {\n addBucketVersioned(event.target.checked);\n }}\n description={\n \"Allows to keep multiple versions of the same object under the same key.\"\n }\n label={\"Versioning\"}\n disabled={!distributedSetup || lockingEnabled}\n />\n \n \n ) => {\n enableObjectLocking(event.target.checked);\n if (event.target.checked) {\n addBucketVersioned(true);\n }\n }}\n label={\"Object Locking\"}\n description={\n \"Required to support retention and legal hold. Can only be enabled at bucket creation.\"\n }\n />\n \n\n \n ) => {\n addBucketQuota(event.target.checked);\n }}\n label={\"Quota\"}\n description={\"Limit the amount of data in the bucket.\"}\n disabled={!distributedSetup}\n />\n \n {quotaEnabled && distributedSetup && (\n \n \n \n ) => {\n addBucketQuotaType(e.target.value as string);\n }}\n selectorOptions={[{ value: \"hard\", label: \"Hard\" }]}\n />\n \n \n \n \n \n ) => {\n addBucketQuotaSize(e.target.value);\n }}\n label=\"Quota\"\n value={quotaSize}\n required\n min=\"1\"\n />\n \n \n
\n ) => {\n addBucketQuotaUnit(e.target.value as string);\n }}\n options={factorForDropdown()}\n />\n
\n
\n
\n
\n
\n )}\n {versioningEnabled && distributedSetup && (\n \n \n ) => {\n addBucketRetention(event.target.checked);\n }}\n label={\"Retention\"}\n description={\n \"Impose rules to prevent object deletion for a period of time.\"\n }\n />\n \n )}\n {retentionEnabled && distributedSetup && (\n \n \n \n ) => {\n addBucketRetentionMode(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"compliance\", label: \"Compliance\" },\n { value: \"governance\", label: \"Governance\" },\n ]}\n />\n \n \n \n ) => {\n addBucketRetentionUnit(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"days\", label: \"Days\" },\n { value: \"years\", label: \"Years\" },\n ]}\n />\n \n \n ) => {\n addBucketRetentionValidity(e.target.valueAsNumber);\n }}\n label=\"Retention Validity\"\n value={String(retentionValidity)}\n required\n min=\"1\"\n />\n \n \n )}\n
\n \n \n Clear\n \n \n Create Bucket\n \n \n {addLoading && (\n \n \n \n )}\n
\n \n
\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n addBucketModalOpen: state.buckets.open,\n bucketName: state.buckets.addBucketName,\n versioningEnabled: state.buckets.addBucketVersioningEnabled,\n lockingEnabled: state.buckets.addBucketLockingEnabled,\n quotaEnabled: state.buckets.addBucketQuotaEnabled,\n quotaType: state.buckets.addBucketQuotaType,\n quotaSize: state.buckets.addBucketQuotaSize,\n quotaUnit: state.buckets.addBucketQuotaUnit,\n retentionEnabled: state.buckets.addBucketRetentionEnabled,\n retentionMode: state.buckets.addBucketRetentionMode,\n retentionUnit: state.buckets.addBucketRetentionUnit,\n retentionValidity: state.buckets.addBucketRetentionValidity,\n distributedSetup: state.system.distributedSetup,\n});\n\nconst connector = connect(mapState, {\n addBucketName: addBucketName,\n addBucketVersioned: addBucketVersioning,\n enableObjectLocking: addBucketEnableObjectLocking,\n addBucketQuota: addBucketQuota,\n addBucketQuotaType: addBucketQuotaType,\n addBucketQuotaSize: addBucketQuotaSize,\n addBucketQuotaUnit: addBucketQuotaUnit,\n addBucketRetention: addBucketRetention,\n addBucketRetentionMode: addBucketRetentionMode,\n addBucketRetentionUnit: addBucketRetentionUnit,\n addBucketRetentionValidity: addBucketRetentionValidity,\n setErrorSnackMessage: setErrorSnackMessage,\n});\n\nexport default connector(withStyles(styles)(AddBucket));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","connector","connect","state","addBucketModalOpen","buckets","open","bucketName","addBucketName","versioningEnabled","addBucketVersioningEnabled","lockingEnabled","addBucketLockingEnabled","quotaEnabled","addBucketQuotaEnabled","quotaType","addBucketQuotaType","quotaSize","addBucketQuotaSize","quotaUnit","addBucketQuotaUnit","retentionEnabled","addBucketRetentionEnabled","retentionMode","addBucketRetentionMode","retentionUnit","addBucketRetentionUnit","retentionValidity","addBucketRetentionValidity","distributedSetup","system","addBucketVersioned","addBucketVersioning","enableObjectLocking","addBucketEnableObjectLocking","addBucketQuota","addBucketRetention","setErrorSnackMessage","buttonContainer","marginTop","textAlign","marginLeft","error","border","borderRadius","title","marginBottom","headTitle","fontWeight","paddingLeft","h6title","paddingBottom","containerForHeader","spacing","useState","addLoading","setAddLoading","sendEnabled","setSendEnabled","lockingFieldDisabled","setLockingFieldDisabled","useDebounce","value","useEffect","resetForm","valid","trim","parseInt","Number","isNaN","Fragment","item","xs","boxy","noValidate","autoComplete","onSubmit","e","event","preventDefault","request","name","versioning","locking","amount","getBytes","quota","enabled","quota_type","retention","mode","unit","validity","api","then","res","newBucketName","history","catch","err","addRecord","container","id","autoFocus","onChange","target","href","rel","checked","description","disabled","currentSelection","selectorOptions","type","required","min","style","options","factorForDropdown","valueAsNumber","String","variant","clearButton","StyledSwitch","root","height","margin","switchBase","transform","common","white","backgroundColor","boxShadow","opacity","thumb","track","transition","transitions","create","focusVisible","switchContainer","Switch","divContainer","indicatorLabelOn","indicatorLabel","fieldDescription","tooltip","actionsTray","fieldBasic","switchOnly","indicatorLabels","switchComponent","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","sm","md","htmlFor","inputLabel","tooltipContainer","placement","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxHeight","multiline","index","placeholder","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","size","radioStyles","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","radioUnselectedIcon","optionLabel","checkedOption","disableOptions","displayInColumn","radioOptionsLayout","row","map","selectorOption","control","SelectStyled","lineHeight","input","borderColor","InputBase","fieldContainer","flexFlow","option","mapDispatchToProps","toggleList","sidebarOpen","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","labelStyle","rightMenu","logo","fill","main","middleComponent","actions","direction","sx","paddingTop"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/8961.8aa802d6.chunk.js.map b/portal-ui/build/static/js/8961.8aa802d6.chunk.js.map deleted file mode 100644 index 6a0a7956d..000000000 --- a/portal-ui/build/static/js/8961.8aa802d6.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/8961.8aa802d6.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Buckets/ListBuckets/AddBucket.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/PageHeader/PageHeader.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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({ to, label, classes, className, executeOnClick }: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button, LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { containerForHeader } from \"../../Common/FormComponents/common/styleLibrary\";\nimport api from \"../../../../common/api\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport { factorForDropdown, getBytes } from \"../../../../common/utils\";\nimport { AppState } from \"../../../../store\";\nimport history from \"../../../../history\";\nimport { connect } from \"react-redux\";\nimport {\n addBucketEnableObjectLocking,\n addBucketName,\n addBucketQuota,\n addBucketQuotaSize,\n addBucketQuotaType,\n addBucketQuotaUnit,\n addBucketRetention,\n addBucketRetentionMode,\n addBucketRetentionUnit,\n addBucketRetentionValidity,\n addBucketVersioning,\n} from \"../actions\";\nimport { useDebounce } from \"use-debounce\";\nimport { MakeBucketRequest } from \"../types\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport BackLink from \"../../../../common/BackLink\";\nimport { BucketsIcon } from \"../../../../icons\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n marginTop: 24,\n textAlign: \"right\",\n \"& .MuiButton-root\": {\n marginLeft: 8,\n },\n },\n error: {\n color: \"#b53b4b\",\n border: \"1px solid #b53b4b\",\n padding: 8,\n borderRadius: 3,\n },\n title: {\n marginBottom: 8,\n },\n headTitle: {\n fontWeight: \"bold\",\n fontSize: 16,\n paddingLeft: 8,\n },\n h6title: {\n fontWeight: \"bold\",\n color: \"#000000\",\n fontSize: 20,\n paddingBottom: 8,\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IAddBucketProps {\n classes: any;\n addBucketName: typeof addBucketName;\n addBucketVersioned: typeof addBucketVersioning;\n enableObjectLocking: typeof addBucketEnableObjectLocking;\n addBucketQuota: typeof addBucketQuota;\n addBucketQuotaType: typeof addBucketQuotaType;\n addBucketQuotaSize: typeof addBucketQuotaSize;\n addBucketQuotaUnit: typeof addBucketQuotaUnit;\n addBucketRetention: typeof addBucketRetention;\n addBucketRetentionMode: typeof addBucketRetentionMode;\n addBucketRetentionUnit: typeof addBucketRetentionUnit;\n addBucketRetentionValidity: typeof addBucketRetentionValidity;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n bucketName: string;\n versioningEnabled: boolean;\n lockingEnabled: boolean;\n quotaEnabled: boolean;\n quotaType: string;\n quotaSize: string;\n quotaUnit: string;\n retentionEnabled: boolean;\n retentionMode: string;\n retentionUnit: string;\n retentionValidity: number;\n distributedSetup: boolean;\n}\n\nconst AddBucket = ({\n classes,\n addBucketName,\n addBucketVersioned,\n enableObjectLocking,\n addBucketQuota,\n addBucketQuotaType,\n addBucketQuotaSize,\n addBucketQuotaUnit,\n addBucketRetention,\n addBucketRetentionMode,\n addBucketRetentionUnit,\n addBucketRetentionValidity,\n setErrorSnackMessage,\n bucketName,\n versioningEnabled,\n lockingEnabled,\n quotaEnabled,\n quotaType,\n quotaSize,\n quotaUnit,\n retentionEnabled,\n retentionMode,\n retentionUnit,\n retentionValidity,\n distributedSetup,\n}: IAddBucketProps) => {\n const [addLoading, setAddLoading] = useState(false);\n const [sendEnabled, setSendEnabled] = useState(false);\n const [lockingFieldDisabled, setLockingFieldDisabled] =\n useState(false);\n\n const addRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n\n let request: MakeBucketRequest = {\n name: bucketName,\n versioning: distributedSetup ? versioningEnabled : false,\n locking: distributedSetup ? lockingEnabled : false,\n };\n\n if (distributedSetup) {\n if (quotaEnabled) {\n const amount = getBytes(quotaSize, quotaUnit, false);\n request.quota = {\n enabled: true,\n quota_type: quotaType,\n amount: parseInt(amount),\n };\n }\n\n if (retentionEnabled) {\n request.retention = {\n mode: retentionMode,\n unit: retentionUnit,\n validity: retentionValidity,\n };\n }\n }\n\n api\n .invoke(\"POST\", \"/api/v1/buckets\", request)\n .then((res) => {\n setAddLoading(false);\n const newBucketName = `${bucketName}`;\n resetForm();\n history.push(`/buckets/${newBucketName}/browse`);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setErrorSnackMessage(err);\n });\n };\n\n const [value] = useDebounce(bucketName, 1000);\n\n useEffect(() => {\n addBucketName(value);\n }, [value, addBucketName]);\n\n const resetForm = () => {\n addBucketName(\"\");\n addBucketVersioned(false);\n enableObjectLocking(false);\n addBucketQuota(false);\n addBucketQuotaType(\"hard\");\n addBucketQuotaSize(\"1\");\n addBucketQuotaUnit(\"TiB\");\n addBucketRetention(false);\n addBucketRetentionMode(\"compliance\");\n addBucketRetentionUnit(\"days\");\n addBucketRetentionValidity(1);\n };\n\n useEffect(() => {\n let valid = false;\n\n if (bucketName.trim() !== \"\") {\n valid = true;\n }\n\n if (quotaEnabled && valid) {\n if (quotaSize.trim() === \"\" || parseInt(quotaSize) === 0) {\n valid = false;\n }\n }\n\n if (!versioningEnabled || !retentionEnabled) {\n addBucketRetention(false);\n addBucketRetentionMode(\"compliance\");\n addBucketRetentionUnit(\"days\");\n addBucketRetentionValidity(1);\n }\n\n if (retentionEnabled) {\n // if retention is enabled, then objec locking should be enabled as well\n enableObjectLocking(true);\n setLockingFieldDisabled(true);\n } else {\n setLockingFieldDisabled(false);\n }\n\n if (\n retentionEnabled &&\n (Number.isNaN(retentionValidity) || retentionValidity < 1)\n ) {\n valid = false;\n }\n\n setSendEnabled(valid);\n }, [\n bucketName,\n retentionEnabled,\n lockingEnabled,\n quotaType,\n quotaSize,\n quotaUnit,\n quotaEnabled,\n addBucketRetention,\n addBucketRetentionMode,\n addBucketRetentionUnit,\n addBucketRetentionValidity,\n retentionValidity,\n versioningEnabled,\n enableObjectLocking,\n ]);\n\n return (\n \n \n \n \n \n ) => {\n addRecord(e);\n }}\n >\n \n \n \n \n \n \n Create Bucket\n \n \n \n \n ) => {\n addBucketName(event.target.value);\n }}\n label=\"Bucket Name\"\n value={bucketName}\n />\n \n \n
Features
\n
\n {!distributedSetup && (\n \n
\n These features are unavailable in a single-disk setup.\n
\n Please deploy a server in{\" \"}\n \n Distributed Mode\n {\" \"}\n to use these features.\n
\n
\n
\n
\n )}\n
\n\n \n ) => {\n addBucketVersioned(event.target.checked);\n }}\n description={\n \"Allows to keep multiple versions of the same object under the same key.\"\n }\n label={\"Versioning\"}\n disabled={!distributedSetup || lockingEnabled}\n />\n \n \n ) => {\n enableObjectLocking(event.target.checked);\n if (event.target.checked) {\n addBucketVersioned(true);\n }\n }}\n label={\"Object Locking\"}\n description={\n \"Required to support retention and legal hold. Can only be enabled at bucket creation.\"\n }\n />\n \n\n \n ) => {\n addBucketQuota(event.target.checked);\n }}\n label={\"Quota\"}\n description={\"Limit the amount of data in the bucket.\"}\n disabled={!distributedSetup}\n />\n \n {quotaEnabled && distributedSetup && (\n \n \n \n ) => {\n addBucketQuotaType(e.target.value as string);\n }}\n selectorOptions={[{ value: \"hard\", label: \"Hard\" }]}\n />\n \n \n \n \n \n ) => {\n addBucketQuotaSize(e.target.value);\n }}\n label=\"Quota\"\n value={quotaSize}\n required\n min=\"1\"\n />\n \n \n
\n ) => {\n addBucketQuotaUnit(e.target.value as string);\n }}\n options={factorForDropdown()}\n />\n
\n
\n
\n
\n
\n )}\n {versioningEnabled && distributedSetup && (\n \n \n ) => {\n addBucketRetention(event.target.checked);\n }}\n label={\"Retention\"}\n description={\n \"Impose rules to prevent object deletion for a period of time.\"\n }\n />\n \n )}\n {retentionEnabled && distributedSetup && (\n \n \n \n ) => {\n addBucketRetentionMode(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"compliance\", label: \"Compliance\" },\n { value: \"governance\", label: \"Governance\" },\n ]}\n />\n \n \n \n ) => {\n addBucketRetentionUnit(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"days\", label: \"Days\" },\n { value: \"years\", label: \"Years\" },\n ]}\n />\n \n \n ) => {\n addBucketRetentionValidity(e.target.valueAsNumber);\n }}\n label=\"Retention Validity\"\n value={String(retentionValidity)}\n required\n min=\"1\"\n />\n \n \n )}\n
\n \n \n Clear\n \n \n Create Bucket\n \n \n {addLoading && (\n \n \n \n )}\n
\n \n
\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n addBucketModalOpen: state.buckets.open,\n bucketName: state.buckets.addBucketName,\n versioningEnabled: state.buckets.addBucketVersioningEnabled,\n lockingEnabled: state.buckets.addBucketLockingEnabled,\n quotaEnabled: state.buckets.addBucketQuotaEnabled,\n quotaType: state.buckets.addBucketQuotaType,\n quotaSize: state.buckets.addBucketQuotaSize,\n quotaUnit: state.buckets.addBucketQuotaUnit,\n retentionEnabled: state.buckets.addBucketRetentionEnabled,\n retentionMode: state.buckets.addBucketRetentionMode,\n retentionUnit: state.buckets.addBucketRetentionUnit,\n retentionValidity: state.buckets.addBucketRetentionValidity,\n distributedSetup: state.system.distributedSetup,\n});\n\nconst connector = connect(mapState, {\n addBucketName: addBucketName,\n addBucketVersioned: addBucketVersioning,\n enableObjectLocking: addBucketEnableObjectLocking,\n addBucketQuota: addBucketQuota,\n addBucketQuotaType: addBucketQuotaType,\n addBucketQuotaSize: addBucketQuotaSize,\n addBucketQuotaUnit: addBucketQuotaUnit,\n addBucketRetention: addBucketRetention,\n addBucketRetentionMode: addBucketRetentionMode,\n addBucketRetentionUnit: addBucketRetentionUnit,\n addBucketRetentionValidity: addBucketRetentionValidity,\n setErrorSnackMessage: setErrorSnackMessage,\n});\n\nexport default connector(withStyles(styles)(AddBucket));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n
\n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
\n
\n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","connector","connect","state","addBucketModalOpen","buckets","open","bucketName","addBucketName","versioningEnabled","addBucketVersioningEnabled","lockingEnabled","addBucketLockingEnabled","quotaEnabled","addBucketQuotaEnabled","quotaType","addBucketQuotaType","quotaSize","addBucketQuotaSize","quotaUnit","addBucketQuotaUnit","retentionEnabled","addBucketRetentionEnabled","retentionMode","addBucketRetentionMode","retentionUnit","addBucketRetentionUnit","retentionValidity","addBucketRetentionValidity","distributedSetup","system","addBucketVersioned","addBucketVersioning","enableObjectLocking","addBucketEnableObjectLocking","addBucketQuota","addBucketRetention","setErrorSnackMessage","buttonContainer","marginTop","textAlign","marginLeft","error","border","borderRadius","title","marginBottom","headTitle","fontWeight","paddingLeft","h6title","paddingBottom","containerForHeader","spacing","useState","addLoading","setAddLoading","sendEnabled","setSendEnabled","lockingFieldDisabled","setLockingFieldDisabled","useDebounce","value","useEffect","resetForm","valid","trim","parseInt","Number","isNaN","Fragment","item","xs","boxy","noValidate","autoComplete","onSubmit","e","event","preventDefault","request","name","versioning","locking","amount","getBytes","quota","enabled","quota_type","retention","mode","unit","validity","api","then","res","newBucketName","history","catch","err","addRecord","container","id","autoFocus","onChange","target","href","rel","checked","description","disabled","currentSelection","selectorOptions","type","required","min","style","options","factorForDropdown","valueAsNumber","String","variant","clearButton","StyledSwitch","root","height","margin","switchBase","transform","common","white","backgroundColor","boxShadow","opacity","thumb","track","transition","transitions","create","focusVisible","switchContainer","Switch","divContainer","indicatorLabelOn","indicatorLabel","fieldDescription","tooltip","actionsTray","fieldBasic","switchOnly","indicatorLabels","switchComponent","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","sm","md","htmlFor","inputLabel","tooltipContainer","placement","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxHeight","multiline","index","placeholder","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","size","radioStyles","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","radioUnselectedIcon","optionLabel","checkedOption","disableOptions","displayInColumn","radioOptionsLayout","row","map","selectorOption","control","SelectStyled","lineHeight","input","borderColor","InputBase","fieldContainer","flexFlow","option","mapDispatchToProps","toggleList","sidebarOpen","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","labelStyle","rightMenu","logo","fill","main","middleComponent","actions","direction","sx","paddingTop"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/8967.ec9d9b6b.chunk.js b/portal-ui/build/static/js/8967.ec9d9b6b.chunk.js new file mode 100644 index 000000000..80c62ad92 --- /dev/null +++ b/portal-ui/build/static/js/8967.ec9d9b6b.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[8967],{29316:function(e,n,t){t(50390);var i=t(6369),a=t(86509),o=t(4285),s=t(98280),r=t(62559);n.Z=(0,o.Z)((function(e){return(0,a.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var n=e.to,t=e.label,a=e.classes,o=e.className,l=e.executeOnClick;return(0,r.jsxs)(i.rU,{to:n,className:"".concat(a.link," ").concat(o||""),onClick:function(){l&&l()},children:[(0,r.jsx)("div",{className:a.icon,children:(0,r.jsx)(s.xN,{})}),(0,r.jsx)("div",{className:a.label,children:t})]})}))},78967:function(e,n,t){t.r(n),t.d(n,{default:function(){return nt}});var i=t(18489),a=t(50390),o=t(34424),s=t(86509),r=t(4285),l=t(6369),c=t(94187),d=t(95467),u=t(25594),m=t(38342),h=t.n(m),f=t(72462),p=t(5265),x=t(23430),b=t(87248),g=t.n(b),j=t(81378),v=t(18201),Z=t(56805),y=t(79440),C=t(3662),k=t(24442),S=t(30324),w=t(17777),N=t(44149),T=t(28948),E=t(49495),_=t(66946),P=[{value:"01",label:"January"},{value:"02",label:"February"},{value:"03",label:"March"},{value:"04",label:"April"},{value:"05",label:"May"},{value:"06",label:"June"},{value:"07",label:"July"},{value:"08",label:"August"},{value:"09",label:"September"},{value:"10",label:"October"},{value:"11",label:"November"},{value:"12",label:"December"}],F=Array.from(Array(31),(function(e,n){return n+1})),I=(new Date).getFullYear(),O=Array.from(Array(25),(function(e,n){return n+I})),L=t(76352),B=t(92440),D=t(27207),M=t(36222),R=t(44977),z=t(36554),A=t(47554),U=t(43965),W=t(31680),H=t(46413),G=t(97538),K=t(62559),J=(0,r.Z)((function(e){return(0,s.Z)({root:{"& .MuiSelect-icon":{color:"#000","&.Mui-disabled":{color:"#9c9c9c"}}},input:{borderBottom:0,fontSize:12}})}))(H.ZP),Y=(0,a.forwardRef)((function(e,n){var t=e.classes,i=e.id,o=e.label,s=e.disableOptions,r=void 0!==s&&s,l=e.addSwitch,d=void 0!==l&&l,m=e.tooltip,h=void 0===m?"":m,f=e.borderBottom,p=void 0!==f&&f,b=e.onDateChange,g=e.value,j=void 0===g?"":g;(0,a.useImperativeHandle)(n,(function(){return{resetDate:$}}));var v=(0,a.useState)(!1),Z=(0,x.Z)(v,2),y=Z[0],C=Z[1],k=(0,a.useState)(""),S=(0,x.Z)(k,2),w=S[0],N=S[1],T=(0,a.useState)(""),E=(0,x.Z)(T,2),_=E[0],I=E[1],L=(0,a.useState)(""),D=(0,x.Z)(L,2),H=D[0],Y=D[1];(0,a.useEffect)((function(){if(""!==j){var e=j.split("-");Y(e[0]),N(e[1]),I("".concat(parseInt(e[2])))}}),[j]),(0,a.useEffect)((function(){var e=function(e,n,t){var i=Date.parse("".concat(e,"-").concat(n,"-").concat(t));if(isNaN(i))return[!1,""];var a=parseInt(n),o=parseInt(t),s=a<10?"0".concat(a):a,r=o<10?"0".concat(o):o,l=new Date(i).toISOString().split("T")[0],c="".concat(e,"-").concat(s,"-").concat(r);return[l===c,c]}(H,w,_),n=(0,x.Z)(e,2),t=n[0],i=n[1];b(i,t)}),[w,_,H,b]);var $=function(){N(""),I(""),Y("")},V=function(){return r||!!d&&!y};return(0,K.jsxs)(u.ZP,{item:!0,xs:12,className:(0,R.Z)(t.fieldContainer,(0,M.Z)({},t.fieldContainerBorder,p)),children:[(0,K.jsx)("div",{className:t.labelContainer,children:(0,K.jsxs)(u.ZP,{container:!0,children:[(0,K.jsxs)(z.Z,{htmlFor:i,className:t.inputLabel,children:[(0,K.jsx)("span",{children:o}),""!==h&&(0,K.jsx)("div",{className:t.tooltipContainer,children:(0,K.jsx)(c.Z,{title:h,placement:"top-start",children:(0,K.jsx)("div",{className:t.tooltip,children:(0,K.jsx)(G.Z,{})})})})]}),d&&(0,K.jsx)(B.Z,{indicatorLabels:["Specific Date","Default (7 Days)"],checked:y,value:"date_enabled",id:"date-status",name:"date-status",onChange:function(e){C(e.target.checked),e.target.checked||b("",!0)},switchOnly:!0})]})}),(0,K.jsxs)("div",{children:[(0,K.jsx)(A.Z,{disabled:V(),className:t.dateInput,children:(0,K.jsxs)(U.Z,{id:"".concat(i,"-month"),name:"".concat(i,"-month"),value:w,displayEmpty:!0,onChange:function(e){N(e.target.value)},input:(0,K.jsx)(J,{}),children:[(0,K.jsx)(W.Z,{value:"",disabled:!0,children:""}),P.map((function(e){return(0,K.jsx)(W.Z,{value:e.value,children:e.label},"select-".concat(i,"-monthOP-").concat(e.label))}))]})}),(0,K.jsx)(A.Z,{disabled:V(),className:t.dateInput,children:(0,K.jsxs)(U.Z,{id:"".concat(i,"-day"),name:"".concat(i,"-day"),value:_,displayEmpty:!0,onChange:function(e){I(e.target.value)},input:(0,K.jsx)(J,{}),children:[(0,K.jsx)(W.Z,{value:"",disabled:!0,children:""}),F.map((function(e){return(0,K.jsx)(W.Z,{value:e,children:e},"select-".concat(i,"-dayOP-").concat(e))}))]})}),(0,K.jsx)(A.Z,{disabled:V(),className:t.dateInput,children:(0,K.jsxs)(U.Z,{id:"".concat(i,"-year"),name:"".concat(i,"-year"),value:H,displayEmpty:!0,onChange:function(e){Y(e.target.value)},input:(0,K.jsx)(J,{}),children:[(0,K.jsx)(W.Z,{value:"",disabled:!0,children:""}),O.map((function(e){return(0,K.jsx)(W.Z,{value:e,children:e},"select-".concat(i,"-yearOP-").concat(e))}))]})})]})]})})),$=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)((0,i.Z)({dateInput:{"&:not(:last-child)":{marginRight:22}}},f.YI),f.Hr),{},{labelContainer:{flex:1},fieldContainer:(0,i.Z)((0,i.Z)({},f.YI.fieldContainer),{},{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:10,marginTop:11,marginBottom:6}),fieldContainerBorder:{borderBottom:"#9c9c9c 1px solid",marginBottom:20}}))}))(Y),V={setModalErrorSnackMessage:N.zb},X=(0,o.$j)(null,V),q=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},f.DF),f.ID),f.bK),{},{dateSelector:{"& div":{borderBottom:0,marginBottom:0,"& div:nth-child(2)":{border:"1px solid #EAEAEA",paddingLeft:5,"& div":{border:0}}}}}))}))(X((function(e){var n=e.classes,t=e.open,i=e.closeModalAndRefresh,o=e.objectName,s=e.objectInfo,r=e.bucketName,l=e.setModalErrorSnackMessage,c=(0,a.useState)(!0),d=(0,x.Z)(c,2),m=d[0],h=d[1],f=(0,a.useState)(""),p=(0,x.Z)(f,2),b=p[0],g=p[1],j=(0,a.useState)(""),v=(0,x.Z)(j,2),Z=v[0],y=v[1],C=(0,a.useState)(!1),k=(0,x.Z)(C,2),w=k[0],N=k[1],E=(0,a.useState)(!1),P=(0,x.Z)(E,2),F=P[0],I=P[1],O=(0,a.useState)(!1),M=(0,x.Z)(O,2),R=M[0],z=M[1];(0,a.useEffect)((function(){if(s.retention_mode&&(g(s.retention_mode.toLowerCase()),z(!0)),s.retention_until_date){var e=new Date(s.retention_until_date);if("Invalid Date"!==e.toString()){var n=e.getFullYear(),t=(a=e.getMonth()+1)<10?"0".concat(a):"".concat(a),i=e.getDate();isNaN(i)||"NaN"===t||isNaN(n)||y("".concat(n,"-").concat(t,"-").concat(i))}z(!0)}var a}),[s]);var A=(0,a.useRef)(null),U=function(){h(!1),g(""),A.current&&A.current.resetDate()},W=R&&("governance"===b||""===b);return(0,K.jsxs)(L.Z,{title:"Set Retention Policy",modalOpen:t,onClose:function(){U(),i(!1)},children:[(0,K.jsxs)("div",{className:n.spacerBottom,children:[(0,K.jsx)("strong",{children:"Selected Object"}),": ",o]}),(0,K.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault()}(e)},children:[W&&(0,K.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,K.jsx)(B.Z,{value:"status",id:"status",name:"status",checked:m,onChange:function(e){h(!m)},label:"Status",indicatorLabels:["Enabled","Disabled"]})}),(0,K.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,K.jsx)(D.Z,{currentSelection:b,id:"type",name:"type",label:"Type",disableOptions:!m||R&&""!==b,onChange:function(e){g(e.target.value)},selectorOptions:[{label:"Governance",value:"governance"},{label:"Compliance",value:"compliance"}]})}),(0,K.jsx)(u.ZP,{item:!0,xs:12,className:"".concat(n.dateSelector," "),children:(0,K.jsx)($,{id:"date",label:"Date",disableOptions:!(m&&("governance"===b||"compliance"===b)),ref:A,value:Z,borderBottom:!0,onDateChange:function(e,n){N(n),n&&y(e)}})}),(0,K.jsxs)(u.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,K.jsx)(_.Z,{type:"button",variant:"outlined",color:"primary",onClick:U,children:"Reset"}),(0,K.jsx)(_.Z,{type:"submit",variant:"contained",color:"primary",disabled:m&&""===b||m&&!w||F,onClick:function(){I(!0);var e=s.name,n=s.version_id,t=m||"governance"!==b?"".concat(Z,"T23:59:59Z"):"";m||"governance"!==b?function(e,n,t){S.Z.invoke("PUT","/api/v1/buckets/".concat(r,"/objects/retention?prefix=").concat((0,T.ug)(e),"&version_id=").concat(n),{expires:t,mode:b}).then((function(e){I(!1),i(!0)})).catch((function(e){l(e),I(!1)}))}(e,n,t):function(e,n){S.Z.invoke("DELETE","/api/v1/buckets/".concat(r,"/objects/retention?prefix=").concat((0,T.ug)(e),"&version_id=").concat(n)).then((function(){I(!1),i(!0)})).catch((function(e){l(e),I(!1)}))}(e,n)},children:"Save"})]})]})]})}))),Q=(0,o.$j)((function(e){var n=e.objectBrowser;return{rewindEnabled:h()(n,"rewind.rewindEnabled",!1),rewindDate:h()(n,"rewind.dateToRewind",null)}}),null),ee=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)({},f.cx))}))(Q((function(e){var n=e.classes,t=e.bucketName,i=e.internalPaths,o=(e.rewindEnabled,e.rewindDate,e.fullSizeBreadcrumbs),s=i;""!==i&&(s="/".concat(i));var r=s.split("/").filter((function(e){return""!==e})),c=r.map((function(e,n){var i=r.slice(0,n+1).join("/"),o="/buckets/".concat(t,"/browse/").concat(i?"".concat((0,T.ug)(i)):"");return(0,K.jsxs)(a.Fragment,{children:[(0,K.jsx)(l.rU,{to:o,children:e}),n0&&(0,K.jsx)("span",{children:" / "})]}),c]})]})}))),ne=t(23473),te=t(60656),ie=t(21639),ae=t(98280),oe={setErrorSnackMessage:N.Ih},se=(0,o.$j)(null,oe)((function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,i=e.selectedBucket,o=e.selectedObject,s=e.setErrorSnackMessage,r=e.versioning,l=(0,ie.Z)((function(){return n(!0)}),(function(e){return s(e)})),c=(0,x.Z)(l,2),d=c[0],u=c[1],m=(0,a.useState)(!1),h=(0,x.Z)(m,2),f=h[0],p=h[1];if(!o)return null;return(0,K.jsx)(te.Z,{title:"Delete Object",confirmText:"Delete",isOpen:t,titleIcon:(0,K.jsx)(ae.Nv,{}),isLoading:d,onConfirm:function(){var e=(0,T.le)(o).endsWith("/");u("DELETE","/api/v1/buckets/".concat(i,"/objects?path=").concat(o,"&recursive=").concat(e,"&all_versions=").concat(f))},onClose:function(){return n(!1)},confirmationContent:(0,K.jsxs)(ne.Z,{children:["Are you sure you want to delete:"," ",(0,K.jsx)("b",{children:(0,T.le)(o)}),"? ",(0,K.jsx)("br",{}),r&&(0,K.jsx)(B.Z,{label:"Delete All Versions",indicatorLabels:["Yes","No"],checked:f,value:"delete_versions",id:"delete-versions",name:"delete-versions",onChange:function(e){p(!f)},description:""})]})})})),re=t(66964),le={setModalErrorSnackMessage:N.zb},ce=(0,o.$j)((function(e){var n=e.system;return{distributedSetup:h()(n,"distributedSetup",!1)}}),le),de=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)((0,i.Z)({pathLabel:{marginTop:0,marginBottom:32}},f.DF),f.ID),f.bK))}))(ce((function(e){var n=e.modalOpen,t=e.currentTags,o=e.selectedObject,s=e.onCloseAndUpdate,r=e.bucketName,l=e.versionId,c=e.distributedSetup,d=e.setModalErrorSnackMessage,m=e.classes,h=(0,a.useState)(""),f=(0,x.Z)(h,2),p=f[0],b=f[1],g=(0,a.useState)(""),j=(0,x.Z)(g,2),v=j[0],Z=j[1],y=(0,a.useState)(!1),C=(0,x.Z)(y,2),k=C[0],w=C[1];return(0,K.jsx)(a.Fragment,{children:(0,K.jsx)(L.Z,{modalOpen:n,title:"Add New Tag to the Object",onClose:function(){s(!0)},titleIcon:(0,K.jsx)(ae.OC,{}),children:(0,K.jsxs)(u.ZP,{container:!0,children:[(0,K.jsxs)("div",{className:m.spacerBottom,children:[(0,K.jsx)("strong",{children:"Selected Object"}),": ",(0,T.le)(o)]}),(0,K.jsx)(u.ZP,{item:!0,xs:12,className:m.formFieldRow,children:(0,K.jsx)(re.Z,{value:p,label:"Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter Tag Key",onChange:function(e){b(e.target.value)}})}),(0,K.jsx)(u.ZP,{item:!0,xs:12,className:m.formFieldRow,children:(0,K.jsx)(re.Z,{value:v,label:"Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter Tag Label",onChange:function(e){Z(e.target.value)}})}),(0,K.jsxs)(u.ZP,{item:!0,xs:12,className:m.modalButtonBar,children:[(0,K.jsx)(_.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){Z(""),b("")},children:"Clear"}),(0,K.jsx)(_.Z,{type:"submit",variant:"contained",color:"primary",disabled:""===v.trim()||""===p.trim()||k,onClick:function(){w(!0);var e={};e[p]=v;var n=(0,i.Z)((0,i.Z)({},t),e),a=c?l:"null";S.Z.invoke("PUT","/api/v1/buckets/".concat(r,"/objects/tags?prefix=").concat(o,"&version_id=").concat(a),{tags:n}).then((function(e){s(!0),w(!1)})).catch((function(e){d(e),w(!1)}))},children:"Save"})]})]})})})}))),ue={setErrorSnackMessage:N.Ih},me=(0,o.$j)((function(e){var n=e.system;return{distributedSetup:h()(n,"distributedSetup",!1)}}),ue),he=(0,r.Z)((function(e){return(0,s.Z)({})}))(me((function(e){var n=e.deleteOpen,t=e.currentTags,a=e.selectedObject,o=e.selectedTag,s=e.onCloseAndUpdate,r=e.bucketName,l=e.versionId,c=e.distributedSetup,d=e.setErrorSnackMessage,u=e.classes,m=(0,x.Z)(o,2),h=m[0],f=m[1],p=(0,ie.Z)((function(){return s(!0)}),(function(e){return d(e)})),b=(0,x.Z)(p,2),g=b[0],j=b[1];if(!o)return null;return(0,K.jsx)(te.Z,{title:"Delete Tag",confirmText:"Delete",isOpen:n,titleIcon:(0,K.jsx)(ae.Nv,{}),isLoading:g,onConfirm:function(){var e=(0,i.Z)({},t);delete e[h];var n=c?l:"null";j("PUT","/api/v1/buckets/".concat(r,"/objects/tags?prefix=").concat((0,T.ug)(a),"&version_id=").concat(n),{tags:e})},onClose:function(){return s(!1)},confirmationContent:(0,K.jsxs)(ne.Z,{children:["Are you sure you want to delete the tag"," ",(0,K.jsxs)("b",{className:u.wrapText,children:[h," : ",f]})," ","from ",a,"?"]})})}))),fe={setModalErrorSnackMessage:N.zb},pe=(0,o.$j)(null,fe),xe=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},f.DF),f.ID),f.bK))}))(pe((function(e){var n=e.classes,t=e.open,i=e.closeModalAndRefresh,o=e.objectName,s=e.bucketName,r=e.actualInfo,l=e.setModalErrorSnackMessage,c=(0,a.useState)(!1),d=(0,x.Z)(c,2),m=d[0],f=d[1],p=(0,a.useState)(!1),b=(0,x.Z)(p,2),g=b[0],j=b[1],v=r.version_id;(0,a.useEffect)((function(){var e=h()(r,"legal_hold_status","OFF");f("ON"===e)}),[r]);var Z=function(){f(!1)};return(0,K.jsxs)(L.Z,{title:"Set Legal Hold",modalOpen:t,onClose:function(){Z(),i(!1)},children:[(0,K.jsxs)(u.ZP,{item:!0,xs:12,className:n.spacerBottom,children:["Object: ",s]}),(0,K.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault(),j(!0),S.Z.invoke("PUT","/api/v1/buckets/".concat(s,"/objects/legalhold?prefix=").concat((0,T.ug)(o),"&version_id=").concat(v),{status:m?"enabled":"disabled"}).then((function(){j(!1),i(!0)})).catch((function(e){l(e),j(!1)}))}(e)},children:[(0,K.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,K.jsx)(B.Z,{value:"legalhold",id:"legalhold",name:"legalhold",checked:m,onChange:function(e){f(!m)},label:"Legal Hold Status",indicatorLabels:["Enabled","Disabled"],tooltip:"To enable this feature you need to enable versioning on the bucket before creation"})}),(0,K.jsxs)(u.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,K.jsx)(_.Z,{type:"button",color:"primary",variant:"outlined",onClick:Z,children:"Clear"}),(0,K.jsx)(_.Z,{type:"submit",variant:"contained",color:"primary",disabled:g,children:"Save"})]})]})]})}))),be=t(62702),ge=t(10262),je=t(11733),ve={setErrorSnackMessage:N.Ih},Ze=(0,o.$j)(null,ve),ye=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)({},f.oO))}))(Ze((function(e){var n=e.classes,t=e.versionID,i=e.bucketName,o=e.objectPath,s=e.restoreOpen,r=e.onCloseAndUpdate,l=(0,a.useState)(!1),c=(0,x.Z)(l,2),d=c[0],u=c[1];return(0,K.jsx)(te.Z,{title:"Restore File Version",confirmText:"Restore",isOpen:s,isLoading:d,titleIcon:(0,K.jsx)(je.default,{}),onConfirm:function(){u(!0),S.Z.invoke("PUT","/api/v1/buckets/".concat(i,"/objects/restore?prefix=").concat((0,T.ug)(o),"&version_id=").concat(t)).then((function(e){u(!1),r(!0)})).catch((function(e){(0,N.Ih)(e),u(!1)}))},confirmButtonProps:{color:"secondary",variant:"outlined",disabled:d},onClose:function(){r(!1)},confirmationContent:(0,K.jsxs)(ne.Z,{id:"alert-dialog-description",children:["Are you sure you want to restore ",(0,K.jsx)("br",{}),(0,K.jsx)("b",{children:o})," ",(0,K.jsx)("br",{})," with Version ID:",(0,K.jsx)("br",{}),(0,K.jsx)("b",{className:n.wrapText,children:t}),"?"]})})}))),Ce=t(25534),ke=t(57647),Se=t(15607),we=t(53224),Ne=t(23165),Te=t(63020),Ee=t(21278),_e=t(96152),Pe=function(e){var n=e.tagKeys,t=e.bucketName,i=e.onDeleteTag,o=e.onAddTagClick,s=e.objectInfo;return(0,K.jsx)(a.Fragment,{children:(0,K.jsx)(Se.Z,{scopes:[E.Ft.S3_GET_OBJECT_TAGGING],resource:t,children:(0,K.jsxs)(Z.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,K.jsx)(Z.Z,{children:n&&n.map((function(e,n){var a=h()(s,"tags.".concat(e),"");return""!==a?(0,K.jsx)(Se.Z,{scopes:[E.Ft.S3_DELETE_OBJECT_TAGGING],resource:t,matchAll:!0,errorProps:{deleteIcon:null,onDelete:null},children:(0,K.jsx)(Te.Z,{style:{textTransform:"none",marginRight:"5px"},size:"small",label:"".concat(e," : ").concat(a),color:"primary",deleteIcon:(0,K.jsx)(Ee.Z,{}),onDelete:function(){i(e,a)}})},"chip-".concat(n)):null}))}),(0,K.jsx)(Se.Z,{scopes:[E.Ft.S3_PUT_OBJECT_TAGGING],resource:t,errorProps:{disabled:!0,onClick:null},children:(0,K.jsx)(Te.Z,{style:{maxWidth:80,marginTop:"10px"},icon:(0,K.jsx)(_e.Z,{}),clickable:!0,size:"small",label:"Add tag",color:"primary",variant:"outlined",onClick:o})})]})})})},Fe=t(70971),Ie=t(1589),Oe=a.lazy((function(){return Promise.resolve().then(t.bind(t,11733))})),Le=a.lazy((function(){return Promise.resolve().then(t.bind(t,35994))})),Be=a.lazy((function(){return Promise.resolve().then(t.bind(t,51420))})),De=a.lazy((function(){return Promise.resolve().then(t.bind(t,35336))})),Me=a.lazy((function(){return Promise.resolve().then(t.bind(t,93482))})),Re=a.lazy((function(){return Promise.resolve().then(t.bind(t,52910))})),ze=a.lazy((function(){return Promise.resolve().then(t.bind(t,94113))})),Ae=a.lazy((function(){return Promise.resolve().then(t.bind(t,86458))})),Ue={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:"0",tags:{},version_id:null},We={display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},He={setErrorSnackMessage:N.Ih,setSnackBarMessage:N.y1,setNewObject:p.Mc,updateProgress:p.RO,completeObject:p.oK},Ge=(0,o.$j)((function(e){var n=e.objectBrowser,t=e.system;return{downloadingFiles:h()(n,"downloadingFiles",[]),rewindEnabled:h()(n,"rewind.rewindEnabled",!1),rewindDate:h()(n,"rewind.dateToRewind",null),bucketToRewind:h()(n,"rewind.bucketToRewind",""),distributedSetup:h()(t,"distributedSetup",!1)}}),He),Ke=(0,Fe.EN)(Ge((0,r.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({propertiesIcon:{marginLeft:5,"& .min-icon":{height:12}},tag:{marginRight:6,fontSize:10,fontWeight:700,"&.MuiChip-sizeSmall":{height:18},"& .min-icon":{height:10,width:10}},search:{marginBottom:8,"&.MuiFormControl-root":{marginRight:0}},capitalizeFirst:{textTransform:"capitalize","& .min-icon":{width:16,height:16}},titleCol:{width:"25%"},titleItem:{width:"35%"},"@global":{".progressDetails":{paddingTop:3,display:"inline-block",position:"relative",width:18,height:18},".progressDetails > .MuiCircularProgress-root":{position:"absolute",left:0,top:3}},tabsContainer:{border:"1px solid #eaeaea",borderTop:0}},f.bp),f.Si),f.OR),f.VX),f.bK),f.VI),(0,f.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.downloadingFiles,o=e.distributedSetup,s=e.setErrorSnackMessage,r=e.setNewObject,l=e.updateProgress,c=e.completeObject,d=e.match,m=(0,a.useState)(!0),f=(0,x.Z)(m,2),p=f[0],b=f[1],N=(0,a.useState)(!1),_=(0,x.Z)(N,2),P=_[0],F=_[1],I=(0,a.useState)(!1),O=(0,x.Z)(I,2),L=O[0],B=O[1],D=(0,a.useState)(!1),M=(0,x.Z)(D,2),R=M[0],z=M[1],A=(0,a.useState)(!1),U=(0,x.Z)(A,2),W=U[0],H=U[1],G=(0,a.useState)(["",""]),J=(0,x.Z)(G,2),Y=J[0],$=J[1],V=(0,a.useState)(!1),X=(0,x.Z)(V,2),Q=X[0],ne=X[1],te=(0,a.useState)(null),ie=(0,x.Z)(te,2),oe=ie[0],re=ie[1],le=(0,a.useState)(null),ce=(0,x.Z)(le,2),ue=ce[0],me=ce[1],fe=(0,a.useState)([]),pe=(0,x.Z)(fe,2),je=pe[0],ve=pe[1],Ze=(0,a.useState)(""),Te=(0,x.Z)(Ze,2),Ee=Te[0],_e=Te[1],Fe=(0,a.useState)(!1),He=(0,x.Z)(Fe,2),Ge=He[0],Ke=He[1],Je=(0,a.useState)(!1),Ye=(0,x.Z)(Je,2),$e=Ye[0],Ve=Ye[1],Xe=(0,a.useState)(""),qe=(0,x.Z)(Xe,2),Qe=qe[0],en=qe[1],nn=h()(d.params,"subpaths",""),tn=(0,T.le)(nn)||"",an=d.params.bucketName,on=tn.split("/"),sn=on.pop()||"",rn=[];oe&&(rn=oe.name.split("/")),(0,a.useEffect)((function(){p&&""!==nn&&S.Z.invoke("GET","/api/v1/buckets/".concat(an,"/objects?prefix=").concat(nn).concat(o?"&with_versions=true":"")).then((function(e){var n=h()(e,"objects",[]);o?(re(n.find((function(e){return e.is_latest}))||Ue),ve(n)):(re(n[0]),ve([])),b(!1)})).catch((function(e){s(e),b(!1)}))}),[p,an,nn,s,o]);var ln=[];oe&&oe.tags&&(ln=Object.keys(oe.tags));var cn=function(){F(!0)},dn=function(e){var n=(0,T.ug)("".concat(an,"-").concat(e.name,"-").concat((new Date).getTime(),"-").concat(Math.random()));r({bucketName:an,done:!1,instanceID:n,percentage:0,prefix:e.name,type:"download",waitingForFile:!0}),(0,C.LR)(an,nn,e.version_id,parseInt(e.size||"0"),(function(e){l(n,e)}),(function(){c(n)}))},un=[{label:"Share",type:"share",onClick:function(e){me(e),cn()},sendOnlyId:!1,disableButtonFunction:function(e){var n=je.find((function(n){return n.version_id===e}));return!(!n||!n.is_delete_marker)}},{label:"Download",type:"download",onClick:function(e){dn(e)},disableButtonFunction:function(e){var n=je.find((function(n){return n.version_id===e}));return!(!n||!n.is_delete_marker)}},{label:"Restore",type:(0,K.jsx)(Oe,{}),onClick:function(e){en(e.version_id||""),Ve(!0)},disableButtonFunction:function(e){var n=je.find((function(n){return n.version_id===e}));return n&&n.is_delete_marker||!1}}],mn=je.filter((function(e){return!!e.version_id&&e.version_id.includes(Ee)}));return(0,K.jsxs)(a.Fragment,{children:[P&&oe&&(0,K.jsx)(y.default,{open:P,closeModalAndRefresh:function(){me(null),F(!1)},bucketName:an,dataObject:ue||oe}),L&&oe&&(0,K.jsx)(q,{open:L,closeModalAndRefresh:function(e){B(!1),e&&b(!0)},objectName:sn,objectInfo:oe,bucketName:an}),Ge&&(0,K.jsx)(se,{deleteOpen:Ge,selectedBucket:an,selectedObject:nn,closeDeleteModalAndRefresh:function(e){if(Ke(!1),e){var n=on.join("/");k.Z.push("/buckets/".concat(an,"/browse").concat(""===n?"":"/".concat((0,T.ug)(n))))}},versioning:o}),R&&oe&&(0,K.jsx)(de,{modalOpen:R,currentTags:oe.tags,selectedObject:nn,versionId:oe.version_id,bucketName:an,onCloseAndUpdate:function(e){z(!1),e&&b(!0)}}),W&&oe&&(0,K.jsx)(he,{deleteOpen:W,currentTags:oe.tags,selectedObject:oe.name,versionId:oe.version_id,bucketName:an,onCloseAndUpdate:function(e){H(!1),e&&b(!0)},selectedTag:Y}),Q&&oe&&(0,K.jsx)(xe,{open:Q,closeModalAndRefresh:function(e){ne(!1),e&&b(!0)},objectName:oe.name,bucketName:an,actualInfo:oe}),$e&&oe&&(0,K.jsx)(ye,{restoreOpen:$e,bucketName:an,versionID:Qe,objectPath:oe.name,onCloseAndUpdate:function(e){Ve(!1),en(""),e&&b(!0)}}),(0,K.jsxs)(Ce.Z,{className:n.pageContainer,children:[!oe&&(0,K.jsx)(u.ZP,{item:!0,xs:12,children:(0,K.jsx)(j.Z,{})}),oe&&(0,K.jsxs)(a.Fragment,{children:[(0,K.jsx)(u.ZP,{item:!0,xs:12,children:(0,K.jsx)(be.Z,{icon:(0,K.jsx)(a.Fragment,{children:(0,K.jsx)(Me,{width:40})}),title:rn.length>0?rn[rn.length-1]:oe.name,subTitle:(0,K.jsx)(a.Fragment,{children:(0,K.jsx)(ee,{bucketName:an,internalPaths:oe.name})}),actions:(0,K.jsxs)(a.Fragment,{children:[(0,K.jsx)(Se.Z,{scopes:[E.Ft.S3_DELETE_OBJECT],resource:an,matchAll:!0,errorProps:{disabled:!0},children:(0,K.jsx)(we.Z,{tooltip:"Delete Object",onClick:function(){Ke(!0)},text:"",icon:(0,K.jsx)(De,{}),color:"secondary",disabled:oe.is_delete_marker,variant:"outlined"})}),(0,K.jsx)(we.Z,{tooltip:"Share",onClick:function(){cn()},text:"",icon:(0,K.jsx)(Le,{}),color:"primary",disabled:oe.is_delete_marker,variant:"outlined"}),t.includes("".concat(an,"/").concat(oe.name))?(0,K.jsx)("div",{className:"progressDetails",children:(0,K.jsx)(v.Z,{color:"primary",size:17,variant:"indeterminate"})}):(0,K.jsx)(we.Z,{tooltip:"Download",text:"",icon:(0,K.jsx)(Be,{}),color:"primary",onClick:function(){dn(oe)},disabled:oe.is_delete_marker,variant:"outlined"})]})})}),(0,K.jsxs)(ke.Z,{classes:{tabsContainer:n.tabsContainer},children:[{tabConfig:{label:"Details"},content:(0,K.jsxs)(a.Fragment,{children:[(0,K.jsx)("div",{className:n.actionsTray,children:(0,K.jsx)("h1",{className:n.sectionTitle,children:"Details"})}),(0,K.jsx)("br",{}),(0,K.jsx)(Z.Z,{sx:(0,i.Z)({},We),children:(0,K.jsxs)(Z.Z,{sx:(0,i.Z)({},We),children:[(0,K.jsx)(Se.Z,{scopes:[E.Ft.S3_GET_OBJECT_LEGAL_HOLD],resource:an,children:(0,K.jsx)(Ae,{label:"",value:oe.version_id&&"null"!==oe.version_id?(0,K.jsx)(ze,{iamScopes:[E.Ft.S3_PUT_OBJECT_LEGAL_HOLD],secureCmpProps:{matchAll:!1,errorProps:{disabled:!0,onClick:null}},resourceName:an,property:"Legal Hold:",value:oe.legal_hold_status?oe.legal_hold_status.toLowerCase():"Off",onEdit:function(){ne(!0)},isLoading:!1}):(0,K.jsx)(Ae,{label:"Legal Hold:",value:(0,K.jsx)(Ie.Z,{icon:(0,K.jsx)(ae.dR,{}),label:(0,K.jsx)("label",{className:n.textMuted,children:"Disabled"})})})})}),(0,K.jsx)(Se.Z,{scopes:[E.Ft.S3_GET_OBJECT_RETENTION],resource:an,children:(0,K.jsx)(Ae,{label:"",value:oe.version_id&&"null"!==oe.version_id?(0,K.jsx)(ze,{iamScopes:[E.Ft.S3_PUT_OBJECT_RETENTION],secureCmpProps:{matchAll:!1},resourceName:an,property:"Retention:",value:oe.retention_mode?oe.retention_mode.toLowerCase():"None",onEdit:function(){B(!0)},isLoading:!1}):(0,K.jsx)(Ae,{label:"Retention:",value:(0,K.jsx)(Ie.Z,{icon:(0,K.jsx)(ae.dR,{}),label:(0,K.jsx)("label",{className:n.textMuted,children:"Disabled"})})})})})]})}),(0,K.jsx)(Z.Z,{className:n.spacerTop,children:(0,K.jsx)(Ae,{label:"Tags:",value:(0,K.jsx)(Pe,{objectInfo:oe,tagKeys:ln,bucketName:an,onDeleteTag:function(e,n){$([e,n]),H(!0)},onAddTagClick:function(){z(!0)}})})}),oe?(0,K.jsx)(Re,{bucketName:an,internalPaths:nn,actualInfo:oe}):null]})},{tabConfig:{label:"Versions",disabled:!(oe.version_id&&"null"!==oe.version_id)},content:(0,K.jsxs)(a.Fragment,{children:[(0,K.jsx)("div",{className:n.actionsTray,children:(0,K.jsx)("h1",{className:n.sectionTitle,children:"Versions"})}),(0,K.jsx)("br",{}),(0,K.jsx)(u.ZP,{item:!0,xs:12,className:n.actionsTray,children:oe.version_id&&"null"!==oe.version_id&&(0,K.jsx)(Ne.Z,{placeholder:"Search ".concat(sn),onChange:_e,value:Ee})}),(0,K.jsx)(u.ZP,{item:!0,xs:12,className:n.tableBlock,children:oe.version_id&&"null"!==oe.version_id&&(0,K.jsx)(w.Z,{itemActions:un,columns:[{label:"",width:40,renderFullObject:!0,renderFunction:function(e){var n=je.length-je.indexOf(e);return"v".concat(n)},elementKey:"version_id"},{label:"Version ID",elementKey:"version_id"},{label:"Last Modified",elementKey:"last_modified",renderFunction:function(e){return(0,K.jsx)(g(),{children:e})}},{label:"Deleted",width:60,contentTextAlign:"center",renderFullObject:!0,elementKey:"is_delete_marker",renderFunction:function(e){var n=e.is_delete_marker?"Yes":"No";return"".concat(n)}}],isLoading:!1,entityName:"Versions",idField:"version_id",records:mn,textSelectable:!0})})]})},{tabConfig:{label:"Preview",disabled:"none"===(0,C.Bg)(sn)},content:(0,K.jsx)(a.Fragment,{children:oe&&(0,K.jsx)(ge.Z,{bucketName:an,object:{name:oe.name,version_id:oe.version_id||"null",size:parseInt(oe.size||"0"),content_type:"",last_modified:new Date(oe.last_modified)},isFullscreen:!0})})}]})]})]})]})})))),Je=t(35531),Ye=t(58471),$e=t(35477),Ve=t(2857),Xe=t(77130),qe=t(37882),Qe=t(89472),en=t(93482),nn=t(416),tn=(0,r.Z)((function(e){return(0,s.Z)({fileName:{display:"flex",alignItems:"center","& .min-icon":{width:16,height:16,marginRight:4}},fileNameText:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}})}))((function(e){return(0,K.jsxs)("div",{className:e.classes.fileName,children:[e.icon,(0,K.jsx)("span",{className:e.classes.fileNameText,children:e.strings[e.strings.length-1]})]})})),an=a.lazy((function(){return Promise.resolve().then(t.bind(t,30510))})),on=a.lazy((function(){return Promise.resolve().then(t.bind(t,78162))})),sn=a.lazy((function(){return Promise.resolve().then(t.bind(t,30272))})),rn=a.lazy((function(){return Promise.resolve().then(t.bind(t,52383))})),ln=a.lazy((function(){return Promise.resolve().then(t.bind(t,35031))})),cn=a.lazy((function(){return Promise.resolve().then(t.bind(t,79877))})),dn=a.lazy((function(){return Promise.resolve().then(t.bind(t,60317))})),un=a.lazy((function(){return Promise.resolve().then(t.bind(t,80479))})),mn=a.lazy((function(){return Promise.resolve().then(t.bind(t,37634))})),hn=a.lazy((function(){return Promise.resolve().then(t.bind(t,99884))})),fn=a.lazy((function(){return Promise.resolve().then(t.bind(t,90474))})),pn=a.lazy((function(){return Promise.resolve().then(t.bind(t,15874))})),xn=a.lazy((function(){return Promise.resolve().then(t.bind(t,58729))})),bn=a.lazy((function(){return Promise.resolve().then(t.bind(t,49653))})),gn=a.lazy((function(){return Promise.resolve().then(t.bind(t,25909))})),jn=t(26936),vn=t(70902),Zn=t(80498),yn=(0,r.Z)((function(e){return(0,s.Z)({listUploadIcons:{height:20,"& .min-icon":{width:18,fill:"rgba(0,0,0,0.87)"}}})}))((function(e){var n=e.uploadPath,t=e.bucketName,i=e.forceDisable,o=void 0!==i&&i,s=e.uploadFileFunction,r=e.uploadFolderFunction,l=e.classes,c=a.useState(null),d=(0,x.Z)(c,2),u=d[0],m=d[1],h=Boolean(u),f=function(){m(null)},p=(0,Se.F)(n,[E.Ft.S3_PUT_OBJECT]),b=(0,Se.F)(t,[E.Ft.S3_PUT_OBJECT],!1,!0),g=p||b;return(0,K.jsxs)(a.Fragment,{children:[(0,K.jsx)(we.Z,{id:"upload-main",tooltip:"Upload Files","aria-controls":"upload-main-menu","aria-haspopup":"true","aria-expanded":h?"true":void 0,onClick:function(e){m(e.currentTarget)},text:"Upload Files",icon:(0,K.jsx)(ae.rG,{}),color:"primary",variant:"contained",disabled:o||!g}),(0,K.jsxs)(jn.Z,{id:"upload-main-menu","aria-labelledby":"upload-main",anchorEl:u,open:h,onClose:function(){f()},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[(0,K.jsx)(Se.Z,{resource:n,scopes:[E.Ft.S3_PUT_OBJECT],errorProps:{disabled:!0},children:(0,K.jsxs)(W.Z,{onClick:function(){s(f)},disabled:o,children:[(0,K.jsx)(Zn.Z,{className:l.listUploadIcons,children:(0,K.jsx)(ae.rG,{})}),(0,K.jsx)(vn.Z,{children:"Upload File"})]})}),(0,K.jsx)(Se.Z,{resource:t,containsResource:!0,scopes:[E.Ft.S3_PUT_OBJECT],errorProps:{disabled:!0},children:(0,K.jsxs)(W.Z,{onClick:function(){r(f)},disabled:o,children:[(0,K.jsx)(Zn.Z,{className:l.listUploadIcons,children:(0,K.jsx)(ae.oX,{})}),(0,K.jsx)(vn.Z,{children:"Upload Folder"})]})})]})]})})),Cn=(0,r.Z)((function(e){return(0,s.Z)({detailsList:{borderColor:"#EAEDEE",backgroundColor:"#fff",borderWidth:0,borderStyle:"solid",borderRadius:3,borderBottomLeftRadius:0,borderBottomRightRadius:0,width:0,transitionDuration:"0.3s",overflowX:"hidden",overflowY:"auto",position:"relative",opacity:0,marginLeft:-1,"&.open":{width:400,borderTopWidth:1,borderBottomWidth:1,borderRightWidth:1,borderLeftWidth:1,opacity:1}},closePanel:{position:"absolute",right:0,top:8,"& .min-icon":{width:14}}})}))((function(e){var n=e.classes,t=e.open,i=e.closePanel,a=e.children;return(0,K.jsxs)(u.ZP,{item:!0,className:"".concat(n.detailsList," ").concat(t?"open":""),children:[(0,K.jsx)(d.Z,{onClick:i,className:n.closePanel,children:(0,K.jsx)(ae.ot,{})}),a]})})),kn=t(6511),Sn=t(83738),wn=["disabled","onClick","icon","label","classes"],Nn=(0,r.Z)((function(e){return(0,s.Z)({root:{padding:"0 15px",height:22,margin:0,color:"#5E5E5E",fontWeight:"normal",fontSize:14,whiteSpace:"nowrap",width:"100%",justifyContent:"flex-start","&:hover":{backgroundColor:"transparent",color:"#000"},"& .min-icon":{width:11},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}}})}))((function(e){e.disabled;var n=e.onClick,t=e.icon,a=e.label,o=e.classes,s=(0,Sn.Z)(e,wn);return(0,K.jsx)(_.Z,(0,i.Z)((0,i.Z)({},s),{},{onClick:n,className:o.root,startIcon:t,children:(0,K.jsx)("span",{className:"buttonItem",children:a})}))})),Tn=t(52910),En=t(94113),_n=t(86458),Pn={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:"0",tags:{},version_id:null},Fn={setErrorSnackMessage:N.Ih,setSnackBarMessage:N.y1,setNewObject:p.Mc,updateProgress:p.RO,completeObject:p.oK},In=(0,o.$j)((function(e){var n=e.objectBrowser,t=e.system;return{rewindEnabled:h()(n,"rewind.rewindEnabled",!1),rewindDate:h()(n,"rewind.dateToRewind",null),bucketToRewind:h()(n,"rewind.bucketToRewind",""),distributedSetup:h()(t,"distributedSetup",!1)}}),Fn)((0,r.Z)((function(){return(0,s.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({tag:{marginRight:6,fontSize:10,fontWeight:700,"&.MuiChip-sizeSmall":{height:18},"& .min-icon":{height:10,width:10}},"@global":{".progressDetails":{paddingTop:3,display:"inline-block",position:"relative",width:18,height:18},".progressDetails > .MuiCircularProgress-root":{position:"absolute",left:0,top:3}}},f.Si),f.OR),f.bK),f.VI),f.$b))}))((function(e){var n=e.classes,t=e.internalPaths,i=e.bucketName,o=e.distributedSetup,s=e.setErrorSnackMessage,r=e.setNewObject,l=e.updateProgress,c=e.completeObject,d=(0,a.useState)(!0),m=(0,x.Z)(d,2),f=m[0],p=m[1],b=(0,a.useState)(!1),g=(0,x.Z)(b,2),v=g[0],w=g[1],N=(0,a.useState)(!1),_=(0,x.Z)(N,2),P=_[0],F=_[1],I=(0,a.useState)(!1),O=(0,x.Z)(I,2),L=O[0],B=O[1],D=(0,a.useState)(!1),M=(0,x.Z)(D,2),R=M[0],z=M[1],A=(0,a.useState)(["",""]),U=(0,x.Z)(A,2),W=U[0],H=U[1],G=(0,a.useState)(!1),J=(0,x.Z)(G,2),Y=J[0],$=J[1],V=(0,a.useState)(null),X=(0,x.Z)(V,2),Q=X[0],ee=X[1],ne=(0,a.useState)(null),te=(0,x.Z)(ne,2),ie=te[0],oe=te[1],re=(0,a.useState)([]),le=(0,x.Z)(re,2),ce=le[0],ue=le[1],me=(0,a.useState)(!1),fe=(0,x.Z)(me,2),pe=fe[0],be=fe[1],ge=(0,a.useState)(!1),je=(0,x.Z)(ge,2),ve=je[0],Ze=je[1],Ce=(0,a.useState)(!1),ke=(0,x.Z)(Ce,2),we=ke[0],Ne=ke[1],Te=(0,a.useState)(""),Ee=(0,x.Z)(Te,2),_e=Ee[0],Fe=Ee[1],Oe=(0,a.useState)(0),Le=(0,x.Z)(Oe,2),Be=Le[0],De=Le[1],Me=((0,T.le)(t)||"").split("/"),Re=Me.pop()||"",ze=[];Q&&(ze=Q.name.split("/")),(0,a.useEffect)((function(){""!==i&&t&&p(!0)}),[t,i]),(0,a.useEffect)((function(){f&&""!==t&&S.Z.invoke("GET","/api/v1/buckets/".concat(i,"/objects?prefix=").concat(t).concat(o?"&with_versions=true":"")).then((function(e){var n=h()(e,"objects",[]);if(o){ee(n.find((function(e){return e.is_latest}))||Pn),ue(n);var t=n.reduce((function(e,n){return null!==n&&void 0!==n&&n.size?e+n.size:e}),0);De(t)}else ee(n[0]),ue([]);p(!1)})).catch((function(e){s(e),p(!1)}))}),[f,i,t,s,o]);var Ae=[];Q&&Q.tags&&(Ae=Object.keys(Q.tags));return Q?(0,K.jsxs)(a.Fragment,{children:[v&&Q&&(0,K.jsx)(y.default,{open:v,closeModalAndRefresh:function(){oe(null),w(!1)},bucketName:i,dataObject:ie||Q}),P&&Q&&(0,K.jsx)(q,{open:P,closeModalAndRefresh:function(e){F(!1),e&&p(!0)},objectName:Re,objectInfo:Q,bucketName:i}),pe&&(0,K.jsx)(se,{deleteOpen:pe,selectedBucket:i,selectedObject:t,closeDeleteModalAndRefresh:function(e){if(be(!1),e){var n=Me.join("/");k.Z.push("/buckets/".concat(i,"/browse").concat(""===n?"":"/".concat((0,T.ug)(n))))}},versioning:o}),L&&Q&&(0,K.jsx)(de,{modalOpen:L,currentTags:Q.tags,selectedObject:t,versionId:Q.version_id,bucketName:i,onCloseAndUpdate:function(e){B(!1),e&&p(!0)}}),R&&Q&&(0,K.jsx)(he,{deleteOpen:R,currentTags:Q.tags,selectedObject:Q.name,versionId:Q.version_id,bucketName:i,onCloseAndUpdate:function(e){z(!1),e&&p(!0)},selectedTag:W}),Y&&Q&&(0,K.jsx)(xe,{open:Y,closeModalAndRefresh:function(e){$(!1),e&&p(!0)},objectName:Q.name,bucketName:i,actualInfo:Q}),ve&&Q&&(0,K.jsx)(ye,{restoreOpen:ve,bucketName:i,versionID:_e,objectPath:Q.name,onCloseAndUpdate:function(e){Ze(!1),Fe(""),e&&p(!0)}}),we&&Q&&(0,K.jsx)(kn.default,{open:we,bucketName:i,object:{name:Q.name,version_id:Q.version_id||"null",size:parseInt(Q.size||"0"),content_type:"",last_modified:new Date(Q.last_modified)},onClosePreview:function(){Ne(!1)}}),!Q&&(0,K.jsx)(u.ZP,{item:!0,xs:12,children:(0,K.jsx)(j.Z,{})}),(0,K.jsx)("div",{className:n.titleLabel,children:ze.length>0?ze[ze.length-1]:Q.name}),(0,K.jsxs)("ul",{className:n.objectActions,children:[(0,K.jsx)("li",{children:"Object Actions:"}),(0,K.jsx)("li",{children:(0,K.jsx)(Nn,{label:"Download",icon:(0,K.jsx)(ae._8,{}),onClick:function(){!function(e){var n=(0,T.ug)("".concat(i,"-").concat(e.name,"-").concat((new Date).getTime(),"-").concat(Math.random()));r({bucketName:i,done:!1,instanceID:n,percentage:0,prefix:e.name,type:"download",waitingForFile:!0}),(0,C.LR)(i,t,e.version_id,parseInt(e.size||"0"),(function(e){l(n,e)}),(function(){c(n)}))}(Q)},disabled:Q.is_delete_marker})}),(0,K.jsx)("li",{children:(0,K.jsx)(Nn,{label:"Share",icon:(0,K.jsx)(ae.aA,{}),onClick:function(){w(!0)},disabled:Q.is_delete_marker})}),(0,K.jsx)("li",{children:(0,K.jsx)(Nn,{label:"Preview",icon:(0,K.jsx)(ae.P9,{}),onClick:function(){Ne(!0)},disabled:Q.is_delete_marker})}),(0,K.jsx)(Se.Z,{scopes:[E.Ft.S3_DELETE_OBJECT],resource:i,matchAll:!0,errorProps:{disabled:!0},children:(0,K.jsx)("li",{children:(0,K.jsx)(Nn,{label:"Delete",icon:(0,K.jsx)(ae.pJ,{}),onClick:function(){be(!0)},disabled:Q.is_delete_marker})})}),(0,K.jsx)("li",{children:(0,K.jsx)(Nn,{label:"Expand Details",icon:(0,K.jsx)(ae.hF,{}),onClick:function(){!function(){var e="/buckets/".concat(i,"/browse").concat(""!==t?"/".concat(t):"");k.Z.push(e)}()}})})]}),(0,K.jsx)("div",{className:n.actionsTray,children:(0,K.jsx)("h1",{className:n.sectionTitle,children:"Details"})}),(0,K.jsx)(Z.Z,{className:n.detailContainer,children:(0,K.jsx)(_n.default,{label:"Tags:",value:(0,K.jsx)(Pe,{objectInfo:Q,tagKeys:Ae,bucketName:i,onDeleteTag:function(e,n){H([e,n]),z(!0)},onAddTagClick:function(){B(!0)}})})}),(0,K.jsxs)(Z.Z,{className:n.detailContainer,children:[(0,K.jsx)(Se.Z,{scopes:[E.Ft.S3_GET_OBJECT_LEGAL_HOLD],resource:i,children:(0,K.jsx)(_n.default,{label:"",value:Q.version_id&&"null"!==Q.version_id?(0,K.jsx)(En.default,{iamScopes:[E.Ft.S3_PUT_OBJECT_LEGAL_HOLD],secureCmpProps:{matchAll:!1,errorProps:{disabled:!0,onClick:null}},resourceName:i,property:"Legal Hold:",value:Q.legal_hold_status?Q.legal_hold_status.toLowerCase():"Off",onEdit:function(){$(!0)},isLoading:!1}):(0,K.jsx)(_n.default,{label:"Legal Hold:",value:(0,K.jsx)(Ie.Z,{icon:(0,K.jsx)(ae.dR,{}),label:(0,K.jsx)("label",{className:n.textMuted,children:"Disabled"})})})})}),(0,K.jsx)(Se.Z,{scopes:[E.Ft.S3_GET_OBJECT_RETENTION],resource:i,children:(0,K.jsx)(_n.default,{label:"",value:Q.version_id&&"null"!==Q.version_id?(0,K.jsx)(En.default,{iamScopes:[E.Ft.S3_PUT_OBJECT_RETENTION],secureCmpProps:{matchAll:!1},resourceName:i,property:"Retention:",value:Q.retention_mode?Q.retention_mode.toLowerCase():"None",onEdit:function(){F(!0)},isLoading:!1}):(0,K.jsx)(_n.default,{label:"Retention:",value:(0,K.jsx)(Ie.Z,{icon:(0,K.jsx)(ae.dR,{}),label:(0,K.jsx)("label",{className:n.textMuted,children:"Disabled"})})})})})]}),(0,K.jsx)("hr",{className:n.hrClass}),(0,K.jsx)("div",{className:n.actionsTray,children:(0,K.jsx)("h1",{className:n.sectionTitle,children:"Object Metadata"})}),(0,K.jsx)(Z.Z,{className:n.detailContainer,children:Q?(0,K.jsx)(Tn.default,{bucketName:i,internalPaths:t,actualInfo:Q,linear:!0}):null}),(0,K.jsx)("hr",{className:n.hrClass}),Q.version_id&&"null"!==Q.version_id&&(0,K.jsxs)(a.Fragment,{children:[(0,K.jsx)("div",{className:n.actionsTray,children:(0,K.jsx)("h1",{className:n.sectionTitle,children:"Versions"})}),(0,K.jsxs)(Z.Z,{className:n.detailContainer,children:[(0,K.jsxs)(Z.Z,{className:n.metadataLinear,children:[(0,K.jsx)("strong",{children:"Total available versions"}),(0,K.jsx)("br",{}),ce.length]}),(0,K.jsxs)(Z.Z,{className:n.metadataLinear,children:[(0,K.jsx)("strong",{children:"Versions Stored size:"}),(0,K.jsx)("br",{}),(0,T.l5)(Be)]})]})]})]}):null}))),On=a.lazy((function(){return Promise.resolve().then(t.bind(t,71353))})),Ln=a.lazy((function(){return Promise.resolve().then(t.bind(t,83842))})),Bn=a.lazy((function(){return Promise.resolve().then(t.bind(t,18221))})),Dn=a.lazy((function(){return Promise.resolve().then(t.bind(t,35336))})),Mn=(0,qe.Z)(a.lazy((function(){return t.e(9924).then(t.bind(t,39924))}))),Rn=(0,qe.Z)(a.lazy((function(){return t.e(9193).then(t.bind(t,49193))}))),zn=(0,qe.Z)(a.lazy((function(){return Promise.resolve().then(t.bind(t,79440))}))),An=(0,qe.Z)(a.lazy((function(){return Promise.all([t.e(4837),t.e(7451)]).then(t.bind(t,97451))}))),Un=(0,qe.Z)(a.lazy((function(){return Promise.resolve().then(t.bind(t,6511))}))),Wn={borderWidth:2,borderRadius:2,borderColor:"#eeeeee",outline:"none"},Hn={borderStyle:"dashed",backgroundColor:"#fafafa",borderColor:"#2196f3"},Gn={borderStyle:"dashed",backgroundColor:"#fafafa",borderColor:"#00e676"};var Kn=(0,K.jsx)($e.Z,{component:"h3",children:"Loading..."}),Jn={setSnackBarMessage:N.y1,setErrorSnackMessage:N.Ih,setFileModeEnabled:p.WA,resetRewind:p._w,setBucketDetailsLoad:Xe.d5,setBucketInfo:Xe.f4,setNewObject:p.Mc,updateProgress:p.RO,completeObject:p.oK,openList:p.LD,setSearchObjects:p.G4},Yn=(0,o.$j)((function(e){var n=e.objectBrowser,t=e.buckets;return{routesList:h()(n,"routesList",[]),downloadingFiles:h()(n,"downloadingFiles",[]),rewindEnabled:h()(n,"rewind.rewindEnabled",!1),rewindDate:h()(n,"rewind.dateToRewind",null),bucketToRewind:h()(n,"rewind.bucketToRewind",""),loadingBucket:t.bucketDetails.loadingBucket,bucketInfo:t.bucketDetails.bucketInfo,searchObjects:n.searchObjects}}),Jn),$n=(0,Fe.EN)(Yn((0,r.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({browsePaper:{height:"calc(100vh - 210px)","&.actionsPanelOpen":{height:"100%"}},"@global":{".rowLine:hover .iconFileElm":{backgroundImage:"url(/images/ob_file_filled.svg)"},".rowLine:hover .iconFolderElm":{backgroundImage:"url(/images/ob_folder_filled.svg)"}},badgeOverlap:{"& .MuiBadge-badge":{top:10,right:1,width:5,height:5,minWidth:5}},screenTitle:{borderBottom:0,paddingTop:0,paddingLeft:0,paddingRight:0}},f.VX),f.OR),f.qg),{},{searchField:(0,i.Z)((0,i.Z)({},f.qg.searchField),{},{maxWidth:380})},f.cx),(0,f.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.match,o=e.history,s=e.rewindEnabled,r=e.rewindDate,l=e.bucketToRewind,c=e.setSnackBarMessage,d=e.setErrorSnackMessage,m=e.resetRewind,f=e.setFileModeEnabled,p=e.setBucketDetailsLoad,b=e.loadingBucket,j=e.setBucketInfo,v=e.bucketInfo,Z=e.setNewObject,y=e.updateProgress,k=e.completeObject,N=e.setSearchObjects,_=e.searchObjects,P=e.openList,F=(0,a.useState)([]),I=(0,x.Z)(F,2),O=I[0],L=I[1],B=(0,a.useState)(!0),D=(0,x.Z)(B,2),M=D[0],R=D[1],z=(0,a.useState)([]),A=(0,x.Z)(z,2),U=A[0],W=A[1],H=(0,a.useState)(!1),G=(0,x.Z)(H,2),J=G[0],Y=G[1],$=(0,a.useState)(!1),V=(0,x.Z)($,2),X=V[0],q=V[1],Q=(0,a.useState)(!1),ne=(0,x.Z)(Q,2),te=ne[0],ie=ne[1],oe=(0,a.useState)(0),se=(0,x.Z)(oe,2),re=se[0],le=se[1],ce=(0,a.useState)(Kn),de=(0,x.Z)(ce,2),ue=de[0],me=de[1],he=(0,a.useState)(!0),fe=(0,x.Z)(he,2),pe=fe[0],xe=fe[1],ge=(0,a.useState)(!1),je=(0,x.Z)(ge,2),ve=je[0],Ze=je[1],ye=(0,a.useState)(!1),ke=(0,x.Z)(ye,2),we=ke[0],Ne=ke[1],Te=(0,a.useState)([]),Ee=(0,x.Z)(Te,2),_e=Ee[0],Pe=Ee[1],Fe=(0,a.useState)(!1),Ie=(0,x.Z)(Fe,2),Oe=Ie[0],Le=Ie[1],Be=(0,a.useState)(null),De=(0,x.Z)(Be,2),Me=De[0],Re=De[1],ze=(0,a.useState)(!1),Ae=(0,x.Z)(ze,2),Ue=Ae[0],We=Ae[1],He=(0,a.useState)("ASC"),Ge=(0,x.Z)(He,2),Ke=Ge[0],Xe=Ge[1],qe=(0,a.useState)("name"),jn=(0,x.Z)(qe,2),vn=jn[0],Zn=jn[1],kn=(0,a.useState)(!1),Sn=(0,x.Z)(kn,2),wn=Sn[0],Nn=Sn[1],Tn=(0,a.useState)(!1),En=(0,x.Z)(Tn,2),_n=En[0],Pn=En[1],Fn=(0,a.useState)(!1),Jn=(0,x.Z)(Fn,2),Yn=Jn[0],$n=Jn[1],Vn=(0,a.useState)(!1),Xn=(0,x.Z)(Vn,2),qn=Xn[0],Qn=Xn[1],et=(0,a.useState)(null),nt=(0,x.Z)(et,2),tt=nt[0],it=nt[1],at=h()(t.params,"subpaths",""),ot=t.params.bucketName,st=(0,a.useRef)(null),rt=(0,a.useRef)(null);(0,a.useEffect)((function(){null!==rt.current&&(rt.current.setAttribute("directory",""),rt.current.setAttribute("webkitdirectory",""))}),[rt]),(0,a.useEffect)((function(){if(1===_e.length){var e=_e[0];"none"!==(0,C.Bg)(e)?$n(!0):$n(!1),e.endsWith("/")?Pn(!1):Pn(!0)}else Pn(!1),$n(!1)}),[_e]);var lt=(0,Se.F)(ot,[E.Ft.S3_DELETE_OBJECT]),ct=(0,Se.F)(ot,[E.Ft.S3_LIST_BUCKET]);(0,a.useEffect)((function(){wn||(p(!0),Nn(!0))}),[wn,p,Nn]),function(e,n){var t=(0,a.useRef)(null);(0,a.useEffect)((function(){t.current=e}),[e]),(0,a.useEffect)((function(){if(null!==n){var e=setInterval((function(){void 0!==t&&t.current&&t.current()}),n);return function(){return clearInterval(e)}}}),[n])}((function(){M&&function(){var e=Date.now()-re;e/1e3>=6?me((0,K.jsx)(a.Fragment,{children:(0,K.jsxs)($e.Z,{component:"h3",children:["This operation is taking longer than expected... (",Math.ceil(e/1e3),"s)"]})})):e/1e3>=3&&me((0,K.jsx)($e.Z,{component:"h3",children:"This operation is taking longer than expected..."}))}()}),1e3),(0,a.useEffect)((function(){pe&&(ct?S.Z.invoke("GET","/api/v1/buckets/".concat(ot,"/versioning")).then((function(e){Ze(e.is_versioned),xe(!1)})).catch((function(e){d(e),xe(!1)})):xe(!1))}),[ot,pe,d,ct]),(0,a.useEffect)((function(){if(s){if(l!==ot)return void m();if(r){Y(!0);var e=r.toISOString(),n="";if(at){var t=(0,T.le)(at);n=t.endsWith("/")?t:t+"/"}S.Z.invoke("GET","/api/v1/buckets/".concat(ot,"/rewind/").concat(e).concat(n?"?prefix=".concat((0,T.ug)(n)):"")).then((function(e){Y(!1),e.objects?W(e.objects):W([])})).catch((function(e){Y(!1),d(e)}))}}}),[s,r,l,ot,t,d,m,at]),(0,a.useEffect)((function(){R(!0),Qn(!1),N("")}),[at,N]),(0,a.useEffect)((function(){if(M)if(ct){var e="";if(at){var n=(0,T.le)(at);e=n.endsWith("/")?n:n+"/"}var t=Date.now();le(t),me(Kn),S.Z.invoke("GET","/api/v1/buckets/".concat(ot,"/objects").concat(e?"?prefix=".concat((0,T.ug)(e)):"")).then((function(n){var t=n.objects||[],i=[],a=[];t.forEach((function(e){e.name.endsWith("/")?i.push(e):a.push(e)}));var o=[].concat(i,a);if(L(o),n.objects||""===e)f(!1),R(!1);else if(s){var l=r.toISOString(),c="";if(at){var u=(0,T.le)(at);c=u.endsWith("/")?u:u+"/"}S.Z.invoke("GET","/api/v1/buckets/".concat(ot,"/rewind/").concat(l).concat(c?"?prefix=".concat((0,T.ug)(c)):"")).then((function(e){null===e.objects?(f(!0),Y(!1),R(!1)):(Y(!1),R(!1),f(!1))})).catch((function(e){Y(!1),R(!1),d(e)}))}else S.Z.invoke("GET","/api/v1/buckets/".concat(ot,"/objects").concat(at?"?prefix=".concat(at):"")).then((function(n){if(n.objects){for(var t=!1,i=e.slice(0,e.length-1),a=0;a0){P();var a=e.pop();a&&function a(o){return new Promise((function(s,r){var l="api/v1/buckets/".concat(n,"/objects/upload"),d=o.name,u=new Blob([o],{type:o.type}),m="",f=""!==h()(o,"webkitRelativePath","")?h()(o,"webkitRelativePath",""):i;if(""!==t||""!==f){var p=f.split("/").slice(0,-1).join("/");m=(0,T.ug)("".concat(t).concat(p).concat(p.endsWith("/")?"":"/"))}""!==m&&(l="".concat(l,"?prefix=").concat(m));var x=(0,T.ug)("".concat(n,"-").concat(m,"-").concat((new Date).getTime(),"-").concat(Math.random()));Z({bucketName:n,done:!1,instanceID:x,percentage:0,prefix:"".concat((0,T.le)(m)).concat(d),type:"upload",waitingForFile:!1});var b=new XMLHttpRequest;b.open("POST",l,!0);var g=e.length>1,j="An error occurred while uploading the file".concat(g?"s":"","."),v="Object".concat(g?"s":""," uploaded successfully.");b.withCredentials=!1,b.onload=function(n){if(401===b.status||403===b.status||400===b.status||500===b.status)if(b.response){var t=JSON.parse(b.response);c(t.detailedMessage)}else c(j);if(413===b.status&&c("Error - File size too large"),200===b.status&&(k(x),0===e.length&&c(v)),s(b.status),e.length>0){var i=e.pop();if(i)return a(i)}},b.upload.addEventListener("error",(function(e){c(j)})),b.upload.addEventListener("progress",(function(e){var n=Math.floor(100*e.loaded/e.total);y(x,n)})),b.onerror=function(){c(j),r(j)},b.onloadend=function(){0===e.length&&R(!0)};var C=new FormData;void 0!==o.size&&(C.append(o.size.toString(),u,d),b.send(C))}))}(a).then((function(){console.info("done uploading file")})).catch((function(e){console.error("error uploading file,",e)}))}}(e,ot,t,n)}),[ot,k,at,P,Z,c,y]),ft=(0,a.useCallback)((function(e){if(e&&e.length>0){var n=e[0].path;ht(e,n)}}),[ht]),pt=(0,Ye.uI)({noClick:!0,onDrop:ft}),xt=pt.getRootProps,bt=pt.getInputProps,gt=pt.isDragActive,jt=pt.isDragAccept,vt=(0,a.useMemo)((function(){return(0,i.Z)((0,i.Z)((0,i.Z)({},Wn),gt?Hn:{}),jt?Gn:{})}),[gt,jt]),Zt=[{type:"view",label:"View",onClick:function(e){if(e.endsWith("/")){var n="/buckets/".concat(ot,"/browse").concat(e?"/".concat((0,T.ug)(e)):"");o.push(n)}else Qn(!0),it("".concat(e?"".concat((0,T.ug)(e)):""))},sendOnlyId:!0}],yt=O.filter((function(e){return""===_||e.name.toLowerCase().indexOf(_.toLowerCase())>=0})),Ct=function(e){return function(e){var n=e,t=(0,K.jsx)(en.default,{});e.endsWith("/")&&(t=(0,K.jsx)(nn.Z,{}),n=e.substr(0,e.length-1));for(var i=[{icon:(0,K.jsx)(xn,{}),extensions:["mp4","mov","avi","mpeg","mpg"]},{icon:(0,K.jsx)(mn,{}),extensions:["mp3","m4a","aac"]},{icon:(0,K.jsx)(hn,{}),extensions:["pdf"]},{icon:(0,K.jsx)(fn,{}),extensions:["ppt","pptx"]},{icon:(0,K.jsx)(bn,{}),extensions:["xls","xlsx"]},{icon:(0,K.jsx)(dn,{}),extensions:["cer","crt","pem"]},{icon:(0,K.jsx)(on,{}),extensions:["html","xml","css","py","go","php","cpp","h","java"]},{icon:(0,K.jsx)(sn,{}),extensions:["cfg","yaml"]},{icon:(0,K.jsx)(rn,{}),extensions:["sql"]},{icon:(0,K.jsx)(ln,{}),extensions:["ttf","otf"]},{icon:(0,K.jsx)(pn,{}),extensions:["txt"]},{icon:(0,K.jsx)(gn,{}),extensions:["zip","rar","tar","gz"]},{icon:(0,K.jsx)(an,{}),extensions:["epub","mobi","azw","azw3"]},{icon:(0,K.jsx)(cn,{}),extensions:["jpeg","jpg","gif","tiff","png","heic","dng"]}],a=e.toLowerCase(),o=0,s=i;o0&&(_t=_t.concat(Nt)),(0,K.jsxs)(a.Fragment,{children:[Ue&&Me&&(0,K.jsx)(zn,{open:Ue,closeModalAndRefresh:function(){We(!1),Re(null)},bucketName:ot,dataObject:{name:Me.name,last_modified:"",version_id:Me.version_id}}),X&&(0,K.jsx)(Rn,{deleteOpen:X,selectedBucket:ot,selectedObjects:_e,closeDeleteModalAndRefresh:function(e){q(!1),e&&(c("Objects deleted successfully."),Pe([]),R(!0))},versioning:ve}),te&&(0,K.jsx)(Mn,{modalOpen:te,bucketName:ot,folderName:at,onClose:function(){ie(!1)},existingFiles:O}),we&&(0,K.jsx)(An,{open:we,closeModalAndRefresh:function(e){Ne(!1)},bucketName:ot}),Oe&&(0,K.jsx)(Un,{open:Oe,bucketName:ot,object:Me,onClosePreview:function(){Le(!1),Re(null)}}),(0,K.jsxs)(Ce.Z,{children:[(0,K.jsx)(u.ZP,{item:!0,xs:12,children:(0,K.jsx)(be.Z,{className:n.screenTitle,icon:(0,K.jsx)(a.Fragment,{children:(0,K.jsx)(ae.wN,{width:40})}),title:(0,K.jsx)(ee,{bucketName:ot,internalPaths:wt,fullSizeBreadcrumbs:!0}),subTitle:(0,K.jsx)(a.Fragment,{children:(0,K.jsxs)(u.ZP,{item:!0,xs:12,className:n.bucketDetails,children:[(0,K.jsxs)("span",{className:n.detailsSpacer,children:["Created:\xa0\xa0\xa0",(0,K.jsx)("strong",{children:(null===v||void 0===v?void 0:v.creation_date)||""})]}),(0,K.jsxs)("span",{className:n.detailsSpacer,children:["Access:\xa0\xa0\xa0",(0,K.jsx)("strong",{children:(null===v||void 0===v?void 0:v.access)||""})]}),v&&(0,K.jsx)(a.Fragment,{children:(0,K.jsxs)("span",{className:n.detailsSpacer,children:[v.size&&(0,K.jsx)(a.Fragment,{children:(0,T.l5)(v.size)}),v.size&&v.objects?" / ":"",v.objects&&(0,K.jsxs)(a.Fragment,{children:[v.objects,"\xa0Object",v.objects&&1!==v.objects?"s":""]})]})})]})}),actions:(0,K.jsxs)(a.Fragment,{children:[(0,K.jsx)("input",{type:"file",multiple:!0,onChange:dt,style:{display:"none"},ref:st}),(0,K.jsx)("input",{type:"file",multiple:!0,onChange:dt,style:{display:"none"},ref:rt}),(0,K.jsx)(yn,{bucketName:ot,uploadPath:_t.join("/"),uploadFileFunction:function(e){st&&st.current&&st.current.click(),e()},uploadFolderFunction:function(e){rt&&rt.current&&rt.current.click(),e()}})]})})}),(0,K.jsxs)("div",(0,i.Z)((0,i.Z)({id:"object-list-wrapper"},xt({style:(0,i.Z)({},vt)})),{},{children:[(0,K.jsx)("input",(0,i.Z)({},bt())),(0,K.jsx)(u.ZP,{item:!0,xs:12,className:n.tableBlock,children:(0,K.jsxs)(Se.Z,{scopes:[E.Ft.S3_LIST_BUCKET],resource:ot,errorProps:{disabled:!0},children:[(0,K.jsx)(w.Z,{itemActions:Zt,columns:s?St:kt,isLoading:s?J:M,loadingMessage:ue,entityName:"Objects",idField:"name",records:Et,customPaperHeight:"".concat(n.browsePaper," ").concat(qn?"actionsPanelOpen":""),selectedItems:_e,onSelect:function(e){var n=e.target,t=n.value,i=n.checked,a=(0,Je.Z)(_e);return i?a.push(t):a=a.filter((function(e){return e!==t})),Pe(a),a},customEmptyMessage:"This location is empty".concat(s?"":", please try uploading a new file"),sortConfig:{currentSort:vn,currentDirection:Ke,triggerSort:function(e){var n=h()(e,"sortDirection","DESC");Zn(e.sortBy),Xe(n),R(!0)}},onSelectAll:function(){if(_e.length!==Et.length){var e=Et.map((function(e){return e.name}));Pe(e)}else Pe([])},actionButtons:[{action:function(){if(0!==_e.length){var e=function(e){return _e.includes(e.name)};(s?U.filter(e):yt.filter(e)).forEach((function(e){!function(e){var n=(0,T.ug)("".concat(ot,"-").concat(e.name,"-").concat((new Date).getTime(),"-").concat(Math.random()));Z({bucketName:ot,done:!1,instanceID:n,percentage:0,prefix:e.name,type:"download",waitingForFile:!0}),(0,C.LR)(ot,(0,T.ug)(e.name),e.version_id,e.size,(function(e){y(n,e)}),(function(){k(n)}))}(e)}))}},label:"Download",disabled:0===_e.length,icon:(0,K.jsx)(ae._8,{}),tooltip:"Download Selected"},{action:function(){if(1===_e.length){var e;(e=yt.find((function(e){return _e.includes(e.name)})))&&(Re(e),We(!0))}},label:"Share",disabled:1!==_e.length||!_n,icon:(0,K.jsx)(ae.aA,{}),tooltip:"Share Selected File"},{action:function(){if(1===_e.length){var e;(e=yt.find((function(e){return _e.includes(e.name)})))&&(Re(e),Le(!0))}},label:"Preview",disabled:1!==_e.length||!Yn,icon:(0,K.jsx)(ae.P9,{}),tooltip:"Preview Selected File"},{action:function(){q(!0)},label:"Delete",icon:(0,K.jsx)(Dn,{}),disabled:!(0,Se.F)(ot,[E.Ft.S3_DELETE_OBJECT])||0===_e.length||!lt,tooltip:"Delete Selected Files"},{action:function(){Ne(!0)},label:"Rewind",disabled:!ve||!(0,Se.F)(ot,[E.Ft.S3_PUT_OBJECT]),icon:(0,K.jsx)(Ve.Z,{badgeContent:" ",color:"secondary",variant:"dot",invisible:!s,className:n.badgeOverlap,children:(0,K.jsx)(Ln,{})}),tooltip:"Rewind Bucket"},{action:function(){ie(!0)},label:"New Path",icon:(0,K.jsx)(On,{}),disabled:s||!(0,Se.F)(ot,[E.Ft.S3_PUT_OBJECT]),tooltip:"Choose or create a new path"}],globalActions:[{action:function(){R(!0)},label:"Reload",icon:(0,K.jsx)(Bn,{}),disabled:!(0,Se.F)(ot,[E.Ft.S3_LIST_BUCKET])||s,tooltip:"Reload List"}]}),(0,K.jsx)(Cn,{open:qn,closePanel:function(){Qn(!1),it(null)},children:null!==tt&&(0,K.jsx)(In,{internalPaths:tt,bucketName:ot})})]})})]}))]})]})})))),Vn=t(35721),Xn=t(30723),qn=t(29316),Qn={setFileModeEnabled:p.WA,setErrorSnackMessage:N.Ih,setSearchObjects:p.G4},et=(0,o.$j)((function(e){var n=e.objectBrowser,t=e.buckets;return{fileMode:h()(n,"fileMode",!1),bucketToRewind:h()(n,"rewind.bucketToRewind",""),bucketInfo:t.bucketDetails.bucketInfo,searchObjects:n.searchObjects}}),Qn),nt=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)({breadcrumLink:{textDecoration:"none",color:"black"},backToBuckets:{color:"#000",fontSize:14,padding:0,marginTop:-8}},(0,f.Bz)(e.spacing(4))))}))(et((function(e){var n=e.fileMode,t=e.match,i=e.history,o=e.classes,s=e.setFileModeEnabled,r=e.searchObjects,m=e.setSearchObjects,f=t.params.bucketName,p=h()(t.params,"subpaths","");(0,a.useEffect)((function(){s(!1)}),[p,s]);return(0,K.jsxs)(a.Fragment,{children:[(0,K.jsx)(Vn.Z,{label:(0,K.jsx)(a.Fragment,{children:n?(0,K.jsxs)(a.Fragment,{children:[(0,K.jsx)(l.rU,{to:"/buckets",className:o.breadcrumLink,children:"Buckets"})," ","> ",f]}):(0,K.jsx)(a.Fragment,{children:(0,K.jsx)(qn.Z,{label:"Back to Buckets",to:"/buckets",className:o.backToBuckets})})}),actions:(0,K.jsx)(Se.Z,{scopes:E.D[E.EI.BUCKET_ADMIN],resource:f,errorProps:{disabled:!0},children:(0,K.jsx)(c.Z,{title:"Configure Bucket",children:(0,K.jsx)(d.Z,{color:"primary","aria-label":"Configure Bucket",component:"span",onClick:function(){i.push("/buckets/".concat(f,"/admin"))},size:"large",children:(0,K.jsx)(Xn.Z,{})})})}),middleComponent:(0,K.jsx)(a.Fragment,{children:!n&&(0,K.jsx)(Se.Z,{scopes:[E.Ft.S3_LIST_BUCKET],resource:f,errorProps:{disabled:!0},children:(0,K.jsx)(Ne.Z,{placeholder:"Start typing to filter objects in bucket",onChange:function(e){m(e)},value:r})})})}),(0,K.jsx)(u.ZP,{children:n?(0,K.jsx)(Ke,{}):(0,K.jsx)($n,{})})]})})))},94113:function(e,n,t){t.r(n),t.d(n,{default:function(){return v}});var i=t(18489),a=(t(50390),t(86458)),o=t(15607),s=t(83738),r=t(66946),l=t(18201),c=t(62559),d=["isLoading","onClick","label"],u=function(e){var n=e.isLoading,t=e.onClick,a=e.label,o=(0,s.Z)(e,d);return(0,c.jsx)(r.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},o),{},{children:n?(0,c.jsx)(l.Z,{color:"primary",size:16,variant:"indeterminate"}):a}))},m=t(56805),h=t(95467),f=t(59078),p=t(86509),x=t(4285),b=["disabled","onClick"],g=(0,x.Z)((function(e){return(0,p.Z)({root:{"&:hover":{backgroundColor:"#E2E2E2"}}})}))((function(e){var n=e.disabled,t=e.onClick,a=(0,s.Z)(e,b);return(0,c.jsx)(h.Z,(0,i.Z)((0,i.Z)({size:"small",disabled:n,onClick:t},a),{},{children:(0,c.jsx)(f.Z,{})}))})),j=function(e){var n=e.resourceName,t=e.iamScopes,a=e.secureCmpProps,s=void 0===a?{}:a,r=e.children;return(0,c.jsx)(o.Z,(0,i.Z)((0,i.Z)({scopes:t,resource:n,errorProps:{disabled:!0}},s),{},{children:r}))},v=function(e){var n=e.isLoading,t=void 0===n||n,i=e.resourceName,o=void 0===i?"":i,s=e.iamScopes,r=e.secureCmpProps,l=void 0===r?{}:r,d=e.property,h=void 0===d?null:d,f=e.value,p=void 0===f?null:f,x=e.onEdit;return(0,c.jsxs)(m.Z,{sx:{display:"flex",alignItems:"baseline",justifyContent:"flex-start"},children:[(0,c.jsx)(a.default,{label:h,value:(0,c.jsx)(j,{resourceName:o,iamScopes:s,secureCmpProps:l,children:(0,c.jsx)(u,{isLoading:t,onClick:x,label:p})})}),(0,c.jsx)(j,{resourceName:o,iamScopes:s,secureCmpProps:l,children:(0,c.jsx)(g,{onClick:x,sx:{background:"#f8f8f8",marginLeft:"3px",top:3,"& .min-icon":{width:"16px",height:"16px"}}})})]})}},1589:function(e,n,t){t(50390);var i=t(56805),a=t(62559);n.Z=function(e){var n=e.icon,t=void 0===n?null:n,o=e.label,s=void 0===o?null:o;return(0,a.jsxs)(i.Z,{sx:{display:"flex"},children:[(0,a.jsx)("div",{style:{height:16,width:16,display:"flex",alignItems:"center",marginTop:5},children:t}),(0,a.jsx)("div",{style:{marginLeft:t?5:"none"},children:s})]})}},53224:function(e,n,t){var i=t(18489),a=t(83738),o=(t(50390),t(70758)),s=t(62449),r=t(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,s.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,i=n.color,a=e.palette.primary.main;return"primary"===i&&"contained"===t?a=e.palette.primary.contrastText:"primary"===i&&"outlined"===t?a=e.palette.primary.main:"secondary"===i&&(a=e.palette.secondary.main),a}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,s=e.text,d=void 0===s?"":s,u=e.disabled,m=void 0!==u&&u,h=e.tooltip,f=e.icon,p=void 0===f?null:f,x=(0,a.Z)(e,l);return(0,r.jsxs)(o.Z,(0,i.Z)((0,i.Z)({classes:n,tooltip:h||d,variant:"outlined",onClick:t,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},x),{},{children:[(0,r.jsx)("span",{children:d})," ",p]}))}},52910:function(e,n,t){t.r(n);var i=t(23430),a=t(18489),o=t(50390),s=t(21639),r=t(38342),l=t.n(r),c=t(25594),d=t(56805),u=t(4182),m=t(35044),h=t(29399),f=t(73481),p=t(86509),x=t(72462),b=t(4285),g=t(62559);n.default=(0,b.Z)((function(e){return(0,p.Z)((0,a.Z)((0,a.Z)({propertiesIcon:{marginLeft:5,"& .min-icon":{height:12}},capitalizeFirst:{textTransform:"capitalize","& .min-icon":{width:16,height:16}},titleCol:{width:"25%"},titleItem:{width:"35%"}},x.bK),x.$b))}))((function(e){var n=e.bucketName,t=e.internalPaths,a=e.classes,r=e.actualInfo,p=e.linear,x=void 0!==p&&p,b=(0,o.useState)({}),j=(0,i.Z)(b,2),v=j[0],Z=j[1],y=(0,s.Z)((function(e){var n=l()(e,"objectMetadata",{});Z(n)}),(function(e){return!1})),C=(0,i.Z)(y,2)[1],k=Object.keys(v),S=(0,o.useCallback)((function(){C("GET","/api/v1/buckets/".concat(n,"/objects/metadata?prefix=").concat(t))}),[n,t,r]);return(0,o.useEffect)((function(){r&&S()}),[r,S]),x?(0,g.jsx)(o.Fragment,{children:k.map((function(e,n){var t=Array.isArray(v[e])?v[e].map(decodeURIComponent).join(", "):decodeURIComponent(v[e]);return(0,g.jsxs)(d.Z,{className:a.metadataLinear,children:[(0,g.jsx)("strong",{children:e}),(0,g.jsx)("br",{}),t]},"box-meta-".concat(e,"-").concat(n.toString()))}))}):(0,g.jsxs)(c.ZP,{container:!0,children:[(0,g.jsx)(c.ZP,{item:!0,xs:12,sx:{marginTop:"25px",marginBottom:"5px"},children:(0,g.jsx)("h3",{style:{marginTop:"0",marginBottom:"0"},children:"Object Metadata"})}),(0,g.jsx)(c.ZP,{item:!0,xs:12,children:(0,g.jsx)(u.Z,{className:a.table,"aria-label":"simple table",children:(0,g.jsx)(m.Z,{children:k.map((function(e,n){var t=Array.isArray(v[e])?v[e].map(decodeURIComponent).join(", "):decodeURIComponent(v[e]);return(0,g.jsxs)(h.Z,{children:[(0,g.jsx)(f.Z,{component:"th",scope:"row",className:a.titleItem,children:e}),(0,g.jsx)(f.Z,{align:"right",children:t})]},"tRow-".concat(n.toString()))}))})})})]})}))},79440:function(e,n,t){t.r(n),t.d(n,{default:function(){return _}});var i=t(23430),a=t(18489),o=t(50390),s=t(38342),r=t.n(s),l=t(34424),c=t(86509),d=t(4285),u=t(33034),m=t.n(u),h=t(25594),f=t(66946),p=t(81378),x=t(72462),b=t(44149),g=t(30324),j=t(76352),v=t(50280),Z=t(36554),y=t(60606),C=t.n(y),k=t(66964),S=t(62559),w=(0,d.Z)((function(e){return(0,c.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},x.YI),x.Hr),{},{labelContainer:{display:"flex",alignItems:"center",marginBottom:15},fieldContainer:(0,a.Z)((0,a.Z)({},x.YI.fieldContainer),{},{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:10,marginTop:11,marginBottom:6}),dateContainer:{height:20,textAlign:"right",color:"#848484"},dateInputContainer:{margin:"0 10px"},durationInputs:{display:"flex",alignItems:"center",justifyContent:"center"},validityIndicator:{display:"flex",alignItems:"center",justifyContent:"center"},invalidDurationText:{marginTop:15,display:"flex",color:"red",fontSize:11},validityText:{fontSize:14,fontWeight:600,marginTop:15,display:"flex",alignItems:"center",justifyContent:"center","@media (max-width: 900px)":{flexFlow:"column"}}}))}))((function(e){var n=e.classes,t=e.id,a=e.initialDate,s=e.label,r=e.maxDays,l=e.entity,c=e.onChange,d=(0,o.useState)(7),u=(0,i.Z)(d,2),m=u[0],f=u[1],p=(0,o.useState)(0),x=(0,i.Z)(p,2),b=x[0],g=x[1],j=(0,o.useState)(0),v=(0,i.Z)(j,2),y=v[0],w=v[1],N=(0,o.useState)(!0),T=(0,i.Z)(N,2),E=T[0],_=T[1],P=(0,o.useState)(C()()),F=(0,i.Z)(P,2),I=F[0],O=F[1];(0,o.useEffect)((function(){O(function(e,n,t,i){return C()(e).add(n,"days").add(t,"hours").add(i,"minutes")}(a,m,b,y))}),[a,m,b,y]),(0,o.useEffect)((function(){E?c(I.format("YYYY-MM-DDTHH:mm:ss"),!0):c("0000-00-00",!1)}),[I,c,E]),(0,o.useEffect)((function(){var e=!0;(m<0||r&&m>r||isNaN(m))&&(e=!1),(b<0||b>23||isNaN(b))&&(e=!1),(y<0||y>59||isNaN(y))&&(e=!1),!r||m!==r||0===b&&0===y||(e=!1),_(e)}),[I,r,c,m,b,y]);var L={style:{textAlign:"center",paddingRight:10,paddingLeft:10,width:25},className:"removeArrows"};return(0,S.jsx)(o.Fragment,{children:(0,S.jsxs)(h.ZP,{container:!0,className:n.fieldContainer,children:[(0,S.jsxs)(h.ZP,{item:!0,xs:12,alignItems:"center",justifyContent:"center",children:[(0,S.jsx)(h.ZP,{item:!0,xs:12,className:n.labelContainer,children:(0,S.jsx)(Z.Z,{htmlFor:t,className:n.inputLabel,children:(0,S.jsx)("span",{children:s})})}),(0,S.jsxs)(h.ZP,{item:!0,xs:12,className:n.durationInputs,children:[(0,S.jsx)(h.ZP,{item:!0,className:n.dateInputContainer,children:(0,S.jsx)(k.Z,{id:t,type:"number",min:"0",max:r?r.toString():"999",label:"Days",name:t,onChange:function(e){f(parseInt(e.target.value))},value:m.toString(),extraInputProps:L,noLabelMinWidth:!0})}),(0,S.jsx)(h.ZP,{item:!0,className:n.dateInputContainer,children:(0,S.jsx)(k.Z,{id:t,type:"number",min:"0",max:"23",label:"Hours",name:t,onChange:function(e){g(parseInt(e.target.value))},value:b.toString(),extraInputProps:L,noLabelMinWidth:!0})}),(0,S.jsx)(h.ZP,{item:!0,className:n.dateInputContainer,children:(0,S.jsx)(k.Z,{id:t,type:"number",min:"0",max:"59",label:"Minutes",name:t,onChange:function(e){w(parseInt(e.target.value))},value:y.toString(),extraInputProps:L,noLabelMinWidth:!0})})]})]}),(0,S.jsx)(h.ZP,{item:!0,xs:12,className:"".concat(n.validityIndicator," ").concat(n.formFieldRow),children:E?(0,S.jsxs)("div",{className:n.validityText,children:[(0,S.jsxs)("div",{className:n.validityLabel,children:[l," will be available until:"]})," ",(0,S.jsx)("div",{className:n.validTill,children:I.format("MM/DD/YYYY HH:mm:ss")})]}):(0,S.jsx)("div",{className:n.invalidDurationText,children:"Please select a valid duration."})})]})})})),N=t(28948),T=o.lazy((function(){return Promise.resolve().then(t.bind(t,24957))})),E=(0,l.$j)((function(e){var n=e.system;return{distributedSetup:r()(n,"distributedSetup",!1)}}),{setModalSnackMessage:b.MK,setModalErrorSnackMessage:b.zb}),_=(0,d.Z)((function(e){return(0,c.Z)((0,a.Z)((0,a.Z)({shareLinkInfo:{fontSize:13,fontWeight:400},copyShareLink:{display:"flex","@media (max-width: 900px)":{flexFlow:"column",alignItems:"center",justifyContent:"center"}},copyShareLinkInput:{"& div:first-child":{marginTop:0},"@media (max-width: 900px)":{minWidth:250}},copyShareLinkBtn:{display:"flex",alignItems:"center",justifyContent:"center","@media (max-width: 900px)":{marginTop:10}}},x.ID),x.DF))}))(E((function(e){var n=e.classes,t=e.open,a=e.closeModalAndRefresh,s=e.bucketName,l=e.dataObject,c=e.distributedSetup,d=e.setModalSnackMessage,u=e.setModalErrorSnackMessage,x=(0,o.useState)(""),b=(0,i.Z)(x,2),Z=b[0],y=b[1],C=(0,o.useState)(!0),k=(0,i.Z)(C,2),E=k[0],_=k[1],P=(0,o.useState)(!1),F=(0,i.Z)(P,2),I=F[0],O=F[1],L=(0,o.useState)(""),B=(0,i.Z)(L,2),D=B[0],M=B[1],R=(0,o.useState)(!0),z=(0,i.Z)(R,2),A=z[0],U=z[1],W=(0,o.useState)("null"),H=(0,i.Z)(W,2),G=H[0],K=H[1],J=new Date;return(0,o.useEffect)((function(){if(void 0===l.version_id)return c?(g.Z.invoke("GET","/api/v1/buckets/".concat(s,"/objects?prefix=").concat((0,N.ug)(l.name)).concat(c?"&with_versions=true":"")).then((function(e){var n=r()(e,"objects",[]).find((function(e){return e.is_latest}));K(n?n.version_id:"null")})).catch((function(e){u(e)})),void _(!1)):(K("null"),void _(!1));K(l.version_id||"null"),_(!1)}),[s,l,c,u]),(0,o.useEffect)((function(){if(A&&!E){O(!0),y("");var e=new Date("".concat(D)),n=new Date,t=Math.ceil((e.getTime()-n.getTime())/1e3);t>0&&g.Z.invoke("GET","/api/v1/buckets/".concat(s,"/objects/share?prefix=").concat((0,N.ug)(l.name),"&version_id=").concat(G).concat(""!==D?"&expires=".concat(t,"s"):"")).then((function(e){y(e),O(!1)})).catch((function(e){u(e),y(""),O(!1)}))}}),[l,D,s,A,y,u,c,E,G]),(0,S.jsx)(o.Fragment,{children:(0,S.jsxs)(j.Z,{title:"Share File",modalOpen:t,onClose:function(){a()},children:[E&&(0,S.jsx)(h.ZP,{item:!0,xs:12,children:(0,S.jsx)(p.Z,{})}),!E&&(0,S.jsxs)(o.Fragment,{children:[(0,S.jsxs)(h.ZP,{item:!0,xs:12,className:n.shareLinkInfo,children:["This is a temporary URL with integrated access credentials for sharing objects valid for up to 7 days.",(0,S.jsx)("br",{}),"The temporary URL expires after the configured time limit."]}),(0,S.jsx)(h.ZP,{item:!0,xs:12,className:n.dateContainer,children:(0,S.jsx)(w,{initialDate:J,id:"date",label:"Active for",maxDays:7,onChange:function(e,n){U(n),n?M(e):(M(""),y(""))},entity:"Link"})}),(0,S.jsxs)(h.ZP,{item:!0,xs:12,className:"".concat(n.copyShareLink," ").concat(n.formFieldRow," "),children:[(0,S.jsx)(h.ZP,{item:!0,xs:10,className:n.copyShareLinkInput,children:(0,S.jsx)(v.Z,{content:Z})}),(0,S.jsx)(h.ZP,{item:!0,xs:2,className:n.copyShareLinkBtn,children:(0,S.jsx)(m(),{text:Z,children:(0,S.jsx)(f.Z,{variant:"contained",color:"primary",endIcon:(0,S.jsx)(T,{}),onClick:function(){d("Share URL Copied to clipboard")},disabled:""===Z||I,children:"Copy"})})})]})]})]})})})))},10262:function(e,n,t){var i=t(36222),a=t(23430),o=t(50390),s=t(86509),r=t(4285),l=t(25594),c=t(81378),d=t(3662),u=t(28948),m=t(44977),h=t(62559);n.Z=(0,r.Z)((function(){return(0,s.Z)({iframeContainer:{border:"0px",flex:"1 1 auto",width:"100%",height:250,backgroundColor:"transparent",borderRadius:5,"&.image":{height:500},"&.text":{height:700},"&.audio":{height:150},"&.video":{height:350},"&.fullHeight":{height:"calc(100vh - 185px)"}},iframeBase:{backgroundColor:"#fff"},iframeHidden:{display:"none"}})}))((function(e){var n=e.bucketName,t=e.object,s=e.isFullscreen,r=void 0!==s&&s,f=e.classes,p=(0,o.useState)(!0),x=(0,a.Z)(p,2),b=x[0],g=x[1],j="";if(t){var v=(0,u.ug)(t.name),Z=document.baseURI.replace(window.location.origin,"");j="".concat(window.location.origin).concat(Z,"api/v1/buckets/").concat(n,"/objects/download?preview=true&prefix=").concat(v),t.version_id&&(j=j.concat("&version_id=".concat(t.version_id)))}var y=(0,d.Bg)((null===t||void 0===t?void 0:t.name)||""),C=function(){g(!1)};return(0,h.jsxs)(o.Fragment,{children:[b&&(0,h.jsx)(l.ZP,{item:!0,xs:12,children:(0,h.jsx)(c.Z,{})}),"video"===y&&(0,h.jsx)("video",{style:{width:"100%",height:"auto"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:C,children:(0,h.jsx)("source",{src:j,type:"video/mp4"})}),"audio"===y&&(0,h.jsx)("audio",{style:{width:"100%",height:"auto"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:C,children:(0,h.jsx)("source",{src:j,type:"audio/mpeg"})}),"image"===y&&(0,h.jsx)("img",{style:{width:"100%",height:"auto"},src:j,alt:"preview",onLoad:C}),"video"!==y&&"audio"!==y&&"image"!==y&&(0,h.jsx)("div",{className:(0,m.Z)(f.iframeBase,(0,i.Z)({},f.iframeHidden,b)),children:(0,h.jsx)("iframe",{src:j,title:"File Preview",allowTransparency:!0,className:"".concat(f.iframeContainer," ").concat(r?"fullHeight":y),onLoad:C,children:"File couldn't be loaded. Please try Download instead"})})]})}))},6511:function(e,n,t){t.r(n);var i=t(50390),a=t(76352),o=t(10262),s=t(98280),r=t(62559);n.default=function(e){var n=e.open,t=e.bucketName,l=e.object,c=e.onClosePreview;return(0,r.jsx)(i.Fragment,{children:(0,r.jsx)(a.Z,{modalOpen:n,title:"Preview - ".concat(null===l||void 0===l?void 0:l.name),onClose:c,wideLimit:!1,titleIcon:(0,r.jsx)(s.$3,{}),children:(0,r.jsx)(o.Z,{bucketName:t,object:l})})})}},3662:function(e,n,t){t.d(n,{LR:function(){return i},Bg:function(){return a},P_:function(){return o}});var i=function(e,n,t,i,a,o){var s=document.createElement("a");document.body.appendChild(s);var r="/api/v1/buckets/".concat(e,"/objects/download?prefix=").concat(n);t&&(r=r.concat("&version_id=".concat(t)));var l=new XMLHttpRequest;l.open("GET",r,!0),l.addEventListener("progress",(function(e){var n=Math.round(e.loaded/i*100);a&&a(n)}),!1),l.responseType="blob",l.onreadystatechange=function(){if(4===l.readyState&&200===l.status){var e=l.getResponseHeader("Content-Disposition"),n="download";if(e)n=decodeURIComponent(e).split('"')[1];o&&o();var t=document.createElement("a");t.href=window.URL.createObjectURL(l.response),t.download=n,document.body.appendChild(t),t.click(),document.body.removeChild(t)}},l.send()},a=function(e){var n=e.split(".").pop();return n?(n=n.toLowerCase(),["jif","jfif","apng","avif","svg","webp","bmp","ico","jpg","jpe","jpeg","gif","png","heic"].includes(n)?"image":["pdf","txt","json"].includes(n)?"text":["wav","mp3","alac","aiff","dsd","pcm"].includes(n)?"audio":["mp4","avi","mpg","webm","mov","flv","mkv","wmv","avchd","mpeg-4"].includes(n)?"video":"none"):"none"},o=function(e){switch(e){case"name":return function(e,n){return e.name.localeCompare(n.name)};case"last_modified":return function(e,n){return new Date(e.last_modified).getTime()-new Date(n.last_modified).getTime()};case"size":return function(e,n){return(e.size||-1)-(n.size||-1)}}}},70758:function(e,n,t){var i=t(18489),a=t(36222),o=t(83738),s=(t(50390),t(86509)),r=t(4285),l=t(95467),c=t(94187),d=t(44977),u=t(62559),m=["classes","children","variant","tooltip"];n.Z=(0,r.Z)((function(e){return(0,s.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,s=e.variant,r=void 0===s?"outlined":s,h=e.tooltip,f=(0,o.Z)(e,m),p=(0,u.jsx)(l.Z,(0,i.Z)((0,i.Z)({},f),{},{className:(0,d.Z)(n.root,(0,a.Z)({},n.contained,"contained"===r)),children:t}));return h&&""!==h?(0,u.jsx)(c.Z,{title:h,children:(0,u.jsx)("span",{children:p})}):p}))},37882:function(e,n,t){var i=t(18489),a=t(50390),o=t(62559);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function t(t){return(0,o.jsx)(a.Suspense,{fallback:n,children:(0,o.jsx)(e,(0,i.Z)({},t))})}return t}},92440:function(e,n,t){var i=t(36222),a=t(18489),o=t(50390),s=t(86509),r=t(4285),l=t(49056),c=t(36554),d=t(94187),u=t(35477),m=t(25594),h=t(72462),f=t(97538),p=t(44977),x=t(62559),b=(0,r.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(l.Z);n.Z=(0,r.Z)((function(e){return(0,s.Z)((0,a.Z)((0,a.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},h.OR),h.YI))}))((function(e){var n=e.label,t=void 0===n?"":n,a=e.onChange,s=e.value,r=e.id,l=e.name,h=e.checked,g=void 0!==h&&h,j=e.disabled,v=void 0!==j&&j,Z=e.switchOnly,y=void 0!==Z&&Z,C=e.tooltip,k=void 0===C?"":C,S=e.description,w=void 0===S?"":S,N=e.classes,T=e.indicatorLabels,E=(0,x.jsxs)(o.Fragment,{children:[!y&&(0,x.jsx)("span",{className:(0,p.Z)(N.indicatorLabel,(0,i.Z)({},N.indicatorLabelOn,!g)),children:T&&T.length>1?T[1]:"OFF"}),(0,x.jsx)(b,{checked:g,onChange:a,color:"primary",name:l,inputProps:{"aria-label":"primary checkbox"},disabled:v,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:s}),!y&&(0,x.jsx)("span",{className:(0,p.Z)(N.indicatorLabel,(0,i.Z)({},N.indicatorLabelOn,g)),children:T?T[0]:"ON"})]});return y?E:(0,x.jsx)("div",{className:N.divContainer,children:(0,x.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[(0,x.jsx)(m.ZP,{item:!0,xs:!0,children:(0,x.jsxs)(m.ZP,{container:!0,children:[(0,x.jsx)(m.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==t&&(0,x.jsxs)(c.Z,{htmlFor:r,className:N.inputLabel,children:[(0,x.jsx)("span",{children:t}),""!==k&&(0,x.jsx)("div",{className:N.tooltipContainer,children:(0,x.jsx)(d.Z,{title:k,placement:"top-start",children:(0,x.jsx)("div",{className:N.tooltip,children:(0,x.jsx)(f.Z,{})})})})]})}),(0,x.jsx)(m.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==w&&(0,x.jsx)(u.Z,{component:"p",className:N.fieldDescription,children:w})})]})}),(0,x.jsx)(m.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:N.switchContainer,children:E})]})})}))},66964:function(e,n,t){var i=t(18489),a=t(50390),o=t(12066),s=t(25594),r=t(36554),l=t(94187),c=t(95467),d=t(86509),u=t(62449),m=t(4285),h=t(72462),f=t(97538),p=t(44977),x=t(62559),b=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({},h.gM))}));function g(e){var n=b();return(0,x.jsx)(o.Z,(0,i.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.YI),h.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},h.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,t=e.onChange,o=e.value,d=e.id,u=e.name,m=e.type,h=void 0===m?"text":m,b=e.autoComplete,j=void 0===b?"off":b,v=e.disabled,Z=void 0!==v&&v,y=e.multiline,C=void 0!==y&&y,k=e.tooltip,S=void 0===k?"":k,w=e.index,N=void 0===w?0:w,T=e.error,E=void 0===T?"":T,_=e.required,P=void 0!==_&&_,F=e.placeholder,I=void 0===F?"":F,O=e.min,L=e.max,B=e.overlayIcon,D=void 0===B?null:B,M=e.overlayObject,R=void 0===M?null:M,z=e.extraInputProps,A=void 0===z?{}:z,U=e.overlayAction,W=e.noLabelMinWidth,H=void 0!==W&&W,G=e.pattern,K=void 0===G?"":G,J=e.autoFocus,Y=void 0!==J&&J,$=e.classes,V=e.className,X=void 0===V?"":V,q=(0,i.Z)({"data-index":N},A);return"number"===h&&O&&(q.min=O),"number"===h&&L&&(q.max=L),""!==K&&(q.pattern=K),(0,x.jsx)(a.Fragment,{children:(0,x.jsxs)(s.ZP,{container:!0,className:(0,p.Z)(""!==X?X:"",""!==E?$.errorInField:$.inputBoxContainer),children:[""!==n&&(0,x.jsxs)(r.Z,{htmlFor:d,className:H?$.noMinWidthLabel:$.inputLabel,children:[(0,x.jsxs)("span",{children:[n,P?"*":""]}),""!==S&&(0,x.jsx)("div",{className:$.tooltipContainer,children:(0,x.jsx)(l.Z,{title:S,placement:"top-start",children:(0,x.jsx)("div",{className:$.tooltip,children:(0,x.jsx)(f.Z,{})})})})]}),(0,x.jsxs)("div",{className:$.textBoxContainer,children:[(0,x.jsx)(g,{id:d,name:u,fullWidth:!0,value:o,autoFocus:Y,disabled:Z,onChange:t,type:h,multiline:C,autoComplete:j,inputProps:q,error:""!==E,helperText:E,placeholder:I,className:$.inputRebase}),D&&(0,x.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,x.jsx)(c.Z,{onClick:U?function(){U()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:D})}),R&&(0,x.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==n?"withLabel":""),children:R})]})]})})}))},50280:function(e,n,t){var i=t(18489),a=t(50390),o=t(25594),s=t(86509),r=t(4285),l=t(72462),c=t(62559);n.Z=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)({},l.xx))}))((function(e){var n=e.classes,t=e.label,i=void 0===t?"":t,s=e.content,r=e.multiLine,l=void 0!==r&&r;return(0,c.jsx)(a.Fragment,{children:(0,c.jsxs)(o.ZP,{className:n.prefinedContainer,children:[""!==i&&(0,c.jsx)(o.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:i}),(0,c.jsx)(o.ZP,{item:!0,xs:12,className:n.predefinedList,children:(0,c.jsx)(o.ZP,{item:!0,xs:12,className:l?n.innerContentMultiline:n.innerContent,children:s})})]})})}))},27207:function(e,n,t){var i=t(36222),a=t(18489),o=(t(50390),t(44977)),s=t(25594),r=t(82420),l=t(66695),c=t(98893),d=t(36554),u=t(94187),m=t(86509),h=t(4285),f=t(62449),p=t(72462),x=t(97538),b=t(62559),g=(0,f.Z)((0,a.Z)({root:{"&:hover":{backgroundColor:"transparent"}}},p.FU)),j=function(e){var n=g();return(0,b.jsx)(c.Z,(0,a.Z)({className:n.root,disableRipple:!0,color:"default",checkedIcon:(0,b.jsx)("span",{className:n.radioSelectedIcon}),icon:(0,b.jsx)("span",{className:n.radioUnselectedIcon})},e))};n.Z=(0,h.Z)((function(e){return(0,m.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},p.YI),p.Hr),{},{optionLabel:{"&.Mui-disabled":{"& .MuiFormControlLabel-label":{color:"#9c9c9c"}},"&:last-child":{marginRight:0},"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E"}},checkedOption:{"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E",fontWeight:700}}}))}))((function(e){var n=e.selectorOptions,t=void 0===n?[]:n,a=e.currentSelection,c=e.label,m=e.id,h=e.name,f=e.onChange,p=e.tooltip,g=void 0===p?"":p,v=e.disableOptions,Z=void 0!==v&&v,y=e.classes,C=e.displayInColumn,k=void 0!==C&&C;return(0,b.jsxs)(s.ZP,{container:!0,alignItems:"center",children:[(0,b.jsx)(s.ZP,{item:!0,xs:!0,children:(0,b.jsxs)(d.Z,{htmlFor:m,className:y.inputLabel,children:[(0,b.jsx)("span",{children:c}),""!==g&&(0,b.jsx)("div",{className:y.tooltipContainer,children:(0,b.jsx)(u.Z,{title:g,placement:"top-start",children:(0,b.jsx)("div",{children:(0,b.jsx)(x.Z,{})})})})]})}),(0,b.jsx)(s.ZP,{item:!0,xs:!0,className:y.radioOptionsLayout,children:(0,b.jsx)(r.Z,{"aria-label":m,id:m,name:h,value:a,onChange:f,row:!k,style:{display:"block",textAlign:"right"},children:t.map((function(e){return(0,b.jsx)(l.Z,{value:e.value,control:(0,b.jsx)(j,{}),label:e.label,disabled:Z,className:(0,o.Z)(y.optionLabel,(0,i.Z)({},y.checkedOption,e.value===a))},"rd-".concat(h,"-").concat(e.value))}))})})]})}))},21639:function(e,n,t){var i=t(23430),a=t(50390),o=t(30324);n.Z=function(e,n){var t=(0,a.useState)(!1),s=(0,i.Z)(t,2),r=s[0],l=s[1];return[r,function(t,i,a){l(!0),o.Z.invoke(t,i,a).then((function(n){l(!1),e(n)})).catch((function(e){l(!1),n(e)}))}]}},60656:function(e,n,t){var i=t(18489),a=t(50390),o=t(84402),s=t(78426),r=t(93085),l=t(7887),c=t(66946),d=t(14476),u=t(95467),m=t(21278),h=t(86509),f=t(4285),p=t(72462),x=t(62559);n.Z=(0,f.Z)((function(e){return(0,h.Z)((0,i.Z)({},p.Qw))}))((function(e){var n=e.isOpen,t=void 0!==n&&n,h=e.onClose,f=e.onCancel,p=e.onConfirm,b=e.classes,g=void 0===b?{}:b,j=e.title,v=void 0===j?"":j,Z=e.isLoading,y=e.confirmationContent,C=e.cancelText,k=void 0===C?"Cancel":C,S=e.confirmText,w=void 0===S?"Confirm":S,N=e.confirmButtonProps,T=void 0===N?{}:N,E=e.cancelButtonProps,_=void 0===E?{}:E,P=e.titleIcon,F=void 0===P?null:P;return(0,x.jsxs)(o.Z,{open:t,onClose:function(e,n){"backdropClick"!==n&&h()},className:g.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,x.jsxs)(s.Z,{className:g.title,children:[(0,x.jsxs)("div",{className:g.titleText,children:[F," ",v]}),(0,x.jsx)("div",{className:g.closeContainer,children:(0,x.jsx)(u.Z,{"aria-label":"close",className:g.closeButton,onClick:h,disableRipple:!0,size:"small",children:(0,x.jsx)(m.Z,{})})})]}),(0,x.jsx)(r.Z,{className:g.content,children:y}),(0,x.jsxs)(l.Z,{className:g.actions,children:[(0,x.jsx)(c.Z,(0,i.Z)((0,i.Z)({className:g.cancelButton,onClick:f||h,disabled:Z,type:"button"},_),{},{variant:"outlined",color:"primary",children:k})),(0,x.jsx)(d.Z,(0,i.Z)((0,i.Z)({className:g.confirmButton,type:"button",onClick:p,loading:Z,disabled:Z,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,x.jsx)(a.Fragment,{}),autoFocus:!0},T),{},{children:w}))]})]})}))},76352:function(e,n,t){t.d(n,{Z:function(){return N}});var i,a=t(23430),o=t(18489),s=t(50390),r=t(34424),l=t(95467),c=t(97771),d=t(84402),u=t(78426),m=t(93085),h=t(86509),f=t(4285),p=t(72462),x=t(44149),b=t(38342),g=t.n(b),j=t(92125),v=t(19538),Z=t(21278),y=t(62559),C=function(){clearInterval(i)},k={displayErrorMessage:x.zb},S=(0,r.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),k)((0,f.Z)((function(e){return(0,h.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var n=e.classes,t=e.modalSnackMessage,o=e.displayErrorMessage,r=e.customStyle,l=(0,s.useState)(!1),c=(0,a.Z)(l,2),d=c[0],u=c[1],m=(0,s.useState)(!1),h=(0,a.Z)(m,2),f=h[0],p=h[1],x=(0,s.useCallback)((function(){p(!1)}),[]);(0,s.useEffect)((function(){f||(o({detailedError:"",errorMessage:""}),u(!1))}),[o,f]),(0,s.useEffect)((function(){""!==t.message&&"error"===t.type&&p(!0)}),[x,t.message,t.type]);var b=g()(t,"message",""),k=g()(t,"detailedErrorMsg","");return"error"!==t.type||""===b?null:(0,y.jsx)(s.Fragment,{children:(0,y.jsxs)("div",{className:"".concat(n.modalErrorContainer," ").concat(f?n.modalErrorShow:""),style:r,onMouseOver:C,onMouseLeave:function(){i=setInterval(x,1e4)},children:[(0,y.jsx)("button",{className:n.closeButton,onClick:x,children:(0,y.jsx)(Z.Z,{})}),(0,y.jsxs)("div",{className:n.errorTitle,children:[(0,y.jsx)("span",{className:n.messageIcon,children:(0,y.jsx)(v.Z,{})}),(0,y.jsx)("span",{className:n.errorLabel,children:b})]}),""!==k&&(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)("div",{className:n.detailsContainerLink,children:(0,y.jsxs)("button",{className:n.detailsButton,onClick:function(){u(!d)},children:["Details",(0,y.jsx)(j.Z,{className:"".concat(n.arrowElement," ").concat(d?n.arrowOpen:"")})]})}),(0,y.jsx)("div",{className:"".concat(n.extraDetailsContainer," ").concat(d?n.extraDetailsOpen:""),children:k})]})]})})}))),w=(0,r.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:x.MK}),N=(0,f.Z)((function(e){return(0,h.Z)((0,o.Z)((0,o.Z)({},p.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},p.sN))}))(w((function(e){var n=e.onClose,t=e.modalOpen,i=e.title,r=e.children,h=e.classes,f=e.wideLimit,p=void 0===f||f,x=e.modalSnackMessage,b=e.noContentPadding,g=e.setModalSnackMessage,j=e.titleIcon,v=void 0===j?null:j,C=(0,s.useState)(!1),k=(0,a.Z)(C,2),w=k[0],N=k[1];(0,s.useEffect)((function(){g("")}),[g]),(0,s.useEffect)((function(){if(x){if(""===x.message)return void N(!1);"error"!==x.type&&N(!0)}}),[x]);var T=p?{classes:{paper:h.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},E="";return x&&(E=x.detailedErrorMsg,(""===x.detailedErrorMsg||x.detailedErrorMsg.length<5)&&(E=x.message)),(0,y.jsxs)(d.Z,(0,o.Z)((0,o.Z)({open:t,classes:h},T),{},{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:[v," ",i]}),(0,y.jsx)("div",{className:h.closeContainer,children:(0,y.jsx)(l.Z,{"aria-label":"close",className:h.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,y.jsx)(Z.Z,{})})})]}),(0,y.jsx)(S,{}),(0,y.jsx)(c.Z,{open:w,className:h.snackBarModal,onClose:function(){N(!1),g("")},message:E,ContentProps:{className:"".concat(h.snackBar," ").concat(x&&"error"===x.type?h.errorSnackBar:"")},autoHideDuration:x&&"error"===x.type?1e4:5e3}),(0,y.jsx)(m.Z,{className:b?"":h.content,children:r})]}))})))},35721:function(e,n,t){t(50390);var i=t(34424),a=t(25594),o=t(86509),s=t(4285),r=t(35477),l=t(95467),c=t(26805),d=t(44078),u=t(5265),m=t(98280),h=t(62559),f={toggleList:u.kQ},p=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),f);n.Z=p((0,s.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,i=e.actions,o=e.sidebarOpen,s=e.operatorMode,u=e.managerObjects,f=e.toggleList,p=e.middleComponent;return(0,h.jsxs)(a.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,h.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,h.jsx)("div",{className:n.logo,children:s?(0,h.jsx)(c.Z,{}):(0,h.jsx)(d.Z,{})}),(0,h.jsx)(r.Z,{variant:"h4",className:n.labelStyle,children:t})]}),p&&(0,h.jsx)(a.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:p}),(0,h.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:n.rightMenu,children:[i&&i,u&&u.length>0&&(0,h.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},size:"large",children:(0,h.jsx)(m.gx,{})})]})]})})))},62702:function(e,n,t){t(50390);var i=t(25594),a=t(86509),o=t(4285),s=t(62559);n.Z=(0,o.Z)((function(e){return(0,a.Z)({headerBarIcon:{marginRight:".7rem",color:e.palette.primary.main,"& .min-icon":{width:44,height:44}},headerBarSubheader:{color:"grey","@media (max-width: 900px)":{maxWidth:200}},screenTitle:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"1rem",borderBottom:"1px solid #EAEAEA","@media (max-width: 600px)":{flexFlow:"column"}},titleColumn:{height:"auto",justifyContent:"center",display:"flex",flexFlow:"column",alignItems:"flex-start","& h1":{fontSize:19}},leftItems:{display:"flex",alignItems:"center","@media (max-width: 600px)":{flexFlow:"column"}},rightItems:{display:"flex",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.icon,a=e.title,o=e.subTitle,r=e.actions,l=e.className;return(0,s.jsx)(i.ZP,{container:!0,children:(0,s.jsxs)(i.ZP,{item:!0,xs:12,className:"".concat(n.screenTitle," ").concat(l||""),children:[(0,s.jsxs)("div",{className:n.leftItems,children:[t?(0,s.jsx)("div",{className:n.headerBarIcon,children:t}):null,(0,s.jsxs)("div",{className:n.titleColumn,children:[(0,s.jsx)("h1",{style:{margin:0},children:a}),(0,s.jsx)("span",{className:n.headerBarSubheader,children:o})]})]}),(0,s.jsx)("div",{className:n.rightItems,children:r})]})})}))},23165:function(e,n,t){var i=t(36222),a=t(18489),o=(t(50390),t(65771)),s=t(13336),r=t(12066),l=t(4285),c=t(86509),d=t(72462),u=t(62559);n.Z=(0,l.Z)((function(e){return(0,c.Z)({searchField:(0,a.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,a=e.classes,l=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,m=e.overrideClass,h=e.value,f=(0,i.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(o.Z,{position:d,className:a.adornment,children:(0,u.jsx)(s.Z,{})}));return(0,u.jsx)(r.Z,{placeholder:t,className:m||a.searchField,id:"search-resource",label:"",InputProps:f,onChange:function(e){l(e.target.value)},variant:"standard",value:h})}))},86458:function(e,n,t){t.r(n);var i=t(18489),a=(t(50390),t(19787)),o=t(62559);n.default=function(e){var n=e.label,t=void 0===n?null:n,s=e.value,r=void 0===s?"-":s,l=e.orientation,c=void 0===l?"column":l,d=e.stkProps,u=void 0===d?{}:d,m=e.lblProps,h=void 0===m?{}:m,f=e.valProps,p=void 0===f?{}:f;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}},h),{},{children:t})),(0,o.jsx)("label",(0,i.Z)((0,i.Z)({style:{marginRight:5,fontWeight:500}},p),{},{children:r}))]}))}},57647:function(e,n,t){var i=t(18489),a=t(23430),o=t(50390),s=t(56805),r=t(49044),l=t(97227),c=t(74564),d=t(669),u=t(4285),m=t(88669),h=t(86509),f=t(13512),p=t(62559),x={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,b=e.routes,g=e.isRouteTabs,j=o.useState(h),v=(0,a.Z)(j,2),Z=v[0],y=v[1],C=(0,m.Z)(),k=(0,f.Z)(C.breakpoints.down("md")),S=[],w=[];return n?(n.forEach((function(e){S.push(e.tabConfig),w.push(e.content)})),(0,p.jsx)(l.ZP,{value:"".concat(Z),children:(0,p.jsxs)(s.Z,{className:t.tabsContainer,children:[(0,p.jsx)(s.Z,{className:t.tabsHeaderContainer,children:(0,p.jsx)(c.Z,{onChange:function(e,n){y(n)},orientation:k?"horizontal":"vertical",variant:k?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:S.map((function(e,n){return e?(0,p.jsx)(r.Z,(0,i.Z)((0,i.Z)({className:t.tabHeader,value:"".concat(n),style:x},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,p.jsxs)(s.Z,{className:t.tabContentContainer,children:[g?null:w.map((function(e,n){return(0,p.jsx)(d.Z,{classes:(0,i.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),g?(0,p.jsx)("div",{className:t.tabPanel,children:b}):null]})]})})):null}))}}]); +//# sourceMappingURL=8967.ec9d9b6b.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/8967.ec9d9b6b.chunk.js.map b/portal-ui/build/static/js/8967.ec9d9b6b.chunk.js.map new file mode 100644 index 000000000..2f239ba74 --- /dev/null +++ b/portal-ui/build/static/js/8967.ec9d9b6b.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/8967.ec9d9b6b.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Common/FormComponents/DateSelector/utils.ts","screens/Console/Common/FormComponents/DateSelector/DateSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetRetention.tsx","screens/Console/ObjectBrowser/BrowserBreadcrumbs.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/AddTagModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/DeleteTagModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetLegalHoldModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ObjectTags.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ObjectDetails.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/IconWithLabel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx","screens/Console/Buckets/ListBuckets/UploadFilesButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DetailsListPanel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectActionButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx","screens/Console/Buckets/BucketDetails/BrowserHandler.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/LabelWithIcon.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ObjectMetaData.tsx","screens/Console/Common/FormComponents/DaysSelector/DaysSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ShareFile.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileContent.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileModal.tsx","screens/Console/Buckets/ListBuckets/Objects/utils.ts","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/ScreenTitle/ScreenTitle.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/UsageBarWrapper/LabelValuePair.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const months = [\n { value: \"01\", label: \"January\" },\n { value: \"02\", label: \"February\" },\n { value: \"03\", label: \"March\" },\n { value: \"04\", label: \"April\" },\n { value: \"05\", label: \"May\" },\n { value: \"06\", label: \"June\" },\n { value: \"07\", label: \"July\" },\n { value: \"08\", label: \"August\" },\n { value: \"09\", label: \"September\" },\n { value: \"10\", label: \"October\" },\n { value: \"11\", label: \"November\" },\n { value: \"12\", label: \"December\" },\n];\n\nexport const days = Array.from(Array(31), (_, num) => num + 1);\n\nconst currentYear = new Date().getFullYear();\n\nexport const years = Array.from(\n Array(25),\n (_, numYear) => numYear + currentYear\n);\n\nexport const validDate = (year: string, month: string, day: string): any[] => {\n const currentDate = Date.parse(`${year}-${month}-${day}`);\n\n if (isNaN(currentDate)) {\n return [false, \"\"];\n }\n\n const parsedMonth = parseInt(month);\n const parsedDay = parseInt(day);\n\n const monthForString = parsedMonth < 10 ? `0${parsedMonth}` : parsedMonth;\n const dayForString = parsedDay < 10 ? `0${parsedDay}` : parsedDay;\n\n const parsedDate = new Date(currentDate).toISOString().split(\"T\")[0];\n const dateString = `${year}-${monthForString}-${dayForString}`;\n\n return [parsedDate === dateString, dateString];\n};\n\n// twoDigitDate gets a two digit string number used for months or days\n// returns \"NaN\" if number is NaN\nexport const twoDigitDate = (num: number): string => {\n return num < 10 ? `0${num}` : `${num}`;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, {\n useState,\n forwardRef,\n useImperativeHandle,\n useEffect,\n} from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport { SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport InputLabel from \"@mui/material/InputLabel\";\nimport Tooltip from \"@mui/material/Tooltip\";\nimport FormControl from \"@mui/material/FormControl\";\nimport Select from \"@mui/material/Select\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport InputBase from \"@mui/material/InputBase\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport FormSwitchWrapper from \"../FormSwitchWrapper/FormSwitchWrapper\";\nimport { days, months, validDate, years } from \"./utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n dateInput: {\n \"&:not(:last-child)\": {\n marginRight: 22,\n },\n },\n ...fieldBasic,\n ...tooltipHelper,\n labelContainer: {\n flex: 1,\n },\n fieldContainer: {\n ...fieldBasic.fieldContainer,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n paddingBottom: 10,\n marginTop: 11,\n marginBottom: 6,\n },\n fieldContainerBorder: {\n borderBottom: \"#9c9c9c 1px solid\",\n marginBottom: 20,\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n \"& .MuiSelect-icon\": {\n color: \"#000\",\n \"&.Mui-disabled\": {\n color: \"#9c9c9c\",\n },\n },\n },\n input: {\n borderBottom: 0,\n fontSize: 12,\n },\n })\n)(InputBase);\n\ninterface IDateSelectorProps {\n classes: any;\n id: string;\n label: string;\n disableOptions?: boolean;\n addSwitch?: boolean;\n tooltip?: string;\n borderBottom?: boolean;\n value?: string;\n onDateChange: (date: string, isValid: boolean) => any;\n}\n\nconst DateSelector = forwardRef(\n (\n {\n classes,\n id,\n label,\n disableOptions = false,\n addSwitch = false,\n tooltip = \"\",\n borderBottom = false,\n onDateChange,\n value = \"\",\n }: IDateSelectorProps,\n ref: any\n ) => {\n useImperativeHandle(ref, () => ({ resetDate }));\n\n const [dateEnabled, setDateEnabled] = useState(false);\n const [month, setMonth] = useState(\"\");\n const [day, setDay] = useState(\"\");\n const [year, setYear] = useState(\"\");\n\n useEffect(() => {\n // verify if there is a current value\n // assume is in the format \"2021-12-30\"\n if (value !== \"\") {\n const valueSplit = value.split(\"-\");\n setYear(valueSplit[0]);\n setMonth(valueSplit[1]);\n // Turn to single digit to be displayed on dropdown buttons\n setDay(`${parseInt(valueSplit[2])}`);\n }\n }, [value]);\n\n useEffect(() => {\n const [isValid, dateString] = validDate(year, month, day);\n onDateChange(dateString, isValid);\n }, [month, day, year, onDateChange]);\n\n const resetDate = () => {\n setMonth(\"\");\n setDay(\"\");\n setYear(\"\");\n };\n\n const isDateDisabled = () => {\n if (disableOptions) {\n return disableOptions;\n } else if (addSwitch) {\n return !dateEnabled;\n } else {\n return false;\n }\n };\n\n const onMonthChange = (e: SelectChangeEvent) => {\n setMonth(e.target.value as string);\n };\n\n const onDayChange = (e: SelectChangeEvent) => {\n setDay(e.target.value as string);\n };\n\n const onYearChange = (e: SelectChangeEvent) => {\n setYear(e.target.value as string);\n };\n\n return (\n \n
\n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n {addSwitch && (\n {\n setDateEnabled(e.target.checked);\n if (!e.target.checked) {\n onDateChange(\"\", true);\n }\n }}\n switchOnly\n />\n )}\n
\n
\n
\n \n }\n >\n \n {\"\"}\n \n {months.map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n }\n >\n \n {\"\"}\n \n {days.map((dayNumber) => (\n \n {dayNumber}\n \n ))}\n \n \n \n }\n >\n \n {\"\"}\n \n {years.map((year) => (\n \n {year}\n \n ))}\n \n \n
\n \n );\n }\n);\n\nexport default withStyles(styles)(DateSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"./types\";\nimport { setModalErrorSnackMessage } from \"../../../../../../actions\";\nimport { twoDigitDate } from \"../../../../Common/FormComponents/DateSelector/utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport RadioGroupSelector from \"../../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport DateSelector from \"../../../../Common/FormComponents/DateSelector/DateSelector\";\nimport api from \"../../../../../../common/api\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n dateSelector: {\n \"& div\": {\n borderBottom: 0,\n marginBottom: 0,\n\n \"& div:nth-child(2)\": {\n border: \"1px solid #EAEAEA\",\n paddingLeft: 5,\n\n \"& div\": {\n border: 0,\n },\n },\n },\n },\n });\n\ninterface ISetRetentionProps {\n classes: any;\n open: boolean;\n closeModalAndRefresh: (updateInfo: boolean) => void;\n objectName: string;\n bucketName: string;\n objectInfo: IFileInfo;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\ninterface IRefObject {\n resetDate: () => void;\n}\n\nconst SetRetention = ({\n classes,\n open,\n closeModalAndRefresh,\n objectName,\n objectInfo,\n bucketName,\n setModalErrorSnackMessage,\n}: ISetRetentionProps) => {\n const [statusEnabled, setStatusEnabled] = useState(true);\n const [type, setType] = useState(\"\");\n const [date, setDate] = useState(\"\");\n const [isDateValid, setIsDateValid] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const [alreadyConfigured, setAlreadyConfigured] = useState(false);\n\n useEffect(() => {\n if (objectInfo.retention_mode) {\n setType(objectInfo.retention_mode.toLowerCase());\n setAlreadyConfigured(true);\n }\n // get retention_until_date if defined\n if (objectInfo.retention_until_date) {\n const valueDate = new Date(objectInfo.retention_until_date);\n if (valueDate.toString() !== \"Invalid Date\") {\n const year = valueDate.getFullYear();\n const month = twoDigitDate(valueDate.getMonth() + 1);\n const day = valueDate.getDate();\n if (!isNaN(day) && month !== \"NaN\" && !isNaN(year)) {\n setDate(`${year}-${month}-${day}`);\n }\n }\n setAlreadyConfigured(true);\n }\n }, [objectInfo]);\n\n const dateElement = useRef(null);\n\n const dateFieldDisabled = () => {\n return !(statusEnabled && (type === \"governance\" || type === \"compliance\"));\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n const resetForm = () => {\n setStatusEnabled(false);\n setType(\"\");\n if (dateElement.current) {\n dateElement.current.resetDate();\n }\n };\n\n const addRetention = (\n selectedObject: string,\n versionId: string | null,\n expireDate: string\n ) => {\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/retention?prefix=${encodeFileName(\n selectedObject\n )}&version_id=${versionId}`,\n {\n expires: expireDate,\n mode: type,\n }\n )\n .then((res: any) => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSaving(false);\n });\n };\n\n const disableRetention = (\n selectedObject: string,\n versionId: string | null\n ) => {\n api\n .invoke(\n \"DELETE\",\n `/api/v1/buckets/${bucketName}/objects/retention?prefix=${encodeFileName(\n selectedObject\n )}&version_id=${versionId}`\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSaving(false);\n });\n };\n\n const saveNewRetentionPolicy = () => {\n setIsSaving(true);\n const selectedObject = objectInfo.name;\n const versionId = objectInfo.version_id;\n\n const expireDate =\n !statusEnabled && type === \"governance\" ? \"\" : `${date}T23:59:59Z`;\n\n if (!statusEnabled && type === \"governance\") {\n disableRetention(selectedObject, versionId);\n\n return;\n }\n\n addRetention(selectedObject, versionId, expireDate);\n };\n\n const showSwitcher =\n alreadyConfigured && (type === \"governance\" || type === \"\");\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n
\n Selected Object: {objectName}\n
\n ) => {\n onSubmit(e);\n }}\n >\n {showSwitcher && (\n \n ) => {\n setStatusEnabled(!statusEnabled);\n }}\n label={\"Status\"}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n />\n \n )}\n \n {\n setType(e.target.value);\n }}\n selectorOptions={[\n { label: \"Governance\", value: \"governance\" },\n { label: \"Compliance\", value: \"compliance\" },\n ]}\n />\n \n \n {\n setIsDateValid(isValid);\n if (isValid) {\n setDate(date);\n }\n }}\n />\n \n \n \n Reset\n \n \n Save\n \n \n \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(SetRetention));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport Moment from \"react-moment\";\nimport { connect } from \"react-redux\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { ObjectBrowserState } from \"./reducers\";\nimport { objectBrowserCommon } from \"../Common/FormComponents/common/styleLibrary\";\nimport { Link } from \"react-router-dom\";\nimport { encodeFileName } from \"../../../common/utils\";\n\ninterface ObjectBrowserReducer {\n objectBrowser: ObjectBrowserState;\n}\n\ninterface IObjectBrowser {\n classes: any;\n bucketName: string;\n internalPaths: string;\n rewindEnabled?: boolean;\n rewindDate?: any;\n fullSizeBreadcrumbs?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...objectBrowserCommon,\n });\n\nconst BrowserBreadcrumbs = ({\n classes,\n bucketName,\n internalPaths,\n rewindEnabled,\n rewindDate,\n fullSizeBreadcrumbs,\n}: IObjectBrowser) => {\n let paths = internalPaths;\n\n if (internalPaths !== \"\") {\n paths = `/${internalPaths}`;\n }\n\n const splitPaths = paths.split(\"/\").filter((path) => path !== \"\");\n const listBreadcrumbs = splitPaths.map(\n (objectItem: string, index: number) => {\n const subSplit = splitPaths.slice(0, index + 1).join(\"/\");\n const route = `/buckets/${bucketName}/browse/${\n subSplit ? `${encodeFileName(subSplit)}` : ``\n }`;\n return (\n \n {objectItem}\n {index < splitPaths.length - 1 && / }\n \n );\n }\n );\n\n const title = false;\n return (\n \n {title && (\n \n
\n {splitPaths && splitPaths.length > 0\n ? splitPaths[splitPaths.length - 1]\n : \"\"}\n {rewindEnabled && splitPaths.length > 1 && (\n \n  (Rewind:{\" \"}\n )\n \n )}\n
\n
\n )}\n\n \n \n {bucketName}\n {listBreadcrumbs.length > 0 && / }\n \n {listBreadcrumbs}\n \n
\n );\n};\n\nconst mapStateToProps = ({ objectBrowser }: ObjectBrowserReducer) => ({\n rewindEnabled: get(objectBrowser, \"rewind.rewindEnabled\", false),\n rewindDate: get(objectBrowser, \"rewind.dateToRewind\", null),\n});\n\nconst connector = connect(mapStateToProps, null);\n\nexport default withStyles(styles)(connector(BrowserBreadcrumbs));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { decodeFileName } from \"../../../../../../common/utils\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ConfirmDeleteIcon } from \"../../../../../../icons\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\n\ninterface IDeleteObjectProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n versioning: boolean;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n setErrorSnackMessage,\n versioning,\n}: IDeleteObjectProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n const [deleteVersions, setDeleteVersions] = useState(false);\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n const decodedSelectedObject = decodeFileName(selectedObject);\n const recursive = decodedSelectedObject.endsWith(\"/\");\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/buckets/${selectedBucket}/objects?path=${selectedObject}&recursive=${recursive}&all_versions=${deleteVersions}`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete:{\" \"}\n {decodeFileName(selectedObject)}?
\n {versioning && (\n {\n setDeleteVersions(!deleteVersions);\n }}\n description=\"\"\n />\n )}\n
\n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteObject);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { Button, Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { setModalErrorSnackMessage } from \"../../../../../../actions\";\nimport { AppState } from \"../../../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../../../../common/api\";\nimport { decodeFileName } from \"../../../../../../common/utils\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { AddNewTagIcon } from \"../../../../../../icons\";\n\ninterface ITagModal {\n modalOpen: boolean;\n currentTags: any;\n bucketName: string;\n versionId: string | null;\n onCloseAndUpdate: (refresh: boolean) => void;\n selectedObject: string;\n distributedSetup: boolean;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n pathLabel: {\n marginTop: 0,\n marginBottom: 32,\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\nconst AddTagModal = ({\n modalOpen,\n currentTags,\n selectedObject,\n onCloseAndUpdate,\n bucketName,\n versionId,\n distributedSetup,\n setModalErrorSnackMessage,\n classes,\n}: ITagModal) => {\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 const verID = distributedSetup ? versionId : \"null\";\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/tags?prefix=${selectedObject}&version_id=${verID}`,\n { tags: newTagList }\n )\n .then((res: any) => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSending(false);\n });\n };\n\n return (\n \n {\n onCloseAndUpdate(true);\n }}\n titleIcon={}\n >\n \n
\n Selected Object: {decodeFileName(selectedObject)}\n
\n \n {\n setNewKey(e.target.value);\n }}\n />\n \n \n {\n setNewLabel(e.target.value);\n }}\n />\n \n \n \n Clear\n \n \n Save\n \n \n
\n \n
\n );\n};\n\nconst mapStateToProps = ({ system }: AppState) => ({\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddTagModal));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { setErrorSnackMessage } from \"../../../../../../actions\";\nimport { AppState } from \"../../../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../../../icons\";\n\ninterface IDeleteTagModal {\n deleteOpen: boolean;\n currentTags: any;\n bucketName: string;\n versionId: string | null;\n selectedTag: string[];\n onCloseAndUpdate: (refresh: boolean) => void;\n selectedObject: string;\n distributedSetup: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n classes: any;\n}\n\nconst styles = (theme: Theme) => createStyles({});\n\nconst DeleteTagModal = ({\n deleteOpen,\n currentTags,\n selectedObject,\n selectedTag,\n onCloseAndUpdate,\n bucketName,\n versionId,\n distributedSetup,\n setErrorSnackMessage,\n classes,\n}: IDeleteTagModal) => {\n const [tagKey, tagLabel] = selectedTag;\n\n const onDelSuccess = () => onCloseAndUpdate(true);\n const onDelError = (err: ErrorResponseHandler) => 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 const verID = distributedSetup ? versionId : \"null\";\n\n invokeDeleteApi(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/tags?prefix=${encodeFileName(\n selectedObject\n )}&version_id=${verID}`,\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 from {selectedObject}?\n \n }\n />\n );\n};\n\nconst mapStateToProps = ({ system }: AppState) => ({\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(DeleteTagModal));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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, useEffect } from \"react\";\nimport { connect } 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 Button from \"@mui/material/Button\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../../../actions\";\nimport { IFileInfo } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport api from \"../../../../../../common/api\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\ninterface ISetRetentionProps {\n classes: any;\n open: boolean;\n closeModalAndRefresh: (reload: boolean) => void;\n objectName: string;\n bucketName: string;\n actualInfo: IFileInfo;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst SetLegalHoldModal = ({\n classes,\n open,\n closeModalAndRefresh,\n objectName,\n bucketName,\n actualInfo,\n setModalErrorSnackMessage,\n}: ISetRetentionProps) => {\n const [legalHoldEnabled, setLegalHoldEnabled] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const versionId = actualInfo.version_id;\n\n useEffect(() => {\n const status = get(actualInfo, \"legal_hold_status\", \"OFF\");\n setLegalHoldEnabled(status === \"ON\");\n }, [actualInfo]);\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n setIsSaving(true);\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/legalhold?prefix=${encodeFileName(\n objectName\n )}&version_id=${versionId}`,\n { status: legalHoldEnabled ? \"enabled\" : \"disabled\" }\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSaving(false);\n });\n };\n\n const resetForm = () => {\n setLegalHoldEnabled(false);\n };\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n \n Object: {bucketName}\n \n\n ) => {\n onSubmit(e);\n }}\n >\n \n ) => {\n setLegalHoldEnabled(!legalHoldEnabled);\n }}\n label={\"Legal Hold Status\"}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n tooltip={\n \"To enable this feature you need to enable versioning on the bucket before creation\"\n }\n />\n \n \n \n Clear\n \n \n Save\n \n \n \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(SetLegalHoldModal));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { modalBasic } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { setErrorSnackMessage } from \"../../../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\nimport api from \"../../../../../../common/api\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport RecoverIcon from \"../../../../../../icons/RecoverIcon\";\n\ninterface IRestoreFileVersion {\n classes: any;\n restoreOpen: boolean;\n bucketName: string;\n versionID: string;\n objectPath: string;\n onCloseAndUpdate: (refresh: boolean) => void;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n });\n\nconst RestoreFileVersion = ({\n classes,\n versionID,\n bucketName,\n objectPath,\n restoreOpen,\n onCloseAndUpdate,\n}: IRestoreFileVersion) => {\n const [restoreLoading, setRestoreLoading] = useState(false);\n\n const restoreVersion = () => {\n setRestoreLoading(true);\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/restore?prefix=${encodeFileName(\n objectPath\n )}&version_id=${versionID}`\n )\n .then((res: any) => {\n setRestoreLoading(false);\n onCloseAndUpdate(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setErrorSnackMessage(error);\n setRestoreLoading(false);\n });\n };\n\n return (\n }\n onConfirm={restoreVersion}\n confirmButtonProps={{\n color: \"secondary\",\n variant: \"outlined\",\n disabled: restoreLoading,\n }}\n onClose={() => {\n onCloseAndUpdate(false);\n }}\n confirmationContent={\n \n Are you sure you want to restore
\n {objectPath}
with Version ID:\n
\n {versionID}?\n
\n }\n />\n );\n};\n\nconst mapStateToProps = null;\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(RestoreFileVersion));\n","import React from \"react\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { Box } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport SecureComponent from \"../../../../../../common/SecureComponent/SecureComponent\";\nimport Chip from \"@mui/material/Chip\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport AddIcon from \"@mui/icons-material/Add\";\n\nconst ObjectTags = ({\n tagKeys,\n bucketName,\n onDeleteTag,\n onAddTagClick,\n objectInfo,\n}: {\n tagKeys: any;\n bucketName: string;\n onDeleteTag: (key: string, v: string) => void;\n onAddTagClick: () => void;\n objectInfo: any;\n}) => {\n return (\n \n \n \n \n {tagKeys &&\n tagKeys.map((tagKey: string, index: number) => {\n const tag = get(objectInfo, `tags.${tagKey}`, \"\");\n if (tag !== \"\") {\n return (\n \n }\n onDelete={() => {\n onDeleteTag(tagKey, tag);\n }}\n />\n \n );\n }\n return null;\n })}\n \n\n \n }\n clickable\n size=\"small\"\n label=\"Add tag\"\n color=\"primary\"\n variant=\"outlined\"\n onClick={onAddTagClick}\n />\n \n \n \n \n );\n};\n\nexport default ObjectTags;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 get from \"lodash/get\";\nimport * as reactMoment from \"react-moment\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { Box, CircularProgress, LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport ShareFile from \"./ShareFile\";\nimport {\n actionsTray,\n buttonsStyles,\n containerForHeader,\n hrClass,\n tableStyles,\n spacingUtils,\n textStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"./types\";\nimport { download, extensionPreview } from \"../utils\";\nimport history from \"../../../../../../history\";\nimport api from \"../../../../../../common/api\";\n\nimport TableWrapper, {\n ItemActions,\n} from \"../../../../Common/TableWrapper/TableWrapper\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../../../actions\";\nimport { decodeFileName, encodeFileName } from \"../../../../../../common/utils\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport SetRetention from \"./SetRetention\";\nimport BrowserBreadcrumbs from \"../../../../ObjectBrowser/BrowserBreadcrumbs\";\nimport DeleteObject from \"../ListObjects/DeleteObject\";\nimport AddTagModal from \"./AddTagModal\";\nimport DeleteTagModal from \"./DeleteTagModal\";\nimport SetLegalHoldModal from \"./SetLegalHoldModal\";\nimport ScreenTitle from \"../../../../Common/ScreenTitle/ScreenTitle\";\n\nimport PreviewFileContent from \"../Preview/PreviewFileContent\";\nimport RestoreFileVersion from \"./RestoreFileVersion\";\nimport PageLayout from \"../../../../Common/Layout/PageLayout\";\nimport VerticalTabs from \"../../../../Common/VerticalTabs/VerticalTabs\";\nimport SecureComponent from \"../../../../../../common/SecureComponent/SecureComponent\";\nimport {\n completeObject,\n setNewObject,\n updateProgress,\n} from \"../../../../ObjectBrowser/actions\";\nimport RBIconButton from \"../../../BucketDetails/SummaryItems/RBIconButton\";\nimport SearchBox from \"../../../../Common/SearchBox\";\nimport ObjectTags from \"./ObjectTags\";\nimport { AppState } from \"../../../../../../store\";\nimport { connect } from \"react-redux\";\nimport { withRouter } from \"react-router-dom\";\nimport { withStyles } from \"@mui/styles\";\nimport { DisabledIcon } from \"../../../../../../icons\";\nimport LabelWithIcon from \"../../../BucketDetails/SummaryItems/LabelWithIcon\";\n\nconst RecoverIcon = React.lazy(\n () => import(\"../../../../../../icons/RecoverIcon\")\n);\nconst ShareIcon = React.lazy(() => import(\"../../../../../../icons/ShareIcon\"));\nconst DownloadIcon = React.lazy(\n () => import(\"../../../../../../icons/DownloadIcon\")\n);\nconst DeleteIcon = React.lazy(\n () => import(\"../../../../../../icons/DeleteIcon\")\n);\n\nconst ObjectBrowserIcon = React.lazy(\n () => import(\"../../../../../../icons/ObjectBrowserIcon\")\n);\nconst ObjectMetaData = React.lazy(() => import(\"./ObjectMetaData\"));\nconst EditablePropertyItem = React.lazy(\n () => import(\"../../../BucketDetails/SummaryItems/EditablePropertyItem\")\n);\nconst LabelValuePair = React.lazy(\n () => import(\"../../../../Common/UsageBarWrapper/LabelValuePair\")\n);\n\nconst styles = (theme: Theme) =>\n createStyles({\n propertiesIcon: {\n marginLeft: 5,\n \"& .min-icon\": {\n height: 12,\n },\n },\n tag: {\n marginRight: 6,\n fontSize: 10,\n fontWeight: 700,\n \"&.MuiChip-sizeSmall\": {\n height: 18,\n },\n \"& .min-icon\": {\n height: 10,\n width: 10,\n },\n },\n search: {\n marginBottom: 8,\n \"&.MuiFormControl-root\": {\n marginRight: 0,\n },\n },\n capitalizeFirst: {\n textTransform: \"capitalize\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n },\n },\n titleCol: {\n width: \"25%\",\n },\n titleItem: {\n width: \"35%\",\n },\n\n \"@global\": {\n \".progressDetails\": {\n paddingTop: 3,\n display: \"inline-block\",\n position: \"relative\",\n width: 18,\n height: 18,\n },\n \".progressDetails > .MuiCircularProgress-root\": {\n position: \"absolute\",\n left: 0,\n top: 3,\n },\n },\n tabsContainer: {\n border: \"1px solid #eaeaea\",\n borderTop: 0,\n },\n ...hrClass,\n ...buttonsStyles,\n ...actionsTray,\n ...tableStyles,\n ...spacingUtils,\n ...textStyleUtils,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IObjectDetailsProps {\n classes: any;\n downloadingFiles: string[];\n rewindEnabled: boolean;\n rewindDate: any;\n match: any;\n bucketToRewind: string;\n distributedSetup: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n setSnackBarMessage: typeof setSnackBarMessage;\n setNewObject: typeof setNewObject;\n updateProgress: typeof updateProgress;\n completeObject: typeof completeObject;\n}\n\nconst emptyFile: IFileInfo = {\n is_latest: true,\n last_modified: \"\",\n legal_hold_status: \"\",\n name: \"\",\n retention_mode: \"\",\n retention_until_date: \"\",\n size: \"0\",\n tags: {},\n version_id: null,\n};\n\nconst twoColCssGridLayoutConfig = {\n display: \"grid\",\n gridTemplateColumns: { xs: \"1fr\", sm: \"2fr 1fr\" },\n gridAutoFlow: { xs: \"dense\", sm: \"row\" },\n gap: 2,\n};\nconst ObjectDetails = ({\n classes,\n downloadingFiles,\n distributedSetup,\n setErrorSnackMessage,\n setNewObject,\n updateProgress,\n completeObject,\n match,\n}: IObjectDetailsProps) => {\n const [loadObjectData, setLoadObjectData] = useState(true);\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [retentionModalOpen, setRetentionModalOpen] = useState(false);\n const [tagModalOpen, setTagModalOpen] = useState(false);\n const [deleteTagModalOpen, setDeleteTagModalOpen] = useState(false);\n const [selectedTag, setSelectedTag] = useState([\"\", \"\"]);\n const [legalholdOpen, setLegalholdOpen] = useState(false);\n const [actualInfo, setActualInfo] = useState(null);\n const [objectToShare, setObjectToShare] = useState(null);\n const [versions, setVersions] = useState([]);\n const [filterVersion, setFilterVersion] = useState(\"\");\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [restoreVersionOpen, setRestoreVersionOpen] = useState(false);\n const [restoreVersion, setRestoreVersion] = useState(\"\");\n\n const internalPaths = get(match.params, \"subpaths\", \"\");\n const internalPathsDecoded = decodeFileName(internalPaths) || \"\";\n const bucketName = match.params[\"bucketName\"];\n const allPathData = internalPathsDecoded.split(\"/\");\n const currentItem = allPathData.pop() || \"\";\n\n // calculate object name to display\n let objectNameArray: string[] = [];\n if (actualInfo) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (loadObjectData && internalPaths !== \"\") {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${internalPaths}${\n distributedSetup ? \"&with_versions=true\" : \"\"\n }`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n if (distributedSetup) {\n setActualInfo(\n result.find((el: IFileInfo) => el.is_latest) || emptyFile\n );\n setVersions(result);\n } else {\n setActualInfo(result[0]);\n setVersions([]);\n }\n\n setLoadObjectData(false);\n })\n .catch((error: ErrorResponseHandler) => {\n setErrorSnackMessage(error);\n setLoadObjectData(false);\n });\n }\n }, [\n loadObjectData,\n bucketName,\n internalPaths,\n setErrorSnackMessage,\n distributedSetup,\n ]);\n\n let tagKeys: string[] = [];\n\n if (actualInfo && actualInfo.tags) {\n tagKeys = Object.keys(actualInfo.tags);\n }\n\n const openRetentionModal = () => {\n setRetentionModalOpen(true);\n };\n\n const closeRetentionModal = (updateInfo: boolean) => {\n setRetentionModalOpen(false);\n if (updateInfo) {\n setLoadObjectData(true);\n }\n };\n\n const shareObject = () => {\n setShareFileModalOpen(true);\n };\n\n const closeShareModal = () => {\n setObjectToShare(null);\n setShareFileModalOpen(false);\n };\n\n const deleteTag = (tagKey: string, tagLabel: string) => {\n setSelectedTag([tagKey, tagLabel]);\n setDeleteTagModalOpen(true);\n };\n\n const downloadObject = (object: IFileInfo) => {\n const identityDownload = encodeFileName(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`\n );\n\n setNewObject({\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n });\n\n download(\n bucketName,\n internalPaths,\n object.version_id,\n parseInt(object.size || \"0\"),\n (progress) => {\n updateProgress(identityDownload, progress);\n },\n () => {\n completeObject(identityDownload);\n }\n );\n };\n\n const tableActions: ItemActions[] = [\n {\n label: \"Share\",\n type: \"share\",\n onClick: (item: any) => {\n setObjectToShare(item);\n shareObject();\n },\n sendOnlyId: false,\n disableButtonFunction: (item: string) => {\n const element = versions.find((elm) => elm.version_id === item);\n if (element && element.is_delete_marker) {\n return true;\n }\n return false;\n },\n },\n {\n label: \"Download\",\n type: \"download\",\n onClick: (item: IFileInfo) => {\n downloadObject(item);\n },\n disableButtonFunction: (item: string) => {\n const element = versions.find((elm) => elm.version_id === item);\n if (element && element.is_delete_marker) {\n return true;\n }\n return false;\n },\n },\n {\n label: \"Restore\",\n type: ,\n onClick: (item: IFileInfo) => {\n setRestoreVersion(item.version_id || \"\");\n setRestoreVersionOpen(true);\n },\n disableButtonFunction: (item: string) => {\n const element = versions.find((elm) => elm.version_id === item);\n return (element && element.is_delete_marker) || false;\n },\n },\n ];\n\n const filteredRecords = versions.filter((version) => {\n if (version.version_id) {\n return version.version_id.includes(filterVersion);\n }\n return false;\n });\n\n const displayParsedDate = (date: string) => {\n return {date};\n };\n\n const closeDeleteModal = (redirectBack: boolean) => {\n setDeleteOpen(false);\n\n if (redirectBack) {\n const newPath = allPathData.join(\"/\");\n history.push(\n `/buckets/${bucketName}/browse${\n newPath === \"\" ? \"\" : `/${encodeFileName(newPath)}`\n }`\n );\n }\n };\n\n const closeAddTagModal = (reloadObjectData: boolean) => {\n setTagModalOpen(false);\n if (reloadObjectData) {\n setLoadObjectData(true);\n }\n };\n\n const closeLegalholdModal = (reload: boolean) => {\n setLegalholdOpen(false);\n if (reload) {\n setLoadObjectData(true);\n }\n };\n\n const closeDeleteTagModal = (reloadObjectData: boolean) => {\n setDeleteTagModalOpen(false);\n if (reloadObjectData) {\n setLoadObjectData(true);\n }\n };\n\n const closeRestoreModal = (reloadObjectData: boolean) => {\n setRestoreVersionOpen(false);\n setRestoreVersion(\"\");\n\n if (reloadObjectData) {\n setLoadObjectData(true);\n }\n };\n\n return (\n \n {shareFileModalOpen && actualInfo && (\n \n )}\n {retentionModalOpen && actualInfo && (\n \n )}\n {deleteOpen && (\n \n )}\n {tagModalOpen && actualInfo && (\n \n )}\n {deleteTagModalOpen && actualInfo && (\n \n )}\n {legalholdOpen && actualInfo && (\n \n )}\n {restoreVersionOpen && actualInfo && (\n \n )}\n\n \n {!actualInfo && (\n \n \n \n )}\n\n {actualInfo && (\n \n \n \n \n \n }\n title={\n objectNameArray.length > 0\n ? objectNameArray[objectNameArray.length - 1]\n : actualInfo.name\n }\n subTitle={\n \n \n \n }\n actions={\n \n \n {\n setDeleteOpen(true);\n }}\n text={\"\"}\n icon={}\n color=\"secondary\"\n disabled={actualInfo.is_delete_marker}\n variant={\"outlined\"}\n />\n \n\n {\n shareObject();\n }}\n text={\"\"}\n icon={}\n color=\"primary\"\n disabled={actualInfo.is_delete_marker}\n variant={\"outlined\"}\n />\n\n {downloadingFiles.includes(\n `${bucketName}/${actualInfo.name}`\n ) ? (\n
\n \n
\n ) : (\n }\n color=\"primary\"\n onClick={() => {\n downloadObject(actualInfo);\n }}\n disabled={actualInfo.is_delete_marker}\n variant={\"outlined\"}\n />\n )}\n
\n }\n />\n \n \n {{\n tabConfig: {\n label: \"Details\",\n },\n content: (\n \n
\n

Details

\n
\n
\n\n \n \n \n {\n setLegalholdOpen(true);\n }}\n isLoading={false}\n />\n ) : (\n }\n label={\n \n }\n />\n }\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 setTagModalOpen(true);\n }}\n />\n }\n />\n \n\n {actualInfo ? (\n \n ) : null}\n
\n ),\n }}\n {{\n tabConfig: {\n label: \"Versions\",\n disabled: !(\n actualInfo.version_id && actualInfo.version_id !== \"null\"\n ),\n },\n content: (\n \n
\n

Versions

\n
\n
\n \n {actualInfo.version_id &&\n actualInfo.version_id !== \"null\" && (\n \n )}\n \n \n {actualInfo.version_id &&\n actualInfo.version_id !== \"null\" && (\n {\n const versOrd =\n versions.length - versions.indexOf(r);\n return `v${versOrd}`;\n },\n elementKey: \"version_id\",\n },\n { label: \"Version ID\", elementKey: \"version_id\" },\n {\n label: \"Last Modified\",\n elementKey: \"last_modified\",\n renderFunction: displayParsedDate,\n },\n {\n label: \"Deleted\",\n width: 60,\n contentTextAlign: \"center\",\n renderFullObject: true,\n elementKey: \"is_delete_marker\",\n renderFunction: (r) => {\n const versOrd = r.is_delete_marker\n ? \"Yes\"\n : \"No\";\n return `${versOrd}`;\n },\n },\n ]}\n isLoading={false}\n entityName=\"Versions\"\n idField=\"version_id\"\n records={filteredRecords}\n textSelectable\n />\n )}\n \n
\n ),\n }}\n {{\n tabConfig: {\n label: \"Preview\",\n disabled: extensionPreview(currentItem) === \"none\",\n },\n content: (\n \n {actualInfo && (\n \n )}\n \n ),\n }}\n \n \n )}\n
\n
\n );\n};\n\nconst mapStateToProps = ({ objectBrowser, system }: AppState) => ({\n downloadingFiles: get(objectBrowser, \"downloadingFiles\", []),\n rewindEnabled: get(objectBrowser, \"rewind.rewindEnabled\", false),\n rewindDate: get(objectBrowser, \"rewind.dateToRewind\", null),\n bucketToRewind: get(objectBrowser, \"rewind.bucketToRewind\", \"\"),\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n setSnackBarMessage,\n setNewObject,\n updateProgress,\n completeObject,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withRouter(connector(withStyles(styles)(ObjectDetails)));\n","import React from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n fileName: {\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n marginRight: 4,\n },\n },\n fileNameText: {\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n },\n });\n\nconst IconWithLabel = (props: {\n classes: any;\n icon: JSX.Element;\n strings: string[];\n}) => {\n return (\n
\n {props.icon}\n \n {props.strings[props.strings.length - 1]}\n \n
\n );\n};\n\nexport default withStyles(styles)(IconWithLabel);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\nimport ObjectBrowserIcon from \"../../../../../../icons/ObjectBrowserIcon\";\nimport ObjectBrowserFolderIcon from \"../../../../../../icons/ObjectBrowserFolderIcon\";\nimport IconWithLabel from \"./IconWithLabel\";\n\nconst FileBookIcon = React.lazy(\n () => import(\"../../../../../../icons/FileBookIcon\")\n);\nconst FileCodeIcon = React.lazy(\n () => import(\"../../../../../../icons/FileCodeIcon\")\n);\nconst FileConfigIcon = React.lazy(\n () => import(\"../../../../../../icons/FileConfigIcon\")\n);\nconst FileDbIcon = React.lazy(\n () => import(\"../../../../../../icons/FileDbIcon\")\n);\nconst FileFontIcon = React.lazy(\n () => import(\"../../../../../../icons/FileFontIcon\")\n);\nconst FileImageIcon = React.lazy(\n () => import(\"../../../../../../icons/FileImageIcon\")\n);\nconst FileLockIcon = React.lazy(\n () => import(\"../../../../../../icons/FileLockIcon\")\n);\nconst FileMissingIcon = React.lazy(\n () => import(\"../../../../../../icons/FileMissingIcon\")\n);\nconst FileMusicIcon = React.lazy(\n () => import(\"../../../../../../icons/FileMusicIcon\")\n);\nconst FilePdfIcon = React.lazy(\n () => import(\"../../../../../../icons/FilePdfIcon\")\n);\nconst FilePptIcon = React.lazy(\n () => import(\"../../../../../../icons/FilePptIcon\")\n);\nconst FileTxtIcon = React.lazy(\n () => import(\"../../../../../../icons/FileTxtIcon\")\n);\nconst FileVideoIcon = React.lazy(\n () => import(\"../../../../../../icons/FileVideoIcon\")\n);\nconst FileXlsIcon = React.lazy(\n () => import(\"../../../../../../icons/FileXlsIcon\")\n);\nconst FileZipIcon = React.lazy(\n () => import(\"../../../../../../icons/FileZipIcon\")\n);\n\nexport const displayName = (element: string) => {\n let elementString = element;\n let icon = ;\n // Element is a folder\n if (element.endsWith(\"/\")) {\n icon = ;\n elementString = element.substr(0, element.length - 1);\n }\n\n interface IExtToIcon {\n icon: any;\n extensions: string[];\n }\n\n const extensionToIcon: IExtToIcon[] = [\n {\n icon: ,\n extensions: [\"mp4\", \"mov\", \"avi\", \"mpeg\", \"mpg\"],\n },\n {\n icon: ,\n extensions: [\"mp3\", \"m4a\", \"aac\"],\n },\n {\n icon: ,\n extensions: [\"pdf\"],\n },\n {\n icon: ,\n extensions: [\"ppt\", \"pptx\"],\n },\n {\n icon: ,\n extensions: [\"xls\", \"xlsx\"],\n },\n {\n icon: ,\n extensions: [\"cer\", \"crt\", \"pem\"],\n },\n {\n icon: ,\n extensions: [\"html\", \"xml\", \"css\", \"py\", \"go\", \"php\", \"cpp\", \"h\", \"java\"],\n },\n {\n icon: ,\n extensions: [\"cfg\", \"yaml\"],\n },\n {\n icon: ,\n extensions: [\"sql\"],\n },\n {\n icon: ,\n extensions: [\"ttf\", \"otf\"],\n },\n {\n icon: ,\n extensions: [\"txt\"],\n },\n {\n icon: ,\n extensions: [\"zip\", \"rar\", \"tar\", \"gz\"],\n },\n {\n icon: ,\n extensions: [\"epub\", \"mobi\", \"azw\", \"azw3\"],\n },\n {\n icon: ,\n extensions: [\"jpeg\", \"jpg\", \"gif\", \"tiff\", \"png\", \"heic\", \"dng\"],\n },\n ];\n const lowercaseElement = element.toLowerCase();\n for (const etc of extensionToIcon) {\n for (const ext of etc.extensions) {\n if (lowercaseElement.endsWith(`.${ext}`)) {\n icon = etc.icon;\n }\n }\n }\n\n if (!element.endsWith(\"/\") && element.indexOf(\".\") < 0) {\n icon = ;\n }\n\n const splitItem = elementString.split(\"/\");\n\n return ;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Menu, MenuItem } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ListItemText from \"@mui/material/ListItemText\";\nimport ListItemIcon from \"@mui/material/ListItemIcon\";\nimport { UploadFolderIcon, UploadIcon } from \"../../../../icons\";\nimport RBIconButton from \"../BucketDetails/SummaryItems/RBIconButton\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport SecureComponent, {\n hasPermission,\n} from \"../../../../common/SecureComponent/SecureComponent\";\n\ninterface IUploadFilesButton {\n uploadPath: string;\n bucketName: string;\n forceDisable?: boolean;\n uploadFileFunction: (closeFunction: () => void) => void;\n uploadFolderFunction: (closeFunction: () => void) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n listUploadIcons: {\n height: 20,\n \"& .min-icon\": {\n width: 18,\n fill: \"rgba(0,0,0,0.87)\",\n },\n },\n });\n\nconst UploadFilesButton = ({\n uploadPath,\n bucketName,\n forceDisable = false,\n uploadFileFunction,\n uploadFolderFunction,\n classes,\n}: IUploadFilesButton) => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const openUploadMenu = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleCloseUpload = () => {\n setAnchorEl(null);\n };\n\n const uploadObjectAllowed = hasPermission(uploadPath, [\n IAM_SCOPES.S3_PUT_OBJECT,\n ]);\n const uploadFolderAllowed = hasPermission(\n bucketName,\n [IAM_SCOPES.S3_PUT_OBJECT],\n false,\n true\n );\n\n const uploadEnabled: boolean = uploadObjectAllowed || uploadFolderAllowed;\n\n return (\n \n }\n color=\"primary\"\n variant={\"contained\"}\n disabled={forceDisable || !uploadEnabled}\n />\n {\n handleCloseUpload();\n }}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"center\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"center\",\n }}\n >\n \n {\n uploadFileFunction(handleCloseUpload);\n }}\n disabled={forceDisable}\n >\n \n \n \n Upload File\n \n \n \n {\n uploadFolderFunction(handleCloseUpload);\n }}\n disabled={forceDisable}\n >\n \n \n \n Upload Folder\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(UploadFilesButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, IconButton } from \"@mui/material\";\nimport { ClosePanelIcon } from \"../../../../../../icons\";\n\ninterface IDetailsListPanel {\n classes: any;\n open: boolean;\n closePanel: () => void;\n children: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n detailsList: {\n borderColor: \"#EAEDEE\",\n backgroundColor: \"#fff\",\n borderWidth: 0,\n borderStyle: \"solid\",\n borderRadius: 3,\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n width: 0,\n transitionDuration: \"0.3s\",\n overflowX: \"hidden\",\n overflowY: \"auto\",\n position: \"relative\",\n opacity: 0,\n marginLeft: -1,\n \"&.open\": {\n width: 400,\n borderTopWidth: 1,\n borderBottomWidth: 1,\n borderRightWidth: 1,\n borderLeftWidth: 1,\n opacity: 1,\n },\n },\n closePanel: {\n position: \"absolute\",\n right: 0,\n top: 8,\n \"& .min-icon\": {\n width: 14,\n },\n },\n });\n\nconst DetailsListPanel = ({\n classes,\n open,\n closePanel,\n children,\n}: IDetailsListPanel) => {\n return (\n \n \n \n \n {children}\n \n );\n};\n\nexport default withStyles(styles)(DetailsListPanel);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Button } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ntype ObjectActionButtonProps = {\n disabled?: boolean;\n onClick: () => void | any;\n icon: React.ReactNode;\n label: string;\n [x: string]: any;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: \"0 15px\",\n height: 22,\n margin: 0,\n color: \"#5E5E5E\",\n fontWeight: \"normal\",\n fontSize: 14,\n whiteSpace: \"nowrap\",\n width: \"100%\",\n justifyContent: \"flex-start\",\n \"&:hover\": {\n backgroundColor: \"transparent\",\n color: \"#000\",\n },\n \"& .min-icon\": {\n width: 11,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n });\n\nconst ObjectActionButton = ({\n disabled,\n onClick,\n icon,\n label,\n classes,\n ...restProps\n}: ObjectActionButtonProps) => {\n return (\n \n {label}\n \n );\n};\n\nexport default withStyles(styles)(ObjectActionButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Box, LinearProgress } from \"@mui/material\";\nimport { withStyles } from \"@mui/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n actionsTray,\n buttonsStyles,\n spacingUtils,\n textStyleUtils,\n detailsPanel,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"../ObjectDetails/types\";\nimport { download } from \"../utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../../../actions\";\nimport {\n decodeFileName,\n encodeFileName,\n niceBytesInt,\n} from \"../../../../../../common/utils\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport {\n completeObject,\n setNewObject,\n updateProgress,\n} from \"../../../../ObjectBrowser/actions\";\nimport { AppState } from \"../../../../../../store\";\nimport {\n DisabledIcon,\n NextArrowIcon,\n PreviewIcon,\n} from \"../../../../../../icons\";\nimport { ShareIcon, DownloadIcon, DeleteIcon } from \"../../../../../../icons\";\nimport history from \"../../../../../../history\";\nimport api from \"../../../../../../common/api\";\nimport ShareFile from \"../ObjectDetails/ShareFile\";\nimport SetRetention from \"../ObjectDetails/SetRetention\";\nimport DeleteObject from \"../ListObjects/DeleteObject\";\nimport AddTagModal from \"../ObjectDetails/AddTagModal\";\nimport DeleteTagModal from \"../ObjectDetails/DeleteTagModal\";\nimport SetLegalHoldModal from \"../ObjectDetails/SetLegalHoldModal\";\nimport RestoreFileVersion from \"../ObjectDetails/RestoreFileVersion\";\nimport SecureComponent from \"../../../../../../common/SecureComponent/SecureComponent\";\nimport ObjectTags from \"../ObjectDetails/ObjectTags\";\nimport LabelWithIcon from \"../../../BucketDetails/SummaryItems/LabelWithIcon\";\nimport PreviewFileModal from \"../Preview/PreviewFileModal\";\nimport ObjectActionButton from \"./ObjectActionButton\";\nimport ObjectMetaData from \"../ObjectDetails/ObjectMetaData\";\nimport EditablePropertyItem from \"../../../BucketDetails/SummaryItems/EditablePropertyItem\";\nimport LabelValuePair from \"../../../../Common/UsageBarWrapper/LabelValuePair\";\n\nconst styles = () =>\n createStyles({\n tag: {\n marginRight: 6,\n fontSize: 10,\n fontWeight: 700,\n \"&.MuiChip-sizeSmall\": {\n height: 18,\n },\n \"& .min-icon\": {\n height: 10,\n width: 10,\n },\n },\n \"@global\": {\n \".progressDetails\": {\n paddingTop: 3,\n display: \"inline-block\",\n position: \"relative\",\n width: 18,\n height: 18,\n },\n \".progressDetails > .MuiCircularProgress-root\": {\n position: \"absolute\",\n left: 0,\n top: 3,\n },\n },\n ...buttonsStyles,\n ...actionsTray,\n ...spacingUtils,\n ...textStyleUtils,\n ...detailsPanel,\n });\n\ninterface IObjectDetailPanelProps {\n classes: any;\n internalPaths: string;\n bucketName: string;\n rewindEnabled: boolean;\n rewindDate: any;\n bucketToRewind: string;\n distributedSetup: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n setSnackBarMessage: typeof setSnackBarMessage;\n setNewObject: typeof setNewObject;\n updateProgress: typeof updateProgress;\n completeObject: typeof completeObject;\n}\n\nconst emptyFile: IFileInfo = {\n is_latest: true,\n last_modified: \"\",\n legal_hold_status: \"\",\n name: \"\",\n retention_mode: \"\",\n retention_until_date: \"\",\n size: \"0\",\n tags: {},\n version_id: null,\n};\n\nconst ObjectDetailPanel = ({\n classes,\n internalPaths,\n bucketName,\n distributedSetup,\n setErrorSnackMessage,\n setNewObject,\n updateProgress,\n completeObject,\n}: IObjectDetailPanelProps) => {\n const [loadObjectData, setLoadObjectData] = useState(true);\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [retentionModalOpen, setRetentionModalOpen] = useState(false);\n const [tagModalOpen, setTagModalOpen] = useState(false);\n const [deleteTagModalOpen, setDeleteTagModalOpen] = useState(false);\n const [selectedTag, setSelectedTag] = useState([\"\", \"\"]);\n const [legalholdOpen, setLegalholdOpen] = useState(false);\n const [actualInfo, setActualInfo] = useState(null);\n const [objectToShare, setObjectToShare] = useState(null);\n const [versions, setVersions] = useState([]);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [restoreVersionOpen, setRestoreVersionOpen] = useState(false);\n const [previewOpen, setPreviewOpen] = useState(false);\n const [restoreVersion, setRestoreVersion] = useState(\"\");\n const [totalVersionsSize, setTotalVersionsSize] = useState(0);\n\n const internalPathsDecoded = decodeFileName(internalPaths) || \"\";\n const allPathData = internalPathsDecoded.split(\"/\");\n const currentItem = allPathData.pop() || \"\";\n\n // calculate object name to display\n let objectNameArray: string[] = [];\n if (actualInfo) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (bucketName !== \"\" && internalPaths) {\n setLoadObjectData(true);\n }\n }, [internalPaths, bucketName]);\n\n useEffect(() => {\n if (loadObjectData && internalPaths !== \"\") {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${internalPaths}${\n distributedSetup ? \"&with_versions=true\" : \"\"\n }`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n if (distributedSetup) {\n setActualInfo(\n result.find((el: IFileInfo) => el.is_latest) || emptyFile\n );\n setVersions(result);\n const tVersionSize = result.reduce(\n (acc: number, currValue: IFileInfo) => {\n if (currValue?.size) {\n return acc + currValue.size;\n }\n return acc;\n },\n 0\n );\n\n setTotalVersionsSize(tVersionSize);\n } else {\n setActualInfo(result[0]);\n setVersions([]);\n }\n\n setLoadObjectData(false);\n })\n .catch((error: ErrorResponseHandler) => {\n setErrorSnackMessage(error);\n setLoadObjectData(false);\n });\n }\n }, [\n loadObjectData,\n bucketName,\n internalPaths,\n setErrorSnackMessage,\n distributedSetup,\n ]);\n\n let tagKeys: string[] = [];\n\n if (actualInfo && actualInfo.tags) {\n tagKeys = Object.keys(actualInfo.tags);\n }\n\n const openRetentionModal = () => {\n setRetentionModalOpen(true);\n };\n\n const closeRetentionModal = (updateInfo: boolean) => {\n setRetentionModalOpen(false);\n if (updateInfo) {\n setLoadObjectData(true);\n }\n };\n\n const shareObject = () => {\n setShareFileModalOpen(true);\n };\n\n const closeShareModal = () => {\n setObjectToShare(null);\n setShareFileModalOpen(false);\n };\n\n const deleteTag = (tagKey: string, tagLabel: string) => {\n setSelectedTag([tagKey, tagLabel]);\n setDeleteTagModalOpen(true);\n };\n\n const downloadObject = (object: IFileInfo) => {\n const identityDownload = encodeFileName(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`\n );\n\n setNewObject({\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n });\n\n download(\n bucketName,\n internalPaths,\n object.version_id,\n parseInt(object.size || \"0\"),\n (progress) => {\n updateProgress(identityDownload, progress);\n },\n () => {\n completeObject(identityDownload);\n }\n );\n };\n\n const closeDeleteModal = (redirectBack: boolean) => {\n setDeleteOpen(false);\n\n if (redirectBack) {\n const newPath = allPathData.join(\"/\");\n history.push(\n `/buckets/${bucketName}/browse${\n newPath === \"\" ? \"\" : `/${encodeFileName(newPath)}`\n }`\n );\n }\n };\n\n const closeAddTagModal = (reloadObjectData: boolean) => {\n setTagModalOpen(false);\n if (reloadObjectData) {\n setLoadObjectData(true);\n }\n };\n\n const closeLegalholdModal = (reload: boolean) => {\n setLegalholdOpen(false);\n if (reload) {\n setLoadObjectData(true);\n }\n };\n\n const closeDeleteTagModal = (reloadObjectData: boolean) => {\n setDeleteTagModalOpen(false);\n if (reloadObjectData) {\n setLoadObjectData(true);\n }\n };\n\n const closeRestoreModal = (reloadObjectData: boolean) => {\n setRestoreVersionOpen(false);\n setRestoreVersion(\"\");\n\n if (reloadObjectData) {\n setLoadObjectData(true);\n }\n };\n\n const closePreviewWindow = () => {\n setPreviewOpen(false);\n };\n\n const openExtraInfo = () => {\n const newPath = `/buckets/${bucketName}/browse${\n internalPaths !== \"\" ? `/${internalPaths}` : ``\n }`;\n\n history.push(newPath);\n };\n\n if (!actualInfo) {\n return null;\n }\n\n return (\n \n {shareFileModalOpen && actualInfo && (\n \n )}\n {retentionModalOpen && actualInfo && (\n \n )}\n {deleteOpen && (\n \n )}\n {tagModalOpen && actualInfo && (\n \n )}\n {deleteTagModalOpen && actualInfo && (\n \n )}\n {legalholdOpen && actualInfo && (\n \n )}\n {restoreVersionOpen && actualInfo && (\n \n )}\n {previewOpen && actualInfo && (\n \n )}\n\n {!actualInfo && (\n \n \n \n )}\n
\n {objectNameArray.length > 0\n ? objectNameArray[objectNameArray.length - 1]\n : actualInfo.name}\n
\n\n
    \n
  • Object Actions:
  • \n
  • \n }\n onClick={() => {\n downloadObject(actualInfo);\n }}\n disabled={actualInfo.is_delete_marker}\n />\n
  • \n
  • \n }\n onClick={() => {\n shareObject();\n }}\n disabled={actualInfo.is_delete_marker}\n />\n
  • \n
  • \n }\n onClick={() => {\n setPreviewOpen(true);\n }}\n disabled={actualInfo.is_delete_marker}\n />\n
  • \n \n
  • \n }\n onClick={() => {\n setDeleteOpen(true);\n }}\n disabled={actualInfo.is_delete_marker}\n />\n
  • \n \n
  • \n }\n onClick={() => {\n openExtraInfo();\n }}\n />\n
  • \n
\n\n
\n

Details

\n
\n \n {\n setTagModalOpen(true);\n }}\n />\n }\n />\n \n \n \n {\n setLegalholdOpen(true);\n }}\n isLoading={false}\n />\n ) : (\n }\n label={\n \n }\n />\n }\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

Object Metadata

\n
\n \n {actualInfo ? (\n \n ) : null}\n \n
\n\n {actualInfo.version_id && actualInfo.version_id !== \"null\" && (\n \n
\n

Versions

\n
\n \n \n Total available versions\n
\n {versions.length}\n
\n \n Versions Stored size:\n
\n {niceBytesInt(totalVersionsSize)}\n
\n
\n
\n )}\n
\n );\n};\n\nconst mapStateToProps = ({ objectBrowser, system }: AppState) => ({\n rewindEnabled: get(objectBrowser, \"rewind.rewindEnabled\", false),\n rewindDate: get(objectBrowser, \"rewind.dateToRewind\", null),\n bucketToRewind: get(objectBrowser, \"rewind.bucketToRewind\", \"\"),\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n setSnackBarMessage,\n setNewObject,\n updateProgress,\n completeObject,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ObjectDetailPanel));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, {\n Fragment,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { connect } from \"react-redux\";\nimport { useDropzone } from \"react-dropzone\";\n\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { withRouter } from \"react-router-dom\";\nimport Grid from \"@mui/material/Grid\";\nimport get from \"lodash/get\";\nimport {\n BucketObject,\n BucketObjectsList,\n RewindObject,\n RewindObjectList,\n} from \"./types\";\nimport api from \"../../../../../../common/api\";\nimport TableWrapper, {\n ItemActions,\n} from \"../../../../Common/TableWrapper/TableWrapper\";\nimport {\n decodeFileName,\n encodeFileName,\n niceBytes,\n niceBytesInt,\n} from \"../../../../../../common/utils\";\n\nimport {\n actionsTray,\n containerForHeader,\n objectBrowserCommon,\n searchField,\n tableStyles,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { Badge, Typography } from \"@mui/material\";\nimport * as reactMoment from \"react-moment\";\nimport BrowserBreadcrumbs from \"../../../../ObjectBrowser/BrowserBreadcrumbs\";\nimport {\n completeObject,\n openList,\n resetRewind,\n setFileModeEnabled,\n setNewObject,\n setSearchObjects,\n updateProgress,\n} from \"../../../../ObjectBrowser/actions\";\nimport { Route } from \"../../../../ObjectBrowser/reducers\";\n\nimport { download, extensionPreview, sortListObjects } from \"../utils\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../../../actions\";\nimport { BucketInfo, BucketVersioning } from \"../../../types\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\n\nimport ScreenTitle from \"../../../../Common/ScreenTitle/ScreenTitle\";\n\nimport { setBucketDetailsLoad, setBucketInfo } from \"../../../actions\";\nimport { AppState } from \"../../../../../../store\";\nimport PageLayout from \"../../../../Common/Layout/PageLayout\";\n\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport SecureComponent, {\n hasPermission,\n} from \"../../../../../../common/SecureComponent/SecureComponent\";\n\nimport withSuspense from \"../../../../Common/Components/withSuspense\";\nimport { displayName } from \"./utils\";\nimport {\n BucketsIcon,\n DownloadIcon,\n PreviewIcon,\n ShareIcon,\n} from \"../../../../../../icons\";\nimport UploadFilesButton from \"../../UploadFilesButton\";\nimport DetailsListPanel from \"./DetailsListPanel\";\nimport ObjectDetailPanel from \"./ObjectDetailPanel\";\n\nconst AddFolderIcon = React.lazy(\n () => import(\"../../../../../../icons/AddFolderIcon\")\n);\nconst HistoryIcon = React.lazy(\n () => import(\"../../../../../../icons/HistoryIcon\")\n);\nconst RefreshIcon = React.lazy(\n () => import(\"../../../../../../icons/RefreshIcon\")\n);\n\nconst DeleteIcon = React.lazy(\n () => import(\"../../../../../../icons/DeleteIcon\")\n);\nconst CreateFolderModal = withSuspense(\n React.lazy(() => import(\"./CreateFolderModal\"))\n);\nconst DeleteMultipleObjects = withSuspense(\n React.lazy(() => import(\"./DeleteMultipleObjects\"))\n);\nconst ShareFile = withSuspense(\n React.lazy(() => import(\"../ObjectDetails/ShareFile\"))\n);\nconst RewindEnable = withSuspense(React.lazy(() => import(\"./RewindEnable\")));\nconst PreviewFileModal = withSuspense(\n React.lazy(() => import(\"../Preview/PreviewFileModal\"))\n);\n\nconst styles = (theme: Theme) =>\n createStyles({\n browsePaper: {\n height: \"calc(100vh - 210px)\",\n \"&.actionsPanelOpen\": {\n height: \"100%\",\n },\n },\n \"@global\": {\n \".rowLine:hover .iconFileElm\": {\n backgroundImage: \"url(/images/ob_file_filled.svg)\",\n },\n \".rowLine:hover .iconFolderElm\": {\n backgroundImage: \"url(/images/ob_folder_filled.svg)\",\n },\n },\n\n badgeOverlap: {\n \"& .MuiBadge-badge\": {\n top: 10,\n right: 1,\n width: 5,\n height: 5,\n minWidth: 5,\n },\n },\n screenTitle: {\n borderBottom: 0,\n paddingTop: 0,\n paddingLeft: 0,\n paddingRight: 0,\n },\n ...tableStyles,\n ...actionsTray,\n ...searchField,\n\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n ...objectBrowserCommon,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst baseDnDStyle = {\n borderWidth: 2,\n borderRadius: 2,\n borderColor: \"#eeeeee\",\n outline: \"none\",\n};\n\nconst activeDnDStyle = {\n borderStyle: \"dashed\",\n backgroundColor: \"#fafafa\",\n borderColor: \"#2196f3\",\n};\n\nconst acceptDnDStyle = {\n borderStyle: \"dashed\",\n backgroundColor: \"#fafafa\",\n borderColor: \"#00e676\",\n};\n\ninterface IListObjectsProps {\n classes: any;\n match: any;\n history: any;\n routesList: Route[];\n downloadingFiles: string[];\n rewindEnabled: boolean;\n rewindDate: any;\n bucketToRewind: string;\n searchObjects: string;\n setSnackBarMessage: typeof setSnackBarMessage;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n resetRewind: typeof resetRewind;\n setFileModeEnabled: typeof setFileModeEnabled;\n loadingBucket: boolean;\n setBucketInfo: typeof setBucketInfo;\n bucketInfo: BucketInfo | null;\n setBucketDetailsLoad: typeof setBucketDetailsLoad;\n setNewObject: typeof setNewObject;\n updateProgress: typeof updateProgress;\n completeObject: typeof completeObject;\n openList: typeof openList;\n setSearchObjects: typeof setSearchObjects;\n}\n\nfunction useInterval(callback: any, delay: number) {\n const savedCallback = useRef(null);\n\n // Remember the latest callback.\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n useEffect(() => {\n function tick() {\n if (savedCallback !== undefined && savedCallback.current) {\n savedCallback.current();\n }\n }\n\n if (delay !== null) {\n let id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n}\n\nconst defLoading = Loading...;\n\nconst ListObjects = ({\n classes,\n match,\n history,\n rewindEnabled,\n rewindDate,\n bucketToRewind,\n setSnackBarMessage,\n setErrorSnackMessage,\n resetRewind,\n setFileModeEnabled,\n setBucketDetailsLoad,\n loadingBucket,\n setBucketInfo,\n bucketInfo,\n setNewObject,\n updateProgress,\n completeObject,\n setSearchObjects,\n searchObjects,\n openList,\n}: IListObjectsProps) => {\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(true);\n const [rewind, setRewind] = useState([]);\n const [loadingRewind, setLoadingRewind] = useState(false);\n const [deleteMultipleOpen, setDeleteMultipleOpen] = useState(false);\n const [createFolderOpen, setCreateFolderOpen] = useState(false);\n const [loadingStartTime, setLoadingStartTime] = useState(0);\n const [loadingMessage, setLoadingMessage] =\n useState(defLoading);\n const [loadingVersioning, setLoadingVersioning] = useState(true);\n const [isVersioned, setIsVersioned] = useState(false);\n const [rewindSelect, setRewindSelect] = useState(false);\n const [selectedObjects, setSelectedObjects] = useState([]);\n const [previewOpen, setPreviewOpen] = useState(false);\n const [selectedPreview, setSelectedPreview] = useState(\n null\n );\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [sortDirection, setSortDirection] = useState<\n \"ASC\" | \"DESC\" | undefined\n >(\"ASC\");\n const [currentSortField, setCurrentSortField] = useState(\"name\");\n const [iniLoad, setIniLoad] = useState(false);\n const [canShareFile, setCanShareFile] = useState(false);\n const [canPreviewFile, setCanPreviewFile] = useState(false);\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [selectedInternalPaths, setSelectedInternalPaths] = useState<\n string | null\n >(null);\n\n const internalPaths = get(match.params, \"subpaths\", \"\");\n const bucketName = match.params[\"bucketName\"];\n\n const fileUpload = useRef(null);\n const folderUpload = useRef(null);\n\n useEffect(() => {\n if (folderUpload.current !== null) {\n folderUpload.current.setAttribute(\"directory\", \"\");\n folderUpload.current.setAttribute(\"webkitdirectory\", \"\");\n }\n }, [folderUpload]);\n\n useEffect(() => {\n if (selectedObjects.length === 1) {\n const objectName = selectedObjects[0];\n\n if (extensionPreview(objectName) !== \"none\") {\n setCanPreviewFile(true);\n } else {\n setCanPreviewFile(false);\n }\n\n if (objectName.endsWith(\"/\")) {\n setCanShareFile(false);\n } else {\n setCanShareFile(true);\n }\n } else {\n setCanShareFile(false);\n setCanPreviewFile(false);\n }\n }, [selectedObjects]);\n\n const displayDeleteObject = hasPermission(bucketName, [\n IAM_SCOPES.S3_DELETE_OBJECT,\n ]);\n\n const displayListObjects = hasPermission(bucketName, [\n IAM_SCOPES.S3_LIST_BUCKET,\n ]);\n\n const updateMessage = () => {\n let timeDelta = Date.now() - loadingStartTime;\n\n if (timeDelta / 1000 >= 6) {\n setLoadingMessage(\n \n \n This operation is taking longer than expected... (\n {Math.ceil(timeDelta / 1000)}s)\n \n \n );\n } else if (timeDelta / 1000 >= 3) {\n setLoadingMessage(\n \n This operation is taking longer than expected...\n \n );\n }\n };\n\n useEffect(() => {\n if (!iniLoad) {\n setBucketDetailsLoad(true);\n setIniLoad(true);\n }\n }, [iniLoad, setBucketDetailsLoad, setIniLoad]);\n\n useInterval(() => {\n // Your custom logic here\n if (loading) {\n updateMessage();\n }\n }, 1000);\n\n useEffect(() => {\n if (loadingVersioning) {\n if (displayListObjects) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/versioning`)\n .then((res: BucketVersioning) => {\n setIsVersioned(res.is_versioned);\n setLoadingVersioning(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingVersioning(false);\n });\n } else {\n setLoadingVersioning(false);\n }\n }\n }, [bucketName, loadingVersioning, setErrorSnackMessage, displayListObjects]);\n\n // Rewind\n useEffect(() => {\n if (rewindEnabled) {\n if (bucketToRewind !== bucketName) {\n resetRewind();\n return;\n }\n\n if (rewindDate) {\n setLoadingRewind(true);\n const rewindParsed = rewindDate.toISOString();\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeFileName(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/rewind/${rewindParsed}${\n pathPrefix ? `?prefix=${encodeFileName(pathPrefix)}` : ``\n }`\n )\n .then((res: RewindObjectList) => {\n setLoadingRewind(false);\n if (res.objects) {\n setRewind(res.objects);\n } else {\n setRewind([]);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingRewind(false);\n setErrorSnackMessage(err);\n });\n }\n }\n }, [\n rewindEnabled,\n rewindDate,\n bucketToRewind,\n bucketName,\n match,\n setErrorSnackMessage,\n resetRewind,\n internalPaths,\n ]);\n\n useEffect(() => {\n setLoading(true);\n setDetailsOpen(false);\n setSearchObjects(\"\");\n }, [internalPaths, setSearchObjects]);\n\n useEffect(() => {\n if (loading) {\n if (displayListObjects) {\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeFileName(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n\n let currentTimestamp = Date.now();\n setLoadingStartTime(currentTimestamp);\n setLoadingMessage(defLoading);\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects${\n pathPrefix ? `?prefix=${encodeFileName(pathPrefix)}` : ``\n }`\n )\n .then((res: BucketObjectsList) => {\n const records: BucketObject[] = res.objects || [];\n const folders: BucketObject[] = [];\n const files: BucketObject[] = [];\n\n records.forEach((record) => {\n // this is a folder\n if (record.name.endsWith(\"/\")) {\n folders.push(record);\n } else {\n // this is a file\n files.push(record);\n }\n });\n const recordsInElement = [...folders, ...files];\n setRecords(recordsInElement);\n // In case no objects were retrieved, We check if item is a file\n if (!res.objects && pathPrefix !== \"\") {\n if (rewindEnabled) {\n const rewindParsed = rewindDate.toISOString();\n\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeFileName(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/rewind/${rewindParsed}${\n pathPrefix ? `?prefix=${encodeFileName(pathPrefix)}` : ``\n }`\n )\n .then((res: RewindObjectList) => {\n //It is a file since it has elements in the object, setting file flag and waiting for component mount\n if (res.objects === null) {\n setFileModeEnabled(true);\n setLoadingRewind(false);\n setLoading(false);\n } else {\n // It is a folder, we remove loader\n setLoadingRewind(false);\n setLoading(false);\n setFileModeEnabled(false);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingRewind(false);\n setLoading(false);\n setErrorSnackMessage(err);\n });\n } else {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects${\n internalPaths ? `?prefix=${internalPaths}` : ``\n }`\n )\n .then((res: BucketObjectsList) => {\n //It is a file since it has elements in the object, setting file flag and waiting for component mount\n if (!res.objects) {\n // It is a folder, we remove loader\n setFileModeEnabled(false);\n setLoading(false);\n } else {\n // This code prevents the program from opening a file when a substring of that file is entered as a new folder.\n // Previously, if there was a file test1.txt and the folder test was created with the same prefix, the program\n // would open test1.txt instead\n let found = false;\n let pathPrefixChopped = pathPrefix.slice(\n 0,\n pathPrefix.length - 1\n );\n for (let i = 0; i < res.objects.length; i++) {\n if (res.objects[i].name === pathPrefixChopped) {\n found = true;\n }\n }\n if (\n (res.objects.length === 1 &&\n res.objects[0].name.endsWith(\"/\")) ||\n !found\n ) {\n setFileModeEnabled(false);\n } else {\n setFileModeEnabled(true);\n }\n\n setLoading(false);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setErrorSnackMessage(err);\n });\n }\n } else {\n setFileModeEnabled(false);\n setLoading(false);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setErrorSnackMessage(err);\n });\n } else {\n setLoadingRewind(false);\n setLoading(false);\n }\n }\n }, [\n loading,\n match,\n setErrorSnackMessage,\n bucketName,\n rewindEnabled,\n rewindDate,\n internalPaths,\n setFileModeEnabled,\n bucketInfo,\n displayListObjects,\n ]);\n\n // bucket info\n useEffect(() => {\n if (loadingBucket) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}`)\n .then((res: BucketInfo) => {\n setBucketDetailsLoad(false);\n setBucketInfo(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setBucketDetailsLoad(false);\n setErrorSnackMessage(err);\n });\n }\n }, [\n bucketName,\n loadingBucket,\n setBucketDetailsLoad,\n setBucketInfo,\n setErrorSnackMessage,\n ]);\n\n const closeDeleteMultipleModalAndRefresh = (refresh: boolean) => {\n setDeleteMultipleOpen(false);\n\n if (refresh) {\n setSnackBarMessage(`Objects deleted successfully.`);\n setSelectedObjects([]);\n setLoading(true);\n }\n };\n\n const closeAddFolderModal = () => {\n setCreateFolderOpen(false);\n };\n\n const handleUploadButton = (e: any) => {\n if (\n e === null ||\n e === undefined ||\n e.target.files === null ||\n e.target.files === undefined\n ) {\n return;\n }\n e.preventDefault();\n var newFiles: File[] = [];\n\n for (var i = 0; i < e.target.files.length; i++) {\n newFiles.push(e.target.files[i]);\n }\n uploadObject(newFiles, \"\");\n };\n\n const displayParsedDate = (object: BucketObject) => {\n if (object.name.endsWith(\"/\")) {\n return \"\";\n }\n return {object.last_modified};\n };\n\n const displayNiceBytes = (object: BucketObject) => {\n if (object.name.endsWith(\"/\")) {\n return \"\";\n }\n return niceBytes(String(object.size));\n };\n\n const displayDeleteFlag = (state: boolean) => {\n return state ? \"Yes\" : \"No\";\n };\n\n const downloadObject = (object: BucketObject | RewindObject) => {\n const identityDownload = encodeFileName(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`\n );\n\n setNewObject({\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n });\n\n download(\n bucketName,\n encodeFileName(object.name),\n object.version_id,\n object.size,\n (progress) => {\n updateProgress(identityDownload, progress);\n },\n () => {\n completeObject(identityDownload);\n }\n );\n };\n\n const openPath = (idElement: string) => {\n if (idElement.endsWith(\"/\")) {\n const newPath = `/buckets/${bucketName}/browse${\n idElement ? `/${encodeFileName(idElement)}` : ``\n }`;\n history.push(newPath);\n return;\n }\n\n setDetailsOpen(true);\n setSelectedInternalPaths(\n `${idElement ? `${encodeFileName(idElement)}` : ``}`\n );\n };\n\n const uploadObject = useCallback(\n (files: File[], folderPath: string): void => {\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeFileName(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n\n const upload = (\n files: File[],\n bucketName: string,\n path: string,\n folderPath: string\n ) => {\n if (files.length > 0) {\n openList();\n let nextFile = files.pop();\n let uploadPromise = (file: File) => {\n return new Promise((resolve, reject) => {\n let uploadUrl = `api/v1/buckets/${bucketName}/objects/upload`;\n const fileName = file.name;\n const blobFile = new Blob([file], { type: file.type });\n\n let encodedPath = \"\";\n const relativeFolderPath =\n get(file, \"webkitRelativePath\", \"\") !== \"\"\n ? get(file, \"webkitRelativePath\", \"\")\n : folderPath;\n\n if (path !== \"\" || relativeFolderPath !== \"\") {\n const finalFolderPath = relativeFolderPath\n .split(\"/\")\n .slice(0, -1)\n .join(\"/\");\n\n encodedPath = encodeFileName(\n `${path}${finalFolderPath}${\n !finalFolderPath.endsWith(\"/\") ? \"/\" : \"\"\n }`\n );\n }\n\n if (encodedPath !== \"\") {\n uploadUrl = `${uploadUrl}?prefix=${encodedPath}`;\n }\n\n const identity = encodeFileName(\n `${bucketName}-${encodedPath}-${new Date().getTime()}-${Math.random()}`\n );\n\n setNewObject({\n bucketName,\n done: false,\n instanceID: identity,\n percentage: 0,\n prefix: `${decodeFileName(encodedPath)}${fileName}`,\n type: \"upload\",\n waitingForFile: false,\n });\n\n let xhr = new XMLHttpRequest();\n xhr.open(\"POST\", uploadUrl, true);\n\n const areMultipleFiles = files.length > 1;\n const errorMessage = `An error occurred while uploading the file${\n areMultipleFiles ? \"s\" : \"\"\n }.`;\n const okMessage = `Object${\n areMultipleFiles ? \"s\" : ``\n } uploaded successfully.`;\n\n xhr.withCredentials = false;\n xhr.onload = function (event) {\n if (\n xhr.status === 401 ||\n xhr.status === 403 ||\n xhr.status === 400 ||\n xhr.status === 500\n ) {\n if (xhr.response) {\n const err = JSON.parse(xhr.response);\n setSnackBarMessage(err.detailedMessage);\n } else {\n setSnackBarMessage(errorMessage);\n }\n }\n if (xhr.status === 413) {\n setSnackBarMessage(\"Error - File size too large\");\n }\n if (xhr.status === 200) {\n completeObject(identity);\n if (files.length === 0) {\n setSnackBarMessage(okMessage);\n }\n }\n resolve(xhr.status);\n if (files.length > 0) {\n let nFile = files.pop();\n if (nFile) {\n return uploadPromise(nFile);\n }\n }\n };\n\n xhr.upload.addEventListener(\"error\", (event) => {\n setSnackBarMessage(errorMessage);\n });\n\n xhr.upload.addEventListener(\"progress\", (event) => {\n const progress = Math.floor((event.loaded * 100) / event.total);\n\n updateProgress(identity, progress);\n });\n\n xhr.onerror = () => {\n setSnackBarMessage(errorMessage);\n reject(errorMessage);\n };\n xhr.onloadend = () => {\n if (files.length === 0) {\n setLoading(true);\n }\n };\n\n const formData = new FormData();\n if (file.size !== undefined) {\n formData.append(file.size.toString(), blobFile, fileName);\n\n xhr.send(formData);\n }\n });\n };\n\n if (nextFile) {\n uploadPromise(nextFile!)\n .then(() => {\n console.info(\"done uploading file\");\n })\n .catch((err) => {\n console.error(\"error uploading file,\", err);\n });\n }\n }\n };\n\n upload(files, bucketName, pathPrefix, folderPath);\n },\n [\n bucketName,\n completeObject,\n internalPaths,\n openList,\n setNewObject,\n setSnackBarMessage,\n updateProgress,\n ]\n );\n\n const onDrop = useCallback(\n (acceptedFiles) => {\n if (acceptedFiles && acceptedFiles.length > 0) {\n let newFolderPath: string = acceptedFiles[0].path;\n uploadObject(acceptedFiles, newFolderPath);\n }\n },\n [uploadObject]\n );\n\n const { getRootProps, getInputProps, isDragActive, isDragAccept } =\n useDropzone({\n noClick: true,\n onDrop,\n });\n\n const dndStyles = useMemo(\n () => ({\n ...baseDnDStyle,\n ...(isDragActive ? activeDnDStyle : {}),\n ...(isDragAccept ? acceptDnDStyle : {}),\n }),\n [isDragActive, isDragAccept]\n );\n\n const openPreview = () => {\n if (selectedObjects.length === 1) {\n let fileObject: BucketObject | undefined;\n\n const findFunction = (currValue: BucketObject | RewindObject) =>\n selectedObjects.includes(currValue.name);\n\n fileObject = filteredRecords.find(findFunction);\n\n if (fileObject) {\n setSelectedPreview(fileObject);\n setPreviewOpen(true);\n }\n }\n };\n\n const openShare = () => {\n if (selectedObjects.length === 1) {\n let fileObject: BucketObject | undefined;\n\n const findFunction = (currValue: BucketObject | RewindObject) =>\n selectedObjects.includes(currValue.name);\n\n fileObject = filteredRecords.find(findFunction);\n\n if (fileObject) {\n setSelectedPreview(fileObject);\n setShareFileModalOpen(true);\n }\n }\n };\n\n const closeShareModal = () => {\n setShareFileModalOpen(false);\n setSelectedPreview(null);\n };\n\n const tableActions: ItemActions[] = [\n {\n type: \"view\",\n label: \"View\",\n onClick: openPath,\n sendOnlyId: true,\n },\n ];\n\n const filteredRecords = records.filter((b: BucketObject) => {\n if (searchObjects === \"\") {\n return true;\n } else {\n const objectName = b.name.toLowerCase();\n if (objectName.indexOf(searchObjects.toLowerCase()) >= 0) {\n return true;\n } else {\n return false;\n }\n }\n });\n\n const rewindCloseModal = (refresh: boolean) => {\n setRewindSelect(false);\n };\n\n const closePreviewWindow = () => {\n setPreviewOpen(false);\n setSelectedPreview(null);\n };\n\n const selectListObjects = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedObjects]; // We clone the selectedBuckets array\n\n if (checked) {\n // If the user has checked this field we need to push this to selectedBucketsList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedObjects(elements);\n\n return elements;\n };\n\n const sortChange = (sortData: any) => {\n const newSortDirection = get(sortData, \"sortDirection\", \"DESC\");\n setCurrentSortField(sortData.sortBy);\n setSortDirection(newSortDirection);\n setLoading(true);\n };\n\n const renderName = (element: string) => {\n return displayName(element);\n };\n\n const listModeColumns = [\n {\n label: \"Name\",\n elementKey: \"name\",\n renderFunction: renderName,\n enableSort: true,\n },\n {\n label: \"Last Modified\",\n elementKey: \"last_modified\",\n renderFunction: displayParsedDate,\n renderFullObject: true,\n enableSort: true,\n },\n {\n label: \"Size\",\n elementKey: \"size\",\n renderFunction: displayNiceBytes,\n renderFullObject: true,\n width: 60,\n contentTextAlign: \"right\",\n enableSort: true,\n },\n ];\n\n const rewindModeColumns = [\n {\n label: \"Name\",\n elementKey: \"name\",\n renderFunction: renderName,\n enableSort: true,\n },\n {\n label: \"Object Date\",\n elementKey: \"last_modified\",\n renderFunction: displayParsedDate,\n renderFullObject: true,\n enableSort: true,\n },\n {\n label: \"Size\",\n elementKey: \"size\",\n renderFunction: displayNiceBytes,\n renderFullObject: true,\n width: 60,\n contentTextAlign: \"right\",\n enableSort: true,\n },\n {\n label: \"Deleted\",\n elementKey: \"delete_flag\",\n renderFunction: displayDeleteFlag,\n width: 60,\n contentTextAlign: \"center\",\n },\n ];\n\n const pageTitle = decodeFileName(internalPaths);\n const currentPath = pageTitle.split(\"/\").filter((i: string) => i !== \"\");\n\n const plSelect = rewindEnabled ? rewind : filteredRecords;\n\n const sortASC = plSelect.sort(sortListObjects(currentSortField));\n\n let payload: BucketObject[] | RewindObject[] = [];\n\n if (sortDirection === \"ASC\") {\n payload = sortASC;\n } else {\n payload = sortASC.reverse();\n }\n\n const selectAllItems = () => {\n if (selectedObjects.length === payload.length) {\n setSelectedObjects([]);\n return;\n }\n\n const elements = payload.map((item) => item.name);\n setSelectedObjects(elements);\n };\n\n const downloadSelected = () => {\n if (selectedObjects.length !== 0) {\n let itemsToDownload: BucketObject[] | RewindObject[] = [];\n\n const filterFunction = (currValue: BucketObject | RewindObject) =>\n selectedObjects.includes(currValue.name);\n\n if (rewindEnabled) {\n itemsToDownload = rewind.filter(filterFunction);\n } else {\n itemsToDownload = filteredRecords.filter(filterFunction);\n }\n\n itemsToDownload.forEach((filteredItem) => {\n downloadObject(filteredItem);\n });\n }\n };\n let uploadPath = [bucketName];\n if (currentPath.length > 0) {\n uploadPath = uploadPath.concat(currentPath);\n }\n\n return (\n \n {shareFileModalOpen && selectedPreview && (\n \n )}\n {deleteMultipleOpen && (\n \n )}\n {createFolderOpen && (\n \n )}\n {rewindSelect && (\n \n )}\n {previewOpen && (\n \n )}\n \n \n \n \n \n }\n title={\n \n }\n subTitle={\n \n \n \n Created:   \n {bucketInfo?.creation_date || \"\"}\n \n \n Access:   \n {bucketInfo?.access || \"\"}\n \n {bucketInfo && (\n \n \n {bucketInfo.size && (\n {niceBytesInt(bucketInfo.size)}\n )}\n {bucketInfo.size && bucketInfo.objects ? \" / \" : \"\"}\n {bucketInfo.objects && (\n \n {bucketInfo.objects} Object\n {bucketInfo.objects && bucketInfo.objects !== 1\n ? \"s\"\n : \"\"}\n \n )}\n \n \n )}\n \n \n }\n actions={\n \n \n \n {\n if (fileUpload && fileUpload.current) {\n fileUpload.current.click();\n }\n closeMenu();\n }}\n uploadFolderFunction={(closeMenu) => {\n if (folderUpload && folderUpload.current) {\n folderUpload.current.click();\n }\n closeMenu();\n }}\n />\n \n }\n />\n \n \n \n \n \n ,\n tooltip: \"Download Selected\",\n },\n {\n action: openShare,\n label: \"Share\",\n disabled: selectedObjects.length !== 1 || !canShareFile,\n icon: ,\n tooltip: \"Share Selected File\",\n },\n {\n action: openPreview,\n label: \"Preview\",\n disabled: selectedObjects.length !== 1 || !canPreviewFile,\n icon: ,\n tooltip: \"Preview Selected File\",\n },\n {\n action: () => {\n setDeleteMultipleOpen(true);\n },\n label: \"Delete\",\n icon: ,\n disabled:\n !hasPermission(bucketName, [\n IAM_SCOPES.S3_DELETE_OBJECT,\n ]) ||\n selectedObjects.length === 0 ||\n !displayDeleteObject,\n tooltip: \"Delete Selected Files\",\n },\n {\n action: () => {\n setRewindSelect(true);\n },\n label: \"Rewind\",\n disabled:\n !isVersioned ||\n !hasPermission(bucketName, [IAM_SCOPES.S3_PUT_OBJECT]),\n icon: (\n \n \n \n ),\n tooltip: \"Rewind Bucket\",\n },\n {\n action: () => {\n setCreateFolderOpen(true);\n },\n label: \"New Path\",\n icon: ,\n disabled:\n rewindEnabled ||\n !hasPermission(bucketName, [IAM_SCOPES.S3_PUT_OBJECT]),\n tooltip: \"Choose or create a new path\",\n },\n ]}\n globalActions={[\n {\n action: () => {\n setLoading(true);\n },\n label: \"Reload\",\n icon: ,\n disabled:\n !hasPermission(bucketName, [IAM_SCOPES.S3_LIST_BUCKET]) ||\n rewindEnabled,\n tooltip: \"Reload List\",\n },\n ]}\n />\n {\n setDetailsOpen(false);\n setSelectedInternalPaths(null);\n }}\n >\n {selectedInternalPaths !== null && (\n \n )}\n \n \n \n \n \n \n );\n};\n\nconst mapStateToProps = ({ objectBrowser, buckets }: AppState) => ({\n routesList: get(objectBrowser, \"routesList\", []),\n downloadingFiles: get(objectBrowser, \"downloadingFiles\", []),\n rewindEnabled: get(objectBrowser, \"rewind.rewindEnabled\", false),\n rewindDate: get(objectBrowser, \"rewind.dateToRewind\", null),\n bucketToRewind: get(objectBrowser, \"rewind.bucketToRewind\", \"\"),\n loadingBucket: buckets.bucketDetails.loadingBucket,\n bucketInfo: buckets.bucketDetails.bucketInfo,\n searchObjects: objectBrowser.searchObjects,\n});\n\nconst mapDispatchToProps = {\n setSnackBarMessage,\n setErrorSnackMessage,\n setFileModeEnabled,\n resetRewind,\n setBucketDetailsLoad,\n setBucketInfo,\n setNewObject,\n updateProgress,\n completeObject,\n openList,\n setSearchObjects,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withRouter(connector(withStyles(styles)(ListObjects)));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Link } from \"react-router-dom\";\nimport { Grid, IconButton, Tooltip } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport { AppState } from \"../../../../store\";\nimport { containerForHeader } from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n setFileModeEnabled,\n setSearchObjects,\n} from \"../../ObjectBrowser/actions\";\nimport ObjectDetails from \"../ListBuckets/Objects/ObjectDetails/ObjectDetails\";\nimport ListObjects from \"../ListBuckets/Objects/ListObjects/ListObjects\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport SettingsIcon from \"../../../../icons/SettingsIcon\";\nimport { BucketInfo } from \"../types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport SecureComponent from \"../../../../common/SecureComponent/SecureComponent\";\nimport {\n IAM_PERMISSIONS,\n IAM_ROLES,\n IAM_SCOPES,\n} from \"../../../../common/SecureComponent/permissions\";\nimport SearchBox from \"../../Common/SearchBox\";\nimport BackLink from \"../../../../common/BackLink\";\n\ninterface IBrowserHandlerProps {\n fileMode: boolean;\n match: any;\n history: any;\n classes: any;\n setFileModeEnabled: typeof setFileModeEnabled;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n bucketInfo: BucketInfo | null;\n searchObjects: string;\n setSearchObjects: typeof setSearchObjects;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n backToBuckets: {\n color: \"#000\",\n fontSize: 14,\n padding: 0,\n marginTop: -8,\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst BrowserHandler = ({\n fileMode,\n match,\n history,\n classes,\n setFileModeEnabled,\n searchObjects,\n setSearchObjects,\n}: IBrowserHandlerProps) => {\n const bucketName = match.params[\"bucketName\"];\n const internalPaths = get(match.params, \"subpaths\", \"\");\n\n useEffect(() => {\n setFileModeEnabled(false);\n }, [internalPaths, setFileModeEnabled]);\n\n const openBucketConfiguration = () => {\n history.push(`/buckets/${bucketName}/admin`);\n };\n\n return (\n \n \n {fileMode ? (\n \n \n Buckets\n {\" \"}\n > {bucketName}\n \n ) : (\n \n \n \n )}\n \n }\n actions={\n \n \n \n \n \n \n \n }\n middleComponent={\n \n {!fileMode && (\n \n {\n setSearchObjects(value);\n }}\n value={searchObjects}\n />\n \n )}\n \n }\n />\n {fileMode ? : }\n \n );\n};\n\nconst mapStateToProps = ({ objectBrowser, buckets }: AppState) => ({\n fileMode: get(objectBrowser, \"fileMode\", false),\n bucketToRewind: get(objectBrowser, \"rewind.bucketToRewind\", \"\"),\n bucketInfo: buckets.bucketDetails.bucketInfo,\n searchObjects: objectBrowser.searchObjects,\n});\n\nconst mapDispatchToProps = {\n setFileModeEnabled,\n setErrorSnackMessage,\n setSearchObjects,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(BrowserHandler));\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, CircularProgress } from \"@mui/material\";\n\ntype ActionLinkProps = {\n isLoading: boolean;\n onClick: () => void;\n classes?: any;\n label: any;\n [x: string]: any;\n};\nconst ActionLink = ({\n isLoading,\n onClick,\n label,\n ...restProps\n}: ActionLinkProps) => {\n return (\n \n {isLoading ? (\n \n ) : (\n label\n )}\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/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\";\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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","import React, { useCallback, useEffect, useState, Fragment } from \"react\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { MetadataResponse } from \"./types\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, Table, TableBody, TableCell, TableRow } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n detailsPanel,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { withStyles } from \"@mui/styles\";\n\ninterface IObjectMetadata {\n bucketName: string;\n internalPaths: string;\n classes?: any;\n actualInfo: any;\n linear?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n propertiesIcon: {\n marginLeft: 5,\n \"& .min-icon\": {\n height: 12,\n },\n },\n\n capitalizeFirst: {\n textTransform: \"capitalize\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n },\n },\n titleCol: {\n width: \"25%\",\n },\n titleItem: {\n width: \"35%\",\n },\n ...spacingUtils,\n ...detailsPanel,\n });\n\nconst ObjectMetaData = ({\n bucketName,\n internalPaths,\n classes,\n actualInfo,\n linear = false,\n}: IObjectMetadata) => {\n const [metaData, setMetaData] = useState({});\n\n const onMetaDataSuccess = (res: MetadataResponse) => {\n let metadata = get(res, \"objectMetadata\", {});\n\n setMetaData(metadata);\n };\n const onMetaDataError = (err: ErrorResponseHandler) => false;\n\n const [, invokeMetaDataApi] = useApi(onMetaDataSuccess, onMetaDataError);\n\n const metaKeys = Object.keys(metaData);\n const loadMetaData = useCallback(() => {\n invokeMetaDataApi(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects/metadata?prefix=${internalPaths}`\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [bucketName, internalPaths, actualInfo]);\n\n useEffect(() => {\n if (actualInfo) {\n loadMetaData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [actualInfo, loadMetaData]);\n\n if (linear) {\n return (\n \n {metaKeys.map((element: string, index: number) => {\n const renderItem = Array.isArray(metaData[element])\n ? metaData[element].map(decodeURIComponent).join(\", \")\n : decodeURIComponent(metaData[element]);\n\n return (\n \n {element}\n
\n {renderItem}\n \n );\n })}\n
\n );\n }\n\n return (\n \n \n \n Object Metadata\n \n \n\n \n \n \n {metaKeys.map((element: string, index: number) => {\n const renderItem = Array.isArray(metaData[element])\n ? metaData[element].map(decodeURIComponent).join(\", \")\n : decodeURIComponent(metaData[element]);\n\n return (\n \n \n {element}\n \n {renderItem}\n \n );\n })}\n \n
\n
\n \n );\n};\n\nexport default withStyles(styles)(ObjectMetaData);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport InputLabel from \"@mui/material/InputLabel\";\nimport moment from \"moment/moment\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport InputBoxWrapper from \"../InputBoxWrapper/InputBoxWrapper\";\n\ninterface IDaysSelector {\n classes: any;\n id: string;\n initialDate: Date;\n maxDays?: number;\n label: string;\n entity: string;\n onChange: (newDate: string, isValid: boolean) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n labelContainer: {\n display: \"flex\",\n alignItems: \"center\",\n marginBottom: 15,\n },\n fieldContainer: {\n ...fieldBasic.fieldContainer,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n paddingBottom: 10,\n marginTop: 11,\n marginBottom: 6,\n },\n dateContainer: {\n height: 20,\n textAlign: \"right\",\n color: \"#848484\",\n },\n dateInputContainer: {\n margin: \"0 10px\",\n },\n durationInputs: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n\n validityIndicator: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n invalidDurationText: {\n marginTop: 15,\n display: \"flex\",\n color: \"red\",\n fontSize: 11,\n },\n validityText: {\n fontSize: 14,\n fontWeight: 600,\n marginTop: 15,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst calculateNewTime = (\n initialDate: Date,\n days: number,\n hours: number,\n minutes: number\n) => {\n return moment(initialDate)\n .add(days, \"days\")\n .add(hours, \"hours\")\n .add(minutes, \"minutes\");\n};\n\nconst DaysSelector = ({\n classes,\n id,\n initialDate,\n label,\n maxDays,\n entity,\n onChange,\n}: IDaysSelector) => {\n const [selectedDays, setSelectedDays] = useState(7);\n const [selectedHours, setSelectedHours] = useState(0);\n const [selectedMinutes, setSelectedMinutes] = useState(0);\n const [validDate, setValidDate] = useState(true);\n const [dateSelected, setDateSelected] = useState(moment());\n\n useEffect(() => {\n setDateSelected(\n calculateNewTime(\n initialDate,\n selectedDays,\n selectedHours,\n selectedMinutes\n )\n );\n }, [initialDate, selectedDays, selectedHours, selectedMinutes]);\n\n useEffect(() => {\n if (validDate) {\n onChange(dateSelected.format(\"YYYY-MM-DDTHH:mm:ss\"), true);\n } else {\n onChange(\"0000-00-00\", false);\n }\n }, [dateSelected, onChange, validDate]);\n\n // Basic validation for inputs\n useEffect(() => {\n let valid = true;\n if (\n selectedDays < 0 ||\n (maxDays && selectedDays > maxDays) ||\n isNaN(selectedDays)\n ) {\n valid = false;\n }\n\n if (selectedHours < 0 || selectedHours > 23 || isNaN(selectedHours)) {\n valid = false;\n }\n\n if (selectedMinutes < 0 || selectedMinutes > 59 || isNaN(selectedMinutes)) {\n valid = false;\n }\n\n if (\n maxDays &&\n selectedDays === maxDays &&\n (selectedHours !== 0 || selectedMinutes !== 0)\n ) {\n valid = false;\n }\n\n setValidDate(valid);\n }, [\n dateSelected,\n maxDays,\n onChange,\n selectedDays,\n selectedHours,\n selectedMinutes,\n ]);\n\n const extraInputProps = {\n style: {\n textAlign: \"center\" as const,\n paddingRight: 10,\n paddingLeft: 10,\n width: 25,\n },\n className: \"removeArrows\" as const,\n };\n\n return (\n \n \n \n \n \n {label}\n \n \n \n \n {\n setSelectedDays(parseInt(e.target.value));\n }}\n value={selectedDays.toString()}\n extraInputProps={extraInputProps}\n noLabelMinWidth\n />\n \n \n {\n setSelectedHours(parseInt(e.target.value));\n }}\n value={selectedHours.toString()}\n extraInputProps={extraInputProps}\n noLabelMinWidth\n />\n \n \n {\n setSelectedMinutes(parseInt(e.target.value));\n }}\n value={selectedMinutes.toString()}\n extraInputProps={extraInputProps}\n noLabelMinWidth\n />\n \n \n \n \n {validDate ? (\n
\n
\n {entity} will be available until:\n
{\" \"}\n
\n {dateSelected.format(\"MM/DD/YYYY HH:mm:ss\")}\n
\n
\n ) : (\n
\n Please select a valid duration.\n
\n )}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(DaysSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nimport { IFileInfo } from \"./types\";\nimport {\n setModalErrorSnackMessage,\n setModalSnackMessage,\n} from \"../../../../../../actions\";\nimport { AppState } from \"../../../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport api from \"../../../../../../common/api\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PredefinedList from \"../../../../Common/FormComponents/PredefinedList/PredefinedList\";\nimport DaysSelector from \"../../../../Common/FormComponents/DaysSelector/DaysSelector\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\n\nconst CopyIcon = React.lazy(() => import(\"../../../../../../icons/CopyIcon\"));\n\nconst styles = (theme: Theme) =>\n createStyles({\n shareLinkInfo: {\n fontSize: 13,\n fontWeight: 400,\n },\n copyShareLink: {\n display: \"flex\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n },\n copyShareLinkInput: {\n \"& div:first-child\": {\n marginTop: 0,\n },\n \"@media (max-width: 900px)\": {\n minWidth: 250,\n },\n },\n copyShareLinkBtn: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"@media (max-width: 900px)\": {\n marginTop: 10,\n },\n },\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\ninterface IShareFileProps {\n classes: any;\n open: boolean;\n bucketName: string;\n dataObject: IFileInfo;\n distributedSetup: boolean;\n closeModalAndRefresh: () => void;\n setModalSnackMessage: typeof setModalSnackMessage;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst ShareFile = ({\n classes,\n open,\n closeModalAndRefresh,\n bucketName,\n dataObject,\n distributedSetup,\n setModalSnackMessage,\n setModalErrorSnackMessage,\n}: IShareFileProps) => {\n const [shareURL, setShareURL] = useState(\"\");\n const [isLoadingVersion, setIsLoadingVersion] = useState(true);\n const [isLoadingFile, setIsLoadingFile] = useState(false);\n const [selectedDate, setSelectedDate] = useState(\"\");\n const [dateValid, setDateValid] = useState(true);\n const [versionID, setVersionID] = useState(\"null\");\n\n const initialDate = new Date();\n\n const dateChanged = (newDate: string, isValid: boolean) => {\n setDateValid(isValid);\n if (isValid) {\n setSelectedDate(newDate);\n return;\n }\n setSelectedDate(\"\");\n setShareURL(\"\");\n };\n\n useEffect(() => {\n // In case version is undefined, we get the latest version of the object\n if (dataObject.version_id === undefined) {\n // In case it is not distributed setup, then we default to \"null\";\n if (distributedSetup) {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${encodeFileName(\n dataObject.name\n )}${distributedSetup ? \"&with_versions=true\" : \"\"}`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n\n const latestVersion = result.find(\n (elem: IFileInfo) => elem.is_latest\n );\n\n if (latestVersion) {\n setVersionID(latestVersion.version_id);\n return;\n }\n\n // Version couldn't ve retrieved, we default\n setVersionID(\"null\");\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n });\n\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(\"null\");\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(dataObject.version_id || \"null\");\n setIsLoadingVersion(false);\n }, [bucketName, dataObject, distributedSetup, setModalErrorSnackMessage]);\n\n useEffect(() => {\n if (dateValid && !isLoadingVersion) {\n setIsLoadingFile(true);\n setShareURL(\"\");\n\n const slDate = new Date(`${selectedDate}`);\n const currDate = new Date();\n\n const diffDate = Math.ceil(\n (slDate.getTime() - currDate.getTime()) / 1000\n );\n\n if (diffDate > 0) {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects/share?prefix=${encodeFileName(\n dataObject.name\n )}&version_id=${versionID}${\n selectedDate !== \"\" ? `&expires=${diffDate}s` : \"\"\n }`\n )\n .then((res: string) => {\n setShareURL(res);\n setIsLoadingFile(false);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setShareURL(\"\");\n setIsLoadingFile(false);\n });\n }\n }\n }, [\n dataObject,\n selectedDate,\n bucketName,\n dateValid,\n setShareURL,\n setModalErrorSnackMessage,\n distributedSetup,\n isLoadingVersion,\n versionID,\n ]);\n\n return (\n \n {\n closeModalAndRefresh();\n }}\n >\n {isLoadingVersion && (\n \n \n \n )}\n {!isLoadingVersion && (\n \n \n This is a temporary URL with integrated access credentials for\n sharing objects valid for up to 7 days.\n
\n The temporary URL expires after the configured time limit.\n
\n \n \n \n \n \n \n \n\n \n \n }\n onClick={() => {\n setModalSnackMessage(\"Share URL Copied to clipboard\");\n }}\n disabled={shareURL === \"\" || isLoadingFile}\n >\n Copy\n \n \n \n \n
\n )}\n \n
\n );\n};\n\nconst mapStateToProps = ({ system }: AppState) => ({\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst connector = connect(mapStateToProps, {\n setModalSnackMessage,\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ShareFile));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, LinearProgress } from \"@mui/material\";\nimport { BucketObject } from \"../ListObjects/types\";\nimport { extensionPreview } from \"../utils\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\nimport clsx from \"clsx\";\n\nconst styles = () =>\n createStyles({\n iframeContainer: {\n border: \"0px\",\n flex: \"1 1 auto\",\n width: \"100%\",\n height: 250,\n backgroundColor: \"transparent\",\n borderRadius: 5,\n\n \"&.image\": {\n height: 500,\n },\n \"&.text\": {\n height: 700,\n },\n \"&.audio\": {\n height: 150,\n },\n \"&.video\": {\n height: 350,\n },\n \"&.fullHeight\": {\n height: \"calc(100vh - 185px)\",\n },\n },\n iframeBase: {\n backgroundColor: \"#fff\",\n },\n iframeHidden: {\n display: \"none\",\n },\n });\n\ninterface IPreviewFileProps {\n bucketName: string;\n object: BucketObject | null;\n isFullscreen?: boolean;\n classes: any;\n}\n\nconst PreviewFile = ({\n bucketName,\n object,\n isFullscreen = false,\n classes,\n}: IPreviewFileProps) => {\n const [loading, setLoading] = useState(true);\n\n let path = \"\";\n\n if (object) {\n const encodedPath = encodeFileName(object.name);\n let basename = document.baseURI.replace(window.location.origin, \"\");\n path = `${window.location.origin}${basename}api/v1/buckets/${bucketName}/objects/download?preview=true&prefix=${encodedPath}`;\n if (object.version_id) {\n path = path.concat(`&version_id=${object.version_id}`);\n }\n }\n\n const objectType = extensionPreview(object?.name || \"\");\n\n const iframeLoaded = () => {\n setLoading(false);\n };\n\n return (\n \n {loading && (\n \n \n \n )}\n {objectType === \"video\" && (\n \n \n \n )}\n {objectType === \"audio\" && (\n \n \n \n )}\n {objectType === \"image\" && (\n \n )}\n {objectType !== \"video\" &&\n objectType !== \"audio\" &&\n objectType !== \"image\" && (\n \n \n File couldn't be loaded. Please try Download instead\n \n \n )}\n \n );\n};\nexport default withStyles(styles)(PreviewFile);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PreviewFileContent from \"./PreviewFileContent\";\nimport { BucketObject } from \"../ListObjects/types\";\nimport { ObjectPreviewIcon } from \"../../../../../../icons\";\n\ninterface IPreviewFileProps {\n open: boolean;\n bucketName: string;\n object: BucketObject | null;\n onClosePreview: () => void;\n}\n\nconst PreviewFileModal = ({\n open,\n bucketName,\n object,\n onClosePreview,\n}: IPreviewFileProps) => {\n return (\n \n }\n >\n \n \n \n );\n};\n\nexport default PreviewFileModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { BucketObject, RewindObject } from \"./ListObjects/types\";\n\nexport const download = (\n bucketName: string,\n objectPath: string,\n versionID: any,\n fileSize: number,\n progressCallback: (progress: number) => void,\n completeCallback: () => void\n) => {\n const anchor = document.createElement(\"a\");\n document.body.appendChild(anchor);\n let path = `/api/v1/buckets/${bucketName}/objects/download?prefix=${objectPath}`;\n if (versionID) {\n path = path.concat(`&version_id=${versionID}`);\n }\n\n var req = new XMLHttpRequest();\n req.open(\"GET\", path, true);\n req.addEventListener(\n \"progress\",\n function (evt) {\n var percentComplete = Math.round((evt.loaded / fileSize) * 100);\n\n if (progressCallback) {\n progressCallback(percentComplete);\n }\n },\n false\n );\n\n req.responseType = \"blob\";\n req.onreadystatechange = () => {\n if (req.readyState === 4 && req.status === 200) {\n const rspHeader = req.getResponseHeader(\"Content-Disposition\");\n\n let filename = \"download\";\n if (rspHeader) {\n let rspHeaderDecoded = decodeURIComponent(rspHeader);\n filename = rspHeaderDecoded.split('\"')[1];\n }\n\n if (completeCallback) {\n completeCallback();\n }\n\n var link = document.createElement(\"a\");\n link.href = window.URL.createObjectURL(req.response);\n link.download = filename;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n };\n req.send();\n};\n\n// Review file extension by name & returns the type of preview browser that can be used\nexport const extensionPreview = (\n fileName: string\n): \"image\" | \"text\" | \"audio\" | \"video\" | \"none\" => {\n const imageExtensions = [\n \"jif\",\n \"jfif\",\n \"apng\",\n \"avif\",\n \"svg\",\n \"webp\",\n \"bmp\",\n \"ico\",\n \"jpg\",\n \"jpe\",\n \"jpeg\",\n \"gif\",\n \"png\",\n \"heic\",\n ];\n const textExtensions = [\"pdf\", \"txt\", \"json\"];\n const audioExtensions = [\"wav\", \"mp3\", \"alac\", \"aiff\", \"dsd\", \"pcm\"];\n const videoExtensions = [\n \"mp4\",\n \"avi\",\n \"mpg\",\n \"webm\",\n \"mov\",\n \"flv\",\n \"mkv\",\n \"wmv\",\n \"avchd\",\n \"mpeg-4\",\n ];\n\n let fileExtension = fileName.split(\".\").pop();\n\n if (!fileExtension) {\n return \"none\";\n }\n\n fileExtension = fileExtension.toLowerCase();\n\n if (imageExtensions.includes(fileExtension)) {\n return \"image\";\n }\n\n if (textExtensions.includes(fileExtension)) {\n return \"text\";\n }\n\n if (audioExtensions.includes(fileExtension)) {\n return \"audio\";\n }\n\n if (videoExtensions.includes(fileExtension)) {\n return \"video\";\n }\n\n return \"none\";\n};\n\nexport const sortListObjects = (fieldSort: string) => {\n switch (fieldSort) {\n case \"name\":\n return (a: BucketObject | RewindObject, b: BucketObject | RewindObject) =>\n a.name.localeCompare(b.name);\n case \"last_modified\":\n return (a: BucketObject | RewindObject, b: BucketObject | RewindObject) =>\n new Date(a.last_modified).getTime() -\n new Date(b.last_modified).getTime();\n case \"size\":\n return (a: BucketObject | RewindObject, b: BucketObject | RewindObject) =>\n (a.size || -1) - (b.size || -1);\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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n

\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import React, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n
\n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n\n />\n );\n })}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
\n {icon ?
{icon}
: null}\n
\n

{title}

\n {subTitle}\n
\n
\n\n
{actions}
\n
\n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\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 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","import React 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\";\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 [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\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"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","months","value","days","Array","from","_","num","currentYear","Date","getFullYear","years","numYear","SelectStyled","root","input","borderBottom","InputBase","DateSelector","forwardRef","ref","id","disableOptions","addSwitch","tooltip","onDateChange","useImperativeHandle","resetDate","useState","dateEnabled","setDateEnabled","month","setMonth","day","setDay","year","setYear","useEffect","valueSplit","split","parseInt","currentDate","parse","isNaN","parsedMonth","parsedDay","monthForString","dayForString","parsedDate","toISOString","dateString","validDate","isValid","isDateDisabled","Grid","item","xs","clsx","fieldContainer","fieldContainerBorder","labelContainer","container","InputLabel","htmlFor","inputLabel","tooltipContainer","Tooltip","title","placement","HelpIcon","FormSwitchWrapper","indicatorLabels","checked","name","onChange","e","target","switchOnly","FormControl","disabled","dateInput","Select","displayEmpty","MenuItem","map","option","dayNumber","fieldBasic","tooltipHelper","flex","paddingBottom","marginTop","marginBottom","mapDispatchToProps","setModalErrorSnackMessage","connector","connect","formFieldStyles","modalStyleUtils","spacingUtils","dateSelector","border","paddingLeft","open","closeModalAndRefresh","objectName","objectInfo","bucketName","statusEnabled","setStatusEnabled","type","setType","date","setDate","isDateValid","setIsDateValid","isSaving","setIsSaving","alreadyConfigured","setAlreadyConfigured","retention_mode","toLowerCase","retention_until_date","valueDate","toString","getMonth","getDate","dateElement","useRef","resetForm","current","showSwitcher","ModalWrapper","modalOpen","onClose","spacerBottom","noValidate","autoComplete","onSubmit","preventDefault","formFieldRow","RadioGroupSelector","currentSelection","selectorOptions","modalButtonBar","Button","variant","selectedObject","versionId","version_id","expireDate","api","encodeFileName","expires","mode","then","res","catch","error","addRetention","disableRetention","objectBrowser","rewindEnabled","get","rewindDate","objectBrowserCommon","internalPaths","fullSizeBreadcrumbs","paths","splitPaths","filter","path","listBreadcrumbs","objectItem","index","subSplit","slice","join","route","length","breadcrumbs","setErrorSnackMessage","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","versioning","useApi","err","deleteLoading","invokeDeleteApi","deleteVersions","setDeleteVersions","ConfirmDialog","confirmText","isOpen","titleIcon","isLoading","onConfirm","recursive","decodeFileName","endsWith","confirmationContent","DialogContentText","description","system","distributedSetup","pathLabel","currentTags","onCloseAndUpdate","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","InputBoxWrapper","placeholder","trim","newTag","newTagList","verID","tags","selectedTag","tagKey","tagLabel","cleanObject","wrapText","actualInfo","legalHoldEnabled","setLegalHoldEnabled","status","modalBasic","versionID","objectPath","restoreOpen","restoreLoading","setRestoreLoading","RecoverIcon","confirmButtonProps","tagKeys","onDeleteTag","onAddTagClick","SecureComponent","scopes","IAM_SCOPES","resource","Box","sx","flexFlow","tag","matchAll","errorProps","deleteIcon","onDelete","Chip","style","textTransform","size","Close","Add","clickable","React","ShareIcon","DownloadIcon","DeleteIcon","ObjectBrowserIcon","ObjectMetaData","EditablePropertyItem","LabelValuePair","emptyFile","is_latest","last_modified","legal_hold_status","twoColCssGridLayoutConfig","gridTemplateColumns","sm","gridAutoFlow","gap","setSnackBarMessage","setNewObject","updateProgress","completeObject","downloadingFiles","bucketToRewind","withRouter","propertiesIcon","marginLeft","height","fontWeight","search","capitalizeFirst","titleCol","titleItem","paddingTop","position","left","top","tabsContainer","borderTop","hrClass","buttonsStyles","actionsTray","tableStyles","textStyleUtils","containerForHeader","spacing","match","loadObjectData","setLoadObjectData","shareFileModalOpen","setShareFileModalOpen","retentionModalOpen","setRetentionModalOpen","tagModalOpen","setTagModalOpen","deleteTagModalOpen","setDeleteTagModalOpen","setSelectedTag","legalholdOpen","setLegalholdOpen","setActualInfo","objectToShare","setObjectToShare","versions","setVersions","filterVersion","setFilterVersion","setDeleteOpen","restoreVersionOpen","setRestoreVersionOpen","restoreVersion","setRestoreVersion","params","internalPathsDecoded","allPathData","currentItem","pop","objectNameArray","result","find","el","Object","keys","shareObject","downloadObject","object","identityDownload","getTime","Math","random","done","instanceID","percentage","prefix","waitingForFile","download","progress","tableActions","sendOnlyId","disableButtonFunction","element","elm","is_delete_marker","filteredRecords","version","includes","ShareFile","dataObject","updateInfo","redirectBack","newPath","history","reloadObjectData","reload","PageLayout","pageContainer","LinearProgress","Fragment","ScreenTitle","subTitle","actions","RBIconButton","text","CircularProgress","VerticalTabs","tabConfig","content","sectionTitle","iamScopes","secureCmpProps","resourceName","property","onEdit","LabelWithIcon","textMuted","spacerTop","SearchBox","tableBlock","TableWrapper","itemActions","columns","renderFullObject","renderFunction","r","versOrd","indexOf","elementKey","contentTextAlign","entityName","idField","records","textSelectable","extensionPreview","PreviewFileContent","content_type","isFullscreen","fileName","fileNameText","whiteSpace","overflow","textOverflow","props","strings","FileBookIcon","FileCodeIcon","FileConfigIcon","FileDbIcon","FileFontIcon","FileImageIcon","FileLockIcon","FileMissingIcon","FileMusicIcon","FilePdfIcon","FilePptIcon","FileTxtIcon","FileVideoIcon","FileXlsIcon","FileZipIcon","listUploadIcons","fill","uploadPath","forceDisable","uploadFileFunction","uploadFolderFunction","anchorEl","setAnchorEl","openUploadMenu","Boolean","handleCloseUpload","uploadObjectAllowed","hasPermission","uploadFolderAllowed","uploadEnabled","undefined","event","currentTarget","Menu","anchorOrigin","vertical","horizontal","transformOrigin","ListItemIcon","ListItemText","containsResource","detailsList","borderColor","backgroundColor","borderWidth","borderStyle","borderRadius","borderBottomLeftRadius","borderBottomRightRadius","transitionDuration","overflowX","overflowY","opacity","borderTopWidth","borderBottomWidth","borderRightWidth","borderLeftWidth","closePanel","right","children","IconButton","margin","restProps","startIcon","detailsPanel","previewOpen","setPreviewOpen","totalVersionsSize","setTotalVersionsSize","tVersionSize","reduce","acc","currValue","PreviewFileModal","onClosePreview","titleLabel","objectActions","openExtraInfo","detailContainer","linear","metadataLinear","niceBytesInt","AddFolderIcon","HistoryIcon","RefreshIcon","CreateFolderModal","withSuspense","DeleteMultipleObjects","RewindEnable","baseDnDStyle","outline","activeDnDStyle","acceptDnDStyle","defLoading","Typography","component","setFileModeEnabled","resetRewind","setBucketDetailsLoad","setBucketInfo","openList","setSearchObjects","buckets","routesList","loadingBucket","bucketDetails","bucketInfo","searchObjects","browsePaper","backgroundImage","badgeOverlap","minWidth","screenTitle","paddingRight","searchField","setRecords","loading","setLoading","rewind","setRewind","loadingRewind","setLoadingRewind","deleteMultipleOpen","setDeleteMultipleOpen","createFolderOpen","setCreateFolderOpen","loadingStartTime","setLoadingStartTime","loadingMessage","setLoadingMessage","loadingVersioning","setLoadingVersioning","isVersioned","setIsVersioned","rewindSelect","setRewindSelect","selectedObjects","setSelectedObjects","selectedPreview","setSelectedPreview","sortDirection","setSortDirection","currentSortField","setCurrentSortField","iniLoad","setIniLoad","canShareFile","setCanShareFile","canPreviewFile","setCanPreviewFile","detailsOpen","setDetailsOpen","selectedInternalPaths","setSelectedInternalPaths","fileUpload","folderUpload","setAttribute","displayDeleteObject","displayListObjects","callback","delay","savedCallback","setInterval","clearInterval","useInterval","timeDelta","now","ceil","updateMessage","is_versioned","rewindParsed","pathPrefix","decodedPath","objects","currentTimestamp","folders","files","forEach","record","push","recordsInElement","found","pathPrefixChopped","i","handleUploadButton","newFiles","uploadObject","displayParsedDate","displayNiceBytes","niceBytes","String","useCallback","folderPath","nextFile","uploadPromise","file","Promise","resolve","reject","uploadUrl","blobFile","Blob","encodedPath","relativeFolderPath","finalFolderPath","identity","xhr","XMLHttpRequest","areMultipleFiles","errorMessage","okMessage","withCredentials","onload","response","JSON","detailedMessage","nFile","upload","addEventListener","floor","loaded","total","onerror","onloadend","formData","FormData","append","send","console","info","onDrop","acceptedFiles","newFolderPath","useDropzone","noClick","getRootProps","getInputProps","isDragActive","isDragAccept","dndStyles","useMemo","idElement","b","renderName","elementString","ObjectBrowserFolderIcon","substr","extensionToIcon","extensions","lowercaseElement","etc","ext","splitItem","displayName","listModeColumns","enableSort","rewindModeColumns","state","pageTitle","currentPath","sortASC","sort","sortListObjects","payload","reverse","concat","refresh","folderName","existingFiles","detailsSpacer","creation_date","access","multiple","closeMenu","click","customPaperHeight","selectedItems","onSelect","targetD","elements","customEmptyMessage","sortConfig","currentSort","currentDirection","triggerSort","sortData","newSortDirection","sortBy","onSelectAll","actionButtons","action","filterFunction","filteredItem","fileObject","Badge","badgeContent","invisible","globalActions","fileMode","breadcrumLink","backToBuckets","PageHeader","BackLink","IAM_PERMISSIONS","IAM_ROLES","SettingsIcon","middleComponent","background","disableRipple","disableFocusRipple","EditIcon","SecureAction","useStyles","makeStyles","tgtColor","main","contrastText","secondary","getButtonColor","metaData","setMetaData","metadata","invokeMetaDataApi","metaKeys","loadMetaData","renderItem","isArray","decodeURIComponent","table","scope","align","dateContainer","textAlign","dateInputContainer","durationInputs","validityIndicator","invalidDurationText","validityText","initialDate","maxDays","entity","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","setValidDate","moment","dateSelected","setDateSelected","hours","minutes","add","calculateNewTime","format","valid","extraInputProps","min","max","noLabelMinWidth","validityLabel","validTill","CopyIcon","setModalSnackMessage","shareLinkInfo","copyShareLink","copyShareLinkInput","copyShareLinkBtn","shareURL","setShareURL","isLoadingVersion","setIsLoadingVersion","isLoadingFile","setIsLoadingFile","selectedDate","setSelectedDate","dateValid","setDateValid","setVersionID","latestVersion","elem","slDate","currDate","diffDate","newDate","PredefinedList","endIcon","iframeContainer","iframeBase","iframeHidden","basename","document","baseURI","replace","window","location","origin","objectType","iframeLoaded","autoPlay","controls","muted","playsInline","onPlay","src","alt","onLoad","allowTransparency","wideLimit","fileSize","progressCallback","completeCallback","anchor","createElement","body","appendChild","req","evt","percentComplete","round","responseType","onreadystatechange","readyState","rspHeader","getResponseHeader","filename","href","URL","createObjectURL","removeChild","fileExtension","fieldSort","a","localeCompare","contained","dark","rest","button","WrappedComponent","fallback","ComponentWithSuspense","Suspense","StyledSwitch","switchBase","transform","common","white","boxShadow","thumb","track","transition","transitions","create","focusVisible","switchContainer","Switch","divContainer","indicatorLabelOn","indicatorLabel","fieldDescription","switchComponent","inputProps","disableTouchRipple","md","inputStyles","inputFieldStyles","InputField","InputProps","textBoxContainer","flexGrow","overlayAction","maxHeight","multiline","required","overlayIcon","overlayObject","pattern","autoFocus","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","predefinedList","multiLine","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","radioStyles","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","radioUnselectedIcon","optionLabel","checkedOption","displayInColumn","radioOptionsLayout","row","selectorOption","control","onSuccess","onError","setIsLoading","method","url","data","deleteDialogStyles","onCancel","cancelText","cancelButtonProps","reason","titleText","closeContainer","closeButton","cancelButton","confirmButton","loadingPosition","timerI","stopHideTimer","displayErrorMessage","modalSnackMessage","modalSnackBar","modalErrorContainer","zIndex","modalErrorShow","cursor","errorTitle","errorLabel","messageIcon","detailsButton","transformDuration","extraDetailsContainer","fontStyle","lineHeight","extraDetailsOpen","arrowElement","arrowOpen","customStyle","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","detailedError","message","messageDetails","onMouseOver","onMouseLeave","ErrorOutline","detailsContainerLink","ArrowRight","customDialogSize","snackBarCommon","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","Dialog","scroll","DialogTitle","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","toggleList","sidebarOpen","operatorMode","managerObjects","objectManager","objectsToManage","headerContainer","minHeight","labelStyle","rightMenu","logo","direction","headerBarIcon","headerBarSubheader","titleColumn","leftItems","rightItems","adornment","adornmentPosition","overrideClass","disableUnderline","orientation","stkProps","lblProps","valProps","tabStripStyle","tabsHeaderContainer","borderRight","tabContentContainer","tabPanel","flexDirection","selectedTab","routes","isRouteTabs","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","child","newValue","scrollButtons","tabList","tabHeader","focusRipple"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/9.0e073695.chunk.js b/portal-ui/build/static/js/9.e9a15c48.chunk.js similarity index 98% rename from portal-ui/build/static/js/9.0e073695.chunk.js rename to portal-ui/build/static/js/9.e9a15c48.chunk.js index f66e547a9..e444fe684 100644 --- a/portal-ui/build/static/js/9.0e073695.chunk.js +++ b/portal-ui/build/static/js/9.e9a15c48.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[9],{60009:function(n,t,o){o.r(t);var i=o(23430),a=(o(50390),o(38342)),e=o.n(a),r=o(34424),s=o(23473),c=o(44149),d=o(21639),l=o(60656),u=o(11387),g=o(62559),f=(0,r.$j)(null,{setErrorSnackMessage:c.Ih});t.default=f((function(n){var t=n.closeDeleteModalAndRefresh,o=n.deleteOpen,a=n.selectedBucket,r=n.bucketEvent,c=n.setErrorSnackMessage,f=(0,d.Z)((function(){return t(!0)}),(function(n){return c(n)})),v=(0,i.Z)(f,2),Z=v[0],p=v[1];if(!a)return null;return(0,g.jsx)(l.Z,{title:"Delete Event",confirmText:"Delete",isOpen:o,titleIcon:(0,g.jsx)(u.Nv,{}),isLoading:Z,onConfirm:function(){if(null!==r){var n=e()(r,"events",[]),t=e()(r,"prefix",""),o=e()(r,"suffix","");p("DELETE","/api/v1/buckets/".concat(a,"/events/").concat(r.arn),{events:n,prefix:t,suffix:o})}},onClose:function(){return t(!1)},confirmationContent:(0,g.jsx)(s.Z,{children:"Are you sure you want to delete this event?"})})}))},21639:function(n,t,o){var i=o(23430),a=o(50390),e=o(30324);t.Z=function(n,t){var o=(0,a.useState)(!1),r=(0,i.Z)(o,2),s=r[0],c=r[1];return[s,function(o,i,a){c(!0),e.Z.invoke(o,i,a).then((function(t){c(!1),n(t)})).catch((function(n){c(!1),t(n)}))}]}},60656:function(n,t,o){var i=o(18489),a=o(50390),e=o(84402),r=o(78426),s=o(93085),c=o(7887),d=o(66946),l=o(14476),u=o(95467),g=o(21278),f=o(86509),v=o(4285),Z=o(72462),p=o(62559);t.Z=(0,v.Z)((function(n){return(0,f.Z)((0,i.Z)({},Z.Qw))}))((function(n){var t=n.isOpen,o=void 0!==t&&t,f=n.onClose,v=n.onCancel,Z=n.onConfirm,m=n.classes,h=void 0===m?{}:m,x=n.title,I=void 0===x?"":x,b=n.isLoading,S=n.confirmationContent,L=n.cancelText,P=void 0===L?"Cancel":L,j=n.confirmText,C=void 0===j?"Confirm":j,w=n.confirmButtonProps,y=void 0===w?{}:w,M=n.cancelButtonProps,k=void 0===M?{}:M,E=n.titleIcon,N=void 0===E?null:E;return(0,p.jsxs)(e.Z,{open:o,onClose:function(n,t){"backdropClick"!==t&&f()},className:h.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,p.jsxs)(r.Z,{className:h.title,children:[(0,p.jsxs)("div",{className:h.titleText,children:[N," ",I]}),(0,p.jsx)("div",{className:h.closeContainer,children:(0,p.jsx)(u.Z,{"aria-label":"close",className:h.closeButton,onClick:f,disableRipple:!0,size:"small",children:(0,p.jsx)(g.Z,{})})})]}),(0,p.jsx)(s.Z,{className:h.content,children:S}),(0,p.jsxs)(c.Z,{className:h.actions,children:[(0,p.jsx)(d.Z,(0,i.Z)((0,i.Z)({className:h.cancelButton,onClick:v||f,disabled:b,type:"button"},k),{},{variant:"outlined",color:"primary",children:P})),(0,p.jsx)(l.Z,(0,i.Z)((0,i.Z)({className:h.confirmButton,type:"button",onClick:Z,loading:b,disabled:b,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,p.jsx)(a.Fragment,{}),autoFocus:!0},y),{},{children:C}))]})]})}))},14476:function(n,t,o){o.d(t,{Z:function(){return b}});var i=o(36222),a=o(46633),e=o(18207),r=o(50390),s=o(91442),c=o(4733),d=o(50076),l=o(8208),u=o(15573),g=o(66946),f=o(18201),v=o(10594);function Z(n){return(0,v.Z)("MuiLoadingButton",n)}var p=(0,o(43349).Z)("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),m=o(62559),h=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],x=(0,l.ZP)(g.Z,{shouldForwardProp:function(n){return function(n){return"ownerState"!==n&&"theme"!==n&&"sx"!==n&&"as"!==n&&"classes"!==n}(n)||"classes"===n},name:"MuiLoadingButton",slot:"Root",overridesResolver:function(n,t){return[t.root,t.startIconLoadingStart&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart),t.startIconLoadingStart),t.endIconLoadingEnd&&(0,i.Z)({},"& .".concat(p.endIconLoadingEnd),t.endIconLoadingEnd)]}})((function(n){var t=n.ownerState,o=n.theme;return(0,e.Z)((0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0}),"center"===t.loadingPosition&&(0,i.Z)({transition:o.transitions.create(["background-color","box-shadow","border-color"],{duration:o.transitions.duration.short})},"&.".concat(p.loading),{color:"transparent"}),"start"===t.loadingPosition&&t.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0,marginRight:-8}),"end"===t.loadingPosition&&t.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0,marginLeft:-8}))})),I=(0,l.ZP)("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:function(n,t){var o=n.ownerState;return[t.loadingIndicator,t["loadingIndicator".concat((0,s.Z)(o.loadingPosition))]]}})((function(n){var t=n.theme,o=n.ownerState;return(0,e.Z)({position:"absolute",visibility:"visible",display:"flex"},"start"===o.loadingPosition&&("outlined"===o.variant||"contained"===o.variant)&&{left:14},"start"===o.loadingPosition&&"text"===o.variant&&{left:6},"center"===o.loadingPosition&&{left:"50%",transform:"translate(-50%)",color:t.palette.action.disabled},"end"===o.loadingPosition&&("outlined"===o.variant||"contained"===o.variant)&&{right:14},"end"===o.loadingPosition&&"text"===o.variant&&{right:6},"start"===o.loadingPosition&&o.fullWidth&&{position:"relative",left:-10},"end"===o.loadingPosition&&o.fullWidth&&{position:"relative",right:-10})})),b=r.forwardRef((function(n,t){var o=(0,u.Z)({props:n,name:"MuiLoadingButton"}),i=o.children,l=o.disabled,g=void 0!==l&&l,v=o.id,p=o.loading,b=void 0!==p&&p,S=o.loadingIndicator,L=o.loadingPosition,P=void 0===L?"center":L,j=o.variant,C=void 0===j?"text":j,w=(0,a.Z)(o,h),y=(0,c.Z)(v),M=null!=S?S:(0,m.jsx)(f.Z,{"aria-labelledby":y,color:"inherit",size:16}),k=(0,e.Z)({},o,{disabled:g,loading:b,loadingIndicator:M,loadingPosition:P,variant:C}),E=function(n){var t=n.loading,o=n.loadingPosition,i=n.classes,a={root:["root",t&&"loading"],startIcon:[t&&"startIconLoading".concat((0,s.Z)(o))],endIcon:[t&&"endIconLoading".concat((0,s.Z)(o))],loadingIndicator:["loadingIndicator",t&&"loadingIndicator".concat((0,s.Z)(o))]},r=(0,d.Z)(a,Z,i);return(0,e.Z)({},i,r)}(k);return(0,m.jsx)(x,(0,e.Z)({disabled:g||b,id:y,ref:t},w,{variant:C,classes:E,ownerState:k,children:"end"===k.loadingPosition?(0,m.jsxs)(r.Fragment,{children:[i,b&&(0,m.jsx)(I,{className:E.loadingIndicator,ownerState:k,children:M})]}):(0,m.jsxs)(r.Fragment,{children:[b&&(0,m.jsx)(I,{className:E.loadingIndicator,ownerState:k,children:M}),i]})}))}))},7887:function(n,t,o){o.d(t,{Z:function(){return Z}});var i=o(1048),a=o(32793),e=o(50390),r=o(44977),s=o(50076),c=o(8208),d=o(15573),l=o(10594);function u(n){return(0,l.Z)("MuiDialogActions",n)}(0,o(43349).Z)("MuiDialogActions",["root","spacing"]);var g=o(62559),f=["className","disableSpacing"],v=(0,c.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(n,t){var o=n.ownerState;return[t.root,!o.disableSpacing&&t.spacing]}})((function(n){var t=n.ownerState;return(0,a.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!t.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),Z=e.forwardRef((function(n,t){var o=(0,d.Z)({props:n,name:"MuiDialogActions"}),e=o.className,c=o.disableSpacing,l=void 0!==c&&c,Z=(0,i.Z)(o,f),p=(0,a.Z)({},o,{disableSpacing:l}),m=function(n){var t=n.classes,o={root:["root",!n.disableSpacing&&"spacing"]};return(0,s.Z)(o,u,t)}(p);return(0,g.jsx)(v,(0,a.Z)({className:(0,r.Z)(m.root,e),ownerState:p,ref:t},Z))}))},23473:function(n,t,o){o.d(t,{Z:function(){return Z}});var i=o(1048),a=o(32793),e=o(50390),r=o(50076),s=o(8208),c=o(15573),d=o(35477),l=o(10594);function u(n){return(0,l.Z)("MuiDialogContentText",n)}(0,o(43349).Z)("MuiDialogContentText",["root"]);var g=o(62559),f=["children"],v=(0,s.ZP)(d.Z,{shouldForwardProp:function(n){return(0,s.FO)(n)||"classes"===n},name:"MuiDialogContentText",slot:"Root",overridesResolver:function(n,t){return t.root}})({}),Z=e.forwardRef((function(n,t){var o=(0,c.Z)({props:n,name:"MuiDialogContentText"}),e=(0,i.Z)(o,f),s=function(n){var t=n.classes,o=(0,r.Z)({root:["root"]},u,t);return(0,a.Z)({},t,o)}(e);return(0,g.jsx)(v,(0,a.Z)({component:"p",variant:"body1",color:"text.secondary",ref:t,ownerState:e},o,{classes:s}))}))}}]); -//# sourceMappingURL=9.0e073695.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[9],{60009:function(n,t,o){o.r(t);var i=o(23430),a=(o(50390),o(38342)),e=o.n(a),r=o(34424),s=o(23473),c=o(44149),d=o(21639),l=o(60656),u=o(98280),g=o(62559),f=(0,r.$j)(null,{setErrorSnackMessage:c.Ih});t.default=f((function(n){var t=n.closeDeleteModalAndRefresh,o=n.deleteOpen,a=n.selectedBucket,r=n.bucketEvent,c=n.setErrorSnackMessage,f=(0,d.Z)((function(){return t(!0)}),(function(n){return c(n)})),v=(0,i.Z)(f,2),Z=v[0],p=v[1];if(!a)return null;return(0,g.jsx)(l.Z,{title:"Delete Event",confirmText:"Delete",isOpen:o,titleIcon:(0,g.jsx)(u.Nv,{}),isLoading:Z,onConfirm:function(){if(null!==r){var n=e()(r,"events",[]),t=e()(r,"prefix",""),o=e()(r,"suffix","");p("DELETE","/api/v1/buckets/".concat(a,"/events/").concat(r.arn),{events:n,prefix:t,suffix:o})}},onClose:function(){return t(!1)},confirmationContent:(0,g.jsx)(s.Z,{children:"Are you sure you want to delete this event?"})})}))},21639:function(n,t,o){var i=o(23430),a=o(50390),e=o(30324);t.Z=function(n,t){var o=(0,a.useState)(!1),r=(0,i.Z)(o,2),s=r[0],c=r[1];return[s,function(o,i,a){c(!0),e.Z.invoke(o,i,a).then((function(t){c(!1),n(t)})).catch((function(n){c(!1),t(n)}))}]}},60656:function(n,t,o){var i=o(18489),a=o(50390),e=o(84402),r=o(78426),s=o(93085),c=o(7887),d=o(66946),l=o(14476),u=o(95467),g=o(21278),f=o(86509),v=o(4285),Z=o(72462),p=o(62559);t.Z=(0,v.Z)((function(n){return(0,f.Z)((0,i.Z)({},Z.Qw))}))((function(n){var t=n.isOpen,o=void 0!==t&&t,f=n.onClose,v=n.onCancel,Z=n.onConfirm,m=n.classes,h=void 0===m?{}:m,x=n.title,I=void 0===x?"":x,b=n.isLoading,S=n.confirmationContent,L=n.cancelText,P=void 0===L?"Cancel":L,j=n.confirmText,C=void 0===j?"Confirm":j,w=n.confirmButtonProps,y=void 0===w?{}:w,M=n.cancelButtonProps,k=void 0===M?{}:M,E=n.titleIcon,N=void 0===E?null:E;return(0,p.jsxs)(e.Z,{open:o,onClose:function(n,t){"backdropClick"!==t&&f()},className:h.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,p.jsxs)(r.Z,{className:h.title,children:[(0,p.jsxs)("div",{className:h.titleText,children:[N," ",I]}),(0,p.jsx)("div",{className:h.closeContainer,children:(0,p.jsx)(u.Z,{"aria-label":"close",className:h.closeButton,onClick:f,disableRipple:!0,size:"small",children:(0,p.jsx)(g.Z,{})})})]}),(0,p.jsx)(s.Z,{className:h.content,children:S}),(0,p.jsxs)(c.Z,{className:h.actions,children:[(0,p.jsx)(d.Z,(0,i.Z)((0,i.Z)({className:h.cancelButton,onClick:v||f,disabled:b,type:"button"},k),{},{variant:"outlined",color:"primary",children:P})),(0,p.jsx)(l.Z,(0,i.Z)((0,i.Z)({className:h.confirmButton,type:"button",onClick:Z,loading:b,disabled:b,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,p.jsx)(a.Fragment,{}),autoFocus:!0},y),{},{children:C}))]})]})}))},14476:function(n,t,o){o.d(t,{Z:function(){return b}});var i=o(36222),a=o(46633),e=o(18207),r=o(50390),s=o(91442),c=o(4733),d=o(50076),l=o(8208),u=o(15573),g=o(66946),f=o(18201),v=o(10594);function Z(n){return(0,v.Z)("MuiLoadingButton",n)}var p=(0,o(43349).Z)("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),m=o(62559),h=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],x=(0,l.ZP)(g.Z,{shouldForwardProp:function(n){return function(n){return"ownerState"!==n&&"theme"!==n&&"sx"!==n&&"as"!==n&&"classes"!==n}(n)||"classes"===n},name:"MuiLoadingButton",slot:"Root",overridesResolver:function(n,t){return[t.root,t.startIconLoadingStart&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart),t.startIconLoadingStart),t.endIconLoadingEnd&&(0,i.Z)({},"& .".concat(p.endIconLoadingEnd),t.endIconLoadingEnd)]}})((function(n){var t=n.ownerState,o=n.theme;return(0,e.Z)((0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0}),"center"===t.loadingPosition&&(0,i.Z)({transition:o.transitions.create(["background-color","box-shadow","border-color"],{duration:o.transitions.duration.short})},"&.".concat(p.loading),{color:"transparent"}),"start"===t.loadingPosition&&t.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0,marginRight:-8}),"end"===t.loadingPosition&&t.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:o.transitions.create(["opacity"],{duration:o.transitions.duration.short}),opacity:0,marginLeft:-8}))})),I=(0,l.ZP)("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:function(n,t){var o=n.ownerState;return[t.loadingIndicator,t["loadingIndicator".concat((0,s.Z)(o.loadingPosition))]]}})((function(n){var t=n.theme,o=n.ownerState;return(0,e.Z)({position:"absolute",visibility:"visible",display:"flex"},"start"===o.loadingPosition&&("outlined"===o.variant||"contained"===o.variant)&&{left:14},"start"===o.loadingPosition&&"text"===o.variant&&{left:6},"center"===o.loadingPosition&&{left:"50%",transform:"translate(-50%)",color:t.palette.action.disabled},"end"===o.loadingPosition&&("outlined"===o.variant||"contained"===o.variant)&&{right:14},"end"===o.loadingPosition&&"text"===o.variant&&{right:6},"start"===o.loadingPosition&&o.fullWidth&&{position:"relative",left:-10},"end"===o.loadingPosition&&o.fullWidth&&{position:"relative",right:-10})})),b=r.forwardRef((function(n,t){var o=(0,u.Z)({props:n,name:"MuiLoadingButton"}),i=o.children,l=o.disabled,g=void 0!==l&&l,v=o.id,p=o.loading,b=void 0!==p&&p,S=o.loadingIndicator,L=o.loadingPosition,P=void 0===L?"center":L,j=o.variant,C=void 0===j?"text":j,w=(0,a.Z)(o,h),y=(0,c.Z)(v),M=null!=S?S:(0,m.jsx)(f.Z,{"aria-labelledby":y,color:"inherit",size:16}),k=(0,e.Z)({},o,{disabled:g,loading:b,loadingIndicator:M,loadingPosition:P,variant:C}),E=function(n){var t=n.loading,o=n.loadingPosition,i=n.classes,a={root:["root",t&&"loading"],startIcon:[t&&"startIconLoading".concat((0,s.Z)(o))],endIcon:[t&&"endIconLoading".concat((0,s.Z)(o))],loadingIndicator:["loadingIndicator",t&&"loadingIndicator".concat((0,s.Z)(o))]},r=(0,d.Z)(a,Z,i);return(0,e.Z)({},i,r)}(k);return(0,m.jsx)(x,(0,e.Z)({disabled:g||b,id:y,ref:t},w,{variant:C,classes:E,ownerState:k,children:"end"===k.loadingPosition?(0,m.jsxs)(r.Fragment,{children:[i,b&&(0,m.jsx)(I,{className:E.loadingIndicator,ownerState:k,children:M})]}):(0,m.jsxs)(r.Fragment,{children:[b&&(0,m.jsx)(I,{className:E.loadingIndicator,ownerState:k,children:M}),i]})}))}))},7887:function(n,t,o){o.d(t,{Z:function(){return Z}});var i=o(1048),a=o(32793),e=o(50390),r=o(44977),s=o(50076),c=o(8208),d=o(15573),l=o(10594);function u(n){return(0,l.Z)("MuiDialogActions",n)}(0,o(43349).Z)("MuiDialogActions",["root","spacing"]);var g=o(62559),f=["className","disableSpacing"],v=(0,c.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(n,t){var o=n.ownerState;return[t.root,!o.disableSpacing&&t.spacing]}})((function(n){var t=n.ownerState;return(0,a.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!t.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),Z=e.forwardRef((function(n,t){var o=(0,d.Z)({props:n,name:"MuiDialogActions"}),e=o.className,c=o.disableSpacing,l=void 0!==c&&c,Z=(0,i.Z)(o,f),p=(0,a.Z)({},o,{disableSpacing:l}),m=function(n){var t=n.classes,o={root:["root",!n.disableSpacing&&"spacing"]};return(0,s.Z)(o,u,t)}(p);return(0,g.jsx)(v,(0,a.Z)({className:(0,r.Z)(m.root,e),ownerState:p,ref:t},Z))}))},23473:function(n,t,o){o.d(t,{Z:function(){return Z}});var i=o(1048),a=o(32793),e=o(50390),r=o(50076),s=o(8208),c=o(15573),d=o(35477),l=o(10594);function u(n){return(0,l.Z)("MuiDialogContentText",n)}(0,o(43349).Z)("MuiDialogContentText",["root"]);var g=o(62559),f=["children"],v=(0,s.ZP)(d.Z,{shouldForwardProp:function(n){return(0,s.FO)(n)||"classes"===n},name:"MuiDialogContentText",slot:"Root",overridesResolver:function(n,t){return t.root}})({}),Z=e.forwardRef((function(n,t){var o=(0,c.Z)({props:n,name:"MuiDialogContentText"}),e=(0,i.Z)(o,f),s=function(n){var t=n.classes,o=(0,r.Z)({root:["root"]},u,t);return(0,a.Z)({},t,o)}(e);return(0,g.jsx)(v,(0,a.Z)({component:"p",variant:"body1",color:"text.secondary",ref:t,ownerState:e},o,{classes:s}))}))}}]); +//# sourceMappingURL=9.e9a15c48.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/9.0e073695.chunk.js.map b/portal-ui/build/static/js/9.e9a15c48.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/9.0e073695.chunk.js.map rename to portal-ui/build/static/js/9.e9a15c48.chunk.js.map index bb1fb75c8..537e4d61b 100644 --- a/portal-ui/build/static/js/9.0e073695.chunk.js.map +++ b/portal-ui/build/static/js/9.e9a15c48.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/9.0e073695.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/DeleteEvent.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","../node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","../node_modules/@mui/lab/LoadingButton/LoadingButton.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.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 get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { BucketEvent } from \"../types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\n\ninterface IDeleteEventProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedBucket: string;\n bucketEvent: BucketEvent | null;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeleteEvent = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n bucketEvent,\n setErrorSnackMessage,\n}: IDeleteEventProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedBucket) {\n return null;\n }\n\n const onConfirmDelete = () => {\n if (bucketEvent === null) {\n return;\n }\n\n const events = get(bucketEvent, \"events\", []);\n const prefix = get(bucketEvent, \"prefix\", \"\");\n const suffix = get(bucketEvent, \"suffix\", \"\");\n\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/buckets/${selectedBucket}/events/${bucketEvent.arn}`,\n {\n events,\n prefix,\n suffix,\n }\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete this event?\n \n }\n />\n );\n};\n\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default connector(DeleteEvent);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLoadingButtonUtilityClass(slot) {\n return generateUtilityClass('MuiLoadingButton', slot);\n}\nconst loadingButtonClasses = generateUtilityClasses('MuiLoadingButton', ['root', 'loading', 'loadingIndicator', 'loadingIndicatorCenter', 'loadingIndicatorStart', 'loadingIndicatorEnd', 'endIconLoadingEnd', 'startIconLoadingStart']);\nexport default loadingButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"disabled\", \"id\", \"loading\", \"loadingIndicator\", \"loadingPosition\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@mui/utils';\nimport { capitalize, unstable_useId as useId } from '@mui/material/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading'],\n startIcon: [loading && `startIconLoading${capitalize(loadingPosition)}`],\n endIcon: [loading && `endIconLoading${capitalize(loadingPosition)}`],\n loadingIndicator: ['loadingIndicator', loading && `loadingIndicator${capitalize(loadingPosition)}`]\n };\n const composedClasses = composeClasses(slots, getLoadingButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n}; // TODO use `import { rootShouldForwardProp } from '../styles/styled';` once move to core\n\n\nconst rootShouldForwardProp = prop => prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as' && prop !== 'classes';\n\nconst LoadingButtonRoot = styled(Button, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiLoadingButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root, styles.startIconLoadingStart && {\n [`& .${loadingButtonClasses.startIconLoadingStart}`]: styles.startIconLoadingStart\n }, styles.endIconLoadingEnd && {\n [`& .${loadingButtonClasses.endIconLoadingEnd}`]: styles.endIconLoadingEnd\n }];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n}, ownerState.loadingPosition === 'center' && {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${loadingButtonClasses.loading}`]: {\n color: 'transparent'\n }\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginRight: -8\n }\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginLeft: -8\n }\n}));\nconst LoadingButtonLoadingIndicator = styled('div', {\n name: 'MuiLoadingButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.loadingIndicator, styles[`loadingIndicator${capitalize(ownerState.loadingPosition)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'absolute',\n visibility: 'visible',\n display: 'flex'\n}, ownerState.loadingPosition === 'start' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n left: 14\n}, ownerState.loadingPosition === 'start' && ownerState.variant === 'text' && {\n left: 6\n}, ownerState.loadingPosition === 'center' && {\n left: '50%',\n transform: 'translate(-50%)',\n color: theme.palette.action.disabled\n}, ownerState.loadingPosition === 'end' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n right: 14\n}, ownerState.loadingPosition === 'end' && ownerState.variant === 'text' && {\n right: 6\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n position: 'relative',\n left: -10\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n position: 'relative',\n right: -10\n}));\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLoadingButton'\n });\n\n const {\n children,\n disabled = false,\n id: idProp,\n loading = false,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp != null ? loadingIndicatorProp : /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n\n const ownerState = _extends({}, props, {\n disabled,\n loading,\n loadingIndicator,\n loadingPosition,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LoadingButtonRoot, _extends({\n disabled: disabled || loading,\n id: id,\n ref: ref\n }, other, {\n variant: variant,\n classes: classes,\n ownerState: ownerState,\n children: ownerState.loadingPosition === 'end' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children, loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n }), children]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LoadingButton.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * @ignore\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the loading indicator is shown.\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default we render a `CircularProgress` that is labelled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: chainPropTypes(PropTypes.oneOf(['start', 'end', 'center']), props => {\n if (props.loadingPosition === 'start' && !props.startIcon) {\n return new Error(`MUI: The loadingPosition=\"start\" should be used in combination with startIcon.`);\n }\n\n if (props.loadingPosition === 'end' && !props.endIcon) {\n return new Error(`MUI: The loadingPosition=\"end\" should be used in combination with endIcon.`);\n }\n\n return null;\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes.oneOf(['contained', 'outlined', 'text'])\n} : void 0;\nexport default LoadingButton;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n\n const ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * 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 DialogContentText;"],"names":["connector","connect","setErrorSnackMessage","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","bucketEvent","useApi","err","deleteLoading","invokeDeleteApi","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","events","get","prefix","suffix","arn","onClose","confirmationContent","onSuccess","onError","useState","setIsLoading","method","url","data","api","then","res","catch","withStyles","theme","createStyles","deleteDialogStyles","onCancel","classes","cancelText","confirmButtonProps","cancelButtonProps","open","event","reason","className","root","sx","padding","titleText","closeContainer","closeButton","onClick","disableRipple","size","content","actions","cancelButton","disabled","type","variant","color","confirmButton","loading","loadingPosition","startIcon","autoFocus","getLoadingButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","LoadingButtonRoot","styled","Button","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","startIconLoadingStart","loadingButtonClasses","endIconLoadingEnd","ownerState","_extends","transition","transitions","create","duration","short","opacity","fullWidth","marginRight","marginLeft","LoadingButtonLoadingIndicator","loadingIndicator","capitalize","position","visibility","display","left","transform","palette","action","right","React","inProps","ref","useThemeProps","children","idProp","id","loadingIndicatorProp","other","_objectWithoutPropertiesLoose","useId","_jsx","CircularProgress","slots","endIcon","composedClasses","composeClasses","useUtilityClasses","_jsxs","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","spacing","alignItems","justifyContent","flex","clsx","getDialogContentTextUtilityClass","DialogContentTextRoot","Typography","component"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/9.e9a15c48.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/DeleteEvent.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","../node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","../node_modules/@mui/lab/LoadingButton/LoadingButton.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.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 get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { BucketEvent } from \"../types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\n\ninterface IDeleteEventProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedBucket: string;\n bucketEvent: BucketEvent | null;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeleteEvent = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n bucketEvent,\n setErrorSnackMessage,\n}: IDeleteEventProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedBucket) {\n return null;\n }\n\n const onConfirmDelete = () => {\n if (bucketEvent === null) {\n return;\n }\n\n const events = get(bucketEvent, \"events\", []);\n const prefix = get(bucketEvent, \"prefix\", \"\");\n const suffix = get(bucketEvent, \"suffix\", \"\");\n\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/buckets/${selectedBucket}/events/${bucketEvent.arn}`,\n {\n events,\n prefix,\n suffix,\n }\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete this event?\n \n }\n />\n );\n};\n\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default connector(DeleteEvent);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLoadingButtonUtilityClass(slot) {\n return generateUtilityClass('MuiLoadingButton', slot);\n}\nconst loadingButtonClasses = generateUtilityClasses('MuiLoadingButton', ['root', 'loading', 'loadingIndicator', 'loadingIndicatorCenter', 'loadingIndicatorStart', 'loadingIndicatorEnd', 'endIconLoadingEnd', 'startIconLoadingStart']);\nexport default loadingButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"disabled\", \"id\", \"loading\", \"loadingIndicator\", \"loadingPosition\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@mui/utils';\nimport { capitalize, unstable_useId as useId } from '@mui/material/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading'],\n startIcon: [loading && `startIconLoading${capitalize(loadingPosition)}`],\n endIcon: [loading && `endIconLoading${capitalize(loadingPosition)}`],\n loadingIndicator: ['loadingIndicator', loading && `loadingIndicator${capitalize(loadingPosition)}`]\n };\n const composedClasses = composeClasses(slots, getLoadingButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n}; // TODO use `import { rootShouldForwardProp } from '../styles/styled';` once move to core\n\n\nconst rootShouldForwardProp = prop => prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as' && prop !== 'classes';\n\nconst LoadingButtonRoot = styled(Button, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiLoadingButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root, styles.startIconLoadingStart && {\n [`& .${loadingButtonClasses.startIconLoadingStart}`]: styles.startIconLoadingStart\n }, styles.endIconLoadingEnd && {\n [`& .${loadingButtonClasses.endIconLoadingEnd}`]: styles.endIconLoadingEnd\n }];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n}, ownerState.loadingPosition === 'center' && {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${loadingButtonClasses.loading}`]: {\n color: 'transparent'\n }\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginRight: -8\n }\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginLeft: -8\n }\n}));\nconst LoadingButtonLoadingIndicator = styled('div', {\n name: 'MuiLoadingButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.loadingIndicator, styles[`loadingIndicator${capitalize(ownerState.loadingPosition)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'absolute',\n visibility: 'visible',\n display: 'flex'\n}, ownerState.loadingPosition === 'start' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n left: 14\n}, ownerState.loadingPosition === 'start' && ownerState.variant === 'text' && {\n left: 6\n}, ownerState.loadingPosition === 'center' && {\n left: '50%',\n transform: 'translate(-50%)',\n color: theme.palette.action.disabled\n}, ownerState.loadingPosition === 'end' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n right: 14\n}, ownerState.loadingPosition === 'end' && ownerState.variant === 'text' && {\n right: 6\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n position: 'relative',\n left: -10\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n position: 'relative',\n right: -10\n}));\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLoadingButton'\n });\n\n const {\n children,\n disabled = false,\n id: idProp,\n loading = false,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp != null ? loadingIndicatorProp : /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n\n const ownerState = _extends({}, props, {\n disabled,\n loading,\n loadingIndicator,\n loadingPosition,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LoadingButtonRoot, _extends({\n disabled: disabled || loading,\n id: id,\n ref: ref\n }, other, {\n variant: variant,\n classes: classes,\n ownerState: ownerState,\n children: ownerState.loadingPosition === 'end' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children, loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n }), children]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LoadingButton.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * @ignore\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the loading indicator is shown.\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default we render a `CircularProgress` that is labelled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: chainPropTypes(PropTypes.oneOf(['start', 'end', 'center']), props => {\n if (props.loadingPosition === 'start' && !props.startIcon) {\n return new Error(`MUI: The loadingPosition=\"start\" should be used in combination with startIcon.`);\n }\n\n if (props.loadingPosition === 'end' && !props.endIcon) {\n return new Error(`MUI: The loadingPosition=\"end\" should be used in combination with endIcon.`);\n }\n\n return null;\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes.oneOf(['contained', 'outlined', 'text'])\n} : void 0;\nexport default LoadingButton;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n\n const ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * 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 DialogContentText;"],"names":["connector","connect","setErrorSnackMessage","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","bucketEvent","useApi","err","deleteLoading","invokeDeleteApi","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","events","get","prefix","suffix","arn","onClose","confirmationContent","onSuccess","onError","useState","setIsLoading","method","url","data","api","then","res","catch","withStyles","theme","createStyles","deleteDialogStyles","onCancel","classes","cancelText","confirmButtonProps","cancelButtonProps","open","event","reason","className","root","sx","padding","titleText","closeContainer","closeButton","onClick","disableRipple","size","content","actions","cancelButton","disabled","type","variant","color","confirmButton","loading","loadingPosition","startIcon","autoFocus","getLoadingButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","LoadingButtonRoot","styled","Button","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","startIconLoadingStart","loadingButtonClasses","endIconLoadingEnd","ownerState","_extends","transition","transitions","create","duration","short","opacity","fullWidth","marginRight","marginLeft","LoadingButtonLoadingIndicator","loadingIndicator","capitalize","position","visibility","display","left","transform","palette","action","right","React","inProps","ref","useThemeProps","children","idProp","id","loadingIndicatorProp","other","_objectWithoutPropertiesLoose","useId","_jsx","CircularProgress","slots","endIcon","composedClasses","composeClasses","useUtilityClasses","_jsxs","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","spacing","alignItems","justifyContent","flex","clsx","getDialogContentTextUtilityClass","DialogContentTextRoot","Typography","component"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1140.0208375a.chunk.js b/portal-ui/build/static/js/9080.516d04de.chunk.js similarity index 98% rename from portal-ui/build/static/js/1140.0208375a.chunk.js rename to portal-ui/build/static/js/9080.516d04de.chunk.js index e3b522994..37d2fa2b3 100644 --- a/portal-ui/build/static/js/1140.0208375a.chunk.js +++ b/portal-ui/build/static/js/9080.516d04de.chunk.js @@ -1,2 +1,2 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1140,9080],{39080:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return w}});var r=n(18489),o=n(35531),a=n(50390),i=n(38342),s=n.n(i),l=n(86509),c=n(4285),u=n(66946),d=n(76352),p=n(25594),f=n(58217),m=n(65771),y=n(70758),g=n(33034),h=n.n(g),b=n(11387),x=n(72462),v=n(62559),C=(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)({},x.YI.inputLabel),{},{fontSize:".8rem"})})}))((function(e){var t=e.label,n=void 0===t?"":t,r=e.value,o=void 0===r?"":r,a=e.classes,i=void 0===a?{}:a;return(0,v.jsxs)("div",{className:i.container,children:[(0,v.jsxs)("div",{className:i.inputLabel,children:[n,":"]}),(0,v.jsx)("div",{className:i.inputWithCopy,children:(0,v.jsx)(f.Z,{value:o,readOnly:!0,endAdornment:(0,v.jsx)(m.Z,{position:"end",children:(0,v.jsx)(h(),{text:o,children:(0,v.jsx)(y.Z,{"aria-label":"copy",tooltip:"Copy",onClick:function(){},onMouseDown:function(){},edge:"end",children:(0,v.jsx)(b.TI,{})})})})})})]})})),j=n(47424),w=(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:{textAlign:"right",marginTop:"1rem"},credentialsPanel:{overflowY:"auto",maxHeight:350},promptTitle:{display:"flex",alignItems:"center"},buttonSpacer:{marginRight:".9rem"},promptIcon:{marginRight:".1rem",display:"flex",alignItems:"center",height:"2rem",width:"2rem"}})}))((function(e){var t=e.classes,n=e.newServiceAccount,i=e.open,l=e.closeModal,c=e.entity;if(!n)return null;var f=s()(n,"console",null),m=s()(n,"idp",!1);return(0,v.jsx)(d.Z,{modalOpen:i,onClose:function(){l()},title:(0,v.jsx)("div",{className:t.promptTitle,children:(0,v.jsxs)("div",{children:["New ",c," Created"]})}),titleIcon:(0,v.jsx)(b.tV,{}),children:(0,v.jsxs)(p.ZP,{container:!0,children:[(0,v.jsxs)(p.ZP,{item:!0,xs:12,className:t.formScrollable,children:["A new ",c," has been created with the following details:",!m&&f&&(0,v.jsx)(a.Fragment,{children:(0,v.jsxs)(p.ZP,{item:!0,xs:12,className:t.credentialsPanel,children:[(0,v.jsx)("div",{className:t.credentialTitle,children:"Console Credentials"}),Array.isArray(f)&&f.map((function(e,t){return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(C,{label:"Access Key",value:e.accessKey}),(0,v.jsx)(C,{label:"Secret Key",value:e.secretKey})]})})),!Array.isArray(f)&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(C,{label:"Access Key",value:f.accessKey}),(0,v.jsx)(C,{label:"Secret Key",value:f.secretKey})]})]})}),m?(0,v.jsx)("div",{className:t.warningBlock,children:"Please Login via the configured external identity provider."}):(0,v.jsxs)("div",{className:t.warningBlock,children:[(0,v.jsx)(j.Z,{}),(0,v.jsx)("span",{children:"Write these down, as this is the only time the secret will be displayed."})]})]}),(0,v.jsxs)(p.ZP,{item:!0,xs:12,className:t.buttonContainer,children:[(0,v.jsx)(u.Z,{variant:"outlined",className:t.buttonSpacer,onClick:function(){l()},color:"primary",children:"Done"}),!m&&(0,v.jsx)(u.Z,{onClick:function(){var e={};if(f)if(Array.isArray(f)){var t=f.map((function(e){return{access_key:e.accessKey,secret_key:e.secretKey}}));e={console:(0,o.Z)(t)}}else e={console:[{access_key:f.accessKey,secret_key:f.secretKey}]};!function(e,t){var n=document.createElement("a");n.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(t)),n.setAttribute("download",e),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)}("credentials.json",JSON.stringify((0,r.Z)({},e)))},endIcon:(0,v.jsx)(b._8,{}),variant:"contained",color:"primary",children:"Download"})]})]})})}))},76352:function(e,t,n){"use strict";n.d(t,{Z:function(){return Z}});var r,o=n(23430),a=n(18489),i=n(50390),s=n(34424),l=n(95467),c=n(97771),u=n(84402),d=n(78426),p=n(93085),f=n(86509),m=n(4285),y=n(72462),g=n(44149),h=n(38342),b=n.n(h),x=n(92125),v=n(19538),C=n(21278),j=n(62559),w=function(){clearInterval(r)},k={displayErrorMessage:g.zb},S=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),k)((0,m.Z)((function(e){return(0,f.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var t=e.classes,n=e.modalSnackMessage,a=e.displayErrorMessage,s=e.customStyle,l=(0,i.useState)(!1),c=(0,o.Z)(l,2),u=c[0],d=c[1],p=(0,i.useState)(!1),f=(0,o.Z)(p,2),m=f[0],y=f[1],g=(0,i.useCallback)((function(){y(!1)}),[]);(0,i.useEffect)((function(){m||(a({detailedError:"",errorMessage:""}),d(!1))}),[a,m]),(0,i.useEffect)((function(){""!==n.message&&"error"===n.type&&y(!0)}),[g,n.message,n.type]);var h=b()(n,"message",""),k=b()(n,"detailedErrorMsg","");return"error"!==n.type||""===h?null:(0,j.jsx)(i.Fragment,{children:(0,j.jsxs)("div",{className:"".concat(t.modalErrorContainer," ").concat(m?t.modalErrorShow:""),style:s,onMouseOver:w,onMouseLeave:function(){r=setInterval(g,1e4)},children:[(0,j.jsx)("button",{className:t.closeButton,onClick:g,children:(0,j.jsx)(C.Z,{})}),(0,j.jsxs)("div",{className:t.errorTitle,children:[(0,j.jsx)("span",{className:t.messageIcon,children:(0,j.jsx)(v.Z,{})}),(0,j.jsx)("span",{className:t.errorLabel,children:h})]}),""!==k&&(0,j.jsxs)(i.Fragment,{children:[(0,j.jsx)("div",{className:t.detailsContainerLink,children:(0,j.jsxs)("button",{className:t.detailsButton,onClick:function(){d(!u)},children:["Details",(0,j.jsx)(x.Z,{className:"".concat(t.arrowElement," ").concat(u?t.arrowOpen:"")})]})}),(0,j.jsx)("div",{className:"".concat(t.extraDetailsContainer," ").concat(u?t.extraDetailsOpen:""),children:k})]})]})})}))),O=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:g.MK}),Z=(0,m.Z)((function(e){return(0,f.Z)((0,a.Z)((0,a.Z)({},y.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},y.sN))}))(O((function(e){var t=e.onClose,n=e.modalOpen,r=e.title,s=e.children,f=e.classes,m=e.wideLimit,y=void 0===m||m,g=e.modalSnackMessage,h=e.noContentPadding,b=e.setModalSnackMessage,x=e.titleIcon,v=void 0===x?null:x,w=(0,i.useState)(!1),k=(0,o.Z)(w,2),O=k[0],Z=k[1];(0,i.useEffect)((function(){b("")}),[b]),(0,i.useEffect)((function(){if(g){if(""===g.message)return void Z(!1);"error"!==g.type&&Z(!0)}}),[g]);var E=y?{classes:{paper:f.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},D="";return g&&(D=g.detailedErrorMsg,(""===g.detailedErrorMsg||g.detailedErrorMsg.length<5)&&(D=g.message)),(0,j.jsxs)(u.Z,(0,a.Z)((0,a.Z)({open:n,classes:f},E),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:f.root,children:[(0,j.jsxs)(d.Z,{className:f.title,children:[(0,j.jsxs)("div",{className:f.titleText,children:[v," ",r]}),(0,j.jsx)("div",{className:f.closeContainer,children:(0,j.jsx)(l.Z,{"aria-label":"close",className:f.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,j.jsx)(C.Z,{})})})]}),(0,j.jsx)(S,{}),(0,j.jsx)(c.Z,{open:O,className:f.snackBarModal,onClose:function(){Z(!1),b("")},message:D,ContentProps:{className:"".concat(f.snackBar," ").concat(g&&"error"===g.type?f.errorSnackBar:"")},autoHideDuration:g&&"error"===g.type?1e4:5e3}),(0,j.jsx)(p.Z,{className:h?"":f.content,children:s})]}))})))},20409:function(e,t,n){"use strict";var r=n(61498),o={"text/plain":"Text","text/html":"Url",default:"Text"};e.exports=function(e,t){var n,a,i,s,l,c,u=!1;t||(t={}),n=t.debug||!1;try{if(i=r(),s=document.createRange(),l=document.getSelection(),(c=document.createElement("span")).textContent=e,c.style.all="unset",c.style.position="fixed",c.style.top=0,c.style.clip="rect(0, 0, 0, 0)",c.style.whiteSpace="pre",c.style.webkitUserSelect="text",c.style.MozUserSelect="text",c.style.msUserSelect="text",c.style.userSelect="text",c.addEventListener("copy",(function(r){if(r.stopPropagation(),t.format)if(r.preventDefault(),"undefined"===typeof r.clipboardData){n&&console.warn("unable to use e.clipboardData"),n&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var a=o[t.format]||o.default;window.clipboardData.setData(a,e)}else r.clipboardData.clearData(),r.clipboardData.setData(t.format,e);t.onCopy&&(r.preventDefault(),t.onCopy(r.clipboardData))})),document.body.appendChild(c),s.selectNodeContents(c),l.addRange(s),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");u=!0}catch(d){n&&console.error("unable to copy using execCommand: ",d),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),u=!0}catch(d){n&&console.error("unable to copy using clipboardData: ",d),n&&console.error("falling back to prompt"),a=function(e){var t=(/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}("message"in t?t.message:"Copy to clipboard: #{key}, Enter"),window.prompt(a,e)}}finally{l&&("function"==typeof l.removeRange?l.removeRange(s):l.removeAllRanges()),c&&document.body.removeChild(c),i()}return u}},12900:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CopyToClipboard=void 0;var r=a(n(50390)),o=a(n(20409));function a(e){return e&&e.__esModule?e:{default:e}}function i(e){return i="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},i(e)}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var n=0;n=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var n=0;n.\n\nimport React from \"react\";\nimport { InputAdornment, OutlinedInput } from \"@mui/material\";\nimport BoxIconButton from \"../BoxIconButton/BoxIconButton\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { CopyIcon } from \"../../../../icons\";\nimport { fieldBasic } from \"../FormComponents/common/styleLibrary\";\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 onMouseDown={() => {}}\n edge=\"end\"\n >\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 createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { NewServiceAccount } from \"./types\";\nimport { Button } from \"@mui/material\";\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\";\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 textAlign: \"right\",\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 promptIcon: {\n marginRight: \".1rem\",\n display: \"flex\",\n alignItems: \"center\",\n height: \"2rem\",\n width: \"2rem\",\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(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + encodeURIComponent(text)\n );\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n\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\n const consoleCreds = get(newServiceAccount, \"console\", null);\n const idp = get(newServiceAccount, \"idp\", false);\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 {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 {\n closeModal();\n }}\n color=\"primary\"\n >\n Done\n \n\n {!idp && (\n {\n let consoleExtras = {};\n\n if (consoleCreds) {\n if (!Array.isArray(consoleCreds)) {\n consoleExtras = {\n console: [\n {\n access_key: consoleCreds.accessKey,\n secret_key: consoleCreds.secretKey,\n },\n ],\n };\n } else {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n access_key: itemMap.accessKey,\n secret_key: itemMap.secretKey,\n };\n });\n\n consoleExtras = {\n console: [...cCreds],\n };\n }\n }\n\n download(\n \"credentials.json\",\n JSON.stringify({\n ...consoleExtras,\n })\n );\n }}\n endIcon={}\n variant=\"contained\"\n color=\"primary\"\n >\n Download\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\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { 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\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 _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 _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CopyToClipboard =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n function CopyToClipboard() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(CopyToClipboard)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, [\"text\", \"onCopy\", \"options\", \"children\"]);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return _react[\"default\"].cloneElement(elem, _objectSpread({}, props, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n"],"names":["withStyles","theme","createStyles","container","display","flexFlow","padding","inputWithCopy","width","background","height","marginRight","inputLabel","fieldBasic","fontSize","label","value","classes","className","OutlinedInput","readOnly","endAdornment","InputAdornment","position","text","BoxIconButton","tooltip","onClick","onMouseDown","edge","warningBlock","color","margin","alignItems","credentialTitle","fontWeight","buttonContainer","textAlign","marginTop","credentialsPanel","overflowY","maxHeight","promptTitle","buttonSpacer","promptIcon","newServiceAccount","open","closeModal","entity","consoleCreds","get","idp","ModalWrapper","modalOpen","onClose","title","titleIcon","Grid","item","xs","formScrollable","Array","isArray","map","credentialsPair","index","accessKey","secretKey","WarnIcon","Button","variant","consoleExtras","cCreds","itemMap","access_key","secret_key","console","filename","element","document","createElement","setAttribute","encodeURIComponent","style","body","appendChild","click","removeChild","download","JSON","stringify","endIcon","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","backgroundColor","border","borderLeftWidth","borderRadius","zIndex","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","right","cursor","errorTitle","errorLabel","marginLeft","messageIcon","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","useState","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","type","messageDetails","Fragment","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","deleteDialogStyles","root","content","paddingBottom","customDialogSize","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","fullWidth","detailedErrorMsg","length","Dialog","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","disableRipple","size","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","deselectCurrent","require","clipboardToIE11Formatting","module","exports","options","debug","reselectPrevious","range","selection","mark","success","createRange","getSelection","textContent","all","top","clip","whiteSpace","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","addEventListener","e","stopPropagation","format","preventDefault","clipboardData","warn","window","clearData","setData","onCopy","selectNodeContents","addRange","execCommand","Error","err","error","copyKey","test","navigator","userAgent","replace","prompt","removeRange","removeAllRanges","Object","defineProperty","CopyToClipboard","_react","_interopRequireDefault","_copyToClipboard","obj","__esModule","_typeof","Symbol","iterator","constructor","prototype","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectWithoutProperties","source","excluded","key","i","target","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","call","_classCallCheck","instance","Constructor","TypeError","_defineProperties","props","descriptor","configurable","writable","_possibleConstructorReturn","self","_assertThisInitialized","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","ReferenceError","_setPrototypeOf","p","_defineProperty","_React$PureComponent","_getPrototypeOf2","_this","this","_len","arguments","args","_key","concat","_this$props","elem","Children","only","result","protoProps","staticProps","subClass","superClass","create","_inherits","_this$props2","cloneElement","forEach","getOwnPropertyDescriptors","defineProperties","_objectSpread","PureComponent","undefined","rangeCount","active","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur","focus"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/9080.516d04de.chunk.js","mappings":"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","sources":["screens/Console/Common/CredentialsPrompt/CredentialItem.tsx","screens/Console/Common/CredentialsPrompt/CredentialsPrompt.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","../node_modules/copy-to-clipboard/index.js","../node_modules/react-copy-to-clipboard/lib/Component.js","../node_modules/react-copy-to-clipboard/lib/index.js","../node_modules/toggle-selection/index.js"],"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 { InputAdornment, OutlinedInput } from \"@mui/material\";\nimport BoxIconButton from \"../BoxIconButton/BoxIconButton\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { CopyIcon } from \"../../../../icons\";\nimport { fieldBasic } from \"../FormComponents/common/styleLibrary\";\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 onMouseDown={() => {}}\n edge=\"end\"\n >\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 createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { NewServiceAccount } from \"./types\";\nimport { Button } from \"@mui/material\";\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\";\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 textAlign: \"right\",\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 promptIcon: {\n marginRight: \".1rem\",\n display: \"flex\",\n alignItems: \"center\",\n height: \"2rem\",\n width: \"2rem\",\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(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + encodeURIComponent(text)\n );\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n\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\n const consoleCreds = get(newServiceAccount, \"console\", null);\n const idp = get(newServiceAccount, \"idp\", false);\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 {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 {\n closeModal();\n }}\n color=\"primary\"\n >\n Done\n \n\n {!idp && (\n {\n let consoleExtras = {};\n\n if (consoleCreds) {\n if (!Array.isArray(consoleCreds)) {\n consoleExtras = {\n console: [\n {\n access_key: consoleCreds.accessKey,\n secret_key: consoleCreds.secretKey,\n },\n ],\n };\n } else {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n access_key: itemMap.accessKey,\n secret_key: itemMap.secretKey,\n };\n });\n\n consoleExtras = {\n console: [...cCreds],\n };\n }\n }\n\n download(\n \"credentials.json\",\n JSON.stringify({\n ...consoleExtras,\n })\n );\n }}\n endIcon={}\n variant=\"contained\"\n color=\"primary\"\n >\n Download\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\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { 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\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 _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 _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CopyToClipboard =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n function CopyToClipboard() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(CopyToClipboard)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, [\"text\", \"onCopy\", \"options\", \"children\"]);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return _react[\"default\"].cloneElement(elem, _objectSpread({}, props, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n"],"names":["withStyles","theme","createStyles","container","display","flexFlow","padding","inputWithCopy","width","background","height","marginRight","inputLabel","fieldBasic","fontSize","label","value","classes","className","OutlinedInput","readOnly","endAdornment","InputAdornment","position","text","BoxIconButton","tooltip","onClick","onMouseDown","edge","warningBlock","color","margin","alignItems","credentialTitle","fontWeight","buttonContainer","textAlign","marginTop","credentialsPanel","overflowY","maxHeight","promptTitle","buttonSpacer","promptIcon","newServiceAccount","open","closeModal","entity","consoleCreds","get","idp","ModalWrapper","modalOpen","onClose","title","titleIcon","Grid","item","xs","formScrollable","Array","isArray","map","credentialsPair","index","accessKey","secretKey","WarnIcon","Button","variant","consoleExtras","cCreds","itemMap","access_key","secret_key","console","filename","element","document","createElement","setAttribute","encodeURIComponent","style","body","appendChild","click","removeChild","download","JSON","stringify","endIcon","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","backgroundColor","border","borderLeftWidth","borderRadius","zIndex","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","right","cursor","errorTitle","errorLabel","marginLeft","messageIcon","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","useState","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","type","messageDetails","Fragment","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","deleteDialogStyles","root","content","paddingBottom","customDialogSize","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","fullWidth","detailedErrorMsg","length","Dialog","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","disableRipple","size","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","deselectCurrent","require","clipboardToIE11Formatting","module","exports","options","debug","reselectPrevious","range","selection","mark","success","createRange","getSelection","textContent","all","top","clip","whiteSpace","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","addEventListener","e","stopPropagation","format","preventDefault","clipboardData","warn","window","clearData","setData","onCopy","selectNodeContents","addRange","execCommand","Error","err","error","copyKey","test","navigator","userAgent","replace","prompt","removeRange","removeAllRanges","Object","defineProperty","CopyToClipboard","_react","_interopRequireDefault","_copyToClipboard","obj","__esModule","_typeof","Symbol","iterator","constructor","prototype","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectWithoutProperties","source","excluded","key","i","target","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","call","_classCallCheck","instance","Constructor","TypeError","_defineProperties","props","descriptor","configurable","writable","_possibleConstructorReturn","self","_assertThisInitialized","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","ReferenceError","_setPrototypeOf","p","_defineProperty","_React$PureComponent","_getPrototypeOf2","_this","this","_len","arguments","args","_key","concat","_this$props","elem","Children","only","result","protoProps","staticProps","subClass","superClass","create","_inherits","_this$props2","cloneElement","forEach","getOwnPropertyDescriptors","defineProperties","_objectSpread","PureComponent","undefined","rangeCount","active","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur","focus"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/9080.bb419916.chunk.js b/portal-ui/build/static/js/9080.bb419916.chunk.js deleted file mode 100644 index 2c4b979a4..000000000 --- a/portal-ui/build/static/js/9080.bb419916.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[9080],{39080:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return j}});var r=n(18489),o=n(35531),i=n(50390),a=n(38342),c=n.n(a),l=n(86509),s=n(4285),u=n(66946),p=n(76352),d=n(25594),f=n(58217),y=n(65771),m=n(70758),b=n(33034),h=n.n(b),g=n(11387),v=n(72462),x=n(62559),w=(0,s.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)({},v.YI.inputLabel),{},{fontSize:".8rem"})})}))((function(e){var t=e.label,n=void 0===t?"":t,r=e.value,o=void 0===r?"":r,i=e.classes,a=void 0===i?{}:i;return(0,x.jsxs)("div",{className:a.container,children:[(0,x.jsxs)("div",{className:a.inputLabel,children:[n,":"]}),(0,x.jsx)("div",{className:a.inputWithCopy,children:(0,x.jsx)(f.Z,{value:o,readOnly:!0,endAdornment:(0,x.jsx)(y.Z,{position:"end",children:(0,x.jsx)(h(),{text:o,children:(0,x.jsx)(m.Z,{"aria-label":"copy",tooltip:"Copy",onClick:function(){},onMouseDown:function(){},edge:"end",children:(0,x.jsx)(g.TI,{})})})})})})]})})),C=n(47424),j=(0,s.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:{textAlign:"right",marginTop:"1rem"},credentialsPanel:{overflowY:"auto",maxHeight:350},promptTitle:{display:"flex",alignItems:"center"},buttonSpacer:{marginRight:".9rem"},promptIcon:{marginRight:".1rem",display:"flex",alignItems:"center",height:"2rem",width:"2rem"}})}))((function(e){var t=e.classes,n=e.newServiceAccount,a=e.open,l=e.closeModal,s=e.entity;if(!n)return null;var f=c()(n,"console",null),y=c()(n,"idp",!1);return(0,x.jsx)(p.Z,{modalOpen:a,onClose:function(){l()},title:(0,x.jsx)("div",{className:t.promptTitle,children:(0,x.jsxs)("div",{children:["New ",s," Created"]})}),titleIcon:(0,x.jsx)(g.tV,{}),children:(0,x.jsxs)(d.ZP,{container:!0,children:[(0,x.jsxs)(d.ZP,{item:!0,xs:12,className:t.formScrollable,children:["A new ",s," has been created with the following details:",!y&&f&&(0,x.jsx)(i.Fragment,{children:(0,x.jsxs)(d.ZP,{item:!0,xs:12,className:t.credentialsPanel,children:[(0,x.jsx)("div",{className:t.credentialTitle,children:"Console Credentials"}),Array.isArray(f)&&f.map((function(e,t){return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(w,{label:"Access Key",value:e.accessKey}),(0,x.jsx)(w,{label:"Secret Key",value:e.secretKey})]})})),!Array.isArray(f)&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(w,{label:"Access Key",value:f.accessKey}),(0,x.jsx)(w,{label:"Secret Key",value:f.secretKey})]})]})}),y?(0,x.jsx)("div",{className:t.warningBlock,children:"Please Login via the configured external identity provider."}):(0,x.jsxs)("div",{className:t.warningBlock,children:[(0,x.jsx)(C.Z,{}),(0,x.jsx)("span",{children:"Write these down, as this is the only time the secret will be displayed."})]})]}),(0,x.jsxs)(d.ZP,{item:!0,xs:12,className:t.buttonContainer,children:[(0,x.jsx)(u.Z,{variant:"outlined",className:t.buttonSpacer,onClick:function(){l()},color:"primary",children:"Done"}),!y&&(0,x.jsx)(u.Z,{onClick:function(){var e={};if(f)if(Array.isArray(f)){var t=f.map((function(e){return{access_key:e.accessKey,secret_key:e.secretKey}}));e={console:(0,o.Z)(t)}}else e={console:[{access_key:f.accessKey,secret_key:f.secretKey}]};!function(e,t){var n=document.createElement("a");n.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(t)),n.setAttribute("download",e),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)}("credentials.json",JSON.stringify((0,r.Z)({},e)))},endIcon:(0,x.jsx)(g._8,{}),variant:"contained",color:"primary",children:"Download"})]})]})})}))},20409:function(e,t,n){"use strict";var r=n(61498),o={"text/plain":"Text","text/html":"Url",default:"Text"};e.exports=function(e,t){var n,i,a,c,l,s,u=!1;t||(t={}),n=t.debug||!1;try{if(a=r(),c=document.createRange(),l=document.getSelection(),(s=document.createElement("span")).textContent=e,s.style.all="unset",s.style.position="fixed",s.style.top=0,s.style.clip="rect(0, 0, 0, 0)",s.style.whiteSpace="pre",s.style.webkitUserSelect="text",s.style.MozUserSelect="text",s.style.msUserSelect="text",s.style.userSelect="text",s.addEventListener("copy",(function(r){if(r.stopPropagation(),t.format)if(r.preventDefault(),"undefined"===typeof r.clipboardData){n&&console.warn("unable to use e.clipboardData"),n&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var i=o[t.format]||o.default;window.clipboardData.setData(i,e)}else r.clipboardData.clearData(),r.clipboardData.setData(t.format,e);t.onCopy&&(r.preventDefault(),t.onCopy(r.clipboardData))})),document.body.appendChild(s),c.selectNodeContents(s),l.addRange(c),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");u=!0}catch(p){n&&console.error("unable to copy using execCommand: ",p),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),u=!0}catch(p){n&&console.error("unable to copy using clipboardData: ",p),n&&console.error("falling back to prompt"),i=function(e){var t=(/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}("message"in t?t.message:"Copy to clipboard: #{key}, Enter"),window.prompt(i,e)}}finally{l&&("function"==typeof l.removeRange?l.removeRange(c):l.removeAllRanges()),s&&document.body.removeChild(s),a()}return u}},12900:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CopyToClipboard=void 0;var r=i(n(50390)),o=i(n(20409));function i(e){return e&&e.__esModule?e:{default:e}}function a(e){return a="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var n=0;n.\n\nimport React from \"react\";\nimport { InputAdornment, OutlinedInput } from \"@mui/material\";\nimport BoxIconButton from \"../BoxIconButton/BoxIconButton\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { CopyIcon } from \"../../../../icons\";\nimport { fieldBasic } from \"../FormComponents/common/styleLibrary\";\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 onMouseDown={() => {}}\n edge=\"end\"\n >\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 createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { NewServiceAccount } from \"./types\";\nimport { Button } from \"@mui/material\";\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\";\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 textAlign: \"right\",\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 promptIcon: {\n marginRight: \".1rem\",\n display: \"flex\",\n alignItems: \"center\",\n height: \"2rem\",\n width: \"2rem\",\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(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + encodeURIComponent(text)\n );\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n\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\n const consoleCreds = get(newServiceAccount, \"console\", null);\n const idp = get(newServiceAccount, \"idp\", false);\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 {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 {\n closeModal();\n }}\n color=\"primary\"\n >\n Done\n \n\n {!idp && (\n {\n let consoleExtras = {};\n\n if (consoleCreds) {\n if (!Array.isArray(consoleCreds)) {\n consoleExtras = {\n console: [\n {\n access_key: consoleCreds.accessKey,\n secret_key: consoleCreds.secretKey,\n },\n ],\n };\n } else {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n access_key: itemMap.accessKey,\n secret_key: itemMap.secretKey,\n };\n });\n\n consoleExtras = {\n console: [...cCreds],\n };\n }\n }\n\n download(\n \"credentials.json\",\n JSON.stringify({\n ...consoleExtras,\n })\n );\n }}\n endIcon={}\n variant=\"contained\"\n color=\"primary\"\n >\n Download\n \n )}\n \n
\n \n );\n};\n\nexport default withStyles(styles)(CredentialsPrompt);\n","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CopyToClipboard = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _copyToClipboard = _interopRequireDefault(require(\"copy-to-clipboard\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { 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\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(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\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 _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 _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar CopyToClipboard =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(CopyToClipboard, _React$PureComponent);\n\n function CopyToClipboard() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, CopyToClipboard);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(CopyToClipboard)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n var _this$props = _this.props,\n text = _this$props.text,\n onCopy = _this$props.onCopy,\n children = _this$props.children,\n options = _this$props.options;\n\n var elem = _react[\"default\"].Children.only(children);\n\n var result = (0, _copyToClipboard[\"default\"])(text, options);\n\n if (onCopy) {\n onCopy(text, result);\n } // Bypass onClick if it was present\n\n\n if (elem && elem.props && typeof elem.props.onClick === 'function') {\n elem.props.onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(CopyToClipboard, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _text = _this$props2.text,\n _onCopy = _this$props2.onCopy,\n _options = _this$props2.options,\n children = _this$props2.children,\n props = _objectWithoutProperties(_this$props2, [\"text\", \"onCopy\", \"options\", \"children\"]);\n\n var elem = _react[\"default\"].Children.only(children);\n\n return _react[\"default\"].cloneElement(elem, _objectSpread({}, props, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return CopyToClipboard;\n}(_react[\"default\"].PureComponent);\n\nexports.CopyToClipboard = CopyToClipboard;\n\n_defineProperty(CopyToClipboard, \"defaultProps\", {\n onCopy: undefined,\n options: undefined\n});","\"use strict\";\n\nvar _require = require('./Component'),\n CopyToClipboard = _require.CopyToClipboard;\n\nCopyToClipboard.CopyToClipboard = CopyToClipboard;\nmodule.exports = CopyToClipboard;","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n"],"names":["withStyles","theme","createStyles","container","display","flexFlow","padding","inputWithCopy","width","background","height","marginRight","inputLabel","fieldBasic","fontSize","label","value","classes","className","OutlinedInput","readOnly","endAdornment","InputAdornment","position","text","BoxIconButton","tooltip","onClick","onMouseDown","edge","warningBlock","color","margin","alignItems","credentialTitle","fontWeight","buttonContainer","textAlign","marginTop","credentialsPanel","overflowY","maxHeight","promptTitle","buttonSpacer","promptIcon","newServiceAccount","open","closeModal","entity","consoleCreds","get","idp","ModalWrapper","modalOpen","onClose","title","titleIcon","Grid","item","xs","formScrollable","Array","isArray","map","credentialsPair","index","accessKey","secretKey","WarnIcon","Button","variant","consoleExtras","cCreds","itemMap","access_key","secret_key","console","filename","element","document","createElement","setAttribute","encodeURIComponent","style","body","appendChild","click","removeChild","download","JSON","stringify","endIcon","deselectCurrent","require","clipboardToIE11Formatting","module","exports","options","debug","message","reselectPrevious","range","selection","mark","success","createRange","getSelection","textContent","all","top","clip","whiteSpace","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","addEventListener","e","stopPropagation","format","preventDefault","clipboardData","warn","window","clearData","setData","onCopy","selectNodeContents","addRange","execCommand","Error","err","error","copyKey","test","navigator","userAgent","replace","prompt","removeRange","removeAllRanges","Object","defineProperty","CopyToClipboard","_react","_interopRequireDefault","_copyToClipboard","obj","__esModule","_typeof","Symbol","iterator","constructor","prototype","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectWithoutProperties","source","excluded","key","i","target","sourceKeys","length","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","call","_classCallCheck","instance","Constructor","TypeError","_defineProperties","props","descriptor","configurable","writable","_possibleConstructorReturn","self","_assertThisInitialized","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","ReferenceError","_setPrototypeOf","p","_defineProperty","_React$PureComponent","_getPrototypeOf2","_this","this","_len","arguments","args","_key","concat","event","_this$props","children","elem","Children","only","result","protoProps","staticProps","subClass","superClass","create","_inherits","_this$props2","cloneElement","forEach","getOwnPropertyDescriptors","defineProperties","_objectSpread","PureComponent","undefined","rangeCount","active","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur","type","focus"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/9193.cbd8d842.chunk.js b/portal-ui/build/static/js/9193.840c0a00.chunk.js similarity index 91% rename from portal-ui/build/static/js/9193.cbd8d842.chunk.js rename to portal-ui/build/static/js/9193.840c0a00.chunk.js index 414a6982f..7b01db748 100644 --- a/portal-ui/build/static/js/9193.cbd8d842.chunk.js +++ b/portal-ui/build/static/js/9193.840c0a00.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[9193],{49193:function(e,t,n){n.r(t);var s=n(23430),r=n(50390),o=n(34424),i=n(23473),l=n(44149),c=n(21639),u=n(60656),a=n(11387),d=n(92440),f=n(62559),h={setErrorSnackMessage:l.Ih},v=(0,o.$j)(null,h);t.default=v((function(e){var t=e.closeDeleteModalAndRefresh,n=e.deleteOpen,o=e.selectedBucket,l=e.selectedObjects,h=e.setErrorSnackMessage,v=e.versioning,p=(0,r.useState)(!1),b=(0,s.Z)(p,2),j=b[0],k=b[1],g=(0,c.Z)((function(){return t(!0)}),(function(e){return h(e)})),C=(0,s.Z)(g,2),D=C[0],Z=C[1];if(!l)return null;return(0,f.jsx)(u.Z,{title:"Delete Objects",confirmText:"Delete",isOpen:n,titleIcon:(0,f.jsx)(a.Nv,{}),isLoading:D,onConfirm:function(){for(var e=[],t=0;t.\n\nimport React, { useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../../../icons\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\n\ninterface IDeleteObjectProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObjects: string[];\n selectedBucket: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n versioning: boolean;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObjects,\n setErrorSnackMessage,\n versioning,\n}: IDeleteObjectProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n const [deleteVersions, setDeleteVersions] = useState(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedObjects) {\n return null;\n }\n const onConfirmDelete = () => {\n let toSend = [];\n for (let i = 0; i < selectedObjects.length; i++) {\n if (selectedObjects[i].endsWith(\"/\")) {\n toSend.push({\n path: selectedObjects[i],\n versionID: \"\",\n recursive: true,\n });\n } else {\n toSend.push({\n path: selectedObjects[i],\n versionID: \"\",\n recursive: false,\n });\n }\n }\n\n if (toSend) {\n invokeDeleteApi(\n \"POST\",\n `/api/v1/buckets/${selectedBucket}/delete-objects?all_versions=${deleteVersions}`,\n toSend\n );\n }\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete the selected {selectedObjects.length}{\" \"}\n objects?{\" \"}\n {versioning && (\n {\n setDeleteVersions(!deleteVersions);\n }}\n description=\"\"\n />\n )}\n \n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteObject);\n"],"names":["mapDispatchToProps","setErrorSnackMessage","connector","connect","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","selectedObjects","versioning","useState","deleteVersions","setDeleteVersions","useApi","err","deleteLoading","invokeDeleteApi","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","toSend","i","length","endsWith","push","path","versionID","recursive","onClose","confirmationContent","label","indicatorLabels","checked","value","id","name","onChange","e","description"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/9193.840c0a00.chunk.js","mappings":"sOAiHMA,EAAqB,CACzBC,qBAAAA,EAAAA,IAGIC,GAAYC,EAAAA,EAAAA,IAAQ,KAAMH,GAEhC,UAAeE,GApFM,SAAC,GAOK,IANzBE,EAMwB,EANxBA,2BACAC,EAKwB,EALxBA,WACAC,EAIwB,EAJxBA,eACAC,EAGwB,EAHxBA,gBACAN,EAEwB,EAFxBA,qBACAO,EACwB,EADxBA,WAKA,GAA4CC,EAAAA,EAAAA,WAAkB,GAA9D,eAAOC,EAAP,KAAuBC,EAAvB,KAEA,GAAyCC,EAAAA,EAAAA,IALpB,kBAAMR,GAA2B,MACnC,SAACS,GAAD,OAA+BZ,EAAqBY,MAIvE,eAAOC,EAAP,KAAsBC,EAAtB,KAEA,IAAKR,EACH,OAAO,KA6BT,OACE,SAAC,IAAD,CACES,MAAK,iBACLC,YAAa,SACbC,OAAQb,EACRc,WAAW,SAAC,KAAD,IACXC,UAAWN,EACXO,UAlCoB,WAEtB,IADA,IAAIC,EAAS,GACJC,EAAI,EAAGA,EAAIhB,EAAgBiB,OAAQD,IACtChB,EAAgBgB,GAAGE,SAAS,KAC9BH,EAAOI,KAAK,CACVC,KAAMpB,EAAgBgB,GACtBK,UAAW,GACXC,WAAW,IAGbP,EAAOI,KAAK,CACVC,KAAMpB,EAAgBgB,GACtBK,UAAW,GACXC,WAAW,IAKbP,GACFP,EACE,OADa,0BAEMT,EAFN,wCAEoDI,GACjEY,IAaFQ,QA3CY,kBAAM1B,GAA2B,IA4C7C2B,qBACE,UAAC,IAAD,2DACgDxB,EAAgBiB,OAAQ,IADxE,WAEW,IACRhB,IACC,SAAC,IAAD,CACEwB,MAAO,sBACPC,gBAAiB,CAAC,MAAO,MACzBC,QAASxB,EACTyB,MAAO,kBACPC,GAAG,kBACHC,KAAK,kBACLC,SAAU,SAACC,GACT5B,GAAmBD,IAErB8B,YAAY","sources":["screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteMultipleObjects.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 { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../../../icons\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\n\ninterface IDeleteObjectProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObjects: string[];\n selectedBucket: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n versioning: boolean;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObjects,\n setErrorSnackMessage,\n versioning,\n}: IDeleteObjectProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n const [deleteVersions, setDeleteVersions] = useState(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedObjects) {\n return null;\n }\n const onConfirmDelete = () => {\n let toSend = [];\n for (let i = 0; i < selectedObjects.length; i++) {\n if (selectedObjects[i].endsWith(\"/\")) {\n toSend.push({\n path: selectedObjects[i],\n versionID: \"\",\n recursive: true,\n });\n } else {\n toSend.push({\n path: selectedObjects[i],\n versionID: \"\",\n recursive: false,\n });\n }\n }\n\n if (toSend) {\n invokeDeleteApi(\n \"POST\",\n `/api/v1/buckets/${selectedBucket}/delete-objects?all_versions=${deleteVersions}`,\n toSend\n );\n }\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete the selected {selectedObjects.length}{\" \"}\n objects?{\" \"}\n {versioning && (\n {\n setDeleteVersions(!deleteVersions);\n }}\n description=\"\"\n />\n )}\n \n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteObject);\n"],"names":["mapDispatchToProps","setErrorSnackMessage","connector","connect","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","selectedObjects","versioning","useState","deleteVersions","setDeleteVersions","useApi","err","deleteLoading","invokeDeleteApi","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","toSend","i","length","endsWith","push","path","versionID","recursive","onClose","confirmationContent","label","indicatorLabels","checked","value","id","name","onChange","e","description"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/9275.3648f309.chunk.js.map b/portal-ui/build/static/js/9275.3648f309.chunk.js.map deleted file mode 100644 index d4bffa231..000000000 --- a/portal-ui/build/static/js/9275.3648f309.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/9275.3648f309.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/PanelTitle/PanelTitle.tsx","screens/Console/Common/ScreenTitle/ScreenTitle.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Groups/DeleteGroup.tsx","screens/Console/Groups/AddGroupMember.tsx","screens/Console/Groups/GroupDetailsHeader.tsx","screens/Console/Groups/GroupsDetails.tsx","screens/Console/Policies/PolicySelectors.tsx","screens/Console/Policies/SetPolicy.tsx","utils/sortFunctions.ts"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({ to, label, classes, className, executeOnClick }: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n fontSize: \".9rem\",\n },\n });\n\ninterface IPanelTitle extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst PanelTitle = ({ classes, children }: IPanelTitle) => {\n return

{children}

;\n};\n\nexport default withStyles(styles)(PanelTitle);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
\n {icon ?
{icon}
: null}\n
\n

{title}

\n {subTitle}\n
\n
\n\n
{actions}
\n
\n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\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 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\";\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 [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\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 from \"react\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\n\ninterface IDeleteGroup {\n selectedGroup: string;\n deleteOpen: boolean;\n closeDeleteModalAndRefresh: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeleteGroup = ({\n selectedGroup,\n deleteOpen,\n closeDeleteModalAndRefresh,\n setErrorSnackMessage,\n}: IDeleteGroup) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedGroup) {\n return null;\n }\n const onDeleteGroup = () => {\n invokeDeleteApi(\"DELETE\", `/api/v1/group?name=${encodeURI(selectedGroup)}`);\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onDeleteGroup}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete group\n
\n {selectedGroup}?\n
\n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteGroup);\n","import React, { useState } from \"react\";\nimport UsersSelectors from \"./UsersSelectors\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport PredefinedList from \"../Common/FormComponents/PredefinedList/PredefinedList\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button } from \"@mui/material\";\nimport api from \"../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n formFieldStyles,\n modalBasic,\n modalStyleUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AddMembersToGroupIcon } from \"../../../icons\";\n\ntype UserPickerModalProps = {\n classes?: any;\n title?: string;\n preSelectedUsers?: string[];\n selectedGroup?: string;\n open: boolean;\n onClose: () => void;\n onSaveClick: () => void;\n groupStatus?: string;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n marginTop: \"1rem\",\n },\n userSelector: {\n \"& .MuiPaper-root\": {\n padding: 0,\n marginBottom: 15,\n },\n },\n ...modalStyleUtils,\n ...formFieldStyles,\n ...modalBasic,\n });\n\nconst AddGroupMember = ({\n classes,\n title = \"\",\n groupStatus = \"enabled\",\n preSelectedUsers = [],\n selectedGroup = \"\",\n open,\n onClose,\n}: UserPickerModalProps) => {\n const [selectedUsers, setSelectedUsers] = useState(preSelectedUsers);\n\n function addMembersToGroup() {\n return api\n .invoke(\"PUT\", `/api/v1/group?name=${encodeURI(selectedGroup)}`, {\n group: selectedGroup,\n members: selectedUsers,\n status: groupStatus,\n })\n .then((res) => {\n onClose();\n })\n .catch((err: ErrorResponseHandler) => {\n onClose();\n setModalErrorSnackMessage(err);\n });\n }\n\n return (\n }\n >\n
\n \n
\n
\n \n
\n\n \n {\n setSelectedUsers(preSelectedUsers);\n }}\n >\n Reset\n \n\n {\n addMembersToGroup();\n }}\n >\n Save\n \n \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\nexport default withStyles(styles)(connector(AddGroupMember));\n","import React, { Fragment } from \"react\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport { Link } from \"react-router-dom\";\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\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n });\n\ntype DetailsHeaderProps = {\n classes: any;\n};\n\nconst GroupDetailsHeader = ({ classes }: DetailsHeaderProps) => {\n return (\n \n \n Groups\n \n \n }\n actions={}\n />\n );\n};\n\nexport default withStyles(styles)(GroupDetailsHeader);\n","import React, { Fragment, useEffect, useState } from \"react\";\nimport { useParams } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n spacingUtils,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../actions\";\nimport { connect } from \"react-redux\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid } from \"@mui/material\";\nimport ScreenTitle from \"../Common/ScreenTitle/ScreenTitle\";\nimport {\n IAMPoliciesIcon,\n TrashIcon,\n GroupsIcon,\n AddIcon,\n} from \"../../../icons\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport history from \"../../../history\";\nimport api from \"../../../common/api\";\nimport SetPolicy from \"../Policies/SetPolicy\";\nimport AddGroupMember from \"./AddGroupMember\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport DeleteGroup from \"./DeleteGroup\";\nimport VerticalTabs from \"../Common/VerticalTabs/VerticalTabs\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport BackLink from \"../../../common/BackLink\";\nimport PanelTitle from \"../Common/PanelTitle/PanelTitle\";\nimport SearchBox from \"../Common/SearchBox\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport SecureComponent, {\n hasPermission,\n} from \"../../../common/SecureComponent/SecureComponent\";\nimport GroupDetailsHeader from \"./GroupDetailsHeader\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n pageContainer: {\n border: \"1px solid #EAEAEA\",\n width: \"100%\",\n },\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n statusLabel: {\n fontSize: \".8rem\",\n marginRight: \".7rem\",\n },\n statusValue: {\n fontWeight: \"bold\",\n fontSize: \".9rem\",\n marginRight: \".7rem\",\n },\n searchField: {\n ...searchField.searchField,\n maxWidth: 280,\n },\n ...tableStyles,\n ...spacingUtils,\n actionsTray: {\n ...actionsTray.actionsTray,\n\n alignItems: \"center\",\n \"& h1\": {\n flex: 1,\n },\n \"& button\": {\n marginLeft: \".8rem\",\n },\n \"@media (max-width: 900px)\": {\n justifyContent: \"flex-end\",\n \"& h1\": {\n display: \"none\",\n },\n \"& button\": {\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n },\n },\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IGroupDetailsProps {\n classes: any;\n match: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\ntype GroupInfo = {\n members?: any[];\n name?: string;\n policy?: string;\n status?: string;\n};\n\nexport const formatPolicy = (policy: string = \"\"): string[] => {\n if (policy.length <= 0) return [];\n return policy.split(\",\");\n};\n\nexport const getPoliciesAsString = (policies: string[]): string => {\n return policies.join(\", \");\n};\n\nconst GroupsDetails = ({ classes }: IGroupDetailsProps) => {\n const [groupDetails, setGroupDetails] = useState({});\n\n /*Modals*/\n const [policyOpen, setPolicyOpen] = useState(false);\n const [usersOpen, setUsersOpen] = useState(false);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [memberFilter, setMemberFilter] = useState(\"\");\n\n //const [policyFilter, setPolicyFilter] = useState(\"\");\n\n const { groupName = \"\" } = useParams>();\n\n const { members = [], policy = \"\", status: groupEnabled } = groupDetails;\n\n const filteredMembers = members.filter((elementItem) =>\n elementItem.includes(memberFilter)\n );\n\n useEffect(() => {\n if (groupName) {\n fetchGroupInfo();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [groupName]);\n\n const groupPolicies = formatPolicy(policy);\n const isGroupEnabled = groupEnabled === \"enabled\";\n const memberActionText = members.length > 0 ? \"Edit Members\" : \"Add Members\";\n\n const getGroupDetails = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_GROUP,\n ]);\n\n function fetchGroupInfo() {\n if (getGroupDetails) {\n api\n .invoke(\"GET\", `/api/v1/group?name=${encodeURI(groupName)}`)\n .then((res: any) => {\n setGroupDetails(res);\n })\n .catch((err) => {\n setModalErrorSnackMessage(err);\n setGroupDetails({});\n });\n }\n }\n\n function toggleGroupStatus(nextStatus: boolean) {\n return api\n .invoke(\"PUT\", `/api/v1/group?name=${encodeURI(groupName)}`, {\n group: groupName,\n members: members,\n status: nextStatus ? \"enabled\" : \"disabled\",\n })\n .then((res) => {\n fetchGroupInfo();\n })\n .catch((err: ErrorResponseHandler) => {\n setModalErrorSnackMessage(err);\n });\n }\n\n const groupsTabContent = (\n \n
\n Members\n {\n setMemberFilter(searchText);\n }}\n overrideClass={classes.searchField}\n value={memberFilter}\n />\n \n }\n onClick={() => {\n setUsersOpen(true);\n }}\n />\n \n
\n\n
\n \n {\n history.push(`${IAM_PAGES.USERS}/${userName}`);\n },\n },\n ]}\n columns={[{ label: \"Access Key\", elementKey: \"\" }]}\n selectedItems={[]}\n isLoading={false}\n records={filteredMembers}\n entityName=\"Users\"\n idField=\"\"\n />\n \n
\n
\n );\n\n const policiesTabContent = (\n \n
\n Policies\n\n }\n onClick={() => {\n setPolicyOpen(true);\n }}\n />\n
\n
\n {\n history.push(`${IAM_PAGES.POLICIES}/${policy}`);\n },\n },\n ]}\n columns={[{ label: \"Policy\", elementKey: \"\" }]}\n isLoading={false}\n records={groupPolicies}\n entityName=\"Policies\"\n idField=\"\"\n />\n
\n
\n );\n return (\n \n \n \n\n \n \n \n \n \n }\n title={groupName}\n subTitle={null}\n actions={\n \n Group Status:\n \n {isGroupEnabled ? \"Enabled\" : \"Disabled\"}\n \n \n {\n toggleGroupStatus(!isGroupEnabled);\n }}\n switchOnly\n />\n \n\n \n
\n }\n onClick={() => {\n setDeleteOpen(true);\n }}\n />\n
\n \n
\n }\n />\n
\n\n \n \n {{\n tabConfig: { label: \"Members\" },\n content: groupsTabContent,\n }}\n {{\n tabConfig: { label: \"Policies\" },\n content: policiesTabContent,\n }}\n \n \n
\n {/*Modals*/}\n {policyOpen ? (\n {\n setPolicyOpen(false);\n fetchGroupInfo();\n }}\n />\n ) : null}\n\n {usersOpen ? (\n {}}\n title={memberActionText}\n groupStatus={groupEnabled}\n preSelectedUsers={members}\n open={usersOpen}\n onClose={() => {\n setUsersOpen(false);\n fetchGroupInfo();\n }}\n />\n ) : null}\n\n {deleteOpen && (\n {\n setDeleteOpen(false);\n if (isDelSuccess) {\n history.push(IAM_PAGES.GROUPS);\n }\n }}\n />\n )}\n {/*Modals*/}\n
\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(GroupsDetails));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { policySort } from \"../../../utils/sortFunctions\";\nimport {\n actionsTray,\n searchField,\n selectorsCommon,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { PolicyList } from \"./types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport SearchBox from \"../Common/SearchBox\";\n\ninterface ISelectPolicyProps {\n classes: any;\n selectedPolicy?: string[];\n setSelectedPolicy: any;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n noFound: {\n textAlign: \"center\",\n padding: \"10px 0\",\n },\n searchBox: {\n flex: 1,\n },\n fieldLabel: {\n fontWeight: 400,\n width: 160,\n marginRight: 10,\n },\n tableBlock: {\n ...tableStyles.tableBlock,\n },\n filterBox: {\n display: \"flex\",\n marginBottom: 15,\n alignItems: \"center\",\n \"& span\": {\n fontSize: 14,\n },\n },\n ...searchField,\n ...tableStyles,\n ...actionsTray,\n ...selectorsCommon,\n });\n\nconst PolicySelectors = ({\n classes,\n selectedPolicy = [],\n setSelectedPolicy,\n setModalErrorSnackMessage,\n}: ISelectPolicyProps) => {\n // Local State\n const [records, setRecords] = useState([]);\n const [loading, isLoading] = useState(false);\n const [filter, setFilter] = useState(\"\");\n\n const fetchPolicies = useCallback(() => {\n isLoading(true);\n\n api\n .invoke(\"GET\", `/api/v1/policies?limit=1000`)\n .then((res: PolicyList) => {\n const policies = res.policies === null ? [] : res.policies;\n isLoading(false);\n setRecords(policies.sort(policySort));\n })\n .catch((err: ErrorResponseHandler) => {\n isLoading(false);\n setModalErrorSnackMessage(err);\n });\n }, [setModalErrorSnackMessage]);\n\n //Effects\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n if (loading) {\n fetchPolicies();\n }\n }, [loading, fetchPolicies]);\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedPolicy]; // We clone the checkedUsers array\n\n if (checked) {\n // If the user has checked this field we need to push this to checkedUsersList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n // remove empty values\n elements = elements.filter((element) => element !== \"\");\n\n setSelectedPolicy(elements);\n };\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.name.includes(filter)\n );\n\n return (\n \n \n {loading && }\n {records.length > 0 ? (\n \n \n Assign Policies\n
\n {\n setFilter(value);\n }}\n value={filter}\n />\n
\n
\n \n \n \n
\n ) : (\n
No Policies Available
\n )}\n
\n
\n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(PolicySelectors));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } 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 { Button, LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n modalBasic,\n spacingUtils,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { User } from \"../Users/types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../common/api\";\nimport PolicySelectors from \"./PolicySelectors\";\nimport PredefinedList from \"../Common/FormComponents/PredefinedList/PredefinedList\";\n\ninterface ISetPolicyProps {\n classes: any;\n closeModalAndRefresh: () => void;\n selectedUser: User | null;\n selectedGroup: string | null;\n open: boolean;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n ...spacingUtils,\n tableBlock: {\n ...tableStyles.tableBlock,\n marginTop: 15,\n },\n buttonContainer: {\n textAlign: \"right\",\n marginTop: \".9rem\",\n },\n });\n\nconst SetPolicy = ({\n classes,\n closeModalAndRefresh,\n selectedUser,\n selectedGroup,\n setModalErrorSnackMessage,\n open,\n}: ISetPolicyProps) => {\n //Local States\n const [loading, setLoading] = useState(false);\n const [actualPolicy, setActualPolicy] = useState([]);\n const [selectedPolicy, setSelectedPolicy] = useState([]);\n\n const setPolicyAction = () => {\n let entity = \"user\";\n let value = null;\n if (selectedGroup !== null) {\n entity = \"group\";\n value = selectedGroup;\n } else {\n if (selectedUser !== null) {\n value = selectedUser.accessKey;\n }\n }\n\n setLoading(true);\n\n api\n .invoke(\"PUT\", `/api/v1/set-policy`, {\n name: selectedPolicy,\n entityName: value,\n entityType: entity,\n })\n .then(() => {\n setLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n const fetchGroupInformation = () => {\n if (selectedGroup) {\n api\n .invoke(\"GET\", `/api/v1/group?name=${encodeURI(selectedGroup)}`)\n .then((res: any) => {\n const groupPolicy: String = get(res, \"policy\", \"\");\n setActualPolicy(groupPolicy.split(\",\"));\n setSelectedPolicy(groupPolicy.split(\",\"));\n })\n .catch((err: ErrorResponseHandler) => {\n setModalErrorSnackMessage(err);\n setLoading(false);\n });\n }\n };\n\n const resetSelection = () => {\n setSelectedPolicy(actualPolicy);\n };\n\n useEffect(() => {\n if (open) {\n if (selectedGroup !== null) {\n fetchGroupInformation();\n return;\n }\n\n const userPolicy: string[] = get(selectedUser, \"policy\", []);\n setActualPolicy(userPolicy);\n setSelectedPolicy(userPolicy);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open, selectedGroup, selectedUser]);\n\n const userName = get(selectedUser, \"accessKey\", \"\");\n\n return (\n {\n closeModalAndRefresh();\n }}\n modalOpen={open}\n title=\"Set Policies\"\n >\n \n \n \n \n \n \n
\n \n
\n \n \n Reset\n \n \n Save\n \n \n {loading && (\n \n \n \n )}\n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(SetPolicy));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\ninterface userInterface {\n accessKey: string;\n}\n\ninterface policyInterface {\n name: string;\n}\n\nexport const usersSort = (a: userInterface, b: userInterface) => {\n if (a.accessKey > b.accessKey) {\n return 1;\n }\n if (a.accessKey < b.accessKey) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const policySort = (a: policyInterface, b: policyInterface) => {\n if (a.name > b.name) {\n return 1;\n }\n if (a.name < b.name) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const stringSort = (a: string, b: string) => {\n if (a > b) {\n return 1;\n }\n if (a < b) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","useStyles","makeStyles","root","props","variant","tgtColor","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","disabled","tooltip","restProps","size","sx","border","borderWidth","borderStyle","borderRadius","backgroundColor","opacity","contained","background","dark","children","rest","button","clsx","title","onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","pageContentStyles","contentSpacer","container","item","xs","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","titleText","closeContainer","closeButton","disableRipple","content","actions","cancelButton","type","confirmButton","loading","loadingPosition","startIcon","autoFocus","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","labelStyle","fontWeight","marginTop","rightMenu","textAlign","logo","fill","middleComponent","direction","sm","md","paddingTop","length","component","margin","headerBarIcon","height","headerBarSubheader","screenTitle","borderBottom","flexFlow","titleColumn","leftItems","rightItems","subTitle","style","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","id","InputProps","e","target","tabStripStyle","tabsContainer","tabsHeaderContainer","borderRight","marginBottom","tabContentContainer","tabPanel","flexDirection","selectedTab","routes","isRouteTabs","React","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","forEach","child","push","tabConfig","newValue","orientation","scrollButtons","tabList","map","index","tabHeader","disableTouchRipple","focusRipple","setErrorSnackMessage","selectedGroup","deleteOpen","closeDeleteModalAndRefresh","useApi","deleteLoading","invokeDeleteApi","encodeURI","setModalErrorSnackMessage","buttonContainer","userSelector","modalStyleUtils","formFieldStyles","modalBasic","groupStatus","preSelectedUsers","selectedUsers","setSelectedUsers","ModalWrapper","modalOpen","formFieldRow","PredefinedList","UsersSelectors","editMode","Grid","modalButtonBar","Button","group","members","status","breadcrumLink","PageHeader","Fragment","IAM_PAGES","formatPolicy","policy","split","getPoliciesAsString","policies","join","pageContainer","statusLabel","statusValue","tableStyles","spacingUtils","actionsTray","flex","whiteSpace","textOverflow","containerForHeader","spacing","groupDetails","setGroupDetails","policyOpen","setPolicyOpen","usersOpen","setUsersOpen","setDeleteOpen","memberFilter","setMemberFilter","useParams","groupName","groupEnabled","filteredMembers","filter","elementItem","includes","useEffect","fetchGroupInfo","groupPolicies","isGroupEnabled","memberActionText","getGroupDetails","hasPermission","CONSOLE_UI_RESOURCE","IAM_SCOPES","groupsTabContent","PanelTitle","SearchBox","searchText","SecureComponent","resource","scopes","errorProps","RBIconButton","tableBlock","TableWrapper","itemActions","userName","history","columns","elementKey","selectedItems","records","entityName","idField","policiesTabContent","BackLink","PageLayout","ScreenTitle","matchAll","FormSwitchWrapper","indicatorLabels","checked","name","nextStatus","switchOnly","spacerLeft","VerticalTabs","SetPolicy","selectedUser","closeModalAndRefresh","onSaveClick","DeleteGroup","isDelSuccess","noFound","searchBox","fieldLabel","filterBox","selectorsCommon","selectedPolicy","setSelectedPolicy","setRecords","setFilter","fetchPolicies","useCallback","sort","policySort","filteredRecords","onSelect","targetD","elements","element","customPaperHeight","multiSelectTable","setLoading","actualPolicy","setActualPolicy","groupPolicy","get","userPolicy","spacerRight","entity","accessKey","entityType","usersSort","a","b","stringSort"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/9275.3648f309.chunk.js b/portal-ui/build/static/js/9275.b6d273a8.chunk.js similarity index 98% rename from portal-ui/build/static/js/9275.3648f309.chunk.js rename to portal-ui/build/static/js/9275.b6d273a8.chunk.js index f588dae6a..eb129c803 100644 --- a/portal-ui/build/static/js/9275.3648f309.chunk.js +++ b/portal-ui/build/static/js/9275.b6d273a8.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[9275],{29316:function(e,n,t){t(50390);var i=t(6369),o=t(86509),a=t(4285),r=t(11387),s=t(62559);n.Z=(0,a.Z)((function(e){return(0,o.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var n=e.to,t=e.label,o=e.classes,a=e.className,l=e.executeOnClick;return(0,s.jsxs)(i.rU,{to:n,className:"".concat(o.link," ").concat(a||""),onClick:function(){l&&l()},children:[(0,s.jsx)("div",{className:o.icon,children:(0,s.jsx)(r.xN,{})}),(0,s.jsx)("div",{className:o.label,children:t})]})}))},53224:function(e,n,t){var i=t(18489),o=t(83738),a=(t(50390),t(70758)),r=t(62449),s=t(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,r.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,i=n.color,o=e.palette.primary.main;return"primary"===i&&"contained"===t?o=e.palette.primary.contrastText:"primary"===i&&"outlined"===t?o=e.palette.primary.main:"secondary"===i&&(o=e.palette.secondary.main),o}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,r=e.text,d=void 0===r?"":r,u=e.disabled,m=void 0!==u&&u,p=e.tooltip,x=e.icon,h=void 0===x?null:x,f=(0,o.Z)(e,l);return(0,s.jsxs)(a.Z,(0,i.Z)((0,i.Z)({classes:n,tooltip:p||d,variant:"outlined",onClick:t,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},f),{},{children:[(0,s.jsx)("span",{children:d})," ",h]}))}},70758:function(e,n,t){var i=t(18489),o=t(36222),a=t(83738),r=(t(50390),t(86509)),s=t(4285),l=t(95467),c=t(94187),d=t(44977),u=t(62559),m=["classes","children","variant","tooltip"];n.Z=(0,s.Z)((function(e){return(0,r.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,r=e.variant,s=void 0===r?"outlined":r,p=e.tooltip,x=(0,a.Z)(e,m),h=(0,u.jsx)(l.Z,(0,i.Z)((0,i.Z)({},x),{},{className:(0,d.Z)(n.root,(0,o.Z)({},n.contained,"contained"===s)),children:t}));return p&&""!==p?(0,u.jsx)(c.Z,{title:p,children:(0,u.jsx)("span",{children:h})}):h}))},21639:function(e,n,t){var i=t(23430),o=t(50390),a=t(30324);n.Z=function(e,n){var t=(0,o.useState)(!1),r=(0,i.Z)(t,2),s=r[0],l=r[1];return[s,function(t,i,o){l(!0),a.Z.invoke(t,i,o).then((function(n){l(!1),e(n)})).catch((function(e){l(!1),n(e)}))}]}},25534:function(e,n,t){var i=t(18489),o=(t(50390),t(25594)),a=t(86509),r=t(4285),s=t(72462),l=t(62559);n.Z=(0,r.Z)((function(e){return(0,a.Z)((0,i.Z)({},s.Bw))}))((function(e){var n=e.classes,t=e.className,i=void 0===t?"":t,a=e.children;return(0,l.jsx)("div",{className:n.contentSpacer,children:(0,l.jsx)(o.ZP,{container:!0,children:(0,l.jsx)(o.ZP,{item:!0,xs:12,className:i,children:a})})})}))},60656:function(e,n,t){var i=t(18489),o=t(50390),a=t(84402),r=t(78426),s=t(93085),l=t(7887),c=t(66946),d=t(14476),u=t(95467),m=t(21278),p=t(86509),x=t(4285),h=t(72462),f=t(62559);n.Z=(0,x.Z)((function(e){return(0,p.Z)((0,i.Z)({},h.Qw))}))((function(e){var n=e.isOpen,t=void 0!==n&&n,p=e.onClose,x=e.onCancel,h=e.onConfirm,Z=e.classes,g=void 0===Z?{}:Z,b=e.title,j=void 0===b?"":b,v=e.isLoading,y=e.confirmationContent,C=e.cancelText,N=void 0===C?"Cancel":C,S=e.confirmText,k=void 0===S?"Confirm":S,P=e.confirmButtonProps,E=void 0===P?{}:P,M=e.cancelButtonProps,R=void 0===M?{}:M,w=e.titleIcon,A=void 0===w?null:w;return(0,f.jsxs)(a.Z,{open:t,onClose:function(e,n){"backdropClick"!==n&&p()},className:g.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,f.jsxs)(r.Z,{className:g.title,children:[(0,f.jsxs)("div",{className:g.titleText,children:[A," ",j]}),(0,f.jsx)("div",{className:g.closeContainer,children:(0,f.jsx)(u.Z,{"aria-label":"close",className:g.closeButton,onClick:p,disableRipple:!0,size:"small",children:(0,f.jsx)(m.Z,{})})})]}),(0,f.jsx)(s.Z,{className:g.content,children:y}),(0,f.jsxs)(l.Z,{className:g.actions,children:[(0,f.jsx)(c.Z,(0,i.Z)((0,i.Z)({className:g.cancelButton,onClick:x||p,disabled:v,type:"button"},R),{},{variant:"outlined",color:"primary",children:N})),(0,f.jsx)(d.Z,(0,i.Z)((0,i.Z)({className:g.confirmButton,type:"button",onClick:h,loading:v,disabled:v,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,f.jsx)(o.Fragment,{}),autoFocus:!0},E),{},{children:k}))]})]})}))},35721:function(e,n,t){t(50390);var i=t(34424),o=t(25594),a=t(86509),r=t(4285),s=t(35477),l=t(95467),c=t(26805),d=t(44078),u=t(5265),m=t(11387),p=t(62559),x={toggleList:u.kQ},h=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),x);n.Z=h((0,r.Z)((function(e){return(0,a.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,i=e.actions,a=e.sidebarOpen,r=e.operatorMode,u=e.managerObjects,x=e.toggleList,h=e.middleComponent;return(0,p.jsxs)(o.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:h?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!a&&(0,p.jsx)("div",{className:n.logo,children:r?(0,p.jsx)(c.Z,{}):(0,p.jsx)(d.Z,{})}),(0,p.jsx)(s.Z,{variant:"h4",className:n.labelStyle,children:t})]}),h&&(0,p.jsx)(o.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:h}),(0,p.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:h?3:6,className:n.rightMenu,children:[i&&i,u&&u.length>0&&(0,p.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){x()},size:"large",children:(0,p.jsx)(m.gx,{})})]})]})})))},48122:function(e,n,t){t(50390);var i=t(86509),o=t(4285),a=t(62559);n.Z=(0,o.Z)((function(e){return(0,i.Z)({root:{padding:0,margin:0,fontSize:".9rem"}})}))((function(e){var n=e.classes,t=e.children;return(0,a.jsx)("h1",{className:n.root,children:t})}))},62702:function(e,n,t){t(50390);var i=t(25594),o=t(86509),a=t(4285),r=t(62559);n.Z=(0,a.Z)((function(e){return(0,o.Z)({headerBarIcon:{marginRight:".7rem",color:e.palette.primary.main,"& .min-icon":{width:44,height:44}},headerBarSubheader:{color:"grey","@media (max-width: 900px)":{maxWidth:200}},screenTitle:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"1rem",borderBottom:"1px solid #EAEAEA","@media (max-width: 600px)":{flexFlow:"column"}},titleColumn:{height:"auto",justifyContent:"center",display:"flex",flexFlow:"column",alignItems:"flex-start","& h1":{fontSize:19}},leftItems:{display:"flex",alignItems:"center","@media (max-width: 600px)":{flexFlow:"column"}},rightItems:{display:"flex",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.icon,o=e.title,a=e.subTitle,s=e.actions,l=e.className;return(0,r.jsx)(i.ZP,{container:!0,children:(0,r.jsxs)(i.ZP,{item:!0,xs:12,className:"".concat(n.screenTitle," ").concat(l||""),children:[(0,r.jsxs)("div",{className:n.leftItems,children:[t?(0,r.jsx)("div",{className:n.headerBarIcon,children:t}):null,(0,r.jsxs)("div",{className:n.titleColumn,children:[(0,r.jsx)("h1",{style:{margin:0},children:o}),(0,r.jsx)("span",{className:n.headerBarSubheader,children:a})]})]}),(0,r.jsx)("div",{className:n.rightItems,children:s})]})})}))},23165:function(e,n,t){var i=t(36222),o=t(18489),a=(t(50390),t(65771)),r=t(13336),s=t(12066),l=t(4285),c=t(86509),d=t(72462),u=t(62559);n.Z=(0,l.Z)((function(e){return(0,c.Z)({searchField:(0,o.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,o=e.classes,l=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,m=e.overrideClass,p=e.value,x=(0,i.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(a.Z,{position:d,className:o.adornment,children:(0,u.jsx)(r.Z,{})}));return(0,u.jsx)(s.Z,{placeholder:t,className:m||o.searchField,id:"search-resource",label:"",InputProps:x,onChange:function(e){l(e.target.value)},variant:"standard",value:p})}))},57647:function(e,n,t){var i=t(18489),o=t(23430),a=t(50390),r=t(56805),s=t(49044),l=t(97227),c=t(74564),d=t(669),u=t(4285),m=t(88669),p=t(86509),x=t(13512),h=t(62559),f={minHeight:60};n.Z=(0,u.Z)((function(e){return(0,p.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,p=void 0===u?"0":u,Z=e.routes,g=e.isRouteTabs,b=a.useState(p),j=(0,o.Z)(b,2),v=j[0],y=j[1],C=(0,m.Z)(),N=(0,x.Z)(C.breakpoints.down("md")),S=[],k=[];return n?(n.forEach((function(e){S.push(e.tabConfig),k.push(e.content)})),(0,h.jsx)(l.ZP,{value:"".concat(v),children:(0,h.jsxs)(r.Z,{className:t.tabsContainer,children:[(0,h.jsx)(r.Z,{className:t.tabsHeaderContainer,children:(0,h.jsx)(c.Z,{onChange:function(e,n){y(n)},orientation:N?"horizontal":"vertical",variant:N?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:S.map((function(e,n){return e?(0,h.jsx)(s.Z,(0,i.Z)((0,i.Z)({className:t.tabHeader,value:"".concat(n),style:f},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,h.jsxs)(r.Z,{className:t.tabContentContainer,children:[g?null:k.map((function(e,n){return(0,h.jsx)(d.Z,{classes:(0,i.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),g?(0,h.jsx)("div",{className:t.tabPanel,children:Z}):null]})]})})):null}))},65284:function(e,n,t){t.r(n);var i=t(23430),o=(t(50390),t(34424)),a=t(23473),r=t(44149),s=t(60656),l=t(21639),c=t(11387),d=t(62559),u={setErrorSnackMessage:r.Ih},m=(0,o.$j)(null,u);n.default=m((function(e){var n=e.selectedGroup,t=e.deleteOpen,o=e.closeDeleteModalAndRefresh,r=e.setErrorSnackMessage,u=(0,l.Z)((function(){return o(!0)}),(function(e){return r(e)})),m=(0,i.Z)(u,2),p=m[0],x=m[1];if(!n)return null;return(0,d.jsx)(s.Z,{title:"Delete Group",confirmText:"Delete",isOpen:t,titleIcon:(0,d.jsx)(c.Nv,{}),isLoading:p,onConfirm:function(){x("DELETE","/api/v1/group?name=".concat(encodeURI(n)))},onClose:function(){return o(!1)},confirmationContent:(0,d.jsxs)(a.Z,{children:["Are you sure you want to delete group",(0,d.jsx)("br",{}),(0,d.jsx)("b",{children:n}),"?"]})})}))},39275:function(e,n,t){t.r(n),t.d(n,{default:function(){return K},formatPolicy:function(){return G},getPoliciesAsString:function(){return D}});var i=t(23430),o=t(18489),a=t(50390),r=t(70971),s=t(86509),l=t(72462),c=t(44149),d=t(34424),u=t(4285),m=t(25594),p=t(62702),x=t(11387),h=t(17777),f=t(24442),Z=t(30324),g=t(16549),b=t(71094),j=t(76352),v=t(50280),y=t(66946),C=t(62559),N={setModalErrorSnackMessage:c.zb},S=(0,d.$j)(null,N),k=(0,u.Z)((function(e){return(0,s.Z)((0,o.Z)((0,o.Z)((0,o.Z)({buttonContainer:{textAlign:"right",marginTop:"1rem"},userSelector:{"& .MuiPaper-root":{padding:0,marginBottom:15}}},l.ID),l.DF),l.oO))}))(S((function(e){var n=e.classes,t=e.title,o=void 0===t?"":t,r=e.groupStatus,s=void 0===r?"enabled":r,l=e.preSelectedUsers,d=void 0===l?[]:l,u=e.selectedGroup,p=void 0===u?"":u,h=e.open,f=e.onClose,g=(0,a.useState)(d),N=(0,i.Z)(g,2),S=N[0],k=N[1];return(0,C.jsxs)(j.Z,{modalOpen:h,onClose:f,title:o,titleIcon:(0,C.jsx)(x.Zm,{}),children:[(0,C.jsx)("div",{className:n.formFieldRow,children:(0,C.jsx)(v.Z,{label:"Selected Group",content:p})}),(0,C.jsx)("div",{className:n.userSelector,children:(0,C.jsx)(b.Z,{selectedUsers:S,setSelectedUsers:k,editMode:!p})}),(0,C.jsxs)(m.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,C.jsx)(y.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){k(d)},children:"Reset"}),(0,C.jsx)(y.Z,{type:"button",variant:"contained",color:"primary",onClick:function(){Z.Z.invoke("PUT","/api/v1/group?name=".concat(encodeURI(p)),{group:p,members:S,status:s}).then((function(e){f()})).catch((function(e){f(),(0,c.zb)(e)}))},children:"Save"})]})]})}))),P=t(65284),E=t(57647),M=t(92440),R=t(25534),w=t(29316),A=t(48122),B=t(23165),F=t(49495),I=t(15607),T=t(35721),U=t(6369),O=(0,u.Z)((function(e){return(0,s.Z)({breadcrumLink:{textDecoration:"none",color:"black"}})}))((function(e){var n=e.classes;return(0,C.jsx)(T.Z,{label:(0,C.jsx)(a.Fragment,{children:(0,C.jsx)(U.rU,{to:F.gA.GROUPS,className:n.breadcrumLink,children:"Groups"})}),actions:(0,C.jsx)(a.Fragment,{})})})),L=t(53224),G=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.length<=0?[]:e.split(",")},D=function(e){return e.join(", ")},z={setErrorSnackMessage:c.Ih},_=(0,d.$j)(null,z),K=(0,u.Z)((function(e){return(0,s.Z)((0,o.Z)((0,o.Z)((0,o.Z)({pageContainer:{border:"1px solid #EAEAEA",width:"100%"},breadcrumLink:{textDecoration:"none",color:"black"},statusLabel:{fontSize:".8rem",marginRight:".7rem"},statusValue:{fontWeight:"bold",fontSize:".9rem",marginRight:".7rem"},searchField:(0,o.Z)((0,o.Z)({},l.qg.searchField),{},{maxWidth:280})},l.VX),l.bK),{},{actionsTray:(0,o.Z)((0,o.Z)({},l.OR.actionsTray),{},{alignItems:"center","& h1":{flex:1},"& button":{marginLeft:".8rem"},"@media (max-width: 900px)":{justifyContent:"flex-end","& h1":{display:"none"},"& button":{whiteSpace:"nowrap",textOverflow:"ellipsis"}}})},(0,l.Bz)(e.spacing(4))))}))(_((function(e){var n=e.classes,t=(0,a.useState)({}),o=(0,i.Z)(t,2),s=o[0],l=o[1],d=(0,a.useState)(!1),u=(0,i.Z)(d,2),b=u[0],j=u[1],v=(0,a.useState)(!1),y=(0,i.Z)(v,2),N=y[0],S=y[1],T=(0,a.useState)(!1),U=(0,i.Z)(T,2),D=U[0],z=U[1],_=(0,a.useState)(""),K=(0,i.Z)(_,2),H=K[0],V=K[1],W=(0,r.UO)().groupName,$=void 0===W?"":W,X=s.members,q=void 0===X?[]:X,Q=s.policy,Y=void 0===Q?"":Q,J=s.status,ee=q.filter((function(e){return e.includes(H)}));(0,a.useEffect)((function(){$&&ae()}),[$]);var ne=G(Y),te="enabled"===J,ie=q.length>0?"Edit Members":"Add Members",oe=(0,I.F)(F.C3,[F.Ft.ADMIN_GET_GROUP]);function ae(){oe&&Z.Z.invoke("GET","/api/v1/group?name=".concat(encodeURI($))).then((function(e){l(e)})).catch((function(e){(0,c.zb)(e),l({})}))}var re=(0,C.jsxs)(a.Fragment,{children:[(0,C.jsxs)("div",{className:n.actionsTray,children:[(0,C.jsx)(A.Z,{children:"Members"}),(0,C.jsx)(B.Z,{placeholder:"Search members",onChange:function(e){V(e)},overrideClass:n.searchField,value:H}),(0,C.jsx)(I.Z,{resource:F.C3,scopes:[F.Ft.ADMIN_ADD_USER_TO_GROUP],errorProps:{disabled:!0},children:(0,C.jsx)(L.Z,{tooltip:ie,text:ie,variant:"contained",color:"primary",icon:(0,C.jsx)(x.dt,{}),onClick:function(){S(!0)}})})]}),(0,C.jsx)("div",{className:n.tableBlock,children:(0,C.jsx)(I.Z,{resource:F.C3,scopes:[F.Ft.ADMIN_LIST_USERS],errorProps:{disabled:!0},children:(0,C.jsx)(h.Z,{itemActions:[{type:"view",onClick:function(e){f.Z.push("".concat(F.gA.USERS,"/").concat(e))}}],columns:[{label:"Access Key",elementKey:""}],selectedItems:[],isLoading:!1,records:ee,entityName:"Users",idField:""})})})]}),se=(0,C.jsxs)(a.Fragment,{children:[(0,C.jsxs)("div",{className:n.actionsTray,children:[(0,C.jsx)(A.Z,{children:"Policies"}),(0,C.jsx)(L.Z,{tooltip:"Set Policies",text:"Set Policies",variant:"contained",color:"primary",icon:(0,C.jsx)(x.v4,{}),onClick:function(){j(!0)}})]}),(0,C.jsx)("div",{className:n.tableBlock,children:(0,C.jsx)(h.Z,{itemActions:[{type:"view",onClick:function(e){f.Z.push("".concat(F.gA.POLICIES,"/").concat(e))}}],columns:[{label:"Policy",elementKey:""}],isLoading:!1,records:ne,entityName:"Policies",idField:""})})]});return(0,C.jsxs)(a.Fragment,{children:[(0,C.jsx)(O,{}),(0,C.jsx)(w.Z,{to:F.gA.GROUPS,label:"Return to Groups"}),(0,C.jsxs)(R.Z,{className:n.pageContainer,children:[(0,C.jsx)(m.ZP,{item:!0,xs:12,children:(0,C.jsx)(p.Z,{icon:(0,C.jsx)(a.Fragment,{children:(0,C.jsx)(x.ww,{width:40})}),title:$,subTitle:null,actions:(0,C.jsxs)(a.Fragment,{children:[(0,C.jsx)("span",{className:n.statusLabel,children:"Group Status:"}),(0,C.jsx)("span",{id:"group-status",className:n.statusValue,children:te?"Enabled":"Disabled"}),(0,C.jsx)(I.Z,{resource:F.C3,scopes:[F.Ft.ADMIN_ENABLE_GROUP,F.Ft.ADMIN_DISABLE_GROUP],errorProps:{disabled:!0},matchAll:!0,children:(0,C.jsx)(M.Z,{indicatorLabels:["Enabled","Disabled"],checked:te,value:"group_enabled",id:"group-status",name:"group-status",onChange:function(){var e;e=!te,Z.Z.invoke("PUT","/api/v1/group?name=".concat(encodeURI($)),{group:$,members:q,status:e?"enabled":"disabled"}).then((function(e){ae()})).catch((function(e){(0,c.zb)(e)}))},switchOnly:!0})}),(0,C.jsx)(I.Z,{resource:F.C3,scopes:[F.Ft.ADMIN_REMOVE_USER_FROM_GROUP],errorProps:{disabled:!0},children:(0,C.jsx)("div",{className:n.spacerLeft,children:(0,C.jsx)(L.Z,{tooltip:"Delete Group",text:"",variant:"outlined",color:"secondary",icon:(0,C.jsx)(x.XH,{}),onClick:function(){z(!0)}})})})]})})}),(0,C.jsx)(m.ZP,{item:!0,xs:12,children:(0,C.jsxs)(E.Z,{children:[{tabConfig:{label:"Members"},content:re},{tabConfig:{label:"Policies"},content:se}]})})]}),b?(0,C.jsx)(g.default,{open:b,selectedGroup:$,selectedUser:null,closeModalAndRefresh:function(){j(!1),ae()}}):null,N?(0,C.jsx)(k,{selectedGroup:$,onSaveClick:function(){},title:ie,groupStatus:J,preSelectedUsers:q,open:N,onClose:function(){S(!1),ae()}}):null,D&&(0,C.jsx)(P.default,{deleteOpen:D,selectedGroup:$,closeDeleteModalAndRefresh:function(e){z(!1),e&&f.Z.push(F.gA.GROUPS)}})]})})))},59176:function(e,n,t){var i=t(35531),o=t(23430),a=t(18489),r=t(50390),s=t(34424),l=t(86509),c=t(4285),d=t(81378),u=t(25594),m=t(25233),p=t(72462),x=t(44149),h=t(30324),f=t(17777),Z=t(23165),g=t(62559),b=(0,s.$j)(null,{setModalErrorSnackMessage:x.zb});n.Z=(0,c.Z)((function(e){return(0,l.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({noFound:{textAlign:"center",padding:"10px 0"},searchBox:{flex:1},fieldLabel:{fontWeight:400,width:160,marginRight:10},tableBlock:(0,a.Z)({},p.VX.tableBlock),filterBox:{display:"flex",marginBottom:15,alignItems:"center","& span":{fontSize:14}}},p.qg),p.VX),p.OR),p.jY))}))(b((function(e){var n=e.classes,t=e.selectedPolicy,a=void 0===t?[]:t,s=e.setSelectedPolicy,l=e.setModalErrorSnackMessage,c=(0,r.useState)([]),p=(0,o.Z)(c,2),x=p[0],b=p[1],j=(0,r.useState)(!1),v=(0,o.Z)(j,2),y=v[0],C=v[1],N=(0,r.useState)(""),S=(0,o.Z)(N,2),k=S[0],P=S[1],E=(0,r.useCallback)((function(){C(!0),h.Z.invoke("GET","/api/v1/policies?limit=1000").then((function(e){var n=null===e.policies?[]:e.policies;C(!1),b(n.sort(m.g4))})).catch((function(e){C(!1),l(e)}))}),[l]);(0,r.useEffect)((function(){C(!0)}),[]),(0,r.useEffect)((function(){y&&E()}),[y,E]);var M=x.filter((function(e){return e.name.includes(k)}));return(0,g.jsx)(r.Fragment,{children:(0,g.jsxs)(u.ZP,{item:!0,xs:12,children:[y&&(0,g.jsx)(d.Z,{}),x.length>0?(0,g.jsxs)(r.Fragment,{children:[(0,g.jsxs)(u.ZP,{item:!0,xs:12,className:n.filterBox,children:[(0,g.jsx)("span",{className:n.fieldLabel,children:"Assign Policies"}),(0,g.jsx)("div",{className:n.searchBox,children:(0,g.jsx)(Z.Z,{placeholder:"Filter Policy",onChange:function(e){P(e)},value:k})})]}),(0,g.jsx)(u.ZP,{item:!0,xs:12,className:n.tableBlock,children:(0,g.jsx)(f.Z,{columns:[{label:"Policy",elementKey:"name"}],onSelect:function(e){var n=e.target,t=n.value,o=n.checked,r=(0,i.Z)(a);o?r.push(t):r=r.filter((function(e){return e!==t})),r=r.filter((function(e){return""!==e})),s(r)},selectedItems:a,isLoading:y,records:M,entityName:"Policies",idField:"name",customPaperHeight:n.multiSelectTable})})]}):(0,g.jsx)("div",{className:n.noFound,children:"No Policies Available"})]})})})))},16549:function(e,n,t){t.r(n);var i=t(23430),o=t(18489),a=t(50390),r=t(34424),s=t(38342),l=t.n(s),c=t(86509),d=t(4285),u=t(66946),m=t(81378),p=t(25594),x=t(72462),h=t(44149),f=t(76352),Z=t(30324),g=t(59176),b=t(50280),j=t(62559),v={setModalErrorSnackMessage:h.zb},y=(0,r.$j)(null,v);n.default=(0,d.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},x.oO),x.bK),{},{tableBlock:(0,o.Z)((0,o.Z)({},x.VX.tableBlock),{},{marginTop:15}),buttonContainer:{textAlign:"right",marginTop:".9rem"}}))}))(y((function(e){var n=e.classes,t=e.closeModalAndRefresh,o=e.selectedUser,r=e.selectedGroup,s=e.setModalErrorSnackMessage,c=e.open,d=(0,a.useState)(!1),x=(0,i.Z)(d,2),h=x[0],v=x[1],y=(0,a.useState)([]),C=(0,i.Z)(y,2),N=C[0],S=C[1],k=(0,a.useState)([]),P=(0,i.Z)(k,2),E=P[0],M=P[1];(0,a.useEffect)((function(){if(c){if(null!==r)return void(r&&Z.Z.invoke("GET","/api/v1/group?name=".concat(encodeURI(r))).then((function(e){var n=l()(e,"policy","");S(n.split(",")),M(n.split(","))})).catch((function(e){s(e),v(!1)})));var e=l()(o,"policy",[]);S(e),M(e)}}),[c,r,o]);var R=l()(o,"accessKey","");return(0,j.jsxs)(f.Z,{onClose:function(){t()},modalOpen:c,title:"Set Policies",children:[(0,j.jsx)(p.ZP,{item:!0,xs:12,children:(0,j.jsx)(b.Z,{label:"Selected ".concat(null!==r?"Group":"User"),content:null!==r?r:R})}),(0,j.jsx)(p.ZP,{item:!0,xs:12,children:(0,j.jsx)(b.Z,{label:"Current Policy",content:N.join(", ")})}),(0,j.jsx)("div",{className:n.tableBlock,children:(0,j.jsx)(g.Z,{selectedPolicy:E,setSelectedPolicy:M})}),(0,j.jsxs)(p.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[(0,j.jsx)(u.Z,{type:"button",variant:"outlined",color:"primary",className:n.spacerRight,onClick:function(){M(N)},children:"Reset"}),(0,j.jsx)(u.Z,{type:"button",variant:"contained",color:"primary",disabled:h,onClick:function(){var e="user",n=null;null!==r?(e="group",n=r):null!==o&&(n=o.accessKey),v(!0),Z.Z.invoke("PUT","/api/v1/set-policy",{name:E,entityName:n,entityType:e}).then((function(){v(!1),t()})).catch((function(e){v(!1),s(e)}))},children:"Save"})]}),h&&(0,j.jsx)(p.ZP,{item:!0,xs:12,children:(0,j.jsx)(m.Z,{})})]})})))},25233:function(e,n,t){t.d(n,{LQ:function(){return i},g4:function(){return o},V2:function(){return a}});var i=function(e,n){return e.accessKey>n.accessKey?1:e.accessKeyn.name?1:e.namen?1:e0&&(0,p.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){x()},size:"large",children:(0,p.jsx)(m.gx,{})})]})]})})))},48122:function(e,n,t){t(50390);var i=t(86509),o=t(4285),a=t(62559);n.Z=(0,o.Z)((function(e){return(0,i.Z)({root:{padding:0,margin:0,fontSize:".9rem"}})}))((function(e){var n=e.classes,t=e.children;return(0,a.jsx)("h1",{className:n.root,children:t})}))},62702:function(e,n,t){t(50390);var i=t(25594),o=t(86509),a=t(4285),r=t(62559);n.Z=(0,a.Z)((function(e){return(0,o.Z)({headerBarIcon:{marginRight:".7rem",color:e.palette.primary.main,"& .min-icon":{width:44,height:44}},headerBarSubheader:{color:"grey","@media (max-width: 900px)":{maxWidth:200}},screenTitle:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"1rem",borderBottom:"1px solid #EAEAEA","@media (max-width: 600px)":{flexFlow:"column"}},titleColumn:{height:"auto",justifyContent:"center",display:"flex",flexFlow:"column",alignItems:"flex-start","& h1":{fontSize:19}},leftItems:{display:"flex",alignItems:"center","@media (max-width: 600px)":{flexFlow:"column"}},rightItems:{display:"flex",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.icon,o=e.title,a=e.subTitle,s=e.actions,l=e.className;return(0,r.jsx)(i.ZP,{container:!0,children:(0,r.jsxs)(i.ZP,{item:!0,xs:12,className:"".concat(n.screenTitle," ").concat(l||""),children:[(0,r.jsxs)("div",{className:n.leftItems,children:[t?(0,r.jsx)("div",{className:n.headerBarIcon,children:t}):null,(0,r.jsxs)("div",{className:n.titleColumn,children:[(0,r.jsx)("h1",{style:{margin:0},children:o}),(0,r.jsx)("span",{className:n.headerBarSubheader,children:a})]})]}),(0,r.jsx)("div",{className:n.rightItems,children:s})]})})}))},23165:function(e,n,t){var i=t(36222),o=t(18489),a=(t(50390),t(65771)),r=t(13336),s=t(12066),l=t(4285),c=t(86509),d=t(72462),u=t(62559);n.Z=(0,l.Z)((function(e){return(0,c.Z)({searchField:(0,o.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,o=e.classes,l=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,m=e.overrideClass,p=e.value,x=(0,i.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(a.Z,{position:d,className:o.adornment,children:(0,u.jsx)(r.Z,{})}));return(0,u.jsx)(s.Z,{placeholder:t,className:m||o.searchField,id:"search-resource",label:"",InputProps:x,onChange:function(e){l(e.target.value)},variant:"standard",value:p})}))},57647:function(e,n,t){var i=t(18489),o=t(23430),a=t(50390),r=t(56805),s=t(49044),l=t(97227),c=t(74564),d=t(669),u=t(4285),m=t(88669),p=t(86509),x=t(13512),h=t(62559),f={minHeight:60};n.Z=(0,u.Z)((function(e){return(0,p.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,p=void 0===u?"0":u,Z=e.routes,g=e.isRouteTabs,b=a.useState(p),j=(0,o.Z)(b,2),v=j[0],y=j[1],C=(0,m.Z)(),N=(0,x.Z)(C.breakpoints.down("md")),S=[],k=[];return n?(n.forEach((function(e){S.push(e.tabConfig),k.push(e.content)})),(0,h.jsx)(l.ZP,{value:"".concat(v),children:(0,h.jsxs)(r.Z,{className:t.tabsContainer,children:[(0,h.jsx)(r.Z,{className:t.tabsHeaderContainer,children:(0,h.jsx)(c.Z,{onChange:function(e,n){y(n)},orientation:N?"horizontal":"vertical",variant:N?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:S.map((function(e,n){return e?(0,h.jsx)(s.Z,(0,i.Z)((0,i.Z)({className:t.tabHeader,value:"".concat(n),style:f},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,h.jsxs)(r.Z,{className:t.tabContentContainer,children:[g?null:k.map((function(e,n){return(0,h.jsx)(d.Z,{classes:(0,i.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),g?(0,h.jsx)("div",{className:t.tabPanel,children:Z}):null]})]})})):null}))},65284:function(e,n,t){t.r(n);var i=t(23430),o=(t(50390),t(34424)),a=t(23473),r=t(44149),s=t(60656),l=t(21639),c=t(98280),d=t(62559),u={setErrorSnackMessage:r.Ih},m=(0,o.$j)(null,u);n.default=m((function(e){var n=e.selectedGroup,t=e.deleteOpen,o=e.closeDeleteModalAndRefresh,r=e.setErrorSnackMessage,u=(0,l.Z)((function(){return o(!0)}),(function(e){return r(e)})),m=(0,i.Z)(u,2),p=m[0],x=m[1];if(!n)return null;return(0,d.jsx)(s.Z,{title:"Delete Group",confirmText:"Delete",isOpen:t,titleIcon:(0,d.jsx)(c.Nv,{}),isLoading:p,onConfirm:function(){x("DELETE","/api/v1/group?name=".concat(encodeURI(n)))},onClose:function(){return o(!1)},confirmationContent:(0,d.jsxs)(a.Z,{children:["Are you sure you want to delete group",(0,d.jsx)("br",{}),(0,d.jsx)("b",{children:n}),"?"]})})}))},39275:function(e,n,t){t.r(n),t.d(n,{default:function(){return K},formatPolicy:function(){return G},getPoliciesAsString:function(){return D}});var i=t(23430),o=t(18489),a=t(50390),r=t(70971),s=t(86509),l=t(72462),c=t(44149),d=t(34424),u=t(4285),m=t(25594),p=t(62702),x=t(98280),h=t(17777),f=t(24442),Z=t(30324),g=t(16549),b=t(71094),j=t(76352),v=t(50280),y=t(66946),C=t(62559),N={setModalErrorSnackMessage:c.zb},S=(0,d.$j)(null,N),k=(0,u.Z)((function(e){return(0,s.Z)((0,o.Z)((0,o.Z)((0,o.Z)({buttonContainer:{textAlign:"right",marginTop:"1rem"},userSelector:{"& .MuiPaper-root":{padding:0,marginBottom:15}}},l.ID),l.DF),l.oO))}))(S((function(e){var n=e.classes,t=e.title,o=void 0===t?"":t,r=e.groupStatus,s=void 0===r?"enabled":r,l=e.preSelectedUsers,d=void 0===l?[]:l,u=e.selectedGroup,p=void 0===u?"":u,h=e.open,f=e.onClose,g=(0,a.useState)(d),N=(0,i.Z)(g,2),S=N[0],k=N[1];return(0,C.jsxs)(j.Z,{modalOpen:h,onClose:f,title:o,titleIcon:(0,C.jsx)(x.Zm,{}),children:[(0,C.jsx)("div",{className:n.formFieldRow,children:(0,C.jsx)(v.Z,{label:"Selected Group",content:p})}),(0,C.jsx)("div",{className:n.userSelector,children:(0,C.jsx)(b.Z,{selectedUsers:S,setSelectedUsers:k,editMode:!p})}),(0,C.jsxs)(m.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,C.jsx)(y.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){k(d)},children:"Reset"}),(0,C.jsx)(y.Z,{type:"button",variant:"contained",color:"primary",onClick:function(){Z.Z.invoke("PUT","/api/v1/group?name=".concat(encodeURI(p)),{group:p,members:S,status:s}).then((function(e){f()})).catch((function(e){f(),(0,c.zb)(e)}))},children:"Save"})]})]})}))),P=t(65284),E=t(57647),M=t(92440),R=t(25534),w=t(29316),A=t(48122),B=t(23165),F=t(49495),I=t(15607),T=t(35721),U=t(6369),O=(0,u.Z)((function(e){return(0,s.Z)({breadcrumLink:{textDecoration:"none",color:"black"}})}))((function(e){var n=e.classes;return(0,C.jsx)(T.Z,{label:(0,C.jsx)(a.Fragment,{children:(0,C.jsx)(U.rU,{to:F.gA.GROUPS,className:n.breadcrumLink,children:"Groups"})}),actions:(0,C.jsx)(a.Fragment,{})})})),L=t(53224),G=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e.length<=0?[]:e.split(",")},D=function(e){return e.join(", ")},z={setErrorSnackMessage:c.Ih},_=(0,d.$j)(null,z),K=(0,u.Z)((function(e){return(0,s.Z)((0,o.Z)((0,o.Z)((0,o.Z)({pageContainer:{border:"1px solid #EAEAEA",width:"100%"},breadcrumLink:{textDecoration:"none",color:"black"},statusLabel:{fontSize:".8rem",marginRight:".7rem"},statusValue:{fontWeight:"bold",fontSize:".9rem",marginRight:".7rem"},searchField:(0,o.Z)((0,o.Z)({},l.qg.searchField),{},{maxWidth:280})},l.VX),l.bK),{},{actionsTray:(0,o.Z)((0,o.Z)({},l.OR.actionsTray),{},{alignItems:"center","& h1":{flex:1},"& button":{marginLeft:".8rem"},"@media (max-width: 900px)":{justifyContent:"flex-end","& h1":{display:"none"},"& button":{whiteSpace:"nowrap",textOverflow:"ellipsis"}}})},(0,l.Bz)(e.spacing(4))))}))(_((function(e){var n=e.classes,t=(0,a.useState)({}),o=(0,i.Z)(t,2),s=o[0],l=o[1],d=(0,a.useState)(!1),u=(0,i.Z)(d,2),b=u[0],j=u[1],v=(0,a.useState)(!1),y=(0,i.Z)(v,2),N=y[0],S=y[1],T=(0,a.useState)(!1),U=(0,i.Z)(T,2),D=U[0],z=U[1],_=(0,a.useState)(""),K=(0,i.Z)(_,2),H=K[0],V=K[1],W=(0,r.UO)().groupName,$=void 0===W?"":W,X=s.members,q=void 0===X?[]:X,Q=s.policy,Y=void 0===Q?"":Q,J=s.status,ee=q.filter((function(e){return e.includes(H)}));(0,a.useEffect)((function(){$&&ae()}),[$]);var ne=G(Y),te="enabled"===J,ie=q.length>0?"Edit Members":"Add Members",oe=(0,I.F)(F.C3,[F.Ft.ADMIN_GET_GROUP]);function ae(){oe&&Z.Z.invoke("GET","/api/v1/group?name=".concat(encodeURI($))).then((function(e){l(e)})).catch((function(e){(0,c.zb)(e),l({})}))}var re=(0,C.jsxs)(a.Fragment,{children:[(0,C.jsxs)("div",{className:n.actionsTray,children:[(0,C.jsx)(A.Z,{children:"Members"}),(0,C.jsx)(B.Z,{placeholder:"Search members",onChange:function(e){V(e)},overrideClass:n.searchField,value:H}),(0,C.jsx)(I.Z,{resource:F.C3,scopes:[F.Ft.ADMIN_ADD_USER_TO_GROUP],errorProps:{disabled:!0},children:(0,C.jsx)(L.Z,{tooltip:ie,text:ie,variant:"contained",color:"primary",icon:(0,C.jsx)(x.dt,{}),onClick:function(){S(!0)}})})]}),(0,C.jsx)("div",{className:n.tableBlock,children:(0,C.jsx)(I.Z,{resource:F.C3,scopes:[F.Ft.ADMIN_LIST_USERS],errorProps:{disabled:!0},children:(0,C.jsx)(h.Z,{itemActions:[{type:"view",onClick:function(e){f.Z.push("".concat(F.gA.USERS,"/").concat(e))}}],columns:[{label:"Access Key",elementKey:""}],selectedItems:[],isLoading:!1,records:ee,entityName:"Users",idField:""})})})]}),se=(0,C.jsxs)(a.Fragment,{children:[(0,C.jsxs)("div",{className:n.actionsTray,children:[(0,C.jsx)(A.Z,{children:"Policies"}),(0,C.jsx)(L.Z,{tooltip:"Set Policies",text:"Set Policies",variant:"contained",color:"primary",icon:(0,C.jsx)(x.v4,{}),onClick:function(){j(!0)}})]}),(0,C.jsx)("div",{className:n.tableBlock,children:(0,C.jsx)(h.Z,{itemActions:[{type:"view",onClick:function(e){f.Z.push("".concat(F.gA.POLICIES,"/").concat(e))}}],columns:[{label:"Policy",elementKey:""}],isLoading:!1,records:ne,entityName:"Policies",idField:""})})]});return(0,C.jsxs)(a.Fragment,{children:[(0,C.jsx)(O,{}),(0,C.jsx)(w.Z,{to:F.gA.GROUPS,label:"Return to Groups"}),(0,C.jsxs)(R.Z,{className:n.pageContainer,children:[(0,C.jsx)(m.ZP,{item:!0,xs:12,children:(0,C.jsx)(p.Z,{icon:(0,C.jsx)(a.Fragment,{children:(0,C.jsx)(x.ww,{width:40})}),title:$,subTitle:null,actions:(0,C.jsxs)(a.Fragment,{children:[(0,C.jsx)("span",{className:n.statusLabel,children:"Group Status:"}),(0,C.jsx)("span",{id:"group-status",className:n.statusValue,children:te?"Enabled":"Disabled"}),(0,C.jsx)(I.Z,{resource:F.C3,scopes:[F.Ft.ADMIN_ENABLE_GROUP,F.Ft.ADMIN_DISABLE_GROUP],errorProps:{disabled:!0},matchAll:!0,children:(0,C.jsx)(M.Z,{indicatorLabels:["Enabled","Disabled"],checked:te,value:"group_enabled",id:"group-status",name:"group-status",onChange:function(){var e;e=!te,Z.Z.invoke("PUT","/api/v1/group?name=".concat(encodeURI($)),{group:$,members:q,status:e?"enabled":"disabled"}).then((function(e){ae()})).catch((function(e){(0,c.zb)(e)}))},switchOnly:!0})}),(0,C.jsx)(I.Z,{resource:F.C3,scopes:[F.Ft.ADMIN_REMOVE_USER_FROM_GROUP],errorProps:{disabled:!0},children:(0,C.jsx)("div",{className:n.spacerLeft,children:(0,C.jsx)(L.Z,{tooltip:"Delete Group",text:"",variant:"outlined",color:"secondary",icon:(0,C.jsx)(x.XH,{}),onClick:function(){z(!0)}})})})]})})}),(0,C.jsx)(m.ZP,{item:!0,xs:12,children:(0,C.jsxs)(E.Z,{children:[{tabConfig:{label:"Members"},content:re},{tabConfig:{label:"Policies"},content:se}]})})]}),b?(0,C.jsx)(g.default,{open:b,selectedGroup:$,selectedUser:null,closeModalAndRefresh:function(){j(!1),ae()}}):null,N?(0,C.jsx)(k,{selectedGroup:$,onSaveClick:function(){},title:ie,groupStatus:J,preSelectedUsers:q,open:N,onClose:function(){S(!1),ae()}}):null,D&&(0,C.jsx)(P.default,{deleteOpen:D,selectedGroup:$,closeDeleteModalAndRefresh:function(e){z(!1),e&&f.Z.push(F.gA.GROUPS)}})]})})))},59176:function(e,n,t){var i=t(35531),o=t(23430),a=t(18489),r=t(50390),s=t(34424),l=t(86509),c=t(4285),d=t(81378),u=t(25594),m=t(25233),p=t(72462),x=t(44149),h=t(30324),f=t(17777),Z=t(23165),g=t(62559),b=(0,s.$j)(null,{setModalErrorSnackMessage:x.zb});n.Z=(0,c.Z)((function(e){return(0,l.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({noFound:{textAlign:"center",padding:"10px 0"},searchBox:{flex:1},fieldLabel:{fontWeight:400,width:160,marginRight:10},tableBlock:(0,a.Z)({},p.VX.tableBlock),filterBox:{display:"flex",marginBottom:15,alignItems:"center","& span":{fontSize:14}}},p.qg),p.VX),p.OR),p.jY))}))(b((function(e){var n=e.classes,t=e.selectedPolicy,a=void 0===t?[]:t,s=e.setSelectedPolicy,l=e.setModalErrorSnackMessage,c=(0,r.useState)([]),p=(0,o.Z)(c,2),x=p[0],b=p[1],j=(0,r.useState)(!1),v=(0,o.Z)(j,2),y=v[0],C=v[1],N=(0,r.useState)(""),S=(0,o.Z)(N,2),k=S[0],P=S[1],E=(0,r.useCallback)((function(){C(!0),h.Z.invoke("GET","/api/v1/policies?limit=1000").then((function(e){var n=null===e.policies?[]:e.policies;C(!1),b(n.sort(m.g4))})).catch((function(e){C(!1),l(e)}))}),[l]);(0,r.useEffect)((function(){C(!0)}),[]),(0,r.useEffect)((function(){y&&E()}),[y,E]);var M=x.filter((function(e){return e.name.includes(k)}));return(0,g.jsx)(r.Fragment,{children:(0,g.jsxs)(u.ZP,{item:!0,xs:12,children:[y&&(0,g.jsx)(d.Z,{}),x.length>0?(0,g.jsxs)(r.Fragment,{children:[(0,g.jsxs)(u.ZP,{item:!0,xs:12,className:n.filterBox,children:[(0,g.jsx)("span",{className:n.fieldLabel,children:"Assign Policies"}),(0,g.jsx)("div",{className:n.searchBox,children:(0,g.jsx)(Z.Z,{placeholder:"Filter Policy",onChange:function(e){P(e)},value:k})})]}),(0,g.jsx)(u.ZP,{item:!0,xs:12,className:n.tableBlock,children:(0,g.jsx)(f.Z,{columns:[{label:"Policy",elementKey:"name"}],onSelect:function(e){var n=e.target,t=n.value,o=n.checked,r=(0,i.Z)(a);o?r.push(t):r=r.filter((function(e){return e!==t})),r=r.filter((function(e){return""!==e})),s(r)},selectedItems:a,isLoading:y,records:M,entityName:"Policies",idField:"name",customPaperHeight:n.multiSelectTable})})]}):(0,g.jsx)("div",{className:n.noFound,children:"No Policies Available"})]})})})))},16549:function(e,n,t){t.r(n);var i=t(23430),o=t(18489),a=t(50390),r=t(34424),s=t(38342),l=t.n(s),c=t(86509),d=t(4285),u=t(66946),m=t(81378),p=t(25594),x=t(72462),h=t(44149),f=t(76352),Z=t(30324),g=t(59176),b=t(50280),j=t(62559),v={setModalErrorSnackMessage:h.zb},y=(0,r.$j)(null,v);n.default=(0,d.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},x.oO),x.bK),{},{tableBlock:(0,o.Z)((0,o.Z)({},x.VX.tableBlock),{},{marginTop:15}),buttonContainer:{textAlign:"right",marginTop:".9rem"}}))}))(y((function(e){var n=e.classes,t=e.closeModalAndRefresh,o=e.selectedUser,r=e.selectedGroup,s=e.setModalErrorSnackMessage,c=e.open,d=(0,a.useState)(!1),x=(0,i.Z)(d,2),h=x[0],v=x[1],y=(0,a.useState)([]),C=(0,i.Z)(y,2),N=C[0],S=C[1],k=(0,a.useState)([]),P=(0,i.Z)(k,2),E=P[0],M=P[1];(0,a.useEffect)((function(){if(c){if(null!==r)return void(r&&Z.Z.invoke("GET","/api/v1/group?name=".concat(encodeURI(r))).then((function(e){var n=l()(e,"policy","");S(n.split(",")),M(n.split(","))})).catch((function(e){s(e),v(!1)})));var e=l()(o,"policy",[]);S(e),M(e)}}),[c,r,o]);var R=l()(o,"accessKey","");return(0,j.jsxs)(f.Z,{onClose:function(){t()},modalOpen:c,title:"Set Policies",children:[(0,j.jsx)(p.ZP,{item:!0,xs:12,children:(0,j.jsx)(b.Z,{label:"Selected ".concat(null!==r?"Group":"User"),content:null!==r?r:R})}),(0,j.jsx)(p.ZP,{item:!0,xs:12,children:(0,j.jsx)(b.Z,{label:"Current Policy",content:N.join(", ")})}),(0,j.jsx)("div",{className:n.tableBlock,children:(0,j.jsx)(g.Z,{selectedPolicy:E,setSelectedPolicy:M})}),(0,j.jsxs)(p.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[(0,j.jsx)(u.Z,{type:"button",variant:"outlined",color:"primary",className:n.spacerRight,onClick:function(){M(N)},children:"Reset"}),(0,j.jsx)(u.Z,{type:"button",variant:"contained",color:"primary",disabled:h,onClick:function(){var e="user",n=null;null!==r?(e="group",n=r):null!==o&&(n=o.accessKey),v(!0),Z.Z.invoke("PUT","/api/v1/set-policy",{name:E,entityName:n,entityType:e}).then((function(){v(!1),t()})).catch((function(e){v(!1),s(e)}))},children:"Save"})]}),h&&(0,j.jsx)(p.ZP,{item:!0,xs:12,children:(0,j.jsx)(m.Z,{})})]})})))},25233:function(e,n,t){t.d(n,{LQ:function(){return i},g4:function(){return o},V2:function(){return a}});var i=function(e,n){return e.accessKey>n.accessKey?1:e.accessKeyn.name?1:e.namen?1:e.\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n fontSize: \".9rem\",\n },\n });\n\ninterface IPanelTitle extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst PanelTitle = ({ classes, children }: IPanelTitle) => {\n return

{children}

;\n};\n\nexport default withStyles(styles)(PanelTitle);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
\n {icon ?
{icon}
: null}\n
\n

{title}

\n {subTitle}\n
\n
\n\n
{actions}
\n
\n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\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 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\";\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 [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\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 from \"react\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\n\ninterface IDeleteGroup {\n selectedGroup: string;\n deleteOpen: boolean;\n closeDeleteModalAndRefresh: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeleteGroup = ({\n selectedGroup,\n deleteOpen,\n closeDeleteModalAndRefresh,\n setErrorSnackMessage,\n}: IDeleteGroup) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedGroup) {\n return null;\n }\n const onDeleteGroup = () => {\n invokeDeleteApi(\"DELETE\", `/api/v1/group?name=${encodeURI(selectedGroup)}`);\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onDeleteGroup}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete group\n
\n {selectedGroup}?\n
\n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteGroup);\n","import React, { useState } from \"react\";\nimport UsersSelectors from \"./UsersSelectors\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport PredefinedList from \"../Common/FormComponents/PredefinedList/PredefinedList\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button } from \"@mui/material\";\nimport api from \"../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n formFieldStyles,\n modalBasic,\n modalStyleUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AddMembersToGroupIcon } from \"../../../icons\";\n\ntype UserPickerModalProps = {\n classes?: any;\n title?: string;\n preSelectedUsers?: string[];\n selectedGroup?: string;\n open: boolean;\n onClose: () => void;\n onSaveClick: () => void;\n groupStatus?: string;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n marginTop: \"1rem\",\n },\n userSelector: {\n \"& .MuiPaper-root\": {\n padding: 0,\n marginBottom: 15,\n },\n },\n ...modalStyleUtils,\n ...formFieldStyles,\n ...modalBasic,\n });\n\nconst AddGroupMember = ({\n classes,\n title = \"\",\n groupStatus = \"enabled\",\n preSelectedUsers = [],\n selectedGroup = \"\",\n open,\n onClose,\n}: UserPickerModalProps) => {\n const [selectedUsers, setSelectedUsers] = useState(preSelectedUsers);\n\n function addMembersToGroup() {\n return api\n .invoke(\"PUT\", `/api/v1/group?name=${encodeURI(selectedGroup)}`, {\n group: selectedGroup,\n members: selectedUsers,\n status: groupStatus,\n })\n .then((res) => {\n onClose();\n })\n .catch((err: ErrorResponseHandler) => {\n onClose();\n setModalErrorSnackMessage(err);\n });\n }\n\n return (\n }\n >\n
\n \n
\n
\n \n
\n\n \n {\n setSelectedUsers(preSelectedUsers);\n }}\n >\n Reset\n \n\n {\n addMembersToGroup();\n }}\n >\n Save\n \n \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\nexport default withStyles(styles)(connector(AddGroupMember));\n","import React, { Fragment } from \"react\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport { Link } from \"react-router-dom\";\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\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n });\n\ntype DetailsHeaderProps = {\n classes: any;\n};\n\nconst GroupDetailsHeader = ({ classes }: DetailsHeaderProps) => {\n return (\n \n \n Groups\n \n \n }\n actions={}\n />\n );\n};\n\nexport default withStyles(styles)(GroupDetailsHeader);\n","import React, { Fragment, useEffect, useState } from \"react\";\nimport { useParams } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n spacingUtils,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../actions\";\nimport { connect } from \"react-redux\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid } from \"@mui/material\";\nimport ScreenTitle from \"../Common/ScreenTitle/ScreenTitle\";\nimport {\n IAMPoliciesIcon,\n TrashIcon,\n GroupsIcon,\n AddIcon,\n} from \"../../../icons\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport history from \"../../../history\";\nimport api from \"../../../common/api\";\nimport SetPolicy from \"../Policies/SetPolicy\";\nimport AddGroupMember from \"./AddGroupMember\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport DeleteGroup from \"./DeleteGroup\";\nimport VerticalTabs from \"../Common/VerticalTabs/VerticalTabs\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport BackLink from \"../../../common/BackLink\";\nimport PanelTitle from \"../Common/PanelTitle/PanelTitle\";\nimport SearchBox from \"../Common/SearchBox\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport SecureComponent, {\n hasPermission,\n} from \"../../../common/SecureComponent/SecureComponent\";\nimport GroupDetailsHeader from \"./GroupDetailsHeader\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n pageContainer: {\n border: \"1px solid #EAEAEA\",\n width: \"100%\",\n },\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n statusLabel: {\n fontSize: \".8rem\",\n marginRight: \".7rem\",\n },\n statusValue: {\n fontWeight: \"bold\",\n fontSize: \".9rem\",\n marginRight: \".7rem\",\n },\n searchField: {\n ...searchField.searchField,\n maxWidth: 280,\n },\n ...tableStyles,\n ...spacingUtils,\n actionsTray: {\n ...actionsTray.actionsTray,\n\n alignItems: \"center\",\n \"& h1\": {\n flex: 1,\n },\n \"& button\": {\n marginLeft: \".8rem\",\n },\n \"@media (max-width: 900px)\": {\n justifyContent: \"flex-end\",\n \"& h1\": {\n display: \"none\",\n },\n \"& button\": {\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n },\n },\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IGroupDetailsProps {\n classes: any;\n match: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\ntype GroupInfo = {\n members?: any[];\n name?: string;\n policy?: string;\n status?: string;\n};\n\nexport const formatPolicy = (policy: string = \"\"): string[] => {\n if (policy.length <= 0) return [];\n return policy.split(\",\");\n};\n\nexport const getPoliciesAsString = (policies: string[]): string => {\n return policies.join(\", \");\n};\n\nconst GroupsDetails = ({ classes }: IGroupDetailsProps) => {\n const [groupDetails, setGroupDetails] = useState({});\n\n /*Modals*/\n const [policyOpen, setPolicyOpen] = useState(false);\n const [usersOpen, setUsersOpen] = useState(false);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [memberFilter, setMemberFilter] = useState(\"\");\n\n //const [policyFilter, setPolicyFilter] = useState(\"\");\n\n const { groupName = \"\" } = useParams>();\n\n const { members = [], policy = \"\", status: groupEnabled } = groupDetails;\n\n const filteredMembers = members.filter((elementItem) =>\n elementItem.includes(memberFilter)\n );\n\n useEffect(() => {\n if (groupName) {\n fetchGroupInfo();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [groupName]);\n\n const groupPolicies = formatPolicy(policy);\n const isGroupEnabled = groupEnabled === \"enabled\";\n const memberActionText = members.length > 0 ? \"Edit Members\" : \"Add Members\";\n\n const getGroupDetails = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_GROUP,\n ]);\n\n function fetchGroupInfo() {\n if (getGroupDetails) {\n api\n .invoke(\"GET\", `/api/v1/group?name=${encodeURI(groupName)}`)\n .then((res: any) => {\n setGroupDetails(res);\n })\n .catch((err) => {\n setModalErrorSnackMessage(err);\n setGroupDetails({});\n });\n }\n }\n\n function toggleGroupStatus(nextStatus: boolean) {\n return api\n .invoke(\"PUT\", `/api/v1/group?name=${encodeURI(groupName)}`, {\n group: groupName,\n members: members,\n status: nextStatus ? \"enabled\" : \"disabled\",\n })\n .then((res) => {\n fetchGroupInfo();\n })\n .catch((err: ErrorResponseHandler) => {\n setModalErrorSnackMessage(err);\n });\n }\n\n const groupsTabContent = (\n \n
\n Members\n {\n setMemberFilter(searchText);\n }}\n overrideClass={classes.searchField}\n value={memberFilter}\n />\n \n }\n onClick={() => {\n setUsersOpen(true);\n }}\n />\n \n
\n\n
\n \n {\n history.push(`${IAM_PAGES.USERS}/${userName}`);\n },\n },\n ]}\n columns={[{ label: \"Access Key\", elementKey: \"\" }]}\n selectedItems={[]}\n isLoading={false}\n records={filteredMembers}\n entityName=\"Users\"\n idField=\"\"\n />\n \n
\n
\n );\n\n const policiesTabContent = (\n \n
\n Policies\n\n }\n onClick={() => {\n setPolicyOpen(true);\n }}\n />\n
\n
\n {\n history.push(`${IAM_PAGES.POLICIES}/${policy}`);\n },\n },\n ]}\n columns={[{ label: \"Policy\", elementKey: \"\" }]}\n isLoading={false}\n records={groupPolicies}\n entityName=\"Policies\"\n idField=\"\"\n />\n
\n
\n );\n return (\n \n \n \n\n \n \n \n \n \n }\n title={groupName}\n subTitle={null}\n actions={\n \n Group Status:\n \n {isGroupEnabled ? \"Enabled\" : \"Disabled\"}\n \n \n {\n toggleGroupStatus(!isGroupEnabled);\n }}\n switchOnly\n />\n \n\n \n
\n }\n onClick={() => {\n setDeleteOpen(true);\n }}\n />\n
\n \n
\n }\n />\n
\n\n \n \n {{\n tabConfig: { label: \"Members\" },\n content: groupsTabContent,\n }}\n {{\n tabConfig: { label: \"Policies\" },\n content: policiesTabContent,\n }}\n \n \n
\n {/*Modals*/}\n {policyOpen ? (\n {\n setPolicyOpen(false);\n fetchGroupInfo();\n }}\n />\n ) : null}\n\n {usersOpen ? (\n {}}\n title={memberActionText}\n groupStatus={groupEnabled}\n preSelectedUsers={members}\n open={usersOpen}\n onClose={() => {\n setUsersOpen(false);\n fetchGroupInfo();\n }}\n />\n ) : null}\n\n {deleteOpen && (\n {\n setDeleteOpen(false);\n if (isDelSuccess) {\n history.push(IAM_PAGES.GROUPS);\n }\n }}\n />\n )}\n {/*Modals*/}\n
\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(GroupsDetails));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { policySort } from \"../../../utils/sortFunctions\";\nimport {\n actionsTray,\n searchField,\n selectorsCommon,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { PolicyList } from \"./types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport SearchBox from \"../Common/SearchBox\";\n\ninterface ISelectPolicyProps {\n classes: any;\n selectedPolicy?: string[];\n setSelectedPolicy: any;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n noFound: {\n textAlign: \"center\",\n padding: \"10px 0\",\n },\n searchBox: {\n flex: 1,\n },\n fieldLabel: {\n fontWeight: 400,\n width: 160,\n marginRight: 10,\n },\n tableBlock: {\n ...tableStyles.tableBlock,\n },\n filterBox: {\n display: \"flex\",\n marginBottom: 15,\n alignItems: \"center\",\n \"& span\": {\n fontSize: 14,\n },\n },\n ...searchField,\n ...tableStyles,\n ...actionsTray,\n ...selectorsCommon,\n });\n\nconst PolicySelectors = ({\n classes,\n selectedPolicy = [],\n setSelectedPolicy,\n setModalErrorSnackMessage,\n}: ISelectPolicyProps) => {\n // Local State\n const [records, setRecords] = useState([]);\n const [loading, isLoading] = useState(false);\n const [filter, setFilter] = useState(\"\");\n\n const fetchPolicies = useCallback(() => {\n isLoading(true);\n\n api\n .invoke(\"GET\", `/api/v1/policies?limit=1000`)\n .then((res: PolicyList) => {\n const policies = res.policies === null ? [] : res.policies;\n isLoading(false);\n setRecords(policies.sort(policySort));\n })\n .catch((err: ErrorResponseHandler) => {\n isLoading(false);\n setModalErrorSnackMessage(err);\n });\n }, [setModalErrorSnackMessage]);\n\n //Effects\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n if (loading) {\n fetchPolicies();\n }\n }, [loading, fetchPolicies]);\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedPolicy]; // We clone the checkedUsers array\n\n if (checked) {\n // If the user has checked this field we need to push this to checkedUsersList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n // remove empty values\n elements = elements.filter((element) => element !== \"\");\n\n setSelectedPolicy(elements);\n };\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.name.includes(filter)\n );\n\n return (\n \n \n {loading && }\n {records.length > 0 ? (\n \n \n Assign Policies\n
\n {\n setFilter(value);\n }}\n value={filter}\n />\n
\n
\n \n \n \n
\n ) : (\n
No Policies Available
\n )}\n
\n
\n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(PolicySelectors));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } 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 { Button, LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n modalBasic,\n spacingUtils,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { User } from \"../Users/types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../common/api\";\nimport PolicySelectors from \"./PolicySelectors\";\nimport PredefinedList from \"../Common/FormComponents/PredefinedList/PredefinedList\";\n\ninterface ISetPolicyProps {\n classes: any;\n closeModalAndRefresh: () => void;\n selectedUser: User | null;\n selectedGroup: string | null;\n open: boolean;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n ...spacingUtils,\n tableBlock: {\n ...tableStyles.tableBlock,\n marginTop: 15,\n },\n buttonContainer: {\n textAlign: \"right\",\n marginTop: \".9rem\",\n },\n });\n\nconst SetPolicy = ({\n classes,\n closeModalAndRefresh,\n selectedUser,\n selectedGroup,\n setModalErrorSnackMessage,\n open,\n}: ISetPolicyProps) => {\n //Local States\n const [loading, setLoading] = useState(false);\n const [actualPolicy, setActualPolicy] = useState([]);\n const [selectedPolicy, setSelectedPolicy] = useState([]);\n\n const setPolicyAction = () => {\n let entity = \"user\";\n let value = null;\n if (selectedGroup !== null) {\n entity = \"group\";\n value = selectedGroup;\n } else {\n if (selectedUser !== null) {\n value = selectedUser.accessKey;\n }\n }\n\n setLoading(true);\n\n api\n .invoke(\"PUT\", `/api/v1/set-policy`, {\n name: selectedPolicy,\n entityName: value,\n entityType: entity,\n })\n .then(() => {\n setLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n const fetchGroupInformation = () => {\n if (selectedGroup) {\n api\n .invoke(\"GET\", `/api/v1/group?name=${encodeURI(selectedGroup)}`)\n .then((res: any) => {\n const groupPolicy: String = get(res, \"policy\", \"\");\n setActualPolicy(groupPolicy.split(\",\"));\n setSelectedPolicy(groupPolicy.split(\",\"));\n })\n .catch((err: ErrorResponseHandler) => {\n setModalErrorSnackMessage(err);\n setLoading(false);\n });\n }\n };\n\n const resetSelection = () => {\n setSelectedPolicy(actualPolicy);\n };\n\n useEffect(() => {\n if (open) {\n if (selectedGroup !== null) {\n fetchGroupInformation();\n return;\n }\n\n const userPolicy: string[] = get(selectedUser, \"policy\", []);\n setActualPolicy(userPolicy);\n setSelectedPolicy(userPolicy);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open, selectedGroup, selectedUser]);\n\n const userName = get(selectedUser, \"accessKey\", \"\");\n\n return (\n {\n closeModalAndRefresh();\n }}\n modalOpen={open}\n title=\"Set Policies\"\n >\n \n \n \n \n \n \n
\n \n
\n \n \n Reset\n \n \n Save\n \n \n {loading && (\n \n \n \n )}\n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(SetPolicy));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\ninterface userInterface {\n accessKey: string;\n}\n\ninterface policyInterface {\n name: string;\n}\n\nexport const usersSort = (a: userInterface, b: userInterface) => {\n if (a.accessKey > b.accessKey) {\n return 1;\n }\n if (a.accessKey < b.accessKey) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const policySort = (a: policyInterface, b: policyInterface) => {\n if (a.name > b.name) {\n return 1;\n }\n if (a.name < b.name) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const stringSort = (a: string, b: string) => {\n if (a > b) {\n return 1;\n }\n if (a < b) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","useStyles","makeStyles","root","props","variant","tgtColor","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","disabled","tooltip","restProps","size","sx","border","borderWidth","borderStyle","borderRadius","backgroundColor","opacity","contained","background","dark","children","rest","button","clsx","title","onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","pageContentStyles","contentSpacer","container","item","xs","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","titleText","closeContainer","closeButton","disableRipple","content","actions","cancelButton","type","confirmButton","loading","loadingPosition","startIcon","autoFocus","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","labelStyle","fontWeight","marginTop","rightMenu","textAlign","logo","fill","middleComponent","direction","sm","md","paddingTop","length","component","margin","headerBarIcon","height","headerBarSubheader","screenTitle","borderBottom","flexFlow","titleColumn","leftItems","rightItems","subTitle","style","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","id","InputProps","e","target","tabStripStyle","tabsContainer","tabsHeaderContainer","borderRight","marginBottom","tabContentContainer","tabPanel","flexDirection","selectedTab","routes","isRouteTabs","React","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","forEach","child","push","tabConfig","newValue","orientation","scrollButtons","tabList","map","index","tabHeader","disableTouchRipple","focusRipple","setErrorSnackMessage","selectedGroup","deleteOpen","closeDeleteModalAndRefresh","useApi","deleteLoading","invokeDeleteApi","encodeURI","setModalErrorSnackMessage","buttonContainer","userSelector","modalStyleUtils","formFieldStyles","modalBasic","groupStatus","preSelectedUsers","selectedUsers","setSelectedUsers","ModalWrapper","modalOpen","formFieldRow","PredefinedList","UsersSelectors","editMode","Grid","modalButtonBar","Button","group","members","status","breadcrumLink","PageHeader","Fragment","IAM_PAGES","formatPolicy","policy","split","getPoliciesAsString","policies","join","pageContainer","statusLabel","statusValue","tableStyles","spacingUtils","actionsTray","flex","whiteSpace","textOverflow","containerForHeader","spacing","groupDetails","setGroupDetails","policyOpen","setPolicyOpen","usersOpen","setUsersOpen","setDeleteOpen","memberFilter","setMemberFilter","useParams","groupName","groupEnabled","filteredMembers","filter","elementItem","includes","useEffect","fetchGroupInfo","groupPolicies","isGroupEnabled","memberActionText","getGroupDetails","hasPermission","CONSOLE_UI_RESOURCE","IAM_SCOPES","groupsTabContent","PanelTitle","SearchBox","searchText","SecureComponent","resource","scopes","errorProps","RBIconButton","tableBlock","TableWrapper","itemActions","userName","history","columns","elementKey","selectedItems","records","entityName","idField","policiesTabContent","BackLink","PageLayout","ScreenTitle","matchAll","FormSwitchWrapper","indicatorLabels","checked","name","nextStatus","switchOnly","spacerLeft","VerticalTabs","SetPolicy","selectedUser","closeModalAndRefresh","onSaveClick","DeleteGroup","isDelSuccess","noFound","searchBox","fieldLabel","filterBox","selectorsCommon","selectedPolicy","setSelectedPolicy","setRecords","setFilter","fetchPolicies","useCallback","sort","policySort","filteredRecords","onSelect","targetD","elements","element","customPaperHeight","multiSelectTable","setLoading","actualPolicy","setActualPolicy","groupPolicy","get","userPolicy","spacerRight","entity","accessKey","entityType","usersSort","a","b","stringSort"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/9330.5c857d6b.chunk.js b/portal-ui/build/static/js/9330.c4a20f8b.chunk.js similarity index 98% rename from portal-ui/build/static/js/9330.5c857d6b.chunk.js rename to portal-ui/build/static/js/9330.c4a20f8b.chunk.js index 8b1662be1..9061a49c8 100644 --- a/portal-ui/build/static/js/9330.5c857d6b.chunk.js +++ b/portal-ui/build/static/js/9330.c4a20f8b.chunk.js @@ -1,2 +1,2 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[9330],{8235:function(e,n,t){"use strict";t(50390);var i=t(86509),s=t(4285),o=t(25594),r=t(62559);n.Z=(0,s.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,s=e.help;return(0,r.jsx)("div",{className:n.root,children:(0,r.jsxs)(o.ZP,{container:!0,children:[(0,r.jsxs)(o.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,i]}),(0,r.jsx)(o.ZP,{item:!0,xs:12,className:n.helpText,children:s})]})})}))},25534:function(e,n,t){"use strict";var i=t(18489),s=(t(50390),t(25594)),o=t(86509),r=t(4285),a=t(72462),c=t(62559);n.Z=(0,r.Z)((function(e){return(0,o.Z)((0,i.Z)({},a.Bw))}))((function(e){var n=e.classes,t=e.className,i=void 0===t?"":t,o=e.children;return(0,c.jsx)("div",{className:n.contentSpacer,children:(0,c.jsx)(s.ZP,{container:!0,children:(0,c.jsx)(s.ZP,{item:!0,xs:12,className:i,children:o})})})}))},35721:function(e,n,t){"use strict";t(50390);var i=t(34424),s=t(25594),o=t(86509),r=t(4285),a=t(35477),c=t(95467),l=t(26805),d=t(44078),g=t(5265),u=t(11387),f=t(62559),m={toggleList:g.kQ},h=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),m);n.Z=h((0,r.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,i=e.actions,o=e.sidebarOpen,r=e.operatorMode,g=e.managerObjects,m=e.toggleList,h=e.middleComponent;return(0,f.jsxs)(s.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,f.jsxs)(s.ZP,{item:!0,xs:12,sm:12,md:h?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,f.jsx)("div",{className:n.logo,children:r?(0,f.jsx)(l.Z,{}):(0,f.jsx)(d.Z,{})}),(0,f.jsx)(a.Z,{variant:"h4",className:n.labelStyle,children:t})]}),h&&(0,f.jsx)(s.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:h}),(0,f.jsxs)(s.ZP,{item:!0,xs:12,sm:12,md:h?3:6,className:n.rightMenu,children:[i&&i,g&&g.length>0&&(0,f.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){m()},size:"large",children:(0,f.jsx)(u.gx,{})})]})]})})))},39330:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return k}});var i=t(23430),s=t(18489),o=t(50390),r=t(69686),a=t(34424),c=t(71497),l="error",d="success",g="inProgress",u=t(86509),f=t(4285),m=t(51774),h=t(72462),x=t(25594),p=t(66946),v=t(35721),j=t(44149),b=t(18201),Z=t(37354),w=t(11387),y=t(30324),C=t(62559),S=(0,f.Z)((function(e){return(0,u.Z)({titleBar:{borderBottom:"#E5E5E5 1px solid",padding:"30px 25px",fontSize:20,color:"#07193E",fontWeight:"bold",borderRadius:"10px 10px 0px 0px",paddingTop:0},divisorContainer:{padding:25},serversData:{color:"#07193E",fontSize:18,display:"flex",alignItems:"center","& svg":{marginRight:10}},minioVersionContainer:{fontSize:12,color:"#07193E",justifyContent:"center",alignSelf:"center",alignItems:"center",display:"flex"},versionIcon:{color:"#07193E",marginRight:20},loaderAlign:{textAlign:"center"},advancedContainer:{justifyContent:"flex-end",display:"flex"},optionsContainer:{padding:0,marginBottom:25},advancedConfiguration:{color:"#2781B0",fontSize:10,textDecoration:"underline",border:"none",backgroundColor:"transparent",cursor:"pointer",alignItems:"center",display:"flex","&:hover":{color:"#07193E"},"& svg":{width:10,alignSelf:"center",marginLeft:5}},advancedOpen:{transform:"rotateZ(-90deg) translateX(-4px) translateY(2px)"},advancedClosed:{transform:"rotateZ(90deg)"},advancedContent:{backgroundColor:"#F5F7F9",maxHeight:0,transitionDuration:"0.3s",overflow:"hidden",padding:"0 15px","&.open":{maxHeight:400,padding:15}}})}))((function(e){var n=e.title,t=e.children,s=e.classes,r=e.advancedVisible,a=e.advancedContent,c=(0,o.useState)("N/A"),l=(0,i.Z)(c,2),d=l[0],g=l[1],u=(0,o.useState)(0),f=(0,i.Z)(u,2),m=f[0],h=f[1],p=(0,o.useState)(0),v=(0,i.Z)(p,2),j=v[0],S=v[1],N=(0,o.useState)(!0),P=(0,i.Z)(N,2),E=P[0],k=P[1],I=(0,o.useState)(!1),D=(0,i.Z)(I,2),O=D[0],M=D[1];return(0,o.useEffect)((function(){E&&y.Z.invoke("GET","/api/v1/admin/info?defaultOnly=true").then((function(e){var n,t=null===(n=e.servers)||void 0===n?void 0:n.length;if(h(t),e.servers.length>0){g(e.servers[0].version);var i=e.servers.reduce((function(e,n){return e+n.drives.length}),0);S(i)}k(!1)})).catch((function(e){k(!1)}))}),[E]),(0,C.jsxs)(x.ZP,{item:!0,xs:12,children:[(0,C.jsx)(x.ZP,{item:!0,xs:12,className:s.titleBar,children:n}),(0,C.jsxs)(x.ZP,{item:!0,xs:12,children:[(0,C.jsxs)(x.ZP,{item:!0,xs:12,className:s.optionsContainer,children:[(0,C.jsx)(x.ZP,{container:!0,className:s.divisorContainer,children:E?(0,C.jsx)(o.Fragment,{children:(0,C.jsx)(x.ZP,{item:!0,xs:12,className:s.loaderAlign,children:(0,C.jsx)(b.Z,{size:25})})}):(0,C.jsxs)(o.Fragment,{children:[(0,C.jsxs)(x.ZP,{item:!0,xs:12,md:4,className:s.serversData,children:[(0,C.jsx)(w.FU,{})," ",(0,C.jsx)("strong",{children:m}),"\xa0nodes,\xa0",(0,C.jsx)("strong",{children:j}),"\xa0 drives"]}),(0,C.jsxs)(x.ZP,{item:!0,xs:12,md:4,className:s.minioVersionContainer,children:[(0,C.jsx)("span",{className:s.versionIcon,children:(0,C.jsx)(w.Db,{})})," ","MinIO VERSION\xa0",(0,C.jsx)("strong",{children:d})]}),(0,C.jsx)(x.ZP,{item:!0,xs:12,md:4,className:s.advancedContainer,children:r&&(0,C.jsxs)("button",{onClick:function(){M(!O)},className:s.advancedConfiguration,children:["Advanced configurations"," ",(0,C.jsx)("span",{className:O?s.advancedOpen:s.advancedClosed,children:(0,C.jsx)(Z.Z,{})})]})})]})}),a&&(0,C.jsx)(x.ZP,{xs:12,className:"".concat(s.advancedContent," ").concat(O?"open":""),children:a})]}),t]})]})})),N=t(25534),P=t(8235),E=t(47424),k=(0,a.$j)((function(e){return{message:e.healthInfo.message,serverDiagnosticStatus:e.system.serverDiagnosticStatus}}),{healthInfoMessageReceived:c.ec,healthInfoResetMessage:c.Xp,setSnackBarMessage:j.y1,setServerDiagStat:j.KY})((0,f.Z)((function(e){return(0,u.Z)((0,s.Z)((0,s.Z)({loading:{paddingTop:8,paddingLeft:40},buttons:{justifyContent:"flex-start",gap:20},localMessage:{fontSize:24,color:"#07193E",fontWeight:"bold",textAlign:"center",marginBottom:10},startDiagnostic:{textAlign:"center",marginBottom:25},progressResult:{textAlign:"center",marginBottom:25},diagNew:{textAlign:"right",margin:25,marginBottom:0}},h.OR),(0,h.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.healthInfoMessageReceived,s=e.healthInfoResetMessage,a=e.message,c=e.setSnackBarMessage,u=e.setServerDiagStat,f=e.serverDiagnosticStatus,h=(0,o.useState)(!1),j=(0,i.Z)(h,2),Z=j[0],w=j[1],y=(0,o.useState)(!1),k=(0,i.Z)(y,2),I=k[0],D=k[1],O=(0,o.useState)(!0),M=(0,i.Z)(O,2),B=M[0],R=M[1],A=(0,o.useState)(""),T=(0,i.Z)(A,2),z=T[0],F=T[1],_=(0,o.useState)("New Diagnostic"),L=(0,i.Z)(_,2),V=L[0],W=L[1];return(0,o.useEffect)((function(){f!==g?f===d&&I?W("Diagnostic complete"):f!==l||W("Error"):W("Diagnostic in progress...")}),[f,Z,I]),(0,o.useEffect)((function(){f===d&&a!=={}&&R(!1),f===g&&R(!0),w(!1)}),[f,a]),(0,o.useEffect)((function(){if(Z){s();var e=new URL(window.location.toString()),n=e.port,i=(0,m.x2)(e.protocol),o=new r.w3cwebsocket("".concat(i,"://").concat(e.hostname,":").concat(n,"/ws/health-info?deadline=1h")),a=null;null!==o&&(o.onopen=function(){console.log("WebSocket Client Connected"),o.send("ok"),a=setInterval((function(){o.send("ok")}),1e4),D(!0),F("Diagnostic started. Please do not refresh page during diagnosis."),u(g)},o.onmessage=function(e){var n=JSON.parse(e.data.toString());n.timestamp=new Date(n.timestamp.toString()),t(n)},o.onerror=function(e){console.log("error closing websocket:",e.message),o.close(1e3),clearInterval(a),u(l)},o.onclose=function(e){clearInterval(a),e.code===m.HE||e.code===m.ci||e.code===m.V9?(console.log("connection closed by server with code:",e.code),F("An error occurred while getting Diagnostic file."),u(l)):(console.log("connection closed by server"),F("Diagnostic file is ready to be downloaded."),u(d))})}else w(!1)}),[t,s,Z,c,u]),(0,C.jsxs)(o.Fragment,{children:[(0,C.jsx)(v.Z,{label:"Health"}),(0,C.jsxs)(N.Z,{children:[(0,C.jsx)(x.ZP,{item:!0,xs:12,className:n.boxy,children:(0,C.jsx)(S,{title:V,advancedVisible:!1,children:(0,C.jsxs)(x.ZP,{container:!0,className:n.buttons,children:[!I&&(0,C.jsx)(x.ZP,{item:!0,xs:12,className:n.startDiagnostic,children:(0,C.jsx)(p.Z,{type:"submit",variant:"contained",color:"primary",disabled:Z,onClick:function(){return w(!0)},children:"Start Diagnostic"})},"start-diag"),I&&(0,C.jsxs)(x.ZP,{item:!0,xs:12,className:n.progressResult,children:[(0,C.jsx)("div",{className:n.localMessage,children:z}),f===g?(0,C.jsx)("div",{className:n.loading,children:(0,C.jsx)(b.Z,{size:25})}):(0,C.jsxs)(o.Fragment,{children:[f!==l&&(0,C.jsx)(p.Z,{type:"submit",variant:"contained",color:"primary",onClick:function(){!function(e,n){var t=document.createElement("a");t.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(n)),t.setAttribute("download",e),t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)}("diagnostic.json",JSON.stringify(a,null,2))},disabled:B,children:"Download"}),(0,C.jsx)(x.ZP,{item:!0,xs:12,className:n.diagNew,children:(0,C.jsx)(p.Z,{id:"start-new-diagnostic",type:"submit",variant:"contained",color:"primary",disabled:Z,onClick:function(){return w(!0)},children:"Start New Diagnostic"})})]})]},"start-download")]})})}),!I&&(0,C.jsxs)(o.Fragment,{children:[(0,C.jsx)("br",{}),(0,C.jsx)(P.Z,{title:"During the health diagnostics run all production traffic will be suspended.",iconComponent:(0,C.jsx)(E.Z,{}),help:(0,C.jsx)(o.Fragment,{})})]})]})]})})))},51774:function(e,n,t){"use strict";t.d(n,{V9:function(){return i},ci:function(){return s},HE:function(){return o},x2:function(){return r}});var i=1006,s=1008,o=1011,r=function(e){var n="ws";return"https:"===e&&(n="wss"),n}},37354:function(e,n,t){"use strict";var i=t(64119);n.Z=void 0;var s=i(t(66830)),o=t(62559),r=(0,s.default)((0,o.jsx)("path",{d:"M6.23 20.23 8 22l10-10L8 2 6.23 3.77 14.46 12z"}),"ArrowForwardIos");n.Z=r},3930: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__}}()},69686:function(e,n,t){var i;if("object"===typeof globalThis)i=globalThis;else try{i=t(3930)}catch(a){}finally{if(i||"undefined"===typeof window||(i=window),!i)throw new Error("Could not determine global this")}var s=i.WebSocket||i.MozWebSocket,o=t(84994);function r(e,n){return n?new s(e,n):new s(e)}s&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(r,e,{get:function(){return s[e]}})})),e.exports={w3cwebsocket:s?r:null,version:o}},84994:function(e,n,t){e.exports=t(19794).version},19794:function(e){"use strict";e.exports={version:"1.0.34"}}}]); -//# sourceMappingURL=9330.5c857d6b.chunk.js.map \ No newline at end of file +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[9330],{8235:function(e,n,t){"use strict";t(50390);var i=t(86509),s=t(4285),o=t(25594),r=t(62559);n.Z=(0,s.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,s=e.help;return(0,r.jsx)("div",{className:n.root,children:(0,r.jsxs)(o.ZP,{container:!0,children:[(0,r.jsxs)(o.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,i]}),(0,r.jsx)(o.ZP,{item:!0,xs:12,className:n.helpText,children:s})]})})}))},25534:function(e,n,t){"use strict";var i=t(18489),s=(t(50390),t(25594)),o=t(86509),r=t(4285),a=t(72462),c=t(62559);n.Z=(0,r.Z)((function(e){return(0,o.Z)((0,i.Z)({},a.Bw))}))((function(e){var n=e.classes,t=e.className,i=void 0===t?"":t,o=e.children;return(0,c.jsx)("div",{className:n.contentSpacer,children:(0,c.jsx)(s.ZP,{container:!0,children:(0,c.jsx)(s.ZP,{item:!0,xs:12,className:i,children:o})})})}))},35721:function(e,n,t){"use strict";t(50390);var i=t(34424),s=t(25594),o=t(86509),r=t(4285),a=t(35477),c=t(95467),l=t(26805),d=t(44078),g=t(5265),u=t(98280),f=t(62559),m={toggleList:g.kQ},h=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),m);n.Z=h((0,r.Z)((function(e){return(0,o.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,i=e.actions,o=e.sidebarOpen,r=e.operatorMode,g=e.managerObjects,m=e.toggleList,h=e.middleComponent;return(0,f.jsxs)(s.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,f.jsxs)(s.ZP,{item:!0,xs:12,sm:12,md:h?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!o&&(0,f.jsx)("div",{className:n.logo,children:r?(0,f.jsx)(l.Z,{}):(0,f.jsx)(d.Z,{})}),(0,f.jsx)(a.Z,{variant:"h4",className:n.labelStyle,children:t})]}),h&&(0,f.jsx)(s.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:h}),(0,f.jsxs)(s.ZP,{item:!0,xs:12,sm:12,md:h?3:6,className:n.rightMenu,children:[i&&i,g&&g.length>0&&(0,f.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){m()},size:"large",children:(0,f.jsx)(u.gx,{})})]})]})})))},39330:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return k}});var i=t(23430),s=t(18489),o=t(50390),r=t(69686),a=t(34424),c=t(71497),l="error",d="success",g="inProgress",u=t(86509),f=t(4285),m=t(51774),h=t(72462),x=t(25594),p=t(66946),v=t(35721),j=t(44149),b=t(18201),Z=t(37354),w=t(98280),y=t(30324),C=t(62559),S=(0,f.Z)((function(e){return(0,u.Z)({titleBar:{borderBottom:"#E5E5E5 1px solid",padding:"30px 25px",fontSize:20,color:"#07193E",fontWeight:"bold",borderRadius:"10px 10px 0px 0px",paddingTop:0},divisorContainer:{padding:25},serversData:{color:"#07193E",fontSize:18,display:"flex",alignItems:"center","& svg":{marginRight:10}},minioVersionContainer:{fontSize:12,color:"#07193E",justifyContent:"center",alignSelf:"center",alignItems:"center",display:"flex"},versionIcon:{color:"#07193E",marginRight:20},loaderAlign:{textAlign:"center"},advancedContainer:{justifyContent:"flex-end",display:"flex"},optionsContainer:{padding:0,marginBottom:25},advancedConfiguration:{color:"#2781B0",fontSize:10,textDecoration:"underline",border:"none",backgroundColor:"transparent",cursor:"pointer",alignItems:"center",display:"flex","&:hover":{color:"#07193E"},"& svg":{width:10,alignSelf:"center",marginLeft:5}},advancedOpen:{transform:"rotateZ(-90deg) translateX(-4px) translateY(2px)"},advancedClosed:{transform:"rotateZ(90deg)"},advancedContent:{backgroundColor:"#F5F7F9",maxHeight:0,transitionDuration:"0.3s",overflow:"hidden",padding:"0 15px","&.open":{maxHeight:400,padding:15}}})}))((function(e){var n=e.title,t=e.children,s=e.classes,r=e.advancedVisible,a=e.advancedContent,c=(0,o.useState)("N/A"),l=(0,i.Z)(c,2),d=l[0],g=l[1],u=(0,o.useState)(0),f=(0,i.Z)(u,2),m=f[0],h=f[1],p=(0,o.useState)(0),v=(0,i.Z)(p,2),j=v[0],S=v[1],N=(0,o.useState)(!0),P=(0,i.Z)(N,2),E=P[0],k=P[1],I=(0,o.useState)(!1),D=(0,i.Z)(I,2),O=D[0],M=D[1];return(0,o.useEffect)((function(){E&&y.Z.invoke("GET","/api/v1/admin/info?defaultOnly=true").then((function(e){var n,t=null===(n=e.servers)||void 0===n?void 0:n.length;if(h(t),e.servers.length>0){g(e.servers[0].version);var i=e.servers.reduce((function(e,n){return e+n.drives.length}),0);S(i)}k(!1)})).catch((function(e){k(!1)}))}),[E]),(0,C.jsxs)(x.ZP,{item:!0,xs:12,children:[(0,C.jsx)(x.ZP,{item:!0,xs:12,className:s.titleBar,children:n}),(0,C.jsxs)(x.ZP,{item:!0,xs:12,children:[(0,C.jsxs)(x.ZP,{item:!0,xs:12,className:s.optionsContainer,children:[(0,C.jsx)(x.ZP,{container:!0,className:s.divisorContainer,children:E?(0,C.jsx)(o.Fragment,{children:(0,C.jsx)(x.ZP,{item:!0,xs:12,className:s.loaderAlign,children:(0,C.jsx)(b.Z,{size:25})})}):(0,C.jsxs)(o.Fragment,{children:[(0,C.jsxs)(x.ZP,{item:!0,xs:12,md:4,className:s.serversData,children:[(0,C.jsx)(w.FU,{})," ",(0,C.jsx)("strong",{children:m}),"\xa0nodes,\xa0",(0,C.jsx)("strong",{children:j}),"\xa0 drives"]}),(0,C.jsxs)(x.ZP,{item:!0,xs:12,md:4,className:s.minioVersionContainer,children:[(0,C.jsx)("span",{className:s.versionIcon,children:(0,C.jsx)(w.Db,{})})," ","MinIO VERSION\xa0",(0,C.jsx)("strong",{children:d})]}),(0,C.jsx)(x.ZP,{item:!0,xs:12,md:4,className:s.advancedContainer,children:r&&(0,C.jsxs)("button",{onClick:function(){M(!O)},className:s.advancedConfiguration,children:["Advanced configurations"," ",(0,C.jsx)("span",{className:O?s.advancedOpen:s.advancedClosed,children:(0,C.jsx)(Z.Z,{})})]})})]})}),a&&(0,C.jsx)(x.ZP,{xs:12,className:"".concat(s.advancedContent," ").concat(O?"open":""),children:a})]}),t]})]})})),N=t(25534),P=t(8235),E=t(47424),k=(0,a.$j)((function(e){return{message:e.healthInfo.message,serverDiagnosticStatus:e.system.serverDiagnosticStatus}}),{healthInfoMessageReceived:c.ec,healthInfoResetMessage:c.Xp,setSnackBarMessage:j.y1,setServerDiagStat:j.KY})((0,f.Z)((function(e){return(0,u.Z)((0,s.Z)((0,s.Z)({loading:{paddingTop:8,paddingLeft:40},buttons:{justifyContent:"flex-start",gap:20},localMessage:{fontSize:24,color:"#07193E",fontWeight:"bold",textAlign:"center",marginBottom:10},startDiagnostic:{textAlign:"center",marginBottom:25},progressResult:{textAlign:"center",marginBottom:25},diagNew:{textAlign:"right",margin:25,marginBottom:0}},h.OR),(0,h.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.healthInfoMessageReceived,s=e.healthInfoResetMessage,a=e.message,c=e.setSnackBarMessage,u=e.setServerDiagStat,f=e.serverDiagnosticStatus,h=(0,o.useState)(!1),j=(0,i.Z)(h,2),Z=j[0],w=j[1],y=(0,o.useState)(!1),k=(0,i.Z)(y,2),I=k[0],D=k[1],O=(0,o.useState)(!0),M=(0,i.Z)(O,2),B=M[0],R=M[1],A=(0,o.useState)(""),T=(0,i.Z)(A,2),z=T[0],F=T[1],_=(0,o.useState)("New Diagnostic"),L=(0,i.Z)(_,2),V=L[0],W=L[1];return(0,o.useEffect)((function(){f!==g?f===d&&I?W("Diagnostic complete"):f!==l||W("Error"):W("Diagnostic in progress...")}),[f,Z,I]),(0,o.useEffect)((function(){f===d&&a!=={}&&R(!1),f===g&&R(!0),w(!1)}),[f,a]),(0,o.useEffect)((function(){if(Z){s();var e=new URL(window.location.toString()),n=e.port,i=(0,m.x2)(e.protocol),o=new r.w3cwebsocket("".concat(i,"://").concat(e.hostname,":").concat(n,"/ws/health-info?deadline=1h")),a=null;null!==o&&(o.onopen=function(){console.log("WebSocket Client Connected"),o.send("ok"),a=setInterval((function(){o.send("ok")}),1e4),D(!0),F("Diagnostic started. Please do not refresh page during diagnosis."),u(g)},o.onmessage=function(e){var n=JSON.parse(e.data.toString());n.timestamp=new Date(n.timestamp.toString()),t(n)},o.onerror=function(e){console.log("error closing websocket:",e.message),o.close(1e3),clearInterval(a),u(l)},o.onclose=function(e){clearInterval(a),e.code===m.HE||e.code===m.ci||e.code===m.V9?(console.log("connection closed by server with code:",e.code),F("An error occurred while getting Diagnostic file."),u(l)):(console.log("connection closed by server"),F("Diagnostic file is ready to be downloaded."),u(d))})}else w(!1)}),[t,s,Z,c,u]),(0,C.jsxs)(o.Fragment,{children:[(0,C.jsx)(v.Z,{label:"Health"}),(0,C.jsxs)(N.Z,{children:[(0,C.jsx)(x.ZP,{item:!0,xs:12,className:n.boxy,children:(0,C.jsx)(S,{title:V,advancedVisible:!1,children:(0,C.jsxs)(x.ZP,{container:!0,className:n.buttons,children:[!I&&(0,C.jsx)(x.ZP,{item:!0,xs:12,className:n.startDiagnostic,children:(0,C.jsx)(p.Z,{type:"submit",variant:"contained",color:"primary",disabled:Z,onClick:function(){return w(!0)},children:"Start Diagnostic"})},"start-diag"),I&&(0,C.jsxs)(x.ZP,{item:!0,xs:12,className:n.progressResult,children:[(0,C.jsx)("div",{className:n.localMessage,children:z}),f===g?(0,C.jsx)("div",{className:n.loading,children:(0,C.jsx)(b.Z,{size:25})}):(0,C.jsxs)(o.Fragment,{children:[f!==l&&(0,C.jsx)(p.Z,{type:"submit",variant:"contained",color:"primary",onClick:function(){!function(e,n){var t=document.createElement("a");t.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(n)),t.setAttribute("download",e),t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)}("diagnostic.json",JSON.stringify(a,null,2))},disabled:B,children:"Download"}),(0,C.jsx)(x.ZP,{item:!0,xs:12,className:n.diagNew,children:(0,C.jsx)(p.Z,{id:"start-new-diagnostic",type:"submit",variant:"contained",color:"primary",disabled:Z,onClick:function(){return w(!0)},children:"Start New Diagnostic"})})]})]},"start-download")]})})}),!I&&(0,C.jsxs)(o.Fragment,{children:[(0,C.jsx)("br",{}),(0,C.jsx)(P.Z,{title:"During the health diagnostics run all production traffic will be suspended.",iconComponent:(0,C.jsx)(E.Z,{}),help:(0,C.jsx)(o.Fragment,{})})]})]})]})})))},51774:function(e,n,t){"use strict";t.d(n,{V9:function(){return i},ci:function(){return s},HE:function(){return o},x2:function(){return r}});var i=1006,s=1008,o=1011,r=function(e){var n="ws";return"https:"===e&&(n="wss"),n}},37354:function(e,n,t){"use strict";var i=t(64119);n.Z=void 0;var s=i(t(66830)),o=t(62559),r=(0,s.default)((0,o.jsx)("path",{d:"M6.23 20.23 8 22l10-10L8 2 6.23 3.77 14.46 12z"}),"ArrowForwardIos");n.Z=r},3930: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__}}()},69686:function(e,n,t){var i;if("object"===typeof globalThis)i=globalThis;else try{i=t(3930)}catch(a){}finally{if(i||"undefined"===typeof window||(i=window),!i)throw new Error("Could not determine global this")}var s=i.WebSocket||i.MozWebSocket,o=t(84994);function r(e,n){return n?new s(e,n):new s(e)}s&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(r,e,{get:function(){return s[e]}})})),e.exports={w3cwebsocket:s?r:null,version:o}},84994:function(e,n,t){e.exports=t(19794).version},19794:function(e){"use strict";e.exports={version:"1.0.34"}}}]); +//# sourceMappingURL=9330.c4a20f8b.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/9330.5c857d6b.chunk.js.map b/portal-ui/build/static/js/9330.c4a20f8b.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/9330.5c857d6b.chunk.js.map rename to portal-ui/build/static/js/9330.c4a20f8b.chunk.js.map index 226d43598..4170d1f2e 100644 --- a/portal-ui/build/static/js/9330.5c857d6b.chunk.js.map +++ b/portal-ui/build/static/js/9330.c4a20f8b.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/9330.5c857d6b.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/HealthInfo/types.ts","screens/Console/Common/TestWrapper/TestWrapper.tsx","screens/Console/HealthInfo/HealthInfo.tsx","utils/wsUtils.ts","../node_modules/@mui/icons-material/ArrowForwardIos.js","../node_modules/es5-ext/global.js","../node_modules/websocket/lib/browser.js","../node_modules/websocket/lib/version.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const DiagStatError = \"error\";\nexport const DiagStatSuccess = \"success\";\nexport const DiagStatInProgress = \"inProgress\";\nexport interface HealthInfoMessage {\n timestamp: Date;\n error: string;\n perf: perfInfo;\n minio: minioHealthInfo;\n sys: sysHealthInfo;\n}\n\nexport interface perfInfo {\n drives: serverDrivesInfo[];\n net: serverNetHealthInfo[];\n net_parallel: serverNetHealthInfo;\n error: string;\n}\n\nexport interface serverDrivesInfo {\n addr: string;\n serial: drivePerfInfo[];\n parallel: drivePerfInfo[];\n error: string;\n}\n\nexport interface drivePerfInfo {\n endpoint: string;\n latency: diskLatency;\n throughput: diskThroughput;\n error: string;\n}\nexport interface diskLatency {\n avg_secs: number;\n percentile50_secs: number;\n percentile90_secs: number;\n percentile99_secs: number;\n min_secs: number;\n max_secs: number;\n}\n\nexport interface diskThroughput {\n avg_bytes_per_sec: number;\n percentile50_bytes_per_sec: number;\n percentile90_bytes_per_sec: number;\n percentile99_bytes_per_sec: number;\n min_bytes_per_sec: number;\n max_bytes_per_sec: number;\n}\n\nexport interface serverNetHealthInfo {\n addr: string;\n net: netPerfInfo[];\n error: string;\n}\n\nexport interface netPerfInfo {\n remote: string;\n latency: netLatency;\n throughput: netThroughput;\n error: string;\n}\n\nexport interface netLatency {\n avg_secs: number;\n percentile50_secs: number;\n percentile90_secs: number;\n percentile99_secs: number;\n min_secs: number;\n max_secs: number;\n}\nexport interface netThroughput {\n avg_bytes_per_sec: number;\n percentile50_bytes_per_sec: number;\n percentile90_bytes_per_sec: number;\n percentile99_bytes_per_sec: number;\n min_bytes_per_sec: number;\n max_bytes_per_sec: number;\n}\n\nexport interface minioHealthInfo {\n info: infoMessage;\n config: any;\n error: string;\n}\n\nexport interface infoMessage {\n mode: string;\n domain: string[];\n region: string;\n sqsARN: string[];\n deploymentID: string;\n buckets: buckets;\n objects: objects;\n usage: usage;\n services: services;\n backend: any;\n servers: serverProperties[];\n}\n\nexport interface buckets {\n count: number;\n}\n\nexport interface objects {\n count: number;\n}\n\nexport interface usage {\n size: number;\n}\n\nexport interface services {\n vault: vault;\n ldap: ldap;\n logger: Map[];\n audit: Map[];\n notifications: Map[]>;\n}\n\nexport interface vault {\n status: string;\n encrypt: string;\n decrypt: string;\n}\n\nexport interface ldap {\n status: string;\n}\n\nexport interface status {\n status: string;\n}\n\nexport interface serverProperties {\n state: string;\n endpoint: string;\n uptime: number;\n version: string;\n commitID: string;\n network: Map;\n drives: disk[];\n}\n\nexport interface disk {\n endpoint: string;\n rootDisk: boolean;\n path: string;\n healing: boolean;\n state: string;\n uuid: string;\n model: string;\n totalspace: number;\n usedspace: number;\n availspace: number;\n readthroughput: number;\n writethroughput: number;\n readlatency: number;\n writelatency: number;\n utilization: number;\n}\n\nexport interface sysHealthInfo {\n cpus: serverCpuInfo[];\n drives: serverDiskHwInfo[];\n osinfos: serverOsInfo[];\n meminfos: serverMemInfo[];\n procinfos: serverProcInfo[];\n error: string;\n}\n\nexport interface serverCpuInfo {\n addr: string;\n cpu: cpuInfoStat[];\n time: cpuTimeStat[];\n error: string;\n}\n\nexport interface cpuInfoStat {\n cpu: number;\n vendorId: string;\n family: string;\n model: string;\n stepping: number;\n physicalId: string;\n coreId: string;\n cores: number;\n modelName: string;\n mhz: number;\n cacheSize: number;\n flags: string[];\n microcode: string;\n}\n\nexport interface cpuTimeStat {\n cpu: string;\n user: number;\n system: number;\n idle: number;\n nice: number;\n iowait: number;\n irq: number;\n softirq: number;\n steal: number;\n guest: number;\n guestNice: number;\n}\n\nexport interface serverDiskHwInfo {\n addr: string;\n usages: diskUsageStat[];\n partitions: partitionStat[];\n counters: Map;\n error: string;\n}\n\nexport interface diskUsageStat {\n path: string;\n fstype: string;\n total: number;\n free: number;\n used: number;\n usedPercent: number;\n inodesTotal: number;\n inodesUsed: number;\n inodesFree: number;\n inodesUsedPercent: number;\n}\n\nexport interface partitionStat {\n device: string;\n mountpoint: string;\n fstype: string;\n opts: string;\n smartInfo: smartInfo;\n}\n\nexport interface smartInfo {\n device: string;\n scsi: scsiInfo;\n nvme: nvmeInfo;\n ata: ataInfo;\n error: string;\n}\n\nexport interface scsiInfo {\n scsiCapacityBytes: number;\n scsiModeSenseBuf: string;\n scsirespLen: number;\n scsiBdLen: number;\n scsiOffset: number;\n sciRpm: number;\n}\n\nexport interface nvmeInfo {\n serialNum: string;\n vendorId: string;\n firmwareVersion: string;\n modelNum: string;\n spareAvailable: string;\n spareThreshold: string;\n temperature: string;\n criticalWarning: string;\n maxDataTransferPages: number;\n controllerBusyTime: number;\n powerOnHours: number;\n powerCycles: number;\n unsafeShutdowns: number;\n mediaAndDataIntgerityErrors: number;\n dataUnitsReadBytes: number;\n dataUnitsWrittenBytes: number;\n hostReadCommands: number;\n hostWriteCommands: number;\n}\n\nexport interface ataInfo {\n scsiLuWWNDeviceID: string;\n serialNum: string;\n modelNum: string;\n firmwareRevision: string;\n RotationRate: string;\n MajorVersion: string;\n MinorVersion: string;\n smartSupportAvailable: boolean;\n smartSupportEnabled: boolean;\n smartErrorLog: string;\n transport: string;\n}\n\nexport interface diskIOCountersStat {\n readCount: number;\n mergedReadCount: number;\n DriteCount: number;\n mergedWriteCount: number;\n readBytes: number;\n writeBytes: number;\n readTime: number;\n writeTime: number;\n iopsInProgress: number;\n ioTime: number;\n weightedIO: number;\n name: string;\n serialNumber: string;\n label: string;\n}\n\nexport interface serverOsInfo {\n addr: string;\n info: infoStat;\n sensors: temperatureStat[];\n users: userStat[];\n error: string;\n}\n\nexport interface infoStat {\n hostname: string;\n uptime: number;\n bootTime: number;\n procs: number;\n os: string;\n platform: string;\n platformFamily: string;\n platformVersion: string;\n kernelVersion: string;\n kernelArch: string;\n virtualizationSystem: string;\n virtualizationRole: string;\n hostid: string;\n}\n\nexport interface temperatureStat {\n sensorKey: string;\n sensorTemperature: number;\n}\n\nexport interface userStat {\n user: string;\n terminal: string;\n host: string;\n started: number;\n}\n\nexport interface serverMemInfo {\n addr: string;\n swap: swapMemoryStat;\n virtualmem: virtualMemoryStat;\n error: string;\n}\n\nexport interface swapMemoryStat {\n total: number;\n used: number;\n free: number;\n usedPercent: number;\n sin: number;\n sout: number;\n pgin: number;\n pgout: number;\n pgfault: number;\n pgmajfault: number;\n}\n\nexport interface virtualMemoryStat {\n total: number;\n available: number;\n used: number;\n usedPercent: number;\n free: number;\n active: number;\n inactive: number;\n wired: number;\n laundry: number;\n buffers: number;\n cached: number;\n writeback: number;\n dirty: number;\n writebacktmp: number;\n shared: number;\n slab: number;\n sreclaimable: number;\n sunreclaim: number;\n pagetables: number;\n swapcached: number;\n commitlimit: number;\n committedas: number;\n hightotal: number;\n highfree: number;\n lowtotal: number;\n lowfree: number;\n swaptotal: number;\n swapfree: number;\n mapped: number;\n vmalloctotal: number;\n vmallocused: number;\n vmallocchunk: number;\n hugepagestotal: number;\n hugepagesfree: number;\n hugepagesize: number;\n}\n\nexport interface serverProcInfo {\n addr: string;\n processes: sysProcess[];\n error: string;\n}\n\nexport interface sysProcess {\n pid: number;\n background: boolean;\n cpupercent: number;\n children: number[];\n cmd: string;\n connections: nethwConnectionStat[];\n createtime: number;\n cwd: string;\n exe: string;\n gids: number[];\n iocounters: processIOCountersStat;\n isrunning: boolean;\n meminfo: memoryInfoStat;\n memmaps: any[];\n mempercent: number;\n name: string;\n netiocounters: nethwIOCounterStat[];\n nice: number;\n numctxswitches: processNmCtxSwitchesStat;\n numfds: number;\n numthreads: number;\n pagefaults: processPageFaultsStat;\n parent: number;\n ppid: number;\n rlimit: processRLimitStat[];\n status: string;\n tgid: number;\n cputimes: cpuTimeStat;\n uids: number[];\n username: string;\n}\n\nexport interface nethwConnectionStat {\n fd: number;\n family: number;\n type: number;\n localaddr: netAddr;\n remoteaddr: netAddr;\n status: string;\n uids: number[];\n pid: number;\n}\n\nexport interface netAddr {\n ip: string;\n port: number;\n}\n\nexport interface processIOCountersStat {\n readCount: number;\n writeCount: number;\n readBytes: number;\n writeBytes: number;\n}\n\nexport interface memoryInfoStat {\n rss: number;\n vms: number;\n hwm: number;\n data: number;\n stack: number;\n locked: number;\n swap: number;\n}\n\nexport interface nethwIOCounterStat {\n name: string;\n bytesSent: number;\n bytesRecv: number;\n packetsSent: number;\n packetsRecv: number;\n errin: number;\n errout: number;\n dropin: number;\n dropout: number;\n fifoin: number;\n fifoout: number;\n}\n\nexport interface processNmCtxSwitchesStat {\n voluntary: number;\n involuntary: number;\n}\n\nexport interface processPageFaultsStat {\n minorFaults: number;\n majorFaults: number;\n childMinorFaults: number;\n childMajorFaults: number;\n}\n\nexport interface processRLimitStat {\n resource: number;\n soft: number;\n hard: number;\n used: number;\n}\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState, useEffect } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { CircularProgress, Grid } from \"@mui/material\";\nimport ArrowForwardIosIcon from \"@mui/icons-material/ArrowForwardIos\";\nimport { DrivesIcon, VersionIcon } from \"../../../../icons\";\nimport { ServerInfo, Usage } from \"../../Dashboard/types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\n\ninterface ITestWrapper {\n title: any;\n children: any;\n classes: any;\n advancedVisible: boolean;\n advancedContent?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n titleBar: {\n borderBottom: \"#E5E5E5 1px solid\",\n padding: \"30px 25px\",\n fontSize: 20,\n color: \"#07193E\",\n fontWeight: \"bold\",\n borderRadius: \"10px 10px 0px 0px\",\n paddingTop: 0,\n },\n divisorContainer: {\n padding: 25,\n },\n serversData: {\n color: \"#07193E\",\n fontSize: 18,\n display: \"flex\",\n alignItems: \"center\",\n \"& svg\": {\n marginRight: 10,\n },\n },\n minioVersionContainer: {\n fontSize: 12,\n color: \"#07193E\",\n justifyContent: \"center\",\n alignSelf: \"center\",\n alignItems: \"center\",\n display: \"flex\",\n },\n versionIcon: {\n color: \"#07193E\",\n marginRight: 20,\n },\n loaderAlign: {\n textAlign: \"center\",\n },\n advancedContainer: {\n justifyContent: \"flex-end\",\n display: \"flex\",\n },\n optionsContainer: {\n padding: 0,\n marginBottom: 25,\n },\n advancedConfiguration: {\n color: \"#2781B0\",\n fontSize: 10,\n textDecoration: \"underline\",\n border: \"none\",\n backgroundColor: \"transparent\",\n cursor: \"pointer\",\n alignItems: \"center\",\n display: \"flex\",\n\n \"&:hover\": {\n color: \"#07193E\",\n },\n\n \"& svg\": {\n width: 10,\n alignSelf: \"center\",\n marginLeft: 5,\n },\n },\n advancedOpen: {\n transform: \"rotateZ(-90deg) translateX(-4px) translateY(2px)\",\n },\n advancedClosed: {\n transform: \"rotateZ(90deg)\",\n },\n advancedContent: {\n backgroundColor: \"#F5F7F9\",\n maxHeight: 0,\n transitionDuration: \"0.3s\",\n overflow: \"hidden\",\n padding: \"0 15px\",\n \"&.open\": {\n maxHeight: 400,\n padding: 15,\n },\n },\n });\n\nconst TestWrapper = ({\n title,\n children,\n classes,\n advancedVisible,\n advancedContent,\n}: ITestWrapper) => {\n const [version, setVersion] = useState(\"N/A\");\n const [totalNodes, setTotalNodes] = useState(0);\n const [totalDrives, setTotalDrives] = useState(0);\n const [loading, setLoading] = useState(true);\n const [advancedOpen, setAdvancedOpen] = useState(false);\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/admin/info?defaultOnly=true`)\n .then((res: Usage) => {\n const totalServers = res.servers?.length;\n setTotalNodes(totalServers);\n\n if (res.servers.length > 0) {\n setVersion(res.servers[0].version);\n\n const totalServers = res.servers.reduce(\n (prevTotal: number, currentElement: ServerInfo) => {\n return prevTotal + currentElement.drives.length;\n },\n 0\n );\n setTotalDrives(totalServers);\n }\n\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n });\n }\n }, [loading]);\n\n return (\n \n \n {title}\n \n \n \n \n {!loading ? (\n \n \n {totalNodes}\n  nodes, \n {totalDrives}  drives\n \n \n \n \n {\" \"}\n MinIO VERSION {version}\n \n \n {advancedVisible && (\n {\n setAdvancedOpen(!advancedOpen);\n }}\n className={classes.advancedConfiguration}\n >\n Advanced configurations{\" \"}\n \n \n
\n \n )}\n \n \n ) : (\n \n \n \n \n \n )}\n \n {advancedContent && (\n \n {advancedContent}\n \n )}\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(TestWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport {\n ICloseEvent,\n IMessageEvent,\n w3cwebsocket as W3CWebSocket,\n} from \"websocket\";\nimport { AppState } from \"../../../store\";\nimport { connect } from \"react-redux\";\nimport { healthInfoMessageReceived, healthInfoResetMessage } from \"./actions\";\nimport {\n DiagStatError,\n DiagStatInProgress,\n DiagStatSuccess,\n HealthInfoMessage,\n} from \"./types\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n WSCloseAbnormalClosure,\n WSCloseInternalServerErr,\n WSClosePolicyViolation,\n wsProtocol,\n} from \"../../../utils/wsUtils\";\nimport {\n actionsTray,\n containerForHeader,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { Button, Grid } from \"@mui/material\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport { setServerDiagStat, setSnackBarMessage } from \"../../../actions\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport TestWrapper from \"../Common/TestWrapper/TestWrapper\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport WarnIcon from \"../../../icons/WarnIcon\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n loading: {\n paddingTop: 8,\n paddingLeft: 40,\n },\n buttons: {\n justifyContent: \"flex-start\",\n gap: 20,\n },\n localMessage: {\n fontSize: 24,\n color: \"#07193E\",\n fontWeight: \"bold\",\n textAlign: \"center\",\n marginBottom: 10,\n },\n startDiagnostic: {\n textAlign: \"center\",\n marginBottom: 25,\n },\n progressResult: {\n textAlign: \"center\",\n marginBottom: 25,\n },\n diagNew: {\n textAlign: \"right\",\n margin: 25,\n marginBottom: 0,\n },\n ...actionsTray,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst download = (filename: string, text: string) => {\n let element = document.createElement(\"a\");\n element.setAttribute(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + encodeURIComponent(text)\n );\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n\n document.body.removeChild(element);\n};\n\ninterface IHealthInfo {\n classes: any;\n healthInfoMessageReceived: typeof healthInfoMessageReceived;\n healthInfoResetMessage: typeof healthInfoResetMessage;\n message: HealthInfoMessage;\n namespace: string;\n tenant: string;\n setSnackBarMessage: typeof setSnackBarMessage;\n setServerDiagStat: typeof setServerDiagStat;\n serverDiagnosticStatus: string;\n}\n\nconst HealthInfo = ({\n classes,\n healthInfoMessageReceived,\n healthInfoResetMessage,\n message,\n setSnackBarMessage,\n setServerDiagStat,\n serverDiagnosticStatus,\n}: IHealthInfo) => {\n const [startDiagnostic, setStartDiagnostic] = useState(false);\n const [diagStarted, setDiagStarted] = useState(false);\n const [downloadDisabled, setDownloadDisabled] = useState(true);\n const [localMessage, setMessage] = useState(\"\");\n const [title, setTitle] = useState(\"New Diagnostic\");\n\n useEffect(() => {\n if (serverDiagnosticStatus === DiagStatInProgress) {\n setTitle(\"Diagnostic in progress...\");\n return;\n }\n\n if (serverDiagnosticStatus === DiagStatSuccess && diagStarted) {\n setTitle(\"Diagnostic complete\");\n return;\n }\n\n if (serverDiagnosticStatus === DiagStatError) {\n setTitle(\"Error\");\n return;\n }\n }, [serverDiagnosticStatus, startDiagnostic, diagStarted]);\n\n useEffect(() => {\n if (\n serverDiagnosticStatus === DiagStatSuccess &&\n message !== ({} as HealthInfoMessage)\n ) {\n // Allow download of diagnostics file only when\n // it succeded fetching all the results and info is not empty.\n setDownloadDisabled(false);\n }\n if (serverDiagnosticStatus === DiagStatInProgress) {\n // Disable Start Diagnotic and Disable Download buttons\n // if a Diagnosis is in progress.\n setDownloadDisabled(true);\n }\n setStartDiagnostic(false);\n }, [serverDiagnosticStatus, message]);\n\n useEffect(() => {\n if (startDiagnostic) {\n healthInfoResetMessage();\n const url = new URL(window.location.toString());\n const isDev = process.env.NODE_ENV === \"development\";\n const port = isDev ? \"9090\" : url.port;\n\n const wsProt = wsProtocol(url.protocol);\n\n const c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}/ws/health-info?deadline=1h`\n );\n\n let interval: any | null = null;\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n c.send(\"ok\");\n interval = setInterval(() => {\n c.send(\"ok\");\n }, 10 * 1000);\n setDiagStarted(true);\n setMessage(\n \"Diagnostic started. Please do not refresh page during diagnosis.\"\n );\n setServerDiagStat(DiagStatInProgress);\n };\n c.onmessage = (message: IMessageEvent) => {\n let m: HealthInfoMessage = JSON.parse(message.data.toString());\n m.timestamp = new Date(m.timestamp.toString());\n\n healthInfoMessageReceived(m);\n };\n c.onerror = (error: Error) => {\n console.log(\"error closing websocket:\", error.message);\n c.close(1000);\n clearInterval(interval);\n setServerDiagStat(DiagStatError);\n };\n c.onclose = (event: ICloseEvent) => {\n clearInterval(interval);\n if (\n event.code === WSCloseInternalServerErr ||\n event.code === WSClosePolicyViolation ||\n event.code === WSCloseAbnormalClosure\n ) {\n // handle close with error\n console.log(\"connection closed by server with code:\", event.code);\n setMessage(\"An error occurred while getting Diagnostic file.\");\n setServerDiagStat(DiagStatError);\n } else {\n console.log(\"connection closed by server\");\n\n setMessage(\"Diagnostic file is ready to be downloaded.\");\n setServerDiagStat(DiagStatSuccess);\n }\n };\n }\n } else {\n // reset start status\n setStartDiagnostic(false);\n }\n }, [\n healthInfoMessageReceived,\n healthInfoResetMessage,\n startDiagnostic,\n setSnackBarMessage,\n setServerDiagStat,\n ]);\n\n return (\n \n \n \n \n \n \n {!diagStarted && (\n \n setStartDiagnostic(true)}\n >\n Start Diagnostic\n \n \n )}\n {diagStarted && (\n \n
{localMessage}
\n {serverDiagnosticStatus === DiagStatInProgress ? (\n
\n \n
\n ) : (\n \n {serverDiagnosticStatus !== DiagStatError && (\n {\n download(\n \"diagnostic.json\",\n JSON.stringify(message, null, 2)\n );\n }}\n disabled={downloadDisabled}\n >\n Download\n \n )}\n \n setStartDiagnostic(true)}\n >\n Start New Diagnostic\n \n \n \n )}\n
\n )}\n \n \n \n {!diagStarted && (\n \n
\n }\n help={}\n />\n \n )}\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n message: state.healthInfo.message,\n serverDiagnosticStatus: state.system.serverDiagnosticStatus,\n});\n\nconst connector = connect(mapState, {\n healthInfoMessageReceived: healthInfoMessageReceived,\n healthInfoResetMessage: healthInfoResetMessage,\n setSnackBarMessage,\n setServerDiagStat,\n});\n\nexport default connector(withStyles(styles)(HealthInfo));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\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","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M6.23 20.23 8 22l10-10L8 2 6.23 3.77 14.46 12z\"\n}), 'ArrowForwardIos');\n\nexports.default = _default;","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","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","pageContentStyles","children","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","label","justifyContent","labelStyle","color","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","actions","direction","sm","md","sx","variant","length","component","onClick","size","DiagStatError","DiagStatSuccess","DiagStatInProgress","titleBar","borderBottom","padding","divisorContainer","serversData","minioVersionContainer","alignSelf","versionIcon","loaderAlign","advancedContainer","optionsContainer","advancedConfiguration","textDecoration","cursor","advancedOpen","transform","advancedClosed","advancedContent","maxHeight","transitionDuration","overflow","advancedVisible","useState","version","setVersion","totalNodes","setTotalNodes","totalDrives","setTotalDrives","loading","setLoading","setAdvancedOpen","useEffect","api","then","res","totalServers","servers","reduce","prevTotal","currentElement","drives","catch","err","Grid","Fragment","CircularProgress","ArrowForwardIos","message","healthInfo","serverDiagnosticStatus","healthInfoMessageReceived","healthInfoResetMessage","setSnackBarMessage","setServerDiagStat","buttons","gap","localMessage","startDiagnostic","progressResult","diagNew","margin","actionsTray","containerForHeader","spacing","setStartDiagnostic","diagStarted","setDiagStarted","downloadDisabled","setDownloadDisabled","setMessage","setTitle","url","URL","window","location","toString","port","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","interval","onopen","console","log","send","setInterval","onmessage","m","JSON","parse","data","timestamp","Date","onerror","error","close","clearInterval","onclose","event","code","WSCloseInternalServerErr","WSClosePolicyViolation","WSCloseAbnormalClosure","PageHeader","PageLayout","boxy","Button","type","disabled","filename","text","element","document","createElement","setAttribute","encodeURIComponent","style","body","appendChild","click","removeChild","download","stringify","id","HelpBox","WarnIcon","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","naiveFallback","self","Error","module","this","globalThis","Object","defineProperty","prototype","get","configurable","__global__","_globalThis","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","uri","protocols","forEach","prop"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/9330.c4a20f8b.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/HealthInfo/types.ts","screens/Console/Common/TestWrapper/TestWrapper.tsx","screens/Console/HealthInfo/HealthInfo.tsx","utils/wsUtils.ts","../node_modules/@mui/icons-material/ArrowForwardIos.js","../node_modules/es5-ext/global.js","../node_modules/websocket/lib/browser.js","../node_modules/websocket/lib/version.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const DiagStatError = \"error\";\nexport const DiagStatSuccess = \"success\";\nexport const DiagStatInProgress = \"inProgress\";\nexport interface HealthInfoMessage {\n timestamp: Date;\n error: string;\n perf: perfInfo;\n minio: minioHealthInfo;\n sys: sysHealthInfo;\n}\n\nexport interface perfInfo {\n drives: serverDrivesInfo[];\n net: serverNetHealthInfo[];\n net_parallel: serverNetHealthInfo;\n error: string;\n}\n\nexport interface serverDrivesInfo {\n addr: string;\n serial: drivePerfInfo[];\n parallel: drivePerfInfo[];\n error: string;\n}\n\nexport interface drivePerfInfo {\n endpoint: string;\n latency: diskLatency;\n throughput: diskThroughput;\n error: string;\n}\nexport interface diskLatency {\n avg_secs: number;\n percentile50_secs: number;\n percentile90_secs: number;\n percentile99_secs: number;\n min_secs: number;\n max_secs: number;\n}\n\nexport interface diskThroughput {\n avg_bytes_per_sec: number;\n percentile50_bytes_per_sec: number;\n percentile90_bytes_per_sec: number;\n percentile99_bytes_per_sec: number;\n min_bytes_per_sec: number;\n max_bytes_per_sec: number;\n}\n\nexport interface serverNetHealthInfo {\n addr: string;\n net: netPerfInfo[];\n error: string;\n}\n\nexport interface netPerfInfo {\n remote: string;\n latency: netLatency;\n throughput: netThroughput;\n error: string;\n}\n\nexport interface netLatency {\n avg_secs: number;\n percentile50_secs: number;\n percentile90_secs: number;\n percentile99_secs: number;\n min_secs: number;\n max_secs: number;\n}\nexport interface netThroughput {\n avg_bytes_per_sec: number;\n percentile50_bytes_per_sec: number;\n percentile90_bytes_per_sec: number;\n percentile99_bytes_per_sec: number;\n min_bytes_per_sec: number;\n max_bytes_per_sec: number;\n}\n\nexport interface minioHealthInfo {\n info: infoMessage;\n config: any;\n error: string;\n}\n\nexport interface infoMessage {\n mode: string;\n domain: string[];\n region: string;\n sqsARN: string[];\n deploymentID: string;\n buckets: buckets;\n objects: objects;\n usage: usage;\n services: services;\n backend: any;\n servers: serverProperties[];\n}\n\nexport interface buckets {\n count: number;\n}\n\nexport interface objects {\n count: number;\n}\n\nexport interface usage {\n size: number;\n}\n\nexport interface services {\n vault: vault;\n ldap: ldap;\n logger: Map[];\n audit: Map[];\n notifications: Map[]>;\n}\n\nexport interface vault {\n status: string;\n encrypt: string;\n decrypt: string;\n}\n\nexport interface ldap {\n status: string;\n}\n\nexport interface status {\n status: string;\n}\n\nexport interface serverProperties {\n state: string;\n endpoint: string;\n uptime: number;\n version: string;\n commitID: string;\n network: Map;\n drives: disk[];\n}\n\nexport interface disk {\n endpoint: string;\n rootDisk: boolean;\n path: string;\n healing: boolean;\n state: string;\n uuid: string;\n model: string;\n totalspace: number;\n usedspace: number;\n availspace: number;\n readthroughput: number;\n writethroughput: number;\n readlatency: number;\n writelatency: number;\n utilization: number;\n}\n\nexport interface sysHealthInfo {\n cpus: serverCpuInfo[];\n drives: serverDiskHwInfo[];\n osinfos: serverOsInfo[];\n meminfos: serverMemInfo[];\n procinfos: serverProcInfo[];\n error: string;\n}\n\nexport interface serverCpuInfo {\n addr: string;\n cpu: cpuInfoStat[];\n time: cpuTimeStat[];\n error: string;\n}\n\nexport interface cpuInfoStat {\n cpu: number;\n vendorId: string;\n family: string;\n model: string;\n stepping: number;\n physicalId: string;\n coreId: string;\n cores: number;\n modelName: string;\n mhz: number;\n cacheSize: number;\n flags: string[];\n microcode: string;\n}\n\nexport interface cpuTimeStat {\n cpu: string;\n user: number;\n system: number;\n idle: number;\n nice: number;\n iowait: number;\n irq: number;\n softirq: number;\n steal: number;\n guest: number;\n guestNice: number;\n}\n\nexport interface serverDiskHwInfo {\n addr: string;\n usages: diskUsageStat[];\n partitions: partitionStat[];\n counters: Map;\n error: string;\n}\n\nexport interface diskUsageStat {\n path: string;\n fstype: string;\n total: number;\n free: number;\n used: number;\n usedPercent: number;\n inodesTotal: number;\n inodesUsed: number;\n inodesFree: number;\n inodesUsedPercent: number;\n}\n\nexport interface partitionStat {\n device: string;\n mountpoint: string;\n fstype: string;\n opts: string;\n smartInfo: smartInfo;\n}\n\nexport interface smartInfo {\n device: string;\n scsi: scsiInfo;\n nvme: nvmeInfo;\n ata: ataInfo;\n error: string;\n}\n\nexport interface scsiInfo {\n scsiCapacityBytes: number;\n scsiModeSenseBuf: string;\n scsirespLen: number;\n scsiBdLen: number;\n scsiOffset: number;\n sciRpm: number;\n}\n\nexport interface nvmeInfo {\n serialNum: string;\n vendorId: string;\n firmwareVersion: string;\n modelNum: string;\n spareAvailable: string;\n spareThreshold: string;\n temperature: string;\n criticalWarning: string;\n maxDataTransferPages: number;\n controllerBusyTime: number;\n powerOnHours: number;\n powerCycles: number;\n unsafeShutdowns: number;\n mediaAndDataIntgerityErrors: number;\n dataUnitsReadBytes: number;\n dataUnitsWrittenBytes: number;\n hostReadCommands: number;\n hostWriteCommands: number;\n}\n\nexport interface ataInfo {\n scsiLuWWNDeviceID: string;\n serialNum: string;\n modelNum: string;\n firmwareRevision: string;\n RotationRate: string;\n MajorVersion: string;\n MinorVersion: string;\n smartSupportAvailable: boolean;\n smartSupportEnabled: boolean;\n smartErrorLog: string;\n transport: string;\n}\n\nexport interface diskIOCountersStat {\n readCount: number;\n mergedReadCount: number;\n DriteCount: number;\n mergedWriteCount: number;\n readBytes: number;\n writeBytes: number;\n readTime: number;\n writeTime: number;\n iopsInProgress: number;\n ioTime: number;\n weightedIO: number;\n name: string;\n serialNumber: string;\n label: string;\n}\n\nexport interface serverOsInfo {\n addr: string;\n info: infoStat;\n sensors: temperatureStat[];\n users: userStat[];\n error: string;\n}\n\nexport interface infoStat {\n hostname: string;\n uptime: number;\n bootTime: number;\n procs: number;\n os: string;\n platform: string;\n platformFamily: string;\n platformVersion: string;\n kernelVersion: string;\n kernelArch: string;\n virtualizationSystem: string;\n virtualizationRole: string;\n hostid: string;\n}\n\nexport interface temperatureStat {\n sensorKey: string;\n sensorTemperature: number;\n}\n\nexport interface userStat {\n user: string;\n terminal: string;\n host: string;\n started: number;\n}\n\nexport interface serverMemInfo {\n addr: string;\n swap: swapMemoryStat;\n virtualmem: virtualMemoryStat;\n error: string;\n}\n\nexport interface swapMemoryStat {\n total: number;\n used: number;\n free: number;\n usedPercent: number;\n sin: number;\n sout: number;\n pgin: number;\n pgout: number;\n pgfault: number;\n pgmajfault: number;\n}\n\nexport interface virtualMemoryStat {\n total: number;\n available: number;\n used: number;\n usedPercent: number;\n free: number;\n active: number;\n inactive: number;\n wired: number;\n laundry: number;\n buffers: number;\n cached: number;\n writeback: number;\n dirty: number;\n writebacktmp: number;\n shared: number;\n slab: number;\n sreclaimable: number;\n sunreclaim: number;\n pagetables: number;\n swapcached: number;\n commitlimit: number;\n committedas: number;\n hightotal: number;\n highfree: number;\n lowtotal: number;\n lowfree: number;\n swaptotal: number;\n swapfree: number;\n mapped: number;\n vmalloctotal: number;\n vmallocused: number;\n vmallocchunk: number;\n hugepagestotal: number;\n hugepagesfree: number;\n hugepagesize: number;\n}\n\nexport interface serverProcInfo {\n addr: string;\n processes: sysProcess[];\n error: string;\n}\n\nexport interface sysProcess {\n pid: number;\n background: boolean;\n cpupercent: number;\n children: number[];\n cmd: string;\n connections: nethwConnectionStat[];\n createtime: number;\n cwd: string;\n exe: string;\n gids: number[];\n iocounters: processIOCountersStat;\n isrunning: boolean;\n meminfo: memoryInfoStat;\n memmaps: any[];\n mempercent: number;\n name: string;\n netiocounters: nethwIOCounterStat[];\n nice: number;\n numctxswitches: processNmCtxSwitchesStat;\n numfds: number;\n numthreads: number;\n pagefaults: processPageFaultsStat;\n parent: number;\n ppid: number;\n rlimit: processRLimitStat[];\n status: string;\n tgid: number;\n cputimes: cpuTimeStat;\n uids: number[];\n username: string;\n}\n\nexport interface nethwConnectionStat {\n fd: number;\n family: number;\n type: number;\n localaddr: netAddr;\n remoteaddr: netAddr;\n status: string;\n uids: number[];\n pid: number;\n}\n\nexport interface netAddr {\n ip: string;\n port: number;\n}\n\nexport interface processIOCountersStat {\n readCount: number;\n writeCount: number;\n readBytes: number;\n writeBytes: number;\n}\n\nexport interface memoryInfoStat {\n rss: number;\n vms: number;\n hwm: number;\n data: number;\n stack: number;\n locked: number;\n swap: number;\n}\n\nexport interface nethwIOCounterStat {\n name: string;\n bytesSent: number;\n bytesRecv: number;\n packetsSent: number;\n packetsRecv: number;\n errin: number;\n errout: number;\n dropin: number;\n dropout: number;\n fifoin: number;\n fifoout: number;\n}\n\nexport interface processNmCtxSwitchesStat {\n voluntary: number;\n involuntary: number;\n}\n\nexport interface processPageFaultsStat {\n minorFaults: number;\n majorFaults: number;\n childMinorFaults: number;\n childMajorFaults: number;\n}\n\nexport interface processRLimitStat {\n resource: number;\n soft: number;\n hard: number;\n used: number;\n}\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState, useEffect } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { CircularProgress, Grid } from \"@mui/material\";\nimport ArrowForwardIosIcon from \"@mui/icons-material/ArrowForwardIos\";\nimport { DrivesIcon, VersionIcon } from \"../../../../icons\";\nimport { ServerInfo, Usage } from \"../../Dashboard/types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\n\ninterface ITestWrapper {\n title: any;\n children: any;\n classes: any;\n advancedVisible: boolean;\n advancedContent?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n titleBar: {\n borderBottom: \"#E5E5E5 1px solid\",\n padding: \"30px 25px\",\n fontSize: 20,\n color: \"#07193E\",\n fontWeight: \"bold\",\n borderRadius: \"10px 10px 0px 0px\",\n paddingTop: 0,\n },\n divisorContainer: {\n padding: 25,\n },\n serversData: {\n color: \"#07193E\",\n fontSize: 18,\n display: \"flex\",\n alignItems: \"center\",\n \"& svg\": {\n marginRight: 10,\n },\n },\n minioVersionContainer: {\n fontSize: 12,\n color: \"#07193E\",\n justifyContent: \"center\",\n alignSelf: \"center\",\n alignItems: \"center\",\n display: \"flex\",\n },\n versionIcon: {\n color: \"#07193E\",\n marginRight: 20,\n },\n loaderAlign: {\n textAlign: \"center\",\n },\n advancedContainer: {\n justifyContent: \"flex-end\",\n display: \"flex\",\n },\n optionsContainer: {\n padding: 0,\n marginBottom: 25,\n },\n advancedConfiguration: {\n color: \"#2781B0\",\n fontSize: 10,\n textDecoration: \"underline\",\n border: \"none\",\n backgroundColor: \"transparent\",\n cursor: \"pointer\",\n alignItems: \"center\",\n display: \"flex\",\n\n \"&:hover\": {\n color: \"#07193E\",\n },\n\n \"& svg\": {\n width: 10,\n alignSelf: \"center\",\n marginLeft: 5,\n },\n },\n advancedOpen: {\n transform: \"rotateZ(-90deg) translateX(-4px) translateY(2px)\",\n },\n advancedClosed: {\n transform: \"rotateZ(90deg)\",\n },\n advancedContent: {\n backgroundColor: \"#F5F7F9\",\n maxHeight: 0,\n transitionDuration: \"0.3s\",\n overflow: \"hidden\",\n padding: \"0 15px\",\n \"&.open\": {\n maxHeight: 400,\n padding: 15,\n },\n },\n });\n\nconst TestWrapper = ({\n title,\n children,\n classes,\n advancedVisible,\n advancedContent,\n}: ITestWrapper) => {\n const [version, setVersion] = useState(\"N/A\");\n const [totalNodes, setTotalNodes] = useState(0);\n const [totalDrives, setTotalDrives] = useState(0);\n const [loading, setLoading] = useState(true);\n const [advancedOpen, setAdvancedOpen] = useState(false);\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/admin/info?defaultOnly=true`)\n .then((res: Usage) => {\n const totalServers = res.servers?.length;\n setTotalNodes(totalServers);\n\n if (res.servers.length > 0) {\n setVersion(res.servers[0].version);\n\n const totalServers = res.servers.reduce(\n (prevTotal: number, currentElement: ServerInfo) => {\n return prevTotal + currentElement.drives.length;\n },\n 0\n );\n setTotalDrives(totalServers);\n }\n\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n });\n }\n }, [loading]);\n\n return (\n \n \n {title}\n \n \n \n \n {!loading ? (\n \n \n {totalNodes}\n  nodes, \n {totalDrives}  drives\n \n \n \n \n {\" \"}\n MinIO VERSION {version}\n \n \n {advancedVisible && (\n {\n setAdvancedOpen(!advancedOpen);\n }}\n className={classes.advancedConfiguration}\n >\n Advanced configurations{\" \"}\n \n \n
\n \n )}\n \n \n ) : (\n \n \n \n \n \n )}\n \n {advancedContent && (\n \n {advancedContent}\n \n )}\n \n {children}\n \n \n );\n};\n\nexport default withStyles(styles)(TestWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport {\n ICloseEvent,\n IMessageEvent,\n w3cwebsocket as W3CWebSocket,\n} from \"websocket\";\nimport { AppState } from \"../../../store\";\nimport { connect } from \"react-redux\";\nimport { healthInfoMessageReceived, healthInfoResetMessage } from \"./actions\";\nimport {\n DiagStatError,\n DiagStatInProgress,\n DiagStatSuccess,\n HealthInfoMessage,\n} from \"./types\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n WSCloseAbnormalClosure,\n WSCloseInternalServerErr,\n WSClosePolicyViolation,\n wsProtocol,\n} from \"../../../utils/wsUtils\";\nimport {\n actionsTray,\n containerForHeader,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { Button, Grid } from \"@mui/material\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport { setServerDiagStat, setSnackBarMessage } from \"../../../actions\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport TestWrapper from \"../Common/TestWrapper/TestWrapper\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport WarnIcon from \"../../../icons/WarnIcon\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n loading: {\n paddingTop: 8,\n paddingLeft: 40,\n },\n buttons: {\n justifyContent: \"flex-start\",\n gap: 20,\n },\n localMessage: {\n fontSize: 24,\n color: \"#07193E\",\n fontWeight: \"bold\",\n textAlign: \"center\",\n marginBottom: 10,\n },\n startDiagnostic: {\n textAlign: \"center\",\n marginBottom: 25,\n },\n progressResult: {\n textAlign: \"center\",\n marginBottom: 25,\n },\n diagNew: {\n textAlign: \"right\",\n margin: 25,\n marginBottom: 0,\n },\n ...actionsTray,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst download = (filename: string, text: string) => {\n let element = document.createElement(\"a\");\n element.setAttribute(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + encodeURIComponent(text)\n );\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n\n document.body.removeChild(element);\n};\n\ninterface IHealthInfo {\n classes: any;\n healthInfoMessageReceived: typeof healthInfoMessageReceived;\n healthInfoResetMessage: typeof healthInfoResetMessage;\n message: HealthInfoMessage;\n namespace: string;\n tenant: string;\n setSnackBarMessage: typeof setSnackBarMessage;\n setServerDiagStat: typeof setServerDiagStat;\n serverDiagnosticStatus: string;\n}\n\nconst HealthInfo = ({\n classes,\n healthInfoMessageReceived,\n healthInfoResetMessage,\n message,\n setSnackBarMessage,\n setServerDiagStat,\n serverDiagnosticStatus,\n}: IHealthInfo) => {\n const [startDiagnostic, setStartDiagnostic] = useState(false);\n const [diagStarted, setDiagStarted] = useState(false);\n const [downloadDisabled, setDownloadDisabled] = useState(true);\n const [localMessage, setMessage] = useState(\"\");\n const [title, setTitle] = useState(\"New Diagnostic\");\n\n useEffect(() => {\n if (serverDiagnosticStatus === DiagStatInProgress) {\n setTitle(\"Diagnostic in progress...\");\n return;\n }\n\n if (serverDiagnosticStatus === DiagStatSuccess && diagStarted) {\n setTitle(\"Diagnostic complete\");\n return;\n }\n\n if (serverDiagnosticStatus === DiagStatError) {\n setTitle(\"Error\");\n return;\n }\n }, [serverDiagnosticStatus, startDiagnostic, diagStarted]);\n\n useEffect(() => {\n if (\n serverDiagnosticStatus === DiagStatSuccess &&\n message !== ({} as HealthInfoMessage)\n ) {\n // Allow download of diagnostics file only when\n // it succeded fetching all the results and info is not empty.\n setDownloadDisabled(false);\n }\n if (serverDiagnosticStatus === DiagStatInProgress) {\n // Disable Start Diagnotic and Disable Download buttons\n // if a Diagnosis is in progress.\n setDownloadDisabled(true);\n }\n setStartDiagnostic(false);\n }, [serverDiagnosticStatus, message]);\n\n useEffect(() => {\n if (startDiagnostic) {\n healthInfoResetMessage();\n const url = new URL(window.location.toString());\n const isDev = process.env.NODE_ENV === \"development\";\n const port = isDev ? \"9090\" : url.port;\n\n const wsProt = wsProtocol(url.protocol);\n\n const c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}/ws/health-info?deadline=1h`\n );\n\n let interval: any | null = null;\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n c.send(\"ok\");\n interval = setInterval(() => {\n c.send(\"ok\");\n }, 10 * 1000);\n setDiagStarted(true);\n setMessage(\n \"Diagnostic started. Please do not refresh page during diagnosis.\"\n );\n setServerDiagStat(DiagStatInProgress);\n };\n c.onmessage = (message: IMessageEvent) => {\n let m: HealthInfoMessage = JSON.parse(message.data.toString());\n m.timestamp = new Date(m.timestamp.toString());\n\n healthInfoMessageReceived(m);\n };\n c.onerror = (error: Error) => {\n console.log(\"error closing websocket:\", error.message);\n c.close(1000);\n clearInterval(interval);\n setServerDiagStat(DiagStatError);\n };\n c.onclose = (event: ICloseEvent) => {\n clearInterval(interval);\n if (\n event.code === WSCloseInternalServerErr ||\n event.code === WSClosePolicyViolation ||\n event.code === WSCloseAbnormalClosure\n ) {\n // handle close with error\n console.log(\"connection closed by server with code:\", event.code);\n setMessage(\"An error occurred while getting Diagnostic file.\");\n setServerDiagStat(DiagStatError);\n } else {\n console.log(\"connection closed by server\");\n\n setMessage(\"Diagnostic file is ready to be downloaded.\");\n setServerDiagStat(DiagStatSuccess);\n }\n };\n }\n } else {\n // reset start status\n setStartDiagnostic(false);\n }\n }, [\n healthInfoMessageReceived,\n healthInfoResetMessage,\n startDiagnostic,\n setSnackBarMessage,\n setServerDiagStat,\n ]);\n\n return (\n \n \n \n \n \n \n {!diagStarted && (\n \n setStartDiagnostic(true)}\n >\n Start Diagnostic\n \n \n )}\n {diagStarted && (\n \n
{localMessage}
\n {serverDiagnosticStatus === DiagStatInProgress ? (\n
\n \n
\n ) : (\n \n {serverDiagnosticStatus !== DiagStatError && (\n {\n download(\n \"diagnostic.json\",\n JSON.stringify(message, null, 2)\n );\n }}\n disabled={downloadDisabled}\n >\n Download\n \n )}\n \n setStartDiagnostic(true)}\n >\n Start New Diagnostic\n \n \n \n )}\n
\n )}\n \n \n \n {!diagStarted && (\n \n
\n }\n help={}\n />\n \n )}\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n message: state.healthInfo.message,\n serverDiagnosticStatus: state.system.serverDiagnosticStatus,\n});\n\nconst connector = connect(mapState, {\n healthInfoMessageReceived: healthInfoMessageReceived,\n healthInfoResetMessage: healthInfoResetMessage,\n setSnackBarMessage,\n setServerDiagStat,\n});\n\nexport default connector(withStyles(styles)(HealthInfo));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\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","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M6.23 20.23 8 22l10-10L8 2 6.23 3.77 14.46 12z\"\n}), 'ArrowForwardIos');\n\nexports.default = _default;","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","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","pageContentStyles","children","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","label","justifyContent","labelStyle","color","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","actions","direction","sm","md","sx","variant","length","component","onClick","size","DiagStatError","DiagStatSuccess","DiagStatInProgress","titleBar","borderBottom","padding","divisorContainer","serversData","minioVersionContainer","alignSelf","versionIcon","loaderAlign","advancedContainer","optionsContainer","advancedConfiguration","textDecoration","cursor","advancedOpen","transform","advancedClosed","advancedContent","maxHeight","transitionDuration","overflow","advancedVisible","useState","version","setVersion","totalNodes","setTotalNodes","totalDrives","setTotalDrives","loading","setLoading","setAdvancedOpen","useEffect","api","then","res","totalServers","servers","reduce","prevTotal","currentElement","drives","catch","err","Grid","Fragment","CircularProgress","ArrowForwardIos","message","healthInfo","serverDiagnosticStatus","healthInfoMessageReceived","healthInfoResetMessage","setSnackBarMessage","setServerDiagStat","buttons","gap","localMessage","startDiagnostic","progressResult","diagNew","margin","actionsTray","containerForHeader","spacing","setStartDiagnostic","diagStarted","setDiagStarted","downloadDisabled","setDownloadDisabled","setMessage","setTitle","url","URL","window","location","toString","port","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","interval","onopen","console","log","send","setInterval","onmessage","m","JSON","parse","data","timestamp","Date","onerror","error","close","clearInterval","onclose","event","code","WSCloseInternalServerErr","WSClosePolicyViolation","WSCloseAbnormalClosure","PageHeader","PageLayout","boxy","Button","type","disabled","filename","text","element","document","createElement","setAttribute","encodeURIComponent","style","body","appendChild","click","removeChild","download","stringify","id","HelpBox","WarnIcon","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","naiveFallback","self","Error","module","this","globalThis","Object","defineProperty","prototype","get","configurable","__global__","_globalThis","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","uri","protocols","forEach","prop"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/9421.a88c8e02.chunk.js b/portal-ui/build/static/js/9421.96205cad.chunk.js similarity index 94% rename from portal-ui/build/static/js/9421.a88c8e02.chunk.js rename to portal-ui/build/static/js/9421.96205cad.chunk.js index fdd63ef10..b805c6a95 100644 --- a/portal-ui/build/static/js/9421.a88c8e02.chunk.js +++ b/portal-ui/build/static/js/9421.96205cad.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[9421],{50280:function(e,s,n){var t=n(18489),r=n(50390),l=n(25594),o=n(86509),i=n(4285),a=n(72462),c=n(62559);s.Z=(0,i.Z)((function(e){return(0,o.Z)((0,t.Z)({},a.xx))}))((function(e){var s=e.classes,n=e.label,t=void 0===n?"":n,o=e.content,i=e.multiLine,a=void 0!==i&&i;return(0,c.jsx)(r.Fragment,{children:(0,c.jsxs)(l.ZP,{className:s.prefinedContainer,children:[""!==t&&(0,c.jsx)(l.ZP,{item:!0,xs:12,className:s.predefinedTitle,children:t}),(0,c.jsx)(l.ZP,{item:!0,xs:12,className:s.predefinedList,children:(0,c.jsx)(l.ZP,{item:!0,xs:12,className:a?s.innerContentMultiline:s.innerContent,children:o})})]})})}))},69421:function(e,s,n){n.r(s);var t=n(23430),r=n(18489),l=n(50390),o=n(34424),i=n(86509),a=n(4285),c=n(66946),d=n(81378),u=n(25594),x=n(72462),m=n(44149),Z=n(30324),j=n(92620),h=n(76352),f=n(50280),p=n(11387),b=n(62559),g={setModalErrorSnackMessage:m.zb},v=(0,o.$j)(null,g);s.default=(0,a.Z)((function(e){return(0,i.Z)((0,r.Z)((0,r.Z)({buttonContainer:{textAlign:"right"}},x.ID),x.DF))}))(v((function(e){var s=e.open,n=e.checkedUsers,r=e.closeModalAndRefresh,o=e.classes,i=e.setModalErrorSnackMessage,a=(0,l.useState)(!1),x=(0,t.Z)(a,2),m=x[0],g=x[1],v=(0,l.useState)(!1),P=(0,t.Z)(v,2),k=P[0],C=P[1],S=(0,l.useState)([]),N=(0,t.Z)(S,2),M=N[0],w=N[1];(0,l.useEffect)((function(){m&&(M.length>0?Z.Z.invoke("PUT","/api/v1/users-groups-bulk",{groups:M,users:n}).then((function(){g(!1),C(!0)})).catch((function(e){g(!1),i(e)})):(g(!1),i({errorMessage:"You need to select at least one group to assign",detailedError:""})))}),[m,g,r,M,n,i]);return(0,b.jsx)(h.Z,{modalOpen:s,onClose:function(){r(k)},title:k?"The selected users were added to the following groups.":"Add Users to Group",titleIcon:(0,b.jsx)(p.Zm,{}),children:k?(0,b.jsxs)(l.Fragment,{children:[(0,b.jsxs)(u.ZP,{container:!0,children:[(0,b.jsx)(f.Z,{label:"Groups",content:M.join(", ")}),(0,b.jsx)(f.Z,{label:"Users",content:n.join(", ")})]}),(0,b.jsx)("br",{}),(0,b.jsx)("br",{}),(0,b.jsx)("br",{})]}):(0,b.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),g(!0)},children:(0,b.jsxs)(u.ZP,{container:!0,children:[(0,b.jsxs)(u.ZP,{item:!0,xs:12,className:o.modalFormScrollable,children:[(0,b.jsx)(u.ZP,{item:!0,xs:12,className:o.formFieldRow,children:(0,b.jsx)(f.Z,{label:"Selected Users",content:n.join(", ")})}),(0,b.jsx)(u.ZP,{item:!0,xs:12,className:o.formFieldRow,children:(0,b.jsx)(j.Z,{selectedGroups:M,setSelectedGroups:w})})]}),(0,b.jsxs)(u.ZP,{item:!0,xs:12,className:o.modalButtonBar,children:[(0,b.jsx)(c.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){w([])},children:"Clear"}),(0,b.jsx)(c.Z,{type:"submit",variant:"contained",color:"primary",disabled:m||M.length<1,children:"Save"})]}),m&&(0,b.jsx)(u.ZP,{item:!0,xs:12,children:(0,b.jsx)(d.Z,{})})]})})})})))}}]); -//# sourceMappingURL=9421.a88c8e02.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[9421],{50280:function(e,s,n){var t=n(18489),r=n(50390),l=n(25594),o=n(86509),i=n(4285),a=n(72462),c=n(62559);s.Z=(0,i.Z)((function(e){return(0,o.Z)((0,t.Z)({},a.xx))}))((function(e){var s=e.classes,n=e.label,t=void 0===n?"":n,o=e.content,i=e.multiLine,a=void 0!==i&&i;return(0,c.jsx)(r.Fragment,{children:(0,c.jsxs)(l.ZP,{className:s.prefinedContainer,children:[""!==t&&(0,c.jsx)(l.ZP,{item:!0,xs:12,className:s.predefinedTitle,children:t}),(0,c.jsx)(l.ZP,{item:!0,xs:12,className:s.predefinedList,children:(0,c.jsx)(l.ZP,{item:!0,xs:12,className:a?s.innerContentMultiline:s.innerContent,children:o})})]})})}))},69421:function(e,s,n){n.r(s);var t=n(23430),r=n(18489),l=n(50390),o=n(34424),i=n(86509),a=n(4285),c=n(66946),d=n(81378),u=n(25594),x=n(72462),m=n(44149),Z=n(30324),j=n(92620),h=n(76352),f=n(50280),p=n(98280),b=n(62559),g={setModalErrorSnackMessage:m.zb},v=(0,o.$j)(null,g);s.default=(0,a.Z)((function(e){return(0,i.Z)((0,r.Z)((0,r.Z)({buttonContainer:{textAlign:"right"}},x.ID),x.DF))}))(v((function(e){var s=e.open,n=e.checkedUsers,r=e.closeModalAndRefresh,o=e.classes,i=e.setModalErrorSnackMessage,a=(0,l.useState)(!1),x=(0,t.Z)(a,2),m=x[0],g=x[1],v=(0,l.useState)(!1),P=(0,t.Z)(v,2),k=P[0],C=P[1],S=(0,l.useState)([]),N=(0,t.Z)(S,2),M=N[0],w=N[1];(0,l.useEffect)((function(){m&&(M.length>0?Z.Z.invoke("PUT","/api/v1/users-groups-bulk",{groups:M,users:n}).then((function(){g(!1),C(!0)})).catch((function(e){g(!1),i(e)})):(g(!1),i({errorMessage:"You need to select at least one group to assign",detailedError:""})))}),[m,g,r,M,n,i]);return(0,b.jsx)(h.Z,{modalOpen:s,onClose:function(){r(k)},title:k?"The selected users were added to the following groups.":"Add Users to Group",titleIcon:(0,b.jsx)(p.Zm,{}),children:k?(0,b.jsxs)(l.Fragment,{children:[(0,b.jsxs)(u.ZP,{container:!0,children:[(0,b.jsx)(f.Z,{label:"Groups",content:M.join(", ")}),(0,b.jsx)(f.Z,{label:"Users",content:n.join(", ")})]}),(0,b.jsx)("br",{}),(0,b.jsx)("br",{}),(0,b.jsx)("br",{})]}):(0,b.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),g(!0)},children:(0,b.jsxs)(u.ZP,{container:!0,children:[(0,b.jsxs)(u.ZP,{item:!0,xs:12,className:o.modalFormScrollable,children:[(0,b.jsx)(u.ZP,{item:!0,xs:12,className:o.formFieldRow,children:(0,b.jsx)(f.Z,{label:"Selected Users",content:n.join(", ")})}),(0,b.jsx)(u.ZP,{item:!0,xs:12,className:o.formFieldRow,children:(0,b.jsx)(j.Z,{selectedGroups:M,setSelectedGroups:w})})]}),(0,b.jsxs)(u.ZP,{item:!0,xs:12,className:o.modalButtonBar,children:[(0,b.jsx)(c.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){w([])},children:"Clear"}),(0,b.jsx)(c.Z,{type:"submit",variant:"contained",color:"primary",disabled:m||M.length<1,children:"Save"})]}),m&&(0,b.jsx)(u.ZP,{item:!0,xs:12,children:(0,b.jsx)(d.Z,{})})]})})})})))}}]); +//# sourceMappingURL=9421.96205cad.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/9421.a88c8e02.chunk.js.map b/portal-ui/build/static/js/9421.96205cad.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/9421.a88c8e02.chunk.js.map rename to portal-ui/build/static/js/9421.96205cad.chunk.js.map index 08cb8c579..c413b3fa1 100644 --- a/portal-ui/build/static/js/9421.a88c8e02.chunk.js.map +++ b/portal-ui/build/static/js/9421.96205cad.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/9421.a88c8e02.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Users/BulkAddToGroup.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}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport GroupsSelectors from \"./GroupsSelectors\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport PredefinedList from \"../Common/FormComponents/PredefinedList/PredefinedList\";\nimport { AddMembersToGroupIcon } from \"../../../icons\";\n\ninterface IAddToGroup {\n open: boolean;\n checkedUsers: any;\n closeModalAndRefresh: any;\n classes: any;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\nconst BulkAddToGroup = ({\n open,\n checkedUsers,\n closeModalAndRefresh,\n classes,\n setModalErrorSnackMessage,\n}: IAddToGroup) => {\n //Local States\n const [saving, isSaving] = useState(false);\n const [accepted, setAccepted] = useState(false);\n const [selectedGroups, setSelectedGroups] = useState([]);\n\n //Effects\n useEffect(() => {\n if (saving) {\n if (selectedGroups.length > 0) {\n api\n .invoke(\"PUT\", \"/api/v1/users-groups-bulk\", {\n groups: selectedGroups,\n users: checkedUsers,\n })\n .then(() => {\n isSaving(false);\n setAccepted(true);\n })\n .catch((err: ErrorResponseHandler) => {\n isSaving(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n isSaving(false);\n setModalErrorSnackMessage({\n errorMessage: \"You need to select at least one group to assign\",\n detailedError: \"\",\n });\n }\n }\n }, [\n saving,\n isSaving,\n closeModalAndRefresh,\n selectedGroups,\n checkedUsers,\n setModalErrorSnackMessage,\n ]);\n\n //Fetch Actions\n const setSaving = (event: React.FormEvent) => {\n event.preventDefault();\n\n isSaving(true);\n };\n\n const resetForm = () => {\n setSelectedGroups([]);\n };\n\n return (\n {\n closeModalAndRefresh(accepted);\n }}\n title={\n accepted\n ? \"The selected users were added to the following groups.\"\n : \"Add Users to Group\"\n }\n titleIcon={}\n >\n {accepted ? (\n \n \n \n \n \n
\n
\n
\n
\n ) : (\n
\n \n \n \n \n \n \n \n \n \n \n \n Clear\n \n \n Save\n \n \n {saving && (\n \n \n \n )}\n \n
\n )}\n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(BulkAddToGroup));\n"],"names":["withStyles","theme","createStyles","predefinedList","classes","label","content","multiLine","Fragment","className","prefinedContainer","item","xs","predefinedTitle","innerContentMultiline","innerContent","mapDispatchToProps","setModalErrorSnackMessage","connector","connect","buttonContainer","textAlign","modalStyleUtils","formFieldStyles","open","checkedUsers","closeModalAndRefresh","useState","saving","isSaving","accepted","setAccepted","selectedGroups","setSelectedGroups","useEffect","length","api","groups","users","then","catch","err","errorMessage","detailedError","modalOpen","onClose","title","titleIcon","container","join","noValidate","autoComplete","onSubmit","event","preventDefault","modalFormScrollable","formFieldRow","modalButtonBar","type","variant","color","onClick","disabled"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/9421.96205cad.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Users/BulkAddToGroup.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}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport GroupsSelectors from \"./GroupsSelectors\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport PredefinedList from \"../Common/FormComponents/PredefinedList/PredefinedList\";\nimport { AddMembersToGroupIcon } from \"../../../icons\";\n\ninterface IAddToGroup {\n open: boolean;\n checkedUsers: any;\n closeModalAndRefresh: any;\n classes: any;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\nconst BulkAddToGroup = ({\n open,\n checkedUsers,\n closeModalAndRefresh,\n classes,\n setModalErrorSnackMessage,\n}: IAddToGroup) => {\n //Local States\n const [saving, isSaving] = useState(false);\n const [accepted, setAccepted] = useState(false);\n const [selectedGroups, setSelectedGroups] = useState([]);\n\n //Effects\n useEffect(() => {\n if (saving) {\n if (selectedGroups.length > 0) {\n api\n .invoke(\"PUT\", \"/api/v1/users-groups-bulk\", {\n groups: selectedGroups,\n users: checkedUsers,\n })\n .then(() => {\n isSaving(false);\n setAccepted(true);\n })\n .catch((err: ErrorResponseHandler) => {\n isSaving(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n isSaving(false);\n setModalErrorSnackMessage({\n errorMessage: \"You need to select at least one group to assign\",\n detailedError: \"\",\n });\n }\n }\n }, [\n saving,\n isSaving,\n closeModalAndRefresh,\n selectedGroups,\n checkedUsers,\n setModalErrorSnackMessage,\n ]);\n\n //Fetch Actions\n const setSaving = (event: React.FormEvent) => {\n event.preventDefault();\n\n isSaving(true);\n };\n\n const resetForm = () => {\n setSelectedGroups([]);\n };\n\n return (\n {\n closeModalAndRefresh(accepted);\n }}\n title={\n accepted\n ? \"The selected users were added to the following groups.\"\n : \"Add Users to Group\"\n }\n titleIcon={}\n >\n {accepted ? (\n \n \n \n \n \n
\n
\n
\n
\n ) : (\n
\n \n \n \n \n \n \n \n \n \n \n \n Clear\n \n \n Save\n \n \n {saving && (\n \n \n \n )}\n \n
\n )}\n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(BulkAddToGroup));\n"],"names":["withStyles","theme","createStyles","predefinedList","classes","label","content","multiLine","Fragment","className","prefinedContainer","item","xs","predefinedTitle","innerContentMultiline","innerContent","mapDispatchToProps","setModalErrorSnackMessage","connector","connect","buttonContainer","textAlign","modalStyleUtils","formFieldStyles","open","checkedUsers","closeModalAndRefresh","useState","saving","isSaving","accepted","setAccepted","selectedGroups","setSelectedGroups","useEffect","length","api","groups","users","then","catch","err","errorMessage","detailedError","modalOpen","onClose","title","titleIcon","container","join","noValidate","autoComplete","onSubmit","event","preventDefault","modalFormScrollable","formFieldRow","modalButtonBar","type","variant","color","onClick","disabled"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/9469.694915bc.chunk.js b/portal-ui/build/static/js/9469.694915bc.chunk.js new file mode 100644 index 000000000..cb3c62e4a --- /dev/null +++ b/portal-ui/build/static/js/9469.694915bc.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[9469],{8235:function(e,t,n){n(50390);var r=n(86509),o=n(4285),i=n(25594),a=n(62559);t.Z=(0,o.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 t=e.classes,n=e.iconComponent,r=e.title,o=e.help;return(0,a.jsx)("div",{className:t.root,children:(0,a.jsxs)(i.ZP,{container:!0,children:[(0,a.jsxs)(i.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,r]}),(0,a.jsx)(i.ZP,{item:!0,xs:12,className:t.helpText,children:o})]})})}))},53224:function(e,t,n){var r=n(18489),o=n(83738),i=(n(50390),n(70758)),a=n(62449),l=n(62559),s=["onClick","text","disabled","tooltip","icon"],c=(0,a.Z)((function(e){return{root:{padding:"7px",color:function(t){return function(t){var n=t.variant,r=t.color,o=e.palette.primary.main;return"primary"===r&&"contained"===n?o=e.palette.primary.contrastText:"primary"===r&&"outlined"===n?o=e.palette.primary.main:"secondary"===r&&(o=e.palette.secondary.main),o}(t)},borderColor:function(t){return"secondary"===t.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));t.Z=function(e){var t=c(e),n=e.onClick,a=e.text,d=void 0===a?"":a,u=e.disabled,p=void 0!==u&&u,m=e.tooltip,f=e.icon,h=void 0===f?null:f,g=(0,o.Z)(e,s);return(0,l.jsxs)(i.Z,(0,r.Z)((0,r.Z)({classes:t,tooltip:m||d,variant:"outlined",onClick:n,disabled:p,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},g),{},{children:[(0,l.jsx)("span",{children:d})," ",h]}))}},70758:function(e,t,n){var r=n(18489),o=n(36222),i=n(83738),a=(n(50390),n(86509)),l=n(4285),s=n(95467),c=n(94187),d=n(44977),u=n(62559),p=["classes","children","variant","tooltip"];t.Z=(0,l.Z)((function(e){return(0,a.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var t=e.classes,n=e.children,a=e.variant,l=void 0===a?"outlined":a,m=e.tooltip,f=(0,i.Z)(e,p),h=(0,u.jsx)(s.Z,(0,r.Z)((0,r.Z)({},f),{},{className:(0,d.Z)(t.root,(0,o.Z)({},t.contained,"contained"===l)),children:n}));return m&&""!==m?(0,u.jsx)(c.Z,{title:m,children:(0,u.jsx)("span",{children:h})}):h}))},37882:function(e,t,n){var r=n(18489),o=n(50390),i=n(62559);t.Z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function n(n){return(0,i.jsx)(o.Suspense,{fallback:t,children:(0,i.jsx)(e,(0,r.Z)({},n))})}return n}},70014:function(e,t,n){var r=n(35531),o=n(23430),i=n(18489),a=n(50390),l=n(25594),s=(n(2574),n(20704)),c=n(54880),d=n(21563),u=n(36297),p=n(36554),m=n(94187),f=n(56805),h=n(86509),g=n(4285),x=n(97538),b=n(72462),y=n(98280),v=n(53224),Z=n(33034),C=n.n(Z),j=n(53357),k=n(62559),E={json:d.AV,yaml:function(){return c.i.define(u.r)}},w=j.tk.theme({"&":{backgroundColor:"#FBFAFA"},".cm-content":{caretColor:"#05122B"},"&.cm-focused .cm-cursor":{borderLeftColor:"#05122B"},".cm-gutters":{backgroundColor:"#FBFAFA",color:"#000000",border:"none"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px",color:"#2781B0","& .\u037cc":{color:"#C83B51"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#dde1f1"},".cm-matchingBracket":{backgroundColor:"#05122B",color:"#ffffff"},".cm-selectionMatch":{backgroundColor:"#ebe7f1"},".cm-selectionLayer":{fontWeight:500}," .cm-selectionBackground":{backgroundColor:"#a180c7",color:"#ffffff"}},{dark:!1}),_=j.tk.theme({"&":{backgroundColor:"#282a36",color:"#ffb86c"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px","& .\u037cd, & .\u037cc":{color:"#8e6cef"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#44475a"},".cm-matchingBracket":{backgroundColor:"#842de5",color:"#ff79c6"},".cm-selectionLayer .cm-selectionBackground":{backgroundColor:"green"}},{dark:!0});t.Z=(0,g.Z)((function(e){return(0,h.Z)((0,i.Z)((0,i.Z)({},b.YI),{},{inputLabel:(0,i.Z)((0,i.Z)({},b.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.value,n=e.label,i=void 0===n?"":n,c=e.tooltip,d=void 0===c?"":c,u=e.mode,h=void 0===u?"json":u,g=e.classes,b=e.onBeforeChange,Z=e.readOnly,j=void 0!==Z&&Z,S=e.editorHeight,N=void 0===S?"250px":S,q=(0,a.useState)(!1),L=(0,o.Z)(q,2),M=L[0],B=L[1],P=[];return E[h]&&(P=[].concat((0,r.Z)(P),[E[h]()])),(0,k.jsxs)(a.Fragment,{children:[(0,k.jsxs)(p.Z,{className:g.inputLabel,children:[(0,k.jsx)("span",{children:i}),""!==d&&(0,k.jsx)("div",{className:g.tooltipContainer,children:(0,k.jsx)(m.Z,{title:d,placement:"top-start",children:(0,k.jsx)("div",{className:g.tooltip,children:(0,k.jsx)(x.Z,{})})})})]}),(0,k.jsx)(l.ZP,{item:!0,xs:12,children:(0,k.jsx)("br",{})}),(0,k.jsxs)(l.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea"},children:[(0,k.jsx)(l.ZP,{item:!0,xs:12,children:(0,k.jsx)(s.ZP,{value:t,theme:M?_:w,extensions:P,editable:!j,basicSetup:!0,height:N,onChange:function(e,t){b(null,null,e)}})}),(0,k.jsx)(l.ZP,{item:!0,xs:12,sx:{borderTop:"1px solid #eaeaea",background:M?"#282c34":"#f7f7f7"},children:(0,k.jsxs)(f.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,k.jsx)(v.Z,{tooltip:"Change theme",onClick:function(){B(!M)},text:"",icon:(0,k.jsx)(y.EO,{}),color:"primary",variant:"outlined"}),(0,k.jsx)(C(),{text:t,children:(0,k.jsx)(v.Z,{tooltip:"Copy to Clipboard",onClick:function(){},text:"",icon:(0,k.jsx)(y.TI,{}),color:"primary",variant:"outlined"})})]})})]})]})}))},66964:function(e,t,n){var r=n(18489),o=n(50390),i=n(12066),a=n(25594),l=n(36554),s=n(94187),c=n(95467),d=n(86509),u=n(62449),p=n(4285),m=n(72462),f=n(97538),h=n(44977),g=n(62559),x=(0,u.Z)((function(e){return(0,d.Z)((0,r.Z)({},m.gM))}));function b(e){var t=x();return(0,g.jsx)(i.Z,(0,r.Z)({InputProps:{classes:t}},e))}t.Z=(0,p.Z)((function(e){return(0,d.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,r.Z)((0,r.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,i=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,x=e.autoComplete,y=void 0===x?"off":x,v=e.disabled,Z=void 0!==v&&v,C=e.multiline,j=void 0!==C&&C,k=e.tooltip,E=void 0===k?"":k,w=e.index,_=void 0===w?0:w,S=e.error,N=void 0===S?"":S,q=e.required,L=void 0!==q&&q,M=e.placeholder,B=void 0===M?"":M,P=e.min,I=e.max,A=e.overlayIcon,D=void 0===A?null:A,T=e.overlayObject,F=void 0===T?null:T,R=e.extraInputProps,W=void 0===R?{}:R,O=e.overlayAction,z=e.noLabelMinWidth,U=void 0!==z&&z,H=e.pattern,G=void 0===H?"":H,K=e.autoFocus,Y=void 0!==K&&K,Q=e.classes,$=e.className,V=void 0===$?"":$,X=(0,r.Z)({"data-index":_},W);return"number"===m&&P&&(X.min=P),"number"===m&&I&&(X.max=I),""!==G&&(X.pattern=G),(0,g.jsx)(o.Fragment,{children:(0,g.jsxs)(a.ZP,{container:!0,className:(0,h.Z)(""!==V?V:"",""!==N?Q.errorInField:Q.inputBoxContainer),children:[""!==t&&(0,g.jsxs)(l.Z,{htmlFor:d,className:U?Q.noMinWidthLabel:Q.inputLabel,children:[(0,g.jsxs)("span",{children:[t,L?"*":""]}),""!==E&&(0,g.jsx)("div",{className:Q.tooltipContainer,children:(0,g.jsx)(s.Z,{title:E,placement:"top-start",children:(0,g.jsx)("div",{className:Q.tooltip,children:(0,g.jsx)(f.Z,{})})})})]}),(0,g.jsxs)("div",{className:Q.textBoxContainer,children:[(0,g.jsx)(b,{id:d,name:u,fullWidth:!0,value:i,autoFocus:Y,disabled:Z,onChange:n,type:m,multiline:j,autoComplete:y,inputProps:X,error:""!==N,helperText:N,placeholder:B,className:Q.inputRebase}),D&&(0,g.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,g.jsx)(c.Z,{onClick:O?function(){O()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:D})}),F&&(0,g.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==t?"withLabel":""),children:F})]})]})})}))},21639:function(e,t,n){var r=n(23430),o=n(50390),i=n(30324);t.Z=function(e,t){var n=(0,o.useState)(!1),a=(0,r.Z)(n,2),l=a[0],s=a[1];return[l,function(n,r,o){s(!0),i.Z.invoke(n,r,o).then((function(t){s(!1),e(t)})).catch((function(e){s(!1),t(e)}))}]}},25534:function(e,t,n){var r=n(18489),o=(n(50390),n(25594)),i=n(86509),a=n(4285),l=n(72462),s=n(62559);t.Z=(0,a.Z)((function(e){return(0,i.Z)((0,r.Z)({},l.Bw))}))((function(e){var t=e.classes,n=e.className,r=void 0===n?"":n,i=e.children;return(0,s.jsx)("div",{className:t.contentSpacer,children:(0,s.jsx)(o.ZP,{container:!0,children:(0,s.jsx)(o.ZP,{item:!0,xs:12,className:r,children:i})})})}))},60656:function(e,t,n){var r=n(18489),o=n(50390),i=n(84402),a=n(78426),l=n(93085),s=n(7887),c=n(66946),d=n(14476),u=n(95467),p=n(21278),m=n(86509),f=n(4285),h=n(72462),g=n(62559);t.Z=(0,f.Z)((function(e){return(0,m.Z)((0,r.Z)({},h.Qw))}))((function(e){var t=e.isOpen,n=void 0!==t&&t,m=e.onClose,f=e.onCancel,h=e.onConfirm,x=e.classes,b=void 0===x?{}:x,y=e.title,v=void 0===y?"":y,Z=e.isLoading,C=e.confirmationContent,j=e.cancelText,k=void 0===j?"Cancel":j,E=e.confirmText,w=void 0===E?"Confirm":E,_=e.confirmButtonProps,S=void 0===_?{}:_,N=e.cancelButtonProps,q=void 0===N?{}:N,L=e.titleIcon,M=void 0===L?null:L;return(0,g.jsxs)(i.Z,{open:n,onClose:function(e,t){"backdropClick"!==t&&m()},className:b.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,g.jsxs)(a.Z,{className:b.title,children:[(0,g.jsxs)("div",{className:b.titleText,children:[M," ",v]}),(0,g.jsx)("div",{className:b.closeContainer,children:(0,g.jsx)(u.Z,{"aria-label":"close",className:b.closeButton,onClick:m,disableRipple:!0,size:"small",children:(0,g.jsx)(p.Z,{})})})]}),(0,g.jsx)(l.Z,{className:b.content,children:C}),(0,g.jsxs)(s.Z,{className:b.actions,children:[(0,g.jsx)(c.Z,(0,r.Z)((0,r.Z)({className:b.cancelButton,onClick:f||m,disabled:Z,type:"button"},q),{},{variant:"outlined",color:"primary",children:k})),(0,g.jsx)(d.Z,(0,r.Z)((0,r.Z)({className:b.confirmButton,type:"button",onClick:h,loading:Z,disabled:Z,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,g.jsx)(o.Fragment,{}),autoFocus:!0},S),{},{children:w}))]})]})}))},76352:function(e,t,n){n.d(t,{Z:function(){return _}});var r,o=n(23430),i=n(18489),a=n(50390),l=n(34424),s=n(95467),c=n(97771),d=n(84402),u=n(78426),p=n(93085),m=n(86509),f=n(4285),h=n(72462),g=n(44149),x=n(38342),b=n.n(x),y=n(92125),v=n(19538),Z=n(21278),C=n(62559),j=function(){clearInterval(r)},k={displayErrorMessage:g.zb},E=(0,l.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),k)((0,f.Z)((function(e){return(0,m.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var t=e.classes,n=e.modalSnackMessage,i=e.displayErrorMessage,l=e.customStyle,s=(0,a.useState)(!1),c=(0,o.Z)(s,2),d=c[0],u=c[1],p=(0,a.useState)(!1),m=(0,o.Z)(p,2),f=m[0],h=m[1],g=(0,a.useCallback)((function(){h(!1)}),[]);(0,a.useEffect)((function(){f||(i({detailedError:"",errorMessage:""}),u(!1))}),[i,f]),(0,a.useEffect)((function(){""!==n.message&&"error"===n.type&&h(!0)}),[g,n.message,n.type]);var x=b()(n,"message",""),k=b()(n,"detailedErrorMsg","");return"error"!==n.type||""===x?null:(0,C.jsx)(a.Fragment,{children:(0,C.jsxs)("div",{className:"".concat(t.modalErrorContainer," ").concat(f?t.modalErrorShow:""),style:l,onMouseOver:j,onMouseLeave:function(){r=setInterval(g,1e4)},children:[(0,C.jsx)("button",{className:t.closeButton,onClick:g,children:(0,C.jsx)(Z.Z,{})}),(0,C.jsxs)("div",{className:t.errorTitle,children:[(0,C.jsx)("span",{className:t.messageIcon,children:(0,C.jsx)(v.Z,{})}),(0,C.jsx)("span",{className:t.errorLabel,children:x})]}),""!==k&&(0,C.jsxs)(a.Fragment,{children:[(0,C.jsx)("div",{className:t.detailsContainerLink,children:(0,C.jsxs)("button",{className:t.detailsButton,onClick:function(){u(!d)},children:["Details",(0,C.jsx)(y.Z,{className:"".concat(t.arrowElement," ").concat(d?t.arrowOpen:"")})]})}),(0,C.jsx)("div",{className:"".concat(t.extraDetailsContainer," ").concat(d?t.extraDetailsOpen:""),children:k})]})]})})}))),w=(0,l.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:g.MK}),_=(0,f.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)({},h.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))(w((function(e){var t=e.onClose,n=e.modalOpen,r=e.title,l=e.children,m=e.classes,f=e.wideLimit,h=void 0===f||f,g=e.modalSnackMessage,x=e.noContentPadding,b=e.setModalSnackMessage,y=e.titleIcon,v=void 0===y?null:y,j=(0,a.useState)(!1),k=(0,o.Z)(j,2),w=k[0],_=k[1];(0,a.useEffect)((function(){b("")}),[b]),(0,a.useEffect)((function(){if(g){if(""===g.message)return void _(!1);"error"!==g.type&&_(!0)}}),[g]);var S=h?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},N="";return g&&(N=g.detailedErrorMsg,(""===g.detailedErrorMsg||g.detailedErrorMsg.length<5)&&(N=g.message)),(0,C.jsxs)(d.Z,(0,i.Z)((0,i.Z)({open:n,classes:m},S),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:m.root,children:[(0,C.jsxs)(u.Z,{className:m.title,children:[(0,C.jsxs)("div",{className:m.titleText,children:[v," ",r]}),(0,C.jsx)("div",{className:m.closeContainer,children:(0,C.jsx)(s.Z,{"aria-label":"close",className:m.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,C.jsx)(Z.Z,{})})})]}),(0,C.jsx)(E,{}),(0,C.jsx)(c.Z,{open:w,className:m.snackBarModal,onClose:function(){_(!1),b("")},message:N,ContentProps:{className:"".concat(m.snackBar," ").concat(g&&"error"===g.type?m.errorSnackBar:"")},autoHideDuration:g&&"error"===g.type?1e4:5e3}),(0,C.jsx)(p.Z,{className:x?"":m.content,children:l})]}))})))},35721:function(e,t,n){n(50390);var r=n(34424),o=n(25594),i=n(86509),a=n(4285),l=n(35477),s=n(95467),c=n(26805),d=n(44078),u=n(5265),p=n(98280),m=n(62559),f={toggleList:u.kQ},h=(0,r.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),f);t.Z=h((0,a.Z)((function(e){return(0,i.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,r=e.actions,i=e.sidebarOpen,a=e.operatorMode,u=e.managerObjects,f=e.toggleList,h=e.middleComponent;return(0,m.jsxs)(o.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,m.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:h?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!i&&(0,m.jsx)("div",{className:t.logo,children:a?(0,m.jsx)(c.Z,{}):(0,m.jsx)(d.Z,{})}),(0,m.jsx)(l.Z,{variant:"h4",className:t.labelStyle,children:n})]}),h&&(0,m.jsx)(o.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:h}),(0,m.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:h?3:6,className:t.rightMenu,children:[r&&r,u&&u.length>0&&(0,m.jsx)(s.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},size:"large",children:(0,m.jsx)(p.gx,{})})]})]})})))},23165:function(e,t,n){var r=n(36222),o=n(18489),i=(n(50390),n(65771)),a=n(13336),l=n(12066),s=n(4285),c=n(86509),d=n(72462),u=n(62559);t.Z=(0,s.Z)((function(e){return(0,c.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,c=e.adornmentPosition,d=void 0===c?"end":c,p=e.overrideClass,m=e.value,f=(0,r.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(i.Z,{position:d,className:o.adornment,children:(0,u.jsx)(a.Z,{})}));return(0,u.jsx)(l.Z,{placeholder:n,className:p||o.searchField,id:"search-resource",label:"",InputProps:f,onChange:function(e){s(e.target.value)},variant:"standard",value:m})}))},73726:function(e,t,n){n.d(t,{bx:function(){return g},DP:function(){return x},DD:function(){return b},_0:function(){return y}});var r=n(35531),o=(n(50390),n(75012)),i=n(58267),a=n(44229),l=n(30578),s=n(2494),c=n(41845),d=n(26068),u=n(89173),p=n(9639),m=n(84386),f=n(12720),h=n(62559),g=[{icon:(0,h.jsx)(o.Z,{}),configuration_id:"region",configuration_label:"Region"},{icon:(0,h.jsx)(i.Z,{}),configuration_id:"cache",configuration_label:"Cache"},{icon:(0,h.jsx)(a.Z,{}),configuration_id:"compression",configuration_label:"Compression"},{icon:(0,h.jsx)(l.Z,{}),configuration_id:"api",configuration_label:"API"},{icon:(0,h.jsx)(s.Z,{}),configuration_id:"heal",configuration_label:"Heal"},{icon:(0,h.jsx)(c.Z,{}),configuration_id:"scanner",configuration_label:"Scanner"},{icon:(0,h.jsx)(d.Z,{}),configuration_id:"etcd",configuration_label:"Etcd"},{icon:(0,h.jsx)(u.Z,{}),configuration_id:"identity_openid",configuration_label:"Identity Openid"},{icon:(0,h.jsx)(p.Z,{}),configuration_id:"identity_ldap",configuration_label:"Identity LDAP"},{icon:(0,h.jsx)(f.Z,{}),configuration_id:"logger_webhook",configuration_label:"Logger Webhook"},{icon:(0,h.jsx)(m.Z,{}),configuration_id:"audit_webhook",configuration_label:"Audit Webhook"}],x={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 Comment"}],cache:[{name:"drives",required:!0,label:"Drives",tooltip:'Mountpoints e.g. "/optane1" or "/optane2", you can write one per field',type:"csv",placeholder:"Enter Mount Point"},{name:"expiry",required:!1,label:"Expiry",tooltip:'Cache expiry duration in days e.g. "90"',type:"number",placeholder:"Enter Number of Days"},{name:"quota",required:!1,label:"Quota",tooltip:'Limit cache drive usage in percentage e.g. "90"',type:"number",placeholder:"Enter in %"},{name:"exclude",required:!1,label:"Exclude",tooltip:'Wildcard exclusion patterns e.g. "bucket/*.tmp" or "*.exe", you can write one per field',type:"csv",placeholder:"Enter Wildcard Exclusion Patterns"},{name:"after",required:!1,label:"After",tooltip:"Minimum number of access before caching an object",type:"number",placeholder:"Enter Number of Attempts"},{name:"watermark_low",required:!1,label:"Watermark Low",tooltip:"Watermark Low",type:"number",placeholder:"Enter Watermark Low"},{name:"watermark_high",required:!1,label:"Watermark High",tooltip:"Watermark High",type:"number",placeholder:"Enter Watermark High"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",multiline:!0,placeholder:"Enter Comment"}],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 Comment"}],identity_openid:[{name:"config_url",required:!1,label:"Config URL",tooltip:"Config URL for identity provider configuration",type:"string",placeholder:"https://identity-provider-url/.well-known/openid-configuration"},{name:"client_id",required:!1,label:"Client ID",type:"string",placeholder:"Enter Client ID"},{name:"client_secret",required:!1,label:"Secret ID",type:"string",placeholder:"Enter Secret ID"},{name:"claim_name",required:!1,label:"Claim Name",tooltip:"Claim from which MinIO will read the policy or role to use",type:"string",placeholder:"Enter Claim Name"},{name:"claim_prefix",required:!1,label:"Claim Prefix",tooltip:"Claim Prefix",type:"string",placeholder:"Enter Claim Prefix"},{name:"claim_userinfo",required:!1,label:"Claim UserInfo",type:"on|off"},{name:"redirect_uri",required:!1,label:"Redirect URI",type:"string",placeholder:"https://console-endpoint-url/oauth_callback"},{name:"scopes",required:!1,label:"Scopes",type:"string",placeholder:"openid,profile,email"}],identity_ldap:[{name:"server_addr",required:!0,label:"Server Addr",tooltip:'AD/LDAP server address e.g. "myldapserver.com:636"',type:"string",placeholder:"Enter Server Address"},{name:"username_format",required:!0,label:"Username Format",tooltip:'List of username bind DNs e.g. "uid=%s","cn=accounts","dc=myldapserver" or "dc=com", you can write one per field',type:"csv",placeholder:"Enter Username Format"},{name:"username_search_filter",required:!0,label:"Username Search Filter",tooltip:'User search filter, for example "(cn=%s)" or "(sAMAccountName=%s)" or "(uid=%s)"',type:"string",placeholder:"Enter Username Search Filter"},{name:"group_search_filter",required:!0,label:"Group Search Filter",tooltip:'Search filter for groups e.g. "(&(objectclass=groupOfNames)(memberUid=%s))"',type:"string",placeholder:"Enter Group Search Filter"},{name:"username_search_base_dn",required:!1,label:"Username Search Base DN",tooltip:"List of username search DNs, you can write one per field",type:"csv",placeholder:"Enter Username Search Base DN"},{name:"group_name_attribute",required:!1,label:"Group Name Attribute",tooltip:'Search attribute for group name e.g. "cn"',type:"string",placeholder:"Enter Group Name Attribute"},{name:"sts_expiry",required:!1,label:"STS Expiry",tooltip:'temporary credentials validity duration in s,m,h,d. Default is "1h"',type:"string",placeholder:"Enter STS Expiry"},{name:"tls_skip_verify",required:!1,label:"TLS Skip Verify",tooltip:'Trust server TLS without verification, defaults to "off" (verify)',type:"on|off"},{name:"server_insecure",required:!1,label:"Server Insecure",tooltip:'Allow plain text connection to AD/LDAP server, defaults to "off"',type:"on|off"},{name:"comment",required:!1,label:"Comment",tooltip:"Optionally add a comment to this setting",type:"comment",placeholder:"Enter Comment"}],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"}]},b=function(e){return e.filter((function(e){return""!==e.value}))},y=function(e,t,n){var o=e.target,i=o.value,a=o.checked,l=(0,r.Z)(n);return a?l.push(i):l=l.filter((function(e){return e!==i})),t(l),l}},31529:function(e,t,n){var r=n(23430),o=(n(50390),n(34424)),i=n(23473),a=n(44149),l=n(21639),s=n(60656),c=n(98280),d=n(62559),u={setErrorSnackMessage:a.Ih},p=(0,o.$j)(null,u);t.Z=p((function(e){var t=e.closeDeleteModalAndRefresh,n=e.deleteOpen,o=e.selectedSAs,a=e.setErrorSnackMessage,u=(0,l.Z)((function(){return t(!0)}),(function(e){return a(e)})),p=(0,r.Z)(u,2),m=p[0],f=p[1];if(!o)return null;return(0,d.jsx)(s.Z,{title:"Delete Service Accounts",confirmText:"Delete",isOpen:n,titleIcon:(0,d.jsx)(c.Nv,{}),isLoading:m,onConfirm:function(){f("DELETE","/api/v1/service-accounts/delete-multi",o)},onClose:function(){return t(!1)},confirmationContent:(0,d.jsxs)(i.Z,{children:["Are you sure you want to delete the selected ",o.length," ","service accounts?"," "]})})}))},25233:function(e,t,n){n.d(t,{LQ:function(){return r},g4:function(){return o},V2:function(){return i}});var r=function(e,t){return e.accessKey>t.accessKey?1:e.accessKeyt.name?1:e.namet?1:e.\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\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, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\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 inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\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 const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n

\n \n
\n \n
\n
\n
\n )}\n \n \n
\n
\n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\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 from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\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// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\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 .\nimport React from \"react\";\nimport PublicIcon from \"@mui/icons-material/Public\";\nimport SdStorageIcon from \"@mui/icons-material/SdStorage\";\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 LockOpenIcon from \"@mui/icons-material/LockOpen\";\nimport LoginIcon from \"@mui/icons-material/Login\";\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: \"cache\",\n configuration_label: \"Cache\",\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: \"identity_openid\",\n configuration_label: \"Identity Openid\",\n },\n {\n icon: ,\n configuration_id: \"identity_ldap\",\n configuration_label: \"Identity LDAP\",\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 Comment\",\n },\n ],\n cache: [\n {\n name: \"drives\",\n required: true,\n label: \"Drives\",\n tooltip:\n 'Mountpoints e.g. \"/optane1\" or \"/optane2\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Mount Point\",\n },\n {\n name: \"expiry\",\n required: false,\n label: \"Expiry\",\n tooltip: 'Cache expiry duration in days e.g. \"90\"',\n type: \"number\",\n placeholder: \"Enter Number of Days\",\n },\n {\n name: \"quota\",\n required: false,\n label: \"Quota\",\n tooltip: 'Limit cache drive usage in percentage e.g. \"90\"',\n type: \"number\",\n placeholder: \"Enter in %\",\n },\n {\n name: \"exclude\",\n required: false,\n label: \"Exclude\",\n tooltip:\n 'Wildcard exclusion patterns e.g. \"bucket/*.tmp\" or \"*.exe\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Wildcard Exclusion Patterns\",\n },\n {\n name: \"after\",\n required: false,\n label: \"After\",\n tooltip: \"Minimum number of access before caching an object\",\n type: \"number\",\n placeholder: \"Enter Number of Attempts\",\n },\n {\n name: \"watermark_low\",\n required: false,\n label: \"Watermark Low\",\n tooltip: \"Watermark Low\",\n type: \"number\",\n placeholder: \"Enter Watermark Low\",\n },\n {\n name: \"watermark_high\",\n required: false,\n label: \"Watermark High\",\n tooltip: \"Watermark High\",\n type: \"number\",\n placeholder: \"Enter Watermark High\",\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 Comment\",\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 Comment\",\n },\n ],\n identity_openid: [\n {\n name: \"config_url\",\n required: false,\n label: \"Config URL\",\n tooltip: \"Config URL for identity provider configuration\",\n type: \"string\",\n placeholder:\n \"https://identity-provider-url/.well-known/openid-configuration\",\n },\n {\n name: \"client_id\",\n required: false,\n label: \"Client ID\",\n type: \"string\",\n placeholder: \"Enter Client ID\",\n },\n {\n name: \"client_secret\",\n required: false,\n label: \"Secret ID\",\n type: \"string\",\n placeholder: \"Enter Secret ID\",\n },\n {\n name: \"claim_name\",\n required: false,\n label: \"Claim Name\",\n tooltip: \"Claim from which MinIO will read the policy or role to use\",\n type: \"string\",\n placeholder: \"Enter Claim Name\",\n },\n {\n name: \"claim_prefix\",\n required: false,\n label: \"Claim Prefix\",\n tooltip: \"Claim Prefix\",\n type: \"string\",\n placeholder: \"Enter Claim Prefix\",\n },\n {\n name: \"claim_userinfo\",\n required: false,\n label: \"Claim UserInfo\",\n type: \"on|off\",\n },\n {\n name: \"redirect_uri\",\n required: false,\n label: \"Redirect URI\",\n type: \"string\",\n placeholder: \"https://console-endpoint-url/oauth_callback\",\n },\n {\n name: \"scopes\",\n required: false,\n label: \"Scopes\",\n type: \"string\",\n placeholder: \"openid,profile,email\",\n },\n ],\n identity_ldap: [\n {\n name: \"server_addr\",\n required: true,\n label: \"Server Addr\",\n tooltip: 'AD/LDAP server address e.g. \"myldapserver.com:636\"',\n type: \"string\",\n placeholder: \"Enter Server Address\",\n },\n {\n name: \"username_format\",\n required: true,\n label: \"Username Format\",\n tooltip:\n 'List of username bind DNs e.g. \"uid=%s\",\"cn=accounts\",\"dc=myldapserver\" or \"dc=com\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Username Format\",\n },\n {\n name: \"username_search_filter\",\n required: true,\n label: \"Username Search Filter\",\n tooltip:\n 'User search filter, for example \"(cn=%s)\" or \"(sAMAccountName=%s)\" or \"(uid=%s)\"',\n type: \"string\",\n placeholder: \"Enter Username Search Filter\",\n },\n {\n name: \"group_search_filter\",\n required: true,\n label: \"Group Search Filter\",\n tooltip:\n 'Search filter for groups e.g. \"(&(objectclass=groupOfNames)(memberUid=%s))\"',\n type: \"string\",\n placeholder: \"Enter Group Search Filter\",\n },\n {\n name: \"username_search_base_dn\",\n required: false,\n label: \"Username Search Base DN\",\n tooltip: \"List of username search DNs, you can write one per field\",\n type: \"csv\",\n placeholder: \"Enter Username Search Base DN\",\n },\n {\n name: \"group_name_attribute\",\n required: false,\n label: \"Group Name Attribute\",\n tooltip: 'Search attribute for group name e.g. \"cn\"',\n type: \"string\",\n placeholder: \"Enter Group Name Attribute\",\n },\n {\n name: \"sts_expiry\",\n required: false,\n label: \"STS Expiry\",\n tooltip:\n 'temporary credentials validity duration in s,m,h,d. Default is \"1h\"',\n type: \"string\",\n placeholder: \"Enter STS Expiry\",\n },\n {\n name: \"tls_skip_verify\",\n required: false,\n label: \"TLS Skip Verify\",\n tooltip:\n 'Trust server TLS without verification, defaults to \"off\" (verify)',\n type: \"on|off\",\n },\n {\n name: \"server_insecure\",\n required: false,\n label: \"Server Insecure\",\n tooltip:\n 'Allow plain text connection to AD/LDAP server, defaults to \"off\"',\n type: \"on|off\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"Optionally add a comment to this setting\",\n type: \"comment\",\n placeholder: \"Enter Comment\",\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) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport useApi from \"../../../screens/Console/Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../../screens/Console/Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\ninterface IDeleteMultiSAsProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedSAs: string[];\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\nconst DeleteMultipleSAs = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedSAs,\n setErrorSnackMessage,\n}: IDeleteMultiSAsProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n if (!selectedSAs) {\n return null;\n }\n const onConfirmDelete = () => {\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/service-accounts/delete-multi`,\n selectedSAs\n );\n };\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete the selected {selectedSAs.length}{\" \"}\n service accounts?{\" \"}\n \n }\n />\n );\n};\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteMultipleSAs);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\ninterface userInterface {\n accessKey: string;\n}\n\ninterface policyInterface {\n name: string;\n}\n\nexport const usersSort = (a: userInterface, b: userInterface) => {\n if (a.accessKey > b.accessKey) {\n return 1;\n }\n if (a.accessKey < b.accessKey) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const policySort = (a: policyInterface, b: policyInterface) => {\n if (a.name > b.name) {\n return 1;\n }\n if (a.name < b.name) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const stringSort = (a: string, b: string) => {\n if (a > b) {\n return 1;\n }\n if (a < b) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n"],"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","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","borderWidth","borderStyle","opacity","contained","background","dark","light","children","rest","button","clsx","WrappedComponent","fallback","ComponentWithSuspense","Suspense","langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","caretColor","borderLeftColor","borderRight","darkTheme","fieldBasic","inputLabel","value","label","mode","onBeforeChange","readOnly","editorHeight","useState","isDarkTheme","setIsDarkTheme","extensionList","tooltipContainer","placement","extensions","editable","basicSetup","onChange","v","vu","borderTop","justifyContent","inputStyles","inputFieldStyles","InputField","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","id","name","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputProps","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","fullWidth","helperText","inputRebase","disableFocusRipple","disableRipple","disableTouchRipple","onSuccess","onError","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","pageContentStyles","contentSpacer","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","titleText","closeContainer","closeButton","content","actions","cancelButton","confirmButton","loading","loadingPosition","startIcon","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","marginTop","borderLeftWidth","zIndex","left","transform","transitionDuration","modalErrorShow","cursor","errorTitle","errorLabel","messageIcon","detailsButton","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","get","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","customDialogSize","snackBarCommon","modalOpen","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","scroll","DialogTitle","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","toggleList","sidebarOpen","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","boxShadow","labelStyle","rightMenu","textAlign","logo","fill","middleComponent","direction","sm","md","component","searchField","adornment","adornmentPosition","overrideClass","disableUnderline","e","target","configurationElements","configuration_id","configuration_label","fieldsConfigurations","region","cache","compression","withBorder","heal","scanner","etcd","identity_openid","identity_ldap","logger_webhook","audit_webhook","removeEmptyFields","formFields","filter","field","selectSAs","setSelectedSAs","selectedSAs","targetD","checked","elements","push","element","setErrorSnackMessage","closeDeleteModalAndRefresh","deleteOpen","useApi","deleteLoading","invokeDeleteApi","usersSort","a","b","accessKey","policySort","stringSort"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/9560.6ff6a758.chunk.js b/portal-ui/build/static/js/9560.0462a962.chunk.js similarity index 97% rename from portal-ui/build/static/js/9560.6ff6a758.chunk.js rename to portal-ui/build/static/js/9560.0462a962.chunk.js index f92d1c424..528089cb9 100644 --- a/portal-ui/build/static/js/9560.6ff6a758.chunk.js +++ b/portal-ui/build/static/js/9560.0462a962.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[9560],{8235:function(e,n,t){t(50390);var a=t(86509),i=t(4285),s=t(25594),r=t(62559);n.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 n=e.classes,t=e.iconComponent,a=e.title,i=e.help;return(0,r.jsx)("div",{className:n.root,children:(0,r.jsxs)(s.ZP,{container:!0,children:[(0,r.jsxs)(s.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,a]}),(0,r.jsx)(s.ZP,{item:!0,xs:12,className:n.helpText,children:i})]})})}))},10660:function(e,n,t){t(50390);var a=t(25594),i=t(56805),s=t(8235),r=t(62559);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)(s.Z,{title:"".concat(t," not available"),iconComponent:n,help:(0,r.jsxs)(i.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://docs.min.io/minio/baremetal/installation/deploy-minio-distributed.html?ref=con",target:"_blank",rel:"noreferrer",children:"Distributed Mode"})," ","to use this feature."]})]})})})})}},54950:function(e,n,t){var a=t(18489),i=t(50390),s=t(25594),r=t(74268),o=t(14602),l=t(94187),c=t(86509),d=t(4285),u=t(72462),f=t(97538),m=t(62559);n.Z=(0,d.Z)((function(e){return(0,c.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"})}))}))((function(e){var n=e.label,t=e.onChange,a=e.value,c=e.id,d=e.name,u=e.checked,h=void 0!==u&&u,x=e.disabled,p=void 0!==x&&x,g=e.tooltip,b=void 0===g?"":g,j=e.classes;return(0,m.jsx)(i.Fragment,{children:(0,m.jsxs)(s.ZP,{item:!0,xs:12,className:j.fieldContainer,children:[(0,m.jsx)("div",{children:(0,m.jsx)(r.Z,{name:d,id:c,value:a,color:"primary",inputProps:{"aria-label":"secondary checkbox"},checked:h,onChange:t,checkedIcon:(0,m.jsx)("span",{className:j.checkedIcon}),icon:(0,m.jsx)("span",{className:j.unCheckedIcon}),disabled:p})}),""!==n&&(0,m.jsxs)(o.Z,{htmlFor:c,className:j.noMinWidthLabel,children:[(0,m.jsx)("span",{children:n}),""!==b&&(0,m.jsx)("div",{className:j.tooltipContainer,children:(0,m.jsx)(l.Z,{title:b,placement:"top-start",children:(0,m.jsx)("div",{className:j.tooltip,children:(0,m.jsx)(f.Z,{})})})})]})]})})}))},25534:function(e,n,t){var a=t(18489),i=(t(50390),t(25594)),s=t(86509),r=t(4285),o=t(72462),l=t(62559);n.Z=(0,r.Z)((function(e){return(0,s.Z)((0,a.Z)({},o.Bw))}))((function(e){var n=e.classes,t=e.className,a=void 0===t?"":t,s=e.children;return(0,l.jsx)("div",{className:n.contentSpacer,children:(0,l.jsx)(i.ZP,{container:!0,children:(0,l.jsx)(i.ZP,{item:!0,xs:12,className:a,children:s})})})}))},35721:function(e,n,t){t(50390);var a=t(34424),i=t(25594),s=t(86509),r=t(4285),o=t(35477),l=t(95467),c=t(26805),d=t(44078),u=t(5265),f=t(11387),m=t(62559),h={toggleList:u.kQ},x=(0,a.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),h);n.Z=x((0,r.Z)((function(e){return(0,s.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,a=e.actions,s=e.sidebarOpen,r=e.operatorMode,u=e.managerObjects,h=e.toggleList,x=e.middleComponent;return(0,m.jsxs)(i.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,m.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!s&&(0,m.jsx)("div",{className:n.logo,children:r?(0,m.jsx)(c.Z,{}):(0,m.jsx)(d.Z,{})}),(0,m.jsx)(o.Z,{variant:"h4",className:n.labelStyle,children:t})]}),x&&(0,m.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:x}),(0,m.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:n.rightMenu,children:[a&&a,u&&u.length>0&&(0,m.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){h()},size:"large",children:(0,m.jsx)(f.gx,{})})]})]})})))},39560:function(e,n,t){t.r(n);var a=t(23430),i=t(18489),s=t(50390),r=t(34424),o=t(84801),l=t(46413),c=t(25594),d=t(47554),u=t(43965),f=t(31680),m=t(12066),h=t(66946),x=t(69686),p=t(86509),g=t(4285),b=t(51774),j=t(28948),Z=t(72462),v=t(49495),S=t(11387),C=t(54950),k=t(35721),y=t(30324),N=t(25534),w=t(15607),P=t(10660),H=t(62559),I=(0,g.Z)((function(e){return(0,p.Z)({root:{lineHeight:"50px",marginRight:15,"label + &":{marginTop:e.spacing(3)},"& .MuiSelect-select:focus":{backgroundColor:"transparent"}},input:{height:50,fontSize:13,lineHeight:"50px"}})}))(l.ZP),E=(0,r.$j)((function(e){return{distributedSetup:e.system.distributedSetup}}),null);n.default=E((0,g.Z)((function(e){return(0,p.Z)((0,i.Z)((0,i.Z)((0,i.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,i.Z)((0,i.Z)({},Z.qg.searchField),{},{marginLeft:10,flex:1}),actionsTray:(0,i.Z)((0,i.Z)({},Z.OR.actionsTray),{},{marginBottom:0})},Z.IX),Z.qg),(0,Z.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.distributedSetup,i=(0,s.useState)(!1),r=(0,a.Z)(i,2),l=r[0],p=r[1],g=(0,s.useState)(""),Z=(0,a.Z)(g,2),E=Z[0],B=Z[1],F=(0,s.useState)([]),T=(0,a.Z)(F,2),D=T[0],z=T[1],R=(0,s.useState)(""),M=(0,a.Z)(R,2),A=M[0],L=M[1],O=(0,s.useState)(!1),G=(0,a.Z)(O,2),W=G[0],Y=G[1],_=(0,s.useState)(!1),q=(0,a.Z)(_,2),U=q[0],$=q[1],J=(0,s.useState)(!1),Q=(0,a.Z)(J,2),V=Q[0],X=Q[1],K=(0,s.useState)({beforeHeal:[0,0,0,0],afterHeal:[0,0,0,0],objectsHealed:0,objectsScanned:0,healDuration:0,sizeScanned:""}),ee=(0,a.Z)(K,2),ne=ee[0],te=ee[1];(0,s.useEffect)((function(){y.Z.invoke("GET","/api/v1/buckets").then((function(e){var n=[];null!==e.buckets&&(n=e.buckets),z(n)})).catch((function(e){console.log(e)}))}),[]),(0,s.useEffect)((function(){!0===U&&X(!1)}),[U]),(0,s.useEffect)((function(){!0===V&&$(!1)}),[V]);var ae=function(e){return[e.Green,e.Yellow,e.Red,e.Grey]};(0,s.useEffect)((function(){if(l){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()),i=t.port,s=(0,b.x2)(t.protocol),r=new x.w3cwebsocket("".concat(s,"://").concat(t.hostname,":").concat(i,"/ws/heal/").concat(E,"?prefix=").concat(A,"&recursive=").concat(W,"&force-start=").concat(U,"&force-stop=").concat(V));if(null!==r)return r.onopen=function(){console.log("WebSocket Client Connected"),r.send("ok")},r.onmessage=function(t){for(var i=JSON.parse(t.data.toString()),s=0,r=Object.entries(i.healthAfterCols);s0&&(0,m.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){h()},size:"large",children:(0,m.jsx)(f.gx,{})})]})]})})))},39560:function(e,n,t){t.r(n);var a=t(23430),i=t(18489),s=t(50390),r=t(34424),o=t(84801),l=t(46413),c=t(25594),d=t(47554),u=t(43965),f=t(31680),m=t(12066),h=t(66946),x=t(69686),p=t(86509),g=t(4285),b=t(51774),j=t(28948),Z=t(72462),v=t(49495),S=t(98280),C=t(54950),k=t(35721),y=t(30324),N=t(25534),w=t(15607),P=t(10660),H=t(62559),I=(0,g.Z)((function(e){return(0,p.Z)({root:{lineHeight:"50px",marginRight:15,"label + &":{marginTop:e.spacing(3)},"& .MuiSelect-select:focus":{backgroundColor:"transparent"}},input:{height:50,fontSize:13,lineHeight:"50px"}})}))(l.ZP),E=(0,r.$j)((function(e){return{distributedSetup:e.system.distributedSetup}}),null);n.default=E((0,g.Z)((function(e){return(0,p.Z)((0,i.Z)((0,i.Z)((0,i.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,i.Z)((0,i.Z)({},Z.qg.searchField),{},{marginLeft:10,flex:1}),actionsTray:(0,i.Z)((0,i.Z)({},Z.OR.actionsTray),{},{marginBottom:0})},Z.IX),Z.qg),(0,Z.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.distributedSetup,i=(0,s.useState)(!1),r=(0,a.Z)(i,2),l=r[0],p=r[1],g=(0,s.useState)(""),Z=(0,a.Z)(g,2),E=Z[0],B=Z[1],F=(0,s.useState)([]),T=(0,a.Z)(F,2),D=T[0],z=T[1],R=(0,s.useState)(""),M=(0,a.Z)(R,2),A=M[0],L=M[1],O=(0,s.useState)(!1),G=(0,a.Z)(O,2),W=G[0],Y=G[1],_=(0,s.useState)(!1),q=(0,a.Z)(_,2),U=q[0],$=q[1],J=(0,s.useState)(!1),Q=(0,a.Z)(J,2),V=Q[0],X=Q[1],K=(0,s.useState)({beforeHeal:[0,0,0,0],afterHeal:[0,0,0,0],objectsHealed:0,objectsScanned:0,healDuration:0,sizeScanned:""}),ee=(0,a.Z)(K,2),ne=ee[0],te=ee[1];(0,s.useEffect)((function(){y.Z.invoke("GET","/api/v1/buckets").then((function(e){var n=[];null!==e.buckets&&(n=e.buckets),z(n)})).catch((function(e){console.log(e)}))}),[]),(0,s.useEffect)((function(){!0===U&&X(!1)}),[U]),(0,s.useEffect)((function(){!0===V&&$(!1)}),[V]);var ae=function(e){return[e.Green,e.Yellow,e.Red,e.Grey]};(0,s.useEffect)((function(){if(l){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()),i=t.port,s=(0,b.x2)(t.protocol),r=new x.w3cwebsocket("".concat(s,"://").concat(t.hostname,":").concat(i,"/ws/heal/").concat(E,"?prefix=").concat(A,"&recursive=").concat(W,"&force-start=").concat(U,"&force-stop=").concat(V));if(null!==r)return r.onopen=function(){console.log("WebSocket Client Connected"),r.send("ok")},r.onmessage=function(t){for(var i=JSON.parse(t.data.toString()),s=0,r=Object.entries(i.healthAfterCols);s.\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Grid } from \"@mui/material\";\nimport HelpBox from \"../../../../common/HelpBox\";\n\ninterface IDistributedOnly {\n iconComponent: any;\n entity: string;\n}\n\nconst DistributedOnly = ({ iconComponent, entity }: IDistributedOnly) => {\n return (\n \n \n theme.colors.link,\n textDecoration: \"underline\",\n },\n }}\n >\n
This feature is not available for a single-disk setup.
\n\n
\n Please deploy a server in{\" \"}\n \n Distributed Mode\n {\" \"}\n to use this feature.\n
\n \n }\n />\n
\n
\n );\n};\n\nexport default DistributedOnly;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Checkbox, Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n checkboxIcons,\n fieldBasic,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\ninterface CheckBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n index?: number;\n checked: boolean;\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 },\n });\n\nconst CheckboxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n tooltip = \"\",\n classes,\n}: CheckBoxProps) => {\n return (\n \n \n
\n }\n icon={}\n disabled={disabled}\n />\n
\n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n
\n );\n};\n\nexport default withStyles(styles)(CheckboxWrapper);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { HorizontalBar } from \"react-chartjs-2\";\nimport {\n Button,\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 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 { AppState } from \"../../../store\";\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/SecureComponent\";\nimport DistributedOnly from \"../Common/DistributedOnly/DistributedOnly\";\n\nconst styles = (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\ninterface IHeal {\n classes: any;\n distributedSetup: boolean;\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 input: {\n height: 50,\n fontSize: 13,\n lineHeight: \"50px\",\n },\n })\n)(InputBase);\n\nconst Heal = ({ classes, distributedSetup }: IHeal) => {\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.log(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 const wsProt = wsProtocol(url.protocol);\n const c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}/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 >\n 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\nconst mapState = (state: AppState) => ({\n distributedSetup: state.system.distributedSetup,\n});\n\nconst connector = connect(mapState, null);\n\nexport default connector(withStyles(styles)(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","label","onChange","value","id","name","checked","disabled","tooltip","inputProps","checkedIcon","icon","unCheckedIcon","htmlFor","noMinWidthLabel","tooltipContainer","placement","pageContentStyles","children","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","labelStyle","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","actions","direction","sm","variant","length","component","onClick","size","SelectStyled","lineHeight","spacing","input","InputBase","distributedSetup","graphContainer","padding","scanInfo","flexDirection","scanData","formBox","buttonBar","bucketField","flex","prefixField","searchField","actionsTray","inlineCheckboxes","containerForHeader","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","log","colorHealthArr","Green","Yellow","Red","Grey","cB","cA","url","URL","window","location","toString","port","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","onopen","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","e","displayEmpty","option","InputProps","disableUnderline","type","options","text","legend","position","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/9560.0462a962.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/DistributedOnly/DistributedOnly.tsx","screens/Console/Common/FormComponents/CheckboxWrapper/CheckboxWrapper.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Heal/Heal.tsx","utils/wsUtils.ts"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Grid } from \"@mui/material\";\nimport HelpBox from \"../../../../common/HelpBox\";\n\ninterface IDistributedOnly {\n iconComponent: any;\n entity: string;\n}\n\nconst DistributedOnly = ({ iconComponent, entity }: IDistributedOnly) => {\n return (\n \n \n theme.colors.link,\n textDecoration: \"underline\",\n },\n }}\n >\n
This feature is not available for a single-disk setup.
\n\n
\n Please deploy a server in{\" \"}\n \n Distributed Mode\n {\" \"}\n to use this feature.\n
\n \n }\n />\n
\n
\n );\n};\n\nexport default DistributedOnly;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Checkbox, Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n checkboxIcons,\n fieldBasic,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\ninterface CheckBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n index?: number;\n checked: boolean;\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 },\n });\n\nconst CheckboxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n tooltip = \"\",\n classes,\n}: CheckBoxProps) => {\n return (\n \n \n
\n }\n icon={}\n disabled={disabled}\n />\n
\n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n
\n );\n};\n\nexport default withStyles(styles)(CheckboxWrapper);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { HorizontalBar } from \"react-chartjs-2\";\nimport {\n Button,\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 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 { AppState } from \"../../../store\";\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/SecureComponent\";\nimport DistributedOnly from \"../Common/DistributedOnly/DistributedOnly\";\n\nconst styles = (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\ninterface IHeal {\n classes: any;\n distributedSetup: boolean;\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 input: {\n height: 50,\n fontSize: 13,\n lineHeight: \"50px\",\n },\n })\n)(InputBase);\n\nconst Heal = ({ classes, distributedSetup }: IHeal) => {\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.log(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 const wsProt = wsProtocol(url.protocol);\n const c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}/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 >\n 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\nconst mapState = (state: AppState) => ({\n distributedSetup: state.system.distributedSetup,\n});\n\nconst connector = connect(mapState, null);\n\nexport default connector(withStyles(styles)(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","label","onChange","value","id","name","checked","disabled","tooltip","inputProps","checkedIcon","icon","unCheckedIcon","htmlFor","noMinWidthLabel","tooltipContainer","placement","pageContentStyles","children","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","headerContainer","minHeight","left","boxShadow","labelStyle","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","actions","direction","sm","variant","length","component","onClick","size","SelectStyled","lineHeight","spacing","input","InputBase","distributedSetup","graphContainer","padding","scanInfo","flexDirection","scanData","formBox","buttonBar","bucketField","flex","prefixField","searchField","actionsTray","inlineCheckboxes","containerForHeader","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","log","colorHealthArr","Green","Yellow","Red","Grey","cB","cA","url","URL","window","location","toString","port","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","onopen","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","e","displayEmpty","option","InputProps","disableUnderline","type","options","text","legend","position","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/9645.7e223ba8.chunk.js b/portal-ui/build/static/js/9645.7e223ba8.chunk.js new file mode 100644 index 000000000..a68eed71e --- /dev/null +++ b/portal-ui/build/static/js/9645.7e223ba8.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[9645],{70014:function(e,o,n){var t=n(35531),a=n(23430),r=n(18489),i=n(50390),l=n(25594),s=(n(2574),n(20704)),c=n(54880),d=n(21563),u=n(36297),m=n(36554),p=n(94187),f=n(56805),x=n(86509),h=n(4285),g=n(97538),b=n(72462),Z=n(98280),v=n(53224),j=n(33034),C=n.n(j),k=n(53357),y=n(62559),N={json:d.AV,yaml:function(){return c.i.define(u.r)}},S=k.tk.theme({"&":{backgroundColor:"#FBFAFA"},".cm-content":{caretColor:"#05122B"},"&.cm-focused .cm-cursor":{borderLeftColor:"#05122B"},".cm-gutters":{backgroundColor:"#FBFAFA",color:"#000000",border:"none"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px",color:"#2781B0","& .\u037cc":{color:"#C83B51"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#dde1f1"},".cm-matchingBracket":{backgroundColor:"#05122B",color:"#ffffff"},".cm-selectionMatch":{backgroundColor:"#ebe7f1"},".cm-selectionLayer":{fontWeight:500}," .cm-selectionBackground":{backgroundColor:"#a180c7",color:"#ffffff"}},{dark:!1}),B=k.tk.theme({"&":{backgroundColor:"#282a36",color:"#ffb86c"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px","& .\u037cd, & .\u037cc":{color:"#8e6cef"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#44475a"},".cm-matchingBracket":{backgroundColor:"#842de5",color:"#ff79c6"},".cm-selectionLayer .cm-selectionBackground":{backgroundColor:"green"}},{dark:!0});o.Z=(0,h.Z)((function(e){return(0,x.Z)((0,r.Z)((0,r.Z)({},b.YI),{},{inputLabel:(0,r.Z)((0,r.Z)({},b.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var o=e.value,n=e.label,r=void 0===n?"":n,c=e.tooltip,d=void 0===c?"":c,u=e.mode,x=void 0===u?"json":u,h=e.classes,b=e.onBeforeChange,j=e.readOnly,k=void 0!==j&&j,M=e.editorHeight,E=void 0===M?"250px":M,L=(0,i.useState)(!1),P=(0,a.Z)(L,2),I=P[0],w=P[1],F=[];return N[x]&&(F=[].concat((0,t.Z)(F),[N[x]()])),(0,y.jsxs)(i.Fragment,{children:[(0,y.jsxs)(m.Z,{className:h.inputLabel,children:[(0,y.jsx)("span",{children:r}),""!==d&&(0,y.jsx)("div",{className:h.tooltipContainer,children:(0,y.jsx)(p.Z,{title:d,placement:"top-start",children:(0,y.jsx)("div",{className:h.tooltip,children:(0,y.jsx)(g.Z,{})})})})]}),(0,y.jsx)(l.ZP,{item:!0,xs:12,children:(0,y.jsx)("br",{})}),(0,y.jsxs)(l.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea"},children:[(0,y.jsx)(l.ZP,{item:!0,xs:12,children:(0,y.jsx)(s.ZP,{value:o,theme:I?B:S,extensions:F,editable:!k,basicSetup:!0,height:E,onChange:function(e,o){b(null,null,e)}})}),(0,y.jsx)(l.ZP,{item:!0,xs:12,sx:{borderTop:"1px solid #eaeaea",background:I?"#282c34":"#f7f7f7"},children:(0,y.jsxs)(f.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:"Change theme",onClick:function(){w(!I)},text:"",icon:(0,y.jsx)(Z.EO,{}),color:"primary",variant:"outlined"}),(0,y.jsx)(C(),{text:o,children:(0,y.jsx)(v.Z,{tooltip:"Copy to Clipboard",onClick:function(){},text:"",icon:(0,y.jsx)(Z.TI,{}),color:"primary",variant:"outlined"})})]})})]})]})}))},66964:function(e,o,n){var t=n(18489),a=n(50390),r=n(12066),i=n(25594),l=n(36554),s=n(94187),c=n(95467),d=n(86509),u=n(62449),m=n(4285),p=n(72462),f=n(97538),x=n(44977),h=n(62559),g=(0,u.Z)((function(e){return(0,d.Z)((0,t.Z)({},p.gM))}));function b(e){var o=g();return(0,h.jsx)(r.Z,(0,t.Z)({InputProps:{classes:o}},e))}o.Z=(0,m.Z)((function(e){return(0,d.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var o=e.label,n=e.onChange,r=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,g=e.autoComplete,Z=void 0===g?"off":g,v=e.disabled,j=void 0!==v&&v,C=e.multiline,k=void 0!==C&&C,y=e.tooltip,N=void 0===y?"":y,S=e.index,B=void 0===S?0:S,M=e.error,E=void 0===M?"":M,L=e.required,P=void 0!==L&&L,I=e.placeholder,w=void 0===I?"":I,F=e.min,z=e.max,D=e.overlayIcon,O=void 0===D?null:D,W=e.overlayObject,R=void 0===W?null:W,A=e.extraInputProps,T=void 0===A?{}:A,H=e.overlayAction,Y=e.noLabelMinWidth,G=void 0!==Y&&Y,$=e.pattern,J=void 0===$?"":$,K=e.autoFocus,V=void 0!==K&&K,_=e.classes,q=e.className,Q=void 0===q?"":q,X=(0,t.Z)({"data-index":B},T);return"number"===p&&F&&(X.min=F),"number"===p&&z&&(X.max=z),""!==J&&(X.pattern=J),(0,h.jsx)(a.Fragment,{children:(0,h.jsxs)(i.ZP,{container:!0,className:(0,x.Z)(""!==Q?Q:"",""!==E?_.errorInField:_.inputBoxContainer),children:[""!==o&&(0,h.jsxs)(l.Z,{htmlFor:d,className:G?_.noMinWidthLabel:_.inputLabel,children:[(0,h.jsxs)("span",{children:[o,P?"*":""]}),""!==N&&(0,h.jsx)("div",{className:_.tooltipContainer,children:(0,h.jsx)(s.Z,{title:N,placement:"top-start",children:(0,h.jsx)("div",{className:_.tooltip,children:(0,h.jsx)(f.Z,{})})})})]}),(0,h.jsxs)("div",{className:_.textBoxContainer,children:[(0,h.jsx)(b,{id:d,name:u,fullWidth:!0,value:r,autoFocus:V,disabled:j,onChange:n,type:p,multiline:k,autoComplete:Z,inputProps:X,error:""!==E,helperText:E,placeholder:w,className:_.inputRebase}),O&&(0,h.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==o?"withLabel":""),children:(0,h.jsx)(c.Z,{onClick:H?function(){H()}:function(){return null},size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:O})}),R&&(0,h.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==o?"withLabel":""),children:R})]})]})})}))},76352:function(e,o,n){n.d(o,{Z:function(){return B}});var t,a=n(23430),r=n(18489),i=n(50390),l=n(34424),s=n(95467),c=n(97771),d=n(84402),u=n(78426),m=n(93085),p=n(86509),f=n(4285),x=n(72462),h=n(44149),g=n(38342),b=n.n(g),Z=n(92125),v=n(19538),j=n(21278),C=n(62559),k=function(){clearInterval(t)},y={displayErrorMessage:h.zb},N=(0,l.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),y)((0,f.Z)((function(e){return(0,p.Z)({modalErrorContainer:{position:"absolute",marginTop:10,width:"80%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:1e3,padding:"10px 15px",left:"50%",transform:"translateX(-50%)",opacity:0,transitionDuration:"0.2s"},modalErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5,marginRight:25},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var o=e.classes,n=e.modalSnackMessage,r=e.displayErrorMessage,l=e.customStyle,s=(0,i.useState)(!1),c=(0,a.Z)(s,2),d=c[0],u=c[1],m=(0,i.useState)(!1),p=(0,a.Z)(m,2),f=p[0],x=p[1],h=(0,i.useCallback)((function(){x(!1)}),[]);(0,i.useEffect)((function(){f||(r({detailedError:"",errorMessage:""}),u(!1))}),[r,f]),(0,i.useEffect)((function(){""!==n.message&&"error"===n.type&&x(!0)}),[h,n.message,n.type]);var g=b()(n,"message",""),y=b()(n,"detailedErrorMsg","");return"error"!==n.type||""===g?null:(0,C.jsx)(i.Fragment,{children:(0,C.jsxs)("div",{className:"".concat(o.modalErrorContainer," ").concat(f?o.modalErrorShow:""),style:l,onMouseOver:k,onMouseLeave:function(){t=setInterval(h,1e4)},children:[(0,C.jsx)("button",{className:o.closeButton,onClick:h,children:(0,C.jsx)(j.Z,{})}),(0,C.jsxs)("div",{className:o.errorTitle,children:[(0,C.jsx)("span",{className:o.messageIcon,children:(0,C.jsx)(v.Z,{})}),(0,C.jsx)("span",{className:o.errorLabel,children:g})]}),""!==y&&(0,C.jsxs)(i.Fragment,{children:[(0,C.jsx)("div",{className:o.detailsContainerLink,children:(0,C.jsxs)("button",{className:o.detailsButton,onClick:function(){u(!d)},children:["Details",(0,C.jsx)(Z.Z,{className:"".concat(o.arrowElement," ").concat(d?o.arrowOpen:"")})]})}),(0,C.jsx)("div",{className:"".concat(o.extraDetailsContainer," ").concat(d?o.extraDetailsOpen:""),children:y})]})]})})}))),S=(0,l.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:h.MK}),B=(0,f.Z)((function(e){return(0,p.Z)((0,r.Z)((0,r.Z)({},x.Qw),{},{root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},x.sN))}))(S((function(e){var o=e.onClose,n=e.modalOpen,t=e.title,l=e.children,p=e.classes,f=e.wideLimit,x=void 0===f||f,h=e.modalSnackMessage,g=e.noContentPadding,b=e.setModalSnackMessage,Z=e.titleIcon,v=void 0===Z?null:Z,k=(0,i.useState)(!1),y=(0,a.Z)(k,2),S=y[0],B=y[1];(0,i.useEffect)((function(){b("")}),[b]),(0,i.useEffect)((function(){if(h){if(""===h.message)return void B(!1);"error"!==h.type&&B(!0)}}),[h]);var M=x?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},E="";return h&&(E=h.detailedErrorMsg,(""===h.detailedErrorMsg||h.detailedErrorMsg.length<5)&&(E=h.message)),(0,C.jsxs)(d.Z,(0,r.Z)((0,r.Z)({open:n,classes:p},M),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&o()},className:p.root,children:[(0,C.jsxs)(u.Z,{className:p.title,children:[(0,C.jsxs)("div",{className:p.titleText,children:[v," ",t]}),(0,C.jsx)("div",{className:p.closeContainer,children:(0,C.jsx)(s.Z,{"aria-label":"close",className:p.closeButton,onClick:o,disableRipple:!0,size:"small",children:(0,C.jsx)(j.Z,{})})})]}),(0,C.jsx)(N,{}),(0,C.jsx)(c.Z,{open:S,className:p.snackBarModal,onClose:function(){B(!1),b("")},message:E,ContentProps:{className:"".concat(p.snackBar," ").concat(h&&"error"===h.type?p.errorSnackBar:"")},autoHideDuration:h&&"error"===h.type?1e4:5e3}),(0,C.jsx)(m.Z,{className:g?"":p.content,children:l})]}))})))},88881:function(e,o,n){n.r(o);var t=n(23430),a=n(18489),r=n(50390),i=n(34424),l=n(25594),s=n(66946),c=n(81378),d=n(86509),u=n(4285),m=n(30324),p=n(44149),f=n(72462),x=n(76352),h=n(66964),g=n(70014),b=n(62559),Z={setModalErrorSnackMessage:p.zb},v=(0,i.$j)(null,Z);o.default=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({buttonContainer:{textAlign:"right"},codeMirrorContainer:{marginBottom:20,marginTop:20,"& label":{marginBottom:".5rem"},"& label + div":{display:"none"}}},f.bK),f.ID),f.YI))}))(v((function(e){var o=e.classes,n=e.open,a=e.closeModalAndRefresh,i=e.policyEdit,d=e.setModalErrorSnackMessage,u=(0,r.useState)(!1),p=(0,t.Z)(u,2),f=p[0],Z=p[1],v=(0,r.useState)(""),j=(0,t.Z)(v,2),C=j[0],k=j[1],y=(0,r.useState)(""),N=(0,t.Z)(y,2),S=N[0],B=N[1];(0,r.useEffect)((function(){i&&(k(i.name),B(i?JSON.stringify(JSON.parse(i.policy),null,4):""))}),[i]);var M=""!==C.trim();return(0,b.jsx)(x.Z,{modalOpen:n,onClose:function(){a(!1)},title:"".concat(i?"Info":"Create"," Policy"),children:(0,b.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),f||(Z(!0),m.Z.invoke("POST","/api/v1/policies",{name:C,policy:S}).then((function(e){Z(!1),a(!0)})).catch((function(e){Z(!1),d(e)})))},children:(0,b.jsxs)(l.ZP,{container:!0,children:[(0,b.jsxs)(l.ZP,{item:!0,xs:12,className:o.modalFormScrollable,children:[(0,b.jsx)(l.ZP,{item:!0,xs:12,className:o.formFieldRow,children:(0,b.jsx)(h.Z,{id:"policy-name",name:"policy-name",label:"Policy Name",placeholder:"Enter Policy Name",autoFocus:!0,onChange:function(e){k(e.target.value)},value:C,disabled:!!i})}),(0,b.jsx)(l.ZP,{item:!0,xs:12,className:o.codeMirrorContainer,children:(0,b.jsx)(g.Z,{label:"".concat(i?"Edit":"Write"," Policy"),value:S,onBeforeChange:function(e,o,n){B(n)},editorHeight:"350px"})})]}),(0,b.jsxs)(l.ZP,{item:!0,xs:12,className:o.modalButtonBar,children:[!i&&(0,b.jsx)(s.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){k(""),B("")},children:"Clear"}),(0,b.jsx)(s.Z,{type:"submit",variant:"contained",color:"primary",disabled:f||!M,children:"Save"})]}),f&&(0,b.jsx)(l.ZP,{item:!0,xs:12,children:(0,b.jsx)(c.Z,{})})]})})})})))}}]); +//# sourceMappingURL=9645.7e223ba8.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/9645.7e223ba8.chunk.js.map b/portal-ui/build/static/js/9645.7e223ba8.chunk.js.map new file mode 100644 index 000000000..62f321813 --- /dev/null +++ b/portal-ui/build/static/js/9645.7e223ba8.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/9645.7e223ba8.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/ModalError/ModalError.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Policies/AddPolicy.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 Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\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, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\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 inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\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 const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n \n
\n
\n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\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 from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\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 multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport get from \"lodash/get\";\nimport ArrowRightIcon from \"@mui/icons-material/ArrowRight\";\nimport ErrorOutlineIcon from \"@mui/icons-material/ErrorOutline\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { AppState } from \"../../../../../store\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../../../actions\";\nimport { snackBarMessage } from \"../../../../../types\";\n\ninterface ImodalErrorProps {\n customStyle?: any;\n classes: any;\n modalSnackMessage: snackBarMessage;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n modalErrorContainer: {\n position: \"absolute\",\n marginTop: 10,\n width: \"80%\",\n backgroundColor: \"#fff\",\n border: \"#C72C48 1px solid\",\n borderLeftWidth: 12,\n borderRadius: 3,\n zIndex: 1000,\n padding: \"10px 15px\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n opacity: 0,\n transitionDuration: \"0.2s\",\n },\n modalErrorShow: {\n opacity: 1,\n },\n closeButton: {\n position: \"absolute\",\n right: 5,\n fontSize: \"small\",\n border: 0,\n backgroundColor: \"#fff\",\n cursor: \"pointer\",\n },\n errorTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n errorLabel: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 500,\n marginLeft: 5,\n marginRight: 25,\n },\n messageIcon: {\n color: \"#C72C48\",\n display: \"flex\",\n \"& svg\": {\n width: 32,\n height: 32,\n },\n },\n detailsButton: {\n color: \"#9C9C9C\",\n display: \"flex\",\n alignItems: \"center\",\n border: 0,\n backgroundColor: \"transparent\",\n paddingLeft: 5,\n fontSize: 14,\n transformDuration: \"0.3s\",\n cursor: \"pointer\",\n },\n extraDetailsContainer: {\n fontStyle: \"italic\",\n color: \"#9C9C9C\",\n lineHeight: 0,\n padding: \"0 10px\",\n transition: \"all .2s ease-in-out\",\n overflow: \"hidden\",\n },\n extraDetailsOpen: {\n lineHeight: 1,\n padding: \"3px 10px\",\n },\n arrowElement: {\n marginLeft: -5,\n },\n arrowOpen: {\n transform: \"rotateZ(90deg)\",\n transformDuration: \"0.3s\",\n },\n });\n\nvar timerI: any;\n\nconst startHideTimer = (callbackFunction: () => void) => {\n timerI = setInterval(callbackFunction, 10000);\n};\n\nconst stopHideTimer = () => {\n clearInterval(timerI);\n};\n\nconst ModalError = ({\n classes,\n modalSnackMessage,\n displayErrorMessage,\n customStyle,\n}: ImodalErrorProps) => {\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [displayErrorMsg, setDisplayErrorMsg] = useState(false);\n\n const closeErrorMessage = useCallback(() => {\n setDisplayErrorMsg(false);\n }, []);\n\n useEffect(() => {\n if (!displayErrorMsg) {\n displayErrorMessage({ detailedError: \"\", errorMessage: \"\" });\n setDetailsOpen(false);\n //clearInterval(timerI);\n }\n }, [displayErrorMessage, displayErrorMsg]);\n\n useEffect(() => {\n if (\n modalSnackMessage.message !== \"\" &&\n modalSnackMessage.type === \"error\"\n ) {\n //Error message received, we trigger the animation\n setDisplayErrorMsg(true);\n //startHideTimer(closeErrorMessage);\n }\n }, [closeErrorMessage, modalSnackMessage.message, modalSnackMessage.type]);\n\n const detailsToggle = () => {\n setDetailsOpen(!detailsOpen);\n };\n\n const message = get(modalSnackMessage, \"message\", \"\");\n const messageDetails = get(modalSnackMessage, \"detailedErrorMsg\", \"\");\n\n if (modalSnackMessage.type !== \"error\" || message === \"\") {\n return null;\n }\n\n return (\n \n startHideTimer(closeErrorMessage)}\n >\n \n
\n \n \n \n {message}\n
\n {messageDetails !== \"\" && (\n \n
\n \n
\n \n {messageDetails}\n \n
\n )}\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst mapDispatchToProps = {\n displayErrorMessage: setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ModalError));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more 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 { connect } 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 } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport ModalError from \"../FormComponents/ModalError/ModalError\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n },\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 modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\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 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\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(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, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport api from \"../../../common/api\";\nimport { Policy } from \"./types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport {\n fieldBasic,\n modalStyleUtils,\n spacingUtils,\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 CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n codeMirrorContainer: {\n marginBottom: 20,\n marginTop: 20,\n \"& label\": {\n marginBottom: \".5rem\",\n },\n \"& label + div\": {\n display: \"none\",\n },\n },\n ...spacingUtils,\n ...modalStyleUtils,\n ...fieldBasic,\n });\n\ninterface IAddPolicyProps {\n classes: any;\n open: boolean;\n closeModalAndRefresh: (refresh: boolean) => void;\n policyEdit: Policy;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst AddPolicy = ({\n classes,\n open,\n closeModalAndRefresh,\n policyEdit,\n setModalErrorSnackMessage,\n}: IAddPolicyProps) => {\n const [addLoading, setAddLoading] = useState(false);\n const [policyName, setPolicyName] = useState(\"\");\n const [policyDefinition, setPolicyDefinition] = 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/policies\", {\n name: policyName,\n policy: policyDefinition,\n })\n .then((res) => {\n setAddLoading(false);\n\n closeModalAndRefresh(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n useEffect(() => {\n if (policyEdit) {\n setPolicyName(policyEdit.name);\n setPolicyDefinition(\n policyEdit ? JSON.stringify(JSON.parse(policyEdit.policy), null, 4) : \"\"\n );\n }\n }, [policyEdit]);\n\n const resetForm = () => {\n setPolicyName(\"\");\n setPolicyDefinition(\"\");\n };\n\n const validSave = policyName.trim() !== \"\";\n\n return (\n {\n closeModalAndRefresh(false);\n }}\n title={`${policyEdit ? \"Info\" : \"Create\"} Policy`}\n >\n ) => {\n addRecord(e);\n }}\n >\n \n \n \n ) => {\n setPolicyName(e.target.value);\n }}\n value={policyName}\n disabled={!!policyEdit}\n />\n \n\n \n {\n setPolicyDefinition(value);\n }}\n editorHeight={\"350px\"}\n />\n \n \n \n {!policyEdit && (\n \n Clear\n \n )}\n\n \n Save\n \n \n {addLoading && (\n \n \n \n )}\n \n \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddPolicy));\n"],"names":["langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","backgroundColor","caretColor","borderLeftColor","color","border","borderRight","fontSize","fontWeight","dark","darkTheme","withStyles","theme","createStyles","fieldBasic","inputLabel","value","label","tooltip","mode","classes","onBeforeChange","readOnly","editorHeight","useState","isDarkTheme","setIsDarkTheme","extensionList","className","tooltipContainer","title","placement","item","xs","sx","extensions","editable","basicSetup","height","onChange","v","vu","borderTop","background","display","alignItems","padding","paddingRight","justifyContent","width","marginLeft","onClick","text","icon","variant","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","id","name","type","autoComplete","disabled","multiline","index","error","required","placeholder","min","max","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","fullWidth","helperText","inputRebase","size","disableFocusRipple","disableRipple","disableTouchRipple","timerI","stopHideTimer","clearInterval","mapDispatchToProps","displayErrorMessage","setModalErrorSnackMessage","connect","state","modalSnackMessage","system","modalSnackBar","modalErrorContainer","marginTop","borderLeftWidth","borderRadius","zIndex","left","transform","opacity","transitionDuration","modalErrorShow","closeButton","cursor","errorTitle","errorLabel","marginRight","messageIcon","detailsButton","paddingLeft","transformDuration","extraDetailsContainer","fontStyle","lineHeight","transition","overflow","extraDetailsOpen","arrowElement","arrowOpen","customStyle","detailsOpen","setDetailsOpen","displayErrorMsg","setDisplayErrorMsg","closeErrorMessage","useCallback","useEffect","detailedError","errorMessage","message","get","messageDetails","Fragment","style","onMouseOver","onMouseLeave","setInterval","Close","ErrorOutline","detailsContainerLink","ArrowRight","connector","setModalSnackMessage","deleteDialogStyles","root","content","paddingBottom","customDialogSize","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","length","Dialog","open","scroll","event","reason","DialogTitle","titleText","closeContainer","IconButton","Snackbar","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","DialogContent","buttonContainer","textAlign","codeMirrorContainer","marginBottom","spacingUtils","modalStyleUtils","closeModalAndRefresh","policyEdit","addLoading","setAddLoading","policyName","setPolicyName","policyDefinition","setPolicyDefinition","JSON","stringify","parse","policy","validSave","trim","noValidate","onSubmit","e","preventDefault","api","then","res","catch","err","modalFormScrollable","formFieldRow","target","editor","data","modalButtonBar"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/9679.2b8424ba.chunk.js b/portal-ui/build/static/js/9679.eb81d633.chunk.js similarity index 98% rename from portal-ui/build/static/js/9679.2b8424ba.chunk.js rename to portal-ui/build/static/js/9679.eb81d633.chunk.js index 1bcb88175..18b085a19 100644 --- a/portal-ui/build/static/js/9679.2b8424ba.chunk.js +++ b/portal-ui/build/static/js/9679.eb81d633.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[9679],{39679:function(n,o,t){t.r(o);var i=t(23430),a=t(50390),r=t(34424),e=t(23473),s=t(30324),c=t(44149),d=t(60656),l=t(11387),u=t(62559),g=(0,r.$j)(null,{setErrorSnackMessage:c.Ih});o.default=g((function(n){var o=n.closeVersioningModalAndRefresh,t=n.modalOpen,r=n.selectedBucket,c=n.versioningCurrentState,g=n.setErrorSnackMessage,f=(0,a.useState)(!1),v=(0,i.Z)(f,2),Z=v[0],p=v[1];return(0,u.jsx)(d.Z,{title:"Versioning on Bucket",confirmText:c?"Disable":"Enable",isOpen:t,isLoading:Z,titleIcon:(0,u.jsx)(l.Ej,{}),onConfirm:function(){Z||(p(!0),s.Z.invoke("PUT","/api/v1/buckets/".concat(r,"/versioning"),{versioning:!c}).then((function(){p(!1),o(!0)})).catch((function(n){p(!1),g(n)})))},confirmButtonProps:{color:"primary",variant:"contained"},onClose:function(){o(!1)},confirmationContent:(0,u.jsxs)(e.Z,{id:"alert-dialog-description",children:["Are you sure you want to"," ",(0,u.jsx)("strong",{children:c?"disable":"enable"})," ","versioning for this bucket?",c&&(0,u.jsxs)(a.Fragment,{children:[(0,u.jsx)("br",{}),(0,u.jsx)("br",{}),(0,u.jsx)("strong",{children:"File versions won't be automatically deleted."})]})]})})}))},60656:function(n,o,t){var i=t(18489),a=t(50390),r=t(84402),e=t(78426),s=t(93085),c=t(7887),d=t(66946),l=t(14476),u=t(95467),g=t(21278),f=t(86509),v=t(4285),Z=t(72462),p=t(62559);o.Z=(0,v.Z)((function(n){return(0,f.Z)((0,i.Z)({},Z.Qw))}))((function(n){var o=n.isOpen,t=void 0!==o&&o,f=n.onClose,v=n.onCancel,Z=n.onConfirm,m=n.classes,h=void 0===m?{}:m,x=n.title,b=void 0===x?"":x,I=n.isLoading,j=n.confirmationContent,S=n.cancelText,P=void 0===S?"Cancel":S,L=n.confirmText,C=void 0===L?"Confirm":L,w=n.confirmButtonProps,y=void 0===w?{}:w,k=n.cancelButtonProps,M=void 0===k?{}:k,N=n.titleIcon,B=void 0===N?null:N;return(0,p.jsxs)(r.Z,{open:t,onClose:function(n,o){"backdropClick"!==o&&f()},className:h.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,p.jsxs)(e.Z,{className:h.title,children:[(0,p.jsxs)("div",{className:h.titleText,children:[B," ",b]}),(0,p.jsx)("div",{className:h.closeContainer,children:(0,p.jsx)(u.Z,{"aria-label":"close",className:h.closeButton,onClick:f,disableRipple:!0,size:"small",children:(0,p.jsx)(g.Z,{})})})]}),(0,p.jsx)(s.Z,{className:h.content,children:j}),(0,p.jsxs)(c.Z,{className:h.actions,children:[(0,p.jsx)(d.Z,(0,i.Z)((0,i.Z)({className:h.cancelButton,onClick:v||f,disabled:I,type:"button"},M),{},{variant:"outlined",color:"primary",children:P})),(0,p.jsx)(l.Z,(0,i.Z)((0,i.Z)({className:h.confirmButton,type:"button",onClick:Z,loading:I,disabled:I,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,p.jsx)(a.Fragment,{}),autoFocus:!0},y),{},{children:C}))]})]})}))},14476:function(n,o,t){t.d(o,{Z:function(){return I}});var i=t(36222),a=t(46633),r=t(18207),e=t(50390),s=t(91442),c=t(4733),d=t(50076),l=t(8208),u=t(15573),g=t(66946),f=t(18201),v=t(10594);function Z(n){return(0,v.Z)("MuiLoadingButton",n)}var p=(0,t(43349).Z)("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),m=t(62559),h=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],x=(0,l.ZP)(g.Z,{shouldForwardProp:function(n){return function(n){return"ownerState"!==n&&"theme"!==n&&"sx"!==n&&"as"!==n&&"classes"!==n}(n)||"classes"===n},name:"MuiLoadingButton",slot:"Root",overridesResolver:function(n,o){return[o.root,o.startIconLoadingStart&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart),o.startIconLoadingStart),o.endIconLoadingEnd&&(0,i.Z)({},"& .".concat(p.endIconLoadingEnd),o.endIconLoadingEnd)]}})((function(n){var o=n.ownerState,t=n.theme;return(0,r.Z)((0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0}),"center"===o.loadingPosition&&(0,i.Z)({transition:t.transitions.create(["background-color","box-shadow","border-color"],{duration:t.transitions.duration.short})},"&.".concat(p.loading),{color:"transparent"}),"start"===o.loadingPosition&&o.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0,marginRight:-8}),"end"===o.loadingPosition&&o.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0,marginLeft:-8}))})),b=(0,l.ZP)("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:function(n,o){var t=n.ownerState;return[o.loadingIndicator,o["loadingIndicator".concat((0,s.Z)(t.loadingPosition))]]}})((function(n){var o=n.theme,t=n.ownerState;return(0,r.Z)({position:"absolute",visibility:"visible",display:"flex"},"start"===t.loadingPosition&&("outlined"===t.variant||"contained"===t.variant)&&{left:14},"start"===t.loadingPosition&&"text"===t.variant&&{left:6},"center"===t.loadingPosition&&{left:"50%",transform:"translate(-50%)",color:o.palette.action.disabled},"end"===t.loadingPosition&&("outlined"===t.variant||"contained"===t.variant)&&{right:14},"end"===t.loadingPosition&&"text"===t.variant&&{right:6},"start"===t.loadingPosition&&t.fullWidth&&{position:"relative",left:-10},"end"===t.loadingPosition&&t.fullWidth&&{position:"relative",right:-10})})),I=e.forwardRef((function(n,o){var t=(0,u.Z)({props:n,name:"MuiLoadingButton"}),i=t.children,l=t.disabled,g=void 0!==l&&l,v=t.id,p=t.loading,I=void 0!==p&&p,j=t.loadingIndicator,S=t.loadingPosition,P=void 0===S?"center":S,L=t.variant,C=void 0===L?"text":L,w=(0,a.Z)(t,h),y=(0,c.Z)(v),k=null!=j?j:(0,m.jsx)(f.Z,{"aria-labelledby":y,color:"inherit",size:16}),M=(0,r.Z)({},t,{disabled:g,loading:I,loadingIndicator:k,loadingPosition:P,variant:C}),N=function(n){var o=n.loading,t=n.loadingPosition,i=n.classes,a={root:["root",o&&"loading"],startIcon:[o&&"startIconLoading".concat((0,s.Z)(t))],endIcon:[o&&"endIconLoading".concat((0,s.Z)(t))],loadingIndicator:["loadingIndicator",o&&"loadingIndicator".concat((0,s.Z)(t))]},e=(0,d.Z)(a,Z,i);return(0,r.Z)({},i,e)}(M);return(0,m.jsx)(x,(0,r.Z)({disabled:g||I,id:y,ref:o},w,{variant:C,classes:N,ownerState:M,children:"end"===M.loadingPosition?(0,m.jsxs)(e.Fragment,{children:[i,I&&(0,m.jsx)(b,{className:N.loadingIndicator,ownerState:M,children:k})]}):(0,m.jsxs)(e.Fragment,{children:[I&&(0,m.jsx)(b,{className:N.loadingIndicator,ownerState:M,children:k}),i]})}))}))},7887:function(n,o,t){t.d(o,{Z:function(){return Z}});var i=t(1048),a=t(32793),r=t(50390),e=t(44977),s=t(50076),c=t(8208),d=t(15573),l=t(10594);function u(n){return(0,l.Z)("MuiDialogActions",n)}(0,t(43349).Z)("MuiDialogActions",["root","spacing"]);var g=t(62559),f=["className","disableSpacing"],v=(0,c.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(n,o){var t=n.ownerState;return[o.root,!t.disableSpacing&&o.spacing]}})((function(n){var o=n.ownerState;return(0,a.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!o.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),Z=r.forwardRef((function(n,o){var t=(0,d.Z)({props:n,name:"MuiDialogActions"}),r=t.className,c=t.disableSpacing,l=void 0!==c&&c,Z=(0,i.Z)(t,f),p=(0,a.Z)({},t,{disableSpacing:l}),m=function(n){var o=n.classes,t={root:["root",!n.disableSpacing&&"spacing"]};return(0,s.Z)(t,u,o)}(p);return(0,g.jsx)(v,(0,a.Z)({className:(0,e.Z)(m.root,r),ownerState:p,ref:o},Z))}))},23473:function(n,o,t){t.d(o,{Z:function(){return Z}});var i=t(1048),a=t(32793),r=t(50390),e=t(50076),s=t(8208),c=t(15573),d=t(35477),l=t(10594);function u(n){return(0,l.Z)("MuiDialogContentText",n)}(0,t(43349).Z)("MuiDialogContentText",["root"]);var g=t(62559),f=["children"],v=(0,s.ZP)(d.Z,{shouldForwardProp:function(n){return(0,s.FO)(n)||"classes"===n},name:"MuiDialogContentText",slot:"Root",overridesResolver:function(n,o){return o.root}})({}),Z=r.forwardRef((function(n,o){var t=(0,c.Z)({props:n,name:"MuiDialogContentText"}),r=(0,i.Z)(t,f),s=function(n){var o=n.classes,t=(0,e.Z)({root:["root"]},u,o);return(0,a.Z)({},o,t)}(r);return(0,g.jsx)(v,(0,a.Z)({component:"p",variant:"body1",color:"text.secondary",ref:o,ownerState:r},t,{classes:s}))}))}}]); -//# sourceMappingURL=9679.2b8424ba.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[9679],{39679:function(n,o,t){t.r(o);var i=t(23430),a=t(50390),r=t(34424),e=t(23473),s=t(30324),c=t(44149),d=t(60656),l=t(98280),u=t(62559),g=(0,r.$j)(null,{setErrorSnackMessage:c.Ih});o.default=g((function(n){var o=n.closeVersioningModalAndRefresh,t=n.modalOpen,r=n.selectedBucket,c=n.versioningCurrentState,g=n.setErrorSnackMessage,f=(0,a.useState)(!1),v=(0,i.Z)(f,2),Z=v[0],p=v[1];return(0,u.jsx)(d.Z,{title:"Versioning on Bucket",confirmText:c?"Disable":"Enable",isOpen:t,isLoading:Z,titleIcon:(0,u.jsx)(l.Ej,{}),onConfirm:function(){Z||(p(!0),s.Z.invoke("PUT","/api/v1/buckets/".concat(r,"/versioning"),{versioning:!c}).then((function(){p(!1),o(!0)})).catch((function(n){p(!1),g(n)})))},confirmButtonProps:{color:"primary",variant:"contained"},onClose:function(){o(!1)},confirmationContent:(0,u.jsxs)(e.Z,{id:"alert-dialog-description",children:["Are you sure you want to"," ",(0,u.jsx)("strong",{children:c?"disable":"enable"})," ","versioning for this bucket?",c&&(0,u.jsxs)(a.Fragment,{children:[(0,u.jsx)("br",{}),(0,u.jsx)("br",{}),(0,u.jsx)("strong",{children:"File versions won't be automatically deleted."})]})]})})}))},60656:function(n,o,t){var i=t(18489),a=t(50390),r=t(84402),e=t(78426),s=t(93085),c=t(7887),d=t(66946),l=t(14476),u=t(95467),g=t(21278),f=t(86509),v=t(4285),Z=t(72462),p=t(62559);o.Z=(0,v.Z)((function(n){return(0,f.Z)((0,i.Z)({},Z.Qw))}))((function(n){var o=n.isOpen,t=void 0!==o&&o,f=n.onClose,v=n.onCancel,Z=n.onConfirm,m=n.classes,h=void 0===m?{}:m,x=n.title,b=void 0===x?"":x,I=n.isLoading,j=n.confirmationContent,S=n.cancelText,P=void 0===S?"Cancel":S,L=n.confirmText,C=void 0===L?"Confirm":L,w=n.confirmButtonProps,y=void 0===w?{}:w,k=n.cancelButtonProps,M=void 0===k?{}:k,N=n.titleIcon,B=void 0===N?null:N;return(0,p.jsxs)(r.Z,{open:t,onClose:function(n,o){"backdropClick"!==o&&f()},className:h.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,p.jsxs)(e.Z,{className:h.title,children:[(0,p.jsxs)("div",{className:h.titleText,children:[B," ",b]}),(0,p.jsx)("div",{className:h.closeContainer,children:(0,p.jsx)(u.Z,{"aria-label":"close",className:h.closeButton,onClick:f,disableRipple:!0,size:"small",children:(0,p.jsx)(g.Z,{})})})]}),(0,p.jsx)(s.Z,{className:h.content,children:j}),(0,p.jsxs)(c.Z,{className:h.actions,children:[(0,p.jsx)(d.Z,(0,i.Z)((0,i.Z)({className:h.cancelButton,onClick:v||f,disabled:I,type:"button"},M),{},{variant:"outlined",color:"primary",children:P})),(0,p.jsx)(l.Z,(0,i.Z)((0,i.Z)({className:h.confirmButton,type:"button",onClick:Z,loading:I,disabled:I,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,p.jsx)(a.Fragment,{}),autoFocus:!0},y),{},{children:C}))]})]})}))},14476:function(n,o,t){t.d(o,{Z:function(){return I}});var i=t(36222),a=t(46633),r=t(18207),e=t(50390),s=t(91442),c=t(4733),d=t(50076),l=t(8208),u=t(15573),g=t(66946),f=t(18201),v=t(10594);function Z(n){return(0,v.Z)("MuiLoadingButton",n)}var p=(0,t(43349).Z)("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),m=t(62559),h=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],x=(0,l.ZP)(g.Z,{shouldForwardProp:function(n){return function(n){return"ownerState"!==n&&"theme"!==n&&"sx"!==n&&"as"!==n&&"classes"!==n}(n)||"classes"===n},name:"MuiLoadingButton",slot:"Root",overridesResolver:function(n,o){return[o.root,o.startIconLoadingStart&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart),o.startIconLoadingStart),o.endIconLoadingEnd&&(0,i.Z)({},"& .".concat(p.endIconLoadingEnd),o.endIconLoadingEnd)]}})((function(n){var o=n.ownerState,t=n.theme;return(0,r.Z)((0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0}),"center"===o.loadingPosition&&(0,i.Z)({transition:t.transitions.create(["background-color","box-shadow","border-color"],{duration:t.transitions.duration.short})},"&.".concat(p.loading),{color:"transparent"}),"start"===o.loadingPosition&&o.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0,marginRight:-8}),"end"===o.loadingPosition&&o.fullWidth&&(0,i.Z)({},"& .".concat(p.startIconLoadingStart,", & .").concat(p.endIconLoadingEnd),{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0,marginLeft:-8}))})),b=(0,l.ZP)("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:function(n,o){var t=n.ownerState;return[o.loadingIndicator,o["loadingIndicator".concat((0,s.Z)(t.loadingPosition))]]}})((function(n){var o=n.theme,t=n.ownerState;return(0,r.Z)({position:"absolute",visibility:"visible",display:"flex"},"start"===t.loadingPosition&&("outlined"===t.variant||"contained"===t.variant)&&{left:14},"start"===t.loadingPosition&&"text"===t.variant&&{left:6},"center"===t.loadingPosition&&{left:"50%",transform:"translate(-50%)",color:o.palette.action.disabled},"end"===t.loadingPosition&&("outlined"===t.variant||"contained"===t.variant)&&{right:14},"end"===t.loadingPosition&&"text"===t.variant&&{right:6},"start"===t.loadingPosition&&t.fullWidth&&{position:"relative",left:-10},"end"===t.loadingPosition&&t.fullWidth&&{position:"relative",right:-10})})),I=e.forwardRef((function(n,o){var t=(0,u.Z)({props:n,name:"MuiLoadingButton"}),i=t.children,l=t.disabled,g=void 0!==l&&l,v=t.id,p=t.loading,I=void 0!==p&&p,j=t.loadingIndicator,S=t.loadingPosition,P=void 0===S?"center":S,L=t.variant,C=void 0===L?"text":L,w=(0,a.Z)(t,h),y=(0,c.Z)(v),k=null!=j?j:(0,m.jsx)(f.Z,{"aria-labelledby":y,color:"inherit",size:16}),M=(0,r.Z)({},t,{disabled:g,loading:I,loadingIndicator:k,loadingPosition:P,variant:C}),N=function(n){var o=n.loading,t=n.loadingPosition,i=n.classes,a={root:["root",o&&"loading"],startIcon:[o&&"startIconLoading".concat((0,s.Z)(t))],endIcon:[o&&"endIconLoading".concat((0,s.Z)(t))],loadingIndicator:["loadingIndicator",o&&"loadingIndicator".concat((0,s.Z)(t))]},e=(0,d.Z)(a,Z,i);return(0,r.Z)({},i,e)}(M);return(0,m.jsx)(x,(0,r.Z)({disabled:g||I,id:y,ref:o},w,{variant:C,classes:N,ownerState:M,children:"end"===M.loadingPosition?(0,m.jsxs)(e.Fragment,{children:[i,I&&(0,m.jsx)(b,{className:N.loadingIndicator,ownerState:M,children:k})]}):(0,m.jsxs)(e.Fragment,{children:[I&&(0,m.jsx)(b,{className:N.loadingIndicator,ownerState:M,children:k}),i]})}))}))},7887:function(n,o,t){t.d(o,{Z:function(){return Z}});var i=t(1048),a=t(32793),r=t(50390),e=t(44977),s=t(50076),c=t(8208),d=t(15573),l=t(10594);function u(n){return(0,l.Z)("MuiDialogActions",n)}(0,t(43349).Z)("MuiDialogActions",["root","spacing"]);var g=t(62559),f=["className","disableSpacing"],v=(0,c.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(n,o){var t=n.ownerState;return[o.root,!t.disableSpacing&&o.spacing]}})((function(n){var o=n.ownerState;return(0,a.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!o.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),Z=r.forwardRef((function(n,o){var t=(0,d.Z)({props:n,name:"MuiDialogActions"}),r=t.className,c=t.disableSpacing,l=void 0!==c&&c,Z=(0,i.Z)(t,f),p=(0,a.Z)({},t,{disableSpacing:l}),m=function(n){var o=n.classes,t={root:["root",!n.disableSpacing&&"spacing"]};return(0,s.Z)(t,u,o)}(p);return(0,g.jsx)(v,(0,a.Z)({className:(0,e.Z)(m.root,r),ownerState:p,ref:o},Z))}))},23473:function(n,o,t){t.d(o,{Z:function(){return Z}});var i=t(1048),a=t(32793),r=t(50390),e=t(50076),s=t(8208),c=t(15573),d=t(35477),l=t(10594);function u(n){return(0,l.Z)("MuiDialogContentText",n)}(0,t(43349).Z)("MuiDialogContentText",["root"]);var g=t(62559),f=["children"],v=(0,s.ZP)(d.Z,{shouldForwardProp:function(n){return(0,s.FO)(n)||"classes"===n},name:"MuiDialogContentText",slot:"Root",overridesResolver:function(n,o){return o.root}})({}),Z=r.forwardRef((function(n,o){var t=(0,c.Z)({props:n,name:"MuiDialogContentText"}),r=(0,i.Z)(t,f),s=function(n){var o=n.classes,t=(0,e.Z)({root:["root"]},u,o);return(0,a.Z)({},o,t)}(r);return(0,g.jsx)(v,(0,a.Z)({component:"p",variant:"body1",color:"text.secondary",ref:o,ownerState:r},t,{classes:s}))}))}}]); +//# sourceMappingURL=9679.eb81d633.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/9679.2b8424ba.chunk.js.map b/portal-ui/build/static/js/9679.eb81d633.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/9679.2b8424ba.chunk.js.map rename to portal-ui/build/static/js/9679.eb81d633.chunk.js.map index 3ae4b8f29..cd5d4cf05 100644 --- a/portal-ui/build/static/js/9679.2b8424ba.chunk.js.map +++ b/portal-ui/build/static/js/9679.eb81d633.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/9679.2b8424ba.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/EnableVersioningModal.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","../node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","../node_modules/@mui/lab/LoadingButton/LoadingButton.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport api from \"../../../../common/api\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmModalIcon } from \"../../../../icons\";\n\ninterface IVersioningEventProps {\n closeVersioningModalAndRefresh: (refresh: boolean) => void;\n modalOpen: boolean;\n selectedBucket: string;\n versioningCurrentState: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst EnableVersioningModal = ({\n closeVersioningModalAndRefresh,\n modalOpen,\n selectedBucket,\n versioningCurrentState,\n setErrorSnackMessage,\n}: IVersioningEventProps) => {\n const [versioningLoading, setVersioningLoading] = useState(false);\n\n const enableVersioning = () => {\n if (versioningLoading) {\n return;\n }\n setVersioningLoading(true);\n\n api\n .invoke(\"PUT\", `/api/v1/buckets/${selectedBucket}/versioning`, {\n versioning: !versioningCurrentState,\n })\n .then(() => {\n setVersioningLoading(false);\n closeVersioningModalAndRefresh(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setVersioningLoading(false);\n setErrorSnackMessage(err);\n });\n };\n\n return (\n }\n onConfirm={enableVersioning}\n confirmButtonProps={{\n color: \"primary\",\n variant: \"contained\",\n }}\n onClose={() => {\n closeVersioningModalAndRefresh(false);\n }}\n confirmationContent={\n \n Are you sure you want to{\" \"}\n {versioningCurrentState ? \"disable\" : \"enable\"}{\" \"}\n versioning for this bucket?\n {versioningCurrentState && (\n \n
\n
\n File versions won't be automatically deleted.\n
\n )}\n
\n }\n />\n );\n};\n\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default connector(EnableVersioningModal);\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLoadingButtonUtilityClass(slot) {\n return generateUtilityClass('MuiLoadingButton', slot);\n}\nconst loadingButtonClasses = generateUtilityClasses('MuiLoadingButton', ['root', 'loading', 'loadingIndicator', 'loadingIndicatorCenter', 'loadingIndicatorStart', 'loadingIndicatorEnd', 'endIconLoadingEnd', 'startIconLoadingStart']);\nexport default loadingButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"disabled\", \"id\", \"loading\", \"loadingIndicator\", \"loadingPosition\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@mui/utils';\nimport { capitalize, unstable_useId as useId } from '@mui/material/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading'],\n startIcon: [loading && `startIconLoading${capitalize(loadingPosition)}`],\n endIcon: [loading && `endIconLoading${capitalize(loadingPosition)}`],\n loadingIndicator: ['loadingIndicator', loading && `loadingIndicator${capitalize(loadingPosition)}`]\n };\n const composedClasses = composeClasses(slots, getLoadingButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n}; // TODO use `import { rootShouldForwardProp } from '../styles/styled';` once move to core\n\n\nconst rootShouldForwardProp = prop => prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as' && prop !== 'classes';\n\nconst LoadingButtonRoot = styled(Button, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiLoadingButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root, styles.startIconLoadingStart && {\n [`& .${loadingButtonClasses.startIconLoadingStart}`]: styles.startIconLoadingStart\n }, styles.endIconLoadingEnd && {\n [`& .${loadingButtonClasses.endIconLoadingEnd}`]: styles.endIconLoadingEnd\n }];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n}, ownerState.loadingPosition === 'center' && {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${loadingButtonClasses.loading}`]: {\n color: 'transparent'\n }\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginRight: -8\n }\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginLeft: -8\n }\n}));\nconst LoadingButtonLoadingIndicator = styled('div', {\n name: 'MuiLoadingButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.loadingIndicator, styles[`loadingIndicator${capitalize(ownerState.loadingPosition)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'absolute',\n visibility: 'visible',\n display: 'flex'\n}, ownerState.loadingPosition === 'start' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n left: 14\n}, ownerState.loadingPosition === 'start' && ownerState.variant === 'text' && {\n left: 6\n}, ownerState.loadingPosition === 'center' && {\n left: '50%',\n transform: 'translate(-50%)',\n color: theme.palette.action.disabled\n}, ownerState.loadingPosition === 'end' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n right: 14\n}, ownerState.loadingPosition === 'end' && ownerState.variant === 'text' && {\n right: 6\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n position: 'relative',\n left: -10\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n position: 'relative',\n right: -10\n}));\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLoadingButton'\n });\n\n const {\n children,\n disabled = false,\n id: idProp,\n loading = false,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp != null ? loadingIndicatorProp : /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n\n const ownerState = _extends({}, props, {\n disabled,\n loading,\n loadingIndicator,\n loadingPosition,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LoadingButtonRoot, _extends({\n disabled: disabled || loading,\n id: id,\n ref: ref\n }, other, {\n variant: variant,\n classes: classes,\n ownerState: ownerState,\n children: ownerState.loadingPosition === 'end' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children, loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n }), children]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LoadingButton.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * @ignore\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the loading indicator is shown.\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default we render a `CircularProgress` that is labelled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: chainPropTypes(PropTypes.oneOf(['start', 'end', 'center']), props => {\n if (props.loadingPosition === 'start' && !props.startIcon) {\n return new Error(`MUI: The loadingPosition=\"start\" should be used in combination with startIcon.`);\n }\n\n if (props.loadingPosition === 'end' && !props.endIcon) {\n return new Error(`MUI: The loadingPosition=\"end\" should be used in combination with endIcon.`);\n }\n\n return null;\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes.oneOf(['contained', 'outlined', 'text'])\n} : void 0;\nexport default LoadingButton;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n\n const ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * 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 DialogContentText;"],"names":["connector","connect","setErrorSnackMessage","closeVersioningModalAndRefresh","modalOpen","selectedBucket","versioningCurrentState","useState","versioningLoading","setVersioningLoading","title","confirmText","isOpen","isLoading","titleIcon","onConfirm","api","versioning","then","catch","err","confirmButtonProps","color","variant","onClose","confirmationContent","id","Fragment","withStyles","theme","createStyles","deleteDialogStyles","onCancel","classes","cancelText","cancelButtonProps","open","event","reason","className","root","sx","padding","titleText","closeContainer","closeButton","onClick","disableRipple","size","content","actions","cancelButton","disabled","type","confirmButton","loading","loadingPosition","startIcon","autoFocus","getLoadingButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","LoadingButtonRoot","styled","Button","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","startIconLoadingStart","loadingButtonClasses","endIconLoadingEnd","ownerState","_extends","transition","transitions","create","duration","short","opacity","fullWidth","marginRight","marginLeft","LoadingButtonLoadingIndicator","loadingIndicator","capitalize","position","visibility","display","left","transform","palette","action","right","React","inProps","ref","useThemeProps","children","idProp","loadingIndicatorProp","other","_objectWithoutPropertiesLoose","useId","_jsx","CircularProgress","slots","endIcon","composedClasses","composeClasses","useUtilityClasses","_jsxs","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","spacing","alignItems","justifyContent","flex","clsx","getDialogContentTextUtilityClass","DialogContentTextRoot","Typography","component"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/9679.eb81d633.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/EnableVersioningModal.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","../node_modules/@mui/lab/LoadingButton/loadingButtonClasses.js","../node_modules/@mui/lab/LoadingButton/LoadingButton.js","../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../node_modules/@mui/material/DialogActions/DialogActions.js","../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../node_modules/@mui/material/DialogContentText/DialogContentText.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport api from \"../../../../common/api\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmModalIcon } from \"../../../../icons\";\n\ninterface IVersioningEventProps {\n closeVersioningModalAndRefresh: (refresh: boolean) => void;\n modalOpen: boolean;\n selectedBucket: string;\n versioningCurrentState: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst EnableVersioningModal = ({\n closeVersioningModalAndRefresh,\n modalOpen,\n selectedBucket,\n versioningCurrentState,\n setErrorSnackMessage,\n}: IVersioningEventProps) => {\n const [versioningLoading, setVersioningLoading] = useState(false);\n\n const enableVersioning = () => {\n if (versioningLoading) {\n return;\n }\n setVersioningLoading(true);\n\n api\n .invoke(\"PUT\", `/api/v1/buckets/${selectedBucket}/versioning`, {\n versioning: !versioningCurrentState,\n })\n .then(() => {\n setVersioningLoading(false);\n closeVersioningModalAndRefresh(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setVersioningLoading(false);\n setErrorSnackMessage(err);\n });\n };\n\n return (\n }\n onConfirm={enableVersioning}\n confirmButtonProps={{\n color: \"primary\",\n variant: \"contained\",\n }}\n onClose={() => {\n closeVersioningModalAndRefresh(false);\n }}\n confirmationContent={\n \n Are you sure you want to{\" \"}\n {versioningCurrentState ? \"disable\" : \"enable\"}{\" \"}\n versioning for this bucket?\n {versioningCurrentState && (\n \n
\n
\n File versions won't be automatically deleted.\n
\n )}\n
\n }\n />\n );\n};\n\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default connector(EnableVersioningModal);\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLoadingButtonUtilityClass(slot) {\n return generateUtilityClass('MuiLoadingButton', slot);\n}\nconst loadingButtonClasses = generateUtilityClasses('MuiLoadingButton', ['root', 'loading', 'loadingIndicator', 'loadingIndicatorCenter', 'loadingIndicatorStart', 'loadingIndicatorEnd', 'endIconLoadingEnd', 'startIconLoadingStart']);\nexport default loadingButtonClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"disabled\", \"id\", \"loading\", \"loadingIndicator\", \"loadingPosition\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { chainPropTypes } from '@mui/utils';\nimport { capitalize, unstable_useId as useId } from '@mui/material/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n loading,\n loadingPosition,\n classes\n } = ownerState;\n const slots = {\n root: ['root', loading && 'loading'],\n startIcon: [loading && `startIconLoading${capitalize(loadingPosition)}`],\n endIcon: [loading && `endIconLoading${capitalize(loadingPosition)}`],\n loadingIndicator: ['loadingIndicator', loading && `loadingIndicator${capitalize(loadingPosition)}`]\n };\n const composedClasses = composeClasses(slots, getLoadingButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n}; // TODO use `import { rootShouldForwardProp } from '../styles/styled';` once move to core\n\n\nconst rootShouldForwardProp = prop => prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as' && prop !== 'classes';\n\nconst LoadingButtonRoot = styled(Button, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiLoadingButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root, styles.startIconLoadingStart && {\n [`& .${loadingButtonClasses.startIconLoadingStart}`]: styles.startIconLoadingStart\n }, styles.endIconLoadingEnd && {\n [`& .${loadingButtonClasses.endIconLoadingEnd}`]: styles.endIconLoadingEnd\n }];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0\n }\n}, ownerState.loadingPosition === 'center' && {\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n [`&.${loadingButtonClasses.loading}`]: {\n color: 'transparent'\n }\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginRight: -8\n }\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n [`& .${loadingButtonClasses.startIconLoadingStart}, & .${loadingButtonClasses.endIconLoadingEnd}`]: {\n transition: theme.transitions.create(['opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n marginLeft: -8\n }\n}));\nconst LoadingButtonLoadingIndicator = styled('div', {\n name: 'MuiLoadingButton',\n slot: 'LoadingIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.loadingIndicator, styles[`loadingIndicator${capitalize(ownerState.loadingPosition)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'absolute',\n visibility: 'visible',\n display: 'flex'\n}, ownerState.loadingPosition === 'start' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n left: 14\n}, ownerState.loadingPosition === 'start' && ownerState.variant === 'text' && {\n left: 6\n}, ownerState.loadingPosition === 'center' && {\n left: '50%',\n transform: 'translate(-50%)',\n color: theme.palette.action.disabled\n}, ownerState.loadingPosition === 'end' && (ownerState.variant === 'outlined' || ownerState.variant === 'contained') && {\n right: 14\n}, ownerState.loadingPosition === 'end' && ownerState.variant === 'text' && {\n right: 6\n}, ownerState.loadingPosition === 'start' && ownerState.fullWidth && {\n position: 'relative',\n left: -10\n}, ownerState.loadingPosition === 'end' && ownerState.fullWidth && {\n position: 'relative',\n right: -10\n}));\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLoadingButton'\n });\n\n const {\n children,\n disabled = false,\n id: idProp,\n loading = false,\n loadingIndicator: loadingIndicatorProp,\n loadingPosition = 'center',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const id = useId(idProp);\n const loadingIndicator = loadingIndicatorProp != null ? loadingIndicatorProp : /*#__PURE__*/_jsx(CircularProgress, {\n \"aria-labelledby\": id,\n color: \"inherit\",\n size: 16\n });\n\n const ownerState = _extends({}, props, {\n disabled,\n loading,\n loadingIndicator,\n loadingPosition,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LoadingButtonRoot, _extends({\n disabled: disabled || loading,\n id: id,\n ref: ref\n }, other, {\n variant: variant,\n classes: classes,\n ownerState: ownerState,\n children: ownerState.loadingPosition === 'end' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children, loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n })]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [loading && /*#__PURE__*/_jsx(LoadingButtonLoadingIndicator, {\n className: classes.loadingIndicator,\n ownerState: ownerState,\n children: loadingIndicator\n }), children]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LoadingButton.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n\n /**\n * @ignore\n */\n id: PropTypes.string,\n\n /**\n * If `true`, the loading indicator is shown.\n * @default false\n */\n loading: PropTypes.bool,\n\n /**\n * Element placed before the children if the button is in loading state.\n * The node should contain an element with `role=\"progressbar\"` with an accessible name.\n * By default we render a `CircularProgress` that is labelled by the button itself.\n * @default \n */\n loadingIndicator: PropTypes.node,\n\n /**\n * The loading indicator can be positioned on the start, end, or the center of the button.\n * @default 'center'\n */\n loadingPosition: chainPropTypes(PropTypes.oneOf(['start', 'end', 'center']), props => {\n if (props.loadingPosition === 'start' && !props.startIcon) {\n return new Error(`MUI: The loadingPosition=\"start\" should be used in combination with startIcon.`);\n }\n\n if (props.loadingPosition === 'end' && !props.endIcon) {\n return new Error(`MUI: The loadingPosition=\"end\" should be used in combination with endIcon.`);\n }\n\n return null;\n }),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes.oneOf(['contained', 'outlined', 'text'])\n} : void 0;\nexport default LoadingButton;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\n\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(:first-of-type)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n\n const ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * 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 DialogContentText;"],"names":["connector","connect","setErrorSnackMessage","closeVersioningModalAndRefresh","modalOpen","selectedBucket","versioningCurrentState","useState","versioningLoading","setVersioningLoading","title","confirmText","isOpen","isLoading","titleIcon","onConfirm","api","versioning","then","catch","err","confirmButtonProps","color","variant","onClose","confirmationContent","id","Fragment","withStyles","theme","createStyles","deleteDialogStyles","onCancel","classes","cancelText","cancelButtonProps","open","event","reason","className","root","sx","padding","titleText","closeContainer","closeButton","onClick","disableRipple","size","content","actions","cancelButton","disabled","type","confirmButton","loading","loadingPosition","startIcon","autoFocus","getLoadingButtonUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","LoadingButtonRoot","styled","Button","shouldForwardProp","prop","rootShouldForwardProp","name","overridesResolver","props","styles","startIconLoadingStart","loadingButtonClasses","endIconLoadingEnd","ownerState","_extends","transition","transitions","create","duration","short","opacity","fullWidth","marginRight","marginLeft","LoadingButtonLoadingIndicator","loadingIndicator","capitalize","position","visibility","display","left","transform","palette","action","right","React","inProps","ref","useThemeProps","children","idProp","loadingIndicatorProp","other","_objectWithoutPropertiesLoose","useId","_jsx","CircularProgress","slots","endIcon","composedClasses","composeClasses","useUtilityClasses","_jsxs","getDialogActionsUtilityClass","DialogActionsRoot","disableSpacing","spacing","alignItems","justifyContent","flex","clsx","getDialogContentTextUtilityClass","DialogContentTextRoot","Typography","component"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/9779.0e8be0cc.chunk.js b/portal-ui/build/static/js/9779.7ac7cbaa.chunk.js similarity index 87% rename from portal-ui/build/static/js/9779.0e8be0cc.chunk.js rename to portal-ui/build/static/js/9779.7ac7cbaa.chunk.js index 36aa5eda0..fecb5fd86 100644 --- a/portal-ui/build/static/js/9779.0e8be0cc.chunk.js +++ b/portal-ui/build/static/js/9779.7ac7cbaa.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[9779],{37882:function(e,n,t){var a=t(18489),i=t(50390),r=t(62559);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function t(t){return(0,r.jsx)(i.Suspense,{fallback:n,children:(0,r.jsx)(e,(0,a.Z)({},t))})}return t}},35721:function(e,n,t){t(50390);var a=t(34424),i=t(25594),r=t(86509),s=t(4285),l=t(35477),o=t(95467),c=t(26805),d=t(44078),m=t(5265),p=t(11387),x=t(62559),f={toggleList:m.kQ},g=(0,a.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),f);n.Z=g((0,s.Z)((function(e){return(0,r.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,a=e.actions,r=e.sidebarOpen,s=e.operatorMode,m=e.managerObjects,f=e.toggleList,g=e.middleComponent;return(0,x.jsxs)(i.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,x.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:g?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!r&&(0,x.jsx)("div",{className:n.logo,children:s?(0,x.jsx)(c.Z,{}):(0,x.jsx)(d.Z,{})}),(0,x.jsx)(l.Z,{variant:"h4",className:n.labelStyle,children:t})]}),g&&(0,x.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:g}),(0,x.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:g?3:6,className:n.rightMenu,children:[a&&a,m&&m.length>0&&(0,x.jsx)(o.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},size:"large",children:(0,x.jsx)(p.gx,{})})]})]})})))},9779:function(e,n,t){t.r(n);var a=t(50390),i=t(35721),r=t(37882),s=t(62559),l=(0,r.Z)(a.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(892),t.e(3690),t.e(5399),t.e(7777),t.e(6147)]).then(t.bind(t,66147))})));n.default=function(){return(0,s.jsxs)(a.Fragment,{children:[(0,s.jsx)(i.Z,{label:"Notification Endpoints"}),(0,s.jsx)(l,{})]})}}}]); -//# sourceMappingURL=9779.0e8be0cc.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[9779],{37882:function(e,n,t){var a=t(18489),i=t(50390),r=t(62559);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function t(t){return(0,r.jsx)(i.Suspense,{fallback:n,children:(0,r.jsx)(e,(0,a.Z)({},t))})}return t}},35721:function(e,n,t){t(50390);var a=t(34424),i=t(25594),r=t(86509),s=t(4285),l=t(35477),o=t(95467),c=t(26805),d=t(44078),m=t(5265),p=t(98280),x=t(62559),f={toggleList:m.kQ},g=(0,a.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage}}),f);n.Z=g((0,s.Z)((function(e){return(0,r.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,a=e.actions,r=e.sidebarOpen,s=e.operatorMode,m=e.managerObjects,f=e.toggleList,g=e.middleComponent;return(0,x.jsxs)(i.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,x.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:g?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!r&&(0,x.jsx)("div",{className:n.logo,children:s?(0,x.jsx)(c.Z,{}):(0,x.jsx)(d.Z,{})}),(0,x.jsx)(l.Z,{variant:"h4",className:n.labelStyle,children:t})]}),g&&(0,x.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:g}),(0,x.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:g?3:6,className:n.rightMenu,children:[a&&a,m&&m.length>0&&(0,x.jsx)(o.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},size:"large",children:(0,x.jsx)(p.gx,{})})]})]})})))},9779:function(e,n,t){t.r(n);var a=t(50390),i=t(35721),r=t(37882),s=t(62559),l=(0,r.Z)(a.lazy((function(){return Promise.all([t.e(14),t.e(2066),t.e(3152),t.e(3690),t.e(5399),t.e(7777),t.e(6147)]).then(t.bind(t,66147))})));n.default=function(){return(0,s.jsxs)(a.Fragment,{children:[(0,s.jsx)(i.Z,{label:"Notification Endpoints"}),(0,s.jsx)(l,{})]})}}}]); +//# sourceMappingURL=9779.7ac7cbaa.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/9779.0e8be0cc.chunk.js.map b/portal-ui/build/static/js/9779.7ac7cbaa.chunk.js.map similarity index 98% rename from portal-ui/build/static/js/9779.0e8be0cc.chunk.js.map rename to portal-ui/build/static/js/9779.7ac7cbaa.chunk.js.map index d74007729..ae8aabd4f 100644 --- a/portal-ui/build/static/js/9779.0e8be0cc.chunk.js.map +++ b/portal-ui/build/static/js/9779.7ac7cbaa.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/9779.0e8be0cc.chunk.js","mappings":"kJAiCA,IAfA,SACEA,GAEC,IADDC,EACA,uDADsC,KAEtC,SAASC,EAAsBC,GAC7B,OACE,SAAC,EAAAC,SAAD,CAAUH,SAAUA,EAApB,UACE,SAACD,GAAD,UAAsBG,MAK5B,OAAOD,I,0JCmIHG,EAAqB,CACzBC,WAAAA,EAAAA,IAGIC,GAAYC,EAAAA,EAAAA,KAVD,SAACC,GAAD,MAAsB,CACrCC,YAAaD,EAAME,OAAOD,YAC1BE,aAAcH,EAAME,OAAOC,aAC3BC,eAAgBJ,EAAMK,cAAcC,cAAcC,mBAOhBX,GAEpC,IAAeE,GAAUU,EAAAA,EAAAA,IA7HV,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXC,gBAAiB,CACfC,MAAO,OACPC,UAAW,GACXC,QAAS,OACTC,gBAAiB,OACjBC,KAAM,EACNC,UAAW,8BAEbC,MAAO,CACLJ,QAAS,OACTK,eAAgB,aAChBC,WAAY,UAEdC,WAAY,CACVC,MAAO,OACPC,SAAU,GACVC,WAAY,IACZC,WAAY,GACZC,UAAW,GAEbC,UAAW,CACTC,UAAW,SAEbC,KAAM,CACJJ,WAAY,GACZK,KAAMrB,EAAMsB,QAAQC,QAAQC,KAC5B,cAAe,CACbrB,MAAO,MAGXsB,gBAAiB,CACfpB,QAAS,OACTK,eAAgB,SAChBC,WAAY,cA0FOZ,EAtFN,SAAC,GASA,IARlB2B,EAQiB,EARjBA,QACAjB,EAOiB,EAPjBA,MACAkB,EAMiB,EANjBA,QACAnC,EAKiB,EALjBA,YACAE,EAIiB,EAJjBA,aACAC,EAGiB,EAHjBA,eACAP,EAEiB,EAFjBA,WACAqC,EACiB,EADjBA,gBAEA,OACE,UAAC,KAAD,CACEG,WAAS,EACTC,UAAS,UAAKH,EAAQxB,gBAAb,gBACT4B,UAAU,MACVnB,WAAW,SAJb,WAME,UAAC,KAAD,CACEoB,MAAI,EACJC,GAAI,GACJC,GAAI,GACJC,GAAIT,EAAkB,EAAI,EAC1BI,UAAWH,EAAQjB,MACnB0B,GAAI,CACFC,WAAY,CAAC,OAAQ,OAAQ,IAAK,MAPtC,WAUI5C,IACA,gBAAKqC,UAAWH,EAAQN,KAAxB,SACG1B,GAAe,SAAC,IAAD,KAAmB,SAAC,IAAD,OAGvC,SAAC,IAAD,CAAY2C,QAAQ,KAAKR,UAAWH,EAAQd,WAA5C,SACGH,OAGJgB,IACC,SAAC,KAAD,CACEM,MAAI,EACJC,GAAI,GACJC,GAAI,GACJC,GAAI,EACJL,UAAWH,EAAQD,gBACnBU,GAAI,CAAElB,UAAW,CAAC,OAAQ,OAAQ,IAAK,MANzC,SAQGQ,KAGL,UAAC,KAAD,CACEM,MAAI,EACJC,GAAI,GACJC,GAAI,GACJC,GAAIT,EAAkB,EAAI,EAC1BI,UAAWH,EAAQR,UALrB,UAOGS,GAAWA,EACXhC,GAAkBA,EAAe2C,OAAS,IACzC,SAAC,IAAD,CACEzB,MAAM,UACN,aAAW,eACX0B,UAAU,OACVC,QAAS,WACPpD,KAEFqD,KAAK,QAPP,UASE,SAAC,KAAD,iB,4EC9HNC,GAA4BC,EAAAA,EAAAA,GAChCC,EAAAA,MAAW,kBAAM,4GAYnB,UAT8B,WAC5B,OACE,UAAC,EAAAC,SAAD,YACE,SAAC,IAAD,CAAYpC,MAAM,4BAClB,SAACiC,EAAD","sources":["screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/NotificationEndpoints/NotificationEndpoints.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n

\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 PageHeader from \"../Common/PageHeader/PageHeader\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\n\nconst ListNotificationEndpoints = withSuspense(\n React.lazy(() => import(\"./ListNotificationEndpoints\"))\n);\n\nconst NotificationEndpoints = () => {\n return (\n \n \n \n \n );\n};\n\nexport default NotificationEndpoints;\n"],"names":["WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","withStyles","theme","createStyles","headerContainer","width","minHeight","display","backgroundColor","left","boxShadow","label","justifyContent","alignItems","labelStyle","color","fontSize","fontWeight","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","classes","actions","container","className","direction","item","xs","sm","md","sx","paddingTop","variant","length","component","onClick","size","ListNotificationEndpoints","withSuspense","React","Fragment"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/9779.7ac7cbaa.chunk.js","mappings":"kJAiCA,IAfA,SACEA,GAEC,IADDC,EACA,uDADsC,KAEtC,SAASC,EAAsBC,GAC7B,OACE,SAAC,EAAAC,SAAD,CAAUH,SAAUA,EAApB,UACE,SAACD,GAAD,UAAsBG,MAK5B,OAAOD,I,0JCmIHG,EAAqB,CACzBC,WAAAA,EAAAA,IAGIC,GAAYC,EAAAA,EAAAA,KAVD,SAACC,GAAD,MAAsB,CACrCC,YAAaD,EAAME,OAAOD,YAC1BE,aAAcH,EAAME,OAAOC,aAC3BC,eAAgBJ,EAAMK,cAAcC,cAAcC,mBAOhBX,GAEpC,IAAeE,GAAUU,EAAAA,EAAAA,IA7HV,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXC,gBAAiB,CACfC,MAAO,OACPC,UAAW,GACXC,QAAS,OACTC,gBAAiB,OACjBC,KAAM,EACNC,UAAW,8BAEbC,MAAO,CACLJ,QAAS,OACTK,eAAgB,aAChBC,WAAY,UAEdC,WAAY,CACVC,MAAO,OACPC,SAAU,GACVC,WAAY,IACZC,WAAY,GACZC,UAAW,GAEbC,UAAW,CACTC,UAAW,SAEbC,KAAM,CACJJ,WAAY,GACZK,KAAMrB,EAAMsB,QAAQC,QAAQC,KAC5B,cAAe,CACbrB,MAAO,MAGXsB,gBAAiB,CACfpB,QAAS,OACTK,eAAgB,SAChBC,WAAY,cA0FOZ,EAtFN,SAAC,GASA,IARlB2B,EAQiB,EARjBA,QACAjB,EAOiB,EAPjBA,MACAkB,EAMiB,EANjBA,QACAnC,EAKiB,EALjBA,YACAE,EAIiB,EAJjBA,aACAC,EAGiB,EAHjBA,eACAP,EAEiB,EAFjBA,WACAqC,EACiB,EADjBA,gBAEA,OACE,UAAC,KAAD,CACEG,WAAS,EACTC,UAAS,UAAKH,EAAQxB,gBAAb,gBACT4B,UAAU,MACVnB,WAAW,SAJb,WAME,UAAC,KAAD,CACEoB,MAAI,EACJC,GAAI,GACJC,GAAI,GACJC,GAAIT,EAAkB,EAAI,EAC1BI,UAAWH,EAAQjB,MACnB0B,GAAI,CACFC,WAAY,CAAC,OAAQ,OAAQ,IAAK,MAPtC,WAUI5C,IACA,gBAAKqC,UAAWH,EAAQN,KAAxB,SACG1B,GAAe,SAAC,IAAD,KAAmB,SAAC,IAAD,OAGvC,SAAC,IAAD,CAAY2C,QAAQ,KAAKR,UAAWH,EAAQd,WAA5C,SACGH,OAGJgB,IACC,SAAC,KAAD,CACEM,MAAI,EACJC,GAAI,GACJC,GAAI,GACJC,GAAI,EACJL,UAAWH,EAAQD,gBACnBU,GAAI,CAAElB,UAAW,CAAC,OAAQ,OAAQ,IAAK,MANzC,SAQGQ,KAGL,UAAC,KAAD,CACEM,MAAI,EACJC,GAAI,GACJC,GAAI,GACJC,GAAIT,EAAkB,EAAI,EAC1BI,UAAWH,EAAQR,UALrB,UAOGS,GAAWA,EACXhC,GAAkBA,EAAe2C,OAAS,IACzC,SAAC,IAAD,CACEzB,MAAM,UACN,aAAW,eACX0B,UAAU,OACVC,QAAS,WACPpD,KAEFqD,KAAK,QAPP,UASE,SAAC,KAAD,iB,4EC9HNC,GAA4BC,EAAAA,EAAAA,GAChCC,EAAAA,MAAW,kBAAM,6GAYnB,UAT8B,WAC5B,OACE,UAAC,EAAAC,SAAD,YACE,SAAC,IAAD,CAAYpC,MAAM,4BAClB,SAACiC,EAAD","sources":["screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/NotificationEndpoints/NotificationEndpoints.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n}: IPageHeader) => {\n return (\n \n \n {!sidebarOpen && (\n

\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 PageHeader from \"../Common/PageHeader/PageHeader\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\n\nconst ListNotificationEndpoints = withSuspense(\n React.lazy(() => import(\"./ListNotificationEndpoints\"))\n);\n\nconst NotificationEndpoints = () => {\n return (\n \n \n \n \n );\n};\n\nexport default NotificationEndpoints;\n"],"names":["WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","withStyles","theme","createStyles","headerContainer","width","minHeight","display","backgroundColor","left","boxShadow","label","justifyContent","alignItems","labelStyle","color","fontSize","fontWeight","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","classes","actions","container","className","direction","item","xs","sm","md","sx","paddingTop","variant","length","component","onClick","size","ListNotificationEndpoints","withSuspense","React","Fragment"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/9807.3f033821.chunk.js b/portal-ui/build/static/js/9807.3f033821.chunk.js deleted file mode 100644 index 49ca74e2d..000000000 --- a/portal-ui/build/static/js/9807.3f033821.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[9807,4109],{29316:function(e,n,t){t(50390);var r=t(6369),o=t(86509),i=t(4285),a=t(11387),s=t(62559);n.Z=(0,i.Z)((function(e){return(0,o.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var n=e.to,t=e.label,o=e.classes,i=e.className,c=e.executeOnClick;return(0,s.jsxs)(r.rU,{to:n,className:"".concat(o.link," ").concat(i||""),onClick:function(){c&&c()},children:[(0,s.jsx)("div",{className:o.icon,children:(0,s.jsx)(a.xN,{})}),(0,s.jsx)("div",{className:o.label,children:t})]})}))},47664:function(e,n,t){t.r(n);var r=t(23430),o=(t(50390),t(34424)),i=t(86509),a=t(4285),s=t(23473),c=t(44149),l=t(21639),u=t(60656),d=t(11387),h=t(62559),m={setErrorSnackMessage:c.Ih},f=(0,o.$j)(null,m);n.default=(0,a.Z)((function(e){return(0,i.Z)({wrapText:{maxWidth:"200px",whiteSpace:"normal",wordWrap:"break-word"}})}))(f((function(e){var n=e.classes,t=e.closeDeleteModalAndRefresh,o=e.deleteOpen,i=e.selectedServiceAccount,a=e.setErrorSnackMessage,c=(0,l.Z)((function(){return t(!0)}),(function(e){return a(e)})),m=(0,r.Z)(c,2),f=m[0],p=m[1];if(!i)return null;return(0,h.jsx)(u.Z,{title:"Delete Service Account",confirmText:"Delete",isOpen:o,titleIcon:(0,h.jsx)(d.Nv,{}),isLoading:f,onConfirm:function(){p("DELETE","/api/v1/service-accounts/".concat(i))},onClose:function(){return t(!1)},confirmationContent:(0,h.jsxs)(s.Z,{children:["Are you sure you want to delete service account"," ",(0,h.jsx)("b",{className:n.wrapText,children:i}),"?"]})})})))},11835:function(e,n,t){var r=t(18489),o=t(83738),i=(t(50390),t(86509)),a=t(4285),s=t(62559),c=["classes","children"];n.Z=(0,a.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 n=e.classes,t=e.children,i=(0,o.Z)(e,c);return(0,s.jsx)("button",(0,r.Z)((0,r.Z)({},i),{},{className:n.root,children:t}))}))},39080:function(e,n,t){t.r(n),t.d(n,{default:function(){return S}});var r=t(18489),o=t(35531),i=t(50390),a=t(38342),s=t.n(a),c=t(86509),l=t(4285),u=t(66946),d=t(76352),h=t(25594),m=t(58217),f=t(65771),p=t(70758),x=t(33034),Z=t.n(x),g=t(11387),v=t(72462),b=t(62559),j=(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,r.Z)((0,r.Z)({},v.YI.inputLabel),{},{fontSize:".8rem"})})}))((function(e){var n=e.label,t=void 0===n?"":n,r=e.value,o=void 0===r?"":r,i=e.classes,a=void 0===i?{}:i;return(0,b.jsxs)("div",{className:a.container,children:[(0,b.jsxs)("div",{className:a.inputLabel,children:[t,":"]}),(0,b.jsx)("div",{className:a.inputWithCopy,children:(0,b.jsx)(m.Z,{value:o,readOnly:!0,endAdornment:(0,b.jsx)(f.Z,{position:"end",children:(0,b.jsx)(Z(),{text:o,children:(0,b.jsx)(p.Z,{"aria-label":"copy",tooltip:"Copy",onClick:function(){},onMouseDown:function(){},edge:"end",children:(0,b.jsx)(g.TI,{})})})})})})]})})),y=t(47424),S=(0,l.Z)((function(e){return(0,c.Z)({warningBlock:{color:"red",fontSize:".85rem",margin:".5rem 0 .5rem 0",display:"flex",alignItems:"center","& svg ":{marginRight:".3rem",height:16,width:16}},credentialTitle:{padding:".8rem 0 0 0",fontWeight:600,fontSize:".9rem"},buttonContainer:{textAlign:"right",marginTop:"1rem"},credentialsPanel:{overflowY:"auto",maxHeight:350},promptTitle:{display:"flex",alignItems:"center"},buttonSpacer:{marginRight:".9rem"},promptIcon:{marginRight:".1rem",display:"flex",alignItems:"center",height:"2rem",width:"2rem"}})}))((function(e){var n=e.classes,t=e.newServiceAccount,a=e.open,c=e.closeModal,l=e.entity;if(!t)return null;var m=s()(t,"console",null),f=s()(t,"idp",!1);return(0,b.jsx)(d.Z,{modalOpen:a,onClose:function(){c()},title:(0,b.jsx)("div",{className:n.promptTitle,children:(0,b.jsxs)("div",{children:["New ",l," Created"]})}),titleIcon:(0,b.jsx)(g.tV,{}),children:(0,b.jsxs)(h.ZP,{container:!0,children:[(0,b.jsxs)(h.ZP,{item:!0,xs:12,className:n.formScrollable,children:["A new ",l," has been created with the following details:",!f&&m&&(0,b.jsx)(i.Fragment,{children:(0,b.jsxs)(h.ZP,{item:!0,xs:12,className:n.credentialsPanel,children:[(0,b.jsx)("div",{className:n.credentialTitle,children:"Console Credentials"}),Array.isArray(m)&&m.map((function(e,n){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(j,{label:"Access Key",value:e.accessKey}),(0,b.jsx)(j,{label:"Secret Key",value:e.secretKey})]})})),!Array.isArray(m)&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(j,{label:"Access Key",value:m.accessKey}),(0,b.jsx)(j,{label:"Secret Key",value:m.secretKey})]})]})}),f?(0,b.jsx)("div",{className:n.warningBlock,children:"Please Login via the configured external identity provider."}):(0,b.jsxs)("div",{className:n.warningBlock,children:[(0,b.jsx)(y.Z,{}),(0,b.jsx)("span",{children:"Write these down, as this is the only time the secret will be displayed."})]})]}),(0,b.jsxs)(h.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[(0,b.jsx)(u.Z,{variant:"outlined",className:n.buttonSpacer,onClick:function(){c()},color:"primary",children:"Done"}),!f&&(0,b.jsx)(u.Z,{onClick:function(){var e={};if(m)if(Array.isArray(m)){var n=m.map((function(e){return{access_key:e.accessKey,secret_key:e.secretKey}}));e={console:(0,o.Z)(n)}}else e={console:[{access_key:m.accessKey,secret_key:m.secretKey}]};!function(e,n){var t=document.createElement("a");t.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(n)),t.setAttribute("download",e),t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)}("credentials.json",JSON.stringify((0,r.Z)({},e)))},endIcon:(0,b.jsx)(g._8,{}),variant:"contained",color:"primary",children:"Download"})]})]})})}))},70014:function(e,n,t){var r=t(35531),o=t(23430),i=t(18489),a=t(50390),s=t(25594),c=(t(2574),t(20704)),l=t(54880),u=t(21563),d=t(36297),h=t(14602),m=t(94187),f=t(56805),p=t(86509),x=t(4285),Z=t(97538),g=t(72462),v=t(11387),b=t(53224),j=t(33034),y=t.n(j),S=t(53357),C=t(62559),k={json:u.AV,yaml:function(){return l.i.define(d.r)}},w=S.tk.theme({"&":{backgroundColor:"#FBFAFA"},".cm-content":{caretColor:"#05122B"},"&.cm-focused .cm-cursor":{borderLeftColor:"#05122B"},".cm-gutters":{backgroundColor:"#FBFAFA",color:"#000000",border:"none"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px",color:"#2781B0","& .\u037cc":{color:"#C83B51"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#dde1f1"},".cm-matchingBracket":{backgroundColor:"#05122B",color:"#ffffff"},".cm-selectionMatch":{backgroundColor:"#ebe7f1"},".cm-selectionLayer":{fontWeight:500}," .cm-selectionBackground":{backgroundColor:"#a180c7",color:"#ffffff"}},{dark:!1}),A=S.tk.theme({"&":{backgroundColor:"#282a36",color:"#ffb86c"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px","& .\u037cd, & .\u037cc":{color:"#8e6cef"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#44475a"},".cm-matchingBracket":{backgroundColor:"#842de5",color:"#ff79c6"},".cm-selectionLayer .cm-selectionBackground":{backgroundColor:"green"}},{dark:!0});n.Z=(0,x.Z)((function(e){return(0,p.Z)((0,i.Z)((0,i.Z)({},g.YI),{},{inputLabel:(0,i.Z)((0,i.Z)({},g.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.value,t=e.label,i=void 0===t?"":t,l=e.tooltip,u=void 0===l?"":l,d=e.mode,p=void 0===d?"json":d,x=e.classes,g=e.onBeforeChange,j=e.readOnly,S=void 0!==j&&j,N=e.editorHeight,P=void 0===N?"250px":N,E=(0,a.useState)(!1),M=(0,o.Z)(E,2),F=M[0],R=M[1],I=[];return k[p]&&(I=[].concat((0,r.Z)(I),[k[p]()])),(0,C.jsxs)(a.Fragment,{children:[(0,C.jsxs)(h.Z,{className:x.inputLabel,children:[(0,C.jsx)("span",{children:i}),""!==u&&(0,C.jsx)("div",{className:x.tooltipContainer,children:(0,C.jsx)(m.Z,{title:u,placement:"top-start",children:(0,C.jsx)("div",{className:x.tooltip,children:(0,C.jsx)(Z.Z,{})})})})]}),(0,C.jsx)(s.ZP,{item:!0,xs:12,children:(0,C.jsx)("br",{})}),(0,C.jsxs)(s.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea"},children:[(0,C.jsx)(s.ZP,{item:!0,xs:12,children:(0,C.jsx)(c.ZP,{value:n,theme:F?A:w,extensions:I,editable:!S,basicSetup:!0,height:P,onChange:function(e,n){g(null,null,e)}})}),(0,C.jsx)(s.ZP,{item:!0,xs:12,sx:{borderTop:"1px solid #eaeaea",background:F?"#282c34":"#f7f7f7"},children:(0,C.jsxs)(f.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,C.jsx)(b.Z,{tooltip:"Change theme",onClick:function(){R(!F)},text:"",icon:(0,C.jsx)(v.EO,{}),color:"primary",variant:"outlined"}),(0,C.jsx)(y(),{text:n,children:(0,C.jsx)(b.Z,{tooltip:"Copy to Clipboard",onClick:function(){},text:"",icon:(0,C.jsx)(v.TI,{}),color:"primary",variant:"outlined"})})]})})]})]})}))},92440:function(e,n,t){var r=t(36222),o=t(18489),i=t(50390),a=t(86509),s=t(4285),c=t(49056),l=t(14602),u=t(94187),d=t(35477),h=t(25594),m=t(72462),f=t(97538),p=t(44977),x=t(62559),Z=(0,s.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(c.Z);n.Z=(0,s.Z)((function(e){return(0,a.Z)((0,o.Z)((0,o.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},m.OR),m.YI))}))((function(e){var n=e.label,t=void 0===n?"":n,o=e.onChange,a=e.value,s=e.id,c=e.name,m=e.checked,g=void 0!==m&&m,v=e.disabled,b=void 0!==v&&v,j=e.switchOnly,y=void 0!==j&&j,S=e.tooltip,C=void 0===S?"":S,k=e.description,w=void 0===k?"":k,A=e.classes,N=e.indicatorLabels,P=(0,x.jsxs)(i.Fragment,{children:[!y&&(0,x.jsx)("span",{className:(0,p.Z)(A.indicatorLabel,(0,r.Z)({},A.indicatorLabelOn,!g)),children:N&&N.length>1?N[1]:"OFF"}),(0,x.jsx)(Z,{checked:g,onChange:o,color:"primary",name:c,inputProps:{"aria-label":"primary checkbox"},disabled:b,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:a}),!y&&(0,x.jsx)("span",{className:(0,p.Z)(A.indicatorLabel,(0,r.Z)({},A.indicatorLabelOn,g)),children:N?N[0]:"ON"})]});return y?P:(0,x.jsx)("div",{className:A.divContainer,children:(0,x.jsxs)(h.ZP,{container:!0,alignItems:"center",children:[(0,x.jsx)(h.ZP,{item:!0,xs:!0,children:(0,x.jsxs)(h.ZP,{container:!0,children:[(0,x.jsx)(h.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==t&&(0,x.jsxs)(l.Z,{htmlFor:s,className:A.inputLabel,children:[(0,x.jsx)("span",{children:t}),""!==C&&(0,x.jsx)("div",{className:A.tooltipContainer,children:(0,x.jsx)(u.Z,{title:C,placement:"top-start",children:(0,x.jsx)("div",{className:A.tooltip,children:(0,x.jsx)(f.Z,{})})})})]})}),(0,x.jsx)(h.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==w&&(0,x.jsx)(d.Z,{component:"p",className:A.fieldDescription,children:w})})]})}),(0,x.jsx)(h.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:A.switchContainer,children:P})]})})}))},48122:function(e,n,t){t(50390);var r=t(86509),o=t(4285),i=t(62559);n.Z=(0,o.Z)((function(e){return(0,r.Z)({root:{padding:0,margin:0,fontSize:".9rem"}})}))((function(e){var n=e.classes,t=e.children;return(0,i.jsx)("h1",{className:n.root,children:t})}))},62702:function(e,n,t){t(50390);var r=t(25594),o=t(86509),i=t(4285),a=t(62559);n.Z=(0,i.Z)((function(e){return(0,o.Z)({headerBarIcon:{marginRight:".7rem",color:e.palette.primary.main,"& .min-icon":{width:44,height:44}},headerBarSubheader:{color:"grey","@media (max-width: 900px)":{maxWidth:200}},screenTitle:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"1rem",borderBottom:"1px solid #EAEAEA","@media (max-width: 600px)":{flexFlow:"column"}},titleColumn:{height:"auto",justifyContent:"center",display:"flex",flexFlow:"column",alignItems:"flex-start","& h1":{fontSize:19}},leftItems:{display:"flex",alignItems:"center","@media (max-width: 600px)":{flexFlow:"column"}},rightItems:{display:"flex",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.icon,o=e.title,i=e.subTitle,s=e.actions,c=e.className;return(0,a.jsx)(r.ZP,{container:!0,children:(0,a.jsxs)(r.ZP,{item:!0,xs:12,className:"".concat(n.screenTitle," ").concat(c||""),children:[(0,a.jsxs)("div",{className:n.leftItems,children:[t?(0,a.jsx)("div",{className:n.headerBarIcon,children:t}):null,(0,a.jsxs)("div",{className:n.titleColumn,children:[(0,a.jsx)("h1",{style:{margin:0},children:o}),(0,a.jsx)("span",{className:n.headerBarSubheader,children:i})]})]}),(0,a.jsx)("div",{className:n.rightItems,children:s})]})})}))},57647:function(e,n,t){var r=t(18489),o=t(23430),i=t(50390),a=t(56805),s=t(49044),c=t(97227),l=t(74564),u=t(669),d=t(4285),h=t(88669),m=t(86509),f=t(13512),p=t(62559),x={minHeight:60};n.Z=(0,d.Z)((function(e){return(0,m.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,m=void 0===d?"0":d,Z=e.routes,g=e.isRouteTabs,v=i.useState(m),b=(0,o.Z)(v,2),j=b[0],y=b[1],S=(0,h.Z)(),C=(0,f.Z)(S.breakpoints.down("md")),k=[],w=[];return n?(n.forEach((function(e){k.push(e.tabConfig),w.push(e.content)})),(0,p.jsx)(c.ZP,{value:"".concat(j),children:(0,p.jsxs)(a.Z,{className:t.tabsContainer,children:[(0,p.jsx)(a.Z,{className:t.tabsHeaderContainer,children:(0,p.jsx)(l.Z,{onChange:function(e,n){y(n)},orientation:C?"horizontal":"vertical",variant:C?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:k.map((function(e,n){return e?(0,p.jsx)(s.Z,(0,r.Z)((0,r.Z)({className:t.tabHeader,value:"".concat(n),style:x},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,p.jsxs)(a.Z,{className:t.tabContentContainer,children:[g?null:w.map((function(e,n){return(0,p.jsx)(u.Z,{classes:(0,r.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),g?(0,p.jsx)("div",{className:t.tabPanel,children:Z}):null]})]})})):null}))},59176:function(e,n,t){var r=t(35531),o=t(23430),i=t(18489),a=t(50390),s=t(34424),c=t(86509),l=t(4285),u=t(81378),d=t(25594),h=t(25233),m=t(72462),f=t(44149),p=t(30324),x=t(17777),Z=t(23165),g=t(62559),v=(0,s.$j)(null,{setModalErrorSnackMessage:f.zb});n.Z=(0,l.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({noFound:{textAlign:"center",padding:"10px 0"},searchBox:{flex:1},fieldLabel:{fontWeight:400,width:160,marginRight:10},tableBlock:(0,i.Z)({},m.VX.tableBlock),filterBox:{display:"flex",marginBottom:15,alignItems:"center","& span":{fontSize:14}}},m.qg),m.VX),m.OR),m.jY))}))(v((function(e){var n=e.classes,t=e.selectedPolicy,i=void 0===t?[]:t,s=e.setSelectedPolicy,c=e.setModalErrorSnackMessage,l=(0,a.useState)([]),m=(0,o.Z)(l,2),f=m[0],v=m[1],b=(0,a.useState)(!1),j=(0,o.Z)(b,2),y=j[0],S=j[1],C=(0,a.useState)(""),k=(0,o.Z)(C,2),w=k[0],A=k[1],N=(0,a.useCallback)((function(){S(!0),p.Z.invoke("GET","/api/v1/policies?limit=1000").then((function(e){var n=null===e.policies?[]:e.policies;S(!1),v(n.sort(h.g4))})).catch((function(e){S(!1),c(e)}))}),[c]);(0,a.useEffect)((function(){S(!0)}),[]),(0,a.useEffect)((function(){y&&N()}),[y,N]);var P=f.filter((function(e){return e.name.includes(w)}));return(0,g.jsx)(a.Fragment,{children:(0,g.jsxs)(d.ZP,{item:!0,xs:12,children:[y&&(0,g.jsx)(u.Z,{}),f.length>0?(0,g.jsxs)(a.Fragment,{children:[(0,g.jsxs)(d.ZP,{item:!0,xs:12,className:n.filterBox,children:[(0,g.jsx)("span",{className:n.fieldLabel,children:"Assign Policies"}),(0,g.jsx)("div",{className:n.searchBox,children:(0,g.jsx)(Z.Z,{placeholder:"Filter Policy",onChange:function(e){A(e)},value:w})})]}),(0,g.jsx)(d.ZP,{item:!0,xs:12,className:n.tableBlock,children:(0,g.jsx)(x.Z,{columns:[{label:"Policy",elementKey:"name"}],onSelect:function(e){var n=e.target,t=n.value,o=n.checked,a=(0,r.Z)(i);o?a.push(t):a=a.filter((function(e){return e!==t})),a=a.filter((function(e){return""!==e})),s(a)},selectedItems:i,isLoading:y,records:P,entityName:"Policies",idField:"name",customPaperHeight:n.multiSelectTable})})]}):(0,g.jsx)("div",{className:n.noFound,children:"No Policies Available"})]})})})))},92620:function(e,n,t){var r=t(35531),o=t(23430),i=t(18489),a=t(50390),s=t(34424),c=t(86509),l=t(4285),u=t(81378),d=t(38342),h=t.n(d),m=t(25594),f=t(25233),p=t(72462),x=t(44149),Z=t(30324),g=t(17777),v=t(23165),b=t(62559),j={setModalErrorSnackMessage:x.zb},y=(0,s.$j)(null,j);n.Z=(0,l.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)({noFound:{textAlign:"center",padding:"10px 0"},actionsTitle:{fontWeight:400,color:"#000",fontSize:14,alignSelf:"center",marginRight:48,"@media (max-width: 900px)":{marginRight:0}},searchBox:{flex:1,marginLeft:"2rem"}},p.VX),p.OR),p.jY))}))(y((function(e){var n=e.classes,t=e.selectedGroups,i=e.setSelectedGroups,s=e.setModalErrorSnackMessage,c=(0,a.useState)([]),l=(0,o.Z)(c,2),d=l[0],p=l[1],x=(0,a.useState)(!1),j=(0,o.Z)(x,2),y=j[0],S=j[1],C=(0,a.useState)(""),k=(0,o.Z)(C,2),w=k[0],A=k[1],N=(0,a.useCallback)((function(){Z.Z.invoke("GET","/api/v1/groups").then((function(e){var n=h()(e,"groups",[]);n||(n=[]),p(n.sort(f.V2)),S(!1)})).catch((function(e){s(e),S(!1)}))}),[s]);(0,a.useEffect)((function(){S(!0)}),[]),(0,a.useEffect)((function(){y&&N()}),[y,N]);var P=t||[],E=d.filter((function(e){return e.includes(w)}));return(0,b.jsx)(a.Fragment,{children:(0,b.jsxs)(m.ZP,{item:!0,xs:12,children:[y&&(0,b.jsx)(u.Z,{}),null!==d&&d.length>0?(0,b.jsxs)(a.Fragment,{children:[(0,b.jsxs)(m.ZP,{item:!0,xs:12,className:n.actionsTray,children:[(0,b.jsx)("label",{className:n.actionsTitle,children:"Assign Groups"}),(0,b.jsx)("div",{className:n.searchBox,children:(0,b.jsx)(v.Z,{placeholder:"Filter Groups",adornmentPosition:"end",onChange:A,value:w})})]}),(0,b.jsx)(m.ZP,{item:!0,xs:12,className:n.tableBlock,children:(0,b.jsx)(g.Z,{columns:[{label:"Group",elementKey:""}],onSelect:function(e){var n=e.target,t=n.value,o=n.checked,a=(0,r.Z)(P);return o?a.push(t):a=a.filter((function(e){return e!==t})),i(a),a},selectedItems:P,isLoading:y,records:E,entityName:"Groups",idField:"",customPaperHeight:n.multiSelectTable})})]}):(0,b.jsx)("div",{className:n.noFound,children:"No Groups Available"})]})})})))},48951:function(e,n,t){t.r(n),t.d(n,{default:function(){return we}});var r=t(50390),o=t(24442),i=t(70971),a=t(34424),s=t(44149),c=t(36176),l=t(35531),u=t(23430),d=t(18489),h=t(86509),m=t(4285),f=t(30324),p=t(25594),x=t(81378),Z=t(25233),g=t(11387),v=t(72462),b=t(17777),j=t(35721),y=t(28948),S=t(8235),C=t(11835),k=t(25534),w=t(23165),A=t(37882),N=t(49495),P=t(15607),E=t(53224),M=t(62559),F=(0,A.Z)(r.lazy((function(){return t.e(5961).then(t.bind(t,35961))}))),R=(0,A.Z)(r.lazy((function(){return t.e(6549).then(t.bind(t,16549))}))),I=(0,A.Z)(r.lazy((function(){return t.e(7498).then(t.bind(t,57498))}))),T=(0,A.Z)(r.lazy((function(){return t.e(9421).then(t.bind(t,69421))}))),B={setErrorSnackMessage:s.Ih},D=(0,a.$j)(null,B),L=(0,m.Z)((function(e){return(0,h.Z)((0,d.Z)((0,d.Z)((0,d.Z)((0,d.Z)({},v.OR),v.qg),{},{searchField:(0,d.Z)((0,d.Z)({},v.qg.searchField),{},{marginRight:"auto",maxWidth:380})},v.VX),(0,v.Bz)(e.spacing(4))))}))(D((function(e){var n=e.classes,t=e.setErrorSnackMessage,o=e.history,i=(0,r.useState)([]),a=(0,u.Z)(i,2),s=a[0],c=a[1],d=(0,r.useState)(!0),h=(0,u.Z)(d,2),m=h[0],v=h[1],A=(0,r.useState)(!1),B=(0,u.Z)(A,2),D=B[0],L=B[1],O=(0,r.useState)(!1),U=(0,u.Z)(O,2),z=U[0],_=U[1],K=(0,r.useState)(null),G=(0,u.Z)(K,2),V=G[0],W=G[1],$=(0,r.useState)(!1),H=(0,u.Z)($,2),Y=H[0],q=H[1],X=(0,r.useState)(""),Q=(0,u.Z)(X,2),J=Q[0],ee=Q[1],ne=(0,r.useState)([]),te=(0,u.Z)(ne,2),re=te[0],oe=te[1],ie=(0,r.useState)(!1),ae=(0,u.Z)(ie,2),se=ae[0],ce=ae[1],le=(0,P.F)(N.C3,[N.Ft.ADMIN_LIST_USERS]),ue=(0,P.F)(N.C3,[N.Ft.ADMIN_DELETE_USER]),de=(0,P.F)(N.C3,[N.Ft.ADMIN_GET_USER]),he=(0,P.F)(N.C3,[N.Ft.ADMIN_ADD_USER_TO_GROUP]);(0,r.useEffect)((function(){m&&(le?f.Z.invoke("GET","/api/v1/users").then((function(e){var n=null===e.users?[]:e.users;v(!1),c(n.sort(Z.LQ))})).catch((function(e){v(!1),t(e)})):v(!1))}),[m,t,le]);var me=s.filter((function(e){return e.accessKey.includes(J)})),fe=(0,y.le)(localStorage.getItem("userLoggedIn")||""),pe=[{type:"view",onClick:function(e){o.push("".concat(N.gA.USERS,"/").concat(encodeURI(e.accessKey)))},disableButtonFunction:function(){return!de}},{type:"delete",onClick:function(e){_(!0),W(e)},disableButtonFunction:function(e){return e===fe||!ue}}];return(0,M.jsxs)(r.Fragment,{children:[D&&(0,M.jsx)(F,{open:D,selectedUser:V,closeModalAndRefresh:function(){L(!1),v(!0)}}),se&&(0,M.jsx)(R,{open:se,selectedUser:V,selectedGroup:null,closeModalAndRefresh:function(){ce(!1),v(!0)}}),z&&(0,M.jsx)(I,{deleteOpen:z,selectedUser:V,closeDeleteModalAndRefresh:function(e){!function(e){_(!1),e&&v(!0)}(e)}}),Y&&(0,M.jsx)(T,{open:Y,checkedUsers:re,closeModalAndRefresh:function(e){!function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];q(!1),e&&oe([])}(e)}}),(0,M.jsx)(j.Z,{label:"Users"}),(0,M.jsxs)(k.Z,{children:[(0,M.jsxs)(p.ZP,{item:!0,xs:12,className:n.actionsTray,children:[(0,M.jsx)(w.Z,{placeholder:"Search Users",onChange:ee,overrideClass:n.searchField,value:J}),(0,M.jsx)(P.Z,{scopes:[N.Ft.ADMIN_ADD_USER_TO_GROUP],resource:N.C3,errorProps:{disabled:!0},children:(0,M.jsx)(E.Z,{tooltip:"Add to Group",text:"Add to Group",icon:(0,M.jsx)(g.ww,{}),color:"primary",disabled:re.length<=0,onClick:function(){re.length>0&&q(!0)},variant:"outlined"})}),(0,M.jsx)(P.Z,{scopes:[N.Ft.ADMIN_CREATE_USER,N.Ft.ADMIN_LIST_USER_POLICIES,N.Ft.ADMIN_LIST_GROUPS],resource:N.HQ,matchAll:!0,errorProps:{disabled:!0},children:(0,M.jsx)(E.Z,{tooltip:"Create User",text:"Create User",icon:(0,M.jsx)(g.dt,{}),color:"primary",onClick:function(){L(!0),W(null)},variant:"contained"})})]}),(0,M.jsx)(p.ZP,{item:!0,xs:12,children:(0,M.jsx)("br",{})}),m&&(0,M.jsx)(x.Z,{}),!m&&(0,M.jsxs)(r.Fragment,{children:[s.length>0&&(0,M.jsxs)(r.Fragment,{children:[(0,M.jsx)(p.ZP,{item:!0,xs:12,className:n.tableBlock,children:(0,M.jsx)(P.Z,{scopes:[N.Ft.ADMIN_LIST_USERS],resource:N.C3,errorProps:{disabled:!0},children:(0,M.jsx)(b.Z,{itemActions:pe,columns:[{label:"Access Key",elementKey:"accessKey"}],onSelect:he?function(e){var n=e.target,t=n.value,r=n.checked,o=(0,l.Z)(re);return r?o.push(t):o=o.filter((function(e){return e!==t})),oe(o),o}:void 0,selectedItems:re,isLoading:m,records:me,entityName:"Users",idField:"accessKey"})})}),(0,M.jsx)(p.ZP,{item:!0,xs:12,children:(0,M.jsx)(S.Z,{title:"Users",iconComponent:(0,M.jsx)(g.oy,{}),help:(0,M.jsxs)(r.Fragment,{children:["A MinIO user consists of a unique access key (username) and corresponding secret key (password). Clients must authenticate their identity by specifying both a valid access key (username) and the corresponding secret key (password) of an existing MinIO user.",(0,M.jsx)("br",{}),(0,M.jsx)("br",{}),"Each user can have one or more assigned policies that explicitly list the actions and resources to which that user has access. Users can also inherit policies from the groups in which they have membership.",(0,M.jsx)("br",{}),(0,M.jsx)("br",{}),"You can learn more at our"," ",(0,M.jsx)("a",{href:"https://docs.min.io/minio/baremetal/monitoring/bucket-notifications/bucket-notifications.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]}),0===s.length&&(0,M.jsx)(p.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,M.jsx)(p.ZP,{item:!0,xs:8,children:(0,M.jsx)(S.Z,{title:"Users",iconComponent:(0,M.jsx)(g.oy,{}),help:(0,M.jsxs)(r.Fragment,{children:["A MinIO user consists of a unique access key (username) and corresponding secret key (password). Clients must authenticate their identity by specifying both a valid access key (username) and the corresponding secret key (password) of an existing MinIO user.",(0,M.jsx)("br",{}),(0,M.jsx)("br",{}),"Each user can have one or more assigned policies that explicitly list the actions and resources to which that user has access. Users can also inherit policies from the groups in which they have membership.",(0,M.jsx)(P.Z,{scopes:[N.Ft.ADMIN_CREATE_USER,N.Ft.ADMIN_LIST_USER_POLICIES,N.Ft.ADMIN_LIST_GROUPS],matchAll:!0,resource:N.C3,children:(0,M.jsxs)(r.Fragment,{children:[(0,M.jsx)("br",{}),(0,M.jsx)("br",{}),"To get started,"," ",(0,M.jsx)(C.Z,{onClick:function(){L(!0),W(null)},children:"Create a User"}),"."]})})]})})})})]})]})]})}))),O=t(89472),U=t(6369),z=t(66946),_=t(92620),K=t(76352),G=t(33447),V={setModalErrorSnackMessage:s.zb},W=(0,a.$j)(null,V),$=(0,m.Z)((function(e){return(0,h.Z)((0,d.Z)((0,d.Z)({buttonContainer:{textAlign:"right"}},v.bK),v.oO))}))(W((function(e){var n=e.classes,t=e.closeModalAndRefresh,o=e.selectedUser,i=e.open,a=e.setModalErrorSnackMessage,s=(0,r.useState)(!1),c=(0,u.Z)(s,2),l=c[0],d=c[1],h=(0,r.useState)(""),m=(0,u.Z)(h,2),Z=m[0],g=m[1],v=(0,r.useState)(""),b=(0,u.Z)(v,2),j=b[0],y=b[1],S=(0,r.useState)(!1),C=(0,u.Z)(S,2),k=C[0],w=C[1],A=(0,r.useState)([]),N=(0,u.Z)(A,2),P=N[0],E=N[1],F=(0,r.useCallback)((function(){if(!o)return null;f.Z.invoke("GET","/api/v1/user?name=".concat(encodeURI(o))).then((function(e){d(!1),g(e.accessKey),E(e.memberOf||[]),w("enabled"===e.status)})).catch((function(e){d(!1),a(e)}))}),[o,a]);(0,r.useEffect)((function(){null===o?(g(""),y(""),E([])):F()}),[o,F]);var R=""!==Z.trim()&&(""!==j.trim()&&null===o||null!==o);return(0,M.jsx)(K.Z,{onClose:function(){t()},modalOpen:i,title:"Set Groups",titleIcon:(0,M.jsx)(G.Z,{}),children:(0,M.jsx)(r.Fragment,{children:(0,M.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),l||(d(!0),null!==o?f.Z.invoke("PUT","/api/v1/user?name=".concat(encodeURI(o)),{status:k?"enabled":"disabled",groups:P}).then((function(e){d(!1),t()})).catch((function(e){d(!1),a(e)})):f.Z.invoke("POST","/api/v1/users",{accessKey:Z,secretKey:j,groups:P}).then((function(e){d(!1),t()})).catch((function(e){d(!1),a(e)})))},children:(0,M.jsxs)(p.ZP,{container:!0,children:[(0,M.jsx)(p.ZP,{item:!0,xs:12,className:n.formScrollable,children:(0,M.jsx)(_.Z,{selectedGroups:P,setSelectedGroups:function(e){E(e)}})}),(0,M.jsxs)(p.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[(0,M.jsx)(z.Z,{type:"button",variant:"outlined",color:"primary",className:n.spacerRight,onClick:function(){null===o?(g(""),y(""),E([])):E([])},children:"Clear"}),(0,M.jsx)(z.Z,{type:"submit",variant:"contained",color:"primary",disabled:l||!R,children:"Save"})]}),l&&(0,M.jsx)(p.ZP,{item:!0,xs:12,children:(0,M.jsx)(x.Z,{})})]})})})})}))),H=t(59176),Y={setModalErrorSnackMessage:s.zb},q=(0,a.$j)(null,Y),X=(0,m.Z)((function(e){return(0,h.Z)((0,d.Z)((0,d.Z)({},v.oO),{},{buttonContainer:{textAlign:"right",marginTop:".9rem"}}))}))(q((function(e){var n=e.classes,t=e.closeModalAndRefresh,o=e.selectedUser,i=e.currentPolicies,a=e.setModalErrorSnackMessage,s=e.open,c=(0,r.useState)(!1),l=(0,u.Z)(c,2),d=l[0],h=l[1],m=(0,r.useState)([]),Z=(0,u.Z)(m,2),g=Z[0],v=Z[1],b=(0,r.useState)([]),j=(0,u.Z)(b,2),y=j[0],S=j[1];return(0,r.useEffect)((function(){if(s){var e,n=[],t=(0,O.Z)(i);try{for(t.s();!(e=t.n()).done;){var r=e.value;n.push(r.policy)}}catch(o){t.e(o)}finally{t.f()}v(n),S(n)}}),[s,o]),(0,M.jsxs)(K.Z,{onClose:function(){t()},modalOpen:s,title:"Set Policies",children:[(0,M.jsx)(H.Z,{selectedPolicy:y,setSelectedPolicy:S}),(0,M.jsx)(p.ZP,{item:!0,xs:12,children:(0,M.jsx)("br",{})}),(0,M.jsxs)(p.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[(0,M.jsx)("button",{type:"button",color:"primary",className:n.clearButton,onClick:function(){S(g)},children:"Reset"}),(0,M.jsx)(z.Z,{type:"button",variant:"contained",color:"primary",disabled:d,onClick:function(){var e=o;h(!0),f.Z.invoke("PUT","/api/v1/set-policy",{name:y,entityName:e,entityType:"user"}).then((function(){h(!1),t()})).catch((function(e){h(!1),a(e)}))},children:"Save"})]}),d&&(0,M.jsx)(p.ZP,{item:!0,xs:12,children:(0,M.jsx)(x.Z,{})})]})}))),Q=t(56805),J=t(70014),ee=t(92440),ne=t(66964),te={setModalErrorSnackMessage:s.zb},re=(0,a.$j)(null,te),oe=(0,m.Z)((function(e){return(0,h.Z)((0,d.Z)((0,d.Z)({},v.bl),v.ID))}))(re((function(e){var n=e.classes,t=e.open,o=e.closeModalAndRefresh,i=e.setModalErrorSnackMessage,a=e.user,s=(0,r.useState)(!1),c=(0,u.Z)(s,2),l=c[0],d=c[1],h=(0,r.useState)(""),m=(0,u.Z)(h,2),Z=m[0],g=m[1],v=(0,r.useState)(""),b=(0,u.Z)(v,2),j=b[0],y=b[1],S=(0,r.useState)(""),C=(0,u.Z)(S,2),k=C[0],w=C[1],A=(0,r.useState)(!1),N=(0,u.Z)(A,2),P=N[0],E=N[1],F=(0,r.useState)(!1),R=(0,u.Z)(F,2),I=R[0],T=R[1];(0,r.useEffect)((function(){l&&(I?f.Z.invoke("POST","/api/v1/user/".concat(a,"/service-account-credentials"),{policy:Z,accessKey:j,secretKey:k}).then((function(e){d(!1),o(e)})).catch((function(e){d(!1),i(e)})):f.Z.invoke("POST","/api/v1/user/".concat(a,"/service-accounts"),{policy:Z}).then((function(e){d(!1),o(e)})).catch((function(e){d(!1),i(e)})))}),[l,d,i,Z,o,a,I,j,k]);return(0,M.jsx)(K.Z,{modalOpen:t,onClose:function(){o(null)},title:"Create Service Account",children:(0,M.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault(),d(!0)}(e)},children:[(0,M.jsxs)(p.ZP,{container:!0,className:n.modalFormScrollable,children:[(0,M.jsx)(p.ZP,{item:!0,xs:12,children:(0,M.jsxs)("div",{className:n.infoDetails,children:["Service Accounts inherit the policy explicitly attached to the parent user and the policy attached to each group in which the parent user has membership. You can specify an optional JSON-formatted policy below to restrict the Service Account access to a subset of actions and resources explicitly allowed for the parent user.",(0,M.jsx)(Q.Z,{sx:{paddingTop:"15px",paddingBottom:"15px"},children:"You cannot modify the Service Account optional policy after saving."})]})}),(0,M.jsxs)(p.ZP,{item:!0,xs:12,children:[(0,M.jsxs)(p.ZP,{item:!0,xs:12,children:[(0,M.jsx)(ee.Z,{value:"locking",id:"locking",name:"locking",checked:I,onChange:function(e){T(e.target.checked)},label:"Customize Credentials"}),I&&(0,M.jsx)(p.ZP,{item:!0,xs:12,children:(0,M.jsxs)("div",{className:n.stackedInputs,children:[(0,M.jsx)(ne.Z,{value:j,label:"Access Key",id:"accessKey",name:"accessKey",placeholder:"Enter Access Key",onChange:function(e){y(e.target.value)}}),(0,M.jsx)(ne.Z,{value:k,label:"Secret Key",id:"secretKey",name:"secretKey",placeholder:"Enter Secret Key",onChange:function(e){w(e.target.value)}})]})})]}),(0,M.jsxs)(p.ZP,{item:!0,xs:12,children:[(0,M.jsx)(ee.Z,{value:"locking",id:"locking",name:"locking",checked:P,onChange:function(e){E(e.target.checked)},label:"Restrict with policy"}),P&&(0,M.jsx)(p.ZP,{item:!0,xs:12,className:n.codeMirrorContainer,children:(0,M.jsx)(J.Z,{label:"Policy ",value:Z,onBeforeChange:function(e,n,t){g(t)}})})]})]})]}),(0,M.jsxs)(p.ZP,{container:!0,children:[(0,M.jsxs)(p.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,M.jsx)(z.Z,{type:"button",color:"primary",variant:"outlined",onClick:function(){g("")},children:"Clear"}),(0,M.jsx)(z.Z,{type:"submit",variant:"contained",color:"primary",disabled:l,children:"Create"})]}),l&&(0,M.jsx)(p.ZP,{item:!0,xs:12,children:(0,M.jsx)(x.Z,{})})]})]})})}))),ie=t(47664),ae=t(39080),se=t(48122),ce=t(31529),le=t(73726),ue=(0,a.$j)((function(e){return{session:e.console.session}}),{setErrorSnackMessage:s.Ih}),de=(0,m.Z)((function(e){return(0,h.Z)((0,d.Z)((0,d.Z)((0,d.Z)({},v.qg),v.OR),{},{actionsTray:(0,d.Z)({},v.OR.actionsTray)},v.VX))}))(ue((function(e){var n=e.classes,t=e.user,o=e.setErrorSnackMessage,i=e.hasPolicy,a=(0,r.useState)([]),c=(0,u.Z)(a,2),l=c[0],d=c[1],h=(0,r.useState)(!1),m=(0,u.Z)(h,2),p=m[0],x=m[1],v=(0,r.useState)(!1),j=(0,u.Z)(v,2),y=j[0],S=j[1],C=(0,r.useState)(!1),k=(0,u.Z)(C,2),w=k[0],A=k[1],N=(0,r.useState)(null),P=(0,u.Z)(N,2),F=P[0],R=P[1],I=(0,r.useState)(!1),T=(0,u.Z)(I,2),B=T[0],D=T[1],L=(0,r.useState)(null),O=(0,u.Z)(L,2),U=O[0],z=O[1],_=(0,r.useState)([]),K=(0,u.Z)(_,2),G=K[0],V=K[1],W=(0,r.useState)(!1),$=(0,u.Z)(W,2),H=$[0],Y=$[1];(0,r.useEffect)((function(){q()}),[]),(0,r.useEffect)((function(){p&&f.Z.invoke("GET","/api/v1/user/".concat(t,"/service-accounts")).then((function(e){var n=e.sort(Z.V2);x(!1),d(n)})).catch((function(e){o(e),x(!1)}))}),[p,x,d,o,t]);var q=function(){x(!0)},X=[{type:"delete",onClick:function(e){R(e),A(!0)}}];return(0,M.jsxs)(r.Fragment,{children:[y&&(0,M.jsx)(oe,{open:y,closeModalAndRefresh:function(e){!function(e){if(S(!1),q(),null!==e){var n={console:{accessKey:"".concat(e.accessKey),secretKey:"".concat(e.secretKey)}};z(n),D(!0)}}(e)},user:t}),w&&(0,M.jsx)(ie.default,{deleteOpen:w,selectedServiceAccount:F,closeDeleteModalAndRefresh:function(e){!function(e){A(!1),e&&q()}(e)}}),H&&(0,M.jsx)(ce.Z,{deleteOpen:H,selectedSAs:G,closeDeleteModalAndRefresh:function(e){Y(!1),e&&((0,s.y1)("Service accounts deleted successfully."),V([]),x(!0))}}),B&&(0,M.jsx)(ae.default,{newServiceAccount:U,open:B,closeModal:function(){D(!1),z(null)},entity:"Service Account"}),(0,M.jsxs)("div",{className:n.actionsTray,children:[(0,M.jsx)(se.Z,{children:"Service Accounts"}),(0,M.jsxs)(Q.Z,{children:[(0,M.jsx)(E.Z,{tooltip:"Delete Selected",onClick:function(){Y(!0)},text:"Delete Selected",icon:(0,M.jsx)(g.pJ,{}),color:"secondary",disabled:0===G.length,variant:"outlined"}),(0,M.jsx)(E.Z,{tooltip:"Create service account",text:"Create service account",variant:"contained",color:"primary",icon:(0,M.jsx)(g.dt,{}),onClick:function(){S(!0),S(!0),R(null)},disabled:!i})]})]}),(0,M.jsx)("div",{className:n.tableBlock,children:(0,M.jsx)(b.Z,{isLoading:p,records:l,entityName:"Service Accounts",idField:"",columns:[{label:"Service Account",elementKey:""}],itemActions:X,selectedItems:G,onSelect:function(e){return(0,le._0)(e,V,G)},onSelectAll:function(){G.length!==l.length?V(l):V([])}})})]})}))),he=(0,a.$j)(null,{setModalErrorSnackMessage:s.zb}),me=(0,m.Z)((function(e){return(0,h.Z)((0,d.Z)((0,d.Z)((0,d.Z)((0,d.Z)({buttonContainer:{textAlign:"right"}},v.ID),v.DF),v.bK),(0,v.Bz)(e.spacing(4))))}))(he((function(e){var n=e.classes,t=e.open,o=e.userName,i=e.closeModal,a=e.setModalErrorSnackMessage,s=(0,r.useState)(""),c=(0,u.Z)(s,2),l=c[0],d=c[1],h=(0,r.useState)(""),m=(0,u.Z)(h,2),Z=m[0],v=m[1],b=(0,r.useState)(!1),j=(0,u.Z)(b,2),y=j[0],S=j[1];return t?(0,M.jsx)(K.Z,{title:"Change User Password",modalOpen:t,onClose:function(){d(""),v(""),i()},titleIcon:(0,M.jsx)(g.I,{}),children:(0,M.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){if(e.preventDefault(),!y){if(S(!0),l.length<8)return a({errorMessage:"Passwords must be at least 8 characters long",detailedError:""}),void S(!1);var n={selectedUser:o,newSecretKey:l};f.Z.invoke("POST","/api/v1/account/change-user-password",n).then((function(e){S(!1),d(""),v(""),i()})).catch((function(e){S(!1),d(""),v(""),a(e)}))}}(e)},children:(0,M.jsxs)(p.ZP,{container:!0,children:[(0,M.jsxs)(p.ZP,{item:!0,xs:12,className:n.modalFormScrollable,children:[(0,M.jsxs)("div",{className:n.spacerBottom,children:["Change password for: ",o]}),(0,M.jsx)(p.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,M.jsx)(ne.Z,{id:"new-password",name:"new-password",onChange:function(e){d(e.target.value)},label:"New Password",type:"password",value:l})}),(0,M.jsx)(p.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,M.jsx)(ne.Z,{id:"re-new-password",name:"re-new-password",onChange:function(e){v(e.target.value)},label:"Type New Password Again",type:"password",value:Z})})]}),(0,M.jsx)(p.ZP,{item:!0,xs:12,className:n.buttonContainer,children:(0,M.jsx)(z.Z,{type:"submit",variant:"contained",color:"primary",disabled:y||!(Z.length>0&&l===Z),children:"Save"})}),y&&(0,M.jsx)(p.ZP,{item:!0,xs:12,children:(0,M.jsx)(x.Z,{})})]})})}):null}))),fe=t(23473),pe=t(21639),xe=t(60656),Ze={setErrorSnackMessage:s.Ih},ge=(0,a.$j)(null,Ze)((function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,r=e.userName,i=e.setErrorSnackMessage,a=(0,pe.Z)((function(){o.Z.push(N.gA.USERS)}),(function(e){return i(e)})),s=(0,u.Z)(a,2),c=s[0],l=s[1];if(!r)return null;return(0,M.jsx)(xe.Z,{title:"Delete User",confirmText:"Delete",isOpen:t,isLoading:c,onConfirm:function(){l("DELETE","/api/v1/user?name=".concat(encodeURI(r)),{id:r})},onClose:function(){return n(!1)},titleIcon:(0,M.jsx)(g.Nv,{}),confirmationContent:(0,M.jsxs)(fe.Z,{children:["Are you sure you want to delete user ",(0,M.jsx)("br",{}),(0,M.jsx)("b",{children:r}),"?"]})})})),ve=t(62702),be=t(57647),je=t(29316),ye={setErrorSnackMessage:s.Ih},Se=(0,a.$j)(null,ye),Ce=(0,m.Z)((function(e){return(0,h.Z)((0,d.Z)((0,d.Z)((0,d.Z)((0,d.Z)({pageContainer:{border:"1px solid #EAEAEA"},statusLabel:{fontSize:".8rem",marginRight:".5rem"},statusValue:{fontWeight:"bold",fontSize:".9rem",marginRight:".5rem"},breadcrumLink:{textDecoration:"none",color:"black"}},v.OR),v.qg),v.VX),(0,v.Bz)(e.spacing(4))))}))(Se((function(e){var n=e.classes,t=e.match,i=(0,r.useState)(!1),a=(0,u.Z)(i,2),c=a[0],l=a[1],d=(0,r.useState)(!1),h=(0,u.Z)(d,2),m=h[0],x=h[1],Z=(0,r.useState)(!1),v=(0,u.Z)(Z,2),y=v[0],S=v[1],C=(0,r.useState)(!1),w=(0,u.Z)(C,2),A=w[0],P=w[1],F=(0,r.useState)(!1),R=(0,u.Z)(F,2),I=R[0],T=R[1],B=(0,r.useState)([]),D=(0,u.Z)(B,2),L=D[0],z=D[1],_=(0,r.useState)([]),K=(0,u.Z)(_,2),G=K[0],V=K[1],W=(0,r.useState)([]),H=(0,u.Z)(W,2),Y=H[0],q=H[1],Q=(0,r.useState)(!1),J=(0,u.Z)(Q,2),ne=J[0],te=J[1],re=(0,r.useState)(!1),oe=(0,u.Z)(re,2),ie=oe[0],ae=oe[1],ce=(0,r.useState)(!1),le=(0,u.Z)(ce,2),ue=le[0],he=le[1],fe=t.params.userName,pe=(0,r.useCallback)((function(){if(""===fe)return null;l(!0),f.Z.invoke("GET","/api/v1/user?name=".concat(encodeURIComponent(fe))).then((function(e){P(!1);var n=e.memberOf||[];z(n);var t,r=[],o=(0,O.Z)(n);try{for(o.s();!(t=o.n()).done;){var i=t.value;r.push({group:i})}}catch(d){o.e(d)}finally{o.f()}V(r);var a,s=[],c=(0,O.Z)(e.policy);try{for(c.s();!(a=c.n()).done;){var u=a.value;s.push({policy:u})}}catch(d){c.e(d)}finally{c.f()}q(s),T("enabled"===e.status),he(e.hasPolicy),l(!1)})).catch((function(e){P(!1),l(!1),(0,s.zb)(e)}))}),[fe]);(0,r.useEffect)((function(){pe()}),[pe]);return(0,M.jsxs)(r.Fragment,{children:[(0,M.jsx)(j.Z,{label:(0,M.jsx)(r.Fragment,{children:(0,M.jsx)(U.rU,{to:"/users",className:n.breadcrumLink,children:"Users"})}),actions:(0,M.jsx)(r.Fragment,{})}),m&&(0,M.jsx)($,{open:m,selectedUser:fe,closeModalAndRefresh:function(){x(!1),pe()}}),y&&(0,M.jsx)(X,{open:y,selectedUser:fe,currentPolicies:Y,closeModalAndRefresh:function(){S(!1),pe()}}),ie&&(0,M.jsx)(ge,{deleteOpen:ie,userName:fe,closeDeleteModalAndRefresh:function(e){!function(e){ae(!1),e&&pe()}(e)}}),ne&&(0,M.jsx)(me,{open:ne,userName:fe,closeModal:function(){return te(!1)}}),(0,M.jsx)(je.Z,{label:"Return to Users",to:N.gA.USERS}),(0,M.jsxs)(k.Z,{className:n.pageContainer,children:[(0,M.jsx)(p.ZP,{item:!0,xs:12,children:(0,M.jsx)(ve.Z,{icon:(0,M.jsx)(r.Fragment,{children:(0,M.jsx)(g.oy,{width:40})}),title:fe,actions:(0,M.jsxs)(r.Fragment,{children:[(0,M.jsx)("span",{className:n.statusLabel,children:"User Status:"}),(0,M.jsx)("span",{className:n.statusValue,children:I?"Enabled":"Disabled"}),(0,M.jsx)(ee.Z,{indicatorLabels:["Enabled","Disabled"],checked:I,value:"group_enabled",id:"group-status",name:"group-status",onChange:function(){var e;T(!I),e=!I,A||(P(!0),f.Z.invoke("PUT","/api/v1/user?name=".concat(encodeURIComponent(fe)),{status:e?"enabled":"disabled",groups:L}).then((function(e){P(!1)})).catch((function(e){P(!1),(0,s.zb)(e)})))},switchOnly:!0}),(0,M.jsx)(E.Z,{tooltip:"Delete User",text:"",onClick:function(){ae(!0)},icon:(0,M.jsx)(g.XH,{}),color:"secondary",variant:"outlined"}),(0,M.jsx)(E.Z,{tooltip:"Change Password",text:"",onClick:function(){te(!0)},icon:(0,M.jsx)(g.tv,{}),color:"primary",variant:"outlined"})]})})}),(0,M.jsx)(p.ZP,{item:!0,xs:12,children:(0,M.jsxs)(be.Z,{children:[{tabConfig:{label:"Groups"},content:(0,M.jsxs)(r.Fragment,{children:[(0,M.jsxs)("div",{className:n.actionsTray,children:[(0,M.jsx)(se.Z,{children:"Groups"}),(0,M.jsx)(E.Z,{tooltip:"Add to Groups",text:"Add to Groups",onClick:function(){x(!0)},icon:(0,M.jsx)(g.dt,{}),color:"primary",variant:"contained"})]}),(0,M.jsx)("div",{className:n.tableBlock,children:(0,M.jsx)(b.Z,{columns:[{label:"Name",elementKey:"group"}],isLoading:c,records:G,entityName:"Groups",idField:"group"})})]})},{tabConfig:{label:"Service Accounts"},content:(0,M.jsx)(de,{user:fe,hasPolicy:ue})},{tabConfig:{label:"Policies"},content:(0,M.jsxs)(r.Fragment,{children:[(0,M.jsxs)("div",{className:n.actionsTray,children:[(0,M.jsx)(se.Z,{children:"Policies"}),(0,M.jsx)(E.Z,{tooltip:"Assign Policies",text:"Assign Policies",onClick:function(){S(!0)},icon:(0,M.jsx)(g.v4,{}),color:"primary",variant:"contained"})]}),(0,M.jsx)("div",{className:n.tableBlock,children:(0,M.jsx)(b.Z,{itemActions:[{type:"view",onClick:function(e){o.Z.push("".concat(N.gA.POLICIES,"/").concat(e.policy))}}],columns:[{label:"Name",elementKey:"policy"}],isLoading:c,records:Y,entityName:"Policies",idField:"policy"})})]})}]})})]})]})}))),ke=(0,a.$j)((function(e){return{open:e.system.sidebarOpen}}),{setMenuOpen:s.gG}),we=(0,i.EN)(ke((function(){return(0,M.jsx)(i.F0,{history:o.Z,children:(0,M.jsxs)(i.rs,{children:[(0,M.jsx)(i.AW,{path:N.gA.USERS_VIEW,component:Ce}),(0,M.jsx)(i.AW,{path:N.gA.USERS,component:L}),(0,M.jsx)(i.AW,{component:c.Z})]})})})))},36176:function(e,n,t){t.d(n,{Z:function(){return l}});t(50390);var r=t(56805),o=t(35477),i=t(10567),a=t(62559);function s(){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 c=t(25534),l=function(){return(0,a.jsx)(c.Z,{children:(0,a.jsxs)(r.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",textAlign:"center",margin:"auto",flexFlow:"column"},children:[(0,a.jsx)(r.Z,{sx:{fontSize:"110%",margin:"0 0 0.25rem",color:"#909090"},children:"404 Error"}),(0,a.jsx)(r.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)(r.Z,{mt:5,children:(0,a.jsx)(s,{})})]})})}},97227:function(e,n,t){t.d(n,{ZP:function(){return s},_i:function(){return c},uU:function(){return l},pQ:function(){return u}});var r=t(23430),o=t(50390),i=t(62559),a=o.createContext(null);function s(e){var n=e.children,t=e.value,s=function(){var e=o.useState(null),n=(0,r.Z)(e,2),t=n[0],i=n[1];return o.useEffect((function(){i("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),t}(),c=o.useMemo((function(){return{idPrefix:s,value:t}}),[s,t]);return(0,i.jsx)(a.Provider,{value:c,children:n})}function c(){return o.useContext(a)}function l(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(n)}function u(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(n)}},74564:function(e,n,t){var r=t(18207),o=t(46633),i=t(50390),a=t(98247),s=t(97227),c=t(62559),l=["children"],u=i.forwardRef((function(e,n){var t=e.children,u=(0,o.Z)(e,l),d=(0,s._i)();if(null===d)throw new TypeError("No TabContext provided");var h=i.Children.map(t,(function(e){return i.isValidElement(e)?i.cloneElement(e,{"aria-controls":(0,s.uU)(d,e.props.value),id:(0,s.pQ)(d,e.props.value)}):null}));return(0,c.jsx)(a.Z,(0,r.Z)({},u,{ref:n,value:d.value,children:h}))}));n.Z=u},669:function(e,n,t){t.d(n,{Z:function(){return x}});var r=t(18207),o=t(46633),i=t(50390),a=t(44977),s=t(8208),c=t(15573),l=t(50076),u=t(10594);function d(e){return(0,u.Z)("MuiTabPanel",e)}(0,t(43349).Z)("MuiTabPanel",["root"]);var h=t(97227),m=t(62559),f=["children","className","value"],p=(0,s.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,n){return n.root}})((function(e){return{padding:e.theme.spacing(3)}})),x=i.forwardRef((function(e,n){var t=(0,c.Z)({props:e,name:"MuiTabPanel"}),i=t.children,s=t.className,u=t.value,x=(0,o.Z)(t,f),Z=(0,r.Z)({},t),g=function(e){var n=e.classes;return(0,l.Z)({root:["root"]},d,n)}(Z),v=(0,h._i)();if(null===v)throw new TypeError("No TabContext provided");var b=(0,h.uU)(v,u),j=(0,h.pQ)(v,u);return(0,m.jsx)(p,(0,r.Z)({"aria-labelledby":j,className:(0,a.Z)(g.root,s),hidden:u!==v.value,id:b,ref:n,role:"tabpanel",ownerState:Z},x,{children:u===v.value&&i}))}))},10567:function(e,n,t){t.d(n,{Z:function(){return k}});var r=t(23430),o=t(36222),i=t(1048),a=t(32793),s=t(50390),c=t(44977),l=t(50076),u=t(29001),d=t(36128),h=t(91442),m=t(8208),f=t(15573),p=t(42081),x=t(3299),Z=t(35477),g=t(10594);function v(e){return(0,g.Z)("MuiLink",e)}var b=(0,t(43349).Z)("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),j=t(62559),y=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant"],S={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},C=(0,m.ZP)(Z.Z,{name:"MuiLink",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,n["underline".concat((0,h.Z)(t.underline))],"button"===t.component&&n.button]}})((function(e){var n=e.theme,t=e.ownerState,r=(0,u.D)(n,"palette.".concat(function(e){return S[e]||e}(t.color)))||t.color;return(0,a.Z)({},"none"===t.underline&&{textDecoration:"none"},"hover"===t.underline&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},"always"===t.underline&&{textDecoration:"underline",textDecorationColor:"inherit"!==r?(0,d.Fq)(r,.4):void 0,"&:hover":{textDecorationColor:"inherit"}},"button"===t.component&&(0,o.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"}))})),k=s.forwardRef((function(e,n){var t=(0,f.Z)({props:e,name:"MuiLink"}),o=t.className,u=t.color,d=void 0===u?"primary":u,m=t.component,Z=void 0===m?"a":m,g=t.onBlur,b=t.onFocus,S=t.TypographyClasses,k=t.underline,w=void 0===k?"always":k,A=t.variant,N=void 0===A?"inherit":A,P=(0,i.Z)(t,y),E=(0,p.Z)(),M=E.isFocusVisibleRef,F=E.onBlur,R=E.onFocus,I=E.ref,T=s.useState(!1),B=(0,r.Z)(T,2),D=B[0],L=B[1],O=(0,x.Z)(n,I),U=(0,a.Z)({},t,{color:d,component:Z,focusVisible:D,underline:w,variant:N}),z=function(e){var n=e.classes,t=e.component,r=e.focusVisible,o=e.underline,i={root:["root","underline".concat((0,h.Z)(o)),"button"===t&&"button",r&&"focusVisible"]};return(0,l.Z)(i,v,n)}(U);return(0,j.jsx)(C,(0,a.Z)({className:(0,c.Z)(z.root,o),classes:S,color:d,component:Z,onBlur:function(e){F(e),!1===M.current&&L(!1),g&&g(e)},onFocus:function(e){R(e),!0===M.current&&L(!0),b&&b(e)},ref:O,ownerState:U,variant:N},P))}))},49056:function(e,n,t){t.d(n,{Z:function(){return S}});var r=t(36222),o=t(1048),i=t(32793),a=t(50390),s=t(44977),c=t(50076),l=t(36128),u=t(91442),d=t(16756),h=t(15573),m=t(8208),f=t(10594);function p(e){return(0,f.Z)("MuiSwitch",e)}var x=(0,t(43349).Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),Z=t(62559),g=["className","color","edge","size","sx"],v=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,t.edge&&n["edge".concat((0,u.Z)(t.edge))],n["size".concat((0,u.Z)(t.size))]]}})((function(e){var n,t=e.ownerState;return(0,i.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===t.edge&&{marginLeft:-8},"end"===t.edge&&{marginRight:-8},"small"===t.size&&(n={width:40,height:24,padding:7},(0,r.Z)(n,"& .".concat(x.thumb),{width:16,height:16}),(0,r.Z)(n,"& .".concat(x.switchBase),(0,r.Z)({padding:4},"&.".concat(x.checked),{transform:"translateX(16px)"})),n))})),b=(0,m.ZP)(d.Z,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(e,n){var t=e.ownerState;return[n.switchBase,(0,r.Z)({},"& .".concat(x.input),n.input),"default"!==t.color&&n["color".concat((0,u.Z)(t.color))]]}})((function(e){var n,t=e.theme;return n={position:"absolute",top:0,left:0,zIndex:1,color:"light"===t.palette.mode?t.palette.common.white:t.palette.grey[300],transition:t.transitions.create(["left","transform"],{duration:t.transitions.duration.shortest})},(0,r.Z)(n,"&.".concat(x.checked),{transform:"translateX(20px)"}),(0,r.Z)(n,"&.".concat(x.disabled),{color:"light"===t.palette.mode?t.palette.grey[100]:t.palette.grey[600]}),(0,r.Z)(n,"&.".concat(x.checked," + .").concat(x.track),{opacity:.5}),(0,r.Z)(n,"&.".concat(x.disabled," + .").concat(x.track),{opacity:"light"===t.palette.mode?.12:.2}),(0,r.Z)(n,"& .".concat(x.input),{left:"-100%",width:"300%"}),n}),(function(e){var n,t=e.theme,o=e.ownerState;return(0,i.Z)({"&:hover":{backgroundColor:(0,l.Fq)(t.palette.action.active,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==o.color&&(n={},(0,r.Z)(n,"&.".concat(x.checked),(0,r.Z)({color:t.palette[o.color].main,"&:hover":{backgroundColor:(0,l.Fq)(t.palette[o.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(x.disabled),{color:"light"===t.palette.mode?(0,l.$n)(t.palette[o.color].main,.62):(0,l._j)(t.palette[o.color].main,.55)})),(0,r.Z)(n,"&.".concat(x.checked," + .").concat(x.track),{backgroundColor:t.palette[o.color].main}),n))})),j=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(e,n){return n.track}})((function(e){var n=e.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:n.transitions.create(["opacity","background-color"],{duration:n.transitions.duration.shortest}),backgroundColor:"light"===n.palette.mode?n.palette.common.black:n.palette.common.white,opacity:"light"===n.palette.mode?.38:.3}})),y=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(e,n){return n.thumb}})((function(e){return{boxShadow:e.theme.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),S=a.forwardRef((function(e,n){var t=(0,h.Z)({props:e,name:"MuiSwitch"}),r=t.className,a=t.color,l=void 0===a?"primary":a,d=t.edge,m=void 0!==d&&d,f=t.size,x=void 0===f?"medium":f,S=t.sx,C=(0,o.Z)(t,g),k=(0,i.Z)({},t,{color:l,edge:m,size:x}),w=function(e){var n=e.classes,t=e.edge,r=e.size,o=e.color,a=e.checked,s=e.disabled,l={root:["root",t&&"edge".concat((0,u.Z)(t)),"size".concat((0,u.Z)(r))],switchBase:["switchBase","color".concat((0,u.Z)(o)),a&&"checked",s&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},d=(0,c.Z)(l,p,n);return(0,i.Z)({},n,d)}(k),A=(0,Z.jsx)(y,{className:w.thumb,ownerState:k});return(0,Z.jsxs)(v,{className:(0,s.Z)(w.root,r),sx:S,ownerState:k,children:[(0,Z.jsx)(b,(0,i.Z)({type:"checkbox",icon:A,checkedIcon:A,ref:n,ownerState:k},C,{classes:(0,i.Z)({},w,{root:w.switchBase})})),(0,Z.jsx)(j,{className:w.track,ownerState:k})]})}))},89472:function(e,n,t){t.d(n,{Z:function(){return o}});var r=t(72327);function o(e,n){var t="undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=(0,r.Z)(e))||n&&e&&"number"===typeof e.length){t&&(e=t);var o=0,i=function(){};return{s:i,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return s=e.done,e},e:function(e){c=!0,a=e},f:function(){try{s||null==t.return||t.return()}finally{if(c)throw a}}}}}}]); -//# sourceMappingURL=9807.3f033821.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/9807.3f033821.chunk.js.map b/portal-ui/build/static/js/9807.3f033821.chunk.js.map deleted file mode 100644 index 69080d536..000000000 --- a/portal-ui/build/static/js/9807.3f033821.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/9807.3f033821.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Account/DeleteServiceAccount.tsx","screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/CredentialsPrompt/CredentialItem.tsx","screens/Console/Common/CredentialsPrompt/CredentialsPrompt.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/PanelTitle/PanelTitle.tsx","screens/Console/Common/ScreenTitle/ScreenTitle.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Policies/PolicySelectors.tsx","screens/Console/Users/GroupsSelectors.tsx","screens/Console/Users/ListUsers.tsx","screens/Console/Users/ChangeUserGroups.tsx","screens/Console/Users/SetUserPolicies.tsx","screens/Console/Users/AddUserServiceAccount.tsx","screens/Console/Users/UserServiceAccountsPanel.tsx","screens/Console/Account/ChangeUserPasswordModal.tsx","screens/Console/Users/DeleteUserString.tsx","screens/Console/Users/UserDetails.tsx","screens/Console/Users/Users.tsx","common/Copyright.tsx","screens/NotFoundPage.tsx","../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/Link/linkClasses.js","../node_modules/@mui/material/Link/Link.js","../node_modules/@mui/material/Switch/switchClasses.js","../node_modules/@mui/material/Switch/Switch.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({ to, label, classes, className, executeOnClick }: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wrapText: {\n maxWidth: \"200px\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n },\n });\n\ninterface IDeleteServiceAccountProps {\n classes: any;\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedServiceAccount: string | null;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeleteServiceAccount = ({\n classes,\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedServiceAccount,\n setErrorSnackMessage,\n}: IDeleteServiceAccountProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedServiceAccount) {\n return null;\n }\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/service-accounts/${selectedServiceAccount}`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete service account{\" \"}\n {selectedServiceAccount}?\n \n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(DeleteServiceAccount));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { 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 from \"react\";\nimport { InputAdornment, OutlinedInput } from \"@mui/material\";\nimport BoxIconButton from \"../BoxIconButton/BoxIconButton\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { CopyIcon } from \"../../../../icons\";\nimport { fieldBasic } from \"../FormComponents/common/styleLibrary\";\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 onMouseDown={() => {}}\n edge=\"end\"\n >\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 createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { NewServiceAccount } from \"./types\";\nimport { Button } from \"@mui/material\";\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\";\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 textAlign: \"right\",\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 promptIcon: {\n marginRight: \".1rem\",\n display: \"flex\",\n alignItems: \"center\",\n height: \"2rem\",\n width: \"2rem\",\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(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + encodeURIComponent(text)\n );\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n\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\n const consoleCreds = get(newServiceAccount, \"console\", null);\n const idp = get(newServiceAccount, \"idp\", false);\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 {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 {\n closeModal();\n }}\n color=\"primary\"\n >\n Done\n \n\n {!idp && (\n {\n let consoleExtras = {};\n\n if (consoleCreds) {\n if (!Array.isArray(consoleCreds)) {\n consoleExtras = {\n console: [\n {\n access_key: consoleCreds.accessKey,\n secret_key: consoleCreds.secretKey,\n },\n ],\n };\n } else {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n access_key: itemMap.accessKey,\n secret_key: itemMap.secretKey,\n };\n });\n\n consoleExtras = {\n console: [...cCreds],\n };\n }\n }\n\n download(\n \"credentials.json\",\n JSON.stringify({\n ...consoleExtras,\n })\n );\n }}\n endIcon={}\n variant=\"contained\"\n color=\"primary\"\n >\n Download\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, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\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, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\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 inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\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 const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n \n
\n
\n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\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 from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n fontSize: \".9rem\",\n },\n });\n\ninterface IPanelTitle extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst PanelTitle = ({ classes, children }: IPanelTitle) => {\n return

{children}

;\n};\n\nexport default withStyles(styles)(PanelTitle);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
\n {icon ?
{icon}
: null}\n
\n

{title}

\n {subTitle}\n
\n
\n\n
{actions}
\n
\n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\n","import React 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\";\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 [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\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, { useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { policySort } from \"../../../utils/sortFunctions\";\nimport {\n actionsTray,\n searchField,\n selectorsCommon,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { PolicyList } from \"./types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport SearchBox from \"../Common/SearchBox\";\n\ninterface ISelectPolicyProps {\n classes: any;\n selectedPolicy?: string[];\n setSelectedPolicy: any;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n noFound: {\n textAlign: \"center\",\n padding: \"10px 0\",\n },\n searchBox: {\n flex: 1,\n },\n fieldLabel: {\n fontWeight: 400,\n width: 160,\n marginRight: 10,\n },\n tableBlock: {\n ...tableStyles.tableBlock,\n },\n filterBox: {\n display: \"flex\",\n marginBottom: 15,\n alignItems: \"center\",\n \"& span\": {\n fontSize: 14,\n },\n },\n ...searchField,\n ...tableStyles,\n ...actionsTray,\n ...selectorsCommon,\n });\n\nconst PolicySelectors = ({\n classes,\n selectedPolicy = [],\n setSelectedPolicy,\n setModalErrorSnackMessage,\n}: ISelectPolicyProps) => {\n // Local State\n const [records, setRecords] = useState([]);\n const [loading, isLoading] = useState(false);\n const [filter, setFilter] = useState(\"\");\n\n const fetchPolicies = useCallback(() => {\n isLoading(true);\n\n api\n .invoke(\"GET\", `/api/v1/policies?limit=1000`)\n .then((res: PolicyList) => {\n const policies = res.policies === null ? [] : res.policies;\n isLoading(false);\n setRecords(policies.sort(policySort));\n })\n .catch((err: ErrorResponseHandler) => {\n isLoading(false);\n setModalErrorSnackMessage(err);\n });\n }, [setModalErrorSnackMessage]);\n\n //Effects\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n if (loading) {\n fetchPolicies();\n }\n }, [loading, fetchPolicies]);\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedPolicy]; // We clone the checkedUsers array\n\n if (checked) {\n // If the user has checked this field we need to push this to checkedUsersList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n // remove empty values\n elements = elements.filter((element) => element !== \"\");\n\n setSelectedPolicy(elements);\n };\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.name.includes(filter)\n );\n\n return (\n \n \n {loading && }\n {records.length > 0 ? (\n \n \n Assign Policies\n
\n {\n setFilter(value);\n }}\n value={filter}\n />\n
\n
\n \n \n \n
\n ) : (\n
No Policies Available
\n )}\n
\n
\n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(PolicySelectors));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\n\nimport { stringSort } from \"../../../utils/sortFunctions\";\nimport { GroupsList } from \"../Groups/types\";\nimport {\n actionsTray,\n selectorsCommon,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport SearchBox from \"../Common/SearchBox\";\n\ninterface IGroupsProps {\n classes: any;\n selectedGroups: string[];\n setSelectedGroups: any;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n noFound: {\n textAlign: \"center\",\n padding: \"10px 0\",\n },\n actionsTitle: {\n fontWeight: 400,\n color: \"#000\",\n fontSize: 14,\n alignSelf: \"center\",\n\n marginRight: 48,\n \"@media (max-width: 900px)\": {\n marginRight: 0,\n },\n },\n searchBox: {\n flex: 1,\n marginLeft: \"2rem\",\n },\n ...tableStyles,\n ...actionsTray,\n ...selectorsCommon,\n });\n\nconst GroupsSelectors = ({\n classes,\n selectedGroups,\n setSelectedGroups,\n setModalErrorSnackMessage,\n}: IGroupsProps) => {\n // Local State\n const [records, setRecords] = useState([]);\n const [loading, isLoading] = useState(false);\n const [filter, setFilter] = useState(\"\");\n\n const fetchGroups = useCallback(() => {\n api\n .invoke(\"GET\", `/api/v1/groups`)\n .then((res: GroupsList) => {\n let groups = get(res, \"groups\", []);\n\n if (!groups) {\n groups = [];\n }\n setRecords(groups.sort(stringSort));\n isLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setModalErrorSnackMessage(err);\n isLoading(false);\n });\n }, [setModalErrorSnackMessage]);\n\n //Effects\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n if (loading) {\n fetchGroups();\n }\n }, [loading, fetchGroups]);\n\n const selGroups = !selectedGroups ? [] : selectedGroups;\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selGroups]; // We clone the selectedGroups array\n\n if (checked) {\n // If the user has checked this field we need to push this to selectedGroupsList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedGroups(elements);\n\n return elements;\n };\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.includes(filter)\n );\n\n return (\n \n \n {loading && }\n {records !== null && records.length > 0 ? (\n \n \n \n\n
\n \n
\n
\n \n \n \n
\n ) : (\n
No Groups Available
\n )}\n
\n
\n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(GroupsSelectors));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport api from \"../../../common/api\";\nimport { Grid, LinearProgress } from \"@mui/material\";\nimport { User, UsersList } from \"./types\";\nimport { usersSort } from \"../../../utils/sortFunctions\";\nimport { GroupsIcon, AddIcon, UsersIcon } from \"../../../icons\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\n\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport { decodeFileName } from \"../../../common/utils\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport AButton from \"../Common/AButton/AButton\";\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 S3_ALL_RESOURCES,\n} from \"../../../common/SecureComponent/permissions\";\nimport SecureComponent, {\n hasPermission,\n} from \"../../../common/SecureComponent/SecureComponent\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\nconst AddUser = withSuspense(React.lazy(() => import(\"./AddUser\")));\nconst SetPolicy = withSuspense(\n React.lazy(() => import(\"../Policies/SetPolicy\"))\n);\nconst DeleteUser = withSuspense(React.lazy(() => import(\"./DeleteUser\")));\nconst AddToGroup = withSuspense(React.lazy(() => import(\"./BulkAddToGroup\")));\n\nconst styles = (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\ninterface IUsersProps {\n classes: any;\n history: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst ListUsers = ({ classes, setErrorSnackMessage, history }: IUsersProps) => {\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(true);\n const [addScreenOpen, setAddScreenOpen] = useState(false);\n\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedUser, setSelectedUser] = useState(null);\n const [addGroupOpen, setAddGroupOpen] = useState(false);\n const [filter, setFilter] = useState(\"\");\n const [checkedUsers, setCheckedUsers] = useState([]);\n const [policyOpen, setPolicyOpen] = useState(false);\n\n const displayListUsers = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_LIST_USERS,\n ]);\n\n const deleteUser = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_DELETE_USER,\n ]);\n\n const viewUser = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_USER,\n ]);\n\n const addUserToGroup = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_ADD_USER_TO_GROUP,\n ]);\n\n const closeAddModalAndRefresh = () => {\n setAddScreenOpen(false);\n setLoading(true);\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n if (refresh) {\n setLoading(true);\n }\n };\n\n const closeAddGroupBulk = (unCheckAll: boolean = false) => {\n setAddGroupOpen(false);\n if (unCheckAll) {\n setCheckedUsers([]);\n }\n };\n\n useEffect(() => {\n if (loading) {\n if (displayListUsers) {\n api\n .invoke(\"GET\", `/api/v1/users`)\n .then((res: UsersList) => {\n const users = res.users === null ? [] : res.users;\n\n setLoading(false);\n setRecords(users.sort(usersSort));\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setErrorSnackMessage(err);\n });\n } else {\n setLoading(false);\n }\n }\n }, [loading, setErrorSnackMessage, displayListUsers]);\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.accessKey.includes(filter)\n );\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...checkedUsers]; // We clone the checkedUsers array\n\n if (checked) {\n // If the user has checked this field we need to push this to checkedUsersList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n\n setCheckedUsers(elements);\n\n return elements;\n };\n\n const viewAction = (selectionElement: any): void => {\n history.push(`${IAM_PAGES.USERS}/${encodeURI(selectionElement.accessKey)}`);\n };\n\n const deleteAction = (selectionElement: any): void => {\n setDeleteOpen(true);\n setSelectedUser(selectionElement);\n };\n\n const userLoggedIn = decodeFileName(\n localStorage.getItem(\"userLoggedIn\") || \"\"\n );\n\n const tableActions = [\n {\n type: \"view\",\n onClick: viewAction,\n disableButtonFunction: () => !viewUser,\n },\n {\n type: \"delete\",\n onClick: deleteAction,\n disableButtonFunction: (topValue: any) =>\n topValue === userLoggedIn || !deleteUser,\n },\n ];\n\n return (\n \n {addScreenOpen && (\n {\n closeAddModalAndRefresh();\n }}\n />\n )}\n {policyOpen && (\n {\n setPolicyOpen(false);\n setLoading(true);\n }}\n />\n )}\n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n {addGroupOpen && (\n {\n closeAddGroupBulk(close);\n }}\n />\n )}\n \n \n \n \n \n }\n color=\"primary\"\n disabled={checkedUsers.length <= 0}\n onClick={() => {\n if (checkedUsers.length > 0) {\n setAddGroupOpen(true);\n }\n }}\n variant={\"outlined\"}\n />\n \n \n }\n color=\"primary\"\n onClick={() => {\n setAddScreenOpen(true);\n setSelectedUser(null);\n }}\n variant={\"contained\"}\n />\n \n \n \n
\n
\n {loading && }\n {!loading && (\n \n {records.length > 0 && (\n \n \n \n \n \n \n \n }\n help={\n \n A MinIO user consists of a unique access key (username)\n and corresponding secret key (password). Clients must\n authenticate their identity by specifying both a valid\n access key (username) and the corresponding secret key\n (password) of an existing MinIO user.\n
\n
\n Each user can have one or more assigned policies that\n explicitly list the actions and resources to which that\n user has access. Users can also inherit policies from\n the groups in which they have membership.\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 MinIO user consists of a unique access key (username)\n and corresponding secret key (password). Clients must\n authenticate their identity by specifying both a valid\n access key (username) and the corresponding secret key\n (password) of an existing MinIO user.\n
\n
\n Each user can have one or more assigned policies that\n explicitly list the actions and resources to which that\n user has access. Users can also inherit policies from\n the groups in which they have membership.\n \n \n
\n
\n To get started,{\" \"}\n {\n setAddScreenOpen(true);\n setSelectedUser(null);\n }}\n >\n Create a User\n \n .\n
\n \n
\n }\n />\n
\n \n )}\n
\n )}\n
\n
\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(ListUsers));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n modalBasic,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport GroupsSelectors from \"./GroupsSelectors\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport AddMembersToGroup from \"../../../icons/AddMembersToGroupIcon\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n ...spacingUtils,\n ...modalBasic,\n });\n\ninterface IChangeUserGroupsContentProps {\n classes: any;\n closeModalAndRefresh: () => void;\n selectedUser: string;\n open: boolean;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst ChangeUserGroups = ({\n classes,\n closeModalAndRefresh,\n selectedUser,\n open,\n setModalErrorSnackMessage,\n}: IChangeUserGroupsContentProps) => {\n const [addLoading, setAddLoading] = useState(false);\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n const [enabled, setEnabled] = useState(false);\n const [selectedGroups, setSelectedGroups] = useState([]);\n\n const getUserInformation = useCallback(() => {\n if (!selectedUser) {\n return null;\n }\n\n api\n .invoke(\"GET\", `/api/v1/user?name=${encodeURI(selectedUser)}`)\n .then((res) => {\n setAddLoading(false);\n setAccessKey(res.accessKey);\n setSelectedGroups(res.memberOf || []);\n setEnabled(res.status === \"enabled\");\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n }, [selectedUser, setModalErrorSnackMessage]);\n\n useEffect(() => {\n if (selectedUser === null) {\n setAccessKey(\"\");\n setSecretKey(\"\");\n setSelectedGroups([]);\n } else {\n getUserInformation();\n }\n }, [selectedUser, getUserInformation]);\n\n const saveRecord = (event: React.FormEvent) => {\n event.preventDefault();\n\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n if (selectedUser !== null) {\n api\n .invoke(\"PUT\", `/api/v1/user?name=${encodeURI(selectedUser)}`, {\n status: enabled ? \"enabled\" : \"disabled\",\n groups: selectedGroups,\n })\n .then((_) => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n api\n .invoke(\"POST\", \"/api/v1/users\", {\n accessKey,\n secretKey,\n groups: selectedGroups,\n })\n .then((_) => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n }\n };\n\n const resetForm = () => {\n if (selectedUser !== null) {\n setSelectedGroups([]);\n return;\n }\n setAccessKey(\"\");\n setSecretKey(\"\");\n setSelectedGroups([]);\n };\n\n const sendEnabled =\n accessKey.trim() !== \"\" &&\n ((secretKey.trim() !== \"\" && selectedUser === null) ||\n selectedUser !== null);\n return (\n {\n closeModalAndRefresh();\n }}\n modalOpen={open}\n title={\"Set Groups\"}\n titleIcon={}\n >\n \n ) => {\n saveRecord(e);\n }}\n >\n \n \n {\n setSelectedGroups(elements);\n }}\n />\n \n \n \n Clear\n \n\n \n Save\n \n \n {addLoading && (\n \n \n \n )}\n \n \n \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(ChangeUserGroups));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { modalBasic } from \"../Common/FormComponents/common/styleLibrary\";\nimport { IPolicyItem } from \"../Users/types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../common/api\";\nimport PolicySelectors from \"../Policies/PolicySelectors\";\n\ninterface ISetUserPoliciesProps {\n classes: any;\n closeModalAndRefresh: () => void;\n selectedUser: string;\n currentPolicies: IPolicyItem[];\n open: boolean;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n buttonContainer: {\n textAlign: \"right\",\n marginTop: \".9rem\",\n },\n });\n\nconst SetUserPolicies = ({\n classes,\n closeModalAndRefresh,\n selectedUser,\n currentPolicies,\n setModalErrorSnackMessage,\n open,\n}: ISetUserPoliciesProps) => {\n //Local States\n const [loading, setLoading] = useState(false);\n const [actualPolicy, setActualPolicy] = useState([]);\n const [selectedPolicy, setSelectedPolicy] = useState([]);\n\n const SetUserPoliciesAction = () => {\n let entity = \"user\";\n let value = selectedUser;\n\n setLoading(true);\n\n api\n .invoke(\"PUT\", `/api/v1/set-policy`, {\n name: selectedPolicy,\n entityName: value,\n entityType: entity,\n })\n .then(() => {\n setLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n const resetSelection = () => {\n setSelectedPolicy(actualPolicy);\n };\n\n useEffect(() => {\n if (open) {\n const userPolicy: string[] = [];\n for (let pol of currentPolicies) {\n userPolicy.push(pol.policy);\n }\n setActualPolicy(userPolicy);\n setSelectedPolicy(userPolicy);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open, selectedUser]);\n\n return (\n {\n closeModalAndRefresh();\n }}\n modalOpen={open}\n title=\"Set Policies\"\n >\n \n \n
\n
\n \n \n Reset\n \n \n Save\n \n \n {loading && (\n \n \n \n )}\n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(SetUserPolicies));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, Button, LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n modalStyleUtils,\n serviceAccountStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { NewServiceAccount } from \"../Common/CredentialsPrompt/types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../common/api\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...serviceAccountStyles,\n ...modalStyleUtils,\n });\n\ninterface IAddUserServiceAccountProps {\n classes: any;\n open: boolean;\n user: string;\n closeModalAndRefresh: (res: NewServiceAccount | null) => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst AddUserServiceAccount = ({\n classes,\n open,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n user,\n}: IAddUserServiceAccountProps) => {\n const [addSending, setAddSending] = useState(false);\n const [policyDefinition, setPolicyDefinition] = useState(\"\");\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n const [isRestrictedByPolicy, setIsRestrictedByPolicy] =\n useState(false);\n const [addCredentials, setAddCredentials] = useState(false);\n\n useEffect(() => {\n if (addSending) {\n if (addCredentials) {\n api\n .invoke(\"POST\", `/api/v1/user/${user}/service-account-credentials`, {\n policy: policyDefinition,\n accessKey: accessKey,\n secretKey: secretKey,\n })\n .then((res) => {\n setAddSending(false);\n closeModalAndRefresh(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n api\n .invoke(\"POST\", `/api/v1/user/${user}/service-accounts`, {\n policy: policyDefinition,\n })\n .then((res) => {\n setAddSending(false);\n closeModalAndRefresh(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n setModalErrorSnackMessage(err);\n });\n }\n }\n }, [\n addSending,\n setAddSending,\n setModalErrorSnackMessage,\n policyDefinition,\n closeModalAndRefresh,\n user,\n addCredentials,\n accessKey,\n secretKey,\n ]);\n\n const addUserServiceAccount = (e: React.FormEvent) => {\n e.preventDefault();\n setAddSending(true);\n };\n\n const resetForm = () => {\n setPolicyDefinition(\"\");\n };\n\n return (\n {\n closeModalAndRefresh(null);\n }}\n title={`Create Service Account`}\n >\n ) => {\n addUserServiceAccount(e);\n }}\n >\n \n \n
\n Service Accounts inherit the policy explicitly attached to the\n parent user and the policy attached to each group in which the\n parent user has membership. You can specify an optional\n JSON-formatted policy below to restrict the Service Account access\n to a subset of actions and resources explicitly allowed for the\n parent user.\n \n You cannot modify the Service Account optional policy after\n saving.\n \n
\n
\n \n \n ) => {\n setAddCredentials(event.target.checked);\n }}\n label={\"Customize Credentials\"}\n />\n\n {addCredentials && (\n \n
\n {\n setAccessKey(e.target.value);\n }}\n />\n {\n setSecretKey(e.target.value);\n }}\n />\n
\n
\n )}\n
\n \n ) => {\n setIsRestrictedByPolicy(event.target.checked);\n }}\n label={\"Restrict with policy\"}\n />\n\n {isRestrictedByPolicy && (\n \n {\n setPolicyDefinition(value);\n }}\n />\n \n )}\n \n
\n
\n \n \n \n Clear\n \n \n Create\n \n \n {addSending && (\n \n \n \n )}\n \n \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddUserServiceAccount));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Box } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n actionsTray,\n searchField,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport { AppState } from \"../../../store\";\nimport { setErrorSnackMessage, setSnackBarMessage } from \"../../../actions\";\nimport { NewServiceAccount } from \"../Common/CredentialsPrompt/types\";\nimport { stringSort } from \"../../../utils/sortFunctions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport AddUserServiceAccount from \"./AddUserServiceAccount\";\nimport DeleteServiceAccount from \"../Account/DeleteServiceAccount\";\nimport CredentialsPrompt from \"../Common/CredentialsPrompt/CredentialsPrompt\";\nimport { AddIcon, DeleteIcon } from \"../../../icons\";\nimport PanelTitle from \"../Common/PanelTitle/PanelTitle\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport DeleteMultipleServiceAccounts from \"./DeleteMultipleServiceAccounts\"\nimport {selectSAs} from \"../../Console/Configurations/utils\"\n\ninterface IUserServiceAccountsProps {\n classes: any;\n user: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n hasPolicy: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...searchField,\n ...actionsTray,\n actionsTray: {\n ...actionsTray.actionsTray,\n },\n ...tableStyles,\n });\n\nconst UserServiceAccountsPanel = ({\n classes,\n user,\n setErrorSnackMessage,\n hasPolicy,\n}: IUserServiceAccountsProps) => {\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(false);\n const [addScreenOpen, setAddScreenOpen] = useState(false);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedServiceAccount, setSelectedServiceAccount] = useState<\n string | null\n >(null);\n const [showNewCredentials, setShowNewCredentials] = useState(false);\n const [newServiceAccount, setNewServiceAccount] =\n useState(null);\n const [selectedSAs, setSelectedSAs] = useState([]);\n const [deleteMultipleOpen, setDeleteMultipleOpen] = useState(false); \n\n useEffect(() => {\n fetchRecords();\n }, []);\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/user/${user}/service-accounts`)\n .then((res: string[]) => {\n const serviceAccounts = res.sort(stringSort);\n setLoading(false);\n setRecords(serviceAccounts);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoading(false);\n });\n }\n }, [loading, setLoading, setRecords, setErrorSnackMessage, user]);\n\n const fetchRecords = () => {\n setLoading(true);\n };\n\n const closeAddModalAndRefresh = (res: NewServiceAccount | null) => {\n setAddScreenOpen(false);\n fetchRecords();\n\n if (res !== null) {\n const nsa: NewServiceAccount = {\n console: {\n accessKey: `${res.accessKey}`,\n secretKey: `${res.secretKey}`,\n },\n };\n setNewServiceAccount(nsa);\n setShowNewCredentials(true);\n }\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 setSnackBarMessage(`Service accounts deleted successfully.`);\n setSelectedSAs([]);\n setLoading(true);\n }\n };\n\n\nconst selectAllItems = () => {\n if (selectedSAs.length === records.length) {\n setSelectedSAs([]);\n return;\n }\n setSelectedSAs(records);\n };\n\n const closeCredentialsModal = () => {\n setShowNewCredentials(false);\n setNewServiceAccount(null);\n };\n\n const confirmDeleteServiceAccount = (selectedServiceAccount: string) => {\n setSelectedServiceAccount(selectedServiceAccount);\n setDeleteOpen(true);\n };\n\n const tableActions = [\n { type: \"delete\", onClick: confirmDeleteServiceAccount },\n ];\n\n return (\n \n {addScreenOpen && (\n {\n closeAddModalAndRefresh(res);\n }}\n user={user}\n />\n )}\n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n {deleteMultipleOpen && (\n \n )}\n {showNewCredentials && (\n {\n closeCredentialsModal();\n }}\n entity=\"Service Account\"\n />\n )}\n
\n Service Accounts\n \n {setDeleteMultipleOpen(true);}}\n text={\"Delete Selected\"}\n icon={}\n color=\"secondary\"\n disabled={selectedSAs.length === 0}\n variant={\"outlined\"}\n />\n }\n onClick={() => {\n setAddScreenOpen(true);\n setAddScreenOpen(true);\n setSelectedServiceAccount(null);\n }}\n disabled={!hasPolicy}\n />\n \n
\n
\n selectSAs(e, setSelectedSAs, selectedSAs)}\n onSelectAll={selectAllItems}\n />\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(UserServiceAccountsPanel));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { connect } from \"react-redux\";\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 { Button, LinearProgress } from \"@mui/material\";\nimport {\n containerForHeader,\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { ChangeUserPasswordRequest } from \"../Buckets/types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport { ChangePasswordIcon } from \"../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n ...modalStyleUtils,\n ...formFieldStyles,\n ...spacingUtils,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IChangeUserPasswordProps {\n classes: any;\n open: boolean;\n userName: string;\n closeModal: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst ChangeUserPassword = ({\n classes,\n open,\n userName,\n closeModal,\n setModalErrorSnackMessage,\n}: IChangeUserPasswordProps) => {\n const [newPassword, setNewPassword] = useState(\"\");\n const [reNewPassword, setReNewPassword] = useState(\"\");\n const [loading, setLoading] = useState(false);\n\n const changeUserPassword = (event: React.FormEvent) => {\n event.preventDefault();\n\n if (loading) {\n return;\n }\n setLoading(true);\n\n if (newPassword.length < 8) {\n setModalErrorSnackMessage({\n errorMessage: \"Passwords must be at least 8 characters long\",\n detailedError: \"\",\n });\n setLoading(false);\n return;\n }\n\n let request: ChangeUserPasswordRequest = {\n selectedUser: userName,\n newSecretKey: newPassword,\n };\n\n api\n .invoke(\"POST\", \"/api/v1/account/change-user-password\", request)\n .then((res) => {\n setLoading(false);\n setNewPassword(\"\");\n setReNewPassword(\"\");\n closeModal();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setNewPassword(\"\");\n setReNewPassword(\"\");\n setModalErrorSnackMessage(err);\n });\n };\n\n return open ? (\n {\n setNewPassword(\"\");\n setReNewPassword(\"\");\n closeModal();\n }}\n titleIcon={}\n >\n ) => {\n changeUserPassword(e);\n }}\n >\n \n \n
\n Change password for: {userName}\n
\n \n ) => {\n setNewPassword(event.target.value);\n }}\n label=\"New Password\"\n type=\"password\"\n value={newPassword}\n />\n \n \n ) => {\n setReNewPassword(event.target.value);\n }}\n label=\"Type New Password Again\"\n type=\"password\"\n value={reNewPassword}\n />\n \n
\n \n 0 && newPassword === reNewPassword)\n }\n >\n Save\n \n \n {loading && (\n \n \n \n )}\n
\n \n \n ) : null;\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ChangeUserPassword));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport history from \"../../../history\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\n\ninterface IDeleteUserProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n userName: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeleteUserString = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n userName,\n setErrorSnackMessage,\n}: IDeleteUserProps) => {\n const onDelSuccess = () => {\n history.push(IAM_PAGES.USERS);\n };\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!userName) {\n return null;\n }\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\"DELETE\", `/api/v1/user?name=${encodeURI(userName)}`, {\n id: userName,\n });\n };\n\n return (\n }\n confirmationContent={\n \n Are you sure you want to delete user
\n {userName}?\n
\n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteUserString);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport { Link } from \"react-router-dom\";\n\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 AddIcon,\n IAMPoliciesIcon,\n PasswordKeyIcon,\n TrashIcon,\n UsersIcon,\n} from \"../../../icons\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../actions\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { IPolicyItem } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport ChangeUserGroups from \"./ChangeUserGroups\";\nimport SetUserPolicies from \"./SetUserPolicies\";\nimport history from \"../../../history\";\nimport UserServiceAccountsPanel from \"./UserServiceAccountsPanel\";\nimport ChangeUserPasswordModal from \"../Account/ChangeUserPasswordModal\";\nimport DeleteUserString from \"./DeleteUserString\";\nimport ScreenTitle from \"../Common/ScreenTitle/ScreenTitle\";\nimport PanelTitle from \"../Common/PanelTitle/PanelTitle\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport VerticalTabs from \"../Common/VerticalTabs/VerticalTabs\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport BackLink from \"../../../common/BackLink\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n pageContainer: {\n border: \"1px solid #EAEAEA\",\n },\n statusLabel: {\n fontSize: \".8rem\",\n marginRight: \".5rem\",\n },\n statusValue: {\n fontWeight: \"bold\",\n fontSize: \".9rem\",\n marginRight: \".5rem\",\n },\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n ...actionsTray,\n ...searchField,\n ...tableStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IUserDetailsProps {\n classes: any;\n match: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\ninterface IGroupItem {\n group: string;\n}\n\nconst UserDetails = ({ classes, match }: IUserDetailsProps) => {\n const [loading, setLoading] = useState(false);\n const [addGroupOpen, setAddGroupOpen] = useState(false);\n const [policyOpen, setPolicyOpen] = useState(false);\n const [addLoading, setAddLoading] = useState(false);\n\n const [enabled, setEnabled] = useState(false);\n const [selectedGroups, setSelectedGroups] = useState([]);\n const [currentGroups, setCurrentGroups] = useState([]);\n const [currentPolicies, setCurrentPolicies] = useState([]);\n const [changeUserPasswordModalOpen, setChangeUserPasswordModalOpen] =\n useState(false);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [hasPolicy, setHasPolicy] = useState(false);\n\n const userName = match.params[\"userName\"];\n\n const changeUserPassword = () => {\n setChangeUserPasswordModalOpen(true);\n };\n\n const deleteUser = () => {\n setDeleteOpen(true);\n };\n\n const getUserInformation = useCallback(() => {\n if (userName === \"\") {\n return null;\n }\n setLoading(true);\n api\n .invoke(\"GET\", `/api/v1/user?name=${encodeURIComponent(userName)}`)\n .then((res) => {\n setAddLoading(false);\n const memberOf = res.memberOf || [];\n setSelectedGroups(memberOf);\n let currentGroups: IGroupItem[] = [];\n for (let group of memberOf) {\n currentGroups.push({\n group: group,\n });\n }\n setCurrentGroups(currentGroups);\n let currentPolicies: IPolicyItem[] = [];\n for (let policy of res.policy) {\n currentPolicies.push({\n policy: policy,\n });\n }\n setCurrentPolicies(currentPolicies);\n setEnabled(res.status === \"enabled\");\n setHasPolicy(res.hasPolicy);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n }, [userName]);\n\n const saveRecord = (isEnabled: boolean) => {\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n api\n .invoke(\"PUT\", `/api/v1/user?name=${encodeURIComponent(userName)}`, {\n status: isEnabled ? \"enabled\" : \"disabled\",\n groups: selectedGroups,\n })\n .then((_) => {\n setAddLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n useEffect(() => {\n getUserInformation();\n }, [getUserInformation]);\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n if (refresh) {\n getUserInformation();\n }\n };\n\n return (\n \n \n \n Users\n \n \n }\n actions={}\n />\n {addGroupOpen && (\n {\n setAddGroupOpen(false);\n getUserInformation();\n }}\n />\n )}\n {policyOpen && (\n {\n setPolicyOpen(false);\n getUserInformation();\n }}\n />\n )}\n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n {changeUserPasswordModalOpen && (\n setChangeUserPasswordModalOpen(false)}\n />\n )}\n \n \n \n \n \n \n }\n title={userName}\n actions={\n \n User Status:\n \n {enabled ? \"Enabled\" : \"Disabled\"}\n \n {\n setEnabled(!enabled);\n saveRecord(!enabled);\n }}\n switchOnly\n />\n\n }\n color=\"secondary\"\n variant={\"outlined\"}\n />\n\n }\n color=\"primary\"\n variant={\"outlined\"}\n />\n \n }\n />\n \n\n \n \n {{\n tabConfig: {\n label: \"Groups\",\n },\n content: (\n \n
\n Groups\n {\n setAddGroupOpen(true);\n }}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n
\n
\n \n
\n
\n ),\n }}\n {{\n tabConfig: {\n label: \"Service Accounts\",\n },\n content: (\n \n ),\n }}\n {{\n tabConfig: {\n label: \"Policies\",\n },\n content: (\n \n
\n Policies\n\n {\n setPolicyOpen(true);\n }}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n
\n
\n {\n history.push(\n `${IAM_PAGES.POLICIES}/${policy.policy}`\n );\n },\n },\n ]}\n columns={[{ label: \"Name\", elementKey: \"policy\" }]}\n isLoading={loading}\n records={currentPolicies}\n entityName=\"Policies\"\n idField=\"policy\"\n />\n
\n
\n ),\n }}\n
\n
\n
\n
\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(UserDetails));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 history from \"../../../history\";\nimport { Route, Router, Switch, withRouter } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport { AppState } from \"../../../store\";\nimport { setMenuOpen } from \"../../../actions\";\nimport NotFoundPage from \"../../NotFoundPage\";\n\nimport ListUsers from \"./ListUsers\";\nimport UserDetails from \"./UserDetails\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\n\nconst mapState = (state: AppState) => ({\n open: state.system.sidebarOpen,\n});\n\nconst connector = connect(mapState, { setMenuOpen });\n\nconst Users = () => {\n return (\n \n \n \n \n \n \n \n );\n};\n\nexport default withRouter(connector(Users));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLinkUtilityClass(slot) {\n return generateUtilityClass('MuiLink', slot);\n}\nconst linkClasses = generateUtilityClasses('MuiLink', ['root', 'underlineNone', 'underlineHover', 'underlineAlways', 'button', 'focusVisible']);\nexport default linkClasses;","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\"];\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 { alpha, getPath } from '@mui/system';\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 { jsx as _jsx } from \"react/jsx-runtime\";\nconst colorTransformations = {\n primary: 'primary.main',\n textPrimary: 'text.primary',\n secondary: 'secondary.main',\n textSecondary: 'text.secondary',\n error: 'error.main'\n};\n\nconst transformDeprecatedColors = color => {\n return colorTransformations[color] || color;\n};\n\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};\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 const color = getPath(theme, `palette.${transformDeprecatedColors(ownerState.color)}`) || ownerState.color;\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' && {\n textDecoration: 'underline',\n textDecorationColor: color !== 'inherit' ? alpha(color, 0.4) : undefined,\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\n const {\n className,\n color = 'primary',\n component = 'a',\n onBlur,\n onFocus,\n TypographyClasses,\n underline = 'always',\n variant = 'inherit'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\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\n const handleBlur = event => {\n handleBlurVisible(event);\n\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleFocus = event => {\n handleFocusVisible(event);\n\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const ownerState = _extends({}, props, {\n color,\n component,\n focusVisible,\n underline,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LinkRoot, _extends({\n className: clsx(classes.root, className),\n classes: TypographyClasses,\n color: color,\n component: component,\n onBlur: handleBlur,\n onFocus: handleFocus,\n ref: handlerRef,\n ownerState: ownerState,\n variant: variant\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the link.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .any,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * `classes` prop applied to the [`Typography`](/api/typography/) element.\n */\n TypographyClasses: PropTypes.object,\n\n /**\n * Controls when the link should have an underline.\n * @default 'always'\n */\n underline: PropTypes.oneOf(['always', 'hover', 'none']),\n\n /**\n * Applies the theme typography styles.\n * @default 'inherit'\n */\n variant: PropTypes\n /* @typescript-to-proptypes-ignore */\n .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;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, darken, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n}, ownerState.edge === 'start' && {\n marginLeft: -8\n}, ownerState.edge === 'end' && {\n marginRight: -8\n}, ownerState.size === 'small' && {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n}));\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.palette.mode === 'light' ? 0.12 : 0.2\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({\n '&:hover': {\n backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${switchClasses.checked}`]: {\n color: theme.palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: theme.palette[ownerState.color].main\n }\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.mode === 'light' ? 0.38 : 0.3\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","mapDispatchToProps","setErrorSnackMessage","connector","connect","wrapText","whiteSpace","wordWrap","closeDeleteModalAndRefresh","deleteOpen","selectedServiceAccount","useApi","err","deleteLoading","invokeDeleteApi","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","onClose","confirmationContent","root","margin","border","backgroundColor","cursor","info","main","fontFamily","children","rest","container","flexFlow","inputWithCopy","background","height","inputLabel","fieldBasic","value","OutlinedInput","readOnly","endAdornment","InputAdornment","position","text","BoxIconButton","tooltip","onMouseDown","edge","warningBlock","credentialTitle","fontWeight","buttonContainer","textAlign","marginTop","credentialsPanel","overflowY","maxHeight","promptTitle","buttonSpacer","promptIcon","newServiceAccount","open","closeModal","entity","consoleCreds","get","idp","ModalWrapper","modalOpen","Grid","item","xs","formScrollable","Array","isArray","map","credentialsPair","index","accessKey","secretKey","WarnIcon","Button","variant","consoleExtras","cCreds","itemMap","access_key","secret_key","console","filename","element","document","createElement","setAttribute","encodeURIComponent","style","body","appendChild","click","removeChild","download","JSON","stringify","endIcon","langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","caretColor","borderLeftColor","borderRight","dark","darkTheme","mode","onBeforeChange","editorHeight","useState","isDarkTheme","setIsDarkTheme","extensionList","tooltipContainer","placement","sx","extensions","editable","basicSetup","onChange","v","vu","borderTop","paddingRight","marginLeft","StyledSwitch","switchBase","transform","common","white","boxShadow","opacity","thumb","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","Switch","divContainer","marginBottom","indicatorLabelOn","indicatorLabel","fieldDescription","actionsTray","id","name","disabled","switchOnly","description","indicatorLabels","switchComponent","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","sm","md","htmlFor","component","headerBarIcon","headerBarSubheader","screenTitle","borderBottom","titleColumn","leftItems","rightItems","subTitle","actions","tabStripStyle","minHeight","tabsContainer","tabsHeaderContainer","tabContentContainer","tabPanel","flexDirection","selectedTab","routes","isRouteTabs","React","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","forEach","child","push","tabConfig","content","event","newValue","orientation","scrollButtons","tabList","tabHeader","focusRipple","setModalErrorSnackMessage","noFound","searchBox","flex","fieldLabel","tableBlock","tableStyles","filterBox","searchField","selectorsCommon","selectedPolicy","setSelectedPolicy","records","setRecords","loading","filter","setFilter","fetchPolicies","useCallback","api","then","res","policies","sort","policySort","catch","useEffect","filteredRecords","elementItem","includes","placeholder","columns","elementKey","onSelect","e","targetD","target","elements","selectedItems","entityName","idField","customPaperHeight","multiSelectTable","actionsTitle","alignSelf","selectedGroups","setSelectedGroups","fetchGroups","groups","stringSort","selGroups","adornmentPosition","AddUser","withSuspense","SetPolicy","DeleteUser","AddToGroup","containerForHeader","spacing","history","setLoading","addScreenOpen","setAddScreenOpen","setDeleteOpen","selectedUser","setSelectedUser","addGroupOpen","setAddGroupOpen","checkedUsers","setCheckedUsers","policyOpen","setPolicyOpen","displayListUsers","hasPermission","CONSOLE_UI_RESOURCE","IAM_SCOPES","deleteUser","viewUser","addUserToGroup","users","usersSort","userLoggedIn","decodeFileName","localStorage","getItem","tableActions","type","selectionElement","IAM_PAGES","encodeURI","disableButtonFunction","topValue","Fragment","closeModalAndRefresh","selectedGroup","refresh","close","unCheckAll","closeAddGroupBulk","PageHeader","PageLayout","SearchBox","overrideClass","SecureComponent","scopes","resource","errorProps","RBIconButton","S3_ALL_RESOURCES","matchAll","LinearProgress","TableWrapper","itemActions","undefined","HelpBox","iconComponent","help","href","rel","alignContent","AButton","spacingUtils","modalBasic","addLoading","setAddLoading","setAccessKey","setSecretKey","enabled","setEnabled","getUserInformation","memberOf","status","sendEnabled","trim","noValidate","autoComplete","onSubmit","preventDefault","_","GroupsSelectors","spacerRight","currentPolicies","actualPolicy","setActualPolicy","userPolicy","pol","policy","PolicySelectors","clearButton","entityType","serviceAccountStyles","modalStyleUtils","user","addSending","setAddSending","policyDefinition","setPolicyDefinition","isRestrictedByPolicy","setIsRestrictedByPolicy","addCredentials","setAddCredentials","addUserServiceAccount","modalFormScrollable","infoDetails","Box","paddingTop","paddingBottom","FormSwitchWrapper","stackedInputs","InputBoxWrapper","codeMirrorContainer","CodeMirrorWrapper","editor","data","modalButtonBar","state","session","hasPolicy","setSelectedServiceAccount","showNewCredentials","setShowNewCredentials","setNewServiceAccount","selectedSAs","setSelectedSAs","deleteMultipleOpen","setDeleteMultipleOpen","fetchRecords","serviceAccounts","nsa","closeAddModalAndRefresh","DeleteServiceAccount","DeleteMultipleServiceAccounts","setSnackBarMessage","CredentialsPrompt","PanelTitle","selectSAs","onSelectAll","formFieldStyles","userName","newPassword","setNewPassword","reNewPassword","setReNewPassword","errorMessage","detailedError","request","newSecretKey","changeUserPassword","spacerBottom","formFieldRow","ConfirmDialog","DialogContentText","pageContainer","statusLabel","statusValue","breadcrumLink","match","currentGroups","setCurrentGroups","setCurrentPolicies","changeUserPasswordModalOpen","setChangeUserPasswordModalOpen","setHasPolicy","params","group","ChangeUserPasswordModal","BackLink","ScreenTitle","isEnabled","VerticalTabs","system","sidebarOpen","setMenuOpen","withRouter","path","UserDetails","ListUsers","NotFoundPage","Copyright","Typography","align","Link","Date","getFullYear","fontStyle","mt","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","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","hidden","role","getLinkUtilityClass","colorTransformations","textPrimary","secondary","textSecondary","error","LinkRoot","capitalize","underline","button","getPath","transformDeprecatedColors","textDecorationColor","alpha","WebkitTapHighlightColor","outline","userSelect","verticalAlign","MozAppearance","WebkitAppearance","borderStyle","linkClasses","onBlur","onFocus","TypographyClasses","useIsFocusVisible","isFocusVisibleRef","handleBlurVisible","handleFocusVisible","focusVisibleRef","setFocusVisible","handlerRef","useForkRef","slots","current","getSwitchUtilityClass","SwitchRoot","size","overflow","boxSizing","flexShrink","zIndex","colorAdjust","switchClasses","SwitchSwitchBase","SwitchBase","input","top","left","grey","duration","shortest","action","active","hoverOpacity","lighten","darken","SwitchTrack","black","SwitchThumb","shadows","composedClasses","_jsxs","checkedIcon","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","i","F","s","n","done","_e","f","normalCompletion","didErr","call","step","next","_e2"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/9807.82e09cb8.chunk.js b/portal-ui/build/static/js/9807.82e09cb8.chunk.js new file mode 100644 index 000000000..a4f5a54af --- /dev/null +++ b/portal-ui/build/static/js/9807.82e09cb8.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[9807,4109,1140],{29316:function(e,n,t){t(50390);var r=t(6369),o=t(86509),i=t(4285),s=t(98280),a=t(62559);n.Z=(0,i.Z)((function(e){return(0,o.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var n=e.to,t=e.label,o=e.classes,i=e.className,c=e.executeOnClick;return(0,a.jsxs)(r.rU,{to:n,className:"".concat(o.link," ").concat(i||""),onClick:function(){c&&c()},children:[(0,a.jsx)("div",{className:o.icon,children:(0,a.jsx)(s.xN,{})}),(0,a.jsx)("div",{className:o.label,children:t})]})}))},47664:function(e,n,t){t.r(n);var r=t(23430),o=(t(50390),t(34424)),i=t(86509),s=t(4285),a=t(23473),c=t(44149),l=t(21639),u=t(60656),d=t(98280),h=t(62559),m={setErrorSnackMessage:c.Ih},f=(0,o.$j)(null,m);n.default=(0,s.Z)((function(e){return(0,i.Z)({wrapText:{maxWidth:"200px",whiteSpace:"normal",wordWrap:"break-word"}})}))(f((function(e){var n=e.classes,t=e.closeDeleteModalAndRefresh,o=e.deleteOpen,i=e.selectedServiceAccount,s=e.setErrorSnackMessage,c=(0,l.Z)((function(){return t(!0)}),(function(e){return s(e)})),m=(0,r.Z)(c,2),f=m[0],p=m[1];if(!i)return null;return(0,h.jsx)(u.Z,{title:"Delete Service Account",confirmText:"Delete",isOpen:o,titleIcon:(0,h.jsx)(d.Nv,{}),isLoading:f,onConfirm:function(){p("DELETE","/api/v1/service-accounts/".concat(i))},onClose:function(){return t(!1)},confirmationContent:(0,h.jsxs)(a.Z,{children:["Are you sure you want to delete service account"," ",(0,h.jsx)("b",{className:n.wrapText,children:i}),"?"]})})})))},11835:function(e,n,t){var r=t(18489),o=t(83738),i=(t(50390),t(86509)),s=t(4285),a=t(62559),c=["classes","children"];n.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 n=e.classes,t=e.children,i=(0,o.Z)(e,c);return(0,a.jsx)("button",(0,r.Z)((0,r.Z)({},i),{},{className:n.root,children:t}))}))},39080:function(e,n,t){t.r(n),t.d(n,{default:function(){return S}});var r=t(18489),o=t(35531),i=t(50390),s=t(38342),a=t.n(s),c=t(86509),l=t(4285),u=t(66946),d=t(76352),h=t(25594),m=t(58217),f=t(65771),p=t(70758),x=t(33034),Z=t.n(x),g=t(98280),v=t(72462),j=t(62559),b=(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,r.Z)((0,r.Z)({},v.YI.inputLabel),{},{fontSize:".8rem"})})}))((function(e){var n=e.label,t=void 0===n?"":n,r=e.value,o=void 0===r?"":r,i=e.classes,s=void 0===i?{}:i;return(0,j.jsxs)("div",{className:s.container,children:[(0,j.jsxs)("div",{className:s.inputLabel,children:[t,":"]}),(0,j.jsx)("div",{className:s.inputWithCopy,children:(0,j.jsx)(m.Z,{value:o,readOnly:!0,endAdornment:(0,j.jsx)(f.Z,{position:"end",children:(0,j.jsx)(Z(),{text:o,children:(0,j.jsx)(p.Z,{"aria-label":"copy",tooltip:"Copy",onClick:function(){},onMouseDown:function(){},edge:"end",children:(0,j.jsx)(g.TI,{})})})})})})]})})),y=t(47424),S=(0,l.Z)((function(e){return(0,c.Z)({warningBlock:{color:"red",fontSize:".85rem",margin:".5rem 0 .5rem 0",display:"flex",alignItems:"center","& svg ":{marginRight:".3rem",height:16,width:16}},credentialTitle:{padding:".8rem 0 0 0",fontWeight:600,fontSize:".9rem"},buttonContainer:{textAlign:"right",marginTop:"1rem"},credentialsPanel:{overflowY:"auto",maxHeight:350},promptTitle:{display:"flex",alignItems:"center"},buttonSpacer:{marginRight:".9rem"},promptIcon:{marginRight:".1rem",display:"flex",alignItems:"center",height:"2rem",width:"2rem"}})}))((function(e){var n=e.classes,t=e.newServiceAccount,s=e.open,c=e.closeModal,l=e.entity;if(!t)return null;var m=a()(t,"console",null),f=a()(t,"idp",!1);return(0,j.jsx)(d.Z,{modalOpen:s,onClose:function(){c()},title:(0,j.jsx)("div",{className:n.promptTitle,children:(0,j.jsxs)("div",{children:["New ",l," Created"]})}),titleIcon:(0,j.jsx)(g.tV,{}),children:(0,j.jsxs)(h.ZP,{container:!0,children:[(0,j.jsxs)(h.ZP,{item:!0,xs:12,className:n.formScrollable,children:["A new ",l," has been created with the following details:",!f&&m&&(0,j.jsx)(i.Fragment,{children:(0,j.jsxs)(h.ZP,{item:!0,xs:12,className:n.credentialsPanel,children:[(0,j.jsx)("div",{className:n.credentialTitle,children:"Console Credentials"}),Array.isArray(m)&&m.map((function(e,n){return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(b,{label:"Access Key",value:e.accessKey}),(0,j.jsx)(b,{label:"Secret Key",value:e.secretKey})]})})),!Array.isArray(m)&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(b,{label:"Access Key",value:m.accessKey}),(0,j.jsx)(b,{label:"Secret Key",value:m.secretKey})]})]})}),f?(0,j.jsx)("div",{className:n.warningBlock,children:"Please Login via the configured external identity provider."}):(0,j.jsxs)("div",{className:n.warningBlock,children:[(0,j.jsx)(y.Z,{}),(0,j.jsx)("span",{children:"Write these down, as this is the only time the secret will be displayed."})]})]}),(0,j.jsxs)(h.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[(0,j.jsx)(u.Z,{variant:"outlined",className:n.buttonSpacer,onClick:function(){c()},color:"primary",children:"Done"}),!f&&(0,j.jsx)(u.Z,{onClick:function(){var e={};if(m)if(Array.isArray(m)){var n=m.map((function(e){return{access_key:e.accessKey,secret_key:e.secretKey}}));e={console:(0,o.Z)(n)}}else e={console:[{access_key:m.accessKey,secret_key:m.secretKey}]};!function(e,n){var t=document.createElement("a");t.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(n)),t.setAttribute("download",e),t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)}("credentials.json",JSON.stringify((0,r.Z)({},e)))},endIcon:(0,j.jsx)(g._8,{}),variant:"contained",color:"primary",children:"Download"})]})]})})}))},92440:function(e,n,t){var r=t(36222),o=t(18489),i=t(50390),s=t(86509),a=t(4285),c=t(49056),l=t(36554),u=t(94187),d=t(35477),h=t(25594),m=t(72462),f=t(97538),p=t(44977),x=t(62559),Z=(0,a.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(c.Z);n.Z=(0,a.Z)((function(e){return(0,s.Z)((0,o.Z)((0,o.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},m.OR),m.YI))}))((function(e){var n=e.label,t=void 0===n?"":n,o=e.onChange,s=e.value,a=e.id,c=e.name,m=e.checked,g=void 0!==m&&m,v=e.disabled,j=void 0!==v&&v,b=e.switchOnly,y=void 0!==b&&b,S=e.tooltip,C=void 0===S?"":S,k=e.description,w=void 0===k?"":k,N=e.classes,A=e.indicatorLabels,P=(0,x.jsxs)(i.Fragment,{children:[!y&&(0,x.jsx)("span",{className:(0,p.Z)(N.indicatorLabel,(0,r.Z)({},N.indicatorLabelOn,!g)),children:A&&A.length>1?A[1]:"OFF"}),(0,x.jsx)(Z,{checked:g,onChange:o,color:"primary",name:c,inputProps:{"aria-label":"primary checkbox"},disabled:j,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:s}),!y&&(0,x.jsx)("span",{className:(0,p.Z)(N.indicatorLabel,(0,r.Z)({},N.indicatorLabelOn,g)),children:A?A[0]:"ON"})]});return y?P:(0,x.jsx)("div",{className:N.divContainer,children:(0,x.jsxs)(h.ZP,{container:!0,alignItems:"center",children:[(0,x.jsx)(h.ZP,{item:!0,xs:!0,children:(0,x.jsxs)(h.ZP,{container:!0,children:[(0,x.jsx)(h.ZP,{item:!0,xs:12,sm:4,md:3,children:""!==t&&(0,x.jsxs)(l.Z,{htmlFor:a,className:N.inputLabel,children:[(0,x.jsx)("span",{children:t}),""!==C&&(0,x.jsx)("div",{className:N.tooltipContainer,children:(0,x.jsx)(u.Z,{title:C,placement:"top-start",children:(0,x.jsx)("div",{className:N.tooltip,children:(0,x.jsx)(f.Z,{})})})})]})}),(0,x.jsx)(h.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==w&&(0,x.jsx)(d.Z,{component:"p",className:N.fieldDescription,children:w})})]})}),(0,x.jsx)(h.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:N.switchContainer,children:P})]})})}))},48122:function(e,n,t){t(50390);var r=t(86509),o=t(4285),i=t(62559);n.Z=(0,o.Z)((function(e){return(0,r.Z)({root:{padding:0,margin:0,fontSize:".9rem"}})}))((function(e){var n=e.classes,t=e.children;return(0,i.jsx)("h1",{className:n.root,children:t})}))},62702:function(e,n,t){t(50390);var r=t(25594),o=t(86509),i=t(4285),s=t(62559);n.Z=(0,i.Z)((function(e){return(0,o.Z)({headerBarIcon:{marginRight:".7rem",color:e.palette.primary.main,"& .min-icon":{width:44,height:44}},headerBarSubheader:{color:"grey","@media (max-width: 900px)":{maxWidth:200}},screenTitle:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"1rem",borderBottom:"1px solid #EAEAEA","@media (max-width: 600px)":{flexFlow:"column"}},titleColumn:{height:"auto",justifyContent:"center",display:"flex",flexFlow:"column",alignItems:"flex-start","& h1":{fontSize:19}},leftItems:{display:"flex",alignItems:"center","@media (max-width: 600px)":{flexFlow:"column"}},rightItems:{display:"flex",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.icon,o=e.title,i=e.subTitle,a=e.actions,c=e.className;return(0,s.jsx)(r.ZP,{container:!0,children:(0,s.jsxs)(r.ZP,{item:!0,xs:12,className:"".concat(n.screenTitle," ").concat(c||""),children:[(0,s.jsxs)("div",{className:n.leftItems,children:[t?(0,s.jsx)("div",{className:n.headerBarIcon,children:t}):null,(0,s.jsxs)("div",{className:n.titleColumn,children:[(0,s.jsx)("h1",{style:{margin:0},children:o}),(0,s.jsx)("span",{className:n.headerBarSubheader,children:i})]})]}),(0,s.jsx)("div",{className:n.rightItems,children:a})]})})}))},57647:function(e,n,t){var r=t(18489),o=t(23430),i=t(50390),s=t(56805),a=t(49044),c=t(97227),l=t(74564),u=t(669),d=t(4285),h=t(88669),m=t(86509),f=t(13512),p=t(62559),x={minHeight:60};n.Z=(0,d.Z)((function(e){return(0,m.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,m=void 0===d?"0":d,Z=e.routes,g=e.isRouteTabs,v=i.useState(m),j=(0,o.Z)(v,2),b=j[0],y=j[1],S=(0,h.Z)(),C=(0,f.Z)(S.breakpoints.down("md")),k=[],w=[];return n?(n.forEach((function(e){k.push(e.tabConfig),w.push(e.content)})),(0,p.jsx)(c.ZP,{value:"".concat(b),children:(0,p.jsxs)(s.Z,{className:t.tabsContainer,children:[(0,p.jsx)(s.Z,{className:t.tabsHeaderContainer,children:(0,p.jsx)(l.Z,{onChange:function(e,n){y(n)},orientation:C?"horizontal":"vertical",variant:C?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:k.map((function(e,n){return e?(0,p.jsx)(a.Z,(0,r.Z)((0,r.Z)({className:t.tabHeader,value:"".concat(n),style:x},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,p.jsxs)(s.Z,{className:t.tabContentContainer,children:[g?null:w.map((function(e,n){return(0,p.jsx)(u.Z,{classes:(0,r.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),g?(0,p.jsx)("div",{className:t.tabPanel,children:Z}):null]})]})})):null}))},59176:function(e,n,t){var r=t(35531),o=t(23430),i=t(18489),s=t(50390),a=t(34424),c=t(86509),l=t(4285),u=t(81378),d=t(25594),h=t(25233),m=t(72462),f=t(44149),p=t(30324),x=t(17777),Z=t(23165),g=t(62559),v=(0,a.$j)(null,{setModalErrorSnackMessage:f.zb});n.Z=(0,l.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({noFound:{textAlign:"center",padding:"10px 0"},searchBox:{flex:1},fieldLabel:{fontWeight:400,width:160,marginRight:10},tableBlock:(0,i.Z)({},m.VX.tableBlock),filterBox:{display:"flex",marginBottom:15,alignItems:"center","& span":{fontSize:14}}},m.qg),m.VX),m.OR),m.jY))}))(v((function(e){var n=e.classes,t=e.selectedPolicy,i=void 0===t?[]:t,a=e.setSelectedPolicy,c=e.setModalErrorSnackMessage,l=(0,s.useState)([]),m=(0,o.Z)(l,2),f=m[0],v=m[1],j=(0,s.useState)(!1),b=(0,o.Z)(j,2),y=b[0],S=b[1],C=(0,s.useState)(""),k=(0,o.Z)(C,2),w=k[0],N=k[1],A=(0,s.useCallback)((function(){S(!0),p.Z.invoke("GET","/api/v1/policies?limit=1000").then((function(e){var n=null===e.policies?[]:e.policies;S(!1),v(n.sort(h.g4))})).catch((function(e){S(!1),c(e)}))}),[c]);(0,s.useEffect)((function(){S(!0)}),[]),(0,s.useEffect)((function(){y&&A()}),[y,A]);var P=f.filter((function(e){return e.name.includes(w)}));return(0,g.jsx)(s.Fragment,{children:(0,g.jsxs)(d.ZP,{item:!0,xs:12,children:[y&&(0,g.jsx)(u.Z,{}),f.length>0?(0,g.jsxs)(s.Fragment,{children:[(0,g.jsxs)(d.ZP,{item:!0,xs:12,className:n.filterBox,children:[(0,g.jsx)("span",{className:n.fieldLabel,children:"Assign Policies"}),(0,g.jsx)("div",{className:n.searchBox,children:(0,g.jsx)(Z.Z,{placeholder:"Filter Policy",onChange:function(e){N(e)},value:w})})]}),(0,g.jsx)(d.ZP,{item:!0,xs:12,className:n.tableBlock,children:(0,g.jsx)(x.Z,{columns:[{label:"Policy",elementKey:"name"}],onSelect:function(e){var n=e.target,t=n.value,o=n.checked,s=(0,r.Z)(i);o?s.push(t):s=s.filter((function(e){return e!==t})),s=s.filter((function(e){return""!==e})),a(s)},selectedItems:i,isLoading:y,records:P,entityName:"Policies",idField:"name",customPaperHeight:n.multiSelectTable})})]}):(0,g.jsx)("div",{className:n.noFound,children:"No Policies Available"})]})})})))},92620:function(e,n,t){var r=t(35531),o=t(23430),i=t(18489),s=t(50390),a=t(34424),c=t(86509),l=t(4285),u=t(81378),d=t(38342),h=t.n(d),m=t(25594),f=t(25233),p=t(72462),x=t(44149),Z=t(30324),g=t(17777),v=t(23165),j=t(62559),b={setModalErrorSnackMessage:x.zb},y=(0,a.$j)(null,b);n.Z=(0,l.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)({noFound:{textAlign:"center",padding:"10px 0"},actionsTitle:{fontWeight:400,color:"#000",fontSize:14,alignSelf:"center",marginRight:48,"@media (max-width: 900px)":{marginRight:0}},searchBox:{flex:1,marginLeft:"2rem"}},p.VX),p.OR),p.jY))}))(y((function(e){var n=e.classes,t=e.selectedGroups,i=e.setSelectedGroups,a=e.setModalErrorSnackMessage,c=(0,s.useState)([]),l=(0,o.Z)(c,2),d=l[0],p=l[1],x=(0,s.useState)(!1),b=(0,o.Z)(x,2),y=b[0],S=b[1],C=(0,s.useState)(""),k=(0,o.Z)(C,2),w=k[0],N=k[1],A=(0,s.useCallback)((function(){Z.Z.invoke("GET","/api/v1/groups").then((function(e){var n=h()(e,"groups",[]);n||(n=[]),p(n.sort(f.V2)),S(!1)})).catch((function(e){a(e),S(!1)}))}),[a]);(0,s.useEffect)((function(){S(!0)}),[]),(0,s.useEffect)((function(){y&&A()}),[y,A]);var P=t||[],E=d.filter((function(e){return e.includes(w)}));return(0,j.jsx)(s.Fragment,{children:(0,j.jsxs)(m.ZP,{item:!0,xs:12,children:[y&&(0,j.jsx)(u.Z,{}),null!==d&&d.length>0?(0,j.jsxs)(s.Fragment,{children:[(0,j.jsxs)(m.ZP,{item:!0,xs:12,className:n.actionsTray,children:[(0,j.jsx)("label",{className:n.actionsTitle,children:"Assign Groups"}),(0,j.jsx)("div",{className:n.searchBox,children:(0,j.jsx)(v.Z,{placeholder:"Filter Groups",adornmentPosition:"end",onChange:N,value:w})})]}),(0,j.jsx)(m.ZP,{item:!0,xs:12,className:n.tableBlock,children:(0,j.jsx)(g.Z,{columns:[{label:"Group",elementKey:""}],onSelect:function(e){var n=e.target,t=n.value,o=n.checked,s=(0,r.Z)(P);return o?s.push(t):s=s.filter((function(e){return e!==t})),i(s),s},selectedItems:P,isLoading:y,records:E,entityName:"Groups",idField:"",customPaperHeight:n.multiSelectTable})})]}):(0,j.jsx)("div",{className:n.noFound,children:"No Groups Available"})]})})})))},48951:function(e,n,t){t.r(n),t.d(n,{default:function(){return we}});var r=t(50390),o=t(24442),i=t(70971),s=t(34424),a=t(44149),c=t(36176),l=t(35531),u=t(23430),d=t(18489),h=t(86509),m=t(4285),f=t(30324),p=t(25594),x=t(81378),Z=t(25233),g=t(98280),v=t(72462),j=t(17777),b=t(35721),y=t(28948),S=t(8235),C=t(11835),k=t(25534),w=t(23165),N=t(37882),A=t(49495),P=t(15607),E=t(53224),M=t(62559),F=(0,N.Z)(r.lazy((function(){return t.e(5961).then(t.bind(t,35961))}))),R=(0,N.Z)(r.lazy((function(){return t.e(6549).then(t.bind(t,16549))}))),I=(0,N.Z)(r.lazy((function(){return t.e(7498).then(t.bind(t,57498))}))),T=(0,N.Z)(r.lazy((function(){return t.e(9421).then(t.bind(t,69421))}))),B={setErrorSnackMessage:a.Ih},D=(0,s.$j)(null,B),U=(0,m.Z)((function(e){return(0,h.Z)((0,d.Z)((0,d.Z)((0,d.Z)((0,d.Z)({},v.OR),v.qg),{},{searchField:(0,d.Z)((0,d.Z)({},v.qg.searchField),{},{marginRight:"auto",maxWidth:380})},v.VX),(0,v.Bz)(e.spacing(4))))}))(D((function(e){var n=e.classes,t=e.setErrorSnackMessage,o=e.history,i=(0,r.useState)([]),s=(0,u.Z)(i,2),a=s[0],c=s[1],d=(0,r.useState)(!0),h=(0,u.Z)(d,2),m=h[0],v=h[1],N=(0,r.useState)(!1),B=(0,u.Z)(N,2),D=B[0],U=B[1],O=(0,r.useState)(!1),L=(0,u.Z)(O,2),z=L[0],_=L[1],K=(0,r.useState)(null),G=(0,u.Z)(K,2),V=G[0],W=G[1],$=(0,r.useState)(!1),H=(0,u.Z)($,2),q=H[0],X=H[1],Y=(0,r.useState)(""),Q=(0,u.Z)(Y,2),J=Q[0],ee=Q[1],ne=(0,r.useState)([]),te=(0,u.Z)(ne,2),re=te[0],oe=te[1],ie=(0,r.useState)(!1),se=(0,u.Z)(ie,2),ae=se[0],ce=se[1],le=(0,P.F)(A.C3,[A.Ft.ADMIN_LIST_USERS]),ue=(0,P.F)(A.C3,[A.Ft.ADMIN_DELETE_USER]),de=(0,P.F)(A.C3,[A.Ft.ADMIN_GET_USER]),he=(0,P.F)(A.C3,[A.Ft.ADMIN_ADD_USER_TO_GROUP]);(0,r.useEffect)((function(){m&&(le?f.Z.invoke("GET","/api/v1/users").then((function(e){var n=null===e.users?[]:e.users;v(!1),c(n.sort(Z.LQ))})).catch((function(e){v(!1),t(e)})):v(!1))}),[m,t,le]);var me=a.filter((function(e){return e.accessKey.includes(J)})),fe=(0,y.le)(localStorage.getItem("userLoggedIn")||""),pe=[{type:"view",onClick:function(e){o.push("".concat(A.gA.USERS,"/").concat(encodeURI(e.accessKey)))},disableButtonFunction:function(){return!de}},{type:"delete",onClick:function(e){_(!0),W(e)},disableButtonFunction:function(e){return e===fe||!ue}}];return(0,M.jsxs)(r.Fragment,{children:[D&&(0,M.jsx)(F,{open:D,selectedUser:V,closeModalAndRefresh:function(){U(!1),v(!0)}}),ae&&(0,M.jsx)(R,{open:ae,selectedUser:V,selectedGroup:null,closeModalAndRefresh:function(){ce(!1),v(!0)}}),z&&(0,M.jsx)(I,{deleteOpen:z,selectedUser:V,closeDeleteModalAndRefresh:function(e){!function(e){_(!1),e&&v(!0)}(e)}}),q&&(0,M.jsx)(T,{open:q,checkedUsers:re,closeModalAndRefresh:function(e){!function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];X(!1),e&&oe([])}(e)}}),(0,M.jsx)(b.Z,{label:"Users"}),(0,M.jsxs)(k.Z,{children:[(0,M.jsxs)(p.ZP,{item:!0,xs:12,className:n.actionsTray,children:[(0,M.jsx)(w.Z,{placeholder:"Search Users",onChange:ee,overrideClass:n.searchField,value:J}),(0,M.jsx)(P.Z,{scopes:[A.Ft.ADMIN_ADD_USER_TO_GROUP],resource:A.C3,errorProps:{disabled:!0},children:(0,M.jsx)(E.Z,{tooltip:"Add to Group",text:"Add to Group",icon:(0,M.jsx)(g.ww,{}),color:"primary",disabled:re.length<=0,onClick:function(){re.length>0&&X(!0)},variant:"outlined"})}),(0,M.jsx)(P.Z,{scopes:[A.Ft.ADMIN_CREATE_USER,A.Ft.ADMIN_LIST_USER_POLICIES,A.Ft.ADMIN_LIST_GROUPS],resource:A.HQ,matchAll:!0,errorProps:{disabled:!0},children:(0,M.jsx)(E.Z,{tooltip:"Create User",text:"Create User",icon:(0,M.jsx)(g.dt,{}),color:"primary",onClick:function(){U(!0),W(null)},variant:"contained"})})]}),(0,M.jsx)(p.ZP,{item:!0,xs:12,children:(0,M.jsx)("br",{})}),m&&(0,M.jsx)(x.Z,{}),!m&&(0,M.jsxs)(r.Fragment,{children:[a.length>0&&(0,M.jsxs)(r.Fragment,{children:[(0,M.jsx)(p.ZP,{item:!0,xs:12,className:n.tableBlock,children:(0,M.jsx)(P.Z,{scopes:[A.Ft.ADMIN_LIST_USERS],resource:A.C3,errorProps:{disabled:!0},children:(0,M.jsx)(j.Z,{itemActions:pe,columns:[{label:"Access Key",elementKey:"accessKey"}],onSelect:he?function(e){var n=e.target,t=n.value,r=n.checked,o=(0,l.Z)(re);return r?o.push(t):o=o.filter((function(e){return e!==t})),oe(o),o}:void 0,selectedItems:re,isLoading:m,records:me,entityName:"Users",idField:"accessKey"})})}),(0,M.jsx)(p.ZP,{item:!0,xs:12,children:(0,M.jsx)(S.Z,{title:"Users",iconComponent:(0,M.jsx)(g.oy,{}),help:(0,M.jsxs)(r.Fragment,{children:["A MinIO user consists of a unique access key (username) and corresponding secret key (password). Clients must authenticate their identity by specifying both a valid access key (username) and the corresponding secret key (password) of an existing MinIO user.",(0,M.jsx)("br",{}),(0,M.jsx)("br",{}),"Each user can have one or more assigned policies that explicitly list the actions and resources to which that user has access. Users can also inherit policies from the groups in which they have membership.",(0,M.jsx)("br",{}),(0,M.jsx)("br",{}),"You can learn more at our"," ",(0,M.jsx)("a",{href:"https://docs.min.io/minio/baremetal/monitoring/bucket-notifications/bucket-notifications.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]}),0===a.length&&(0,M.jsx)(p.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,M.jsx)(p.ZP,{item:!0,xs:8,children:(0,M.jsx)(S.Z,{title:"Users",iconComponent:(0,M.jsx)(g.oy,{}),help:(0,M.jsxs)(r.Fragment,{children:["A MinIO user consists of a unique access key (username) and corresponding secret key (password). Clients must authenticate their identity by specifying both a valid access key (username) and the corresponding secret key (password) of an existing MinIO user.",(0,M.jsx)("br",{}),(0,M.jsx)("br",{}),"Each user can have one or more assigned policies that explicitly list the actions and resources to which that user has access. Users can also inherit policies from the groups in which they have membership.",(0,M.jsx)(P.Z,{scopes:[A.Ft.ADMIN_CREATE_USER,A.Ft.ADMIN_LIST_USER_POLICIES,A.Ft.ADMIN_LIST_GROUPS],matchAll:!0,resource:A.C3,children:(0,M.jsxs)(r.Fragment,{children:[(0,M.jsx)("br",{}),(0,M.jsx)("br",{}),"To get started,"," ",(0,M.jsx)(C.Z,{onClick:function(){U(!0),W(null)},children:"Create a User"}),"."]})})]})})})})]})]})]})}))),O=t(89472),L=t(6369),z=t(66946),_=t(92620),K=t(76352),G=t(33447),V={setModalErrorSnackMessage:a.zb},W=(0,s.$j)(null,V),$=(0,m.Z)((function(e){return(0,h.Z)((0,d.Z)((0,d.Z)({buttonContainer:{textAlign:"right"}},v.bK),v.oO))}))(W((function(e){var n=e.classes,t=e.closeModalAndRefresh,o=e.selectedUser,i=e.open,s=e.setModalErrorSnackMessage,a=(0,r.useState)(!1),c=(0,u.Z)(a,2),l=c[0],d=c[1],h=(0,r.useState)(""),m=(0,u.Z)(h,2),Z=m[0],g=m[1],v=(0,r.useState)(""),j=(0,u.Z)(v,2),b=j[0],y=j[1],S=(0,r.useState)(!1),C=(0,u.Z)(S,2),k=C[0],w=C[1],N=(0,r.useState)([]),A=(0,u.Z)(N,2),P=A[0],E=A[1],F=(0,r.useCallback)((function(){if(!o)return null;f.Z.invoke("GET","/api/v1/user?name=".concat(encodeURI(o))).then((function(e){d(!1),g(e.accessKey),E(e.memberOf||[]),w("enabled"===e.status)})).catch((function(e){d(!1),s(e)}))}),[o,s]);(0,r.useEffect)((function(){null===o?(g(""),y(""),E([])):F()}),[o,F]);var R=""!==Z.trim()&&(""!==b.trim()&&null===o||null!==o);return(0,M.jsx)(K.Z,{onClose:function(){t()},modalOpen:i,title:"Set Groups",titleIcon:(0,M.jsx)(G.Z,{}),children:(0,M.jsx)(r.Fragment,{children:(0,M.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),l||(d(!0),null!==o?f.Z.invoke("PUT","/api/v1/user?name=".concat(encodeURI(o)),{status:k?"enabled":"disabled",groups:P}).then((function(e){d(!1),t()})).catch((function(e){d(!1),s(e)})):f.Z.invoke("POST","/api/v1/users",{accessKey:Z,secretKey:b,groups:P}).then((function(e){d(!1),t()})).catch((function(e){d(!1),s(e)})))},children:(0,M.jsxs)(p.ZP,{container:!0,children:[(0,M.jsx)(p.ZP,{item:!0,xs:12,className:n.formScrollable,children:(0,M.jsx)(_.Z,{selectedGroups:P,setSelectedGroups:function(e){E(e)}})}),(0,M.jsxs)(p.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[(0,M.jsx)(z.Z,{type:"button",variant:"outlined",color:"primary",className:n.spacerRight,onClick:function(){null===o?(g(""),y(""),E([])):E([])},children:"Clear"}),(0,M.jsx)(z.Z,{type:"submit",variant:"contained",color:"primary",disabled:l||!R,children:"Save"})]}),l&&(0,M.jsx)(p.ZP,{item:!0,xs:12,children:(0,M.jsx)(x.Z,{})})]})})})})}))),H=t(59176),q={setModalErrorSnackMessage:a.zb},X=(0,s.$j)(null,q),Y=(0,m.Z)((function(e){return(0,h.Z)((0,d.Z)((0,d.Z)({},v.oO),{},{buttonContainer:{textAlign:"right",marginTop:".9rem"}}))}))(X((function(e){var n=e.classes,t=e.closeModalAndRefresh,o=e.selectedUser,i=e.currentPolicies,s=e.setModalErrorSnackMessage,a=e.open,c=(0,r.useState)(!1),l=(0,u.Z)(c,2),d=l[0],h=l[1],m=(0,r.useState)([]),Z=(0,u.Z)(m,2),g=Z[0],v=Z[1],j=(0,r.useState)([]),b=(0,u.Z)(j,2),y=b[0],S=b[1];return(0,r.useEffect)((function(){if(a){var e,n=[],t=(0,O.Z)(i);try{for(t.s();!(e=t.n()).done;){var r=e.value;n.push(r.policy)}}catch(o){t.e(o)}finally{t.f()}v(n),S(n)}}),[a,o]),(0,M.jsxs)(K.Z,{onClose:function(){t()},modalOpen:a,title:"Set Policies",children:[(0,M.jsx)(H.Z,{selectedPolicy:y,setSelectedPolicy:S}),(0,M.jsx)(p.ZP,{item:!0,xs:12,children:(0,M.jsx)("br",{})}),(0,M.jsxs)(p.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[(0,M.jsx)("button",{type:"button",color:"primary",className:n.clearButton,onClick:function(){S(g)},children:"Reset"}),(0,M.jsx)(z.Z,{type:"button",variant:"contained",color:"primary",disabled:d,onClick:function(){var e=o;h(!0),f.Z.invoke("PUT","/api/v1/set-policy",{name:y,entityName:e,entityType:"user"}).then((function(){h(!1),t()})).catch((function(e){h(!1),s(e)}))},children:"Save"})]}),d&&(0,M.jsx)(p.ZP,{item:!0,xs:12,children:(0,M.jsx)(x.Z,{})})]})}))),Q=t(56805),J=t(70014),ee=t(92440),ne=t(66964),te={setModalErrorSnackMessage:a.zb},re=(0,s.$j)(null,te),oe=(0,m.Z)((function(e){return(0,h.Z)((0,d.Z)((0,d.Z)({},v.bl),v.ID))}))(re((function(e){var n=e.classes,t=e.open,o=e.closeModalAndRefresh,i=e.setModalErrorSnackMessage,s=e.user,a=(0,r.useState)(!1),c=(0,u.Z)(a,2),l=c[0],d=c[1],h=(0,r.useState)(""),m=(0,u.Z)(h,2),Z=m[0],g=m[1],v=(0,r.useState)(""),j=(0,u.Z)(v,2),b=j[0],y=j[1],S=(0,r.useState)(""),C=(0,u.Z)(S,2),k=C[0],w=C[1],N=(0,r.useState)(!1),A=(0,u.Z)(N,2),P=A[0],E=A[1],F=(0,r.useState)(!1),R=(0,u.Z)(F,2),I=R[0],T=R[1];(0,r.useEffect)((function(){l&&(I?f.Z.invoke("POST","/api/v1/user/".concat(s,"/service-account-credentials"),{policy:Z,accessKey:b,secretKey:k}).then((function(e){d(!1),o(e)})).catch((function(e){d(!1),i(e)})):f.Z.invoke("POST","/api/v1/user/".concat(s,"/service-accounts"),{policy:Z}).then((function(e){d(!1),o(e)})).catch((function(e){d(!1),i(e)})))}),[l,d,i,Z,o,s,I,b,k]);return(0,M.jsx)(K.Z,{modalOpen:t,onClose:function(){o(null)},title:"Create Service Account",children:(0,M.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault(),d(!0)}(e)},children:[(0,M.jsxs)(p.ZP,{container:!0,className:n.modalFormScrollable,children:[(0,M.jsx)(p.ZP,{item:!0,xs:12,children:(0,M.jsxs)("div",{className:n.infoDetails,children:["Service Accounts inherit the policy explicitly attached to the parent user and the policy attached to each group in which the parent user has membership. You can specify an optional JSON-formatted policy below to restrict the Service Account access to a subset of actions and resources explicitly allowed for the parent user.",(0,M.jsx)(Q.Z,{sx:{paddingTop:"15px",paddingBottom:"15px"},children:"You cannot modify the Service Account optional policy after saving."})]})}),(0,M.jsxs)(p.ZP,{item:!0,xs:12,children:[(0,M.jsxs)(p.ZP,{item:!0,xs:12,children:[(0,M.jsx)(ee.Z,{value:"locking",id:"locking",name:"locking",checked:I,onChange:function(e){T(e.target.checked)},label:"Customize Credentials"}),I&&(0,M.jsx)(p.ZP,{item:!0,xs:12,children:(0,M.jsxs)("div",{className:n.stackedInputs,children:[(0,M.jsx)(ne.Z,{value:b,label:"Access Key",id:"accessKey",name:"accessKey",placeholder:"Enter Access Key",onChange:function(e){y(e.target.value)}}),(0,M.jsx)(ne.Z,{value:k,label:"Secret Key",id:"secretKey",name:"secretKey",placeholder:"Enter Secret Key",onChange:function(e){w(e.target.value)}})]})})]}),(0,M.jsxs)(p.ZP,{item:!0,xs:12,children:[(0,M.jsx)(ee.Z,{value:"locking",id:"locking",name:"locking",checked:P,onChange:function(e){E(e.target.checked)},label:"Restrict with policy"}),P&&(0,M.jsx)(p.ZP,{item:!0,xs:12,className:n.codeMirrorContainer,children:(0,M.jsx)(J.Z,{label:"Policy ",value:Z,onBeforeChange:function(e,n,t){g(t)}})})]})]})]}),(0,M.jsxs)(p.ZP,{container:!0,children:[(0,M.jsxs)(p.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,M.jsx)(z.Z,{type:"button",color:"primary",variant:"outlined",onClick:function(){g("")},children:"Clear"}),(0,M.jsx)(z.Z,{type:"submit",variant:"contained",color:"primary",disabled:l,children:"Create"})]}),l&&(0,M.jsx)(p.ZP,{item:!0,xs:12,children:(0,M.jsx)(x.Z,{})})]})]})})}))),ie=t(47664),se=t(39080),ae=t(48122),ce=t(31529),le=t(73726),ue=(0,s.$j)((function(e){return{session:e.console.session}}),{setErrorSnackMessage:a.Ih}),de=(0,m.Z)((function(e){return(0,h.Z)((0,d.Z)((0,d.Z)((0,d.Z)({},v.qg),v.OR),{},{actionsTray:(0,d.Z)({},v.OR.actionsTray)},v.VX))}))(ue((function(e){var n=e.classes,t=e.user,o=e.setErrorSnackMessage,i=e.hasPolicy,s=(0,r.useState)([]),c=(0,u.Z)(s,2),l=c[0],d=c[1],h=(0,r.useState)(!1),m=(0,u.Z)(h,2),p=m[0],x=m[1],v=(0,r.useState)(!1),b=(0,u.Z)(v,2),y=b[0],S=b[1],C=(0,r.useState)(!1),k=(0,u.Z)(C,2),w=k[0],N=k[1],A=(0,r.useState)(null),P=(0,u.Z)(A,2),F=P[0],R=P[1],I=(0,r.useState)(!1),T=(0,u.Z)(I,2),B=T[0],D=T[1],U=(0,r.useState)(null),O=(0,u.Z)(U,2),L=O[0],z=O[1],_=(0,r.useState)([]),K=(0,u.Z)(_,2),G=K[0],V=K[1],W=(0,r.useState)(!1),$=(0,u.Z)(W,2),H=$[0],q=$[1];(0,r.useEffect)((function(){X()}),[]),(0,r.useEffect)((function(){p&&f.Z.invoke("GET","/api/v1/user/".concat(t,"/service-accounts")).then((function(e){var n=e.sort(Z.V2);x(!1),d(n)})).catch((function(e){o(e),x(!1)}))}),[p,x,d,o,t]);var X=function(){x(!0)},Y=[{type:"delete",onClick:function(e){R(e),N(!0)}}];return(0,M.jsxs)(r.Fragment,{children:[y&&(0,M.jsx)(oe,{open:y,closeModalAndRefresh:function(e){!function(e){if(S(!1),X(),null!==e){var n={console:{accessKey:"".concat(e.accessKey),secretKey:"".concat(e.secretKey)}};z(n),D(!0)}}(e)},user:t}),w&&(0,M.jsx)(ie.default,{deleteOpen:w,selectedServiceAccount:F,closeDeleteModalAndRefresh:function(e){!function(e){N(!1),e&&X()}(e)}}),H&&(0,M.jsx)(ce.Z,{deleteOpen:H,selectedSAs:G,closeDeleteModalAndRefresh:function(e){q(!1),e&&((0,a.y1)("Service accounts deleted successfully."),V([]),x(!0))}}),B&&(0,M.jsx)(se.default,{newServiceAccount:L,open:B,closeModal:function(){D(!1),z(null)},entity:"Service Account"}),(0,M.jsxs)("div",{className:n.actionsTray,children:[(0,M.jsx)(ae.Z,{children:"Service Accounts"}),(0,M.jsxs)(Q.Z,{children:[(0,M.jsx)(E.Z,{tooltip:"Delete Selected",onClick:function(){q(!0)},text:"Delete Selected",icon:(0,M.jsx)(g.pJ,{}),color:"secondary",disabled:0===G.length,variant:"outlined"}),(0,M.jsx)(E.Z,{tooltip:"Create service account",text:"Create service account",variant:"contained",color:"primary",icon:(0,M.jsx)(g.dt,{}),onClick:function(){S(!0),S(!0),R(null)},disabled:!i})]})]}),(0,M.jsx)("div",{className:n.tableBlock,children:(0,M.jsx)(j.Z,{isLoading:p,records:l,entityName:"Service Accounts",idField:"",columns:[{label:"Service Account",elementKey:""}],itemActions:Y,selectedItems:G,onSelect:function(e){return(0,le._0)(e,V,G)},onSelectAll:function(){G.length!==l.length?V(l):V([])}})})]})}))),he=(0,s.$j)(null,{setModalErrorSnackMessage:a.zb}),me=(0,m.Z)((function(e){return(0,h.Z)((0,d.Z)((0,d.Z)((0,d.Z)((0,d.Z)({buttonContainer:{textAlign:"right"}},v.ID),v.DF),v.bK),(0,v.Bz)(e.spacing(4))))}))(he((function(e){var n=e.classes,t=e.open,o=e.userName,i=e.closeModal,s=e.setModalErrorSnackMessage,a=(0,r.useState)(""),c=(0,u.Z)(a,2),l=c[0],d=c[1],h=(0,r.useState)(""),m=(0,u.Z)(h,2),Z=m[0],v=m[1],j=(0,r.useState)(!1),b=(0,u.Z)(j,2),y=b[0],S=b[1];return t?(0,M.jsx)(K.Z,{title:"Change User Password",modalOpen:t,onClose:function(){d(""),v(""),i()},titleIcon:(0,M.jsx)(g.I,{}),children:(0,M.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){if(e.preventDefault(),!y){if(S(!0),l.length<8)return s({errorMessage:"Passwords must be at least 8 characters long",detailedError:""}),void S(!1);var n={selectedUser:o,newSecretKey:l};f.Z.invoke("POST","/api/v1/account/change-user-password",n).then((function(e){S(!1),d(""),v(""),i()})).catch((function(e){S(!1),d(""),v(""),s(e)}))}}(e)},children:(0,M.jsxs)(p.ZP,{container:!0,children:[(0,M.jsxs)(p.ZP,{item:!0,xs:12,className:n.modalFormScrollable,children:[(0,M.jsxs)("div",{className:n.spacerBottom,children:["Change password for: ",o]}),(0,M.jsx)(p.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,M.jsx)(ne.Z,{id:"new-password",name:"new-password",onChange:function(e){d(e.target.value)},label:"New Password",type:"password",value:l})}),(0,M.jsx)(p.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,M.jsx)(ne.Z,{id:"re-new-password",name:"re-new-password",onChange:function(e){v(e.target.value)},label:"Type New Password Again",type:"password",value:Z})})]}),(0,M.jsx)(p.ZP,{item:!0,xs:12,className:n.buttonContainer,children:(0,M.jsx)(z.Z,{type:"submit",variant:"contained",color:"primary",disabled:y||!(Z.length>0&&l===Z),children:"Save"})}),y&&(0,M.jsx)(p.ZP,{item:!0,xs:12,children:(0,M.jsx)(x.Z,{})})]})})}):null}))),fe=t(23473),pe=t(21639),xe=t(60656),Ze={setErrorSnackMessage:a.Ih},ge=(0,s.$j)(null,Ze)((function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,r=e.userName,i=e.setErrorSnackMessage,s=(0,pe.Z)((function(){o.Z.push(A.gA.USERS)}),(function(e){return i(e)})),a=(0,u.Z)(s,2),c=a[0],l=a[1];if(!r)return null;return(0,M.jsx)(xe.Z,{title:"Delete User",confirmText:"Delete",isOpen:t,isLoading:c,onConfirm:function(){l("DELETE","/api/v1/user?name=".concat(encodeURI(r)),{id:r})},onClose:function(){return n(!1)},titleIcon:(0,M.jsx)(g.Nv,{}),confirmationContent:(0,M.jsxs)(fe.Z,{children:["Are you sure you want to delete user ",(0,M.jsx)("br",{}),(0,M.jsx)("b",{children:r}),"?"]})})})),ve=t(62702),je=t(57647),be=t(29316),ye={setErrorSnackMessage:a.Ih},Se=(0,s.$j)(null,ye),Ce=(0,m.Z)((function(e){return(0,h.Z)((0,d.Z)((0,d.Z)((0,d.Z)((0,d.Z)({pageContainer:{border:"1px solid #EAEAEA"},statusLabel:{fontSize:".8rem",marginRight:".5rem"},statusValue:{fontWeight:"bold",fontSize:".9rem",marginRight:".5rem"},breadcrumLink:{textDecoration:"none",color:"black"}},v.OR),v.qg),v.VX),(0,v.Bz)(e.spacing(4))))}))(Se((function(e){var n=e.classes,t=e.match,i=(0,r.useState)(!1),s=(0,u.Z)(i,2),c=s[0],l=s[1],d=(0,r.useState)(!1),h=(0,u.Z)(d,2),m=h[0],x=h[1],Z=(0,r.useState)(!1),v=(0,u.Z)(Z,2),y=v[0],S=v[1],C=(0,r.useState)(!1),w=(0,u.Z)(C,2),N=w[0],P=w[1],F=(0,r.useState)(!1),R=(0,u.Z)(F,2),I=R[0],T=R[1],B=(0,r.useState)([]),D=(0,u.Z)(B,2),U=D[0],z=D[1],_=(0,r.useState)([]),K=(0,u.Z)(_,2),G=K[0],V=K[1],W=(0,r.useState)([]),H=(0,u.Z)(W,2),q=H[0],X=H[1],Q=(0,r.useState)(!1),J=(0,u.Z)(Q,2),ne=J[0],te=J[1],re=(0,r.useState)(!1),oe=(0,u.Z)(re,2),ie=oe[0],se=oe[1],ce=(0,r.useState)(!1),le=(0,u.Z)(ce,2),ue=le[0],he=le[1],fe=t.params.userName,pe=(0,r.useCallback)((function(){if(""===fe)return null;l(!0),f.Z.invoke("GET","/api/v1/user?name=".concat(encodeURIComponent(fe))).then((function(e){P(!1);var n=e.memberOf||[];z(n);var t,r=[],o=(0,O.Z)(n);try{for(o.s();!(t=o.n()).done;){var i=t.value;r.push({group:i})}}catch(d){o.e(d)}finally{o.f()}V(r);var s,a=[],c=(0,O.Z)(e.policy);try{for(c.s();!(s=c.n()).done;){var u=s.value;a.push({policy:u})}}catch(d){c.e(d)}finally{c.f()}X(a),T("enabled"===e.status),he(e.hasPolicy),l(!1)})).catch((function(e){P(!1),l(!1),(0,a.zb)(e)}))}),[fe]);(0,r.useEffect)((function(){pe()}),[pe]);return(0,M.jsxs)(r.Fragment,{children:[(0,M.jsx)(b.Z,{label:(0,M.jsx)(r.Fragment,{children:(0,M.jsx)(L.rU,{to:"/users",className:n.breadcrumLink,children:"Users"})}),actions:(0,M.jsx)(r.Fragment,{})}),m&&(0,M.jsx)($,{open:m,selectedUser:fe,closeModalAndRefresh:function(){x(!1),pe()}}),y&&(0,M.jsx)(Y,{open:y,selectedUser:fe,currentPolicies:q,closeModalAndRefresh:function(){S(!1),pe()}}),ie&&(0,M.jsx)(ge,{deleteOpen:ie,userName:fe,closeDeleteModalAndRefresh:function(e){!function(e){se(!1),e&&pe()}(e)}}),ne&&(0,M.jsx)(me,{open:ne,userName:fe,closeModal:function(){return te(!1)}}),(0,M.jsx)(be.Z,{label:"Return to Users",to:A.gA.USERS}),(0,M.jsxs)(k.Z,{className:n.pageContainer,children:[(0,M.jsx)(p.ZP,{item:!0,xs:12,children:(0,M.jsx)(ve.Z,{icon:(0,M.jsx)(r.Fragment,{children:(0,M.jsx)(g.oy,{width:40})}),title:fe,actions:(0,M.jsxs)(r.Fragment,{children:[(0,M.jsx)("span",{className:n.statusLabel,children:"User Status:"}),(0,M.jsx)("span",{className:n.statusValue,children:I?"Enabled":"Disabled"}),(0,M.jsx)(ee.Z,{indicatorLabels:["Enabled","Disabled"],checked:I,value:"group_enabled",id:"group-status",name:"group-status",onChange:function(){var e;T(!I),e=!I,N||(P(!0),f.Z.invoke("PUT","/api/v1/user?name=".concat(encodeURIComponent(fe)),{status:e?"enabled":"disabled",groups:U}).then((function(e){P(!1)})).catch((function(e){P(!1),(0,a.zb)(e)})))},switchOnly:!0}),(0,M.jsx)(E.Z,{tooltip:"Delete User",text:"",onClick:function(){se(!0)},icon:(0,M.jsx)(g.XH,{}),color:"secondary",variant:"outlined"}),(0,M.jsx)(E.Z,{tooltip:"Change Password",text:"",onClick:function(){te(!0)},icon:(0,M.jsx)(g.tv,{}),color:"primary",variant:"outlined"})]})})}),(0,M.jsx)(p.ZP,{item:!0,xs:12,children:(0,M.jsxs)(je.Z,{children:[{tabConfig:{label:"Groups"},content:(0,M.jsxs)(r.Fragment,{children:[(0,M.jsxs)("div",{className:n.actionsTray,children:[(0,M.jsx)(ae.Z,{children:"Groups"}),(0,M.jsx)(E.Z,{tooltip:"Add to Groups",text:"Add to Groups",onClick:function(){x(!0)},icon:(0,M.jsx)(g.dt,{}),color:"primary",variant:"contained"})]}),(0,M.jsx)("div",{className:n.tableBlock,children:(0,M.jsx)(j.Z,{columns:[{label:"Name",elementKey:"group"}],isLoading:c,records:G,entityName:"Groups",idField:"group"})})]})},{tabConfig:{label:"Service Accounts"},content:(0,M.jsx)(de,{user:fe,hasPolicy:ue})},{tabConfig:{label:"Policies"},content:(0,M.jsxs)(r.Fragment,{children:[(0,M.jsxs)("div",{className:n.actionsTray,children:[(0,M.jsx)(ae.Z,{children:"Policies"}),(0,M.jsx)(E.Z,{tooltip:"Assign Policies",text:"Assign Policies",onClick:function(){S(!0)},icon:(0,M.jsx)(g.v4,{}),color:"primary",variant:"contained"})]}),(0,M.jsx)("div",{className:n.tableBlock,children:(0,M.jsx)(j.Z,{itemActions:[{type:"view",onClick:function(e){o.Z.push("".concat(A.gA.POLICIES,"/").concat(e.policy))}}],columns:[{label:"Name",elementKey:"policy"}],isLoading:c,records:q,entityName:"Policies",idField:"policy"})})]})}]})})]})]})}))),ke=(0,s.$j)((function(e){return{open:e.system.sidebarOpen}}),{setMenuOpen:a.gG}),we=(0,i.EN)(ke((function(){return(0,M.jsx)(i.F0,{history:o.Z,children:(0,M.jsxs)(i.rs,{children:[(0,M.jsx)(i.AW,{path:A.gA.USERS_VIEW,component:Ce}),(0,M.jsx)(i.AW,{path:A.gA.USERS,component:U}),(0,M.jsx)(i.AW,{component:c.Z})]})})})))},36176:function(e,n,t){t.d(n,{Z:function(){return l}});t(50390);var r=t(56805),o=t(35477),i=t(10567),s=t(62559);function a(){return(0,s.jsxs)(o.Z,{variant:"body2",color:"textSecondary",align:"center",children:["Copyright \xa9 ",(0,s.jsx)(i.Z,{color:"inherit",href:"https://min.io/?ref=con",children:"MinIO"})," ",(new Date).getFullYear(),"."]})}var c=t(25534),l=function(){return(0,s.jsx)(c.Z,{children:(0,s.jsxs)(r.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",textAlign:"center",margin:"auto",flexFlow:"column"},children:[(0,s.jsx)(r.Z,{sx:{fontSize:"110%",margin:"0 0 0.25rem",color:"#909090"},children:"404 Error"}),(0,s.jsx)(r.Z,{sx:{fontStyle:"normal",fontSize:"clamp(2rem,calc(2rem + 1.2vw),3rem)",fontWeight:700},children:"Sorry, the page could not be found."}),(0,s.jsx)(r.Z,{mt:5,children:(0,s.jsx)(a,{})})]})})}},97227:function(e,n,t){t.d(n,{ZP:function(){return a},_i:function(){return c},uU:function(){return l},pQ:function(){return u}});var r=t(23430),o=t(50390),i=t(62559),s=o.createContext(null);function a(e){var n=e.children,t=e.value,a=function(){var e=o.useState(null),n=(0,r.Z)(e,2),t=n[0],i=n[1];return o.useEffect((function(){i("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),t}(),c=o.useMemo((function(){return{idPrefix:a,value:t}}),[a,t]);return(0,i.jsx)(s.Provider,{value:c,children:n})}function c(){return o.useContext(s)}function l(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(n)}function u(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(n)}},74564:function(e,n,t){var r=t(18207),o=t(46633),i=t(50390),s=t(98247),a=t(97227),c=t(62559),l=["children"],u=i.forwardRef((function(e,n){var t=e.children,u=(0,o.Z)(e,l),d=(0,a._i)();if(null===d)throw new TypeError("No TabContext provided");var h=i.Children.map(t,(function(e){return i.isValidElement(e)?i.cloneElement(e,{"aria-controls":(0,a.uU)(d,e.props.value),id:(0,a.pQ)(d,e.props.value)}):null}));return(0,c.jsx)(s.Z,(0,r.Z)({},u,{ref:n,value:d.value,children:h}))}));n.Z=u},669:function(e,n,t){t.d(n,{Z:function(){return x}});var r=t(18207),o=t(46633),i=t(50390),s=t(44977),a=t(8208),c=t(15573),l=t(50076),u=t(10594);function d(e){return(0,u.Z)("MuiTabPanel",e)}(0,t(43349).Z)("MuiTabPanel",["root"]);var h=t(97227),m=t(62559),f=["children","className","value"],p=(0,a.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,n){return n.root}})((function(e){return{padding:e.theme.spacing(3)}})),x=i.forwardRef((function(e,n){var t=(0,c.Z)({props:e,name:"MuiTabPanel"}),i=t.children,a=t.className,u=t.value,x=(0,o.Z)(t,f),Z=(0,r.Z)({},t),g=function(e){var n=e.classes;return(0,l.Z)({root:["root"]},d,n)}(Z),v=(0,h._i)();if(null===v)throw new TypeError("No TabContext provided");var j=(0,h.uU)(v,u),b=(0,h.pQ)(v,u);return(0,m.jsx)(p,(0,r.Z)({"aria-labelledby":b,className:(0,s.Z)(g.root,a),hidden:u!==v.value,id:j,ref:n,role:"tabpanel",ownerState:Z},x,{children:u===v.value&&i}))}))},10567:function(e,n,t){t.d(n,{Z:function(){return k}});var r=t(23430),o=t(36222),i=t(1048),s=t(32793),a=t(50390),c=t(44977),l=t(50076),u=t(29001),d=t(36128),h=t(91442),m=t(8208),f=t(15573),p=t(42081),x=t(3299),Z=t(35477),g=t(10594);function v(e){return(0,g.Z)("MuiLink",e)}var j=(0,t(43349).Z)("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),b=t(62559),y=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant"],S={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},C=(0,m.ZP)(Z.Z,{name:"MuiLink",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,n["underline".concat((0,h.Z)(t.underline))],"button"===t.component&&n.button]}})((function(e){var n=e.theme,t=e.ownerState,r=(0,u.D)(n,"palette.".concat(function(e){return S[e]||e}(t.color)))||t.color;return(0,s.Z)({},"none"===t.underline&&{textDecoration:"none"},"hover"===t.underline&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},"always"===t.underline&&{textDecoration:"underline",textDecorationColor:"inherit"!==r?(0,d.Fq)(r,.4):void 0,"&:hover":{textDecorationColor:"inherit"}},"button"===t.component&&(0,o.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(j.focusVisible),{outline:"auto"}))})),k=a.forwardRef((function(e,n){var t=(0,f.Z)({props:e,name:"MuiLink"}),o=t.className,u=t.color,d=void 0===u?"primary":u,m=t.component,Z=void 0===m?"a":m,g=t.onBlur,j=t.onFocus,S=t.TypographyClasses,k=t.underline,w=void 0===k?"always":k,N=t.variant,A=void 0===N?"inherit":N,P=(0,i.Z)(t,y),E=(0,p.Z)(),M=E.isFocusVisibleRef,F=E.onBlur,R=E.onFocus,I=E.ref,T=a.useState(!1),B=(0,r.Z)(T,2),D=B[0],U=B[1],O=(0,x.Z)(n,I),L=(0,s.Z)({},t,{color:d,component:Z,focusVisible:D,underline:w,variant:A}),z=function(e){var n=e.classes,t=e.component,r=e.focusVisible,o=e.underline,i={root:["root","underline".concat((0,h.Z)(o)),"button"===t&&"button",r&&"focusVisible"]};return(0,l.Z)(i,v,n)}(L);return(0,b.jsx)(C,(0,s.Z)({className:(0,c.Z)(z.root,o),classes:S,color:d,component:Z,onBlur:function(e){F(e),!1===M.current&&U(!1),g&&g(e)},onFocus:function(e){R(e),!0===M.current&&U(!0),j&&j(e)},ref:O,ownerState:L,variant:A},P))}))},49056:function(e,n,t){t.d(n,{Z:function(){return S}});var r=t(36222),o=t(1048),i=t(32793),s=t(50390),a=t(44977),c=t(50076),l=t(36128),u=t(91442),d=t(16756),h=t(15573),m=t(8208),f=t(10594);function p(e){return(0,f.Z)("MuiSwitch",e)}var x=(0,t(43349).Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),Z=t(62559),g=["className","color","edge","size","sx"],v=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,t.edge&&n["edge".concat((0,u.Z)(t.edge))],n["size".concat((0,u.Z)(t.size))]]}})((function(e){var n,t=e.ownerState;return(0,i.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===t.edge&&{marginLeft:-8},"end"===t.edge&&{marginRight:-8},"small"===t.size&&(n={width:40,height:24,padding:7},(0,r.Z)(n,"& .".concat(x.thumb),{width:16,height:16}),(0,r.Z)(n,"& .".concat(x.switchBase),(0,r.Z)({padding:4},"&.".concat(x.checked),{transform:"translateX(16px)"})),n))})),j=(0,m.ZP)(d.Z,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(e,n){var t=e.ownerState;return[n.switchBase,(0,r.Z)({},"& .".concat(x.input),n.input),"default"!==t.color&&n["color".concat((0,u.Z)(t.color))]]}})((function(e){var n,t=e.theme;return n={position:"absolute",top:0,left:0,zIndex:1,color:"light"===t.palette.mode?t.palette.common.white:t.palette.grey[300],transition:t.transitions.create(["left","transform"],{duration:t.transitions.duration.shortest})},(0,r.Z)(n,"&.".concat(x.checked),{transform:"translateX(20px)"}),(0,r.Z)(n,"&.".concat(x.disabled),{color:"light"===t.palette.mode?t.palette.grey[100]:t.palette.grey[600]}),(0,r.Z)(n,"&.".concat(x.checked," + .").concat(x.track),{opacity:.5}),(0,r.Z)(n,"&.".concat(x.disabled," + .").concat(x.track),{opacity:"light"===t.palette.mode?.12:.2}),(0,r.Z)(n,"& .".concat(x.input),{left:"-100%",width:"300%"}),n}),(function(e){var n,t=e.theme,o=e.ownerState;return(0,i.Z)({"&:hover":{backgroundColor:(0,l.Fq)(t.palette.action.active,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==o.color&&(n={},(0,r.Z)(n,"&.".concat(x.checked),(0,r.Z)({color:t.palette[o.color].main,"&:hover":{backgroundColor:(0,l.Fq)(t.palette[o.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(x.disabled),{color:"light"===t.palette.mode?(0,l.$n)(t.palette[o.color].main,.62):(0,l._j)(t.palette[o.color].main,.55)})),(0,r.Z)(n,"&.".concat(x.checked," + .").concat(x.track),{backgroundColor:t.palette[o.color].main}),n))})),b=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(e,n){return n.track}})((function(e){var n=e.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:n.transitions.create(["opacity","background-color"],{duration:n.transitions.duration.shortest}),backgroundColor:"light"===n.palette.mode?n.palette.common.black:n.palette.common.white,opacity:"light"===n.palette.mode?.38:.3}})),y=(0,m.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(e,n){return n.thumb}})((function(e){return{boxShadow:e.theme.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),S=s.forwardRef((function(e,n){var t=(0,h.Z)({props:e,name:"MuiSwitch"}),r=t.className,s=t.color,l=void 0===s?"primary":s,d=t.edge,m=void 0!==d&&d,f=t.size,x=void 0===f?"medium":f,S=t.sx,C=(0,o.Z)(t,g),k=(0,i.Z)({},t,{color:l,edge:m,size:x}),w=function(e){var n=e.classes,t=e.edge,r=e.size,o=e.color,s=e.checked,a=e.disabled,l={root:["root",t&&"edge".concat((0,u.Z)(t)),"size".concat((0,u.Z)(r))],switchBase:["switchBase","color".concat((0,u.Z)(o)),s&&"checked",a&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},d=(0,c.Z)(l,p,n);return(0,i.Z)({},n,d)}(k),N=(0,Z.jsx)(y,{className:w.thumb,ownerState:k});return(0,Z.jsxs)(v,{className:(0,a.Z)(w.root,r),sx:S,ownerState:k,children:[(0,Z.jsx)(j,(0,i.Z)({type:"checkbox",icon:N,checkedIcon:N,ref:n,ownerState:k},C,{classes:(0,i.Z)({},w,{root:w.switchBase})})),(0,Z.jsx)(b,{className:w.track,ownerState:k})]})}))}}]); +//# sourceMappingURL=9807.82e09cb8.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/9807.82e09cb8.chunk.js.map b/portal-ui/build/static/js/9807.82e09cb8.chunk.js.map new file mode 100644 index 000000000..92f66e627 --- /dev/null +++ b/portal-ui/build/static/js/9807.82e09cb8.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/9807.82e09cb8.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Account/DeleteServiceAccount.tsx","screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/CredentialsPrompt/CredentialItem.tsx","screens/Console/Common/CredentialsPrompt/CredentialsPrompt.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/PanelTitle/PanelTitle.tsx","screens/Console/Common/ScreenTitle/ScreenTitle.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Policies/PolicySelectors.tsx","screens/Console/Users/GroupsSelectors.tsx","screens/Console/Users/ListUsers.tsx","screens/Console/Users/ChangeUserGroups.tsx","screens/Console/Users/SetUserPolicies.tsx","screens/Console/Users/AddUserServiceAccount.tsx","screens/Console/Users/UserServiceAccountsPanel.tsx","screens/Console/Account/ChangeUserPasswordModal.tsx","screens/Console/Users/DeleteUserString.tsx","screens/Console/Users/UserDetails.tsx","screens/Console/Users/Users.tsx","common/Copyright.tsx","screens/NotFoundPage.tsx","../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/Link/linkClasses.js","../node_modules/@mui/material/Link/Link.js","../node_modules/@mui/material/Switch/switchClasses.js","../node_modules/@mui/material/Switch/Switch.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 { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n wrapText: {\n maxWidth: \"200px\",\n whiteSpace: \"normal\",\n wordWrap: \"break-word\",\n },\n });\n\ninterface IDeleteServiceAccountProps {\n classes: any;\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedServiceAccount: string | null;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeleteServiceAccount = ({\n classes,\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedServiceAccount,\n setErrorSnackMessage,\n}: IDeleteServiceAccountProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedServiceAccount) {\n return null;\n }\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/service-accounts/${selectedServiceAccount}`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete service account{\" \"}\n {selectedServiceAccount}?\n \n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(DeleteServiceAccount));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { 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 from \"react\";\nimport { InputAdornment, OutlinedInput } from \"@mui/material\";\nimport BoxIconButton from \"../BoxIconButton/BoxIconButton\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { CopyIcon } from \"../../../../icons\";\nimport { fieldBasic } from \"../FormComponents/common/styleLibrary\";\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 onMouseDown={() => {}}\n edge=\"end\"\n >\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 createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { NewServiceAccount } from \"./types\";\nimport { Button } from \"@mui/material\";\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\";\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 textAlign: \"right\",\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 promptIcon: {\n marginRight: \".1rem\",\n display: \"flex\",\n alignItems: \"center\",\n height: \"2rem\",\n width: \"2rem\",\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(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + encodeURIComponent(text)\n );\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n\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\n const consoleCreds = get(newServiceAccount, \"console\", null);\n const idp = get(newServiceAccount, \"idp\", false);\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 {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 {\n closeModal();\n }}\n color=\"primary\"\n >\n Done\n \n\n {!idp && (\n {\n let consoleExtras = {};\n\n if (consoleCreds) {\n if (!Array.isArray(consoleCreds)) {\n consoleExtras = {\n console: [\n {\n access_key: consoleCreds.accessKey,\n secret_key: consoleCreds.secretKey,\n },\n ],\n };\n } else {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n access_key: itemMap.accessKey,\n secret_key: itemMap.secretKey,\n };\n });\n\n consoleExtras = {\n console: [...cCreds],\n };\n }\n }\n\n download(\n \"credentials.json\",\n JSON.stringify({\n ...consoleExtras,\n })\n );\n }}\n endIcon={}\n variant=\"contained\"\n color=\"primary\"\n >\n Download\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 { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n
\n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n fontSize: \".9rem\",\n },\n });\n\ninterface IPanelTitle extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst PanelTitle = ({ classes, children }: IPanelTitle) => {\n return

{children}

;\n};\n\nexport default withStyles(styles)(PanelTitle);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
\n {icon ?
{icon}
: null}\n
\n

{title}

\n {subTitle}\n
\n
\n\n
{actions}
\n
\n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\n","import React 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\";\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 [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\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, { useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { policySort } from \"../../../utils/sortFunctions\";\nimport {\n actionsTray,\n searchField,\n selectorsCommon,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { PolicyList } from \"./types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport SearchBox from \"../Common/SearchBox\";\n\ninterface ISelectPolicyProps {\n classes: any;\n selectedPolicy?: string[];\n setSelectedPolicy: any;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n noFound: {\n textAlign: \"center\",\n padding: \"10px 0\",\n },\n searchBox: {\n flex: 1,\n },\n fieldLabel: {\n fontWeight: 400,\n width: 160,\n marginRight: 10,\n },\n tableBlock: {\n ...tableStyles.tableBlock,\n },\n filterBox: {\n display: \"flex\",\n marginBottom: 15,\n alignItems: \"center\",\n \"& span\": {\n fontSize: 14,\n },\n },\n ...searchField,\n ...tableStyles,\n ...actionsTray,\n ...selectorsCommon,\n });\n\nconst PolicySelectors = ({\n classes,\n selectedPolicy = [],\n setSelectedPolicy,\n setModalErrorSnackMessage,\n}: ISelectPolicyProps) => {\n // Local State\n const [records, setRecords] = useState([]);\n const [loading, isLoading] = useState(false);\n const [filter, setFilter] = useState(\"\");\n\n const fetchPolicies = useCallback(() => {\n isLoading(true);\n\n api\n .invoke(\"GET\", `/api/v1/policies?limit=1000`)\n .then((res: PolicyList) => {\n const policies = res.policies === null ? [] : res.policies;\n isLoading(false);\n setRecords(policies.sort(policySort));\n })\n .catch((err: ErrorResponseHandler) => {\n isLoading(false);\n setModalErrorSnackMessage(err);\n });\n }, [setModalErrorSnackMessage]);\n\n //Effects\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n if (loading) {\n fetchPolicies();\n }\n }, [loading, fetchPolicies]);\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedPolicy]; // We clone the checkedUsers array\n\n if (checked) {\n // If the user has checked this field we need to push this to checkedUsersList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n // remove empty values\n elements = elements.filter((element) => element !== \"\");\n\n setSelectedPolicy(elements);\n };\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.name.includes(filter)\n );\n\n return (\n \n \n {loading && }\n {records.length > 0 ? (\n \n \n Assign Policies\n
\n {\n setFilter(value);\n }}\n value={filter}\n />\n
\n
\n \n \n \n
\n ) : (\n
No Policies Available
\n )}\n
\n
\n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(PolicySelectors));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\n\nimport { stringSort } from \"../../../utils/sortFunctions\";\nimport { GroupsList } from \"../Groups/types\";\nimport {\n actionsTray,\n selectorsCommon,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport SearchBox from \"../Common/SearchBox\";\n\ninterface IGroupsProps {\n classes: any;\n selectedGroups: string[];\n setSelectedGroups: any;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n noFound: {\n textAlign: \"center\",\n padding: \"10px 0\",\n },\n actionsTitle: {\n fontWeight: 400,\n color: \"#000\",\n fontSize: 14,\n alignSelf: \"center\",\n\n marginRight: 48,\n \"@media (max-width: 900px)\": {\n marginRight: 0,\n },\n },\n searchBox: {\n flex: 1,\n marginLeft: \"2rem\",\n },\n ...tableStyles,\n ...actionsTray,\n ...selectorsCommon,\n });\n\nconst GroupsSelectors = ({\n classes,\n selectedGroups,\n setSelectedGroups,\n setModalErrorSnackMessage,\n}: IGroupsProps) => {\n // Local State\n const [records, setRecords] = useState([]);\n const [loading, isLoading] = useState(false);\n const [filter, setFilter] = useState(\"\");\n\n const fetchGroups = useCallback(() => {\n api\n .invoke(\"GET\", `/api/v1/groups`)\n .then((res: GroupsList) => {\n let groups = get(res, \"groups\", []);\n\n if (!groups) {\n groups = [];\n }\n setRecords(groups.sort(stringSort));\n isLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setModalErrorSnackMessage(err);\n isLoading(false);\n });\n }, [setModalErrorSnackMessage]);\n\n //Effects\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n if (loading) {\n fetchGroups();\n }\n }, [loading, fetchGroups]);\n\n const selGroups = !selectedGroups ? [] : selectedGroups;\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selGroups]; // We clone the selectedGroups array\n\n if (checked) {\n // If the user has checked this field we need to push this to selectedGroupsList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedGroups(elements);\n\n return elements;\n };\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.includes(filter)\n );\n\n return (\n \n \n {loading && }\n {records !== null && records.length > 0 ? (\n \n \n \n\n
\n \n
\n
\n \n \n \n
\n ) : (\n
No Groups Available
\n )}\n
\n
\n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(GroupsSelectors));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport api from \"../../../common/api\";\nimport { Grid, LinearProgress } from \"@mui/material\";\nimport { User, UsersList } from \"./types\";\nimport { usersSort } from \"../../../utils/sortFunctions\";\nimport { GroupsIcon, AddIcon, UsersIcon } from \"../../../icons\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\n\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport { decodeFileName } from \"../../../common/utils\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport AButton from \"../Common/AButton/AButton\";\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 S3_ALL_RESOURCES,\n} from \"../../../common/SecureComponent/permissions\";\nimport SecureComponent, {\n hasPermission,\n} from \"../../../common/SecureComponent/SecureComponent\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\nconst AddUser = withSuspense(React.lazy(() => import(\"./AddUser\")));\nconst SetPolicy = withSuspense(\n React.lazy(() => import(\"../Policies/SetPolicy\"))\n);\nconst DeleteUser = withSuspense(React.lazy(() => import(\"./DeleteUser\")));\nconst AddToGroup = withSuspense(React.lazy(() => import(\"./BulkAddToGroup\")));\n\nconst styles = (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\ninterface IUsersProps {\n classes: any;\n history: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst ListUsers = ({ classes, setErrorSnackMessage, history }: IUsersProps) => {\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(true);\n const [addScreenOpen, setAddScreenOpen] = useState(false);\n\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedUser, setSelectedUser] = useState(null);\n const [addGroupOpen, setAddGroupOpen] = useState(false);\n const [filter, setFilter] = useState(\"\");\n const [checkedUsers, setCheckedUsers] = useState([]);\n const [policyOpen, setPolicyOpen] = useState(false);\n\n const displayListUsers = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_LIST_USERS,\n ]);\n\n const deleteUser = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_DELETE_USER,\n ]);\n\n const viewUser = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_USER,\n ]);\n\n const addUserToGroup = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_ADD_USER_TO_GROUP,\n ]);\n\n const closeAddModalAndRefresh = () => {\n setAddScreenOpen(false);\n setLoading(true);\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n if (refresh) {\n setLoading(true);\n }\n };\n\n const closeAddGroupBulk = (unCheckAll: boolean = false) => {\n setAddGroupOpen(false);\n if (unCheckAll) {\n setCheckedUsers([]);\n }\n };\n\n useEffect(() => {\n if (loading) {\n if (displayListUsers) {\n api\n .invoke(\"GET\", `/api/v1/users`)\n .then((res: UsersList) => {\n const users = res.users === null ? [] : res.users;\n\n setLoading(false);\n setRecords(users.sort(usersSort));\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setErrorSnackMessage(err);\n });\n } else {\n setLoading(false);\n }\n }\n }, [loading, setErrorSnackMessage, displayListUsers]);\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.accessKey.includes(filter)\n );\n\n const selectionChanged = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...checkedUsers]; // We clone the checkedUsers array\n\n if (checked) {\n // If the user has checked this field we need to push this to checkedUsersList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n\n setCheckedUsers(elements);\n\n return elements;\n };\n\n const viewAction = (selectionElement: any): void => {\n history.push(`${IAM_PAGES.USERS}/${encodeURI(selectionElement.accessKey)}`);\n };\n\n const deleteAction = (selectionElement: any): void => {\n setDeleteOpen(true);\n setSelectedUser(selectionElement);\n };\n\n const userLoggedIn = decodeFileName(\n localStorage.getItem(\"userLoggedIn\") || \"\"\n );\n\n const tableActions = [\n {\n type: \"view\",\n onClick: viewAction,\n disableButtonFunction: () => !viewUser,\n },\n {\n type: \"delete\",\n onClick: deleteAction,\n disableButtonFunction: (topValue: any) =>\n topValue === userLoggedIn || !deleteUser,\n },\n ];\n\n return (\n \n {addScreenOpen && (\n {\n closeAddModalAndRefresh();\n }}\n />\n )}\n {policyOpen && (\n {\n setPolicyOpen(false);\n setLoading(true);\n }}\n />\n )}\n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n {addGroupOpen && (\n {\n closeAddGroupBulk(close);\n }}\n />\n )}\n \n \n \n \n \n }\n color=\"primary\"\n disabled={checkedUsers.length <= 0}\n onClick={() => {\n if (checkedUsers.length > 0) {\n setAddGroupOpen(true);\n }\n }}\n variant={\"outlined\"}\n />\n \n \n }\n color=\"primary\"\n onClick={() => {\n setAddScreenOpen(true);\n setSelectedUser(null);\n }}\n variant={\"contained\"}\n />\n \n \n \n
\n
\n {loading && }\n {!loading && (\n \n {records.length > 0 && (\n \n \n \n \n \n \n \n }\n help={\n \n A MinIO user consists of a unique access key (username)\n and corresponding secret key (password). Clients must\n authenticate their identity by specifying both a valid\n access key (username) and the corresponding secret key\n (password) of an existing MinIO user.\n
\n
\n Each user can have one or more assigned policies that\n explicitly list the actions and resources to which that\n user has access. Users can also inherit policies from\n the groups in which they have membership.\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 MinIO user consists of a unique access key (username)\n and corresponding secret key (password). Clients must\n authenticate their identity by specifying both a valid\n access key (username) and the corresponding secret key\n (password) of an existing MinIO user.\n
\n
\n Each user can have one or more assigned policies that\n explicitly list the actions and resources to which that\n user has access. Users can also inherit policies from\n the groups in which they have membership.\n \n \n
\n
\n To get started,{\" \"}\n {\n setAddScreenOpen(true);\n setSelectedUser(null);\n }}\n >\n Create a User\n \n .\n
\n \n
\n }\n />\n
\n \n )}\n
\n )}\n
\n
\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(ListUsers));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n modalBasic,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport GroupsSelectors from \"./GroupsSelectors\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport AddMembersToGroup from \"../../../icons/AddMembersToGroupIcon\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n ...spacingUtils,\n ...modalBasic,\n });\n\ninterface IChangeUserGroupsContentProps {\n classes: any;\n closeModalAndRefresh: () => void;\n selectedUser: string;\n open: boolean;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst ChangeUserGroups = ({\n classes,\n closeModalAndRefresh,\n selectedUser,\n open,\n setModalErrorSnackMessage,\n}: IChangeUserGroupsContentProps) => {\n const [addLoading, setAddLoading] = useState(false);\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n const [enabled, setEnabled] = useState(false);\n const [selectedGroups, setSelectedGroups] = useState([]);\n\n const getUserInformation = useCallback(() => {\n if (!selectedUser) {\n return null;\n }\n\n api\n .invoke(\"GET\", `/api/v1/user?name=${encodeURI(selectedUser)}`)\n .then((res) => {\n setAddLoading(false);\n setAccessKey(res.accessKey);\n setSelectedGroups(res.memberOf || []);\n setEnabled(res.status === \"enabled\");\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n }, [selectedUser, setModalErrorSnackMessage]);\n\n useEffect(() => {\n if (selectedUser === null) {\n setAccessKey(\"\");\n setSecretKey(\"\");\n setSelectedGroups([]);\n } else {\n getUserInformation();\n }\n }, [selectedUser, getUserInformation]);\n\n const saveRecord = (event: React.FormEvent) => {\n event.preventDefault();\n\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n if (selectedUser !== null) {\n api\n .invoke(\"PUT\", `/api/v1/user?name=${encodeURI(selectedUser)}`, {\n status: enabled ? \"enabled\" : \"disabled\",\n groups: selectedGroups,\n })\n .then((_) => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n api\n .invoke(\"POST\", \"/api/v1/users\", {\n accessKey,\n secretKey,\n groups: selectedGroups,\n })\n .then((_) => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n }\n };\n\n const resetForm = () => {\n if (selectedUser !== null) {\n setSelectedGroups([]);\n return;\n }\n setAccessKey(\"\");\n setSecretKey(\"\");\n setSelectedGroups([]);\n };\n\n const sendEnabled =\n accessKey.trim() !== \"\" &&\n ((secretKey.trim() !== \"\" && selectedUser === null) ||\n selectedUser !== null);\n return (\n {\n closeModalAndRefresh();\n }}\n modalOpen={open}\n title={\"Set Groups\"}\n titleIcon={}\n >\n \n ) => {\n saveRecord(e);\n }}\n >\n \n \n {\n setSelectedGroups(elements);\n }}\n />\n \n \n \n Clear\n \n\n \n Save\n \n \n {addLoading && (\n \n \n \n )}\n \n \n \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(ChangeUserGroups));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { modalBasic } from \"../Common/FormComponents/common/styleLibrary\";\nimport { IPolicyItem } from \"../Users/types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../common/api\";\nimport PolicySelectors from \"../Policies/PolicySelectors\";\n\ninterface ISetUserPoliciesProps {\n classes: any;\n closeModalAndRefresh: () => void;\n selectedUser: string;\n currentPolicies: IPolicyItem[];\n open: boolean;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n buttonContainer: {\n textAlign: \"right\",\n marginTop: \".9rem\",\n },\n });\n\nconst SetUserPolicies = ({\n classes,\n closeModalAndRefresh,\n selectedUser,\n currentPolicies,\n setModalErrorSnackMessage,\n open,\n}: ISetUserPoliciesProps) => {\n //Local States\n const [loading, setLoading] = useState(false);\n const [actualPolicy, setActualPolicy] = useState([]);\n const [selectedPolicy, setSelectedPolicy] = useState([]);\n\n const SetUserPoliciesAction = () => {\n let entity = \"user\";\n let value = selectedUser;\n\n setLoading(true);\n\n api\n .invoke(\"PUT\", `/api/v1/set-policy`, {\n name: selectedPolicy,\n entityName: value,\n entityType: entity,\n })\n .then(() => {\n setLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n const resetSelection = () => {\n setSelectedPolicy(actualPolicy);\n };\n\n useEffect(() => {\n if (open) {\n const userPolicy: string[] = [];\n for (let pol of currentPolicies) {\n userPolicy.push(pol.policy);\n }\n setActualPolicy(userPolicy);\n setSelectedPolicy(userPolicy);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open, selectedUser]);\n\n return (\n {\n closeModalAndRefresh();\n }}\n modalOpen={open}\n title=\"Set Policies\"\n >\n \n \n
\n
\n \n \n Reset\n \n \n Save\n \n \n {loading && (\n \n \n \n )}\n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(SetUserPolicies));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, Button, LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n modalStyleUtils,\n serviceAccountStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { NewServiceAccount } from \"../Common/CredentialsPrompt/types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../common/api\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...serviceAccountStyles,\n ...modalStyleUtils,\n });\n\ninterface IAddUserServiceAccountProps {\n classes: any;\n open: boolean;\n user: string;\n closeModalAndRefresh: (res: NewServiceAccount | null) => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst AddUserServiceAccount = ({\n classes,\n open,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n user,\n}: IAddUserServiceAccountProps) => {\n const [addSending, setAddSending] = useState(false);\n const [policyDefinition, setPolicyDefinition] = useState(\"\");\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n const [isRestrictedByPolicy, setIsRestrictedByPolicy] =\n useState(false);\n const [addCredentials, setAddCredentials] = useState(false);\n\n useEffect(() => {\n if (addSending) {\n if (addCredentials) {\n api\n .invoke(\"POST\", `/api/v1/user/${user}/service-account-credentials`, {\n policy: policyDefinition,\n accessKey: accessKey,\n secretKey: secretKey,\n })\n .then((res) => {\n setAddSending(false);\n closeModalAndRefresh(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n api\n .invoke(\"POST\", `/api/v1/user/${user}/service-accounts`, {\n policy: policyDefinition,\n })\n .then((res) => {\n setAddSending(false);\n closeModalAndRefresh(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n setModalErrorSnackMessage(err);\n });\n }\n }\n }, [\n addSending,\n setAddSending,\n setModalErrorSnackMessage,\n policyDefinition,\n closeModalAndRefresh,\n user,\n addCredentials,\n accessKey,\n secretKey,\n ]);\n\n const addUserServiceAccount = (e: React.FormEvent) => {\n e.preventDefault();\n setAddSending(true);\n };\n\n const resetForm = () => {\n setPolicyDefinition(\"\");\n };\n\n return (\n {\n closeModalAndRefresh(null);\n }}\n title={`Create Service Account`}\n >\n ) => {\n addUserServiceAccount(e);\n }}\n >\n \n \n
\n Service Accounts inherit the policy explicitly attached to the\n parent user and the policy attached to each group in which the\n parent user has membership. You can specify an optional\n JSON-formatted policy below to restrict the Service Account access\n to a subset of actions and resources explicitly allowed for the\n parent user.\n \n You cannot modify the Service Account optional policy after\n saving.\n \n
\n
\n \n \n ) => {\n setAddCredentials(event.target.checked);\n }}\n label={\"Customize Credentials\"}\n />\n\n {addCredentials && (\n \n
\n {\n setAccessKey(e.target.value);\n }}\n />\n {\n setSecretKey(e.target.value);\n }}\n />\n
\n
\n )}\n
\n \n ) => {\n setIsRestrictedByPolicy(event.target.checked);\n }}\n label={\"Restrict with policy\"}\n />\n\n {isRestrictedByPolicy && (\n \n {\n setPolicyDefinition(value);\n }}\n />\n \n )}\n \n
\n
\n \n \n \n Clear\n \n \n Create\n \n \n {addSending && (\n \n \n \n )}\n \n \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddUserServiceAccount));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Box } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n actionsTray,\n searchField,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport { AppState } from \"../../../store\";\nimport { setErrorSnackMessage, setSnackBarMessage } from \"../../../actions\";\nimport { NewServiceAccount } from \"../Common/CredentialsPrompt/types\";\nimport { stringSort } from \"../../../utils/sortFunctions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport AddUserServiceAccount from \"./AddUserServiceAccount\";\nimport DeleteServiceAccount from \"../Account/DeleteServiceAccount\";\nimport CredentialsPrompt from \"../Common/CredentialsPrompt/CredentialsPrompt\";\nimport { AddIcon, DeleteIcon } from \"../../../icons\";\nimport PanelTitle from \"../Common/PanelTitle/PanelTitle\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport DeleteMultipleServiceAccounts from \"./DeleteMultipleServiceAccounts\";\nimport { selectSAs } from \"../../Console/Configurations/utils\";\n\ninterface IUserServiceAccountsProps {\n classes: any;\n user: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n hasPolicy: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...searchField,\n ...actionsTray,\n actionsTray: {\n ...actionsTray.actionsTray,\n },\n ...tableStyles,\n });\n\nconst UserServiceAccountsPanel = ({\n classes,\n user,\n setErrorSnackMessage,\n hasPolicy,\n}: IUserServiceAccountsProps) => {\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(false);\n const [addScreenOpen, setAddScreenOpen] = useState(false);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedServiceAccount, setSelectedServiceAccount] = useState<\n string | null\n >(null);\n const [showNewCredentials, setShowNewCredentials] = useState(false);\n const [newServiceAccount, setNewServiceAccount] =\n useState(null);\n const [selectedSAs, setSelectedSAs] = useState([]);\n const [deleteMultipleOpen, setDeleteMultipleOpen] = useState(false);\n\n useEffect(() => {\n fetchRecords();\n }, []);\n\n useEffect(() => {\n if (loading) {\n api\n .invoke(\"GET\", `/api/v1/user/${user}/service-accounts`)\n .then((res: string[]) => {\n const serviceAccounts = res.sort(stringSort);\n setLoading(false);\n setRecords(serviceAccounts);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoading(false);\n });\n }\n }, [loading, setLoading, setRecords, setErrorSnackMessage, user]);\n\n const fetchRecords = () => {\n setLoading(true);\n };\n\n const closeAddModalAndRefresh = (res: NewServiceAccount | null) => {\n setAddScreenOpen(false);\n fetchRecords();\n\n if (res !== null) {\n const nsa: NewServiceAccount = {\n console: {\n accessKey: `${res.accessKey}`,\n secretKey: `${res.secretKey}`,\n },\n };\n setNewServiceAccount(nsa);\n setShowNewCredentials(true);\n }\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 setSnackBarMessage(`Service accounts deleted successfully.`);\n setSelectedSAs([]);\n setLoading(true);\n }\n };\n\n const selectAllItems = () => {\n if (selectedSAs.length === records.length) {\n setSelectedSAs([]);\n return;\n }\n setSelectedSAs(records);\n };\n\n const closeCredentialsModal = () => {\n setShowNewCredentials(false);\n setNewServiceAccount(null);\n };\n\n const confirmDeleteServiceAccount = (selectedServiceAccount: string) => {\n setSelectedServiceAccount(selectedServiceAccount);\n setDeleteOpen(true);\n };\n\n const tableActions = [\n { type: \"delete\", onClick: confirmDeleteServiceAccount },\n ];\n\n return (\n \n {addScreenOpen && (\n {\n closeAddModalAndRefresh(res);\n }}\n user={user}\n />\n )}\n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n {deleteMultipleOpen && (\n \n )}\n {showNewCredentials && (\n {\n closeCredentialsModal();\n }}\n entity=\"Service Account\"\n />\n )}\n
\n Service Accounts\n \n {\n setDeleteMultipleOpen(true);\n }}\n text={\"Delete Selected\"}\n icon={}\n color=\"secondary\"\n disabled={selectedSAs.length === 0}\n variant={\"outlined\"}\n />\n }\n onClick={() => {\n setAddScreenOpen(true);\n setAddScreenOpen(true);\n setSelectedServiceAccount(null);\n }}\n disabled={!hasPolicy}\n />\n \n
\n
\n selectSAs(e, setSelectedSAs, selectedSAs)}\n onSelectAll={selectAllItems}\n />\n
\n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(UserServiceAccountsPanel));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { connect } from \"react-redux\";\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 { Button, LinearProgress } from \"@mui/material\";\nimport {\n containerForHeader,\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { ChangeUserPasswordRequest } from \"../Buckets/types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport { ChangePasswordIcon } from \"../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n ...modalStyleUtils,\n ...formFieldStyles,\n ...spacingUtils,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IChangeUserPasswordProps {\n classes: any;\n open: boolean;\n userName: string;\n closeModal: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst ChangeUserPassword = ({\n classes,\n open,\n userName,\n closeModal,\n setModalErrorSnackMessage,\n}: IChangeUserPasswordProps) => {\n const [newPassword, setNewPassword] = useState(\"\");\n const [reNewPassword, setReNewPassword] = useState(\"\");\n const [loading, setLoading] = useState(false);\n\n const changeUserPassword = (event: React.FormEvent) => {\n event.preventDefault();\n\n if (loading) {\n return;\n }\n setLoading(true);\n\n if (newPassword.length < 8) {\n setModalErrorSnackMessage({\n errorMessage: \"Passwords must be at least 8 characters long\",\n detailedError: \"\",\n });\n setLoading(false);\n return;\n }\n\n let request: ChangeUserPasswordRequest = {\n selectedUser: userName,\n newSecretKey: newPassword,\n };\n\n api\n .invoke(\"POST\", \"/api/v1/account/change-user-password\", request)\n .then((res) => {\n setLoading(false);\n setNewPassword(\"\");\n setReNewPassword(\"\");\n closeModal();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setNewPassword(\"\");\n setReNewPassword(\"\");\n setModalErrorSnackMessage(err);\n });\n };\n\n return open ? (\n {\n setNewPassword(\"\");\n setReNewPassword(\"\");\n closeModal();\n }}\n titleIcon={}\n >\n ) => {\n changeUserPassword(e);\n }}\n >\n \n \n
\n Change password for: {userName}\n
\n \n ) => {\n setNewPassword(event.target.value);\n }}\n label=\"New Password\"\n type=\"password\"\n value={newPassword}\n />\n \n \n ) => {\n setReNewPassword(event.target.value);\n }}\n label=\"Type New Password Again\"\n type=\"password\"\n value={reNewPassword}\n />\n \n
\n \n 0 && newPassword === reNewPassword)\n }\n >\n Save\n \n \n {loading && (\n \n \n \n )}\n
\n \n \n ) : null;\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ChangeUserPassword));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport history from \"../../../history\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\n\ninterface IDeleteUserProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n userName: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeleteUserString = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n userName,\n setErrorSnackMessage,\n}: IDeleteUserProps) => {\n const onDelSuccess = () => {\n history.push(IAM_PAGES.USERS);\n };\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!userName) {\n return null;\n }\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\"DELETE\", `/api/v1/user?name=${encodeURI(userName)}`, {\n id: userName,\n });\n };\n\n return (\n }\n confirmationContent={\n \n Are you sure you want to delete user
\n {userName}?\n
\n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteUserString);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 } from \"react-redux\";\nimport { Link } from \"react-router-dom\";\n\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 AddIcon,\n IAMPoliciesIcon,\n PasswordKeyIcon,\n TrashIcon,\n UsersIcon,\n} from \"../../../icons\";\nimport {\n setErrorSnackMessage,\n setModalErrorSnackMessage,\n} from \"../../../actions\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { IPolicyItem } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport ChangeUserGroups from \"./ChangeUserGroups\";\nimport SetUserPolicies from \"./SetUserPolicies\";\nimport history from \"../../../history\";\nimport UserServiceAccountsPanel from \"./UserServiceAccountsPanel\";\nimport ChangeUserPasswordModal from \"../Account/ChangeUserPasswordModal\";\nimport DeleteUserString from \"./DeleteUserString\";\nimport ScreenTitle from \"../Common/ScreenTitle/ScreenTitle\";\nimport PanelTitle from \"../Common/PanelTitle/PanelTitle\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport VerticalTabs from \"../Common/VerticalTabs/VerticalTabs\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport BackLink from \"../../../common/BackLink\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n pageContainer: {\n border: \"1px solid #EAEAEA\",\n },\n statusLabel: {\n fontSize: \".8rem\",\n marginRight: \".5rem\",\n },\n statusValue: {\n fontWeight: \"bold\",\n fontSize: \".9rem\",\n marginRight: \".5rem\",\n },\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n ...actionsTray,\n ...searchField,\n ...tableStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IUserDetailsProps {\n classes: any;\n match: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\ninterface IGroupItem {\n group: string;\n}\n\nconst UserDetails = ({ classes, match }: IUserDetailsProps) => {\n const [loading, setLoading] = useState(false);\n const [addGroupOpen, setAddGroupOpen] = useState(false);\n const [policyOpen, setPolicyOpen] = useState(false);\n const [addLoading, setAddLoading] = useState(false);\n\n const [enabled, setEnabled] = useState(false);\n const [selectedGroups, setSelectedGroups] = useState([]);\n const [currentGroups, setCurrentGroups] = useState([]);\n const [currentPolicies, setCurrentPolicies] = useState([]);\n const [changeUserPasswordModalOpen, setChangeUserPasswordModalOpen] =\n useState(false);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [hasPolicy, setHasPolicy] = useState(false);\n\n const userName = match.params[\"userName\"];\n\n const changeUserPassword = () => {\n setChangeUserPasswordModalOpen(true);\n };\n\n const deleteUser = () => {\n setDeleteOpen(true);\n };\n\n const getUserInformation = useCallback(() => {\n if (userName === \"\") {\n return null;\n }\n setLoading(true);\n api\n .invoke(\"GET\", `/api/v1/user?name=${encodeURIComponent(userName)}`)\n .then((res) => {\n setAddLoading(false);\n const memberOf = res.memberOf || [];\n setSelectedGroups(memberOf);\n let currentGroups: IGroupItem[] = [];\n for (let group of memberOf) {\n currentGroups.push({\n group: group,\n });\n }\n setCurrentGroups(currentGroups);\n let currentPolicies: IPolicyItem[] = [];\n for (let policy of res.policy) {\n currentPolicies.push({\n policy: policy,\n });\n }\n setCurrentPolicies(currentPolicies);\n setEnabled(res.status === \"enabled\");\n setHasPolicy(res.hasPolicy);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n }, [userName]);\n\n const saveRecord = (isEnabled: boolean) => {\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n api\n .invoke(\"PUT\", `/api/v1/user?name=${encodeURIComponent(userName)}`, {\n status: isEnabled ? \"enabled\" : \"disabled\",\n groups: selectedGroups,\n })\n .then((_) => {\n setAddLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n useEffect(() => {\n getUserInformation();\n }, [getUserInformation]);\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n if (refresh) {\n getUserInformation();\n }\n };\n\n return (\n \n \n \n Users\n \n \n }\n actions={}\n />\n {addGroupOpen && (\n {\n setAddGroupOpen(false);\n getUserInformation();\n }}\n />\n )}\n {policyOpen && (\n {\n setPolicyOpen(false);\n getUserInformation();\n }}\n />\n )}\n {deleteOpen && (\n {\n closeDeleteModalAndRefresh(refresh);\n }}\n />\n )}\n {changeUserPasswordModalOpen && (\n setChangeUserPasswordModalOpen(false)}\n />\n )}\n \n \n \n \n \n \n }\n title={userName}\n actions={\n \n User Status:\n \n {enabled ? \"Enabled\" : \"Disabled\"}\n \n {\n setEnabled(!enabled);\n saveRecord(!enabled);\n }}\n switchOnly\n />\n\n }\n color=\"secondary\"\n variant={\"outlined\"}\n />\n\n }\n color=\"primary\"\n variant={\"outlined\"}\n />\n \n }\n />\n \n\n \n \n {{\n tabConfig: {\n label: \"Groups\",\n },\n content: (\n \n
\n Groups\n {\n setAddGroupOpen(true);\n }}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n
\n
\n \n
\n
\n ),\n }}\n {{\n tabConfig: {\n label: \"Service Accounts\",\n },\n content: (\n \n ),\n }}\n {{\n tabConfig: {\n label: \"Policies\",\n },\n content: (\n \n
\n Policies\n\n {\n setPolicyOpen(true);\n }}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n
\n
\n {\n history.push(\n `${IAM_PAGES.POLICIES}/${policy.policy}`\n );\n },\n },\n ]}\n columns={[{ label: \"Name\", elementKey: \"policy\" }]}\n isLoading={loading}\n records={currentPolicies}\n entityName=\"Policies\"\n idField=\"policy\"\n />\n
\n
\n ),\n }}\n
\n
\n
\n
\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(UserDetails));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 history from \"../../../history\";\nimport { Route, Router, Switch, withRouter } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport { AppState } from \"../../../store\";\nimport { setMenuOpen } from \"../../../actions\";\nimport NotFoundPage from \"../../NotFoundPage\";\n\nimport ListUsers from \"./ListUsers\";\nimport UserDetails from \"./UserDetails\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\n\nconst mapState = (state: AppState) => ({\n open: state.system.sidebarOpen,\n});\n\nconst connector = connect(mapState, { setMenuOpen });\n\nconst Users = () => {\n return (\n \n \n \n \n \n \n \n );\n};\n\nexport default withRouter(connector(Users));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// 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 * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLinkUtilityClass(slot) {\n return generateUtilityClass('MuiLink', slot);\n}\nconst linkClasses = generateUtilityClasses('MuiLink', ['root', 'underlineNone', 'underlineHover', 'underlineAlways', 'button', 'focusVisible']);\nexport default linkClasses;","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\"];\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 { alpha, getPath } from '@mui/system';\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 { jsx as _jsx } from \"react/jsx-runtime\";\nconst colorTransformations = {\n primary: 'primary.main',\n textPrimary: 'text.primary',\n secondary: 'secondary.main',\n textSecondary: 'text.secondary',\n error: 'error.main'\n};\n\nconst transformDeprecatedColors = color => {\n return colorTransformations[color] || color;\n};\n\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};\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 const color = getPath(theme, `palette.${transformDeprecatedColors(ownerState.color)}`) || ownerState.color;\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' && {\n textDecoration: 'underline',\n textDecorationColor: color !== 'inherit' ? alpha(color, 0.4) : undefined,\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\n const {\n className,\n color = 'primary',\n component = 'a',\n onBlur,\n onFocus,\n TypographyClasses,\n underline = 'always',\n variant = 'inherit'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\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\n const handleBlur = event => {\n handleBlurVisible(event);\n\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleFocus = event => {\n handleFocusVisible(event);\n\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const ownerState = _extends({}, props, {\n color,\n component,\n focusVisible,\n underline,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LinkRoot, _extends({\n className: clsx(classes.root, className),\n classes: TypographyClasses,\n color: color,\n component: component,\n onBlur: handleBlur,\n onFocus: handleFocus,\n ref: handlerRef,\n ownerState: ownerState,\n variant: variant\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the link.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .any,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * `classes` prop applied to the [`Typography`](/api/typography/) element.\n */\n TypographyClasses: PropTypes.object,\n\n /**\n * Controls when the link should have an underline.\n * @default 'always'\n */\n underline: PropTypes.oneOf(['always', 'hover', 'none']),\n\n /**\n * Applies the theme typography styles.\n * @default 'inherit'\n */\n variant: PropTypes\n /* @typescript-to-proptypes-ignore */\n .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;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, darken, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n}, ownerState.edge === 'start' && {\n marginLeft: -8\n}, ownerState.edge === 'end' && {\n marginRight: -8\n}, ownerState.size === 'small' && {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n}));\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.palette.mode === 'light' ? 0.12 : 0.2\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({\n '&:hover': {\n backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${switchClasses.checked}`]: {\n color: theme.palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: theme.palette[ownerState.color].main\n }\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.mode === 'light' ? 0.38 : 0.3\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","mapDispatchToProps","setErrorSnackMessage","connector","connect","wrapText","whiteSpace","wordWrap","closeDeleteModalAndRefresh","deleteOpen","selectedServiceAccount","useApi","err","deleteLoading","invokeDeleteApi","title","confirmText","isOpen","titleIcon","isLoading","onConfirm","onClose","confirmationContent","root","margin","border","backgroundColor","cursor","info","main","fontFamily","children","rest","container","flexFlow","inputWithCopy","background","height","inputLabel","fieldBasic","value","OutlinedInput","readOnly","endAdornment","InputAdornment","position","text","BoxIconButton","tooltip","onMouseDown","edge","warningBlock","credentialTitle","fontWeight","buttonContainer","textAlign","marginTop","credentialsPanel","overflowY","maxHeight","promptTitle","buttonSpacer","promptIcon","newServiceAccount","open","closeModal","entity","consoleCreds","get","idp","ModalWrapper","modalOpen","Grid","item","xs","formScrollable","Array","isArray","map","credentialsPair","index","accessKey","secretKey","WarnIcon","Button","variant","consoleExtras","cCreds","itemMap","access_key","secret_key","console","filename","element","document","createElement","setAttribute","encodeURIComponent","style","body","appendChild","click","removeChild","download","JSON","stringify","endIcon","StyledSwitch","switchBase","transform","common","white","boxShadow","opacity","thumb","marginLeft","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","Switch","divContainer","marginBottom","indicatorLabelOn","indicatorLabel","fieldDescription","actionsTray","onChange","id","name","disabled","switchOnly","description","indicatorLabels","switchComponent","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","sm","md","htmlFor","tooltipContainer","placement","component","headerBarIcon","headerBarSubheader","screenTitle","borderBottom","titleColumn","leftItems","rightItems","subTitle","actions","tabStripStyle","minHeight","tabsContainer","tabsHeaderContainer","borderRight","tabContentContainer","tabPanel","flexDirection","selectedTab","routes","isRouteTabs","React","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","forEach","child","push","tabConfig","content","event","newValue","orientation","scrollButtons","tabList","tabHeader","focusRipple","setModalErrorSnackMessage","noFound","searchBox","flex","fieldLabel","tableBlock","tableStyles","filterBox","searchField","selectorsCommon","selectedPolicy","setSelectedPolicy","useState","records","setRecords","loading","filter","setFilter","fetchPolicies","useCallback","api","then","res","policies","sort","policySort","catch","useEffect","filteredRecords","elementItem","includes","placeholder","columns","elementKey","onSelect","e","targetD","target","elements","selectedItems","entityName","idField","customPaperHeight","multiSelectTable","actionsTitle","alignSelf","selectedGroups","setSelectedGroups","fetchGroups","groups","stringSort","selGroups","adornmentPosition","AddUser","withSuspense","SetPolicy","DeleteUser","AddToGroup","containerForHeader","spacing","history","setLoading","addScreenOpen","setAddScreenOpen","setDeleteOpen","selectedUser","setSelectedUser","addGroupOpen","setAddGroupOpen","checkedUsers","setCheckedUsers","policyOpen","setPolicyOpen","displayListUsers","hasPermission","CONSOLE_UI_RESOURCE","IAM_SCOPES","deleteUser","viewUser","addUserToGroup","users","usersSort","userLoggedIn","decodeFileName","localStorage","getItem","tableActions","type","selectionElement","IAM_PAGES","encodeURI","disableButtonFunction","topValue","Fragment","closeModalAndRefresh","selectedGroup","refresh","close","unCheckAll","closeAddGroupBulk","PageHeader","PageLayout","SearchBox","overrideClass","SecureComponent","scopes","resource","errorProps","RBIconButton","S3_ALL_RESOURCES","matchAll","LinearProgress","TableWrapper","itemActions","undefined","HelpBox","iconComponent","help","href","rel","alignContent","AButton","spacingUtils","modalBasic","addLoading","setAddLoading","setAccessKey","setSecretKey","enabled","setEnabled","getUserInformation","memberOf","status","sendEnabled","trim","noValidate","autoComplete","onSubmit","preventDefault","_","GroupsSelectors","spacerRight","currentPolicies","actualPolicy","setActualPolicy","userPolicy","pol","policy","PolicySelectors","clearButton","entityType","serviceAccountStyles","modalStyleUtils","user","addSending","setAddSending","policyDefinition","setPolicyDefinition","isRestrictedByPolicy","setIsRestrictedByPolicy","addCredentials","setAddCredentials","addUserServiceAccount","modalFormScrollable","infoDetails","Box","sx","paddingTop","paddingBottom","FormSwitchWrapper","stackedInputs","InputBoxWrapper","codeMirrorContainer","CodeMirrorWrapper","onBeforeChange","editor","data","modalButtonBar","state","session","hasPolicy","setSelectedServiceAccount","showNewCredentials","setShowNewCredentials","setNewServiceAccount","selectedSAs","setSelectedSAs","deleteMultipleOpen","setDeleteMultipleOpen","fetchRecords","serviceAccounts","nsa","closeAddModalAndRefresh","DeleteServiceAccount","DeleteMultipleServiceAccounts","setSnackBarMessage","CredentialsPrompt","PanelTitle","selectSAs","onSelectAll","formFieldStyles","userName","newPassword","setNewPassword","reNewPassword","setReNewPassword","errorMessage","detailedError","request","newSecretKey","changeUserPassword","spacerBottom","formFieldRow","ConfirmDialog","DialogContentText","pageContainer","statusLabel","statusValue","breadcrumLink","match","currentGroups","setCurrentGroups","setCurrentPolicies","changeUserPasswordModalOpen","setChangeUserPasswordModalOpen","setHasPolicy","params","group","ChangeUserPasswordModal","BackLink","ScreenTitle","isEnabled","VerticalTabs","system","sidebarOpen","setMenuOpen","withRouter","path","UserDetails","ListUsers","NotFoundPage","Copyright","Typography","align","Link","Date","getFullYear","fontStyle","mt","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","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","hidden","role","getLinkUtilityClass","colorTransformations","textPrimary","secondary","textSecondary","error","LinkRoot","capitalize","underline","button","getPath","transformDeprecatedColors","textDecorationColor","alpha","WebkitTapHighlightColor","outline","userSelect","verticalAlign","MozAppearance","WebkitAppearance","borderStyle","linkClasses","onBlur","onFocus","TypographyClasses","useIsFocusVisible","isFocusVisibleRef","handleBlurVisible","handleFocusVisible","focusVisibleRef","setFocusVisible","handlerRef","useForkRef","slots","current","getSwitchUtilityClass","SwitchRoot","size","overflow","boxSizing","flexShrink","zIndex","colorAdjust","switchClasses","SwitchSwitchBase","SwitchBase","input","top","left","mode","grey","duration","shortest","action","active","hoverOpacity","lighten","darken","SwitchTrack","black","SwitchThumb","shadows","composedClasses","_jsxs","checkedIcon"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/9924.a7c06331.chunk.js b/portal-ui/build/static/js/9924.0c2cdee6.chunk.js similarity index 94% rename from portal-ui/build/static/js/9924.a7c06331.chunk.js rename to portal-ui/build/static/js/9924.0c2cdee6.chunk.js index 9341ac9e4..430e9d11a 100644 --- a/portal-ui/build/static/js/9924.a7c06331.chunk.js +++ b/portal-ui/build/static/js/9924.0c2cdee6.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[9924],{39924:function(e,a,n){n.r(a);var t=n(23430),r=n(18489),o=n(50390),l=n(76352),s=n(25594),i=n(66946),c=n(66964),d=n(86509),u=n(4285),h=n(72462),f=n(34424),m=n(5265),x=n(24442),Z=n(28948),p=n(44149),b=n(11387),j=n(62559),v={setFileModeEnabled:m.WA,setModalErrorSnackMessage:p.zb},C=(0,f.$j)(null,v);a.default=C((0,u.Z)((function(e){return(0,d.Z)((0,r.Z)((0,r.Z)({},h.ID),h.DF))}))((function(e){var a=e.modalOpen,n=e.folderName,r=e.bucketName,d=e.onClose,u=e.setFileModeEnabled,h=e.setModalErrorSnackMessage,f=e.classes,m=e.existingFiles,p=(0,o.useState)(""),v=(0,t.Z)(p,2),C=v[0],g=v[1],k=(0,o.useState)(!1),F=(0,t.Z)(k,2),P=F[0],w=F[1],E="".concat(r,"/").concat((0,Z.le)(n));return(0,o.useEffect)((function(){var e=!0;0===C.trim().length&&(e=!1),w(e)}),[C]),(0,j.jsx)(o.Fragment,{children:(0,j.jsx)(l.Z,{modalOpen:a,title:"Choose or create a new path",onClose:d,titleIcon:(0,j.jsx)(b.Z9,{}),children:(0,j.jsxs)(s.ZP,{container:!0,children:[(0,j.jsxs)(s.ZP,{item:!0,xs:12,className:f.formFieldRow,children:["Current Path: ",E]}),(0,j.jsx)(s.ZP,{item:!0,xs:12,className:f.formFieldRow,children:(0,j.jsx)(c.Z,{value:C,label:"New Folder Path",id:"folderPath",name:"folderPath",placeholder:"Enter the new Folder Path",onChange:function(e){g(e.target.value)},required:!0})}),(0,j.jsxs)(s.ZP,{item:!0,xs:12,className:f.modalButtonBar,children:[(0,j.jsx)(i.Z,{type:"button",color:"primary",variant:"outlined",onClick:function(){g("")},children:"Clear"}),(0,j.jsx)(i.Z,{type:"submit",variant:"contained",color:"primary",disabled:!P,onClick:function(){var e="";if(""!==n){var a=(0,Z.le)(n);e=a.endsWith("/")?a:"".concat(a,"/")}if(-1===m.findIndex((function(a){return a.name===e+C}))){var t="/buckets/".concat(r,"/browse/").concat((0,Z.ug)("".concat(e).concat(C)),"/");x.Z.push(t),u(!1),d()}else h({errorMessage:"Folder cannot have the same name as an existing file",detailedError:""})},children:"Create"})]})]})})})})))}}]); -//# sourceMappingURL=9924.a7c06331.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[9924],{39924:function(e,a,n){n.r(a);var t=n(23430),r=n(18489),o=n(50390),l=n(76352),s=n(25594),i=n(66946),c=n(66964),d=n(86509),u=n(4285),h=n(72462),f=n(34424),m=n(5265),x=n(24442),Z=n(28948),p=n(44149),b=n(98280),j=n(62559),v={setFileModeEnabled:m.WA,setModalErrorSnackMessage:p.zb},C=(0,f.$j)(null,v);a.default=C((0,u.Z)((function(e){return(0,d.Z)((0,r.Z)((0,r.Z)({},h.ID),h.DF))}))((function(e){var a=e.modalOpen,n=e.folderName,r=e.bucketName,d=e.onClose,u=e.setFileModeEnabled,h=e.setModalErrorSnackMessage,f=e.classes,m=e.existingFiles,p=(0,o.useState)(""),v=(0,t.Z)(p,2),C=v[0],g=v[1],k=(0,o.useState)(!1),F=(0,t.Z)(k,2),P=F[0],w=F[1],E="".concat(r,"/").concat((0,Z.le)(n));return(0,o.useEffect)((function(){var e=!0;0===C.trim().length&&(e=!1),w(e)}),[C]),(0,j.jsx)(o.Fragment,{children:(0,j.jsx)(l.Z,{modalOpen:a,title:"Choose or create a new path",onClose:d,titleIcon:(0,j.jsx)(b.Z9,{}),children:(0,j.jsxs)(s.ZP,{container:!0,children:[(0,j.jsxs)(s.ZP,{item:!0,xs:12,className:f.formFieldRow,children:["Current Path: ",E]}),(0,j.jsx)(s.ZP,{item:!0,xs:12,className:f.formFieldRow,children:(0,j.jsx)(c.Z,{value:C,label:"New Folder Path",id:"folderPath",name:"folderPath",placeholder:"Enter the new Folder Path",onChange:function(e){g(e.target.value)},required:!0})}),(0,j.jsxs)(s.ZP,{item:!0,xs:12,className:f.modalButtonBar,children:[(0,j.jsx)(i.Z,{type:"button",color:"primary",variant:"outlined",onClick:function(){g("")},children:"Clear"}),(0,j.jsx)(i.Z,{type:"submit",variant:"contained",color:"primary",disabled:!P,onClick:function(){var e="";if(""!==n){var a=(0,Z.le)(n);e=a.endsWith("/")?a:"".concat(a,"/")}if(-1===m.findIndex((function(a){return a.name===e+C}))){var t="/buckets/".concat(r,"/browse/").concat((0,Z.ug)("".concat(e).concat(C)),"/");x.Z.push(t),u(!1),d()}else h({errorMessage:"Folder cannot have the same name as an existing file",detailedError:""})},children:"Create"})]})]})})})})))}}]); +//# sourceMappingURL=9924.0c2cdee6.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/9924.a7c06331.chunk.js.map b/portal-ui/build/static/js/9924.0c2cdee6.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/9924.a7c06331.chunk.js.map rename to portal-ui/build/static/js/9924.0c2cdee6.chunk.js.map index ea79a9019..9b91b6e7b 100644 --- a/portal-ui/build/static/js/9924.a7c06331.chunk.js.map +++ b/portal-ui/build/static/js/9924.0c2cdee6.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/9924.a7c06331.chunk.js","mappings":"iTA0JMA,EAAqB,CACzBC,mBAAAA,EAAAA,GACAC,0BAAAA,EAAAA,IAGIC,GAAYC,EAAAA,EAAAA,IAAQ,KAAMJ,GAEhC,UAAeG,GAAUE,EAAAA,EAAAA,IAnHV,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,kBACRC,EAAAA,IACAC,EAAAA,OAgHkBJ,EA7GC,SAAC,GASL,IARpBK,EAQmB,EARnBA,UACAC,EAOmB,EAPnBA,WACAC,EAMmB,EANnBA,WACAC,EAKmB,EALnBA,QACAZ,EAImB,EAJnBA,mBACAC,EAGmB,EAHnBA,0BACAY,EAEmB,EAFnBA,QACAC,EACmB,EADnBA,cAEA,GAA8BC,EAAAA,EAAAA,UAAS,IAAvC,eAAOC,EAAP,KAAgBC,EAAhB,KACA,GAAsCF,EAAAA,EAAAA,WAAkB,GAAxD,eAAOG,EAAP,KAAoBC,EAApB,KAEMC,EAAW,UAAMT,EAAN,aAAoBU,EAAAA,EAAAA,IAAeX,IAuCpD,OARAY,EAAAA,EAAAA,YAAU,WACR,IAAIC,GAAQ,EACkB,IAA1BP,EAAQQ,OAAOC,SACjBF,GAAQ,GAEVJ,EAAeI,KACd,CAACP,KAGF,SAAC,WAAD,WACE,SAAC,IAAD,CACEP,UAAWA,EACXiB,MAAM,8BACNd,QAASA,EACTe,WAAW,SAAC,KAAD,IAJb,UAME,UAAC,KAAD,CAAMC,WAAS,EAAf,WACE,UAAC,KAAD,CAAMC,MAAI,EAACC,GAAI,GAAIC,UAAWlB,EAAQmB,aAAtC,2BACiBZ,MAEjB,SAAC,KAAD,CAAMS,MAAI,EAACC,GAAI,GAAIC,UAAWlB,EAAQmB,aAAtC,UACE,SAAC,IAAD,CACEC,MAAOjB,EACPkB,MAAO,kBACPC,GAAI,aACJC,KAAM,aACNC,YAAa,4BACbC,SAAU,SAACC,GACTtB,EAAWsB,EAAEC,OAAOP,QAEtBQ,UAAQ,OAGZ,UAAC,KAAD,CAAMZ,MAAI,EAACC,GAAI,GAAIC,UAAWlB,EAAQ6B,eAAtC,WACE,SAAC,IAAD,CACEC,KAAK,SACLC,MAAM,UACNC,QAAQ,WACRC,QAnEM,WAChB7B,EAAW,KA8DH,oBAQA,SAAC,IAAD,CACE0B,KAAK,SACLE,QAAQ,YACRD,MAAM,UACNG,UAAW7B,EACX4B,QAxEU,WACpB,IAAIE,EAAa,GACjB,GAAmB,KAAftC,EAAmB,CACrB,IAAMuC,GAAoB5B,EAAAA,EAAAA,IAAeX,GACzCsC,EAAaC,EAAkBC,SAAS,KACpCD,EADS,UAENA,EAFM,KAMf,IAA6C,IAAzCnC,EAAcqC,WAFC,SAACC,GAAD,OACjBA,EAAOhB,OAASY,EAAahC,KAC/B,CAOA,IAAMqC,EAAO,mBAAe1C,EAAf,oBAAoC2C,EAAAA,EAAAA,IAAe,GAAD,OAC1DN,GAD0D,OAC7ChC,IADL,KAGbuC,EAAAA,EAAAA,KAAaF,GACbrD,GAAmB,GACnBY,SAXEX,EAA0B,CACxBuD,aAAc,uDACdC,cAAe,MAsDX","sources":["screens/Console/Buckets/ListBuckets/Objects/ListObjects/CreateFolderModal.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 ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { Button, Grid } from \"@mui/material\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { connect } from \"react-redux\";\nimport { setFileModeEnabled } from \"../../../../ObjectBrowser/actions\";\nimport history from \"../../../../../../history\";\nimport { decodeFileName, encodeFileName } from \"../../../../../../common/utils\";\nimport { setModalErrorSnackMessage } from \"../../../../../../actions\";\nimport { BucketObject } from \"./types\";\nimport { CreateNewPathIcon } from \"../../../../../../icons\";\n\ninterface ICreateFolder {\n classes: any;\n modalOpen: boolean;\n bucketName: string;\n folderName: string;\n setFileModeEnabled: typeof setFileModeEnabled;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n onClose: () => any;\n existingFiles: BucketObject[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\nconst CreateFolderModal = ({\n modalOpen,\n folderName,\n bucketName,\n onClose,\n setFileModeEnabled,\n setModalErrorSnackMessage,\n classes,\n existingFiles,\n}: ICreateFolder) => {\n const [pathUrl, setPathUrl] = useState(\"\");\n const [isFormValid, setIsFormValid] = useState(false);\n\n const currentPath = `${bucketName}/${decodeFileName(folderName)}`;\n\n const resetForm = () => {\n setPathUrl(\"\");\n };\n\n const createProcess = () => {\n let folderPath = \"\";\n if (folderName !== \"\") {\n const decodedFolderName = decodeFileName(folderName);\n folderPath = decodedFolderName.endsWith(\"/\")\n ? decodedFolderName\n : `${decodedFolderName}/`;\n }\n const sharesName = (record: BucketObject) =>\n record.name === folderPath + pathUrl;\n if (existingFiles.findIndex(sharesName) !== -1) {\n setModalErrorSnackMessage({\n errorMessage: \"Folder cannot have the same name as an existing file\",\n detailedError: \"\",\n });\n return;\n }\n const newPath = `/buckets/${bucketName}/browse/${encodeFileName(\n `${folderPath}${pathUrl}`\n )}/`;\n history.push(newPath);\n setFileModeEnabled(false);\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 return (\n \n }\n >\n \n \n Current Path: {currentPath}\n \n \n {\n setPathUrl(e.target.value);\n }}\n required\n />\n \n \n \n Clear\n \n \n Create\n \n \n \n \n \n );\n};\n\nconst mapDispatchToProps = {\n setFileModeEnabled,\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(CreateFolderModal));\n"],"names":["mapDispatchToProps","setFileModeEnabled","setModalErrorSnackMessage","connector","connect","withStyles","theme","createStyles","modalStyleUtils","formFieldStyles","modalOpen","folderName","bucketName","onClose","classes","existingFiles","useState","pathUrl","setPathUrl","isFormValid","setIsFormValid","currentPath","decodeFileName","useEffect","valid","trim","length","title","titleIcon","container","item","xs","className","formFieldRow","value","label","id","name","placeholder","onChange","e","target","required","modalButtonBar","type","color","variant","onClick","disabled","folderPath","decodedFolderName","endsWith","findIndex","record","newPath","encodeFileName","history","errorMessage","detailedError"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/9924.0c2cdee6.chunk.js","mappings":"iTA0JMA,EAAqB,CACzBC,mBAAAA,EAAAA,GACAC,0BAAAA,EAAAA,IAGIC,GAAYC,EAAAA,EAAAA,IAAQ,KAAMJ,GAEhC,UAAeG,GAAUE,EAAAA,EAAAA,IAnHV,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,kBACRC,EAAAA,IACAC,EAAAA,OAgHkBJ,EA7GC,SAAC,GASL,IARpBK,EAQmB,EARnBA,UACAC,EAOmB,EAPnBA,WACAC,EAMmB,EANnBA,WACAC,EAKmB,EALnBA,QACAZ,EAImB,EAJnBA,mBACAC,EAGmB,EAHnBA,0BACAY,EAEmB,EAFnBA,QACAC,EACmB,EADnBA,cAEA,GAA8BC,EAAAA,EAAAA,UAAS,IAAvC,eAAOC,EAAP,KAAgBC,EAAhB,KACA,GAAsCF,EAAAA,EAAAA,WAAkB,GAAxD,eAAOG,EAAP,KAAoBC,EAApB,KAEMC,EAAW,UAAMT,EAAN,aAAoBU,EAAAA,EAAAA,IAAeX,IAuCpD,OARAY,EAAAA,EAAAA,YAAU,WACR,IAAIC,GAAQ,EACkB,IAA1BP,EAAQQ,OAAOC,SACjBF,GAAQ,GAEVJ,EAAeI,KACd,CAACP,KAGF,SAAC,WAAD,WACE,SAAC,IAAD,CACEP,UAAWA,EACXiB,MAAM,8BACNd,QAASA,EACTe,WAAW,SAAC,KAAD,IAJb,UAME,UAAC,KAAD,CAAMC,WAAS,EAAf,WACE,UAAC,KAAD,CAAMC,MAAI,EAACC,GAAI,GAAIC,UAAWlB,EAAQmB,aAAtC,2BACiBZ,MAEjB,SAAC,KAAD,CAAMS,MAAI,EAACC,GAAI,GAAIC,UAAWlB,EAAQmB,aAAtC,UACE,SAAC,IAAD,CACEC,MAAOjB,EACPkB,MAAO,kBACPC,GAAI,aACJC,KAAM,aACNC,YAAa,4BACbC,SAAU,SAACC,GACTtB,EAAWsB,EAAEC,OAAOP,QAEtBQ,UAAQ,OAGZ,UAAC,KAAD,CAAMZ,MAAI,EAACC,GAAI,GAAIC,UAAWlB,EAAQ6B,eAAtC,WACE,SAAC,IAAD,CACEC,KAAK,SACLC,MAAM,UACNC,QAAQ,WACRC,QAnEM,WAChB7B,EAAW,KA8DH,oBAQA,SAAC,IAAD,CACE0B,KAAK,SACLE,QAAQ,YACRD,MAAM,UACNG,UAAW7B,EACX4B,QAxEU,WACpB,IAAIE,EAAa,GACjB,GAAmB,KAAftC,EAAmB,CACrB,IAAMuC,GAAoB5B,EAAAA,EAAAA,IAAeX,GACzCsC,EAAaC,EAAkBC,SAAS,KACpCD,EADS,UAENA,EAFM,KAMf,IAA6C,IAAzCnC,EAAcqC,WAFC,SAACC,GAAD,OACjBA,EAAOhB,OAASY,EAAahC,KAC/B,CAOA,IAAMqC,EAAO,mBAAe1C,EAAf,oBAAoC2C,EAAAA,EAAAA,IAAe,GAAD,OAC1DN,GAD0D,OAC7ChC,IADL,KAGbuC,EAAAA,EAAAA,KAAaF,GACbrD,GAAmB,GACnBY,SAXEX,EAA0B,CACxBuD,aAAc,uDACdC,cAAe,MAsDX","sources":["screens/Console/Buckets/ListBuckets/Objects/ListObjects/CreateFolderModal.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 ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { Button, Grid } from \"@mui/material\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { connect } from \"react-redux\";\nimport { setFileModeEnabled } from \"../../../../ObjectBrowser/actions\";\nimport history from \"../../../../../../history\";\nimport { decodeFileName, encodeFileName } from \"../../../../../../common/utils\";\nimport { setModalErrorSnackMessage } from \"../../../../../../actions\";\nimport { BucketObject } from \"./types\";\nimport { CreateNewPathIcon } from \"../../../../../../icons\";\n\ninterface ICreateFolder {\n classes: any;\n modalOpen: boolean;\n bucketName: string;\n folderName: string;\n setFileModeEnabled: typeof setFileModeEnabled;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n onClose: () => any;\n existingFiles: BucketObject[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\nconst CreateFolderModal = ({\n modalOpen,\n folderName,\n bucketName,\n onClose,\n setFileModeEnabled,\n setModalErrorSnackMessage,\n classes,\n existingFiles,\n}: ICreateFolder) => {\n const [pathUrl, setPathUrl] = useState(\"\");\n const [isFormValid, setIsFormValid] = useState(false);\n\n const currentPath = `${bucketName}/${decodeFileName(folderName)}`;\n\n const resetForm = () => {\n setPathUrl(\"\");\n };\n\n const createProcess = () => {\n let folderPath = \"\";\n if (folderName !== \"\") {\n const decodedFolderName = decodeFileName(folderName);\n folderPath = decodedFolderName.endsWith(\"/\")\n ? decodedFolderName\n : `${decodedFolderName}/`;\n }\n const sharesName = (record: BucketObject) =>\n record.name === folderPath + pathUrl;\n if (existingFiles.findIndex(sharesName) !== -1) {\n setModalErrorSnackMessage({\n errorMessage: \"Folder cannot have the same name as an existing file\",\n detailedError: \"\",\n });\n return;\n }\n const newPath = `/buckets/${bucketName}/browse/${encodeFileName(\n `${folderPath}${pathUrl}`\n )}/`;\n history.push(newPath);\n setFileModeEnabled(false);\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 return (\n \n }\n >\n \n \n Current Path: {currentPath}\n \n \n {\n setPathUrl(e.target.value);\n }}\n required\n />\n \n \n \n Clear\n \n \n Create\n \n \n \n \n \n );\n};\n\nconst mapDispatchToProps = {\n setFileModeEnabled,\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(CreateFolderModal));\n"],"names":["mapDispatchToProps","setFileModeEnabled","setModalErrorSnackMessage","connector","connect","withStyles","theme","createStyles","modalStyleUtils","formFieldStyles","modalOpen","folderName","bucketName","onClose","classes","existingFiles","useState","pathUrl","setPathUrl","isFormValid","setIsFormValid","currentPath","decodeFileName","useEffect","valid","trim","length","title","titleIcon","container","item","xs","className","formFieldRow","value","label","id","name","placeholder","onChange","e","target","required","modalButtonBar","type","color","variant","onClick","disabled","folderPath","decodedFolderName","endsWith","findIndex","record","newPath","encodeFileName","history","errorMessage","detailedError"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/main.c7ee1a1d.js b/portal-ui/build/static/js/main.c7ee1a1d.js deleted file mode 100644 index 546c916cc..000000000 --- a/portal-ui/build/static/js/main.c7ee1a1d.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see main.c7ee1a1d.js.LICENSE.txt */ -!function(){var e={64119:function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},44149:function(e,t,n){"use strict";n.d(t,{nD:function(){return a},rS:function(){return o},gG:function(){return i},o8:function(){return l},xo:function(){return s},KY:function(){return c},y1:function(){return u},Ih:function(){return d},MK:function(){return f},zb:function(){return p},tC:function(){return h}});var r=n(92573);function a(e){return{type:r.TY,logged:e}}function o(e){return{type:r.M6,operatorMode:e}}function i(e){return{type:r.YY,open:e}}function l(e){return{type:r.vx,needsRestart:e}}function s(e){return{type:r.mp,isLoading:e}}var c=function(e){return{type:r.YH,serverDiagnosticStatus:e}},u=function(e){return{type:r.pX,message:e}},d=function(e){return{type:r.Cs,message:e}},f=function(e){return{type:r.MC,message:e}},p=function(e){return{type:r.DA,message:e}},h=function(e){return{type:r.nl,distributedSetup:e}}},47979:function(e,t,n){"use strict";n(50390);var r=n(25594),a=n(18201),o=n(62559);t.Z=function(){return(0,o.jsx)(r.ZP,{container:!0,spacing:0,direction:"column",alignItems:"center",justifyContent:"center",style:{minHeight:"100vh"},children:(0,o.jsxs)(r.ZP,{item:!0,xs:3,style:{textAlign:"center"},children:[(0,o.jsx)(a.Z,{}),(0,o.jsx)("br",{}),"Loading..."]})})}},15607:function(e,t,n){"use strict";n.d(t,{F:function(){return u}});var r=n(18489),a=n(35531),o=n(23430),i=n(50390),l=n(69970),s=n(49495),c=n(62559),u=function(e,t,n,r){if(!e)return!1;var i=l.h.getState().console.session.permissions||{},c=i[e]||i["arn:aws:s3:::".concat(e,"/*")]||[],u=i["arn:aws:s3:::*"]||[],d=[];if(r)for(var f="arn:aws:s3:::".concat(e),p=0,h=Object.entries(i);p1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0;if(!e)return!1;var r=e.includes(c.S3_ALL_ACTIONS),a=e.includes(c.ADMIN_ALL_ACTIONS),o=t.filter((function(t){return-1!==e.indexOf(t)||-1!==t.indexOf("s3:")&&r||-1!==t.indexOf("admin:")&&a}));return n?o.length===t.length:o.length>0},s={BUCKET_OWNER:"BUCKET_OWNER",BUCKET_VIEWER:"BUCKET_VIEWER",BUCKET_ADMIN:"BUCKET_ADMIN"},c={S3_LIST_BUCKET:"s3:ListBucket",S3_GET_BUCKET_POLICY:"s3:GetBucketPolicy",S3_PUT_BUCKET_POLICY:"s3:PutBucketPolicy",S3_GET_OBJECT:"s3:GetObject",S3_PUT_OBJECT:"s3:PutObject",S3_GET_OBJECT_LEGAL_HOLD:"s3:GetObjectLegalHold",S3_PUT_OBJECT_LEGAL_HOLD:"s3:PutObjectLegalHold",S3_DELETE_OBJECT:"s3:DeleteObject",S3_GET_BUCKET_VERSIONING:"s3:GetBucketVersioning",S3_PUT_BUCKET_VERSIONING:"s3:PutBucketVersioning",S3_GET_OBJECT_RETENTION:"s3:GetObjectRetention",S3_PUT_OBJECT_RETENTION:"s3:PutObjectRetention",S3_GET_OBJECT_TAGGING:"s3:GetObjectTagging",S3_PUT_OBJECT_TAGGING:"s3:PutObjectTagging",S3_DELETE_OBJECT_TAGGING:"s3:DeleteObjectTagging",S3_GET_BUCKET_ENCRYPTION_CONFIGURATION:"s3:GetEncryptionConfiguration",S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION:"s3:PutEncryptionConfiguration",S3_CREATE_BUCKET:"s3:CreateBucket",S3_DELETE_BUCKET:"s3:DeleteBucket",S3_FORCE_DELETE_BUCKET:"s3:ForceDeleteBucket",S3_GET_BUCKET_NOTIFICATIONS:"s3:GetBucketNotification",S3_LISTEN_BUCKET_NOTIFICATIONS:"s3:ListenBucketNotification",S3_PUT_BUCKET_NOTIFICATIONS:"s3:PutBucketNotification",S3_GET_REPLICATION_CONFIGURATION:"s3:GetReplicationConfiguration",S3_PUT_REPLICATION_CONFIGURATION:"s3:PutReplicationConfiguration",S3_GET_LIFECYCLE_CONFIGURATION:"s3:GetLifecycleConfiguration",S3_PUT_LIFECYCLE_CONFIGURATION:"s3:PutLifecycleConfiguration",S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION:"s3:GetBucketObjectLockConfiguration",S3_PUT_BUCKET_OBJECT_LOCK_CONFIGURATION:"s3:PutBucketObjectLockConfiguration",ADMIN_GET_POLICY:"admin:GetPolicy",ADMIN_LIST_USERS:"admin:ListUsers",ADMIN_CREATE_USER:"admin:CreateUser",ADMIN_DELETE_USER:"admin:DeleteUser",ADMIN_ENABLE_USER:"admin:EnableUser",ADMIN_DISABLE_USER:"admin:DisableUser",ADMIN_GET_USER:"admin:GetUser",ADMIN_LIST_USER_POLICIES:"admin:ListUserPolicies",ADMIN_SERVER_INFO:"admin:ServerInfo",ADMIN_GET_BUCKET_QUOTA:"admin:GetBucketQuota",ADMIN_SET_BUCKET_QUOTA:"admin:SetBucketQuota",ADMIN_LIST_TIERS:"admin:ListTier",ADMIN_SET_TIER:"admin:SetTier",ADMIN_LIST_GROUPS:"admin:ListGroups",S3_GET_OBJECT_VERSION_FOR_REPLICATION:"s3:GetObjectVersionForReplication",S3_REPLICATE_TAGS:"s3:ReplicateTags",S3_REPLICATE_DELETE:"s3:ReplicateDelete",S3_REPLICATE_OBJECT:"s3:ReplicateObject",S3_PUT_OBJECT_VERSION_TAGGING:"s3:PutObjectVersionTagging",S3_DELETE_OBJECT_VERSION_TAGGING:"s3:DeleteObjectVersionTagging",S3_DELETE_OBJECT_VERSION:"s3:DeleteObjectVersion",S3_GET_OBJECT_VERSION_TAGGING:"s3:GetObjectVersionTagging",S3_GET_OBJECT_VERSION:"s3:GetObjectVersion",S3_PUT_BUCKET_TAGGING:"s3:PutBucketTagging",S3_GET_BUCKET_TAGGING:"s3:GetBucketTagging",S3_BYPASS_GOVERNANCE_RETENTION:"s3:BypassGovernanceRetention",S3_LIST_MULTIPART_UPLOAD_PARTS:"s3:ListMultipartUploadParts",S3_LISTEN_NOTIFICATIONS:"s3:ListenNotification",S3_LIST_BUCKET_MULTIPART_UPLOADS:"s3:ListBucketMultipartUploads",S3_LIST_BUCKET_VERSIONS:"s3:ListBucketVersions",S3_GET_BUCKET_POLICY_STATUS:"s3:GetBucketPolicyStatus",S3_LIST_ALL_MY_BUCKETS:"s3:ListAllMyBuckets",S3_HEAD_BUCKET:"s3:HeadBucket",S3_GET_BUCKET_LOCATION:"s3:GetBucketLocation",S3_DELETE_BUCKET_POLICY:"s3:DeleteBucketPolicy",S3_ABORT_MULTIPART_UPLOAD:"s3:AbortMultipartUpload",ADMIN_ADD_USER_TO_GROUP:"admin:AddUserToGroup",ADMIN_REMOVE_USER_FROM_GROUP:"admin:RemoveUserFromGroup",ADMIN_GET_GROUP:"admin:GetGroup",ADMIN_ENABLE_GROUP:"admin:EnableGroup",ADMIN_DISABLE_GROUP:"admin:DisableGroup",ADMIN_CREATE_POLICY:"admin:CreatePolicy",ADMIN_DELETE_POLICY:"admin:DeletePolicy",ADMIN_ATTACH_USER_OR_GROUP_POLICY:"admin:AttachUserOrGroupPolicy",ADMIN_CREATE_SERVICEACCOUNT:"admin:CreateServiceAccount",ADMIN_UPDATE_SERVICEACCOUNT:"admin:UpdateServiceAccount",ADMIN_REMOVE_SERVICEACCOUNT:"admin:RemoveServiceAccount",ADMIN_LIST_SERVICEACCOUNTS:"admin:ListServiceAccounts",ADMIN_CONFIG_UPDATE:"admin:ConfigUpdate",ADMIN_GET_CONSOLE_LOG:"admin:ConsoleLog",ADMIN_SERVER_TRACE:"admin:ServerTrace",ADMIN_HEALTH_INFO:"admin:OBDInfo",ADMIN_HEAL:"admin:Heal",S3_ALL_ACTIONS:"s3:*",ADMIN_ALL_ACTIONS:"admin:*"},u={BUCKETS:"/buckets",ADD_BUCKETS:"/add-bucket",BUCKETS_ADMIN_VIEW:"/buckets/:bucketName/admin*",BUCKETS_BROWSE_VIEW:"/buckets/:bucketName/browse*",IDENTITY:"/identity",USERS:"/identity/users",USERS_VIEW:"/identity/users/:userName+",GROUPS:"/identity/groups",GROUPS_VIEW:"/identity/groups/:groupName+",ACCOUNT:"/identity/account",POLICIES:"/access/policies",POLICIES_VIEW:"/access/policies/*",TOOLS_LOGS:"/tools/logs",TOOLS_AUDITLOGS:"/tools/audit-logs",TOOLS_TRACE:"/tools/trace",METRICS:"/tools/metrics",DASHBOARD:"/tools/dashboard",TOOLS_HEAL:"/tools/heal",TOOLS_WATCH:"/tools/watch",HEALTH:"/health",TOOLS:"/support",REGISTER_SUPPORT:"/support/register",TOOLS_DIAGNOSTICS:"/support/diagnostics",TOOLS_SPEEDTEST:"/support/speedtest",CALL_HOME:"/support/call-home",PROFILE:"/support/profile",LICENSE:"/license",SETTINGS:"/settings/configurations",SETTINGS_VIEW:"/settings/configurations/:option",DOCUMENTATION:"/documentation",NOTIFICATIONS_ENDPOINTS:"/settings/notification-endpoints",NOTIFICATIONS_ENDPOINTS_ADD:"/settings/notification-endpoints/add",NOTIFICATIONS_ENDPOINTS_ADD_SERVICE:"/settings/notification-endpoints/add/:service",TIERS:"/settings/tiers",TIERS_ADD:"/settings/tiers/add",TIERS_ADD_SERVICE:"/settings/tiers/add/:service",TENANTS:"/tenants",TENANTS_ADD:"/tenants/add",STORAGE:"/storage",STORAGE_VOLUMES:"/storage/volumes",STORAGE_DRIVES:"/storage/drives",NAMESPACE_TENANT:"/namespaces/:tenantNamespace/tenants/:tenantName",NAMESPACE_TENANT_HOP:"/namespaces/:tenantNamespace/tenants/:tenantName/hop",NAMESPACE_TENANT_PODS:"/namespaces/:tenantNamespace/tenants/:tenantName/pods/:podName",NAMESPACE_TENANT_PVCS:"/namespaces/:tenantNamespace/tenants/:tenantName/pvcs/:PVCName",NAMESPACE_TENANT_PODS_LIST:"/namespaces/:tenantNamespace/tenants/:tenantName/pods",NAMESPACE_TENANT_SUMMARY:"/namespaces/:tenantNamespace/tenants/:tenantName/summary",NAMESPACE_TENANT_METRICS:"/namespaces/:tenantNamespace/tenants/:tenantName/metrics",NAMESPACE_TENANT_POOLS:"/namespaces/:tenantNamespace/tenants/:tenantName/pools",NAMESPACE_TENANT_VOLUMES:"/namespaces/:tenantNamespace/tenants/:tenantName/volumes",NAMESPACE_TENANT_LICENSE:"/namespaces/:tenantNamespace/tenants/:tenantName/license",NAMESPACE_TENANT_SECURITY:"/namespaces/:tenantNamespace/tenants/:tenantName/security",NAMESPACE_TENANT_MONITORING:"/namespaces/:tenantNamespace/tenants/:tenantName/monitoring",NAMESPACE_TENANT_LOGGING:"/namespaces/:tenantNamespace/tenants/:tenantName/logging"},d=(r={},(0,i.Z)(r,s.BUCKET_OWNER,[c.S3_PUT_OBJECT,c.S3_DELETE_OBJECT]),(0,i.Z)(r,s.BUCKET_VIEWER,[c.S3_LIST_BUCKET]),(0,i.Z)(r,s.BUCKET_ADMIN,[c.S3_ALL_ACTIONS,c.ADMIN_ALL_ACTIONS,c.S3_REPLICATE_OBJECT,c.S3_REPLICATE_DELETE,c.S3_REPLICATE_TAGS,c.S3_GET_OBJECT_VERSION_FOR_REPLICATION,c.S3_PUT_REPLICATION_CONFIGURATION,c.S3_GET_REPLICATION_CONFIGURATION,c.S3_GET_BUCKET_VERSIONING,c.S3_PUT_BUCKET_VERSIONING,c.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,c.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION,c.S3_DELETE_OBJECT_TAGGING,c.S3_PUT_OBJECT_TAGGING,c.S3_GET_OBJECT_TAGGING,c.S3_PUT_OBJECT_VERSION_TAGGING,c.S3_DELETE_OBJECT_VERSION_TAGGING,c.S3_DELETE_OBJECT_VERSION,c.S3_GET_OBJECT_VERSION_TAGGING,c.S3_GET_OBJECT_VERSION,c.S3_PUT_BUCKET_TAGGING,c.S3_GET_BUCKET_TAGGING,c.S3_PUT_BUCKET_OBJECT_LOCK_CONFIGURATION,c.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION,c.S3_PUT_OBJECT_LEGAL_HOLD,c.S3_GET_OBJECT_LEGAL_HOLD,c.S3_GET_OBJECT_RETENTION,c.S3_PUT_OBJECT_RETENTION,c.S3_BYPASS_GOVERNANCE_RETENTION,c.S3_PUT_BUCKET_POLICY,c.S3_PUT_BUCKET_NOTIFICATIONS,c.S3_GET_LIFECYCLE_CONFIGURATION,c.S3_PUT_LIFECYCLE_CONFIGURATION,c.S3_LIST_MULTIPART_UPLOAD_PARTS,c.S3_LISTEN_BUCKET_NOTIFICATIONS,c.S3_LISTEN_NOTIFICATIONS,c.S3_LIST_BUCKET_MULTIPART_UPLOADS,c.S3_LIST_BUCKET_VERSIONS,c.S3_GET_BUCKET_POLICY_STATUS,c.S3_LIST_ALL_MY_BUCKETS,c.S3_HEAD_BUCKET,c.S3_GET_BUCKET_POLICY,c.S3_GET_BUCKET_NOTIFICATIONS,c.S3_GET_BUCKET_LOCATION,c.S3_DELETE_BUCKET_POLICY,c.S3_FORCE_DELETE_BUCKET,c.S3_DELETE_BUCKET,c.S3_CREATE_BUCKET,c.S3_ABORT_MULTIPART_UPLOAD,c.ADMIN_GET_POLICY,c.ADMIN_LIST_USER_POLICIES,c.ADMIN_LIST_USERS,c.ADMIN_HEAL]),r),f=(a={},(0,i.Z)(a,u.ADD_BUCKETS,[c.S3_CREATE_BUCKET]),(0,i.Z)(a,u.BUCKETS_ADMIN_VIEW,(0,o.Z)(d[s.BUCKET_ADMIN])),(0,i.Z)(a,u.BUCKETS_BROWSE_VIEW,[].concat((0,o.Z)(d[s.BUCKET_OWNER]),(0,o.Z)(d[s.BUCKET_VIEWER]))),(0,i.Z)(a,u.GROUPS,[c.ADMIN_LIST_GROUPS,c.ADMIN_ADD_USER_TO_GROUP]),(0,i.Z)(a,u.GROUPS_VIEW,[c.ADMIN_GET_GROUP,c.ADMIN_DISABLE_GROUP,c.ADMIN_ENABLE_GROUP,c.ADMIN_REMOVE_USER_FROM_GROUP,c.ADMIN_LIST_USER_POLICIES,c.ADMIN_ADD_USER_TO_GROUP,c.ADMIN_ATTACH_USER_OR_GROUP_POLICY]),(0,i.Z)(a,u.USERS,[c.ADMIN_LIST_USERS,c.ADMIN_CREATE_USER]),(0,i.Z)(a,u.USERS_VIEW,[c.ADMIN_GET_USER,c.ADMIN_ADD_USER_TO_GROUP,c.ADMIN_ENABLE_USER,c.ADMIN_DISABLE_USER,c.ADMIN_DELETE_USER]),(0,i.Z)(a,u.DASHBOARD,[c.ADMIN_SERVER_INFO]),(0,i.Z)(a,u.METRICS,[c.ADMIN_SERVER_INFO]),(0,i.Z)(a,u.POLICIES_VIEW,[c.ADMIN_DELETE_POLICY,c.ADMIN_LIST_GROUPS,c.ADMIN_GET_GROUP,c.ADMIN_GET_POLICY,c.ADMIN_CREATE_POLICY]),(0,i.Z)(a,u.POLICIES,[c.ADMIN_LIST_USER_POLICIES,c.ADMIN_CREATE_POLICY]),(0,i.Z)(a,u.SETTINGS,[c.ADMIN_CONFIG_UPDATE]),(0,i.Z)(a,u.SETTINGS_VIEW,[c.ADMIN_CONFIG_UPDATE]),(0,i.Z)(a,u.NOTIFICATIONS_ENDPOINTS_ADD_SERVICE,[c.ADMIN_SERVER_INFO,c.ADMIN_CONFIG_UPDATE]),(0,i.Z)(a,u.NOTIFICATIONS_ENDPOINTS_ADD,[c.ADMIN_SERVER_INFO,c.ADMIN_CONFIG_UPDATE]),(0,i.Z)(a,u.NOTIFICATIONS_ENDPOINTS,[c.ADMIN_SERVER_INFO,c.ADMIN_CONFIG_UPDATE]),(0,i.Z)(a,u.TIERS,[c.ADMIN_LIST_TIERS,c.ADMIN_SET_TIER]),(0,i.Z)(a,u.TIERS_ADD,[c.ADMIN_SET_TIER]),(0,i.Z)(a,u.TIERS_ADD_SERVICE,[c.ADMIN_SET_TIER]),(0,i.Z)(a,u.TOOLS,[c.S3_LISTEN_NOTIFICATIONS,c.S3_LISTEN_BUCKET_NOTIFICATIONS,c.ADMIN_GET_CONSOLE_LOG,c.ADMIN_SERVER_TRACE,c.ADMIN_HEAL,c.ADMIN_HEALTH_INFO,c.ADMIN_SERVER_INFO]),(0,i.Z)(a,u.TOOLS_LOGS,[c.ADMIN_GET_CONSOLE_LOG]),(0,i.Z)(a,u.TOOLS_AUDITLOGS,[c.ADMIN_HEALTH_INFO]),(0,i.Z)(a,u.TOOLS_WATCH,[c.S3_LISTEN_NOTIFICATIONS,c.S3_LISTEN_BUCKET_NOTIFICATIONS]),(0,i.Z)(a,u.TOOLS_TRACE,[c.ADMIN_SERVER_TRACE]),(0,i.Z)(a,u.TOOLS_HEAL,[c.ADMIN_HEAL]),(0,i.Z)(a,u.TOOLS_DIAGNOSTICS,[c.ADMIN_HEALTH_INFO,c.ADMIN_SERVER_INFO]),(0,i.Z)(a,u.TOOLS_SPEEDTEST,[c.ADMIN_HEALTH_INFO]),(0,i.Z)(a,u.REGISTER_SUPPORT,[c.ADMIN_SERVER_INFO,c.ADMIN_CONFIG_UPDATE]),(0,i.Z)(a,u.CALL_HOME,[c.ADMIN_HEALTH_INFO]),(0,i.Z)(a,u.PROFILE,[c.ADMIN_HEALTH_INFO]),(0,i.Z)(a,u.HEALTH,[c.ADMIN_HEALTH_INFO]),(0,i.Z)(a,u.LICENSE,[c.ADMIN_SERVER_INFO,c.ADMIN_CONFIG_UPDATE]),a),p="arn:aws:s3:::*",h="console-ui"},30324:function(e,t,n){"use strict";var r=n(27853),a=n(84531),o=n(68406),i=n.n(o),l=n(38342),s=n.n(l),c=n(28948),u=new(function(){function e(){(0,r.Z)(this,e)}return(0,a.Z)(e,[{key:"invoke",value:function(e,t,n){var r=this,a=t;return"/"===a[0]&&(a=a.substr(1)),i()(e,a).send(n).then((function(e){return e.body})).catch((function(e){return 401===e.status&&localStorage.getItem("userLoggedIn")?("/"!==window.location.pathname&&localStorage.setItem("redirect-path",window.location.pathname),(0,c.Ov)(),void(window.location.href="/login")):r.onError(e)}))}},{key:"onError",value:function(e){if(e.status){var t=s()(e.response,"body.message","Error ".concat(e.status.toString())),n=s()(e.response,"body.detailedMessage","");t===n&&(n="");var r={errorMessage:t.charAt(0).toUpperCase()+t.slice(1),detailedError:n.charAt(0).toUpperCase()+n.slice(1)};return Promise.reject(r)}(0,c.Ov)(),window.location.href="/login"}}]),e}());t.Z=u},28948:function(e,t,n){"use strict";n.d(t,{Dl:function(){return o},ae:function(){return s},l5:function(){return c},Ov:function(){return u},zk:function(){return d},mK:function(){return f},QU:function(){return p},Pw:function(){return h},zg:function(){return m},ES:function(){return y},en:function(){return x},v1:function(){return b},Ue:function(){return _},Am:function(){return Z},Yj:function(){return E},C5:function(){return S},CE:function(){return j},nk:function(){return T},ug:function(){return A},le:function(){return C}});var r=n(41618),a=1073741824,o=["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],i=["Ki","Mi","Gi","Ti","Pi","Ei"],l=["B"].concat(i),s=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=parseInt(e,10)||0;return c(n,t)},c=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=0;e>=1024&&++n;)e/=1024;var r=["B"].concat(i);return e.toFixed(e<10&&n>0?1:0)+" "+(t?r[n]:o[n])},u=function(){var e;r.ZP.removeItem("token"),e="token",document.cookie=e+"=; expires=Thu, 01 Jan 1970 00:00:01 GMT;"},d=function(e){var t=e.getHours()<10?"0".concat(e.getHours()):"".concat(e.getHours()),n=e.getMinutes()<10?"0".concat(e.getMinutes()):"".concat(e.getMinutes()),r=e.getSeconds()<10?"0".concat(e.getSeconds()):"".concat(e.getSeconds());return"".concat(t,":").concat(n,":").concat(r,":").concat(e.getMilliseconds())},f=function(){return o.map((function(e){return{label:e,value:e}}))},p=function(){return i.map((function(e){return{label:e,value:e}}))},h=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=parseFloat(e),a=n?l:o,i=a.findIndex((function(e){return e===t}));if(-1===i)return"0";var s=Math.pow(1024,i),c=r*s;return c.toString(10)},m=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=h(e.value,e.unit,!0);if(parseInt(o,10)4&&void 0!==arguments[4]?arguments[4]:0;if(isNaN(e)||isNaN(t)||isNaN(n)||isNaN(r))return{error:"Some provided data is invalid, please try again.",nodes:0,persistentVolumes:0,disks:0,pvSize:0};var i=0,l=0,s=0;if(0===o&&(s=(l=t/(i=Math.floor(Math.min(t/Math.max(4,e),n))))/e),o&&(l=(s=o)*e,i=Math.floor(t/l)),s%1>0){l=(s=Math.ceil(s))*e;var c=(i=Math.floor(t/l))*s*e;if(c>r)return{error:"We were not able to allocate this server.",nodes:0,persistentVolumes:0,disks:0,pvSize:0}}return i=8&&r>16&&c&&(s="EC:4"),{error:0,storageFactors:l,maxEC:o,rawCapacity:a.toString(10),erasureCodeSet:i,defaultEC:s}},x=function(e){var t=e.length;return"pool-".concat(t)},b=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"s",n=parseFloat(e);return w(n,t)},w=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"s";switch(t){case"ns":e=Math.floor(1e-9*e);break;case"ms":e=Math.floor(.001*e)}var n=Math.floor(e/86400);e-=3600*n*24;var r=Math.floor(e/3600);e-=3600*r;var a=Math.floor(e/60);if(e-=60*a,n>365){var o=n/365;return"".concat(o," year").concat(1===Math.floor(o)?"":"s")}if(n>30){var i=Math.floor(n/30),l=n-30*i;return"".concat(i," month").concat(1===Math.floor(i)?"":"s"," ").concat(l>0?"".concat(l," day").concat(l>1?"s":""):"")}if(n>=7&&n<=30){var s=Math.floor(n/7);return"".concat(Math.floor(s)," week").concat(1===s?"":"s")}return n>=1&&n<=6?"".concat(n," day").concat(n>1?"s":""):"".concat(r>=1?"".concat(r," hour").concat(r>1?"s":""):""," ").concat(a>=1&&0===r?"".concat(a," minute").concat(a>1?"s":""):""," ").concat(e>=1&&0===a&&0===r?"".concat(e," second").concat(e>1?"s":""):"")},_=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=parseInt(e);if(isNaN(n))return"";var r=new Date(1e3*n);return t?"".concat(r.getFullYear(),"-").concat(String(r.getMonth()+1).padStart(2,"0"),"-").concat(String(r.getDay()).padStart(2,"0")," ").concat(r.getHours(),":").concat(String(r.getMinutes()).padStart(2,"0"),":").concat(String(r.getSeconds()).padStart(2,"0")):"".concat(r.getHours(),":").concat(String(r.getMinutes()).padStart(2,"0"))},Z=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=parseInt(e,10);if(0===a)return{total:0,unit:o[0]};var i=1024,s=Math.floor(Math.log(a)/Math.log(i)),c=t?0:1,u=a/Math.pow(i,s),d=n?Math.floor(u):u,f=parseFloat(d.toFixed(c)),p=r?l[s]:o[s];return{total:f,unit:p}},E=function(e){var t=1e-9*e,n=Math.round(1e4*(t+Number.EPSILON))/1e4;return"".concat(n," s")},S=function(e){var t=(100*e.split("").reduce((function(e,t){return e+t.charCodeAt(0)+((e<<5)-e)}),0)&16777215).toString(16).toUpperCase();return"#".concat(t.padStart(6,"0"))},j=function(e){return void 0===e?0:e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")},T=function(e){if(void 0===e)return"0";var t=e.toString(),n="";return e>999&&e<1e6?(t=(e/1e3).toFixed(1),n="K"):e>=1e6&&e<1e9?(t=(e/1e6).toFixed(1),n="M"):e>=1e9&&(t=(e/1e9).toFixed(1),n="B"),t.endsWith(".0")&&(t=t.slice(0,-2)),"".concat(t).concat(n)},A=function(e){try{return btoa(unescape(encodeURIComponent(e)))}catch(t){return""}},C=function(e){try{return decodeURIComponent(escape(window.atob(e)))}catch(t){return e}}},24442:function(e,t,n){"use strict";var r=n(33156),a={},o=document.baseURI.replace(window.location.origin,"");""!==o&&(a.basename=o),t.Z=(0,r.lX)(a)},71353:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{"data-name":"Add Folder",clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("g",{"data-name":"add folder-icn",children:(0,a.jsx)("path",{"data-name":"Uni\\xF3n 11",d:"M39.666 233.405A29.865 29.865 0 0 1 9.8 204.786L.074 97.965A20.666 20.666 0 0 1 0 96.155a29.835 29.835 0 0 1 20.248-28.183V54.5a20.051 20.051 0 0 1-.236-3.083A29.515 29.515 0 0 1 49.549 22h52.166c13.4 0 21.111 10.416 26.211 17.3.338.458.727.981 1.119 1.513h81.508a29.514 29.514 0 0 1 29.531 29.034A29.779 29.779 0 0 1 256 96.155c0 .619-.031 1.234-.092 1.853l-9.963 106.8a29.87 29.87 0 0 1-29.865 28.593ZM20.092 96.155l9.787 107.485a9.8 9.8 0 0 0 9.787 9.749H216.08a9.8 9.8 0 0 0 9.8-9.749l10.03-107.485a9.809 9.809 0 0 0-9.8-9.753H29.879a9.8 9.8 0 0 0-9.787 9.753Zm20.015-44.734h.227v23.514H219.99v-4.7a9.449 9.449 0 0 0-9.437-9.4H122.5c-7.082 0-14.17-18.814-20.783-18.814H49.549a9.449 9.449 0 0 0-9.442 9.4Zm80.588 128.7v-23.339H97.264a7.783 7.783 0 1 1 0-15.565H120.7v-23.335a7.809 7.809 0 0 1 15.617 0v23.335h23.432a7.783 7.783 0 1 1 0 15.565h-23.436v23.335a7.809 7.809 0 0 1-15.617 0Z",stroke:"rgba(0,0,0,0)",strokeMiterlimit:10})}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 873",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},14792:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 858",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 20",d:"M102.405 230.399v-76.79h-76.8a25.607 25.607 0 0 1 0-51.214h76.8V25.601a25.6 25.6 0 1 1 51.2 0v76.792h76.8a25.607 25.607 0 0 1 0 51.214h-76.8v76.792a25.6 25.6 0 1 1-51.2 0Z"})]})]}))}},33447:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1016","data-name":"Rect\xe1ngulo 1016",width:"234.495",height:"256",fill:"#4ccb92"})}),(0,a.jsx)("clipPath",{id:"clip-Add_Members_to_Group",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Add_Members_to_Group","data-name":"Add Members to Group",clipPath:"url(#clip-Add_Members_to_Group)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Add_Members_to_Group_Icon","data-name":"Add Members to Group Icon",children:[(0,a.jsx)("g",{id:"Grupo_2404","data-name":"Grupo 2404",transform:"translate(12)",children:(0,a.jsxs)("g",{id:"Grupo_2403","data-name":"Grupo 2403",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7140","data-name":"Trazado 7140",d:"M88.829,144.6h.048a66.829,66.829,0,0,0,27.035-5.707,69.009,69.009,0,0,0,22.1-15.529,72.055,72.055,0,0,0,14.891-22.977,73.863,73.863,0,0,0,5.463-28.1C158.372,32.435,127.183,0,88.831,0h0C50.5,0,19.316,32.43,19.316,72.292S50.5,144.6,88.829,144.6",transform:"translate(1.421)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7141","data-name":"Trazado 7141",d:"M170.085,117.467a64.39,64.39,0,0,0-57.412,35.223c-1.427-.4-2.86-.784-4.3-1.124A94.705,94.705,0,0,0,86.9,149.044v.005c-1.755,0-3.439.046-5,.135A99.747,99.747,0,0,0,8.1,189.42c-.388.519-.767,1.061-1.234,1.756l-.107.15c-.1.142-.214.3-.312.458l-.027.028a37.88,37.88,0,0,0-2.671,37.522A31.97,31.97,0,0,0,32.509,247.36H142.044a31.485,31.485,0,0,0,13.08-2.84,64.408,64.408,0,1,0,14.961-127.054m.383,115.3a50.889,50.889,0,1,1,50.888-50.888,50.888,50.888,0,0,1-50.888,50.888m-7.982-26.944V189.859H146.524V173.895h15.963V157.931H178.45v15.964h15.963v15.964H178.45v15.963Z",transform:"translate(0 8.64)",fill:"#4ccb92"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1017","data-name":"Rect\xe1ngulo 1017",width:"256",height:"256",fill:"none"})]})]})]}))}},56135:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 884",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"buckets-icn",d:"m244.998 90.474.049-.243 10.563-61.472a25.8 25.8 0 0 0-4.748-19.986A21.518 21.518 0 0 0 233.739 0H22.255A21.507 21.507 0 0 0 5.138 8.773 25.862 25.862 0 0 0 .384 28.759c5.223 30.384 16.209 94.421 25 145.533l.014.1c4.457 26 8.338 48.644 10.617 61.787 1.965 11.487 11.148 19.819 21.854 19.819h140.264c10.713 0 19.875-8.332 21.861-19.819l10.592-61.711.076-.375Zm-203.928 72.5c-3.6-20.981-7.479-43.648-11.148-65.015H226.09l-11.168 65.015Zm197.482-137.7-9.2 53.735h-202.7c-3.7-21.626-7-40.758-9.221-53.735a5.736 5.736 0 0 1 1.041-4.394 4.738 4.738 0 0 1 3.764-1.934h211.5a4.732 4.732 0 0 1 3.775 1.939 5.691 5.691 0 0 1 1.042 4.387Zm-26.893 156.649-8.709 50.763a5.048 5.048 0 0 1-4.824 4.37H57.862a5.047 5.047 0 0 1-4.816-4.361c-1.93-11.25-5.066-29.464-8.717-50.771Z",stroke:"#000",strokeWidth:.2})]})]}))}},44078:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({},e),{},{className:"min-icon",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 121.755 29.822",children:(0,a.jsx)("path",{className:"prefix__a",d:"M15.647 15.935l-1.772 1.194a6.088 6.088 0 00-5.135-2.652 6.348 6.348 0 00-6.522 6.654 6.348 6.348 0 006.522 6.654 6.031 6.031 0 005.124-2.64l1.735 1.266a8.126 8.126 0 01-6.859 3.411A8.422 8.422 0 010 21.131a8.422 8.422 0 018.74-8.691 7.963 7.963 0 016.907 3.495zM35.641 21.131a8.422 8.422 0 01-8.74 8.691 8.422 8.422 0 01-8.739-8.691 8.421 8.421 0 018.739-8.691 8.422 8.422 0 018.74 8.691zm-15.261 0a6.347 6.347 0 006.521 6.654 6.347 6.347 0 006.521-6.654 6.347 6.347 0 00-6.521-6.654 6.347 6.347 0 00-6.521 6.654zM53.729 29.581h-1.917l-10.2-13.26-.012 13.248h-2.122V12.681h1.917l10.21 13.26V12.693h2.122zM69.551 16.02a8.835 8.835 0 00-5-1.555c-2.471 0-4.231 1.109-4.231 2.929 0 1.531 1.29 2.315 3.821 2.628l1.484.181c2.856.35 5.3 1.507 5.3 4.484 0 3.364-3.05 5.123-6.7 5.123a10.935 10.935 0 01-6.654-2.194l1.157-1.687a9.018 9.018 0 005.5 1.868c2.519 0 4.5-1.025 4.5-2.929 0-1.567-1.41-2.314-4.038-2.64l-1.567-.193c-2.784-.337-5-1.627-5-4.508 0-3.255 2.893-5.075 6.449-5.075a10.336 10.336 0 016.076 1.844zM91.268 21.131a8.422 8.422 0 01-8.74 8.691 8.422 8.422 0 01-8.739-8.691 8.421 8.421 0 018.739-8.691 8.422 8.422 0 018.74 8.691zm-15.261 0a6.348 6.348 0 006.521 6.654 6.347 6.347 0 006.521-6.654 6.347 6.347 0 00-6.521-6.654 6.348 6.348 0 00-6.521 6.654zM106.897 29.569h-11.79V12.693h2.122v14.863h9.668zM121.76 29.569h-11.982V12.693h11.862v1.988h-9.74v5.389h9.427v2H111.9v5.509h9.86zM14.9.167h2.576v7.547H14.9zM11.801.238l-5.23 3.194a.229.229 0 01-.242 0L1.099.238a.726.726 0 00-.374-.1H.719a.717.717 0 00-.717.717v6.864h2.574V4.462a.258.258 0 01.392-.22l2.931 1.793a.919.919 0 00.944.009L9.935 4.23a.258.258 0 01.388.222v3.267h2.575V.855a.717.717 0 00-.717-.717h-.006a.723.723 0 00-.374.1zM30.348.165h-2.613v3.463a.258.258 0 01-.379.228L20.585.249a.723.723 0 00-.337-.084.717.717 0 00-.717.717v6.832h2.592V4.306a.258.258 0 01.379-.227l6.8 3.606a.714.714 0 00.336.083.716.716 0 00.717-.717V.165zM32.439 7.712V.165h1.2v7.547zM40.536 7.878c-3.189 0-5.451-1.513-5.451-3.939S37.361 0 40.536 0s5.466 1.513 5.466 3.939-2.236 3.939-5.466 3.939zm0-6.87c-2.371 0-4.2 1.036-4.2 2.931s1.826 2.93 4.2 2.93 4.212-1.022 4.212-2.93-1.84-2.931-4.212-2.931z"})}))}},24957:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 6972",d:"M215.641 255.9H87.69a22.585 22.585 0 0 1-16.605-6.812 22.542 22.542 0 0 1-6.8-16.6v-162.8a21.969 21.969 0 0 1 6.807-16.058 22.654 22.654 0 0 1 16.6-6.807h127.951a21.95 21.95 0 0 1 16.059 6.807 22.014 22.014 0 0 1 6.813 16.058v162.8a22.6 22.6 0 0 1-6.812 16.613 21.94 21.94 0 0 1-16.037 6.8ZM87.69 232.486h127.951v-162.8H87.69ZM18 189V12A12 12 0 0 1 30 0h139a12 12 0 0 1 12 12 12 12 0 0 1-12 12H42v165a12 12 0 0 1-11.992 12A12 12 0 0 1 18 189Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 918",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},35336:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsx)("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.jsxs)("g",{id:"trash-icn",transform:"translate(0 0)",children:[(0,a.jsx)("path",{fill:"currentcolor",d:"M219.6,16.2h-49.7V8.4c0-3.4-2.7-6.1-6.1-6.1H92.2c-3.4,0-6.1,2.7-6.1,6.1v7.8H36.3 c-3.4,0-6.1,2.8-6.1,6.2V38c0,3.4,2.7,6.1,6.1,6.1h183.3c3.4,0,6.1-2.7,6.1-6.1V22.4C225.8,19,223.1,16.2,219.6,16.2 C219.7,16.2,219.6,16.2,219.6,16.2z"}),(0,a.jsx)("path",{fill:"currentcolor",d:"M44.2,225.5c0,15.6,12.7,28.2,28.2,28.2h111.2c15.6-0.1,28.2-12.7,28.2-28.2V58.1H44.2V225.5z"})]})}))}},73891:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 17",d:"M.449 128.494A128.188 128.188 0 0 1 128.494.45h10.6v52.857a76.1 76.1 0 0 1 46.531 25.151 75.572 75.572 0 0 1 13.854 22.845 75.251 75.251 0 0 1 5.039 27.189 76.11 76.11 0 0 1-76.023 76.022 76.1 76.1 0 0 1-76.012-76.022 75.291 75.291 0 0 1 5.037-27.189 75.678 75.678 0 0 1 13.85-22.845 76.135 76.135 0 0 1 46.555-25.151v-31.18a106.369 106.369 0 0 0-19.6 3.814 106.378 106.378 0 0 0-18.193 7.25 107.579 107.579 0 0 0-16.385 10.312A108.253 108.253 0 0 0 49.54 56.524a108.229 108.229 0 0 0-11.676 15.37 107.348 107.348 0 0 0-8.787 17.356 106.17 106.17 0 0 0-7.459 39.244 107.008 107.008 0 0 0 106.877 106.892 107.017 107.017 0 0 0 106.9-106.892 10.5 10.5 0 0 1 3.1-7.479 10.49 10.49 0 0 1 7.475-3.1 10.593 10.593 0 0 1 10.584 10.58 128.2 128.2 0 0 1-128.057 128.057A128.2 128.2 0 0 1 .449 128.494Zm99.967-47.048a55.106 55.106 0 0 0-14.062 12.016 54.643 54.643 0 0 0-9.336 16.083 54.492 54.492 0 0 0-3.379 18.95 54.464 54.464 0 0 0 4.316 21.333 54.924 54.924 0 0 0 5.068 9.317 55.648 55.648 0 0 0 6.7 8.12 55.546 55.546 0 0 0 8.125 6.7 54.955 54.955 0 0 0 9.316 5.068 54.353 54.353 0 0 0 21.328 4.316 54.917 54.917 0 0 0 54.854-54.857 54.492 54.492 0 0 0-3.379-18.95 54.614 54.614 0 0 0-9.326-16.083 55.144 55.144 0 0 0-14.049-12.016 54.571 54.571 0 0 0-17.5-6.723v30.482a25.816 25.816 0 0 1 10.824 9.254 25.366 25.366 0 0 1 4.211 14.035 25.433 25.433 0 0 1-2.014 9.982 25.524 25.524 0 0 1-5.494 8.145 25.5 25.5 0 0 1-8.145 5.493 25.518 25.518 0 0 1-9.982 2.015 25.477 25.477 0 0 1-9.973-2.015 25.621 25.621 0 0 1-8.148-5.493 25.538 25.538 0 0 1-5.488-8.145 25.522 25.522 0 0 1-2.016-9.982 25.393 25.393 0 0 1 4.207-14.035 25.82 25.82 0 0 1 10.848-9.254V74.72a54.537 54.537 0 0 0-17.508 6.73Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 878",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},51420:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 870",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("g",{"data-name":"download-icn",children:(0,a.jsx)("path",{"data-name":"Trazado 362",d:"M0 104.08c0-21.751 32.822-21.751 32.822 0v118.833h190.356V104.08c0-21.751 32.822-21.751 32.822 0v135.381a16.48 16.48 0 0 1-16.4 16.54H16.415a16.485 16.485 0 0 1-16.413-16.54V104.08Zm144.415-87.773c0-21.741-32.826-21.741-32.826 0v138.227l-18.591-18.743c-15.263-15.385-38.474 8.006-23.211 23.391l46.51 46.879a16.339 16.339 0 0 0 23.406 0l46.507-46.879c15.266-15.385-7.945-38.776-23.208-23.391l-18.587 18.743V16.306Z"})})]})]}))}},59078:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"edit-icn",d:"M201.683 0a56.44 56.44 0 0 0-38.86 15.85L18.897 159.94a13.219 13.219 0 0 0-3.838 7.2L.187 239.67a13.355 13.355 0 0 0 3.838 12.488A14.56 14.56 0 0 0 14.1 256a6.078 6.078 0 0 0 2.879-.48l71.962-13.932a13.2 13.2 0 0 0 7.2-3.842L240.063 93.658c21.109-21.133 21.109-56.2 0-77.328A52.948 52.948 0 0 0 201.683 0ZM51.521 220.938a29.883 29.883 0 0 0-6.717-9.126 40.622 40.622 0 0 0-9.115-6.724l5.277-24.976a46.056 46.056 0 0 1 23.508 12.008 42.7 42.7 0 0 1 11.994 23.535ZM220.393 73.966 92.299 201.726a56.271 56.271 0 0 0-14.872-23.054 65.573 65.573 0 0 0-23.028-14.89l128.094-128.24a26.406 26.406 0 0 1 19.19-7.685 28.509 28.509 0 0 1 19.19 7.685 27.729 27.729 0 0 1-.48 38.424Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 867",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},30510:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 442",d:"M235.994 77.357c.388-15.754 1.486-43.417.028-59.116C234.928 6.486 221.639 1.196 212.322 1 205.771-.478 80.8.119 36.406.119 26.889.13 19.006 8.719 19 18.241v220.678a17.26 17.26 0 0 0 17.24 17.241h182.544a17.26 17.26 0 0 0 17.241-17.241V128.974c-.005-17.183-.451-34.458-.031-51.617Zm-20.92 145.986a14.889 14.889 0 0 1-14.888 14.888H51.816a14.888 14.888 0 0 1-14.888-14.888V33.82a14.889 14.889 0 0 1 14.887-14.888h99.55v25.459a37.8 37.8 0 0 0 37.756 37.759h25.952Zm0-157.656h-25.952a21.32 21.32 0 0 1-21.3-21.3V18.928h32.358a14.889 14.889 0 0 1 14.889 14.887Z"}),(0,a.jsx)("path",{"data-name":"Trazado 443",d:"M190.043 108.409h-2.858v-.481c0-4.811-3.442-8.716-7.847-8.89-3.582-.139-7.333-.09-11.4.146v-8.975a9.1 9.1 0 0 0-3.651-7.42 7.623 7.623 0 0 0-8.069-.585 103.462 103.462 0 0 0-20.433 14.719 147.056 147.056 0 0 0-10.4 10.7 128.076 128.076 0 0 0-16.659-5.074 127.9 127.9 0 0 0-34.506-3.51c-4.378.2-7.8 4.1-7.8 8.888v.483h-2.858c-4.489 0-8.141 3.989-8.141 8.892v71.865c0 8.348 6.119 15.14 13.641 15.14h35.989a17.914 17.914 0 0 1 12.641 5.463 12.749 12.749 0 0 0 9.108 3.911h.024a12.907 12.907 0 0 0 9.054-3.9 17.918 17.918 0 0 1 12.68-5.474h35.987c7.522 0 13.641-6.792 13.641-15.14v-71.858c-.006-4.908-3.657-8.9-8.143-8.9Zm-68.633 79.066a124.047 124.047 0 0 0-12.692-3.692 127.989 127.989 0 0 0-28.66-3.509c-1.549 0-2.857-1.653-2.857-3.607v-66.1h2.114a117.162 117.162 0 0 1 42.1 7.846Zm54.992-10.809c0 1.955-1.308 3.607-2.88 3.607a129.374 129.374 0 0 0-26.5 2.984 89.847 89.847 0 0 1 13.362-9.124 15.293 15.293 0 0 0 7.55-13.56v-49.836a112.11 112.11 0 0 1 8.463-.239Zm-19.251-16.057a3.781 3.781 0 0 1-1.6 3.282 100.834 100.834 0 0 0-19.759 14.271 113.862 113.862 0 0 0-3.6 3.464v-64.967a131.421 131.421 0 0 1 10.636-10.965l.011-.009a91.536 91.536 0 0 1 14.314-10.886Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 897",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},78162:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 432",d:"M235.994 77.198c.387-15.753.958-32.242-.5-47.941-1.093-11.756-6.192-21.735-17.831-25.916a42.553 42.553 0 0 0-5.016-1.447c-6.55-1.478-13.432-1.6-20.09-1.8-11.727-.343-23.45.366-35.176.314-23.494-.1-46.986.322-70.479.414q-4.228.018-8.456.017H36.24A17.26 17.26 0 0 0 19 18.08v220.679A17.26 17.26 0 0 0 36.24 256h182.54a17.26 17.26 0 0 0 17.24-17.241V128.816c-.002-17.183-.452-34.459-.026-51.618ZM215.068 223.19a14.888 14.888 0 0 1-14.889 14.888H51.81a14.888 14.888 0 0 1-14.888-14.888V33.662A14.888 14.888 0 0 1 51.81 18.774h99.549v25.459a37.8 37.8 0 0 0 37.756 37.759h25.953Zm0-157.656h-25.952a21.32 21.32 0 0 1-21.3-21.3V18.775h32.358a14.888 14.888 0 0 1 14.894 14.888Z"}),(0,a.jsx)("path",{"data-name":"Trazado 433",d:"M142.243 86.687a7.664 7.664 0 0 0-5.873.748 7.728 7.728 0 0 0-3.655 4.732l-27.607 102.662a7.778 7.778 0 0 0 5.464 9.515 7.487 7.487 0 0 0 2.023.276 7.828 7.828 0 0 0 3.885-1.039 7.641 7.641 0 0 0 3.63-4.712l27.606-102.662a7.781 7.781 0 0 0-5.474-9.52Z"}),(0,a.jsx)("path",{"data-name":"Trazado 434",d:"m76.404 145.413 20.711-20.71a7.78 7.78 0 0 0 0-10.99 7.8 7.8 0 0 0-10.985 0l-.224.278c-.44.642-3.849 3.92-7.146 7.09-17.4 16.732-21.453 21.528-21.139 24-.5 3.044 4.393 8.7 20.83 24.509 3.423 3.292 6.963 6.7 7.418 7.429l.213.275a7.338 7.338 0 0 0 5.313 2.366 7.168 7.168 0 0 0 1.8-.232 8.626 8.626 0 0 0 6-5.946 7.17 7.17 0 0 0-2.045-7.1Z"}),(0,a.jsx)("path",{"data-name":"Trazado 435",d:"M159.273 111.622a8.619 8.619 0 0 0-5.932 6 7.187 7.187 0 0 0 2.121 7.1l20.906 20.685-20.9 20.9a7.5 7.5 0 0 0-1.677 8.451 7.574 7.574 0 0 0 6.88 4.852 2.3 2.3 0 0 0 .538.062c2.979 0 8.8-5.225 24.1-21.218 3.243-3.389 6.6-6.894 7.281-7.345l.282-.224a7.734 7.734 0 0 0 2.277-5.524 7.746 7.746 0 0 0-2.308-5.523l-26.444-26.164a7.188 7.188 0 0 0-7.124-2.047Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 899",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},30272:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 447",d:"M179.66 125.384a51.282 51.282 0 0 0-1.483-3.533l8.145-10.875a7.2 7.2 0 0 0-.642-9.386l-14.659-14.767a7.2 7.2 0 0 0-9.387-.646l-10.881 8.2a51.149 51.149 0 0 0-3.53-1.482l-1.939-13.476a7.12 7.12 0 0 0-7.15-6.163h-20.755a7.156 7.156 0 0 0-7.166 6.16l-1.941 13.479q-1.8.675-3.532 1.483l-10.929-8.2a7.2 7.2 0 0 0-9.391.646l-14.654 14.653a7.2 7.2 0 0 0-.648 9.388l8.2 10.881a51.536 51.536 0 0 0-1.482 3.53l-13.474 1.939a7.181 7.181 0 0 0-6.165 7.15v20.7a7.186 7.186 0 0 0 6.16 7.165l13.479 1.939q.675 1.8 1.484 3.535l-8.2 10.98a7.2 7.2 0 0 0 .646 9.391l14.654 14.653a7.2 7.2 0 0 0 9.387.647l10.882-8.2a50.342 50.342 0 0 0 3.528 1.483l1.94 13.474a7.185 7.185 0 0 0 7.081 6.165h20.771a7.22 7.22 0 0 0 7.166-6.16l1.941-13.479a50.349 50.349 0 0 0 3.531-1.484l10.875 8.143a7.2 7.2 0 0 0 9.392-.646l14.654-14.654a7.2 7.2 0 0 0 .65-9.381l-8.1-10.828a50.638 50.638 0 0 0 1.483-3.535l13.474-1.938a7.182 7.182 0 0 0 6.166-7.15v-20.77a7.13 7.13 0 0 0-6.093-7.1Zm-12.348 30.522a42.91 42.91 0 0 1-3.577 9.063 7.2 7.2 0 0 0 .038 7.61l7.2 9.616-5.855 5.973-9.47-7.247-.139-.1a7.179 7.179 0 0 0-7.534-.038 39.415 39.415 0 0 1-9.257 3.8 7.172 7.172 0 0 0-5.159 5.873l-1.707 11.559h-8.267l-1.709-11.767a7.173 7.173 0 0 0-5.178-5.883 39.4 39.4 0 0 1-9.232-3.8 7.235 7.235 0 0 0-7.666.335l-9.5 7.124-5.972-5.855 7.245-9.47.09-.13a7.156 7.156 0 0 0 .052-7.583 43.013 43.013 0 0 1-3.81-9.216 7.17 7.17 0 0 0-5.872-5.161l-11.559-1.7v-8.26l11.768-1.708a7.178 7.178 0 0 0 5.885-5.187 42.913 42.913 0 0 1 3.577-9.167 7.2 7.2 0 0 0-.041-7.6l-7.344-9.613 5.982-5.985 9.484 7.256.139.1a7.19 7.19 0 0 0 7.534.037 39.448 39.448 0 0 1 9.257-3.8 7.168 7.168 0 0 0 5.16-5.872l1.7-11.559h8.268l1.708 11.768a7.179 7.179 0 0 0 5.178 5.883 39.363 39.363 0 0 1 9.232 3.793 7.237 7.237 0 0 0 7.668-.333l9.5-7.125 5.971 5.855-7.252 9.479a7.147 7.147 0 0 0-.511 7.865 42.925 42.925 0 0 1 3.81 9.217 7.173 7.173 0 0 0 5.877 5.162l11.792 1.712.117 8.208-11.746 1.706a7.179 7.179 0 0 0-5.879 5.17Z"}),(0,a.jsx)("path",{"data-name":"Trazado 448",d:"M127.721 119.558a25.249 25.249 0 0 0-25.22 25.22 25.249 25.249 0 0 0 25.22 25.221 25.249 25.249 0 0 0 25.221-25.221 25.249 25.249 0 0 0-25.221-25.22Zm12.6 25.22a12.609 12.609 0 0 1-12.6 12.6 12.61 12.61 0 0 1-12.6-12.6 12.611 12.611 0 0 1 12.6-12.6 12.61 12.61 0 0 1 12.6 12.6Z"}),(0,a.jsx)("path",{"data-name":"Trazado 449",d:"M235.999 77.198c.388-15.754.957-32.242-.5-47.941-1.094-11.755-6.193-21.735-17.831-25.914a42.8 42.8 0 0 0-5.016-1.448c-6.551-1.478-13.433-1.6-20.09-1.8-11.727-.344-23.449.366-35.177.314-23.493-.1-46.985.323-70.479.414Q82.678.84 78.451.84h-42.21A17.261 17.261 0 0 0 19 18.08v220.68A17.261 17.261 0 0 0 36.241 256h182.541a17.26 17.26 0 0 0 17.24-17.24V128.815c.002-17.182-.445-34.458-.023-51.617Zm-20.922 145.988a14.887 14.887 0 0 1-14.888 14.887H51.821a14.888 14.888 0 0 1-14.888-14.887V33.662a14.888 14.888 0 0 1 14.888-14.888h99.547v25.459a37.8 37.8 0 0 0 37.758 37.759h25.951Zm0-157.656h-25.951a21.321 21.321 0 0 1-21.3-21.3V18.771h32.359a14.888 14.888 0 0 1 14.888 14.888Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 900",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},52383:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 438",d:"M126.658 93.01c-30.337 0-62.989 7.141-62.989 22.82v79.924c0 15.678 32.651 22.82 62.989 22.82s62.989-7.142 62.989-22.82V115.83c-.001-15.679-32.652-22.82-62.989-22.82Zm49.139 102.743c-.12 2.517-15.67 10.8-49.139 10.8-33.187 0-48.925-8.288-49.14-10.8v-25.689c11.441 4.913 29.524 7.81 49.14 7.81 19.684 0 37.763-2.908 49.139-7.843Zm0-40.7c-.223 2.52-15.96 10.8-49.139 10.8s-48.925-8.29-49.14-10.8v-24.252c11.42 4.937 29.5 7.846 49.14 7.846 19.684 0 37.763-2.907 49.139-7.842Zm-49.139-28.42c-33.187 0-48.925-8.289-49.14-10.8.214-2.518 15.952-10.807 49.14-10.807s48.925 8.289 49.139 10.8c-.214 2.515-15.952 10.8-49.139 10.8Z"}),(0,a.jsx)("path",{"data-name":"Trazado 439",d:"M89.357 178.684a9.167 9.167 0 0 0-9.158 9.156 9.167 9.167 0 0 0 9.158 9.158 9.166 9.166 0 0 0 9.158-9.158 9.167 9.167 0 0 0-9.158-9.156Z"}),(0,a.jsx)("path",{"data-name":"Trazado 440",d:"M89.357 140.292a9.167 9.167 0 0 0-9.158 9.157 9.167 9.167 0 0 0 9.158 9.158 9.167 9.167 0 0 0 9.158-9.158 9.168 9.168 0 0 0-9.158-9.157Z"}),(0,a.jsx)("path",{"data-name":"Trazado 441",d:"M235.992 77.197c.387-15.753.958-32.242-.5-47.941-1.093-11.755-6.192-21.736-17.831-25.914a42.8 42.8 0 0 0-5.016-1.448c-6.549-1.478-13.432-1.6-20.09-1.8-11.727-.344-23.448.366-35.176.314-23.494-.1-46.986.323-70.478.414q-4.229.018-8.457.017H36.239a17.26 17.26 0 0 0-17.24 17.24V238.76a17.26 17.26 0 0 0 17.24 17.241h182.539a17.261 17.261 0 0 0 17.241-17.241V128.814c-.002-17.183-.449-34.454-.027-51.617ZM215.07 223.184a14.888 14.888 0 0 1-14.888 14.888H51.814a14.888 14.888 0 0 1-14.889-14.889V33.66a14.888 14.888 0 0 1 14.889-14.888h99.548V44.23a37.8 37.8 0 0 0 37.756 37.758h25.952Zm0-157.656h-25.952a21.32 21.32 0 0 1-21.295-21.3V18.77h32.359a14.888 14.888 0 0 1 14.888 14.888Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 901",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},35031:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 450",d:"M235.991 77.198c.388-15.754.958-32.241-.5-47.941-1.094-11.755-6.193-21.736-17.831-25.914a42.421 42.421 0 0 0-5.017-1.448c-6.549-1.478-13.432-1.6-20.09-1.8-11.726-.343-23.448.365-35.175.314-23.493-.1-46.985.323-70.479.414q-4.228.016-8.456.017H36.237a17.26 17.26 0 0 0-17.24 17.241v220.678A17.259 17.259 0 0 0 36.237 256h182.541a17.259 17.259 0 0 0 17.241-17.241V128.816c-.007-17.183-.454-34.458-.028-51.618Zm-20.922 145.988a14.888 14.888 0 0 1-14.888 14.888H51.813a14.888 14.888 0 0 1-14.888-14.888V33.662a14.888 14.888 0 0 1 14.888-14.888h99.548v25.459a37.8 37.8 0 0 0 37.757 37.759h25.951Zm0-157.656h-25.951a21.321 21.321 0 0 1-21.3-21.3V18.771h32.359a14.888 14.888 0 0 1 14.888 14.888Z"}),(0,a.jsx)("path",{"data-name":"Trazado 451",d:"M182.548 83.841a8.758 8.758 0 0 0-6.293 2.408 8.758 8.758 0 0 0-2.721 6.164c-.094 3.782-4.306 9.1-10.941 11.1-12.038 3.631-30.066 2.206-43.232 1.163-4.439-.351-8.273-.655-11.49-.746-10.771-.3-17.189 3.835-20.7 7.365-5.5 5.526-7.347 12.842-7.571 20.381-.1 3.232-.545 6.4 1.436 9.188a8.729 8.729 0 0 0 7.057 3.66h1.932c3.206 0 5.272-2.557 6.179-5.394.88-2.755.889-5.681 1.086-8.538.174-2.509.518-5.1 2.416-6.953 1.544-1.508 4.119-2.224 7.659-2.122 2.773.08 6.4.366 10.6.7 2.125.168 4.374.344 6.7.509a283.562 283.562 0 0 1-1.593 29.877h-25.08a8.8 8.8 0 0 0-8.8 8.8 8.8 8.8 0 0 0 8.8 8.8h22.449c-2.426 12.2-6.025 22.628-11.124 27.883-2.627 2.707-4.779 3.054-6.362 3.054-7.431 0-8.671-5.945-8.75-9.4a8.8 8.8 0 0 0-8.8-8.8 8.8 8.8 0 0 0-8.8 8.792 32.28 32.28 0 0 0 3.064 12.92c4.373 9.077 12.64 14.074 23.28 14.075a26.113 26.113 0 0 0 18.985-8.4c8.565-8.827 13.551-24.242 16.438-40.135h18.471a8.8 8.8 0 0 0 8.8-8.8 8.8 8.8 0 0 0-8.8-8.8h-16.049c1.153-11.616 1.425-22.208 1.444-29.165 8.812-.018 17.721-.757 25.42-3.079 13.5-4.074 23.143-15.385 23.447-27.508a8.8 8.8 0 0 0-8.557-8.999Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 902",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},79877:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 422",d:"M236.186 77.259c.389-15.768.96-32.27-.5-47.984-1.1-11.766-6.2-21.754-17.847-25.937a42.726 42.726 0 0 0-5.02-1.449c-6.556-1.479-13.445-1.6-20.108-1.8-11.737-.344-23.47.366-35.207.314-23.515-.1-47.027.324-70.541.415q-4.232.017-8.464.017H36.256A17.275 17.275 0 0 0 19 18.091v220.875a17.2 17.2 0 0 0 5.19 12.315v.033h.037a17.19 17.19 0 0 0 12.026 4.906h182.7a17.275 17.275 0 0 0 17.256-17.256V128.928c.002-17.198-.444-34.49-.023-51.669Zm-68.228-58.476h32.387a14.9 14.9 0 0 1 14.9 14.9v31.9h-25.974a21.339 21.339 0 0 1-21.313-21.315Zm-116.114 0h99.637v25.481a37.835 37.835 0 0 0 37.79 37.792h25.974v94.9l-15.227-26.374a28.352 28.352 0 0 0-24.8-14.32 28.387 28.387 0 0 0-24.85 14.4l-10.021 17.81-27.633-47.861a28.351 28.351 0 0 0-24.8-14.319 28.389 28.389 0 0 0-24.849 14.4l-26.117 46.422V33.689a14.9 14.9 0 0 1 14.9-14.9Zm-9.864 215.74a14.9 14.9 0 0 1-1.691-1.746l-1.562-34.31 39.036-69.391a11.6 11.6 0 0 1 10.146-5.857 11.6 11.6 0 0 1 10.146 5.857L159.442 235.4Zm158.364 3.754h-19.7l-30.466-52.769 14.889-26.465a11.6 11.6 0 0 1 10.146-5.858 11.6 11.6 0 0 1 10.146 5.858l29.884 51.762v12.57a14.9 14.9 0 0 1-14.9 14.9Z"}),(0,a.jsx)("path",{"data-name":"Trazado 423",d:"M88.377 96.213a33.38 33.38 0 0 0 33.343-33.344 33.381 33.381 0 0 0-33.343-33.344 33.38 33.38 0 0 0-33.344 33.344 33.381 33.381 0 0 0 33.344 33.344Zm0-49.763a16.438 16.438 0 0 1 16.418 16.419 16.438 16.438 0 0 1-16.418 16.419 16.438 16.438 0 0 1-16.419-16.419A16.437 16.437 0 0 1 88.377 46.45Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 903",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},60317:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 467",d:"M235.995 77.198c.388-15.753.958-32.241-.5-47.941-1.094-11.756-6.192-21.735-17.831-25.916a42.81 42.81 0 0 0-5.016-1.447c-6.551-1.479-13.433-1.6-20.09-1.8-11.727-.343-23.449.364-35.176.313-23.494-.1-46.986.324-70.48.415q-4.226.015-8.455.017H36.241a17.26 17.26 0 0 0-17.24 17.241v220.678a17.26 17.26 0 0 0 17.24 17.241h182.541a17.26 17.26 0 0 0 17.241-17.241V128.816c-.001-17.183-.447-34.459-.028-51.618Zm-20.921 145.989a14.888 14.888 0 0 1-14.887 14.887H51.817a14.888 14.888 0 0 1-14.888-14.887V33.662a14.888 14.888 0 0 1 14.888-14.888h99.548v25.458a37.8 37.8 0 0 0 37.757 37.76h25.952Zm0-157.657h-25.952a21.321 21.321 0 0 1-21.3-21.3V18.772h32.358a14.889 14.889 0 0 1 14.888 14.887Z"}),(0,a.jsx)("path",{"data-name":"Trazado 468",d:"M167.462 106.737h-11.678V94.561a28.113 28.113 0 0 0-28.066-27.984h-.044a28.117 28.117 0 0 0-28.069 27.99v12.17H87.924a23.834 23.834 0 0 0-23.776 23.767v45.491a23.675 23.675 0 0 0 22.986 23.75l40.558 7.889 40.559-7.889a23.675 23.675 0 0 0 22.986-23.753V130.5a23.832 23.832 0 0 0-23.776-23.764Zm-52.872-12.17a13.109 13.109 0 0 1 13.091-13.042h.023a13.106 13.106 0 0 1 13.087 13.042v12.17h-26.2Zm61.656 81.424a8.831 8.831 0 0 1-8.788 8.821h-.725l-39.043 7.592-38.843-7.553-.4-.039h-.515a8.833 8.833 0 0 1-8.794-8.822V130.5a8.831 8.831 0 0 1 8.789-8.82h79.529a8.831 8.831 0 0 1 8.794 8.821Z"}),(0,a.jsx)("path",{"data-name":"Trazado 469",d:"M127.556 141.528a12.366 12.366 0 0 0-12.353 12.351 12.322 12.322 0 0 0 4.507 9.544v7.2a7.547 7.547 0 0 0 7.517 7.512h.659a7.547 7.547 0 0 0 7.511-7.517v-7.191a12.324 12.324 0 0 0 4.507-9.542 12.367 12.367 0 0 0-12.349-12.357Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 904",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},80479:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 452",d:"M235.994 77.199c.388-15.754.958-32.243-.5-47.941-1.094-11.756-6.193-21.735-17.831-25.915a42.633 42.633 0 0 0-5.017-1.448c-6.549-1.478-13.432-1.6-20.09-1.8-11.726-.345-23.448.364-35.175.314-23.493-.1-46.985.322-70.479.414q-4.228.015-8.456.017H36.243a17.26 17.26 0 0 0-17.241 17.24v220.679A17.26 17.26 0 0 0 36.243 256h182.541a17.26 17.26 0 0 0 17.241-17.241V128.816c-.006-17.183-.453-34.459-.031-51.617Zm-20.922 145.986a14.888 14.888 0 0 1-14.888 14.888H51.816a14.888 14.888 0 0 1-14.888-14.888V33.662a14.887 14.887 0 0 1 14.888-14.887h99.548v25.463a37.8 37.8 0 0 0 37.758 37.759h25.951Zm0-157.656h-25.951a21.321 21.321 0 0 1-21.3-21.3V18.771h32.359a14.887 14.887 0 0 1 14.888 14.888Z"}),(0,a.jsx)("path",{"data-name":"Trazado 453",d:"m84.317 135.27 10.527-10.778 10.528 10.778a2.112 2.112 0 0 0 1.512.637 2.113 2.113 0 0 0 1.512-.637l8.915-9.127a2.114 2.114 0 0 0 0-2.954l-10.6-10.849 10.6-10.851a2.114 2.114 0 0 0 0-2.954l-8.915-9.126a2.175 2.175 0 0 0-3.025 0l-10.528 10.778-10.527-10.778a2.109 2.109 0 0 0-1.511-.637 2.113 2.113 0 0 0-1.512.637l-8.916 9.126a2.116 2.116 0 0 0 0 2.954l10.6 10.851-10.6 10.849a2.116 2.116 0 0 0 0 2.954l8.916 9.127a2.174 2.174 0 0 0 3.024 0Z"}),(0,a.jsx)("path",{"data-name":"Trazado 454",d:"m181.539 98.535-8.915-9.126a2.176 2.176 0 0 0-3.024 0l-10.523 10.778-10.528-10.778a2.114 2.114 0 0 0-1.512-.637 2.112 2.112 0 0 0-1.512.637l-8.915 9.126a2.114 2.114 0 0 0 0 2.954l10.6 10.851-10.6 10.849a2.114 2.114 0 0 0 0 2.954l8.915 9.127a2.175 2.175 0 0 0 3.025 0l10.528-10.778 10.523 10.778a2.114 2.114 0 0 0 1.511.637 2.114 2.114 0 0 0 1.511-.637l8.915-9.127a2.114 2.114 0 0 0 0-2.954l-10.594-10.849 10.594-10.851a2.114 2.114 0 0 0 0-2.954Z"}),(0,a.jsx)("path",{"data-name":"Trazado 455",d:"M169.529 160.901a66.964 66.964 0 0 0-40.3-13.344 8.524 8.524 0 0 0-1.513.143 8.5 8.5 0 0 0-1.513-.143 66.96 66.96 0 0 0-40.3 13.344 8.455 8.455 0 0 0-1.729 11.83 8.442 8.442 0 0 0 6.786 3.406 8.417 8.417 0 0 0 5.046-1.677 50.177 50.177 0 0 1 30.2-9.993 8.478 8.478 0 0 0 1.513-.143 8.479 8.479 0 0 0 1.513.143 50.182 50.182 0 0 1 30.2 9.993 8.416 8.416 0 0 0 5.044 1.677 8.44 8.44 0 0 0 6.786-3.406 8.454 8.454 0 0 0-1.733-11.83Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 905",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},37634:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"Grupo 1552",children:[(0,a.jsx)("path",{"data-name":"Trazado 470",d:"M235.996 77.198c.387-15.753.958-32.242-.5-47.941-1.093-11.756-6.193-21.735-17.832-25.915a42.412 42.412 0 0 0-5.016-1.447c-6.549-1.479-13.431-1.6-20.09-1.8-11.726-.345-23.448.365-35.176.314-23.494-.1-46.986.322-70.479.414q-4.228.016-8.456.017H36.241A17.26 17.26 0 0 0 19 18.082v220.679a17.26 17.26 0 0 0 17.241 17.24h182.54a17.26 17.26 0 0 0 17.241-17.24V128.816c-.002-17.184-.448-34.459-.026-51.618Zm-20.921 145.986a14.889 14.889 0 0 1-14.888 14.889H51.818a14.89 14.89 0 0 1-14.889-14.888V33.662a14.888 14.888 0 0 1 14.889-14.888h99.548v25.458a37.8 37.8 0 0 0 37.756 37.759h25.952Zm0-157.657h-25.952a21.32 21.32 0 0 1-21.295-21.3V18.769h32.359a14.887 14.887 0 0 1 14.888 14.889Z"}),(0,a.jsx)("path",{"data-name":"Trazado 471",d:"m170.219 93.84-67.656 9.02-.128.016a13.3 13.3 0 0 0-12.025 13.473v55.664a22.934 22.934 0 0 0-7.98-1.435 23.085 23.085 0 0 0-23.061 23.061 23.085 23.085 0 0 0 23.06 23.059 23.084 23.084 0 0 0 23.059-23.058v-43.227c.361-4.418 1.57-5.6 2.015-5.89l58.69-7.827a1.443 1.443 0 0 1 .764.238 1.855 1.855 0 0 1 .25 1.174v23.663a23 23 0 0 0-7.981-1.434 23.086 23.086 0 0 0-23.059 23.06 23.085 23.085 0 0 0 23.059 23.058 23.085 23.085 0 0 0 23.059-23.058v-77.608c0-4.089-1.2-7.245-3.565-9.382a11.106 11.106 0 0 0-8.5-2.568ZM82.43 201.614a7.989 7.989 0 0 1-7.979-7.979 7.989 7.989 0 0 1 7.979-7.98 7.99 7.99 0 0 1 7.98 7.98 7.988 7.988 0 0 1-7.984 7.98Zm84.776-82.429c-.23 1.876-1.1 2.3-1.539 2.369l-57.957 7.728-.134.018a6.169 6.169 0 0 1-2.088 0v-8.793c0-2.208.833-2.8 1.762-3.063l58.3-7.776a2.29 2.29 0 0 1 1.444.261 1.972 1.972 0 0 1 .215 1.139Zm-7.979 72.19a7.991 7.991 0 0 1-7.98-7.981 7.991 7.991 0 0 1 7.98-7.981 7.991 7.991 0 0 1 7.981 7.979 7.993 7.993 0 0 1-7.989 7.984Z"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 914",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},99884:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 463",d:"M235.994 77.198c.387-15.753.958-32.242-.5-47.941-1.092-11.756-6.191-21.735-17.831-25.915a42.409 42.409 0 0 0-5.016-1.447c-6.549-1.479-13.432-1.6-20.09-1.8-11.726-.345-23.448.365-35.176.314-23.494-.1-46.985.322-70.479.414q-4.228.016-8.456.017H36.24A17.26 17.26 0 0 0 19 18.082v220.679a17.26 17.26 0 0 0 17.24 17.24h182.537a17.26 17.26 0 0 0 17.241-17.24V128.816c0-17.184-.441-34.459-.024-51.618Zm-20.921 145.986a14.89 14.89 0 0 1-14.888 14.889H51.816a14.889 14.889 0 0 1-14.888-14.888V33.662a14.888 14.888 0 0 1 14.888-14.888h99.547v25.458a37.8 37.8 0 0 0 37.757 37.759h25.953Zm0-157.657H189.12a21.32 21.32 0 0 1-21.3-21.3V18.769h32.359a14.887 14.887 0 0 1 14.888 14.888Z"}),(0,a.jsx)("path",{"data-name":"Trazado 464",d:"M151.162 161.256c-3.776-4.195-7.131-8.391-10.908-13a132.358 132.358 0 0 1-11.746-16.361c3.775-13.424 7.132-28.946 3.775-39.015-2.517-7.551-8.39-11.326-16.361-10.487-8.81 1.257-14.263 7.131-14.263 16.36-.42 10.488 5.873 23.913 12.586 35.24a167.721 167.721 0 0 1-6.293 16.78 171.9 171.9 0 0 1-8.39 17.62c-4.615.839-9.23 2.517-13.425 3.775-11.746 4.2-20.136 8.81-24.331 14.263-5.455 6.293-5.035 14.263.419 20.557 3.355 3.775 7.132 5.454 11.327 5.454a17.615 17.615 0 0 0 8.81-2.518q9.439-5.663 20.138-21.4a80.8 80.8 0 0 0 5.454-8.81c5.036-1.258 10.488-2.1 15.942-2.936a212.07 212.07 0 0 1 21.814-2.1c9.649 10.069 22.235 20.557 33.142 21.814 8.391 1.259 15.1-2.937 17.619-11.327 2.1-7.551-.838-13.845-8.39-18.039-8.392-4.612-22.237-5.87-36.919-5.87Zm-74.673 37.756c-3.357 1.677-3.776.839-4.615 0-1.677-2.1-1.677-2.937-.42-4.2 2.937-3.355 9.649-7.132 18.459-10.067-4.615 6.719-9.65 11.749-13.425 14.267Zm41.112-103.62c1.678 0 2.1 0 2.937 2.1 1.258 3.775.839 10.487-.839 18.877-3.356-7.131-5.033-13-5.033-17.2 0-3.357 1.256-3.357 2.934-3.776Zm4.615 69.219a32.317 32.317 0 0 0-6.293.84c1.259-2.937 2.937-5.874 4.2-9.23.839-2.1 2.1-5.034 3.356-8.391 2.517 3.776 5.035 7.132 6.713 9.65.838 1.257 2.517 3.355 4.615 5.873-4.2 0-8.4.84-12.592 1.258Zm62.088 17.2c-1.259 2.938-2.1 2.938-3.775 2.518-4.2-.419-9.649-3.776-15.941-9.229a52.838 52.838 0 0 1 17.619 3.776c2.515 1.676 2.515 2.1 2.1 2.935Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 906",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},90474:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 444",d:"M235.958 77.227C235.538 39.16 246.367-2.76 192.526.143 154.511.233 116.47.8 78.437.886h-42.2A17.258 17.258 0 0 0 19 18.127v220.64a17.258 17.258 0 0 0 17.239 17.237h182.507a17.258 17.258 0 0 0 17.238-17.237c.185-53.84-.297-107.719-.026-161.54ZM215.04 223.188a14.885 14.885 0 0 1-14.885 14.885H51.813a14.885 14.885 0 0 1-14.885-14.885V33.7a14.885 14.885 0 0 1 14.885-14.885h99.53c-1.936 29.6.791 61.322 37.752 63.206h25.946Zm0-157.627c-17.937-.276-46.31 4.9-47.237-21.294V18.814c50.266-.527 47.99-3.935 47.237 46.748Z"}),(0,a.jsx)("path",{"data-name":"Trazado 445",d:"M176.796 143.181h-38.679v-38.679a14.6 14.6 0 0 0-14.583-14.583 67.335 67.335 0 0 0-47.88 19.965c-.024.025-.05.049-.074.076-14.337 14.727-21.3 32.279-20.122 50.76 1.034 16.3 8.392 32.066 20.717 44.393s28.09 19.689 44.391 20.728q2.015.128 4.01.128c17.006 0 33.1-6.949 46.761-20.245.027-.025.052-.051.077-.077a67.334 67.334 0 0 0 19.965-47.881 14.6 14.6 0 0 0-14.583-14.584Zm-16.552 51.22c-25.22 24.5-55.446 16.923-72.862-.5s-24.991-47.642-.484-72.852a51.594 51.594 0 0 1 35.368-15.27v45.323a7.924 7.924 0 0 0 7.926 7.925h45.321a51.61 51.61 0 0 1-15.269 35.374Z"}),(0,a.jsx)("path",{"data-name":"Trazado 446",d:"M155.325 89.758a11.919 11.919 0 0 0-9.153 8.878 7.863 7.863 0 0 0-.234 2.081c.124 6-.008 10.657-.115 14.4-.229 8.036-.38 13.344 3.644 17.37 3.151 3.152 6.925 3.753 12.42 3.753 1.532 0 3.2-.047 5.02-.1 3.731-.106 8.373-.237 14.344-.116a8.047 8.047 0 0 0 2.08-.233 11.921 11.921 0 0 0 8.874-9.17c2.028-9.1-5.3-22.075-10.235-26.638-4.575-4.933-17.569-12.261-26.645-10.225Zm11.138 30.541c-1.668.045-3.5.076-4.892.1 0-1.416.049-3.18.1-4.827.073-2.561.165-5.778.17-9.627 3.109 1.117 7.123 3.316 8.387 4.679a7.184 7.184 0 0 0 1.073 1.079c1.4 1.3 3.612 5.322 4.728 8.433-3.823 0-7.018.086-9.564.163Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 907",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},15874:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 426",d:"M235.995 77.197c.388-15.753.958-32.242-.5-47.941-1.094-11.756-6.193-21.735-17.831-25.914a42.4 42.4 0 0 0-5.017-1.448c-6.549-1.478-13.432-1.6-20.09-1.8-11.726-.343-23.448.366-35.175.314-23.493-.1-46.985.323-70.479.414q-4.228.018-8.455.017H36.241A17.26 17.26 0 0 0 19 18.08v220.679A17.261 17.261 0 0 0 36.241 256h182.542a17.26 17.26 0 0 0 17.24-17.241V128.815c.001-17.183-.45-34.459-.028-51.618Zm-20.922 145.988a14.888 14.888 0 0 1-14.888 14.888H51.816a14.888 14.888 0 0 1-14.892-14.884V33.661a14.888 14.888 0 0 1 14.888-14.888h99.548v25.459a37.8 37.8 0 0 0 37.764 37.757h25.951Zm0-157.656h-25.949a21.321 21.321 0 0 1-21.3-21.3V18.77h32.359a14.888 14.888 0 0 1 14.888 14.888Z"}),(0,a.jsx)("path",{"data-name":"Trazado 427",d:"M130.985 69.292h-69.1a8.455 8.455 0 0 1-8.455-8.455 8.455 8.455 0 0 1 8.455-8.455h69.1a8.455 8.455 0 0 1 8.455 8.455 8.455 8.455 0 0 1-8.455 8.455Z"}),(0,a.jsx)("path",{"data-name":"Trazado 428",d:"M130.985 102.607h-69.1a8.455 8.455 0 0 1-8.455-8.455 8.455 8.455 0 0 1 8.455-8.455h69.1a8.455 8.455 0 0 1 8.455 8.455 8.455 8.455 0 0 1-8.455 8.455Z"}),(0,a.jsx)("path",{"data-name":"Trazado 429",d:"M183.891 136.458H61.876a8.455 8.455 0 0 1-8.455-8.455 8.455 8.455 0 0 1 8.455-8.455h122.011a8.455 8.455 0 0 1 8.455 8.455 8.456 8.456 0 0 1-8.451 8.455Z"}),(0,a.jsx)("path",{"data-name":"Trazado 430",d:"M183.891 170.309H61.876a8.455 8.455 0 0 1-8.455-8.455 8.455 8.455 0 0 1 8.455-8.455h122.011a8.455 8.455 0 0 1 8.455 8.455 8.456 8.456 0 0 1-8.451 8.455Z"}),(0,a.jsx)("path",{"data-name":"Trazado 431",d:"M183.891 204.164H61.876a8.455 8.455 0 0 1-8.455-8.455 8.455 8.455 0 0 1 8.455-8.455h122.011a8.455 8.455 0 0 1 8.455 8.455 8.456 8.456 0 0 1-8.451 8.455Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 908",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},58729:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 424",d:"M235.995 77.199c.387-15.754.958-32.242-.5-47.942-1.092-11.755-6.192-21.735-17.832-25.915a42.444 42.444 0 0 0-5.016-1.447c-6.549-1.479-13.432-1.6-20.09-1.8-11.726-.344-23.449.364-35.176.314-23.494-.1-46.985.322-70.479.414q-4.229.016-8.456.017H36.24A17.26 17.26 0 0 0 19 18.08v220.68A17.26 17.26 0 0 0 36.24 256h182.538a17.26 17.26 0 0 0 17.241-17.24V128.818c0-17.184-.441-34.459-.024-51.619Zm-20.922 145.987a14.889 14.889 0 0 1-14.886 14.887H51.816a14.89 14.89 0 0 1-14.889-14.888V33.664a14.888 14.888 0 0 1 14.888-14.888h99.547v25.458a37.8 37.8 0 0 0 37.757 37.76h25.952Zm0-157.657h-25.952a21.32 21.32 0 0 1-21.295-21.3V18.771h32.359a14.888 14.888 0 0 1 14.888 14.888Z"}),(0,a.jsx)("path",{"data-name":"Trazado 425",d:"m171.914 125.006-61.323-35.407a17.725 17.725 0 0 0-17.9 0 17.717 17.717 0 0 0-8.953 15.5v70.811a17.718 17.718 0 0 0 8.951 15.5 17.865 17.865 0 0 0 8.952 2.427 17.872 17.872 0 0 0 8.952-2.427l61.323-35.4a17.723 17.723 0 0 0 8.952-15.5 17.72 17.72 0 0 0-8.954-15.504Zm-8.455 16.362-61.323 35.4a.914.914 0 0 1-.992 0 .911.911 0 0 1-.5-.86v-70.811a.909.909 0 0 1 .5-.858 1 1 0 0 1 .5-.147.959.959 0 0 1 .489.146l61.323 35.407a.909.909 0 0 1 .5.858.91.91 0 0 1-.5.865Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 909",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},49653:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 461",d:"M235.995 77.198c.386-15.753.957-32.242-.5-47.942-1.094-11.755-6.193-21.735-17.832-25.914a42.537 42.537 0 0 0-5.017-1.448c-6.549-1.479-13.432-1.6-20.09-1.8-11.726-.343-23.448.366-35.176.314-23.494-.1-46.985.324-70.479.415Q82.673.84 78.445.84H36.239a17.26 17.26 0 0 0-17.24 17.243v220.678a17.26 17.26 0 0 0 17.24 17.24h182.539a17.258 17.258 0 0 0 17.24-17.24V128.815c.002-17.183-.44-34.458-.023-51.617Zm-20.922 145.988a14.888 14.888 0 0 1-14.888 14.888H51.817a14.888 14.888 0 0 1-14.888-14.888V33.661a14.889 14.889 0 0 1 14.889-14.889h99.546v25.459a37.8 37.8 0 0 0 37.757 37.758h25.952Zm0-157.657h-25.952a21.32 21.32 0 0 1-21.294-21.3V18.771h32.359a14.889 14.889 0 0 1 14.889 14.889Z"}),(0,a.jsx)("path",{"data-name":"Trazado 462",d:"M192.898 109.951H62.537a8.455 8.455 0 0 0-8.455 8.455v99.762a8.456 8.456 0 0 0 8.456 8.457h130.36a8.456 8.456 0 0 0 8.455-8.455v-99.763a8.455 8.455 0 0 0-8.456-8.456ZM70.992 160.115h26.543v16.346H70.992Zm43.453 0h26.544v16.346h-26.544Zm43.454 0h26.544v16.346h-26.544Zm26.544-16.91h-26.544v-16.344h26.544Zm-43.454 0h-26.544v-16.344h26.544Zm-70-16.344h26.543v16.346H70.989Zm0 66.51h26.543v16.343H70.989Zm43.453 0h26.544v16.343h-26.544Zm70 16.343h-26.544v-16.343h26.544Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 911",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},25909:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{transform:"translate(3486.336 -3812.001)",children:[(0,a.jsx)("path",{"data-name":"Trazado 436",d:"M-3395.774 3897.42a17.685 17.685 0 0 0-5.245-10.691c-2.691-2.615-7.129-5.479-11.512-5.676-10-.465-18.68 6.74-19.754 16.366l-2.853 25.542a21.788 21.788 0 0 0-.126 2.327 21.263 21.263 0 0 0 21.193 21.28h.043a20.635 20.635 0 0 0 18.294-11.19 27.971 27.971 0 0 0 2.932-12.257c.2-5.784-.8-11.752-1.756-17.522-.475-2.872-.926-5.585-1.216-8.179Zm-18.24-3.68a4.229 4.229 0 0 1 4.224 4.224 4.23 4.23 0 0 1-4.224 4.225 4.231 4.231 0 0 1-4.225-4.225 4.23 4.23 0 0 1 4.226-4.224Zm0 40.129a10.573 10.573 0 0 1-10.561-10.561 10.572 10.572 0 0 1 10.561-10.56 10.573 10.573 0 0 1 10.561 10.56 10.574 10.574 0 0 1-10.56 10.561Z"}),(0,a.jsx)("circle",{"data-name":"Elipse 63",cx:2.111,cy:2.111,r:2.111,transform:"translate(-3416.125 3921.197)"}),(0,a.jsx)("path",{"data-name":"Trazado 437",d:"M-3250.337 3889.2c.387-15.754.958-32.242-.5-47.942-1.093-11.755-6.192-21.735-17.832-25.915a42.461 42.461 0 0 0-5.016-1.447c-6.549-1.479-13.432-1.6-20.09-1.8-11.727-.344-23.449.364-35.176.314-23.494-.1-46.986.322-70.479.414q-4.228.016-8.456.017h-42.206a17.26 17.26 0 0 0-17.241 17.24v220.68a17.26 17.26 0 0 0 17.241 17.24h182.54a17.26 17.26 0 0 0 17.241-17.24v-109.942c-.001-17.184-.448-34.459-.026-51.619Zm-20.922 145.987a14.888 14.888 0 0 1-14.886 14.887h-118.622v-21.342c.206.015.412.032.621.032h16.262a8.456 8.456 0 0 0 8.455-8.454 8.455 8.455 0 0 0-8.456-8.456h-16.261c-.209 0-.415.016-.621.031v-23.6c.206.015.412.032.621.032h16.262a8.455 8.455 0 0 0 8.455-8.455 8.455 8.455 0 0 0-8.455-8.455h-16.262c-.209 0-.415.017-.621.031v-20.75a20.4 20.4 0 0 1-9.259 2.222h-.043a21.069 21.069 0 0 1-7.607-1.45l-.567-.029h-16.257a8.454 8.454 0 0 0-8.455 8.456 8.454 8.454 0 0 0 8.455 8.454h16.261c.192 0 .379-.016.567-.028v23.187a8.726 8.726 0 0 0-.8-.04h-16.261a8.455 8.455 0 0 0-8.455 8.455 8.455 8.455 0 0 0 8.455 8.455h16.261c.269 0 .535-.016.8-.041v41.751h-12.839a14.89 14.89 0 0 1-14.889-14.886v-189.529a14.889 14.889 0 0 1 14.888-14.888h99.549v25.458a37.8 37.8 0 0 0 37.757 37.76h25.952Zm0-157.657h-25.952a21.319 21.319 0 0 1-21.3-21.3v-25.458h32.359a14.888 14.888 0 0 1 14.888 14.888Z"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 912",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},18342:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"folder-icn{",children:[(0,a.jsx)("path",{d:"M101.729 42.952c6.612 0 13.7 18.758 20.78 18.758h88.049a9.441 9.441 0 0 1 9.444 9.379v4.689H40.349V52.33h-.236a9.441 9.441 0 0 1 9.448-9.378h52.168m124.4 44.255a9.778 9.778 0 0 1 9.774 9.725L225.885 204.09a9.788 9.788 0 0 1-9.794 9.716H39.679a9.781 9.781 0 0 1-9.786-9.716l-9.79-107.158a9.781 9.781 0 0 1 9.79-9.725h196.236M101.729 23H49.561a29.469 29.469 0 0 0-29.544 29.33 20.109 20.109 0 0 0 .236 3.063v13.438A29.758 29.758 0 0 0 0 96.931c0 .6.031 1.2.09 1.8l9.723 106.5a29.827 29.827 0 0 0 29.862 28.532h176.412a29.833 29.833 0 0 0 29.862-28.5l9.959-106.484a17.091 17.091 0 0 0 .091-1.847 29.673 29.673 0 0 0-15.911-26.229 29.477 29.477 0 0 0-29.532-28.949h-81.5c-.4-.529-.787-1.05-1.117-1.5-5.1-6.87-12.815-17.248-26.208-17.248Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 874",fill:"none",d:"M0 0h256v256H0z"})]})]})]}))}},20426:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"heal-icn",d:"m157.546 239.085-4.729-4.747-24.864-24.809-29.5 29.555a57.519 57.519 0 0 1-81.482 0 57.729 57.729 0 0 1 0-81.769l29.5-29.547-24.864-24.927-4.635-4.629a57.738 57.738 0 0 1 0-81.777c21.764-21.913 59.749-21.913 81.482 0l4.729 4.645 24.77 24.911 29.593-29.555c21.764-21.913 59.718-21.913 81.482 0a57.738 57.738 0 0 1 0 81.777l-29.5 29.555 24.864 24.793 4.635 4.755a57.718 57.718 0 1 1-81.482 81.769Zm13.654-23.036 4.572 4.629c12.15 12.028 33.006 12.028 45.031 0a31.967 31.967 0 0 0 0-44.957l-4.791-4.747ZM35.261 175.721a31.814 31.814 0 0 0 0 44.957c11.962 12.028 32.943 12.028 44.968 0l29.471-29.547-45-45.09Zm22.954-72.88 6.482 6.52 81.638 81.769 6.482 6.5 44.968-45.074-6.482-6.52-81.603-81.63-6.514-6.52Zm117.556-67.992-29.436 29.557 44.965 44.955 29.5-29.555a31.6 31.6 0 0 0 9.238-22.541 31.28 31.28 0 0 0-9.238-22.416 32.381 32.381 0 0 0-45.031 0Zm-140.51 0a31.211 31.211 0 0 0-9.3 22.416 31.525 31.525 0 0 0 9.3 22.541l4.729 4.762 44.843-45.09-4.6-4.629a31.61 31.61 0 0 0-44.968 0Zm105.562 118.465a12.731 12.731 0 1 1 12.746 12.892 12.816 12.816 0 0 1-12.746-12.892Zm-25.616-25.546a12.808 12.808 0 1 1 12.745 12.773 12.747 12.747 0 0 1-12.744-12.773Zm-25.49-25.679a12.746 12.746 0 1 1 12.714 12.9 12.8 12.8 0 0 1-12.714-12.901Z"}),(0,a.jsx)("path",{"data-name":"heal-icn - Contorno",d:"M198.286 256.5a57.755 57.755 0 0 1-41.094-17.062l-4.729-4.747-24.509-24.455-29.146 29.2a57.907 57.907 0 0 1-82.189 0A57.353 57.353 0 0 1 3.9 220.544a58.292 58.292 0 0 1-4.4-22.407 57.536 57.536 0 0 1 17.121-41.177l29.144-29.192-24.512-24.573-4.634-4.629a58.238 58.238 0 0 1 0-82.486A54.985 54.985 0 0 1 35.647 3.644 59.5 59.5 0 0 1 46.5.536a61.384 61.384 0 0 1 22.457 0A59.431 59.431 0 0 1 79.8 3.644a54.885 54.885 0 0 1 19.007 12.437l4.73 4.646 24.417 24.555 29.238-29.2a54.994 54.994 0 0 1 19.023-12.438A59.465 59.465 0 0 1 187.061.536a61.355 61.355 0 0 1 22.451 0 59.465 59.465 0 0 1 10.846 3.108 55 55 0 0 1 19.024 12.439 58.238 58.238 0 0 1 0 82.485l-29.143 29.2 24.515 24.445 4.631 4.751a57.534 57.534 0 0 1 17.115 41.173 58.292 58.292 0 0 1-4.4 22.407 58.2 58.2 0 0 1-53.811 35.956Zm-70.334-47.678 25.218 25.162 4.73 4.748a57.218 57.218 0 0 0 80.775-81.061l-.006-.006-4.632-4.752-25.216-25.144 29.852-29.909a57.238 57.238 0 0 0 0-81.069 54.007 54.007 0 0 0-18.681-12.217 58.461 58.461 0 0 0-10.663-3.055 60.354 60.354 0 0 0-22.084 0 58.461 58.461 0 0 0-10.663 3.055A54 54 0 0 0 157.9 16.788l-29.948 29.91-25.124-25.265-4.728-4.646A53.891 53.891 0 0 0 79.432 4.574a58.431 58.431 0 0 0-10.663-3.055 60.384 60.384 0 0 0-22.09 0 58.5 58.5 0 0 0-10.666 3.055 54 54 0 0 0-18.686 12.214 57.238 57.238 0 0 0 0 81.07l4.636 4.63 25.217 25.28-29.851 29.9A56.544 56.544 0 0 0 .5 198.137a57.3 57.3 0 0 0 4.327 22.024 56.362 56.362 0 0 0 12.5 18.568 57.019 57.019 0 0 0 80.776 0Zm70.381 21.377a33.611 33.611 0 0 1-12.273-2.293 31.079 31.079 0 0 1-10.641-6.876l-4.92-4.982 45.513-45.78 5.146 5.1a31.859 31.859 0 0 1 6.984 10.44 32.695 32.695 0 0 1-6.983 35.226 30.651 30.651 0 0 1-10.571 6.877 33.426 33.426 0 0 1-12.255 2.288Zm-22.209-9.874a30.085 30.085 0 0 0 10.3 6.653 32.98 32.98 0 0 0 23.8 0 29.659 29.659 0 0 0 10.229-6.654 31.294 31.294 0 0 0 0-44.25l-4.435-4.394-44.118 44.37Zm-118.4 9.874a33.463 33.463 0 0 1-12.264-2.293 30.418 30.418 0 0 1-10.554-6.879 32.165 32.165 0 0 1 0-45.664L64.7 145.332l45.707 45.8-29.82 29.9a30.63 30.63 0 0 1-10.593 6.874 33.555 33.555 0 0 1-12.273 2.293ZM64.7 146.75l-29.084 29.324a31.314 31.314 0 0 0 0 44.25 29.428 29.428 0 0 0 10.212 6.655 33.006 33.006 0 0 0 23.8 0 29.635 29.635 0 0 0 10.246-6.653l29.115-29.194Zm88.119 51.593-6.836-6.859-81.64-81.769-6.834-6.874 45.675-45.663 6.867 6.874 81.607 81.636 6.834 6.874Zm-93.9-95.5 6.132 6.163 81.637 81.769 6.129 6.149 44.262-44.367-6.131-6.167-81.605-81.632-6.16-6.166Zm94.65 63.863a13.334 13.334 0 0 1-13.245-13.391 13.231 13.231 0 1 1 13.245 13.391Zm0-25.664a12.316 12.316 0 0 0-12.245 12.273 12.23 12.23 0 1 0 20.867-8.667 12.1 12.1 0 0 0-8.622-3.607Zm-25.616 0a13 13 0 0 1-5.134-1.051 13.319 13.319 0 0 1-4.211-2.855 13.254 13.254 0 0 1 9.345-22.648 13.351 13.351 0 0 1 9.44 3.857 13.2 13.2 0 0 1 0 18.792 13.32 13.32 0 0 1-9.44 3.904Zm0-25.554a12.277 12.277 0 0 0 0 24.554 12.326 12.326 0 0 0 8.737-3.614 12.2 12.2 0 0 0 0-17.371 12.357 12.357 0 0 0-8.737-3.57Zm-25.522 0A13.347 13.347 0 0 1 93.1 92.729a13.255 13.255 0 0 1 22.607 9.36 13.353 13.353 0 0 1-13.276 13.398Zm0-25.664a12.3 12.3 0 0 0-12.214 12.265 12.246 12.246 0 1 0 24.49 0 12.331 12.331 0 0 0-12.277-12.265Zm88.869 20.245-45.672-45.663 29.788-29.909a30.775 30.775 0 0 1 10.606-6.947 33.717 33.717 0 0 1 24.527 0 30.776 30.776 0 0 1 10.607 6.947 31.725 31.725 0 0 1 6.981 10.426 32.714 32.714 0 0 1-6.983 35.237Zm-44.259-45.663 44.262 44.25 29.145-29.2a31.714 31.714 0 0 0 6.765-34.15 30.732 30.732 0 0 0-6.764-10.1 29.784 29.784 0 0 0-10.266-6.723 32.717 32.717 0 0 0-23.792 0 29.782 29.782 0 0 0-10.265 6.723ZM39.989 85.278l-5.083-5.119a32.15 32.15 0 0 1 0-45.661 32.11 32.11 0 0 1 45.679 0l4.952 4.98Zm17.725-59.32a30.554 30.554 0 0 0-22.095 9.24l-.006.006a31.314 31.314 0 0 0 0 44.247l4.376 4.408 44.138-44.381-4.256-4.28a30.629 30.629 0 0 0-22.157-9.24Z",fill:"rgba(0,0,0,0)"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 879",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},97538:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 30",d:"M.002 128.002a128 128 0 0 1 128-128 128 128 0 0 1 128 128 128 128 0 0 1-128 128 127.993 127.993 0 0 1-128-128Zm25 0a103.115 103.115 0 0 0 103 103 103.116 103.116 0 0 0 103-103 103.117 103.117 0 0 0-103-103A103.116 103.116 0 0 0 25 128.002Zm75.211 58.614c0-10.971 9.48-20.238 20.342-20.238a20.541 20.541 0 0 1 20.133 20.133c0 10.966-9.377 20.447-20.133 20.447-10.864 0-20.344-9.481-20.344-20.342Zm7.457-33.227v-36.213h10.223c20.557 0 31.633-6.495 31.633-18.956 0-11.5-10.971-17.675-31.312-17.675-5.748 0-11.715.423-16.186.846l-2.023-28.008a165.912 165.912 0 0 1 21.508-1.386c37.17 0 58.684 17.147 58.684 44.094 0 24.6-16.4 40.365-46.008 45.051l-.852 12.247Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 917",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},83842:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsx)("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.jsxs)("g",{children:[(0,a.jsx)("path",{fill:"currentcolor",d:"M145.4,20C86.3,20.1,38.3,67.6,37.5,126.6L24.8,114c-5.2-5-13.4-4.9-18.5,0.2 c-4.9,5.1-4.9,13.2,0,18.2l37,37c5.1,5.1,13.3,5.2,18.5,0.1c0,0,0.1-0.1,0.1-0.1l37-37c4.9-5.3,4.6-13.5-0.7-18.5 c-5-4.7-12.8-4.7-17.8,0l-13.8,13.8c0.2-43.4,35.4-78.5,78.8-78.5c43.5,0,78.8,35.3,78.8,78.8c0,43.5-35.3,78.8-78.8,78.8 c-8.1,0-14.6,6.5-14.6,14.6s6.5,14.6,14.6,14.6c59.6-0.1,107.8-48.4,107.9-107.9C253.4,68.5,205.1,20.1,145.4,20z"}),(0,a.jsx)("path",{fill:"currentcolor",d:"M150.7,81.1c0.2-1.5-0.3-3-1.2-4.2c-1.3-0.9-2.9-1.3-4.4-1.1h-7.4c-1.2-0.1-2.3,0.2-3.3,0.8 c-0.9,1.1-1.4,2.5-1.2,4c0,18.9,0,37.8,0,56.6v0.9l40.4,40.4c0.6,0.7,1.4,1.3,2.3,1.5c1.2,0.1,2.5-0.4,3.4-1.2c2.7-2,5-4.4,7-7.1 c0.9-0.9,1.3-2.1,1.2-3.4c-0.3-0.9-0.8-1.8-1.6-2.4l-29.6-29.4c-1.9-1.7-3.5-3.7-4.7-6c-1-2.8-1.3-5.7-1-8.6 C150.9,108.3,150.9,94.7,150.7,81.1z"})]})}))}},73738:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{"data-name":"IAM Policies",clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"iam-policies-icn",children:[(0,a.jsx)("path",{"data-name":"Trazado 339",d:"M234.915 46.468v-.073a12.276 12.276 0 0 0-12.458-11.593c-19.233.3-55.932-3-86.768-28.92a12.132 12.132 0 0 0-15.811-.046C88.971 31.804 52.271 35.119 33.152 34.81a12.226 12.226 0 0 0-12.561 11.657c-1.8 46.628-1.509 112.307 21.777 144.214 21.779 29.942 64.527 54.463 77.79 60.687a17.75 17.75 0 0 0 7.584 1.7 17.744 17.744 0 0 0 7.619-1.713c14.233-6.71 55.947-30.7 77.768-60.659 23.292-31.913 23.59-97.599 21.786-144.228Zm-33.666 135.567c-19.9 27.341-59.77 50.186-72.17 56.035a3.18 3.18 0 0 1-2.687 0c-12.364-5.814-52.168-28.577-72.141-56.044-22.29-30.539-20.117-104.8-19.071-132.5h.273c21.464 0 59.431-4.411 92.3-31.128 32.821 26.709 70.8 31.119 92.384 31.119h.18c1.052 27.835 3.211 101.997-19.068 132.518Z"}),(0,a.jsx)("path",{"data-name":"Trazado 339 - Contorno",d:"M127.739.004a15.2 15.2 0 0 1 9.855 3.655c29.229 24.565 64.3 28.236 82.6 28.236l2.217-.017h.01a15.346 15.346 0 0 1 15.422 14.381c1.821 47.169 1.485 113.518-22.347 146.172-22.2 30.473-64.469 54.785-78.885 61.582a20.555 20.555 0 0 1-8.869 1.993 20.584 20.584 0 0 1-8.833-1.978c-13.426-6.3-56.751-31.147-78.912-61.614-23.821-32.639-24.156-98.986-22.335-146.052a15.124 15.124 0 0 1 15.023-14.484l2.764.028c18.245 0 53.229-3.677 82.542-28.306a15.029 15.029 0 0 1 9.748-3.596Zm92.455 37.753c-19.1 0-55.72-3.849-86.39-29.625a9.344 9.344 0 0 0-6.065-2.265 9.18 9.18 0 0 0-5.956 2.2c-30.753 25.84-67.289 29.7-86.332 29.7l-2.345-.019h-.019a9.344 9.344 0 0 0-9.568 8.874c-1.785 46.156-1.53 111.17 21.217 142.338 21.44 29.477 63.592 53.625 76.668 59.761a14.916 14.916 0 0 0 12.7-.009c14.043-6.621 55.179-30.255 76.653-59.736 22.757-31.181 23.013-96.2 21.227-142.389a9.343 9.343 0 0 0-9.2-8.852Zm-92.44-23.131 1.849 1.5c32.569 26.5 70.7 30.462 90.534 30.462h2.822l.286 2.82c.957 25.27 3.867 102.168-19.628 134.352-20.261 27.833-60.713 51.027-73.287 56.958a6.169 6.169 0 0 1-5.167.01c-12.568-5.909-52.967-29.043-73.282-56.98C28.394 151.57 31.298 74.683 32.252 49.417l.107-2.821h2.822c20.053 0 58.106-3.959 90.724-30.471Zm89.734 37.8c-21.007-.373-57.672-5.123-89.736-30.274-32.229 25.255-68.984 29.947-89.744 30.287-2.23 64.873 4.028 107.88 18.61 127.858 19.6 26.948 58.824 49.384 71.021 55.119l.1.019a.225.225 0 0 0 .1-.021c12.214-5.762 51.5-28.26 71.043-55.106 14.585-19.984 20.843-63.004 18.606-127.883Z"}),(0,a.jsx)("path",{"data-name":"Trazado 339 - Contorno",d:"M127.739 2.837a12.358 12.358 0 0 1 8.015 2.976 120.447 120.447 0 0 0 45.936 23.8 142.22 142.22 0 0 0 21.155 4.1 149.679 149.679 0 0 0 17.35 1.015c.753 0 1.514-.006 2.262-.018h.333a12.159 12.159 0 0 1 8.378 3.393 12.225 12.225 0 0 1 3.846 8.3v.077c1.8 46.64 1.506 112.345-21.805 144.286-21.848 29.994-63.571 53.979-77.8 60.689a17.751 17.751 0 0 1-7.66 1.722 17.771 17.771 0 0 1-7.625-1.708c-13.258-6.222-56.016-30.731-77.828-60.718-23.3-31.93-23.6-97.632-21.8-144.275a12.414 12.414 0 0 1 3.8-8.343 12.055 12.055 0 0 1 8.393-3.417c.156 0 .314 0 .47.009.757.012 1.529.018 2.294.018a148.3 148.3 0 0 0 17.294-1.019 141.918 141.918 0 0 0 21.123-4.113 120.786 120.786 0 0 0 45.948-23.838 12.209 12.209 0 0 1 7.921-2.936Zm92.455 32.086a149.9 149.9 0 0 1-17.373-1.016 142.431 142.431 0 0 1-21.184-4.107 120.644 120.644 0 0 1-46.01-23.838 12.163 12.163 0 0 0-7.888-2.929 12.012 12.012 0 0 0-7.8 2.883 120.985 120.985 0 0 1-46.021 23.877 142.125 142.125 0 0 1-21.153 4.119 148.491 148.491 0 0 1-17.317 1.021c-.766 0-1.54-.006-2.3-.018a12.138 12.138 0 0 0-.465-.009 11.861 11.861 0 0 0-8.258 3.362 12.22 12.22 0 0 0-3.739 8.211c-1.8 46.613-1.509 112.271 21.758 144.151 21.788 29.954 64.506 54.44 77.753 60.656a17.576 17.576 0 0 0 7.542 1.69 17.555 17.555 0 0 0 7.577-1.7c14.221-6.7 55.907-30.666 77.73-60.628 23.276-31.892 23.571-97.552 21.768-144.167v-.076a12.027 12.027 0 0 0-3.785-8.16 11.963 11.963 0 0 0-8.243-3.339h-.329c-.746.006-1.508.012-2.263.012Zm-92.441-16.645.062.05a135.656 135.656 0 0 0 50.371 25.557 157.366 157.366 0 0 0 23.039 4.435 163.564 163.564 0 0 0 18.913 1.106h.273v.094c.294 7.782.6 17.213.6 28.16 0 13.373-.462 25.856-1.382 37.1-2.583 31.568-8.74 54.215-18.3 67.312-19.915 27.358-59.8 50.216-72.208 56.066a3.228 3.228 0 0 1-1.38.307 3.288 3.288 0 0 1-1.389-.307c-12.38-5.821-52.213-28.618-72.179-56.075-9.563-13.1-15.723-35.768-18.3-67.365-.919-11.247-1.384-23.729-1.381-37.1 0-10.914.3-20.327.6-28.1v-.094h.367a162.536 162.536 0 0 0 18.844-1.106 157.194 157.194 0 0 0 23-4.436 135.97 135.97 0 0 0 50.391-25.564Zm92.469 31.343h-.085a163.735 163.735 0 0 1-18.936-1.107 157.57 157.57 0 0 1-23.067-4.44 135.854 135.854 0 0 1-50.381-25.544 136.178 136.178 0 0 1-50.4 25.551 157.4 157.4 0 0 1-23.033 4.441 162.713 162.713 0 0 1-18.866 1.107h-.179c-.292 7.748-.59 17.127-.592 27.994 0 13.364.461 25.84 1.38 37.082 2.579 31.56 8.725 54.192 18.268 67.266 19.942 27.424 59.736 50.2 72.1 56.013a3.094 3.094 0 0 0 1.307.288 3.035 3.035 0 0 0 1.3-.288c12.392-5.845 52.242-28.68 72.132-56 9.541-13.068 15.686-35.681 18.265-67.213.919-11.241 1.384-23.719 1.382-37.086-.002-10.91-.301-20.307-.594-28.069Z"}),(0,a.jsx)("path",{"data-name":"Trazado 340",d:"m154.932 82.763-7.4-3.7-5.737-2.866-14.1-7.057v12.363l-15.307 6.115 15.307-6.115v-12.37L100.447 82.76v9.628l-5.029 2.014v18.257l5.029.589v8.032l11.941-1.191v54.127l7.145 2.86v11.538l8.162 4.08v-86.488l-7.206 1.441V90.14l7.206-2.528v.007l7.195 2.521v17.5l-7.195-1.435v86.488l8.159-4.08v-11.538l13.528-5.367-.024-10.18-13.5 4.006v-11.54l13.528-2.689v-9.99l5.55-.5v-9.9h-11.929v-10.822l5.524.552 6.4.639v-9.628l5.036 1.008V94.407l-5.036-2.014Zm3.2 12.886v14.772l-2.83-.567-2.2-.44v9.843l-4.4-.441-5.525-.552-2.019-.206v14.7h11.941v6.387l-3.88.344-1.67.147v10.166l-12.063 2.4-1.473.293v15.51l2.353-.7 11.151-3.315.032 6.476-12.376 4.909-1.16.455v11.657l-4.487 2.242v-81.286l5 1.008 2.2.434v-1.876l6.277 1.265V87.622l-7.149-2.866-4.933-1.971-1.39-.552v-10.12l11.433 5.717 5.749 2.875 6.391 3.19v9.745l1.152.457Z"}),(0,a.jsx)("path",{"data-name":"Trazado 340 - Contorno",d:"m126.229 66.764 1.465.734 1.466-.733v1.466l13.293 6.652 5.736 2.866 8.208 4.11V91.4l5.036 2.014v21.037l-5.036-1.008v9.46l-11.93-1.191v7.741h11.93v12.707l-5.55.5v9.853l-13.529 2.689v8.373l13.5-4 .032 13.136-13.531 5.368v11.449l-8.158 4.08v1.465l-1.466-.733-1.465.733v-1.466l-8.163-4.08v-11.452l-7.145-2.86v-53.5l-11.941 1.191v-8.347l-5.028-.589V93.417l5.028-2.014v-9.542l27.249-13.627Zm0 13.743v-9l-24.317 12.161v9.714l-5.029 2.014v15.961l5.029.589v7.717l11.941-1.191v54.754l7.145 2.86v11.624l5.231 2.615v-82.33l-7.206 1.441V89.102l10.137-3.556v1.035l7.195 2.521v17.336l5.181 1.044v-18.87l-6.229-2.5-4.932-1.971-2.311-.917v-.3L112.93 88.97l-1.088-2.722Zm25.408 4.3-5.58-2.786-15.061-7.532v6.754l.464.184 4.937 1.973 8.07 3.235v24.434l-6.276-1.265v1.869l-3.954-.781-3.241-.654v77.122l1.555-.777v-11.751l2.086-.818 11.446-4.54-.018-3.52-13.514 4.017v-18.682l2.653-.528 10.884-2.162v-10.3l5.549-.491v-3.581h-11.941V116.44l3.633.37 8.308.831V107.63l5.029 1.007V96.645l-2.95-1.182-2.079-.823Zm-18.214 6.38-5.739-2.011-5.73 2.01v14.68l4.275-.855v-.585l1.465.292 1.466-.293v.586l4.263.85Z"}),(0,a.jsx)("path",{"data-name":"Trazado 340 - Contorno",d:"m127.597 68.978.1.049.1-.049v.1l14.049 7.03 5.737 2.866 7.451 3.731v9.623l5.037 2.014v18.443l-5.037-1.008v9.617l-11.929-1.191v10.621h11.929v10.088l-5.549.5v9.98l-.079.016-13.45 2.674v11.329l13.5-4.006v.131l.025 10.246-.062.025-13.467 5.342v11.532l-.054.027-8.1 4.053v.1l-.1-.049-.1.049v-.1l-8.162-4.08v-11.532l-7.145-2.86v-54.085l-11.941 1.191v-8.058l-5.029-.589V94.337l.062-.025 4.967-1.99v-9.623l.054-.027 27.194-13.6Zm0 12.455V69.294l-27.053 13.529v9.634l-5.028 2.014v18.1l5.028.589v8.011l11.941-1.191v54.168l7.145 2.86v11.544l7.967 3.982v-86.211l-7.206 1.441v-17.7l.065-.023 7.336-2.573v.076l7.194 2.521v17.689l-.117-.023-7.078-1.411v86.217l7.962-3.982v-11.544l.062-.024 13.467-5.342-.024-9.983-13.5 4.006v-11.751l.079-.016 13.45-2.674v-10l5.55-.5v-9.714h-11.93v-11.032l11.93 1.191v-9.64l5.036 1.008V94.468l-5.036-2.014V82.82l-7.343-3.677-5.736-2.866-13.961-6.986v12.271l-.062.025-15.308 6.115-.072-.181Zm7.195 8.779-7.107-2.49-7.1 2.49v17.319l7.011-1.4v-.039l.1.019.1-.019v.039l7 1.4Zm-5.359-18.257.142.071 17.181 8.592 6.445 3.217v9.739l1.091.432 3.938 1.577v14.954l-5.029-1.008v9.831l-4.5-.452-5.525-.552-1.912-.195v14.493h11.941v6.574l-5.55.492v10.156l-13.536 2.689v15.3l13.5-4.014v.13l.032 6.542-.062.025-12.376 4.909-1.1.431v11.651l-.054.027-4.628 2.313v-81.561l5.113 1.031 2.082.411v-1.876l6.276 1.265V87.683l-7.087-2.841-4.933-1.971-1.451-.576Zm23.573 12-6.337-3.163-17.04-8.521v9.9l1.328.527 4.933 1.971 7.21 2.891v21.837l-6.277-1.265v1.876l-2.315-.457-4.879-.984v81.007l4.291-2.145v-11.664l1.222-.479 12.313-4.885-.031-6.279-13.5 4.014v-15.721l1.552-.309 11.984-2.38v-10.179l5.55-.492v-6.2h-11.941v-14.9l2.127.217 9.814.982V109.3l5.028 1.008V95.721l-3.814-1.528-1.214-.481Z"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 887",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},42797:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"JSONIcon",children:[(0,a.jsx)("g",{"data-name":"Grupo 2269",children:(0,a.jsx)("path",{"data-name":"Uni\\xF3n 21",d:"M190.07 233.208a8.967 8.967 0 0 1-2.645-6.377 8.974 8.974 0 0 1 2.645-6.389 8.949 8.949 0 0 1 6.375-2.633 24.023 24.023 0 0 0 9.363-1.895 23.98 23.98 0 0 0 7.656-5.163 24.228 24.228 0 0 0 5.152-7.648 23.763 23.763 0 0 0 1.895-9.361v-47.057a26.541 26.541 0 0 1 7.129-18.122 26.567 26.567 0 0 1-7.129-18.133V63.373a23.707 23.707 0 0 0-1.895-9.351 23.978 23.978 0 0 0-5.152-7.648 23.977 23.977 0 0 0-7.656-5.162 23.815 23.815 0 0 0-9.363-1.9 8.959 8.959 0 0 1-6.375-2.644 8.95 8.95 0 0 1-2.645-6.378 8.949 8.949 0 0 1 2.645-6.377 8.959 8.959 0 0 1 6.375-2.644 42.145 42.145 0 0 1 42.109 42.1v47.057a8.636 8.636 0 0 0 8.625 8.624 8.959 8.959 0 0 1 6.375 2.644 8.967 8.967 0 0 1 2.645 6.377c0 .148 0 .307-.012.488.012.17.012.329.012.477a8.974 8.974 0 0 1-2.645 6.389 8.949 8.949 0 0 1-6.375 2.633 8.636 8.636 0 0 0-8.625 8.624v47.057a42.154 42.154 0 0 1-42.109 42.109 8.959 8.959 0 0 1-6.375-2.64ZM17.465 193.742v-47.057a8.641 8.641 0 0 0-8.625-8.624 8.981 8.981 0 0 1-6.387-2.645 8.936 8.936 0 0 1-2.633-6.377c0-.147 0-.307.012-.477-.012-.182-.012-.34-.012-.488a8.956 8.956 0 0 1 2.633-6.377 8.98 8.98 0 0 1 6.387-2.644 8.641 8.641 0 0 0 8.625-8.624V63.372a42.142 42.142 0 0 1 42.1-42.1 8.972 8.972 0 0 1 6.391 2.633 8.963 8.963 0 0 1 2.633 6.388 8.957 8.957 0 0 1-2.633 6.378 8.982 8.982 0 0 1-6.391 2.644 23.8 23.8 0 0 0-9.359 1.9 24.22 24.22 0 0 0-7.648 5.151 23.985 23.985 0 0 0-5.164 7.659 23.975 23.975 0 0 0-1.883 9.351v47.057a26.56 26.56 0 0 1-7.137 18.133 26.512 26.512 0 0 1 7.137 18.122v47.057a24.07 24.07 0 0 0 1.883 9.361 24.068 24.068 0 0 0 5.164 7.648 24.076 24.076 0 0 0 7.648 5.163 23.994 23.994 0 0 0 9.359 1.884 8.982 8.982 0 0 1 6.391 2.644 8.963 8.963 0 0 1 2.633 6.389 8.956 8.956 0 0 1-2.633 6.377 8.982 8.982 0 0 1-6.391 2.644 42.151 42.151 0 0 1-42.1-42.115ZM160 128.008a16 16 0 0 1 16-16 16.006 16.006 0 0 1 16.012 16 16.012 16.012 0 0 1-16.012 16 16.007 16.007 0 0 1-16-16Zm-48 0a16 16 0 0 1 16-16 16 16 0 0 1 16 16 16 16 0 0 1-16 16 16.01 16.01 0 0 1-16-16Zm-47 0a15.758 15.758 0 0 1 15.5-16 15.758 15.758 0 0 1 15.5 16 15.764 15.764 0 0 1-15.5 16 15.764 15.764 0 0 1-15.5-16Z"})}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 891",fill:"none",d:"M0 0h256v256H0z"})]})]})]}))}},6793:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"LambdaIcon",children:[(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 847",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 442",d:"M40.266 0c-9.543 0-17.279 6.878-17.279 15.363S30.723 30.73 40.266 30.73c26.265 0 36.01 14.872 46.032 34.353l1.659 3.134c1.382 2.643 4.354 8.542 8.363 16.408L1.975 233.094c-4.327 7.346-1.317 16.42 6.8 20.5s18.415 1.7 23.265-5.384l81.9-128.623c21.91 44 49.488 99.494 49.972 100.415 12.921 27.82 47.568 42.291 79.9 33.369 9.123-2.512 14.229-11.123 11.4-19.235s-12.511-12.651-21.634-10.14c-15.631 4.28-32.31-2.987-38.084-16.593-2.765-5.531-67.32-135.751-76.029-152.282l-1.521-2.95C109.038 35.336 90.86 0 40.266 0Z"})]})]})]}))}},58368:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 870",fill:"none",d:"M255.999.001v256h-256v-256z"}),(0,a.jsx)("path",{"data-name":"Trazado 454",d:"M-.001 16.413A16.487 16.487 0 0 1 16.536-.001h135.381c21.752 0 21.752 32.824 0 32.824H33.088v190.355h118.829c21.752 0 21.752 32.822 0 32.822H16.536A16.477 16.477 0 0 1-.001 239.6Zm61.308 95.176h138.227l-18.743-18.588c-15.385-15.262 8-38.471 23.393-23.205l46.878 46.5a16.345 16.345 0 0 1 0 23.408l-46.878 46.51c-15.39 15.266-38.777-7.949-23.393-23.211l18.744-18.592H61.308c-10.872 0-16.307-8.205-16.307-16.41s5.435-16.412 16.307-16.412Z"}),(0,a.jsx)("path",{"data-name":"Trazado 454 - Contorno",d:"M-.501 239.601V16.417A17 17 0 0 1 16.536-.497h135.381a16.259 16.259 0 0 1 12.61 5.3 16.393 16.393 0 0 1 3.156 5.422 18.547 18.547 0 0 1 1.048 6.193 18.547 18.547 0 0 1-1.048 6.193 16.393 16.393 0 0 1-3.156 5.422 16.259 16.259 0 0 1-12.61 5.3H33.588v189.355h118.329a16.259 16.259 0 0 1 12.61 5.3 16.374 16.374 0 0 1 3.156 5.422 18.528 18.528 0 0 1 1.048 6.191 18.531 18.531 0 0 1-1.048 6.193 16.374 16.374 0 0 1-3.156 5.422 16.259 16.259 0 0 1-12.61 5.3H16.536a17.034 17.034 0 0 1-6.625-1.328 16.992 16.992 0 0 1-5.416-3.621 16.846 16.846 0 0 1-3.655-5.373 16.663 16.663 0 0 1-1.341-6.593ZM167.731 16.415a17.535 17.535 0 0 0-.991-5.859 15.388 15.388 0 0 0-2.962-5.094A15.286 15.286 0 0 0 151.917.503H16.536A15.994 15.994 0 0 0 .499 16.417v223.184a15.989 15.989 0 0 0 16.037 15.9h135.381a15.286 15.286 0 0 0 11.861-4.959 15.368 15.368 0 0 0 2.962-5.094 17.518 17.518 0 0 0 .991-5.859 17.515 17.515 0 0 0-.991-5.857 15.368 15.368 0 0 0-2.962-5.094 15.286 15.286 0 0 0-11.861-4.959H32.588V32.324h119.329a15.286 15.286 0 0 0 11.861-4.959 15.388 15.388 0 0 0 2.962-5.094 17.526 17.526 0 0 0 .992-5.86ZM44.499 128.001a18.547 18.547 0 0 1 1.048-6.193 16.37 16.37 0 0 1 3.154-5.422 16.248 16.248 0 0 1 12.6-5.3h137.013L180.432 93.35a16.238 16.238 0 0 1-5.179-11.6 16.682 16.682 0 0 1 3.251-9.711 19.071 19.071 0 0 1 8.051-6.451 15.968 15.968 0 0 1 8.961-1.051 17 17 0 0 1 9.013 4.9l46.878 46.5a16.869 16.869 0 0 1 5.084 12.006 16.81 16.81 0 0 1-1.3 6.482 17.213 17.213 0 0 1-3.786 5.631l-46.879 46.51a16.976 16.976 0 0 1-9.01 4.9 15.975 15.975 0 0 1-8.958-1.049 19.084 19.084 0 0 1-8.054-6.453 16.694 16.694 0 0 1-3.254-9.715 16.237 16.237 0 0 1 5.179-11.6l17.882-17.736H61.298a16.249 16.249 0 0 1-12.6-5.3 16.351 16.351 0 0 1-3.154-5.422 18.527 18.527 0 0 1-1.045-6.19Zm156.248-15.912H61.306a15.275 15.275 0 0 0-11.855 4.959 15.365 15.365 0 0 0-2.961 5.094 17.538 17.538 0 0 0-.991 5.859 17.547 17.547 0 0 0 .991 5.859 15.375 15.375 0 0 0 2.961 5.092 15.276 15.276 0 0 0 11.855 4.959h139.443l-.862.855-18.744 18.592a15.257 15.257 0 0 0-4.883 10.891 15.7 15.7 0 0 0 3.067 9.133 18.064 18.064 0 0 0 7.625 6.111 14.955 14.955 0 0 0 8.4.988 16 16 0 0 0 8.482-4.625l46.878-46.51a16.222 16.222 0 0 0 3.567-5.3 15.825 15.825 0 0 0 1.222-6.1 15.868 15.868 0 0 0-4.789-11.295l-46.878-46.5a16.011 16.011 0 0 0-8.485-4.627 15 15 0 0 0-8.4.988 18.055 18.055 0 0 0-7.623 6.111 15.688 15.688 0 0 0-3.064 9.129 15.259 15.259 0 0 0 4.883 10.893Z",fill:"rgba(0,0,0,0)"})]})]}))}},71208:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({},e),{},{className:"min-icon",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",children:(0,a.jsxs)("g",{id:"repliaction-icn",transform:"translate(0 0)",children:[(0,a.jsx)("g",{id:"Grupo_1696","data-name":"Grupo 1696",transform:"translate(3.434)",children:(0,a.jsx)("path",{id:"Trazado_6841","data-name":"Trazado 6841",d:"M-502.661-53.081a1.054,1.054,0,0,0-.84-.432h-10.382a1.055,1.055,0,0,0-.84.432,1.272,1.272,0,0,0-.233.983l.178,1.038h7.843a1.894,1.894,0,0,1,1.509.776,2.21,2.21,0,0,1,.342.661h1.366l-.16.932h-1.107c-.005.058-.013.117-.023.175l-.518,3.021v0h1.1l-.16.932h-1.1l-.546,3.189-.005.032-.072.422h1.06a1.124,1.124,0,0,0,1.073-.975l.52-3.036c0-.006,0-.012,0-.018l.7-4.114,0-.012.518-3.024A1.271,1.271,0,0,0-502.661-53.081Z",transform:"translate(514.975 53.513)"})}),(0,a.jsx)("path",{id:"Trazado_6842","data-name":"Trazado 6842",d:"M-609.21,43.432a1.055,1.055,0,0,0-.84-.432h-10.382a1.054,1.054,0,0,0-.84.432,1.271,1.271,0,0,0-.233.983c.256,1.495.8,4.646,1.226,7.16a.035.035,0,0,0,0,.005l.521,3.04a1.124,1.124,0,0,0,1.073.975h6.886a1.124,1.124,0,0,0,1.073-.975l.52-3.036,0-.018.7-4.114s0-.008,0-.012l.518-3.024A1.271,1.271,0,0,0-609.21,43.432Zm-1.924,8.519-8.214.01-.16-.932,8.534-.01Zm.708-4.131-9.629.01-.16-.932,9.949-.01Z",transform:"translate(621.524 -39.595)"})]})}))}},416:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({},e),{},{className:"min-icon",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{"data-name":"Object Browser",clipPath:"url(#prefix__a)",children:[(0,a.jsxs)("g",{"data-name":"Grupo 1541",transform:"translate(87.918 103.898)",children:[(0,a.jsx)("circle",{"data-name":"Elipse 57",cx:11.515,cy:11.515,r:11.515,transform:"rotate(-10.901 280.738 -178.561)"}),(0,a.jsx)("rect",{"data-name":"Rect\\xE1ngulo 805",width:24.592,height:20.853,rx:1.35,transform:"translate(14.546 25.545)"}),(0,a.jsx)("path",{"data-name":"Trazado 365",d:"M28.151 60.295a2.427 2.427 0 00-4.2 0l-9.1 15.761a2.425 2.425 0 002.1 3.64h18.2a2.43 2.43 0 002.105-3.64z"}),(0,a.jsx)("path",{"data-name":"Trazado 366",d:"M79.273 28.199a151.334 151.334 0 00-.187-17.51c-.395-4.294-2.262-7.942-6.512-9.468a15.5 15.5 0 00-1.836-.529 38.335 38.335 0 00-7.332-.658c-4.289-.125-8.57.136-12.855.116-8.582-.036-17.16.116-25.746.152H6.301a6.308 6.308 0 00-6.3 6.3v80.617a6.307 6.307 0 006.3 6.3h66.684a6.3 6.3 0 006.3-6.3V47.054c-.004-6.273-.168-12.584-.012-18.855zm-7.648 53.334a5.435 5.435 0 01-5.434 5.439h-54.2a5.442 5.442 0 01-5.441-5.439V12.3a5.441 5.441 0 015.441-5.442h36.367v9.3a13.809 13.809 0 0013.789 13.794h9.48zm0-57.6h-9.48a7.781 7.781 0 01-7.773-7.777v-9.3h11.82a5.435 5.435 0 015.434 5.442z"})]}),(0,a.jsx)("path",{"data-name":"Trazado 367",d:"M101.585 42.067c6.6 0 13.672 18.858 20.742 18.858h87.934a9.453 9.453 0 019.426 9.429v4.715H40.292V51.496h-.234a9.455 9.455 0 019.426-9.429h52.1m124.219 44.5a9.8 9.8 0 019.773 9.772L225.56 204.095a9.8 9.8 0 01-9.773 9.771H39.615a9.8 9.8 0 01-9.773-9.771L20.065 96.339a9.806 9.806 0 019.777-9.772h195.961M101.584 21.999h-52.1a29.528 29.528 0 00-29.492 29.5 20.028 20.028 0 00.234 3.081v13.513A29.9 29.9 0 00-.001 96.344c0 .605.031 1.208.086 1.814l9.711 107.089a29.874 29.874 0 0029.82 28.691h176.172a29.873 29.873 0 0029.813-28.663l9.961-107.074c.051-.617.082-1.239.082-1.857a29.875 29.875 0 00-15.887-26.376 29.534 29.534 0 00-29.5-29.106H128.87c-.4-.532-.785-1.059-1.121-1.517-5.094-6.906-12.785-17.342-26.168-17.342z"})]})]}))}},93482:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{"data-name":"Object Browser",clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 19",d:"M36.252 256a17.257 17.257 0 0 1-17.25-17.235V18.076A17.261 17.261 0 0 1 36.252.836h42.193c2.83 0 5.654 0 8.461-.015 23.494-.092 47-.514 70.48-.412 4.9.02 9.809-.1 14.711-.208 6.822-.155 13.645-.311 20.467-.107 6.662.194 13.539.315 20.1 1.793a44.27 44.27 0 0 1 5.01 1.444c11.648 4.182 16.736 14.163 17.836 25.918 1.453 15.7.877 32.2.5 47.945-.412 17.158.014 34.432.014 51.618v109.952a17.244 17.244 0 0 1-17.234 17.235Zm.7-222.336v189.523a14.876 14.876 0 0 0 14.875 14.89H200.2a14.9 14.9 0 0 0 14.885-14.89V81.992h-25.957a37.8 37.8 0 0 1-37.754-37.761V18.769H51.823a14.877 14.877 0 0 0-14.874 14.895Zm130.881 10.567a21.33 21.33 0 0 0 21.3 21.3h25.957V33.663a14.9 14.9 0 0 0-14.885-14.9h-32.371ZM65.4 218.152a6.644 6.644 0 0 1-5.756-9.967l24.891-43.139a6.658 6.658 0 0 1 11.527 0l24.906 43.139a6.652 6.652 0 0 1-5.758 9.967Zm65.869-50.693a31.523 31.523 0 0 1 24.992-36.917 31.529 31.529 0 0 1 36.918 24.993 31.53 31.53 0 0 1-24.992 36.917 31.742 31.742 0 0 1-5.994.574 31.536 31.536 0 0 1-30.927-25.567Zm-70.568-40.454a1.894 1.894 0 0 1-1.895-1.895V71.815a1.894 1.894 0 0 1 1.895-1.895h63.533a1.894 1.894 0 0 1 1.895 1.895v53.295a1.894 1.894 0 0 1-1.895 1.895Z",stroke:"rgba(0,0,0,0)",strokeMiterlimit:10}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 882",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},78851:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"OpenListIcon",children:[(0,a.jsx)("path",{"data-name":"Trazado 6842",d:"M0 71.037a14.843 14.843 0 0 1 4.511-10.526 14.978 14.978 0 0 1 21.427 0l101.874 101.874 102.25-101.874a14.978 14.978 0 0 1 21.427 0 14.978 14.978 0 0 1 0 21.427L138.714 194.714a14.843 14.843 0 0 1-10.526 4.511 13.65 13.65 0 0 1-10.526-4.511L4.887 81.938A15.229 15.229 0 0 1 0 71.037Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 896",fill:"none",d:"M0 0h256v256H0z"})]})]})]}))}},26805:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({},e),{},{className:"min-icon",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 606.583 134.691",children:(0,a.jsx)("g",{id:"prefix__Layer_2","data-name":"Layer 2",children:(0,a.jsx)("g",{id:"prefix__Layer_1-2","data-name":"Layer 1",children:(0,a.jsx)("path",{className:"prefix__cls-1",d:"M79.695 95.063c0 23.03-16.763 39.628-39.848 39.628C16.763 134.69 0 118.092 0 95.063s16.763-39.628 39.847-39.628c23.085 0 39.848 16.599 39.848 39.628zm-69.582 0c0 18.083 12.806 30.339 29.734 30.339 16.929 0 29.735-12.256 29.735-30.34 0-18.081-12.806-30.338-29.735-30.338-16.928 0-29.734 12.257-29.734 30.339zM106.895 102.758v30.779H97.22V56.589h29.24c17.368 0 27.206 8.685 27.206 23.084 0 14.4-9.838 23.085-27.206 23.085zm0-37.045v27.921h19.346c11.377 0 17.368-4.617 17.368-13.96 0-9.344-5.99-13.96-17.368-13.96zM224.784 133.537h-54.632V56.589h54.082v9.07h-44.409v24.567h42.98v9.124h-42.98v25.118h44.96zM275.07 56.59c17.368 0 26.931 7.804 26.931 21.82 0 13.355-10.387 21.93-26.876 21.93h-.604l27.096 33.197h-11.982l-26.437-33.198h-9.013v33.198h-9.674V56.589zm-20.885 9.069v25.886h20.665c11.322 0 17.093-4.506 17.093-13.135 0-8.52-5.935-12.751-17.093-12.751zM384.716 133.537h-10.388l-8.464-20.996h-37.32l-8.409 20.996h-10.058l31.274-76.948h12.036zm-52.49-30.174h29.955l-14.95-37.21zM445.114 65.768h-26.217v67.769h-9.673V65.768h-26.272v-9.179h62.162zM531.566 95.063c0 23.03-16.763 39.628-39.847 39.628s-39.848-16.599-39.848-39.628 16.764-39.628 39.848-39.628 39.847 16.599 39.847 39.628zm-69.582 0c0 18.083 12.807 30.339 29.735 30.339 16.928 0 29.735-12.256 29.735-30.34 0-18.081-12.807-30.338-29.735-30.338-16.928 0-29.735 12.257-29.735 30.339zM579.652 56.59c17.368 0 26.931 7.804 26.931 21.82 0 13.355-10.388 21.93-26.876 21.93h-.605l27.096 33.197h-11.981l-26.437-33.198h-9.014v33.198h-9.673V56.589zm-20.886 9.069v25.886h20.666c11.322 0 17.093-4.506 17.093-13.135 0-8.52-5.936-12.751-17.093-12.751zM72.292.762h11.75v34.419h-11.75zM58.159 1.087l-23.85 14.566a1.06 1.06 0 01-1.106 0L9.352 1.087a3.272 3.272 0 00-1.705-.48h-.03a3.27 3.27 0 00-3.27 3.27v31.304H16.09V20.327a1.175 1.175 0 011.787-1.002l13.366 8.177a4.188 4.188 0 004.304.04l14.104-8.273a1.174 1.174 0 011.769 1.013v14.9h11.742V3.876a3.27 3.27 0 00-3.27-3.27h-.03a3.266 3.266 0 00-1.703.48zM142.742.753h-11.916v15.794a1.175 1.175 0 01-1.727 1.037L98.22 1.137A3.268 3.268 0 0096.68.753h-.02a3.27 3.27 0 00-3.27 3.27v31.158h11.82V19.64a1.174 1.174 0 011.725-1.038l31.004 16.445a3.27 3.27 0 001.533.381 3.27 3.27 0 003.27-3.27V.753zM152.279 35.173V.753h5.463v34.42zM189.208 35.926c-14.545 0-24.863-6.9-24.863-17.963C164.345 6.962 174.725 0 189.208 0c14.482 0 24.924 6.899 24.924 17.963s-10.194 17.963-24.924 17.963zm0-31.327c-10.815 0-19.145 4.724-19.145 13.364 0 8.702 8.33 13.363 19.145 13.363s19.206-4.662 19.206-13.363c0-8.64-8.392-13.364-19.206-13.364z"})})})}))}},11733:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 255.999"},e),{},{children:(0,a.jsx)("path",{id:"recover-icn",d:"M17866.783-5487a16.655,16.655,0,0,1-4.354-.6l-57.238-15.5a14.778,14.778,0,0,1-10.492-18.271l15.535-57.135c5.1-18.748,33.652-11.014,28.557,7.734l-5.8,21.333-1.033,3.5c.176-.094.342-.2.525-.288a84.861,84.861,0,0,0,39.223-113.4,85.2,85.2,0,0,0-62.492-46.565,12.846,12.846,0,0,1-10.568-14.789,12.864,12.864,0,0,1,14.811-10.552,110.978,110.978,0,0,1,81.389,60.667,109.742,109.742,0,0,1,11.158,47.846v.683a110.648,110.648,0,0,1-62.258,99.21c-.059.032-.121.049-.18.077l9.572,2.328,17.045,4.615c17.252,4.673,12.115,29.111-3.393,29.111Zm-122.105-11.284a13.242,13.242,0,0,1-2.135-.175,110.98,110.98,0,0,1-81.387-60.667,109.694,109.694,0,0,1-11.154-48.088v-.229a110.629,110.629,0,0,1,62.252-99.421c.064-.032.123-.05.186-.081l-9.576-2.323-17.041-4.615c-17.234-4.669-12.129-29.053,3.334-29.115h.131a16.69,16.69,0,0,1,4.283.606l57.242,15.5a14.775,14.775,0,0,1,10.488,18.272l-15.531,57.134c-5.1,18.749-33.658,11.015-28.562-7.734l5.8-21.336,1.039-3.5c-.176.094-.346.2-.531.288a84.855,84.855,0,0,0-39.217,113.4,85.188,85.188,0,0,0,62.486,46.569,12.845,12.845,0,0,1,10.57,14.785,12.866,12.866,0,0,1-12.674,10.731ZM17757-5615a21,21,0,0,1,21-21,21,21,0,0,1,21,21,21,21,0,0,1-21,21A21,21,0,0,1,17757-5615Z",transform:"translate(-17650.002 5743.001)"})}))}},18221:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 373",d:"M18 145.888A110.2 110.2 0 0 1 126.767 35.85L113.78 22.869c-12.378-12.378 6.448-31.2 18.822-18.824l37.722 37.72a13.32 13.32 0 0 1 0 18.979l-37.722 37.714c-12.374 12.374-31.2-6.442-18.822-18.82l14.085-14.085a80.434 80.434 0 0 0-80.1 80.335 80.443 80.443 0 0 0 80.349 80.35 80.441 80.441 0 0 0 80.349-80.35 14.878 14.878 0 0 1 14.879-14.877 14.879 14.879 0 0 1 14.882 14.877A110.234 110.234 0 0 1 128.114 256 110.232 110.232 0 0 1 18 145.888Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 871",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},35150:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 6970",d:"M27 101h202a27 27 0 0 1 0 54H27a27 27 0 0 1 0-54Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 916",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},13336:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("g",{"data-name":"search-icn",children:(0,a.jsx)("path",{"data-name":"Trazado 399",d:"M200.076 179.436a109.04 109.04 0 0 0 24.225-68.582C224.301 49.663 174.057 0 112.151 0S.001 49.663.001 110.854s50.243 110.855 112.15 110.855a111.975 111.975 0 0 0 66.393-21.58l52.037 51.437A15.108 15.108 0 0 0 241.048 256a14.929 14.929 0 0 0 10.467-25.423ZM29.908 110.854c0-44.933 36.785-81.293 82.243-81.293s82.243 36.36 82.243 81.293-37.084 81.293-82.243 81.293-82.243-36.36-82.243-81.293Z"})}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 866",fill:"none",d:"M0 0h256v255.7H0z"})]})]}))}},74524:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{"data-name":"Select Multiple",clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{d:"M234.667 234.667v-30.486h-30.473v30.485h30.473m-91.43 0v-30.485h-30.473v30.485h30.473m-91.43 0v-30.485H21.333v30.485h30.473m182.861-91.43v-30.472h-30.473v30.473h30.473m-91.43 0v-30.473h-30.473v30.473h30.473m-91.43 0v-30.473H21.333v30.473h30.473m182.861-91.43V21.333h-30.473v30.473h30.473m-91.43 0V21.333h-30.473v30.473h30.473m-91.43 0V21.333H21.333v30.473h30.473M241.779 256h-44.7a14.225 14.225 0 0 1-14.221-14.234v-44.684a14.225 14.225 0 0 1 14.221-14.234h44.7A14.225 14.225 0 0 1 256 197.082v44.685A14.225 14.225 0 0 1 241.779 256Zm-91.43 0h-44.7a14.225 14.225 0 0 1-14.219-14.234v-44.684a14.225 14.225 0 0 1 14.221-14.234h44.7a14.225 14.225 0 0 1 14.221 14.234v44.685A14.225 14.225 0 0 1 150.349 256Zm-91.43 0h-44.7A14.233 14.233 0 0 1 0 241.766v-44.684a14.233 14.233 0 0 1 14.221-14.234h44.7a14.225 14.225 0 0 1 14.221 14.234v44.685A14.225 14.225 0 0 1 58.918 256Zm182.861-91.43h-44.7a14.222 14.222 0 0 1-14.221-14.221v-44.7a14.214 14.214 0 0 1 14.223-14.219h44.7A14.214 14.214 0 0 1 256 105.651v44.7a14.222 14.222 0 0 1-14.221 14.219Zm-91.43 0h-44.7a14.222 14.222 0 0 1-14.22-14.221v-44.7a14.214 14.214 0 0 1 14.221-14.219h44.7a14.214 14.214 0 0 1 14.221 14.221v44.7a14.222 14.222 0 0 1-14.223 14.219Zm-91.43 0h-44.7A14.23 14.23 0 0 1 0 150.349v-44.7A14.222 14.222 0 0 1 14.221 91.43h44.7a14.214 14.214 0 0 1 14.221 14.221v44.7a14.222 14.222 0 0 1-14.224 14.219Zm182.861-91.43h-44.7a14.214 14.214 0 0 1-14.221-14.221v-44.7A14.214 14.214 0 0 1 197.082 0h44.7A14.214 14.214 0 0 1 256 14.221v44.7a14.214 14.214 0 0 1-14.221 14.218Zm-91.43 0h-44.7A14.214 14.214 0 0 1 91.43 58.918v-44.7A14.214 14.214 0 0 1 105.651 0h44.7a14.214 14.214 0 0 1 14.219 14.221v44.7a14.214 14.214 0 0 1-14.221 14.218Zm-91.43 0h-44.7A14.222 14.222 0 0 1 0 58.918v-44.7A14.222 14.222 0 0 1 14.221 0h44.7a14.214 14.214 0 0 1 14.218 14.221v44.7a14.214 14.214 0 0 1-14.221 14.218Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 915",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},30723:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"settings-icn",children:[(0,a.jsx)("path",{"data-name":"Trazado 341",d:"m247.385 99.227-26.7-3.841a92.362 92.362 0 0 0-4.166-9.853l16.176-21.584a9.834 9.834 0 0 0-.9-12.9l-26.889-27.1a9.825 9.825 0 0 0-12.893-.887l-21.6 16.254a89.085 89.085 0 0 0-9.857-4.134l-3.83-26.7a9.856 9.856 0 0 0-9.852-8.476H108.73a9.843 9.843 0 0 0-9.844 8.476l-3.836 26.7a89.115 89.115 0 0 0-9.859 4.134L63.53 23.06a9.881 9.881 0 0 0-12.936.887l-26.881 26.9a9.832 9.832 0 0 0-.9 12.9l16.27 21.584a87.181 87.181 0 0 0-4.166 9.851l-26.68 3.843a9.85 9.85 0 0 0-8.482 9.854v38.036a9.851 9.851 0 0 0 8.482 9.854l26.68 3.84a85.76 85.76 0 0 0 4.166 9.855l-16.27 21.777a9.848 9.848 0 0 0 .9 12.914l26.881 26.9a9.891 9.891 0 0 0 12.936.879l21.561-16.256a85.986 85.986 0 0 0 9.859 4.136l3.844 26.705a9.843 9.843 0 0 0 9.857 8.475h38.031a9.867 9.867 0 0 0 9.859-8.475l3.842-26.705a90.284 90.284 0 0 0 9.859-4.136l21.568 16.157a9.852 9.852 0 0 0 12.906-.878l26.9-26.9a9.856 9.856 0 0 0 .889-12.915l-16.061-21.485a89.562 89.562 0 0 0 4.131-9.853l26.709-3.842a9.867 9.867 0 0 0 8.475-9.853v-38.133a9.868 9.868 0 0 0-8.374-9.749Zm-11.236 39.413-24.443 3.549a9.888 9.888 0 0 0-8.088 7.1 82.022 82.022 0 0 1-6.875 17.436 9.813 9.813 0 0 0 0 10.549l14.764 19.707-14.764 15.072-19.719-15.072a9.863 9.863 0 0 0-10.461 0 75.566 75.566 0 0 1-17.711 7.291 9.814 9.814 0 0 0-7.105 8.085l-3.549 24.034h-20.895l-3.549-24.436a9.8 9.8 0 0 0-7.092-8.073 76.134 76.134 0 0 1-17.738-7.294 9.831 9.831 0 0 0-10.439.393l-19.711 14.777-15.072-14.777 15.072-19.707a9.844 9.844 0 0 0 0-10.549 82.861 82.861 0 0 1-7.3-17.634 9.841 9.841 0 0 0-8.074-7.095l-24.035-3.55v-20.889l24.443-3.55a9.85 9.85 0 0 0 8.074-7.1 82.89 82.89 0 0 1 6.891-17.635 9.84 9.84 0 0 0 0-10.546l-15.072-19.71 15.072-15.071 19.711 15.071a9.816 9.816 0 0 0 10.439 0 76.209 76.209 0 0 1 17.738-7.291 9.806 9.806 0 0 0 7.092-8.074l3.549-24.044h20.895l3.549 24.435a9.839 9.839 0 0 0 7.105 8.084 75.193 75.193 0 0 1 17.711 7.291 9.866 9.866 0 0 0 10.461-.4l19.719-14.778 15.057 14.778-15.057 19.71a9.822 9.822 0 0 0-.7 10.839 82.237 82.237 0 0 1 7.3 17.644 9.84 9.84 0 0 0 8.074 7.088l24.443 3.547Z"}),(0,a.jsx)("path",{"data-name":"Trazado 342",d:"M127.742 78.73a49.269 49.269 0 0 0-49.258 49.275 49.266 49.266 0 0 0 49.258 49.267 49.271 49.271 0 0 0 49.281-49.267 49.274 49.274 0 0 0-49.281-49.275Zm0 78.836a29.553 29.553 0 0 1-29.547-29.561 29.56 29.56 0 0 1 29.547-29.57 29.555 29.555 0 0 1 29.564 29.57 29.548 29.548 0 0 1-29.564 29.561Z"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 888",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},35994:function(e,t,n){"use strict";n.r(t);var r=n(18489),a=(n(50390),n(62559));t.default=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 860",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"share-icn",children:[(0,a.jsx)("path",{"data-name":"Trazado 410",d:"M251.315 67.671 207.79 25.459c-14.279-13.851-35.342 7.862-21.063 21.716l12.959 12.567a156.689 156.689 0 0 0-82.95 23.182 156.774 156.774 0 0 0-71.051 97.677 15.547 15.547 0 0 0 11.474 18.755 15.62 15.62 0 0 0 3.655.438 15.555 15.555 0 0 0 15.1-11.909c14.6-60.586 70.74-100.461 130.9-96.758l-3.335 4.317-15.767 16.248c-13.849 14.285 7.867 35.345 21.719 21.063l42.214-43.518a15.131 15.131 0 0 0-.33-21.566Z"}),(0,a.jsx)("path",{"data-name":"Trazado 411",d:"M229.501 156.071c-7.927 0-14.351 6.747-14.351 15.066v54.731H28.703V30.133h126.71c7.925 0 14.351-6.744 14.351-15.066S163.337.001 155.413.001h-130.1C11.356.001.002 11.921.002 26.575v202.854c0 14.652 11.354 26.572 25.311 26.572h193.23c13.957 0 25.311-11.92 25.311-26.572v-58.291c-.001-8.32-6.428-15.067-14.353-15.067Z"})]})]})]}))}},89639:function(e,t,n){"use strict";n.d(t,{CR:function(){return x},R7:function(){return p},Qz:function(){return v},sx:function(){return s},ag:function(){return y},an:function(){return f},lx:function(){return d},BN:function(){return c},lj:function(){return h},cg:function(){return i},Ud:function(){return l},_F:function(){return m},uV:function(){return u},ep:function(){return w},aw:function(){return b},ub:function(){return g},v9:function(){return o}});var r=n(18489),a=(n(50390),n(62559)),o=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 9.008 12"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-users-menu",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_991","data-name":"Rect\xe1ngulo 991",width:"9.008",height:"12",fill:"#fff"})})}),(0,a.jsxs)("g",{id:"users-icon",clipPath:"url(#clip-path-users-menu)",children:[(0,a.jsx)("path",{id:"Trazado_7088","data-name":"Trazado 7088",d:"M26.843,6.743a3.4,3.4,0,0,0,3.411-3.372,3.411,3.411,0,0,0-6.822,0,3.4,3.4,0,0,0,3.411,3.372",transform:"translate(-22.334)",fill:"#fff"}),(0,a.jsx)("path",{id:"Trazado_7089","data-name":"Trazado 7089",d:"M8.639,157.056a5.164,5.164,0,0,0-1.957-1.538,5.439,5.439,0,0,0-1.083-.362,5.2,5.2,0,0,0-1.117-.123c-.075,0-.151,0-.225.005H4.231a4.928,4.928,0,0,0-.549.059,5.236,5.236,0,0,0-3.276,1.92c-.029.039-.059.078-.086.116h0a1.723,1.723,0,0,0-.134,1.784,1.581,1.581,0,0,0,.255.356,1.559,1.559,0,0,0,.337.267,1.614,1.614,0,0,0,.4.167,1.743,1.743,0,0,0,.449.058H7.389a1.748,1.748,0,0,0,.452-.058,1.594,1.594,0,0,0,.4-.169,1.525,1.525,0,0,0,.335-.271,1.548,1.548,0,0,0,.251-.361,1.761,1.761,0,0,0-.191-1.85",transform:"translate(0.001 -147.766)",fill:"#fff"})]})]}))},i=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 15 15"},e),{},{children:(0,a.jsxs)("g",{id:"Grupo_2449","data-name":"Grupo 2449",transform:"translate(-140 -181)",children:[(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1589","data-name":"Rect\xe1ngulo 1589",width:"15",height:"15",rx:"2",transform:"translate(140 181)",fill:"#08193a",opacity:"0.601"}),(0,a.jsxs)("g",{id:"OpenListIcon-full",transform:"translate(144 250.612)",children:[(0,a.jsx)("g",{id:"noun_chevron_2320228",transform:"translate(6.827 -63.612) rotate(90)",children:(0,a.jsx)("path",{id:"Trazado_6842","data-name":"Trazado 6842",d:"M.422,6.661a.433.433,0,0,1-.3-.117.37.37,0,0,1,0-.557L2.983,3.335.126.675a.37.37,0,0,1,0-.557.443.443,0,0,1,.6,0L3.889,3.052a.373.373,0,0,1,.126.274.344.344,0,0,1-.126.274L.727,6.533a.443.443,0,0,1-.306.127Z",transform:"translate(0 0)",fill:"#fff"})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_896","data-name":"Rect\xe1ngulo 896",width:"0.462",height:"0.462",transform:"translate(0 -61.808)",fill:"none"})]})]})}))},l=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 15 15"},e),{},{children:[(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1589","data-name":"Rect\xe1ngulo 1589",width:"15",height:"15",rx:"2",fill:"#081836",opacity:"0.601"}),(0,a.jsxs)("g",{id:"OpenListIcon-full",transform:"translate(4 4.984)",children:[(0,a.jsx)("g",{id:"noun_chevron_2320228",transform:"translate(0.167 4.016) rotate(-90)",children:(0,a.jsx)("path",{id:"Trazado_6842","data-name":"Trazado 6842",d:"M.422,0a.433.433,0,0,0-.3.117.37.37,0,0,0,0,.557L2.983,3.325.126,5.986a.37.37,0,0,0,0,.557.443.443,0,0,0,.6,0L3.889,3.609a.373.373,0,0,0,.126-.274.344.344,0,0,0-.126-.274L.727.127A.443.443,0,0,0,.422,0Z",transform:"translate(0 0)",fill:"#8399ab"})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_896","data-name":"Rect\xe1ngulo 896",width:"0.462",height:"0.462",transform:"translate(0 1.75)",fill:"none"})]})]}))},s=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 16 16"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-buckets",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_928","data-name":"Rect\xe1ngulo 928",width:"15.957",height:"15.928",fill:"#8399ab"})})}),(0,a.jsxs)("g",{id:"BucketsIcons-Full",transform:"translate(0.283)",children:[(0,a.jsxs)("g",{id:"BucketsIcon-full",transform:"translate(-0.283)",children:[(0,a.jsx)("rect",{id:"Rect\xe1ngulo_884","data-name":"Rect\xe1ngulo 884",width:"15.939",height:"15.911",transform:"translate(0.061)",fill:"none"}),(0,a.jsx)("g",{id:"Grupo_2272","data-name":"Grupo 2272",transform:"translate(0 0.072)",children:(0,a.jsx)("g",{id:"Grupo_2271","data-name":"Grupo 2271",clipPath:"url(#clip-path-buckets)",children:(0,a.jsx)("path",{id:"Trazado_7002","data-name":"Trazado 7002",d:"M15.619.545A1.341,1.341,0,0,0,14.553,0H1.386A1.34,1.34,0,0,0,.32.545a1.606,1.606,0,0,0-.3,1.242c.325,1.888,1.009,5.869,1.557,9.045v.006c.277,1.616.519,3.023.661,3.84A1.422,1.422,0,0,0,3.6,15.911h8.733A1.423,1.423,0,0,0,13.7,14.679l.659-3.836,0-.023.893-5.2,0-.015.658-3.821a1.6,1.6,0,0,0-.3-1.242M13.187,11.3l-10.426,0-.2-1.189H13.383Zm.89-5.216-12.221,0L1.651,4.9H14.273Z",transform:"translate(0.061 -0.072)",fill:"#8399ab"})})})]}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_929","data-name":"Rect\xe1ngulo 929",width:"15.957",height:"15.928",transform:"translate(-0.283 0.072)",fill:"none"})]})]}))},c=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 17 12.782"},e),{},{children:(0,a.jsx)("path",{id:"Sustracci\xf3n_4","data-name":"Sustracci\xf3n 4",d:"M14.01,11.782H1.99a2,2,0,0,1-1.99-2V2A2,2,0,0,1,1.99,0H14.01A2,2,0,0,1,16,2V9.786A2,2,0,0,1,14.01,11.782ZM2.793,10.4H6.814a1.166,1.166,0,0,0,1.055-.676A1.434,1.434,0,0,0,7.73,8.29,3.755,3.755,0,0,0,5.573,6.862a3.448,3.448,0,0,0-.791-.093c-.056,0-.116,0-.184,0A3.665,3.665,0,0,0,1.879,8.261q-.024.032-.046.065l-.015.023a1.411,1.411,0,0,0-.1,1.388,1.183,1.183,0,0,0,1.06.666ZM9.627,9.093a.627.627,0,1,0,0,1.254H14a.627.627,0,1,0,0-1.254Zm0-2.383a.627.627,0,1,0,0,1.255H14A.627.627,0,1,0,14,6.71ZM4.906.941A2.621,2.621,0,0,0,2.345,3.613,2.622,2.622,0,0,0,4.906,6.286a2.441,2.441,0,0,0,1-.211A2.538,2.538,0,0,0,6.718,5.5a2.677,2.677,0,0,0,.549-.85,2.739,2.739,0,0,0,.2-1.039A2.621,2.621,0,0,0,4.906.941ZM9.627,4.264a.627.627,0,1,0,0,1.254H14a.627.627,0,1,0,0-1.254Z",transform:"translate(0.5 0.5)",fill:"#8399ab",stroke:"rgba(0,0,0,0)",strokeWidth:"1"})}))},u=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 16 16"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-monitoring-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1587","data-name":"Rect\xe1ngulo 1587",width:"16",height:"16",fill:"#8399ab"})})}),(0,a.jsxs)("g",{id:"Grupo_2441","data-name":"Grupo 2441",clipPath:"url(#clip-path-monitoring-icon)",children:[(0,a.jsx)("path",{id:"Trazado_7103","data-name":"Trazado 7103",d:"M15.551,13.464,12.973,10.9a6.932,6.932,0,0,0,.846-1.72H10.813A4.386,4.386,0,0,1,2.646,7.03a4.377,4.377,0,0,1,8.744-.222h2.776A7.086,7.086,0,0,0,0,7.013a7.056,7.056,0,0,0,7.083,7.012H7.1a7.019,7.019,0,0,0,3.73-1.063l2.629,2.6A1.489,1.489,0,0,0,14.5,16h.016a1.487,1.487,0,0,0,1.038-2.536Z",fill:"#8399ab"}),(0,a.jsx)("path",{id:"Trazado_7104","data-name":"Trazado 7104",d:"M164.692,167.057a.271.271,0,0,0-.264-.213h0a.271.271,0,0,0-.264.211l-.218.966-.187-.572a.271.271,0,0,0-.526.051l-.249,2.03-.859-4.085a.271.271,0,0,0-.527-.011l-.765,3a.713.713,0,1,0,.512.183l.489-1.919.955,4.54a.271.271,0,0,0,.265.215h.012a.271.271,0,0,0,.257-.238l.3-2.437.114.351a.271.271,0,0,0,.521-.025l.167-.741.156.71a.271.271,0,0,0,.264.213h6.909a.271.271,0,0,0,0-.542h-6.692Z",transform:"translate(-156.025 -160.967)",fill:"#8399ab"})]})]}))},d=function(e){return(0,a.jsx)("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)("g",{id:"health-icon",transform:"translate(-7440.898 -155.188)",children:(0,a.jsx)("path",{id:"Uni\xf3n_51","data-name":"Uni\xf3n 51",d:"M29.764,256A29.756,29.756,0,0,1,0,226.113V74.364H32.285V223.717H181.242V256Zm189.61-6.664V219.62h29.721v29.716Zm4.342-68.343V32.283H74.76V0H226.227A29.815,29.815,0,0,1,256,29.713v151.28Zm-72.251-.018V151.259h29.8v29.716Zm-76.706,0V151.259h29.8v29.716Zm76.706-76.9V74.364h29.8V104.08Zm-76.649,0V74.364h29.72V104.08ZM6.9,36.867V7.151h29.72V36.867Z",transform:"translate(7440.898 155.188)"})})}))},f=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 12 10.087"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-groups-menu-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_992","data-name":"Rect\xe1ngulo 992",width:"12",height:"10.087",fill:"#fff"})})}),(0,a.jsxs)("g",{id:"Grupo_2367","data-name":"Grupo 2367",clipPath:"url(#clip-path-groups-menu-icon)",children:[(0,a.jsx)("path",{id:"Trazado_7090","data-name":"Trazado 7090",d:"M204.925,3.5a2.963,2.963,0,0,1-.177,1.011c.042,0,.084,0,.127,0a2.274,2.274,0,0,0,2.284-2.258,2.288,2.288,0,0,0-4-1.486A3.005,3.005,0,0,1,204.925,3.5",transform:"translate(-195.887 0)",fill:"#fff"}),(0,a.jsx)("path",{id:"Trazado_7091","data-name":"Trazado 7091",d:"M207.3,137.346a3.458,3.458,0,0,0-1.31-1.03,3.642,3.642,0,0,0-.725-.242,3.479,3.479,0,0,0-.748-.082c-.05,0-.1,0-.151,0h-.017l-.1.007a3.039,3.039,0,0,1-1.442,1.357,4.587,4.587,0,0,1,.583.219,4.389,4.389,0,0,1,1.656,1.3,1.775,1.775,0,0,1,.177.28h1.242a1.169,1.169,0,0,0,.3-.039,1.066,1.066,0,0,0,.27-.113,1.02,1.02,0,0,0,.225-.181,1.036,1.036,0,0,0,.168-.242,1.179,1.179,0,0,0-.128-1.239",transform:"translate(-195.543 -131.125)",fill:"#fff"}),(0,a.jsx)("path",{id:"Trazado_7092","data-name":"Trazado 7092",d:"M22.838,4.516c.043,0,.086,0,.129,0A2.962,2.962,0,0,1,22.789,3.5,3.005,3.005,0,0,1,24.556.773a2.288,2.288,0,0,0-4,1.485,2.274,2.274,0,0,0,2.284,2.258",transform:"translate(-19.819 -0.001)",fill:"#fff"}),(0,a.jsx)("path",{id:"Trazado_7093","data-name":"Trazado 7093",d:"M3.757,137.784a4.577,4.577,0,0,1,.986-.428,3.039,3.039,0,0,1-1.431-1.35c-.1-.009-.206-.014-.31-.014-.05,0-.1,0-.151,0H2.834a3.293,3.293,0,0,0-.367.039,3.506,3.506,0,0,0-2.194,1.286l-.057.077h0a1.154,1.154,0,0,0-.089,1.194,1.058,1.058,0,0,0,.171.239,1.042,1.042,0,0,0,.226.179,1.079,1.079,0,0,0,.269.112,1.169,1.169,0,0,0,.3.039H2.331a1.764,1.764,0,0,1,.126-.2v0l0,0,.071-.1a4.235,4.235,0,0,1,1.225-1.071",transform:"translate(-0.001 -131.126)",fill:"#fff"}),(0,a.jsx)("path",{id:"Trazado_7094","data-name":"Trazado 7094",d:"M95.021,28.466a2.6,2.6,0,1,0,2.6-2.574,2.592,2.592,0,0,0-2.6,2.574",transform:"translate(-91.621 -24.965)",fill:"#fff"}),(0,a.jsx)("path",{id:"Trazado_7095","data-name":"Trazado 7095",d:"M76.691,181.3a4.152,4.152,0,0,0-.827-.276,3.966,3.966,0,0,0-.853-.094c-.057,0-.115,0-.172,0h-.02a3.753,3.753,0,0,0-.419.045,4,4,0,0,0-2.5,1.466l-.065.088h0a1.315,1.315,0,0,0-.1,1.362,1.208,1.208,0,0,0,.195.272,1.189,1.189,0,0,0,.257.2,1.233,1.233,0,0,0,.307.127,1.333,1.333,0,0,0,.342.044h4.4a1.331,1.331,0,0,0,.345-.045,1.216,1.216,0,0,0,.307-.129,1.164,1.164,0,0,0,.256-.207,1.183,1.183,0,0,0,.191-.276,1.344,1.344,0,0,0-.146-1.412,3.943,3.943,0,0,0-1.494-1.174",transform:"translate(-69.028 -174.452)",fill:"#fff"})]})]}))},p=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"account",children:[(0,a.jsx)("path",{"data-name":"Trazado 463",d:"M32.291 232.53a32.336 32.336 0 0 1-32.289-32.3V76.935a32.33 32.33 0 0 1 32.289-32.3 8.837 8.837 0 0 1 8.832 8.822 8.845 8.845 0 0 1-8.832 8.831 14.663 14.663 0 0 0-14.648 14.648v123.295a14.661 14.661 0 0 0 14.648 14.64h191.4a14.66 14.66 0 0 0 14.641-14.64V76.936a14.661 14.661 0 0 0-14.641-14.648h-54.07a8.845 8.845 0 0 1-8.832-8.831 8.762 8.762 0 0 1 2.586-6.236 8.735 8.735 0 0 1 6.246-2.586h54.07a32.345 32.345 0 0 1 32.313 32.3V200.23a32.351 32.351 0 0 1-32.312 32.3Zm140.445-33.006a3.078 3.078 0 0 1-3.082-3.07V179.02a3.08 3.08 0 0 1 3.082-3.08h47.18a3.077 3.077 0 0 1 3.07 3.08v17.434a3.075 3.075 0 0 1-3.07 3.07Zm-113.141 0a22.643 22.643 0 0 1-20.648-12.767 26.835 26.835 0 0 1 1.891-26.579l.02-.019c.094-.143.2-.285.3-.428.273-.409.559-.827.871-1.245a70.651 70.651 0 0 1 52.277-28.5 62.967 62.967 0 0 1 3.543-.095 67.043 67.043 0 0 1 15.211 1.777 71.594 71.594 0 0 1 14.734 5.219 71.248 71.248 0 0 1 26.73 22.149 27.371 27.371 0 0 1 2.672 27.53 22.363 22.363 0 0 1-20.629 12.956Zm-3.719-30.372v.01l-.047.058c-.191.256-.371.5-.531.741v.028l-.258.371a8.365 8.365 0 0 0-.715 8.261 5.526 5.526 0 0 0 5.27 3.1h76.969a6.062 6.062 0 0 0 3.156-.761 4.988 4.988 0 0 0 1.949-2.243 8.485 8.485 0 0 0 .715-4.524 9.18 9.18 0 0 0-1.7-4.468 54.088 54.088 0 0 0-42.969-22.007c-.93 0-1.75.019-2.508.066h-.012a53.055 53.055 0 0 0-39.318 21.368Zm116.859-5.01a3.08 3.08 0 0 1-3.082-3.079v-17.425a3.08 3.08 0 0 1 3.082-3.08h47.18a3.077 3.077 0 0 1 3.07 3.08v17.425a3.077 3.077 0 0 1-3.07 3.079Zm-.59-38.7a2.5 2.5 0 0 1-2.492-2.5V82.066a2.5 2.5 0 0 1 2.492-2.5h48.348a2.5 2.5 0 0 1 2.492 2.5v40.876a2.5 2.5 0 0 1-2.492 2.5ZM50.981 74.213c0-28.233 22.09-51.209 49.242-51.209s49.258 22.976 49.258 51.209a52.579 52.579 0 0 1-3.867 19.906 51.257 51.257 0 0 1-10.551 16.274 49.07 49.07 0 0 1-15.656 11 47.257 47.257 0 0 1-19.184 4.041c-27.151 0-49.241-22.976-49.241-51.22Zm17.977 0c0 18.033 14.031 32.711 31.266 32.711 17.262 0 31.3-14.678 31.3-32.711s-14.039-32.7-31.3-32.7c-17.234 0-31.265 14.668-31.265 32.701Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 883",fill:"none",d:"M0 0h256v256H0z"})]})]})]}))},h=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 12 12"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-logs-menu",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_982","data-name":"Rect\xe1ngulo 982",width:"12",height:"12",transform:"translate(0 0)",fill:"#fff"})})}),(0,a.jsx)("g",{id:"logs-icon",transform:"translate(-0.245 0.078)",children:(0,a.jsxs)("g",{id:"Grupo_2346","data-name":"Grupo 2346",transform:"translate(0.245 -0.078)",clipPath:"url(#clip-path-logs-menu)",children:[(0,a.jsx)("path",{id:"Trazado_7070","data-name":"Trazado 7070",d:"M.1,86.274v7.138a.806.806,0,0,0,.805.8H11.273a.806.806,0,0,0,.805-.8V86.274Zm4.482,1.274v.764a.324.324,0,0,1-.318.331H1.358a.325.325,0,0,1-.319-.331v-.764a.325.325,0,0,1,.319-.33H4.264a.324.324,0,0,1,.318.33Z",transform:"translate(-0.135 -82.221)",fill:"#fff"}),(0,a.jsx)("path",{id:"Trazado_7071","data-name":"Trazado 7071",d:"M11.273.1H.905A.806.806,0,0,0,.1.906v2.34H12.078V.906A.806.806,0,0,0,11.273.1",transform:"translate(-0.135 -0.084)",fill:"#fff"})]})})]}))},m=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 12 12"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-metrics-menu-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_946","data-name":"Rect\xe1ngulo 946",width:"12",height:"12",transform:"translate(0 0)",fill:"#fff"})})}),(0,a.jsx)("g",{id:"DashboardIcon-Full",transform:"translate(0.037 0.021)",children:(0,a.jsx)("g",{id:"Grupo_2300","data-name":"Grupo 2300",transform:"translate(-0.037 -0.021)",clipPath:"url(#clip-path-metrics-menu-icon)",children:(0,a.jsx)("path",{id:"Trazado_7036","data-name":"Trazado 7036",d:"M11.722.239A.805.805,0,0,0,11.15,0H.809A.811.811,0,0,0,0,.81V11.151a.811.811,0,0,0,.809.809H11.15a.811.811,0,0,0,.809-.809V.811a.805.805,0,0,0-.237-.572M1.935,2.544a.724.724,0,0,1,.724-.724H4.94a.724.724,0,0,1,.724.724V3.613a.724.724,0,0,1-.724.724H2.659a.724.724,0,0,1-.724-.724Zm3.73,6.932a.7.7,0,0,1-.724.664H2.659a.7.7,0,0,1-.724-.664V6.01a.7.7,0,0,1,.724-.664H4.94a.7.7,0,0,1,.724.664Zm4.627-.059a.724.724,0,0,1-.724.724H7.286a.724.724,0,0,1-.724-.724V8.349a.724.724,0,0,1,.724-.724H9.568a.724.724,0,0,1,.724.724Zm0-3.466a.7.7,0,0,1-.724.664H7.286a.7.7,0,0,1-.724-.664V2.484a.7.7,0,0,1,.724-.664H9.567a.7.7,0,0,1,.724.664Z",transform:"translate(0.006 0.002)",fill:"#fff"})})})]}))},v=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 14.117 13"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-audit-log-menu-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1591","data-name":"Rect\xe1ngulo 1591",width:"14.117",height:"13",fill:"#fff"})})}),(0,a.jsxs)("g",{id:"Grupo_2463","data-name":"Grupo 2463",clipPath:"url(#clip-path-audit-log-menu-icon)",children:[(0,a.jsx)("path",{id:"Trazado_7111","data-name":"Trazado 7111",d:"M10.518,108.483a5.376,5.376,0,0,1-2.413.561H8.093a5.47,5.47,0,0,1-4.394-2.2H1.142a.3.3,0,0,1-.29-.3h0v-.694a.3.3,0,0,1,.29-.3H2.987a5.318,5.318,0,0,1-.248-.857H0v6.482a.732.732,0,0,0,.731.726h9.415a.732.732,0,0,0,.731-.726v-2.333Z",transform:"translate(0 -98.898)",fill:"#fff"}),(0,a.jsx)("path",{id:"Trazado_7112","data-name":"Trazado 7112",d:"M2.636,41.038a5.331,5.331,0,0,1,.683-2.616H.731A.732.732,0,0,0,0,39.154v2.125H2.641c0-.08-.006-.16-.006-.241",transform:"translate(0 -36.296)",fill:"#fff"}),(0,a.jsx)("path",{id:"Trazado_7114","data-name":"Trazado 7114",d:"M70.167,9.1h0L68.422,7.37a4.685,4.685,0,0,0,.809-2.629,4.795,4.795,0,0,0-9.589,0,4.773,4.773,0,0,0,4.793,4.741h.014a4.754,4.754,0,0,0,2.524-.719l1.779,1.757a1.008,1.008,0,0,0,.7.3h.011a1.005,1.005,0,0,0,.7-1.714M64.394,7.53a2.8,2.8,0,0,1-2.819-2.777,2.819,2.819,0,0,1,5.637,0A2.8,2.8,0,0,1,64.394,7.53",transform:"translate(-56.343)",fill:"#fff"})]})]}))},g=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 12 12"},e),{},{children:(0,a.jsxs)("g",{id:"trace-icon",transform:"translate(0 0)",children:[(0,a.jsx)("path",{id:"trace-icn",d:"M-4327.66-381.522l2.667,2.932v5.186a.377.377,0,0,1-.383.368h-.566a.379.379,0,0,1-.384-.368v-4.614l-2.666-3.135v-3.477a.376.376,0,0,1,.382-.368h.567a.376.376,0,0,1,.383.368Zm2.667-3.109a.377.377,0,0,0-.383-.368h-.566a.378.378,0,0,0-.384.368v3.332l2.668,3.135v4.758a.377.377,0,0,0,.383.368h.567a.377.377,0,0,0,.382-.368v-5.33l-2.667-2.931Zm2.284-.368h-.567a.377.377,0,0,0-.383.368v1.827a.377.377,0,0,0,.383.368h.567a.377.377,0,0,0,.382-.368v-1.827A.377.377,0,0,0-4322.709-385Zm2.1,5.554h.568a.377.377,0,0,0,.383-.368v-4.817a.377.377,0,0,0-.383-.368h-.568a.377.377,0,0,0-.383.368v4.817A.377.377,0,0,0-4320.61-379.445Zm3.233-5.554h-.567a.377.377,0,0,0-.383.368v1.827a.377.377,0,0,0,.383.368h.567a.377.377,0,0,0,.384-.368v-1.827A.377.377,0,0,0-4317.376-385Zm0,8.117h-.567a.377.377,0,0,0-.383.368v3.108a.377.377,0,0,0,.383.368h.567a.377.377,0,0,0,.384-.368v-3.108A.377.377,0,0,0-4317.376-376.882Zm0-3.845h-.567a.377.377,0,0,0-.383.368v.828l-2.667,2.648v3.477a.377.377,0,0,0,.383.368h.568a.377.377,0,0,0,.383-.368v-2.622l2.667-3.135v-1.2A.377.377,0,0,0-4317.376-380.727Zm-10.667,2.136h-.567a.376.376,0,0,0-.382.368v4.817a.376.376,0,0,0,.382.368h.567a.376.376,0,0,0,.383-.368v-4.817A.376.376,0,0,0-4328.043-378.591Z",transform:"translate(4328.993 384.999)",fill:"#fff"}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_880","data-name":"Rect\xe1ngulo 880",width:"11.078",height:"11.844",transform:"translate(0.472 0.156)",fill:"none"})]})}))},y=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 12 12"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-drives-menu-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_989","data-name":"Rect\xe1ngulo 989",width:"12",height:"12",fill:"#fff"})})}),(0,a.jsxs)("g",{id:"Grupo_2361","data-name":"Grupo 2361",clipPath:"url(#clip-path-drives-menu-icon)",children:[(0,a.jsx)("path",{id:"Trazado_7083","data-name":"Trazado 7083",d:"M6,2.839H6c3.882,0,6-.938,6-1.42S9.882,0,6,0,0,.938,0,1.42s2.118,1.42,6,1.42",transform:"translate(0)",fill:"#fff"}),(0,a.jsx)("path",{id:"Trazado_7084","data-name":"Trazado 7084",d:"M6,135.08a15.409,15.409,0,0,1-6-1v3.228c0,.482,2.118,1.42,6,1.42s6-.93,6-1.42v-3.233a15.245,15.245,0,0,1-6,1m-3.939,2.063a.915.915,0,0,1-1.234-.281.849.849,0,0,1,.291-1.192.915.915,0,0,1,1.234.281.849.849,0,0,1-.291,1.192",transform:"translate(0 -126.731)",fill:"#fff"}),(0,a.jsx)("path",{id:"Trazado_7085","data-name":"Trazado 7085",d:"M6,53.034a15.306,15.306,0,0,1-6-1V55.1c0,.482,2.118,1.42,6,1.42s6-.938,6-1.42V52.032a15.244,15.244,0,0,1-6,1M2.061,55.19a.915.915,0,0,1-1.234-.281.849.849,0,0,1,.291-1.192A.915.915,0,0,1,2.353,54a.849.849,0,0,1-.291,1.192",transform:"translate(0 -49.181)",fill:"#fff"})]})]}))},x=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 11.749 16"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-access-menu-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1586","data-name":"Rect\xe1ngulo 1586",width:"11.749",height:"16",fill:"#8399ab"})})}),(0,a.jsx)("g",{id:"Grupo_2439","data-name":"Grupo 2439",clipPath:"url(#clip-path-access-menu-icon)",children:(0,a.jsx)("path",{id:"Trazado_7102","data-name":"Trazado 7102",d:"M11.018,3.348h-2.1c.009-.1.014-.194.014-.293a3.057,3.057,0,0,0-6.113,0c0,.1.005.2.015.3H.744A1.019,1.019,0,0,0,0,4.343v5.913A2.814,2.814,0,0,0,.4,11.7c1,1.676,2.625,2.648,4.955,4.143A.965.965,0,0,0,5.88,16h0a.956.956,0,0,0,.5-.145c2.264-1.4,3.8-2.315,4.984-4.234a2.665,2.665,0,0,0,.381-1.4V4.337a1.024,1.024,0,0,0-.731-.989M5.875,1.05a2,2,0,0,1,1.983,2.3l-3.966,0a2,2,0,0,1,1.983-2.3m0,4.073a2.189,2.189,0,1,1,0,4.377h0a2.189,2.189,0,1,1,0-4.377m2.786,7.212a1,1,0,0,1-.162.233.984.984,0,0,1-.216.175,1.028,1.028,0,0,1-.26.109,1.127,1.127,0,0,1-.29.038H4.023a1.123,1.123,0,0,1-.29-.037,1.04,1.04,0,0,1-.259-.108,1,1,0,0,1-.218-.172,1.019,1.019,0,0,1-.164-.23,1.112,1.112,0,0,1,.086-1.15c.017-.026.036-.05.055-.074A3.376,3.376,0,0,1,5.346,9.88,3.182,3.182,0,0,1,5.7,9.841h.017c.048,0,.1,0,.145,0a3.348,3.348,0,0,1,.72.079,3.506,3.506,0,0,1,.7.234,3.33,3.33,0,0,1,1.262.992h0a1.136,1.136,0,0,1,.123,1.193",transform:"translate(0 0.001)",fill:"#8399ab"})})]}))},b=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 13.264 16"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-support-menu-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1590","data-name":"Rect\xe1ngulo 1590",width:"13.264",height:"16",fill:"#8399ab"})})}),(0,a.jsxs)("g",{id:"Grupo_2451","data-name":"Grupo 2451",clipPath:"url(#clip-path-support-menu-icon)",children:[(0,a.jsx)("path",{id:"Trazado_7107","data-name":"Trazado 7107",d:"M141.4,175.257a1.765,1.765,0,1,0,1.765-1.763,1.758,1.758,0,0,0-1.765,1.763",transform:"translate(-136.66 -167.676)",fill:"#8399ab"}),(0,a.jsx)("path",{id:"Trazado_7108","data-name":"Trazado 7108",d:"M13.256,11.233l-.791-3.756.064-1.906a.373.373,0,0,0,0-.052A6.285,6.285,0,0,0,9.25.642h0L9.185.608c-.153-.08-.31-.155-.471-.223a.375.375,0,0,0-.13-.031A7.2,7.2,0,0,0,7.731.106v5.28a2.51,2.51,0,0,1,.343,4.16l.876,1.516a.376.376,0,0,1-.275.564.373.373,0,0,1-.147-.01.376.376,0,0,1-.228-.178L7.424,9.923A2.514,2.514,0,0,1,5.282,5.385V0a6.15,6.15,0,0,0-1.141.28A.377.377,0,0,0,4.065.3q-.231.087-.453.192A6.281,6.281,0,0,0,1.869,10.647l-.5,3.2a.376.376,0,0,0,.152.363.379.379,0,0,0,.124.058l6.6,1.722a.376.376,0,0,0,.467-.315l.283-2.165,1.738.4a.376.376,0,0,0,.454-.306l.313-1.912h1.39a.376.376,0,0,0,.368-.453",transform:"translate(0 0.001)",fill:"#8399ab"})]})]}))},w=(n(9227),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 12 12"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-performance-menu-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_985","data-name":"Rect\xe1ngulo 985",width:"12",height:"12",fill:"#fff"})})}),(0,a.jsxs)("g",{id:"Grupo_2352","data-name":"Grupo 2352",clipPath:"url(#clip-path-performance-menu-icon)",children:[(0,a.jsx)("path",{id:"Trazado_7077","data-name":"Trazado 7077",d:"M120.417,129.741a.387.387,0,1,0,.387.387h0a.387.387,0,0,0-.387-.387",transform:"translate(-114.404 -123.659)",fill:"#fff"}),(0,a.jsx)("path",{id:"Trazado_7078","data-name":"Trazado 7078",d:"M6,0a6,6,0,1,0,6,6A6,6,0,0,0,6,0M5.974,1.662h.02a.366.366,0,1,1-.006.733H5.974a.366.366,0,0,1,0-.733m-4.1,4.026v0a.139.139,0,0,1-.139.12H1.717a.139.139,0,0,1-.12-.156v0h0a.139.139,0,0,1,.156-.119h0a.139.139,0,0,1,.118.157M2.2,4.447h0a.2.2,0,0,1-.179-.3v0h0a.2.2,0,1,1,.178.3M3.323,3.238l-.015.013,0,0a.249.249,0,0,1-.165.064v0a.25.25,0,0,1-.164-.438l0,0h0l0,0a.25.25,0,0,1,.341.366M4.555,2.6l0,0-.008,0a.329.329,0,0,1-.119.025v0a.331.331,0,0,1-.117-.642l.01,0h0a.331.331,0,1,1,.238.619m2.1,6.622h0a.176.176,0,0,1-.176.176H5.531a.176.176,0,1,1,0-.353h.952a.177.177,0,0,1,.178.175Zm.781-3.493-.652.556a.016.016,0,0,0,0,.015.8.8,0,1,1-.489-.57.016.016,0,0,0,.016,0l.649-.556h0a.366.366,0,0,1,.476.556m-.05-3.025v0a.4.4,0,0,1-.143-.026l-.012,0a.406.406,0,1,1,.284-.76l.014.005a.408.408,0,0,1-.143.789m1.292.827a.46.46,0,0,1-.3-.114L8.37,3.41a.46.46,0,0,1,.6-.694l.013.011a.46.46,0,0,1-.3.806m.47.964-.009-.016a.529.529,0,1,1,.916-.529l.013.023.009.017h0a.529.529,0,0,1-.213.717h0A.529.529,0,0,1,9.154,4.5m1.014,1.772a.6.6,0,0,1-.675-.512v-.02a.6.6,0,0,1,.592-.679.6.6,0,0,1,.591.516l0,.023a.6.6,0,0,1-.512.672",fill:"#fff"})]})]}))})},9227:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.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 12 12"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-reg-menu-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1593","data-name":"Rect\xe1ngulo 1593",width:"12",height:"12",fill:"#fff"})})}),(0,a.jsx)("g",{id:"Grupo_2469","data-name":"Grupo 2469",clipPath:"url(#clip-path-reg-menu-icon)",children:(0,a.jsx)("path",{id:"Trazado_7117","data-name":"Trazado 7117",d:"M11.4,7.564a1.848,1.848,0,0,0,.6-1.17,1.848,1.848,0,0,0-.6-1.17,1.866,1.866,0,0,1-.377-.532,2.022,2.022,0,0,1,0-.693,1.858,1.858,0,0,0-.17-1.282,1.7,1.7,0,0,0-1.126-.567A1.8,1.8,0,0,1,9.1,1.94a1.924,1.924,0,0,1-.374-.546A1.775,1.775,0,0,0,7.854.442,1.649,1.649,0,0,0,6.646.671,1.833,1.833,0,0,1,6,.89,1.833,1.833,0,0,1,5.354.671,1.649,1.649,0,0,0,4.146.442a1.78,1.78,0,0,0-.872.952,1.926,1.926,0,0,1-.377.549,1.806,1.806,0,0,1-.625.209,1.7,1.7,0,0,0-1.126.567A1.865,1.865,0,0,0,.977,3.994a2.053,2.053,0,0,1,0,.693A1.915,1.915,0,0,1,.6,5.223,1.844,1.844,0,0,0,0,6.394a1.843,1.843,0,0,0,.6,1.17,1.932,1.932,0,0,1,.377.53,2.061,2.061,0,0,1,0,.694,1.865,1.865,0,0,0,.169,1.282,1.7,1.7,0,0,0,1.126.567,1.806,1.806,0,0,1,.625.209,1.925,1.925,0,0,1,.377.548,1.775,1.775,0,0,0,.872.948,1.649,1.649,0,0,0,1.208-.228A1.831,1.831,0,0,1,6,11.894a1.832,1.832,0,0,1,.646.219,2.244,2.244,0,0,0,.908.281.929.929,0,0,0,.3-.049,1.773,1.773,0,0,0,.872-.951,1.934,1.934,0,0,1,.377-.548,1.8,1.8,0,0,1,.625-.209,1.7,1.7,0,0,0,1.126-.567,1.853,1.853,0,0,0,.169-1.284,2.051,2.051,0,0,1,0-.693,1.881,1.881,0,0,1,.377-.529M5.367,8.69,3.051,6.269l.821-.855L5.367,6.973,8.128,4.1l.821.858Z",transform:"translate(0 -0.394)",fill:"#fff"})})]}))}},22598:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 849",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"sync-icn",d:"M37.848 131.79c0-.057.006-.114.006-.166l-5.4 6.524-9.992 11.438c-11.006 12.6-30.166-4.136-19.16-16.739l33.545-38.416a12.732 12.732 0 0 1 18.1-1.222l38.41 33.549c12.6 11.006-4.133 30.171-16.74 19.165l-14.342-12.527-2.316-2.123c0 .175.023.346.023.517a73.159 73.159 0 0 0 73.078 73.078 73.28 73.28 0 0 0 59.584-30.763 11.067 11.067 0 0 1 15.432-2.6 11.062 11.062 0 0 1 2.6 15.432 95.45 95.45 0 0 1-77.611 40.059 95.316 95.316 0 0 1-95.217-95.206Zm163.207 21.989-38.4-33.549c-12.6-11.011 4.131-30.176 16.738-19.17l14.338 12.532 2.32 2.118c0-.171-.023-.336-.023-.512A73.159 73.159 0 0 0 122.95 42.12a73.289 73.289 0 0 0-59.588 30.759 11.068 11.068 0 0 1-15.432 2.6 11.071 11.071 0 0 1-2.6-15.431 95.439 95.439 0 0 1 77.615-40.06 95.317 95.317 0 0 1 95.209 95.209c0 .057-.01.109-.01.166l5.4-6.529 9.992-11.433c11.006-12.6 30.17 4.136 19.16 16.739l-33.545 38.415a12.894 12.894 0 0 1-9.689 4.43 12.7 12.7 0 0 1-8.407-3.205Z",stroke:"rgba(0,0,0,0)",strokeMiterlimit:10})]})]}))}},10542:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 394",d:"M222.617 88.875a26.012 26.012 0 0 0-23.281 14.452l-44.307-6.454a74.856 74.856 0 0 0 2.892-20.607A74.732 74.732 0 0 0 83.285 1.439 74.732 74.732 0 0 0 8.643 76.266a74.763 74.763 0 0 0 65.415 74.236l-1.38 25.452c-.127-.006-.249-.019-.371-.019a18.44 18.44 0 0 0-18.42 18.46 18.441 18.441 0 0 0 18.42 18.466 18.443 18.443 0 0 0 18.42-18.466 18.459 18.459 0 0 0-7.851-15.108l1.535-28.223a74.164 74.164 0 0 0 32.006-7.749l39.5 51.413a36.849 36.849 0 0 0-10.488 25.784 36.884 36.884 0 0 0 36.84 36.927 36.88 36.88 0 0 0 36.834-36.927 36.881 36.881 0 0 0-36.834-36.931 36.539 36.539 0 0 0-18.137 4.811l-38.7-50.376a75.035 75.035 0 0 0 25.967-31.174l45.242 6.59c-.029.519-.078 1.032-.078 1.556a26.082 26.082 0 0 0 26.051 26.112 26.082 26.082 0 0 0 26.05-26.112 26.082 26.082 0 0 0-26.047-26.113Z"}),(0,a.jsx)("path",{"data-name":"Trazado 395",d:"M181.396 256a38.679 38.679 0 0 1-38.636-38.643 38.393 38.393 0 0 1 9.576-25.436l-36.435-47.307a74.862 74.862 0 0 1-28.494 6.932l-1.318 24.217a20.571 20.571 0 0 1 7.657 15.975 20.545 20.545 0 0 1-20.52 20.514 20.54 20.54 0 0 1-20.518-20.514 20.549 20.549 0 0 1 18.6-20.432l1.125-20.571A75.865 75.865 0 0 1 8.2 75.818 75.907 75.907 0 0 1 84.02-.005a75.908 75.908 0 0 1 75.822 75.823 75.76 75.76 0 0 1-2.229 18.236l39.257 5.7a27.844 27.844 0 0 1 24.216-13.965 28.051 28.051 0 0 1 28.018 28.022 28.051 28.051 0 0 1-28.018 28.022 28.052 28.052 0 0 1-28.02-27.48l-40.61-5.9a76.059 76.059 0 0 1-23.551 28.463l35.308 45.854a38.644 38.644 0 0 1 17.18-4.049 38.678 38.678 0 0 1 38.633 38.634A38.678 38.678 0 0 1 181.396 256Zm-64.078-117.413 41.329 53.665-1.453 1.492a33.619 33.619 0 0 0-9.635 23.618 33.876 33.876 0 0 0 33.837 33.84 33.875 33.875 0 0 0 33.835-33.84 33.874 33.874 0 0 0-33.835-33.837 33.822 33.822 0 0 0-16.657 4.409l-1.814 1.027-40.89-53.094 2.092-1.434a71.22 71.22 0 0 0 24.718-29.586l.739-1.65 48.482 7.038-.133 2.2c-.049.739-.073 1.055-.073 1.381a23.253 23.253 0 0 0 23.227 23.225 23.249 23.249 0 0 0 23.222-23.225 23.246 23.246 0 0 0-23.222-23.224 23.1 23.1 0 0 0-20.759 12.852l-.776 1.549-48.012-6.975.759-2.639a71.253 71.253 0 0 0 2.749-19.559A71.1 71.1 0 0 0 84.022 4.794 71.1 71.1 0 0 0 12.999 75.82a71.061 71.061 0 0 0 62.243 70.465l2.225.273-1.608 29.524-2.318-.043h-.037a15.779 15.779 0 0 0-16 15.7 15.739 15.739 0 0 0 15.721 15.717 15.741 15.741 0 0 0 15.722-15.717 15.763 15.763 0 0 0-6.7-12.866l-1.09-.763 1.7-31.26 2.235-.033a70.305 70.305 0 0 0 30.455-7.355Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 868",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},61846:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"Grupo 1557",children:[(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 826",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 10",d:"M71.113 256a37.94 37.94 0 01-37.889-37.9V60.906a15.426 15.426 0 01-14.227-15.353V29.621a15.423 15.423 0 0115.4-15.4h41.541A15.378 15.378 0 0191.258.003h72.871a15.393 15.393 0 0115.334 14.218h41.531a15.423 15.423 0 0115.4 15.4v15.932a15.426 15.426 0 01-14.227 15.353V218.1a37.942 37.942 0 01-37.9 37.9zm-19.605-37.9a19.634 19.634 0 0019.605 19.614h113.164A19.637 19.637 0 00203.89 218.1V60.951H51.507zM218.117 38.6v-6.1h-56.893V18.278H94.177V32.5H37.286v6.1z"})]})]})]}))}},47424:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.Z=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({id:"WarnIcon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256"},e),{},{className:"min-icon",fill:"currentcolor",children:[(0,a.jsx)("g",{id:"download-icn",transform:"translate(0 0.087)",children:(0,a.jsx)("path",{id:"Uni\xf3n_24","data-name":"Uni\xf3n 24",d:"M19388-6740.606a107.642,107.642,0,0,0-107.52,107.52,107.642,107.642,0,0,0,107.52,107.52,107.642,107.642,0,0,0,107.52-107.52,107.642,107.642,0,0,0-107.52-107.52m0-20.48a128,128,0,0,1,128,128,128,128,0,0,1-128,128,128,128,0,0,1-128-128A128,128,0,0,1,19388-6761.087Z",transform:"translate(-19260 6761)"})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_893","data-name":"Rect\xe1ngulo 893",width:"256",height:"256",fill:"none"}),(0,a.jsx)("path",{id:"Trazado_7001","data-name":"Trazado 7001",d:"M43.3-140H12.1l3.6,91.9h24ZM27.8-35.5c-10.2,0-19.1,8.7-19.1,18.9A19.565,19.565,0,0,0,27.8,2.5c10.1,0,18.9-8.9,18.9-19.1A19.282,19.282,0,0,0,27.8-35.5Z",transform:"translate(101 201)"})]}))}},88538:function(e,t,n){"use strict";var r=n(18489),a=(n(50390),n(62559));t.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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"watch-icn",transform:"translate(4333.082 464.859)",children:[(0,a.jsxs)("g",{"data-name":"Grupo 1495",children:[(0,a.jsx)("path",{"data-name":"Trazado 345",d:"M-4237.731-461.928h-70.438a21.991 21.991 0 0 0-21.981 21.98v72.661a5.084 5.084 0 0 0 5.083 5.084h7.4a5.09 5.09 0 0 0 5.1-5.084v-57.382a19.671 19.671 0 0 1 19.665-19.672h55.169a5.081 5.081 0 0 0 5.076-5.084v-7.416a5.081 5.081 0 0 0-5.074-5.087Z"}),(0,a.jsx)("path",{"data-name":"Trazado 345 - Contorno",d:"M-4308.169-464.859h70.439a8.021 8.021 0 0 1 8.008 8.015v7.416a8.021 8.021 0 0 1-8.008 8.015h-55.17a16.756 16.756 0 0 0-16.733 16.74v57.386a8.032 8.032 0 0 1-8.03 8.015h-7.4a8.023 8.023 0 0 1-8.014-8.015v-72.661a24.94 24.94 0 0 1 24.908-24.911Zm70.439 17.583a2.151 2.151 0 0 0 2.145-2.152v-7.416a2.151 2.151 0 0 0-2.145-2.156h-70.439a19.071 19.071 0 0 0-19.05 19.049v72.661a2.154 2.154 0 0 0 2.151 2.153h7.4a2.163 2.163 0 0 0 2.168-2.153v-57.386a22.625 22.625 0 0 1 22.6-22.6Z"}),(0,a.jsx)("path",{"data-name":"Trazado 346",d:"M-4101.983-461.928h-77.172a5.088 5.088 0 0 0-5.09 5.084v7.416a5.088 5.088 0 0 0 5.09 5.084h61.9a19.677 19.677 0 0 1 19.674 19.672v57.386a5.085 5.085 0 0 0 5.089 5.084h7.4a5.076 5.076 0 0 0 5.074-5.084v-72.661a21.977 21.977 0 0 0-21.965-21.981Z"}),(0,a.jsx)("path",{"data-name":"Trazado 346 - Contorno",d:"M-4179.155-464.859h77.172a24.935 24.935 0 0 1 24.9 24.911v72.661a8.02 8.02 0 0 1-8.006 8.015h-7.4a8.028 8.028 0 0 1-8.021-8.015v-57.386a16.761 16.761 0 0 0-16.743-16.74h-61.9a8.027 8.027 0 0 1-8.021-8.015v-7.416a8.027 8.027 0 0 1 8.019-8.015Zm94.067 99.725a2.15 2.15 0 0 0 2.143-2.153v-72.661A19.066 19.066 0 0 0-4101.983-459h-77.172a2.158 2.158 0 0 0-2.158 2.153v7.416a2.158 2.158 0 0 0 2.158 2.152h61.9a22.63 22.63 0 0 1 22.605 22.6v57.386a2.158 2.158 0 0 0 2.158 2.153Z"}),(0,a.jsx)("path",{"data-name":"Trazado 347",d:"M-4085.088-313.79h-7.4a5.085 5.085 0 0 0-5.089 5.084v59.661a19.685 19.685 0 0 1-19.674 19.68h-61.9a5.086 5.086 0 0 0-5.094 5.075v7.424a5.085 5.085 0 0 0 5.09 5.075h77.172a21.972 21.972 0 0 0 21.97-21.98v-74.935a5.075 5.075 0 0 0-5.075-5.084Z"}),(0,a.jsx)("path",{"data-name":"Trazado 347 - Contorno",d:"M-4092.489-316.721h7.4a8.02 8.02 0 0 1 8.006 8.015v74.935a24.935 24.935 0 0 1-24.9 24.911h-77.172a8.023 8.023 0 0 1-8.021-8.006v-7.424a8.023 8.023 0 0 1 8.021-8.007h61.9a16.765 16.765 0 0 0 16.743-16.749v-59.661a8.027 8.027 0 0 1 8.023-8.014Zm-9.494 102a19.065 19.065 0 0 0 19.039-19.049v-74.935a2.15 2.15 0 0 0-2.143-2.153h-7.4a2.158 2.158 0 0 0-2.158 2.153v59.661a22.634 22.634 0 0 1-22.605 22.611h-61.9a2.153 2.153 0 0 0-2.158 2.144v7.424a2.153 2.153 0 0 0 2.158 2.143Z"}),(0,a.jsx)("path",{"data-name":"Trazado 348",d:"M-4237.731-229.365h-55.169a19.679 19.679 0 0 1-19.665-19.68v-59.661a5.089 5.089 0 0 0-5.1-5.084h-7.4a5.083 5.083 0 0 0-5.083 5.084v74.935a21.985 21.985 0 0 0 21.979 21.981h70.439a5.079 5.079 0 0 0 5.076-5.075v-7.425a5.079 5.079 0 0 0-5.077-5.075Z"}),(0,a.jsx)("path",{"data-name":"Trazado 348 - Contorno",d:"M-4237.73-208.859h-70.439a24.94 24.94 0 0 1-24.913-24.911v-74.935a8.023 8.023 0 0 1 8.014-8.015h7.4a8.032 8.032 0 0 1 8.03 8.015v59.661a16.76 16.76 0 0 0 16.733 16.749h55.169a8.016 8.016 0 0 1 8.008 8.007v7.424a8.016 8.016 0 0 1-8.002 8.005Zm-87.338-102a2.154 2.154 0 0 0-2.151 2.153v74.935a19.071 19.071 0 0 0 19.05 19.049h70.439a2.147 2.147 0 0 0 2.145-2.143v-7.424a2.147 2.147 0 0 0-2.145-2.144h-55.17a22.629 22.629 0 0 1-22.6-22.611v-59.661a2.163 2.163 0 0 0-2.168-2.153Z"})]}),(0,a.jsx)("ellipse",{"data-name":"Elipse 56",cx:56.415,cy:56.414,rx:56.415,ry:56.414,transform:"translate(-4260.489 -392.445)"}),(0,a.jsx)("path",{"data-name":"Elipse 56 - Contorno",d:"M-4205.074-393.376a51.345 51.345 0 1 1-51.346 51.345 51.4 51.4 0 0 1 51.346-51.345Zm0 96.827a45.482 45.482 0 1 0-45.483-45.482 45.535 45.535 0 0 0 45.483 45.482Z"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 890",fill:"none",d:"M0 0h256v256H0z"})]})]}))}},11387:function(e,t,n){"use strict";n.d(t,{fr:function(){return o},sR:function(){return nt},De:function(){return i.default},dt:function(){return l.Z},Zm:function(){return rt.Z},OC:function(){return at},Sx:function(){return s},e0:function(){return c},LZ:function(){return u},jz:function(){return kt},nA:function(){return Mt},xN:function(){return d},Xn:function(){return ft},Wq:function(){return pt},xR:function(){return xt},wN:function(){return f.default},Qu:function(){return p},_q:function(){return Dt},QX:function(){return ot},I:function(){return it},J$:function(){return h},ot:function(){return et},aW:function(){return m},W5:function(){return v},UM:function(){return g},qN:function(){return y},Nv:function(){return _t},Ej:function(){return wt},zD:function(){return x},ZF:function(){return b.Z},TI:function(){return w.default},ye:function(){return lt},x2:function(){return _},Z9:function(){return st},P3:function(){return ct},QG:function(){return Z},pJ:function(){return E.default},to:function(){return Ht},MX:function(){return S.Z},dR:function(){return Et},cY:function(){return j},_8:function(){return T.default},Q_:function(){return A},cn:function(){return ut},FU:function(){return C},dY:function(){return k.Z},wK:function(){return dt},EO:function(){return zt},nF:function(){return M},E3:function(){return Zt},c3:function(){return bt},rt:function(){return P.default},nf:function(){return O},jG:function(){return R.default},Nq:function(){return N.default},Ok:function(){return z.default},ZA:function(){return I.default},q$:function(){return L.default},bP:function(){return D},xD:function(){return H.default},lr:function(){return B.default},mY:function(){return U.default},UU:function(){return F.default},hj:function(){return V.default},p2:function(){return G.default},n9:function(){return W.default},ar:function(){return q},hz:function(){return K.default},xh:function(){return $.default},RO:function(){return Y.default},Q:function(){return mt},UQ:function(){return Pt},Vw:function(){return Ot},ww:function(){return Q},sj:function(){return St},ln:function(){return J.Z},by:function(){return X.Z},M9:function(){return Lt},F_:function(){return ee.default},v4:function(){return te.Z},iH:function(){return ne.Z},lT:function(){return re},cC:function(){return ae.Z},HN:function(){return oe},DJ:function(){return ie},QI:function(){return vt},mB:function(){return le},BH:function(){return tt},R0:function(){return se.Z},I$:function(){return ce},$E:function(){return At},YE:function(){return Ct},nw:function(){return ue},D6:function(){return de.Z},IH:function(){return fe},X2:function(){return ht},hF:function(){return pe},R4:function(){return me},xg:function(){return he.Z},b_:function(){return ve.default},gx:function(){return ge},$3:function(){return yt},Q2:function(){return ye.Z},mG:function(){return xe.Z},tv:function(){return It},Fs:function(){return Bt},Cx:function(){return be},P9:function(){return we},a$:function(){return Ut},MY:function(){return _e},D7:function(){return Ze.default},zG:function(){return Ee},Du:function(){return Se.default},HF:function(){return je.Z},Mh:function(){return jt},rH:function(){return Te},fe:function(){return Rt},Xj:function(){return Nt},W1:function(){return Ae.Z},am:function(){return Ce.Z},SB:function(){return ke},tV:function(){return gt},nO:function(){return Me},dv:function(){return Pe},ew:function(){return Oe.Z},aA:function(){return Re.default},QB:function(){return Ne},id:function(){return ze},bn:function(){return Ie.Z},zb:function(){return Le.Z},EH:function(){return De},y2:function(){return He},gX:function(){return Tt},oE:function(){return Be},xp:function(){return Ue},C_:function(){return Fe},XH:function(){return Ve.Z},G1:function(){return Ge},oX:function(){return We},rG:function(){return qe},jh:function(){return Ke},oN:function(){return $e},oy:function(){return Ye},Db:function(){return Qe},B7:function(){return Je},fO:function(){return Xe.Z}});var r=n(18489),a=(n(50390),n(62559)),o=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"account",children:[(0,a.jsx)("path",{"data-name":"Trazado 463",d:"M32.291 232.53a32.336 32.336 0 0 1-32.289-32.3V76.935a32.33 32.33 0 0 1 32.289-32.3 8.837 8.837 0 0 1 8.832 8.822 8.845 8.845 0 0 1-8.832 8.831 14.663 14.663 0 0 0-14.648 14.648v123.295a14.661 14.661 0 0 0 14.648 14.64h191.4a14.66 14.66 0 0 0 14.641-14.64V76.936a14.661 14.661 0 0 0-14.641-14.648h-54.07a8.845 8.845 0 0 1-8.832-8.831 8.762 8.762 0 0 1 2.586-6.236 8.735 8.735 0 0 1 6.246-2.586h54.07a32.345 32.345 0 0 1 32.313 32.3V200.23a32.351 32.351 0 0 1-32.312 32.3Zm140.445-33.006a3.078 3.078 0 0 1-3.082-3.07V179.02a3.08 3.08 0 0 1 3.082-3.08h47.18a3.077 3.077 0 0 1 3.07 3.08v17.434a3.075 3.075 0 0 1-3.07 3.07Zm-113.141 0a22.643 22.643 0 0 1-20.648-12.767 26.835 26.835 0 0 1 1.891-26.579l.02-.019c.094-.143.2-.285.3-.428.273-.409.559-.827.871-1.245a70.651 70.651 0 0 1 52.277-28.5 62.967 62.967 0 0 1 3.543-.095 67.043 67.043 0 0 1 15.211 1.777 71.594 71.594 0 0 1 14.734 5.219 71.248 71.248 0 0 1 26.73 22.149 27.371 27.371 0 0 1 2.672 27.53 22.363 22.363 0 0 1-20.629 12.956Zm-3.719-30.372v.01l-.047.058c-.191.256-.371.5-.531.741v.028l-.258.371a8.365 8.365 0 0 0-.715 8.261 5.526 5.526 0 0 0 5.27 3.1h76.969a6.062 6.062 0 0 0 3.156-.761 4.988 4.988 0 0 0 1.949-2.243 8.485 8.485 0 0 0 .715-4.524 9.18 9.18 0 0 0-1.7-4.468 54.088 54.088 0 0 0-42.969-22.007c-.93 0-1.75.019-2.508.066h-.012a53.055 53.055 0 0 0-39.318 21.368Zm116.859-5.01a3.08 3.08 0 0 1-3.082-3.079v-17.425a3.08 3.08 0 0 1 3.082-3.08h47.18a3.077 3.077 0 0 1 3.07 3.08v17.425a3.077 3.077 0 0 1-3.07 3.079Zm-.59-38.7a2.5 2.5 0 0 1-2.492-2.5V82.066a2.5 2.5 0 0 1 2.492-2.5h48.348a2.5 2.5 0 0 1 2.492 2.5v40.876a2.5 2.5 0 0 1-2.492 2.5ZM50.981 74.213c0-28.233 22.09-51.209 49.242-51.209s49.258 22.976 49.258 51.209a52.579 52.579 0 0 1-3.867 19.906 51.257 51.257 0 0 1-10.551 16.274 49.07 49.07 0 0 1-15.656 11 47.257 47.257 0 0 1-19.184 4.041c-27.151 0-49.241-22.976-49.241-51.22Zm17.977 0c0 18.033 14.031 32.711 31.266 32.711 17.262 0 31.3-14.678 31.3-32.711s-14.039-32.7-31.3-32.7c-17.234 0-31.265 14.668-31.265 32.701Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 883",fill:"none",d:"M0 0h256v256H0z"})]})]})]}))},i=n(71353),l=n(14792),s=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{"data-name":"All Buckets",clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 45",d:"M78.373 256c-7.594 0-14.115-5.922-15.51-14.087-1.619-9.346-4.373-25.445-7.537-43.926l-.01-.074C49.08 161.58 41.277 116.057 37.57 94.461a18.4 18.4 0 0 1 3.377-14.209 15.24 15.24 0 0 1 12.148-6.235h150.137a15.259 15.259 0 0 1 12.154 6.235 18.358 18.358 0 0 1 3.369 14.209l-7.5 43.7-.035.171-10.184 59.448-.049.265-7.523 43.872c-1.408 8.165-7.914 14.087-15.516 14.087Zm-3.418-16.57a3.582 3.582 0 0 0 3.418 3.1h99.58a3.582 3.582 0 0 0 3.424-3.105l6.178-36.084H68.768c2.591 15.142 4.818 28.093 6.187 36.086Zm-8.5-49.559h123.42l7.928-46.218H58.539c2.609 15.186 5.363 31.301 7.916 46.216ZM50.416 88.858a4.087 4.087 0 0 0-.738 3.12c1.572 9.228 3.922 22.825 6.549 38.2h143.895l6.531-38.2a4.055 4.055 0 0 0-.74-3.115 3.354 3.354 0 0 0-2.68-1.381H53.086a3.359 3.359 0 0 0-2.67 1.374Zm170.543 29.158v-1.083l.014-.088 1.615-9.414h6.221a1.281 1.281 0 0 0 1.188-1.151c.074-.412.148-.847.227-1.3l.029-.162c.043-.25.088-.5.131-.764.02-.127.045-.255.064-.382s.049-.279.074-.421c.063-.377.131-.759.2-1.156l.031-.171c.043-.25.088-.509.131-.769l.045-.245c.029-.191.063-.382.1-.578l.67-3.884c.855-4.981 1.486-8.66 2.055-12h-10.43l-.244-.656a25.505 25.505 0 0 0-3.664-6.74c-.4-.529-.822-1.043-1.252-1.523l-1.49-1.666h18.9l.158-.936c.172-1.009.35-2.038.525-3.061.367-2.15.734-4.3 1.076-6.289.1-.568.2-1.137.293-1.709.117-.676.23-1.362.348-2.042l.5-2.915c.59-3.443 1.2-6.989 1.8-10.5h-86.41l3.648 21.243h-10.016l-4.379-25.588-4.787-27.855a12.711 12.711 0 0 1 2.342-9.826 10.739 10.739 0 0 1 8.545-4.379h95.705a10.723 10.723 0 0 1 8.541 4.379 12.715 12.715 0 0 1 2.342 9.826c-.414 2.419-.9 5.241-1.463 8.5l-.943 5.535c-.143.8-.279 1.622-.426 2.454l-.189 1.117q-.381 2.249-.793 4.619l-.982 5.73c-1.7 9.958-3.67 21.39-5.25 30.579l-.68 3.962-.578 3.375v.039l-.713 4.183c-.1.563-.2 1.131-.3 1.758-.1.593-.211 1.229-.334 1.944l-.4 2.312-1 5.843c-.787 4.585-1.531 8.915-2.072 12.049-.975 5.682-5.547 9.806-10.875 9.806ZM148.313 11.072a1.612 1.612 0 0 0-.289 1.225l4.025 23.516h90.041a16029.61 16029.61 0 0 1 3.365-19.617l.088-.485.582-3.414a1.611 1.611 0 0 0-.289-1.225 1.174 1.174 0 0 0-.9-.475h-95.715a1.154 1.154 0 0 0-.909.473ZM34.038 118.016h-6.852c-5.326 0-9.9-4.125-10.877-9.811-.539-3.13-1.281-7.459-2.07-12.049l-.287-1.7-.711-4.144-.4-2.307c-.127-.72-.234-1.361-.336-1.954l-.3-1.749-.717-4.183v-.039l-1.252-7.293c-1.58-9.2-3.545-20.65-5.252-30.623L4 36.434q-.407-2.381-.8-4.639l-.186-1.1c-.143-.833-.283-1.651-.426-2.449l-.953-5.588C1.078 19.41.598 16.609.182 14.204a12.722 12.722 0 0 1 2.342-9.826 10.729 10.729 0 0 1 8.543-4.379h95.705a10.744 10.744 0 0 1 8.545 4.379 12.719 12.719 0 0 1 2.342 9.826l-4.809 27.968-4.359 25.475H98.479l.2-1.171 3.449-20.072H15.716c.607 3.512 1.213 7.058 1.8 10.5l.5 2.915c.117.681.23 1.366.346 2.047l.293 1.7c.344 1.993.711 4.153 1.082 6.313.17 1.019.348 2.038.52 3.037l.16.936h18.9l-1.49 1.666c-.432.48-.854.994-1.252 1.523a25.567 25.567 0 0 0-3.666 6.74l-.244.656H22.237c.566 3.34 1.2 7.019 2.053 12l.672 3.884c.035.2.068.387.1.583l.045.24c.043.26.088.52.131.769l.006.01.023.162c.07.4.137.779.2 1.151l.074.426c.025.142.045.255.064.382.043.254.088.509.131.754l.029.171c.078.451.152.886.227 1.3a1.284 1.284 0 0 0 1.188 1.151h6.223l1.629 9.5v1.083ZM10.155 11.077a1.609 1.609 0 0 0-.285 1.22l.672 3.9c1.027 5.966 2.318 13.509 3.365 19.617h90.041l4.025-23.516a1.612 1.612 0 0 0-.289-1.225 1.159 1.159 0 0 0-.908-.475H11.061a1.185 1.185 0 0 0-.907.477Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 927",fill:"none",d:"M0 0h256v256H0z"})]})]}))},c=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"arrow-icn",d:"M19.795 108.063c-26.394 0-26.394 40.032 0 40.032h167.688l-22.739 22.669c-18.656 18.622 9.725 46.922 28.382 28.316l56.877-56.732a19.991 19.991 0 000-28.548l-56.877-56.716c-18.656-18.6-47.038 9.684-28.382 28.3l22.739 22.68H19.795z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 863",fill:"none",d:"M0 0h256v256H0z"})]})]}))},u=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{d:"M19.805 108.063c-26.4 0-26.4 40.032 0 40.032h167.684l-22.739 22.668c-18.656 18.622 9.725 46.922 28.382 28.316l56.873-56.731a19.991 19.991 0 0 0 0-28.548l-56.877-56.716c-18.656-18.6-47.038 9.684-28.382 28.3l22.743 22.679H19.805Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 863",fill:"none",d:"M.003 0h256v256h-256z"})]})]}))},d=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{"data-name":"Back Settings",clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"arrow-icn",d:"M236.198 108.063c26.394 0 26.394 40.032 0 40.032H68.514l22.739 22.668c18.656 18.623-9.726 46.923-28.382 28.318L5.998 142.348a19.991 19.991 0 0 1 0-28.548l56.877-56.716c18.656-18.6 47.038 9.684 28.382 28.3l-22.743 22.679h167.684Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 863",fill:"none",d:"M0 0h256v256H0z"})]})]}))},f=n(56135),p=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"Calendar-icn",children:[(0,a.jsx)("path",{"data-name":"Trazado 412",d:"M65.175 146.527h24.651c3.4 0 6.162-3.188 6.162-7.115s-2.762-7.115-6.162-7.115H65.175c-3.4 0-6.164 3.188-6.164 7.115s2.758 7.115 6.164 7.115Z"}),(0,a.jsx)("path",{"data-name":"Trazado 413",d:"M118.028 146.527h24.651c3.4 0 6.162-3.188 6.162-7.115s-2.76-7.115-6.162-7.115h-24.651c-3.4 0-6.162 3.188-6.162 7.115s2.762 7.115 6.162 7.115Z"}),(0,a.jsx)("path",{"data-name":"Trazado 414",d:"M166.344 146.527h24.651c3.4 0 6.162-3.188 6.162-7.115s-2.762-7.115-6.162-7.115h-24.651c-3.4 0-6.165 3.188-6.165 7.115s2.762 7.115 6.165 7.115Z"}),(0,a.jsx)("path",{"data-name":"Trazado 415",d:"M65.175 178.762h24.651c3.4 0 6.162-3.188 6.162-7.115s-2.762-7.115-6.162-7.115H65.175c-3.4 0-6.164 3.188-6.164 7.115s2.758 7.115 6.164 7.115Z"}),(0,a.jsx)("path",{"data-name":"Trazado 416",d:"M118.028 178.762h24.651c3.4 0 6.162-3.188 6.162-7.115s-2.76-7.115-6.162-7.115h-24.651c-3.4 0-6.162 3.188-6.162 7.115s2.762 7.115 6.162 7.115Z"}),(0,a.jsx)("path",{"data-name":"Trazado 417",d:"M166.344 178.762h24.651c3.4 0 6.162-3.188 6.162-7.115s-2.762-7.115-6.162-7.115h-24.651c-3.4 0-6.165 3.188-6.165 7.115s2.762 7.115 6.165 7.115Z"}),(0,a.jsx)("path",{"data-name":"Trazado 418",d:"M65.175 210.997h24.651c3.4 0 6.162-3.187 6.162-7.115s-2.762-7.115-6.162-7.115H65.175c-3.4 0-6.164 3.188-6.164 7.115s2.758 7.115 6.164 7.115Z"}),(0,a.jsx)("path",{"data-name":"Trazado 419",d:"M118.028 210.997h24.651c3.4 0 6.162-3.187 6.162-7.115s-2.76-7.115-6.162-7.115h-24.651c-3.4 0-6.162 3.188-6.162 7.115s2.762 7.115 6.162 7.115Z"}),(0,a.jsx)("path",{"data-name":"Trazado 420",d:"M166.344 210.997h24.651c3.4 0 6.162-3.187 6.162-7.115s-2.762-7.115-6.162-7.115h-24.651c-3.4 0-6.165 3.188-6.165 7.115s2.762 7.115 6.165 7.115Z"}),(0,a.jsx)("path",{"data-name":"Trazado 421",d:"M215.81 30.376h-15.951V10.455a10.661 10.661 0 0 0-10.6-10.661 10.66 10.66 0 0 0-10.595 10.661v19.921h-40.089V10.455a10.661 10.661 0 0 0-10.6-10.661 10.66 10.66 0 0 0-10.595 10.661v19.921H77.291V10.455a10.661 10.661 0 0 0-10.6-10.661 10.66 10.66 0 0 0-10.595 10.661v19.921h-15.08a23.369 23.369 0 0 0-23.295 23.44v178.332a23.367 23.367 0 0 0 23.295 23.44h174.782a23.367 23.367 0 0 0 23.295-23.44V53.816a23.367 23.367 0 0 0-23.283-23.44Zm-3.051 198.641a.062.062 0 0 1-.062.062H44.14a.062.062 0 0 1-.064-.062V114.344h168.683Z"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 862",fill:"none",d:"M0 0h256v255.794H0z"})]})]}))},h=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("circle",{"data-name":"circle-icn",cx:128,cy:128,r:128}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 852",fill:"none",d:"M0 0h256v256H0z"})]})]}))},m=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 41",d:"M175.369 255.999a41.227 41.227 0 0 1-40.01-31.491h-14.736a41.3 41.3 0 0 1-39.988 31.491h-.006a41.192 41.192 0 0 1-41.152-41.145 41.068 41.068 0 0 1 14.268-31.134l-8.084-14.819a41.386 41.386 0 0 1-4.5.251A41.2 41.2 0 0 1 .007 128.003a41.2 41.2 0 0 1 41.154-41.154 41.31 41.31 0 0 1 6.041.443l7.676-14.071a41.09 41.09 0 0 1-15.393-32.069A41.194 41.194 0 0 1 80.637-.002a41.211 41.211 0 0 1 40.893 36.5h12.957a41.207 41.207 0 0 1 40.891-36.5 41.194 41.194 0 0 1 41.152 41.154 41.115 41.115 0 0 1-14.035 30.886l8.193 15.021a41.42 41.42 0 0 1 4.172-.21 41.2 41.2 0 0 1 41.148 41.154 41.273 41.273 0 0 1-41.148 41.149q-1.31 0-2.6-.082l-8.652 15.861a41.05 41.05 0 0 1 12.926 29.922 41.263 41.263 0 0 1-41.148 41.145Zm-15.461-41.145a15.479 15.479 0 0 0 15.461 15.462 15.485 15.485 0 0 0 15.471-15.462 15.515 15.515 0 0 0-15.471-15.471 15.485 15.485 0 0 0-15.461 15.473Zm-94.744 0a15.484 15.484 0 0 0 15.465 15.462 15.484 15.484 0 0 0 15.467-15.462 15.512 15.512 0 0 0-15.471-15.471 15.485 15.485 0 0 0-15.461 15.473Zm69.055-.351a41.147 41.147 0 0 1 18.393-33.922l-8.525-14.725a40.926 40.926 0 0 1-16.082 3.3 40.981 40.981 0 0 1-12.812-2.042l-8.984 15.522a41.109 41.109 0 0 1 15.578 31.87Zm61.25-35.552 6.477-11.871a41.28 41.28 0 0 1-27.734-32.58h-5.58a41.235 41.235 0 0 1-14.312 25.076l9.186 15.868a41.037 41.037 0 0 1 11.865-1.744 40.9 40.9 0 0 1 20.098 5.253Zm-133.391-.828a40.919 40.919 0 0 1 18.551-4.423 40.934 40.934 0 0 1 15.193 2.907l8.617-14.884A41.216 41.216 0 0 1 87.363 134.5h-5.582a41.378 41.378 0 0 1-26.059 31.969Zm137.309-50.119a15.477 15.477 0 0 0 15.465 15.462 15.477 15.477 0 0 0 15.461-15.462 15.5 15.5 0 0 0-15.471-15.471 15.483 15.483 0 0 0-15.455 15.472ZM128 143.467a15.477 15.477 0 0 0 15.465-15.462A15.5 15.5 0 0 0 128 112.534a15.4 15.4 0 0 0-5.734 1.1l-3.818 2.21A15.452 15.452 0 0 0 112.54 128a15.441 15.441 0 0 0 5.914 12.155l3.789 2.2a15.379 15.379 0 0 0 5.757 1.112ZM25.686 128.005a15.482 15.482 0 0 0 15.467 15.462 15.481 15.481 0 0 0 15.465-15.462 15.507 15.507 0 0 0-15.465-15.471 15.49 15.49 0 0 0-15.467 15.471Zm148.379-5.5a41.276 41.276 0 0 1 26.506-33.1l-6.379-11.693a40.928 40.928 0 0 1-18.818 4.591 41.039 41.039 0 0 1-11.865-1.743l-9.17 15.843a41.135 41.135 0 0 1 14.451 26.1Zm-86.848 0a41.2 41.2 0 0 1 17.221-28.223l-8.627-14.9a40.952 40.952 0 0 1-15.176 2.925h-.006a40.908 40.908 0 0 1-17.254-3.794l-6.3 11.548a41.266 41.266 0 0 1 24.863 32.448Zm56.881-32.375 8.514-14.707a41.2 41.2 0 0 1-18.049-28.922h-13.135a41.238 41.238 0 0 1-15.242 26.844l9 15.549A41 41 0 0 1 128 86.852a40.932 40.932 0 0 1 16.1 3.278Zm15.811-48.976a15.476 15.476 0 0 0 15.461 15.461 15.482 15.482 0 0 0 15.471-15.461 15.515 15.515 0 0 0-15.471-15.471 15.484 15.484 0 0 0-15.462 15.471Zm-94.744 0A15.481 15.481 0 0 0 80.63 56.615a15.481 15.481 0 0 0 15.467-15.461 15.512 15.512 0 0 0-15.471-15.471 15.484 15.484 0 0 0-15.462 15.471Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 924",fill:"none",d:"M0 0h256v256H0z"})]})]}))},v=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"CollapseIcon",children:[(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 841",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 842",d:"M0 46h256v28H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 843",d:"M0 116h256v28H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 844",d:"M0 186h256v28H0z"})]})]})]}))},g=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"ComputerLineIcon",children:[(0,a.jsx)("path",{"data-name":"ComputerLineIcon",d:"M19.678 227.007A19.678 19.678 0 0 1 0 207.328v-25.736h256.887v25.736a19.683 19.683 0 0 1-19.682 19.682Zm-4.844-19.682a4.541 4.541 0 0 0 4.541 4.541h218.289a4.541 4.541 0 0 0 4.541-4.541v-14.152h-75.387a12.4 12.4 0 0 1-11.354 7.567H101.5a12.416 12.416 0 0 1-11.355-7.567H14.836Zm204.662-40.871v-121.1H37.846v121.1H22.709V41.568a11.353 11.353 0 0 1 11.35-11.354h189.225a11.354 11.354 0 0 1 11.355 11.354v124.886Zm-166.516-.91V60.49h136.09l-11.957 12.108H65.093v92.945Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 892",fill:"none",d:"M0 0h256v256H0z"})]})]})]}))},y=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 43",d:"M65.865 256a8.03 8.03 0 0 1-8.029-8.035 8.03 8.03 0 0 1 8.029-8.034h163.867a8.035 8.035 0 0 1 8.033 8.034 8.035 8.035 0 0 1-8.033 8.035Zm-57.834 0a8.03 8.03 0 0 1-8.029-8.035 8.03 8.03 0 0 1 8.029-8.034h29.99a8.035 8.035 0 0 1 8.033 8.034A8.035 8.035 0 0 1 38.021 256Zm57.834-28.917a8.03 8.03 0 0 1-8.029-8.034 8.03 8.03 0 0 1 8.029-8.035h163.867a8.035 8.035 0 0 1 8.033 8.035 8.035 8.035 0 0 1-8.033 8.034Zm-57.834 0a8.03 8.03 0 0 1-8.029-8.034 8.03 8.03 0 0 1 8.029-8.035h29.99a8.035 8.035 0 0 1 8.033 8.035 8.035 8.035 0 0 1-8.033 8.034Zm163.459-28.384H142a8.173 8.173 0 0 1-2.906-.533H65.865a8.03 8.03 0 0 1-8.029-8.034 8.03 8.03 0 0 1 8.029-8.035h34.445a8.134 8.134 0 0 1-3.521-2.068L76 159.218a8.128 8.128 0 0 1-2.377-5.208 8.128 8.128 0 0 1 1.641-5.474l12.373-16.585a68.993 68.993 0 0 1-2.988-7.079l-20.311-2.926a8.163 8.163 0 0 1-7.025-8.15V84.375a8.167 8.167 0 0 1 7.025-8.15l20.311-2.926a70.215 70.215 0 0 1 2.988-7.073L75.258 49.792a8.178 8.178 0 0 1-1.635-5.48 8.113 8.113 0 0 1 2.381-5.2l20.781-20.807a8.141 8.141 0 0 1 5.779-2.393 8.1 8.1 0 0 1 4.93 1.657l16.5 12.373a69.937 69.937 0 0 1 7.09-2.972l2.914-20.333a8.146 8.146 0 0 1 2.723-5.016 8.155 8.155 0 0 1 5.428-2h29.572a8.159 8.159 0 0 1 5.342 2 8.138 8.138 0 0 1 2.727 5.016l2.92 20.333a72.131 72.131 0 0 1 7.086 2.972l16.439-12.373a8.039 8.039 0 0 1 4.9-1.657 8.109 8.109 0 0 1 5.766 2.393l20.8 20.958a8.142 8.142 0 0 1 2.381 5.2 8.135 8.135 0 0 1-1.633 5.474l-12.314 16.434a71.975 71.975 0 0 1 2.994 7.079l20.334 2.926a8.147 8.147 0 0 1 4.957 2.757 8.174 8.174 0 0 1 1.971 5.318v29.5a8.192 8.192 0 0 1-1.971 5.387 8.161 8.161 0 0 1-5.039 2.757l-20.34 2.926a67.225 67.225 0 0 1-2.971 7.079l12.234 16.353a8.209 8.209 0 0 1 1.627 5.486 8.133 8.133 0 0 1-2.367 5.208l-20.8 20.8a8.119 8.119 0 0 1-3.8 2.149h16.77a8.035 8.035 0 0 1 8.033 8.035 8.035 8.035 0 0 1-8.033 8.034h-55.26a8.157 8.157 0 0 1-2.9.533Zm37.543-16.6a8.118 8.118 0 0 1-2.953-1.413l-16.418-12.3a71.877 71.877 0 0 1-7.084 2.972l-1.547 10.745Zm-44.514 0 2.627-17.766a8.133 8.133 0 0 1 5.891-6.691 57.883 57.883 0 0 0 13.561-5.59 8.188 8.188 0 0 1 4.322-1.228 8.164 8.164 0 0 1 4.328 1.234l.039.029 14.875 11.371 10.77-10.995-11.168-14.9a8.122 8.122 0 0 1-1.275-4.368 8.1 8.1 0 0 1 1.264-4.35 62.735 62.735 0 0 0 5.26-13.358l.006-.011a8.194 8.194 0 0 1 6.7-5.868l18.439-2.676-.215-15.16-18.449-2.676a8.116 8.116 0 0 1-6.684-5.868 63.168 63.168 0 0 0-5.6-13.532 8.106 8.106 0 0 1 .578-8.961l11.367-14.876-10.984-10.774-14.9 11.168a8.1 8.1 0 0 1-4.594 1.413 8.215 8.215 0 0 1-4.066-1.083 57.452 57.452 0 0 0-13.562-5.584h-.006a8.154 8.154 0 0 1-5.891-6.7l-2.682-18.438h-15.23l-2.676 18.143a8.113 8.113 0 0 1-5.873 6.679 58.28 58.28 0 0 0-13.592 5.59 8.08 8.08 0 0 1-4.309 1.24 8.15 8.15 0 0 1-4.322-1.245l-.039-.029-14.877-11.371-10.988 10.995 11.395 14.911a8.111 8.111 0 0 1 1.264 4.362 8.137 8.137 0 0 1-1.252 4.344 64.4 64.4 0 0 0-5.283 13.509v.006a8.131 8.131 0 0 1-6.68 5.874l-18.449 2.688v15.229l18.139 2.676a8.163 8.163 0 0 1 6.678 5.874 63.854 63.854 0 0 0 5.59 13.509 8.183 8.183 0 0 1 1.258 4.356 8.161 8.161 0 0 1-1.264 4.368l-.029.035-11.365 14.864 10.988 10.775 14.9-11.168a8.127 8.127 0 0 1 4.58-1.408 8.129 8.129 0 0 1 4.063 1.089 58.074 58.074 0 0 0 13.59 5.584h.006a8.142 8.142 0 0 1 5.873 6.691l2.629 18.073Zm-31.975 0-1.551-10.745a68.569 68.569 0 0 1-7.08-2.972l-16.416 12.373a8.134 8.134 0 0 1-2.682 1.344ZM8.03 198.168a8.03 8.03 0 0 1-8.029-8.034 8.03 8.03 0 0 1 8.029-8.035h29.99a8.035 8.035 0 0 1 8.033 8.035 8.035 8.035 0 0 1-8.033 8.034Zm0-28.917a8.03 8.03 0 0 1-8.029-8.035 8.025 8.025 0 0 1 8.029-8.029h29.99a8.03 8.03 0 0 1 8.033 8.029 8.035 8.035 0 0 1-8.033 8.035Zm0-28.917a8.03 8.03 0 0 1-8.029-8.035 8.025 8.025 0 0 1 8.029-8.029h29.99a8.03 8.03 0 0 1 8.033 8.029 8.035 8.035 0 0 1-8.033 8.035Zm133.771-5.561a38.591 38.591 0 0 1-12.279-8.278 38.613 38.613 0 0 1-8.279-12.286 38.374 38.374 0 0 1-3.035-15.038 38.381 38.381 0 0 1 3.035-15.044 38.551 38.551 0 0 1 8.279-12.286 38.512 38.512 0 0 1 12.279-8.284 38.369 38.369 0 0 1 15.037-3.035 38.407 38.407 0 0 1 15.051 3.035 38.476 38.476 0 0 1 12.291 8.284 38.551 38.551 0 0 1 8.279 12.286 38.381 38.381 0 0 1 3.035 15.044 38.374 38.374 0 0 1-3.035 15.038 38.613 38.613 0 0 1-8.279 12.286 38.554 38.554 0 0 1-12.291 8.278 38.408 38.408 0 0 1-15.051 3.041 38.4 38.4 0 0 1-15.038-3.045Zm6.354-56.19a22.131 22.131 0 0 0-7.094 4.791 22.181 22.181 0 0 0-4.785 7.1 22.193 22.193 0 0 0-1.754 8.7 22.187 22.187 0 0 0 1.754 8.689 22.221 22.221 0 0 0 4.785 7.1 22.2 22.2 0 0 0 7.094 4.785 22.166 22.166 0 0 0 8.684 1.755 22.233 22.233 0 0 0 8.7-1.755 22.259 22.259 0 0 0 7.1-4.785 22.268 22.268 0 0 0 4.779-7.1 22.222 22.222 0 0 0 1.754-8.689 22.228 22.228 0 0 0-1.754-8.7 22.228 22.228 0 0 0-4.779-7.1 22.186 22.186 0 0 0-7.1-4.791 22.232 22.232 0 0 0-8.7-1.755 22.166 22.166 0 0 0-8.683 1.751ZM8.03 111.416a8.03 8.03 0 0 1-8.029-8.035 8.025 8.025 0 0 1 8.029-8.029h29.99a8.03 8.03 0 0 1 8.033 8.029 8.035 8.035 0 0 1-8.033 8.035Zm0-28.917a8.03 8.03 0 0 1-8.029-8.034 8.025 8.025 0 0 1 8.029-8.029h29.99a8.03 8.03 0 0 1 8.033 8.029 8.035 8.035 0 0 1-8.033 8.034Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 925",fill:"none",d:"M0 0h256v256H0z"})]})]}))},x=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 20",d:"M17.4 256.099A17.314 17.314 0 0 1 .1 238.808V17.402A17.322 17.322 0 0 1 17.4.102h221.4a17.325 17.325 0 0 1 17.3 17.3v221.406a17.316 17.316 0 0 1-17.3 17.291Zm.7-32.922a14.938 14.938 0 0 0 14.934 14.937h190.138a14.935 14.935 0 0 0 14.93-14.937v-133.4h-220Zm45.949-69.443a6.943 6.943 0 0 1-6.814-7.061v-16.314a6.937 6.937 0 0 1 6.814-7.054h62.056a6.924 6.924 0 0 1 6.795 7.054v16.318a6.929 6.929 0 0 1-6.795 7.061Z"}),(0,a.jsx)("path",{"data-name":"Trazado 343 - Contorno",d:"M17.402 0h221.4a17.421 17.421 0 0 1 17.4 17.4v221.409a17.416 17.416 0 0 1-17.4 17.391h-221.4a17.416 17.416 0 0 1-17.4-17.391V17.401A17.421 17.421 0 0 1 17.402 0Zm221.4 256a17.216 17.216 0 0 0 17.2-17.191V17.401a17.221 17.221 0 0 0-17.2-17.2h-221.4a17.221 17.221 0 0 0-17.2 17.2v221.408A17.216 17.216 0 0 0 17.402 256ZM18.002 89.676h220.2v133.5a14.945 14.945 0 0 1-4.4 10.634 14.93 14.93 0 0 1-10.627 4.405H33.033a14.93 14.93 0 0 1-10.627-4.405 14.942 14.942 0 0 1-4.4-10.634Zm220 .2h-219.8v133.3a14.745 14.745 0 0 0 4.346 10.493 14.73 14.73 0 0 0 10.486 4.347h190.139a14.73 14.73 0 0 0 10.486-4.347 14.745 14.745 0 0 0 4.346-10.493Z"}),(0,a.jsx)("path",{"data-name":"Trazado 344 - Contorno",d:"M64.05 123.202h62.057a6.726 6.726 0 0 1 4.878 2.1A7.247 7.247 0 0 1 133 130.36v16.318a7.038 7.038 0 0 1-6.893 7.16H64.05a7.049 7.049 0 0 1-6.915-7.16V130.36a7.045 7.045 0 0 1 6.915-7.158Zm62.057 30.431a6.838 6.838 0 0 0 6.693-6.96v-16.318a7.047 7.047 0 0 0-1.959-4.919 6.526 6.526 0 0 0-4.733-2.034H64.051a6.845 6.845 0 0 0-6.714 6.953v16.318a6.848 6.848 0 0 0 6.714 6.96Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 889",fill:"none",d:"M.102.1h256v256h-256z"})]})]}))},b=n(44078),w=n(24957),_=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 858",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 20",d:"M102.405 230.399v-76.79h-76.8a25.607 25.607 0 0 1 0-51.214h76.8V25.601a25.6 25.6 0 1 1 51.2 0v76.792h76.8a25.607 25.607 0 0 1 0 51.214h-76.8v76.792a25.6 25.6 0 1 1-51.2 0Z"})]})]}))},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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 18",d:"M17.271 255.95a17.247 17.247 0 0 1-12.236-5.086 17.291 17.291 0 0 1-5.086-12.239V17.274A17.25 17.25 0 0 1 5.035 5.035 17.245 17.245 0 0 1 17.271-.051h221.354a17.237 17.237 0 0 1 12.244 5.091 17.238 17.238 0 0 1 5.08 12.253v221.332a17.256 17.256 0 0 1-5.084 12.239 17.256 17.256 0 0 1-12.24 5.086Zm5.121-233.556a14.786 14.786 0 0 0-4.357 10.526v190.083a14.784 14.784 0 0 0 4.357 10.521 14.782 14.782 0 0 0 10.52 4.362h190.09a14.788 14.788 0 0 0 10.518-4.362 14.778 14.778 0 0 0 4.359-10.521l-.016-190.083a14.758 14.758 0 0 0-4.357-10.521 14.758 14.758 0 0 0-10.514-4.362H32.912a14.777 14.777 0 0 0-10.52 4.356Zm133.525 194.628a15.4 15.4 0 0 1-10.963-4.539 15.409 15.409 0 0 1-4.545-10.969V178.65a15.406 15.406 0 0 1 4.545-10.964 15.4 15.4 0 0 1 10.957-4.539h48.84a15.4 15.4 0 0 1 10.959 4.539 15.409 15.409 0 0 1 4.539 10.964v22.873a15.4 15.4 0 0 1-4.539 10.959 15.385 15.385 0 0 1-10.959 4.539Zm-99.047-.02c-8.545 0-15.5-6.375-15.5-14.213v-74.217c0-7.838 6.957-14.218 15.5-14.218h48.834c8.547 0 15.5 6.38 15.5 14.218v74.217c0 7.837-6.949 14.213-15.5 14.213Zm99.047-75.462c-8.545 0-15.5-6.375-15.5-14.213V53.11c0-7.838 6.957-14.218 15.5-14.218h48.824c8.553 0 15.508 6.38 15.508 14.218v74.217c0 7.838-6.955 14.213-15.508 14.213ZM56.87 92.781a15.4 15.4 0 0 1-10.957-4.539 15.407 15.407 0 0 1-4.545-10.964V54.395a15.406 15.406 0 0 1 4.545-10.964 15.4 15.4 0 0 1 10.957-4.539h48.824a15.408 15.408 0 0 1 10.969 4.544A15.4 15.4 0 0 1 121.2 54.4v22.873a15.4 15.4 0 0 1-4.537 10.964 15.408 15.408 0 0 1-10.969 4.544Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 881",fill:"none",d:"M0 0h256v256H0z"})]})]}))},E=n(35336),S=n(73891),j=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"documentation-icn",d:"M19.922 256.001H8.633a8.842 8.842 0 0 1-8.631-8.962V77.449a8.845 8.845 0 0 1 8.631-8.962h7.291a8.841 8.841 0 0 1 8.645 8.962v152.944h119.164a8.848 8.848 0 0 1 8.65 8.962v7.685a8.845 8.845 0 0 1-8.65 8.962Zm41.08-46a14.994 14.994 0 0 1-15-15v-180a15 15 0 0 1 15-15h180a15 15 0 0 1 15 15v180a15 15 0 0 1-15 15Zm5-20h170v-170h-170Zm28.742-18.884a.906.906 0 0 1-.9-.906v-23.3a.906.906 0 0 1 .9-.906H210a.907.907 0 0 1 .906.906v23.3a.907.907 0 0 1-.906.906Zm0-52a.91.91 0 0 1-.9-.91v-23.3a.909.909 0 0 1 .9-.905H210a.909.909 0 0 1 .906.905v23.3a.91.91 0 0 1-.906.91Zm0-53a.91.91 0 0 1-.9-.91v-23.3a.907.907 0 0 1 .9-.91H210a.908.908 0 0 1 .906.91v23.3a.911.911 0 0 1-.906.91Z",stroke:"rgba(0,0,0,0)",strokeMiterlimit:10}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 876",fill:"none",d:"M0 0h256v256H0z"})]})]}))},T=n(51420),A=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"DownloadStatIcon",children:[(0,a.jsx)("path",{"data-name":"Uni\\xF3n 24",d:"M0 127.996a128 128 0 0 1 128.008-128 128 128 0 0 1 128 128 128 128 0 0 1-128 128.009A128 128 0 0 1 0 127.996Zm20.484 0A107.643 107.643 0 0 0 128 235.52a107.633 107.633 0 0 0 107.512-107.523A107.631 107.631 0 0 0 128 20.487 107.641 107.641 0 0 0 20.48 127.996Zm98.063 71.518-32.336-32.338a13.192 13.192 0 0 1-3.172-14.743 14.934 14.934 0 0 1 13.3-9.235 13.542 13.542 0 0 1 9.637 4.224l8.563 8.554v-89.16c0-9.069 7.016-13.818 13.953-13.818 6.961 0 13.977 4.749 13.977 13.818v89.16l8.555-8.544a13.481 13.481 0 0 1 9.625-4.233 14.887 14.887 0 0 1 13.3 9.235 13.182 13.182 0 0 1-3.164 14.743l-32.348 32.348a14 14 0 0 1-9.906 4.155 14.085 14.085 0 0 1-9.988-4.166Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 893",fill:"none",d:"M0 0h256v256H0z"})]})]})]}))},C=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 423",d:"M34.549 188.281h186.9a6.641 6.641 0 1 1 0 13.282h-186.9a6.641 6.641 0 0 1-6.641-6.641 6.641 6.641 0 0 1 6.641-6.641Z"}),(0,a.jsx)("path",{"data-name":"Trazado 425",d:"M38.567 162.693a10.385 10.385 0 1 1-10.385 10.385 10.385 10.385 0 0 1 10.385-10.385Z"}),(0,a.jsx)("path",{"data-name":"Trazado 424",d:"M66.709 162.83a10.384 10.384 0 1 1-8.588 11.911 10.384 10.384 0 0 1 8.588-11.912Z"}),(0,a.jsx)("path",{"data-name":"Trazado 405",d:"M255.699 154.149a37.6 37.6 0 0 0-2.994-12.568l-41.95-104.219C207.537 29.62 199.33 24 191.241 24H64.759c-8.089 0-16.3 5.62-19.514 13.362L3.295 141.581a37.61 37.61 0 0 0-2.994 12.568 22.107 22.107 0 0 0-.3 3.612v51.4a22.089 22.089 0 0 0 22.065 22.064h211.87a22.09 22.09 0 0 0 22.065-22.064v-51.4a22.134 22.134 0 0 0-.302-3.612ZM65.754 46.413h124.491l36.053 89.283H30.013Zm167.833 162.4H22.412v-50.708h211.175Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 855",fill:"none",d:"M0 0h256v256H0z"})]})]}))},k=n(59078),M=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 44",d:"M68.023 254.27a84.932 84.932 0 0 1-16-4.981 85.034 85.034 0 0 1-14.469-7.867 85.9 85.9 0 0 1-12.605-10.417 86.052 86.052 0 0 1-10.4-12.633 85.293 85.293 0 0 1-7.857-14.5 84.868 84.868 0 0 1-4.965-16.024 86.347 86.347 0 0 1-1.732-17.194 85.284 85.284 0 0 1 4.422-27.2 84.814 84.814 0 0 1 12.285-23.571 85.562 85.562 0 0 1 18.707-18.5q2.35-1.7 4.787-3.216V19.084c0-5.291 2.291-9.882 6.814-13.658A23.864 23.864 0 0 1 62.7.001h101.867a23.167 23.167 0 0 1 15.266 5.427c4.512 3.771 6.807 8.362 6.813 13.648v55.263h47.275a23.173 23.173 0 0 1 15.264 5.427c4.512 3.775 6.8 8.367 6.813 13.648v108.21a17.675 17.675 0 0 1-6.812 14.023 23.153 23.153 0 0 1-15.248 5.421h-80.016a86.359 86.359 0 0 1-25.8 23.31 84.684 84.684 0 0 1-20.33 8.577 85.257 85.257 0 0 1-22.617 3.046 86.2 86.2 0 0 1-17.152-1.731ZM35.275 136.923a60 60 0 0 0-10.312 33.733A60.345 60.345 0 0 0 85.18 230.99a59.739 59.739 0 0 0 36.213-12.148 22.746 22.746 0 0 1-5.031-3.2 17.621 17.621 0 0 1-6.812-14.018v-54.893H62.71a23.732 23.732 0 0 1-15.7-5.431 17.831 17.831 0 0 1-6.568-10.988 60.318 60.318 0 0 0-5.167 6.61Zm100.654 60.824h94.119V97.293h-43.4v29.992a17.675 17.675 0 0 1-6.812 14.023 23.148 23.148 0 0 1-15.252 5.421H135.93Zm0-74.337H160.7V97.294h-24.771Zm-69.348 0h42.967V93.418c0-5.286 2.295-9.882 6.813-13.653a23.874 23.874 0 0 1 15.693-5.427H160.7V22.956H66.581Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 926",fill:"none",d:"M0 0h256v256H0z"})]})]}))},P=n(30510),O=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 456",d:"M235.996 77.198c.388-15.754.958-32.242-.5-47.942-1.093-11.755-6.192-21.735-17.831-25.915a42.548 42.548 0 0 0-5.016-1.447c-6.55-1.479-13.433-1.6-20.09-1.8-11.727-.343-23.45.365-35.176.314-23.494-.1-46.986.322-70.479.414q-4.228.016-8.456.017H36.242a17.26 17.26 0 0 0-17.241 17.24v220.679a17.26 17.26 0 0 0 17.241 17.24h182.54a17.26 17.26 0 0 0 17.241-17.24V128.816c-.002-17.184-.45-34.46-.027-51.618Zm-20.923 145.983a14.889 14.889 0 0 1-14.889 14.889H51.815a14.889 14.889 0 0 1-14.888-14.888V33.662a14.887 14.887 0 0 1 14.889-14.888h99.548v25.458a37.8 37.8 0 0 0 37.756 37.76h25.952Zm0-157.656h-25.952a21.32 21.32 0 0 1-21.3-21.3V18.767h32.358a14.888 14.888 0 0 1 14.889 14.889Z"}),(0,a.jsx)("path",{"data-name":"Trazado 457",d:"M139.565 84.765a46.768 46.768 0 0 0-42.22 26.113 42.762 42.762 0 0 0-5.095-.3 42.914 42.914 0 0 0-42.866 42.867 42.916 42.916 0 0 0 42.866 42.866h73.123a38.608 38.608 0 0 0 38.566-38.565 38.754 38.754 0 0 0-17.656-32.377 46.973 46.973 0 0 0-46.718-40.6Zm25.809 94.632H92.251a25.986 25.986 0 0 1-25.957-25.957 25.987 25.987 0 0 1 25.957-25.957 25.525 25.525 0 0 1 7.753 1.2 8.459 8.459 0 0 0 6.505-.577 8.446 8.446 0 0 0 4.154-5.039 29.968 29.968 0 0 1 28.9-21.39 30.142 30.142 0 0 1 30.24 29.173 8.453 8.453 0 0 0 4.83 7.341 21.744 21.744 0 0 1 12.4 19.553 21.68 21.68 0 0 1-21.654 21.652Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 898",fill:"none",d:"M0 0h256v256H0z"})]})]}))},R=n(78162),N=n(30272),z=n(52383),I=n(35031),L=n(79877),D=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"Grupo 1551",children:[(0,a.jsx)("path",{"data-name":"Trazado 458",d:"M235.995 76.194c.386-15.753.957-32.241-.5-47.94-1.093-11.754-6.192-21.735-17.832-25.914a42.4 42.4 0 0 0-5.016-1.447c-6.549-1.479-13.432-1.6-20.089-1.8-11.728-.343-23.449.366-35.176.314-23.494-.1-46.986.322-70.479.414q-4.227.018-8.456.017H36.241A17.26 17.26 0 0 0 19 17.078v220.681a17.259 17.259 0 0 0 17.24 17.24h182.541a17.259 17.259 0 0 0 17.24-17.24V127.81c-.002-17.182-.448-34.457-.026-51.616Zm-20.921 145.982a14.889 14.889 0 0 1-14.891 14.89H51.817a14.89 14.89 0 0 1-14.889-14.89V32.665a14.889 14.889 0 0 1 14.889-14.889h99.548v25.458a37.8 37.8 0 0 0 37.756 37.757h25.953Zm0-157.651h-25.953a21.319 21.319 0 0 1-21.294-21.3v-25.46h32.358a14.888 14.888 0 0 1 14.889 14.89Z"}),(0,a.jsx)("path",{"data-name":"Trazado 459",d:"m131.059 177.378-22.8 22.8a17.95 17.95 0 0 1-25.356 0 17.815 17.815 0 0 1-5.251-12.68 17.814 17.814 0 0 1 5.254-12.678l22.8-22.8a17.972 17.972 0 0 1 25.331-.015 7.521 7.521 0 0 0 10.621.187 7.458 7.458 0 0 0 2.292-5.271 7.458 7.458 0 0 0-2.1-5.344 7.641 7.641 0 0 0-.178-.179 33.044 33.044 0 0 0-46.59 0l-22.793 22.814a32.7 32.7 0 0 0-9.659 23.266 32.7 32.7 0 0 0 9.623 23.281 33.136 33.136 0 0 0 23.292 9.659h.166a32.935 32.935 0 0 0 23.174-9.616l22.808-22.811a7.462 7.462 0 0 0 2.107-5.349 7.467 7.467 0 0 0-2.292-5.271 7.485 7.485 0 0 0-10.446.006Z"}),(0,a.jsx)("path",{"data-name":"Trazado 460",d:"m129.038 95.473-22.809 22.809a7.461 7.461 0 0 0-2.105 5.348 7.46 7.46 0 0 0 2.291 5.271 7.482 7.482 0 0 0 10.437 0l22.821-22.822a17.8 17.8 0 0 1 12.576-5.484 17.878 17.878 0 0 1 12.769 5.015 17.8 17.8 0 0 1 5.483 12.576 17.811 17.811 0 0 1-5.016 12.771 18.02 18.02 0 0 1-.479.479l-22.8 22.8a18.058 18.058 0 0 1-25.357-.009 7.522 7.522 0 0 0-10.623.186 7.489 7.489 0 0 0 .017 10.451 32.921 32.921 0 0 0 23.292 9.583 32.932 32.932 0 0 0 23.3-9.584l22.8-22.808a32.728 32.728 0 0 0 9.337-23.423 32.737 32.737 0 0 0-9.962-23.166 32.772 32.772 0 0 0-45.973 0Z"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 913",fill:"none",d:"M0-1h256v256H0z"})]})]}))},H=n(60317),B=n(80479),U=n(37634),F=n(99884),V=n(90474),G=n(15874),W=n(58729),q=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 465",d:"M235.997 77.196c.388-15.754.958-32.242-.5-47.941-1.094-11.755-6.193-21.736-17.831-25.915a42.42 42.42 0 0 0-5.017-1.447C206.1.414 199.217.293 192.56.093c-11.727-.343-23.45.366-35.177.314-23.493-.1-46.985.322-70.479.414q-4.228.018-8.455.017H36.242a17.26 17.26 0 0 0-17.241 17.241v220.686a17.259 17.259 0 0 0 17.241 17.24h182.541a17.26 17.26 0 0 0 17.24-17.24V128.813c.003-17.182-.448-34.458-.026-51.617Zm-20.922 145.986a14.889 14.889 0 0 1-14.89 14.89H51.818a14.888 14.888 0 0 1-14.888-14.89V33.665a14.888 14.888 0 0 1 14.889-14.889h99.547v25.459a37.8 37.8 0 0 0 37.757 37.758h25.951Zm0-157.655h-25.949a21.321 21.321 0 0 1-21.3-21.3V18.765h32.359a14.888 14.888 0 0 1 14.888 14.889Z"}),(0,a.jsx)("path",{"data-name":"Trazado 466",d:"M125.412 80.164a71.163 71.163 0 0 0-71.086 71.082 71.163 71.163 0 0 0 71.082 71.082 71.163 71.163 0 0 0 71.083-71.082 71.163 71.163 0 0 0-71.079-71.082Zm-23.487 19.951c-8.025 12.368-14.515 27.117-16.227 43.732h-16.07a56.413 56.413 0 0 1 32.3-43.732Zm-32.3 58.529h15.866a88.49 88.49 0 0 0 4.224 21.1 102.125 102.125 0 0 0 10.114 21.612 56.4 56.4 0 0 1-30.2-42.712Zm48.386 43.154c-6.658-8.526-16.02-23.7-17.687-43.154h17.687Zm0-57.951h-17.4c1.562-12.561 6.66-26.4 17.4-41.033Zm14.8-41.032c10.734 14.633 15.833 28.471 17.4 41.032h-17.4Zm0 98.982v-43.154h17.687c-1.672 19.455-11.029 34.63-17.688 43.155Zm18.183-.441a102 102 0 0 0 10.112-21.612 88.429 88.429 0 0 0 4.224-21.1h15.867a56.4 56.4 0 0 1-30.2 42.713Zm14.133-57.51c-1.711-16.616-8.2-31.364-16.226-43.732a56.413 56.413 0 0 1 32.3 43.731Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 910",fill:"none",d:"M0 0h256v256H0z"})]})]}))},K=n(49653),$=n(25909),Y=n(18342),Q=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("g",{"data-name":"groups-icn",children:(0,a.jsx)("path",{"data-name":"Trazado 464",d:"M80.48 229.312a27.075 27.075 0 0 1-24.56-14.615 29.94 29.94 0 0 1 2.269-30.668v-.007c.519-.729.982-1.367 1.418-1.952l.008-.006a84.019 84.019 0 0 1 28.115-23.5 87.373 87.373 0 0 1 35.739-9.917 83.994 83.994 0 0 1 4.172-.107 85.882 85.882 0 0 1 18.631 2.076 89.934 89.934 0 0 1 18.062 6.117 86.479 86.479 0 0 1 32.679 25.974 30.568 30.568 0 0 1 3.2 31.789 26.323 26.323 0 0 1-9.982 10.9 28.124 28.124 0 0 1-14.539 3.924Zm43.97-61.409a67.92 67.92 0 0 0-27.724 7.673 64.647 64.647 0 0 0-21.71 18.1c-.32.426-.626.852-.945 1.3l-.116.162a10.394 10.394 0 0 0-.91 10.676 7.736 7.736 0 0 0 2.277 2.691 8.546 8.546 0 0 0 5.158 1.516h95.217c3.461 0 5.9-1.382 7.255-4.114v-.007a10.376 10.376 0 0 0 .951-5.807 11.664 11.664 0 0 0-2.273-5.746 66.98 66.98 0 0 0-23.879-19.38 68.976 68.976 0 0 0-30.14-7.144 70.658 70.658 0 0 0-3.161.076Zm87.819 40.475.254-2.2a40.828 40.828 0 0 0-.3-11.552l-.392-2.3h21.988c2.574 0 4.378-1.014 5.361-3.014v-.014a7.766 7.766 0 0 0 .718-4.344 8.714 8.714 0 0 0-1.715-4.319 52.307 52.307 0 0 0-18.683-15.17 53.964 53.964 0 0 0-23.583-5.594c-.883 0-1.722.021-2.488.062h-.01c-1.158.055-2.323.21-3.557.372-.15.021-.306.041-.457.058l-.817.106-.649-.505a98.534 98.534 0 0 0-13.759-8.872l-3.959-2.151 4.269-1.443a67.359 67.359 0 0 1 18.122-3.6c1.1-.055 2.213-.083 3.315-.083a67.958 67.958 0 0 1 14.8 1.649 71.23 71.23 0 0 1 14.336 4.849 68.418 68.418 0 0 1 25.905 20.624 24.5 24.5 0 0 1 2.584 25.507 21.121 21.121 0 0 1-8.038 8.776 22.614 22.614 0 0 1-11.7 3.154Zm-189.943 0a22.751 22.751 0 0 1-11.626-3.113 21.723 21.723 0 0 1-8.137-8.636v-.006a24.022 24.022 0 0 1 1.831-24.617 42.21 42.21 0 0 1 1.138-1.567 66.738 66.738 0 0 1 22.314-18.666 69.372 69.372 0 0 1 28.369-7.873 68.088 68.088 0 0 1 3.265-.079 68.894 68.894 0 0 1 21.835 3.618l4.27 1.423-3.944 2.168a99.584 99.584 0 0 0-13.552 8.982l-.657.519-.827-.113a50.98 50.98 0 0 0-7.089-.55c-.908 0-1.719.021-2.488.062h-.007a53.11 53.11 0 0 0-21.686 6 50.7 50.7 0 0 0-16.979 14.13c-.214.309-.44.615-.657.91l-.2.275a7.817 7.817 0 0 0-.675 7.986l.008.01a5.536 5.536 0 0 0 1.663 1.966 6.355 6.355 0 0 0 3.832 1.12h21.83l-.389 2.295a40.514 40.514 0 0 0-.269 11.55l.262 2.2ZM70.893 84.196a57.261 57.261 0 0 1 57.2-57.2 57.257 57.257 0 0 1 57.188 57.2 57.26 57.26 0 0 1-57.188 57.2 57.264 57.264 0 0 1-57.2-57.197Zm19.29 0a37.952 37.952 0 0 0 37.909 37.909 37.952 37.952 0 0 0 37.911-37.909 37.952 37.952 0 0 0-37.911-37.908 37.952 37.952 0 0 0-37.909 37.911Zm95.572 53.568a45.7 45.7 0 0 1-9.626-3.508l-2.433-1.213 1.908-1.935a66.163 66.163 0 0 0 7.772-9.446l.876-1.3 1.464.563a29.378 29.378 0 0 0 10.546 2.041 29.531 29.531 0 0 0 29.507-29.49 29.532 29.532 0 0 0-29.507-29.493 12.65 12.65 0 0 0-1.656.154c-.381.052-.773.107-1.189.145l-1.553.141-.5-1.478a66.318 66.318 0 0 0-4.962-11.288l-1.325-2.381 2.676-.512a45.609 45.609 0 0 1 8.5-.828 45.6 45.6 0 0 1 45.548 45.54 45.594 45.594 0 0 1-45.548 45.537 44.9 44.9 0 0 1-10.496-1.249Zm-171.42-44.29a45.586 45.586 0 0 1 45.526-45.54 45.391 45.391 0 0 1 8.56.835l2.69.512-1.339 2.385a66.792 66.792 0 0 0-4.993 11.292l-.5 1.48-1.557-.154c-.395-.038-.77-.089-1.134-.141a12.977 12.977 0 0 0-1.726-.162 29.517 29.517 0 0 0-29.479 29.493 29.517 29.517 0 0 0 29.479 29.49 29.18 29.18 0 0 0 10.57-2.048l1.453-.561.884 1.285a68.636 68.636 0 0 0 7.794 9.46l1.913 1.941-2.439 1.206a46.366 46.366 0 0 1-9.652 3.512 44.893 44.893 0 0 1-10.522 1.25 45.583 45.583 0 0 1-45.527-45.535Z"})}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 886",fill:"none",d:"M0 0h256v256H0z"})]})]}))},J=n(20426),X=n(97538),ee=n(83842),te=n(73738),ne=n(42797),re=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{d:"m127.996 255.998-48-64H42.252a31.385 31.385 0 0 1-14.189-3.563 54.7 54.7 0 0 1-14.061-10.69 55.543 55.543 0 0 1-10.5-14.313 32.835 32.835 0 0 1-3.5-14.434v-106a32.839 32.839 0 0 1 3.5-14.438 55.538 55.538 0 0 1 10.5-14.312A54.623 54.623 0 0 1 28.063 3.561 31.4 31.4 0 0 1 42.252 0h171.494a31.389 31.389 0 0 1 14.188 3.561 54.7 54.7 0 0 1 14.068 10.687 55.531 55.531 0 0 1 10.5 14.313 32.839 32.839 0 0 1 3.5 14.437v106a32.835 32.835 0 0 1-3.5 14.438 55.532 55.532 0 0 1-10.5 14.313 54.676 54.676 0 0 1-14.064 10.69 31.371 31.371 0 0 1-14.187 3.563h-37.758l-47.994 64Zm2.3-164.808c3.25 6.531 8.105 16.287 12.771 25.671l2.207 4.436c4.8 9.657 8.277 16.634 8.4 16.856a28.061 28.061 0 0 0 11.422 12.328 33.352 33.352 0 0 0 16.873 4.511 34.058 34.058 0 0 0 9.076-1.229 7.893 7.893 0 0 0 4.939-3.831 6.445 6.445 0 0 0 .395-5.167 7.229 7.229 0 0 0-2.971-3.688 8.874 8.874 0 0 0-4.754-1.376 9.005 9.005 0 0 0-2.395.324 16.147 16.147 0 0 1-4.268.574 15.731 15.731 0 0 1-8.162-2.244 13.156 13.156 0 0 1-5.385-6.093l-.385-.771-2.3-4.636-.037-.073c-8.051-16.214-29.434-59.283-32.84-65.75l-.711-1.376-.127-.241v-.007c-2.111-3.99-5.3-10.021-10.895-15.062a34.192 34.192 0 0 0-10.361-6.44 40.584 40.584 0 0 0-14.949-2.656c-4.457 0-8.082 3.223-8.082 7.185s3.625 7.19 8.082 7.19h.014c12.277 0 16.834 6.963 21.516 16.065l.779 1.469c.379.724 1 1.938 1.85 3.617l.105.211 1.953 3.842-44.129 69.447a6.471 6.471 0 0 0-.658 5.161 7.3 7.3 0 0 0 3.842 4.43 8.881 8.881 0 0 0 3.973.933 8.922 8.922 0 0 0 3.906-.893 7.746 7.746 0 0 0 3-2.558l38.313-60.161Z"})]})]}))},ae=n(6793),oe=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({},e),{},{className:"min-icon",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 10 10",children:(0,a.jsx)("path",{d:"M0,0v10l2.8-2.2H10V0H0z M6.6,6L5.6,6.4l-0.8-2l-1.5,2L2.5,5.9l1.9-2.6L4.1,2.4H3.2v-1h1.5l1.4,3.7l0.9-0.4 l0.4,0.9L6.6,6z"})}))},ie=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 16",d:"M15.084 248.677c-8.375 0-15.186-7.333-15.186-16.344V70.89c0-9.016 6.811-16.354 15.186-16.354l118.74-1.037a62.9 62.9 0 0 1 4.355-11.793 62.879 62.879 0 0 1 6.645-10.7 61.818 61.818 0 0 1 8.719-9.186 61.885 61.885 0 0 1 10.6-7.323 62.176 62.176 0 0 1 29.791-7.6 62.232 62.232 0 0 1 62.164 62.164 61.645 61.645 0 0 1-3.574 20.762 61.809 61.809 0 0 1-9.9 17.787 62.654 62.654 0 0 1-14.977 13.581 61.989 61.989 0 0 1-18.74 8.129v103.014c0 9.011-6.8 16.344-15.17 16.344Zm4.492-172.963a14.386 14.386 0 0 0-3.795 9.851V217.65c0 7.682 5.8 13.93 12.939 13.93h151.4c7.121 0 12.916-6.248 12.916-13.93v-86.472a61.49 61.49 0 0 1-23.232-4.875 61.964 61.964 0 0 1-19.193-12.784 62.138 62.138 0 0 1-13.236-18.857 61.664 61.664 0 0 1-5.465-23.021H28.723a12.414 12.414 0 0 0-9.147 4.072Zm152.111-47.433a46.458 46.458 0 0 0-24.189 40.779 46.493 46.493 0 0 0 46.438 46.442 46.4 46.4 0 0 0 14.4-2.311 5.7 5.7 0 0 0 .391-.509l.184-.269v.566a46.525 46.525 0 0 0 12.549-6.574 46.832 46.832 0 0 0 10-10.039 46.2 46.2 0 0 0 6.57-12.7 46.119 46.119 0 0 0 2.357-14.6 46.5 46.5 0 0 0-46.453-46.447 46.451 46.451 0 0 0-22.247 5.662ZM45.818 209.303a1.006 1.006 0 0 1-1-1.009v-20.649a1.006 1.006 0 0 1 1-1.009h110.521a1.011 1.011 0 0 1 1.01 1.009v20.649a1.011 1.011 0 0 1-1.01 1.009Zm0-44.934a1.006 1.006 0 0 1-1-1.009v-20.649a1.006 1.006 0 0 1 1-1.009h110.521a1.011 1.011 0 0 1 1.01 1.009v20.649a1.011 1.011 0 0 1-1.01 1.009Zm0-44.934a1.006 1.006 0 0 1-1-1.009V97.777a1.006 1.006 0 0 1 1-1.009h88.053a1.009 1.009 0 0 1 1.008 1.009v20.649a1.009 1.009 0 0 1-1.008 1.009Zm144.836-27.656h-.023a6.229 6.229 0 0 1-4.484-1.886L172.17 75.921a6.4 6.4 0 0 1 .316-9.04 6.387 6.387 0 0 1 4.361-1.716 6.392 6.392 0 0 1 4.357 1.716l9.449 9.459 23.482-23.436a6.3 6.3 0 0 1 4.518-1.881 6.312 6.312 0 0 1 4.461 1.825l.053.057a6.323 6.323 0 0 1 1.895 4.484 6.3 6.3 0 0 1-1.838 4.5l-.057.057-27.982 27.951a6.211 6.211 0 0 1-4.48 1.886Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 877",fill:"none",d:"M0 0h256v256H0z"})]})]}))},le=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 856",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 406",d:"M210.861 74.863h-28.736V48.236C182.125 21.636 157.844 0 128 0S73.875 21.638 73.875 48.236v26.627H45.139C20.25 74.863.001 92.971.001 115.23v84.8c0 21.912 19.623 39.8 43.979 40.353l84.021 14.62 84.021-14.62c24.356-.551 43.979-18.441 43.979-40.353v-84.8c-.001-22.259-20.25-40.367-45.14-40.367ZM96.296 48.236c0-15.579 14.222-28.254 31.7-28.254s31.7 12.675 31.7 28.254v26.627H96.289Zm137.281 151.79c0 11.24-10.191 20.385-22.717 20.385h-1.084l-81.777 14.229-81.777-14.229h-1.084c-12.526 0-22.716-9.145-22.716-20.385v-84.8c0-11.24 10.19-20.385 22.716-20.385h165.723c12.526 0 22.717 9.145 22.717 20.385Z"}),(0,a.jsx)("path",{"data-name":"Trazado 407",d:"M127.707 139.723a19.085 19.085 0 0 0-19.085 19.086 19.066 19.066 0 0 0 8.4 15.818v15.377a10.1 10.1 0 0 0 10.073 10.073h1.218a10.1 10.1 0 0 0 10.073-10.073v-15.377a19.067 19.067 0 0 0 8.4-15.818 19.086 19.086 0 0 0-19.079-19.086Z"})]})]}))},se=n(58368),ce=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"logs-icn",children:[(0,a.jsx)("path",{"data-name":"Uni\\xF3n 20",d:"M17.298 255.999a17.314 17.314 0 0 1-17.3-17.291V17.302a17.322 17.322 0 0 1 17.3-17.3h221.4a17.325 17.325 0 0 1 17.3 17.3v221.406a17.316 17.316 0 0 1-17.3 17.291Zm.7-32.922a14.938 14.938 0 0 0 14.934 14.937H223.07A14.935 14.935 0 0 0 238 223.077v-133.4H18Zm45.949-69.443a6.943 6.943 0 0 1-6.814-7.061v-16.314a6.937 6.937 0 0 1 6.814-7.054h62.056a6.924 6.924 0 0 1 6.795 7.054v16.318a6.929 6.929 0 0 1-6.795 7.061Z"}),(0,a.jsx)("path",{"data-name":"Trazado 343 - Contorno",d:"M17.3-.1h221.4a17.421 17.421 0 0 1 17.4 17.4v221.409a17.416 17.416 0 0 1-17.4 17.391H17.3A17.416 17.416 0 0 1-.1 238.709V17.301A17.421 17.421 0 0 1 17.3-.1Zm221.4 256a17.216 17.216 0 0 0 17.2-17.191V17.301a17.221 17.221 0 0 0-17.2-17.2H17.3a17.221 17.221 0 0 0-17.2 17.2v221.408A17.216 17.216 0 0 0 17.3 255.9ZM17.9 89.576h220.2v133.5a14.945 14.945 0 0 1-4.4 10.634 14.93 14.93 0 0 1-10.627 4.405H32.931a14.93 14.93 0 0 1-10.627-4.405 14.942 14.942 0 0 1-4.4-10.634Zm220 .2H18.1v133.3a14.745 14.745 0 0 0 4.346 10.493 14.73 14.73 0 0 0 10.486 4.347h190.139a14.73 14.73 0 0 0 10.486-4.347 14.745 14.745 0 0 0 4.346-10.493Z"}),(0,a.jsx)("path",{"data-name":"Trazado 344 - Contorno",d:"M63.948 123.102h62.057a6.726 6.726 0 0 1 4.878 2.1 7.247 7.247 0 0 1 2.015 5.058v16.318a7.038 7.038 0 0 1-6.893 7.16H63.948a7.049 7.049 0 0 1-6.915-7.16V130.26a7.045 7.045 0 0 1 6.915-7.158Zm62.057 30.431a6.838 6.838 0 0 0 6.693-6.96v-16.318a7.047 7.047 0 0 0-1.959-4.919 6.526 6.526 0 0 0-4.733-2.034H63.949a6.845 6.845 0 0 0-6.714 6.953v16.318a6.848 6.848 0 0 0 6.714 6.96Z"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 889",fill:"none",d:"M0 0h256v256H0z"})]})]}))},ue=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 39",d:"M119.5 246.769v-19a9 9 0 0 1 9-9 9 9 0 0 1 9 9v19a9 9 0 0 1-9 9 9.006 9.006 0 0 1-9-9Zm0-43.852v-19a9.006 9.006 0 0 1 9-9 9 9 0 0 1 9 9v19a9 9 0 0 1-9 9 9.006 9.006 0 0 1-9-9Zm117.967-22.283-71.154-41.4a12.875 12.875 0 0 1-6.463-11.237 12.889 12.889 0 0 1 6.463-11.237l71.154-41.394A13 13 0 0 1 257 86.6v82.794a13.018 13.018 0 0 1-13.021 13.02 12.877 12.877 0 0 1-6.514-1.78Zm-54.674-52.636 56.211 32.7v-65.4ZM0 169.4V86.6a13 13 0 0 1 19.535-11.237l71.15 41.394a12.879 12.879 0 0 1 6.461 11.237 12.865 12.865 0 0 1-6.461 11.237l-71.15 41.4a12.9 12.9 0 0 1-6.518 1.783A13.015 13.015 0 0 1 0 169.4Zm18-8.7L74.205 128 18 95.3Zm101.5-1.636v-19a9 9 0 0 1 9-9 9 9 0 0 1 9 9v19a9 9 0 0 1-9 9 9 9 0 0 1-9-8.998Zm0-43.857v-19a9.006 9.006 0 0 1 9-9 9 9 0 0 1 9 9v19a9 9 0 0 1-9 9 9.006 9.006 0 0 1-9-8.999Zm0-43.852v-19a9 9 0 0 1 9-9 9 9 0 0 1 9 9v19a9 9 0 0 1-9 9 9 9 0 0 1-9-8.998Zm0-43.857v-19a9.006 9.006 0 0 1 9-9 9 9 0 0 1 9 9v19a9 9 0 0 1-9 9 9.006 9.006 0 0 1-9-8.998Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 923",fill:"none",d:"M0 0h256v256H0z"})]})]}))},de=n(71208),fe=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({},e),{},{className:"min-icon",fill:"currentcolor",id:"Account_Icon","data-name":"Account Icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16.409 13.096",children:[(0,a.jsx)("path",{id:"Trazado_391","data-name":"Trazado 391",d:"M-4332.855-1143.481a3.023,3.023,0,0,0,2.958-3.078,3.023,3.023,0,0,0-2.958-3.078,3.023,3.023,0,0,0-2.958,3.078A3.023,3.023,0,0,0-4332.855-1143.481Zm0-5.194a2.078,2.078,0,0,1,2.03,2.116,2.077,2.077,0,0,1-2.03,2.116,2.075,2.075,0,0,1-2.028-2.116A2.076,2.076,0,0,1-4332.855-1148.675Z",transform:"translate(4339.12 1149.637)",fill:"#07193e"}),(0,a.jsx)("path",{id:"Trazado_392","data-name":"Trazado 392",d:"M-4337.952-1130.053a1.374,1.374,0,0,0,1.252.775h4.993a1.354,1.354,0,0,0,1.25-.786,1.675,1.675,0,0,0-.164-1.686,4.521,4.521,0,0,0-1.7-1.405,4.361,4.361,0,0,0-2.125-.438,4.483,4.483,0,0,0-3.318,1.808c-.026.035-.051.071-.075.106A1.641,1.641,0,0,0-4337.952-1130.053Zm6.663-.437a.426.426,0,0,1-.417.25h-4.993a.453.453,0,0,1-.427-.254.64.64,0,0,1,.053-.632h0c.017-.027.037-.054.057-.08a3.539,3.539,0,0,1,2.622-1.424c.056,0,.113,0,.168,0a3.606,3.606,0,0,1,2.864,1.466A.686.686,0,0,1-4331.29-1130.49Z",transform:"translate(4340.467 1140.236)",fill:"#07193e"}),(0,a.jsx)("path",{id:"Trazado_393","data-name":"Trazado 393",d:"M-4329.387-1146.951h-3.506a.476.476,0,0,0-.477.476.477.477,0,0,0,.477.476h3.506a1.047,1.047,0,0,1,1.046,1.045v7.99a1.047,1.047,0,0,1-1.046,1.045H-4341.8a1.047,1.047,0,0,1-1.046-1.045v-7.99A1.048,1.048,0,0,1-4341.8-1146a.476.476,0,0,0,.476-.476.476.476,0,0,0-.476-.476,2,2,0,0,0-2,2v7.99a2,2,0,0,0,2,2h12.412a2,2,0,0,0,2-2v-7.99A2,2,0,0,0-4329.387-1146.951Z",transform:"translate(4343.797 1148.063)",fill:"#07193e"}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_809","data-name":"Rect\xe1ngulo 809",width:"3.266",height:"2.781",rx:"1.024",transform:"translate(11.002 3.376)",fill:"#07193e"}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_810","data-name":"Rect\xe1ngulo 810",width:"3.266",height:"1.336",rx:"0.668",transform:"translate(11.002 7.328)",fill:"#07193e"}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_811","data-name":"Rect\xe1ngulo 811",width:"3.266",height:"1.336",rx:"0.668",transform:"translate(11.002 9.621)",fill:"#07193e"})]}))},pe=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"NextArrowIcon",children:[(0,a.jsx)("path",{d:"M19.805 108.063c-26.4 0-26.4 40.032 0 40.032h167.684l-22.739 22.668c-18.656 18.622 9.725 46.922 28.382 28.316l56.873-56.731a19.991 19.991 0 0 0 0-28.548l-56.877-56.716c-18.656-18.6-47.038 9.684-28.382 28.3l22.743 22.679H19.805Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 863",fill:"none",d:"M.003 0h256v256h-256z"})]})]})]}))},he=n(416),me=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{"data-name":"Object Browser",clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"Grupo 1559",children:[(0,a.jsxs)("g",{"data-name":"Grupo 1541",transform:"translate(88.095 103.898)",children:[(0,a.jsx)("circle",{"data-name":"Elipse 57",cx:11.515,cy:11.515,r:11.515,transform:"rotate(-10.901 280.738 -178.561)"}),(0,a.jsx)("rect",{"data-name":"Rect\\xE1ngulo 805",width:24.592,height:20.853,rx:1.35,transform:"translate(14.546 25.545)"}),(0,a.jsx)("path",{"data-name":"Trazado 365",d:"M28.151 60.295a2.427 2.427 0 0 0-4.2 0l-9.1 15.761a2.425 2.425 0 0 0 2.1 3.64h18.2a2.43 2.43 0 0 0 2.105-3.64Z"}),(0,a.jsx)("path",{"data-name":"Trazado 366",d:"M79.273 28.199a151.334 151.334 0 0 0-.187-17.51c-.395-4.294-2.262-7.942-6.512-9.468a15.5 15.5 0 0 0-1.836-.529 38.335 38.335 0 0 0-7.332-.658c-4.289-.125-8.57.136-12.855.116-8.582-.036-17.16.116-25.746.152H6.301a6.308 6.308 0 0 0-6.3 6.3v80.617a6.307 6.307 0 0 0 6.3 6.3h66.684a6.3 6.3 0 0 0 6.3-6.3V47.054c-.004-6.273-.168-12.584-.012-18.855Zm-7.648 53.334a5.435 5.435 0 0 1-5.434 5.439h-54.2a5.442 5.442 0 0 1-5.441-5.439V12.3a5.441 5.441 0 0 1 5.441-5.442h36.367v9.3a13.809 13.809 0 0 0 13.789 13.794h9.48Zm0-57.6h-9.48a7.781 7.781 0 0 1-7.773-7.777v-9.3h11.82a5.435 5.435 0 0 1 5.434 5.442Z"})]}),(0,a.jsx)("path",{"data-name":"Trazado 367",d:"M101.726 42.067c6.607 0 13.691 18.858 20.771 18.858h88.056a9.46 9.46 0 0 1 9.439 9.429v4.715H40.348V51.496h-.235a9.462 9.462 0 0 1 9.439-9.429h52.174m124.392 44.5a9.812 9.812 0 0 1 9.787 9.772l-10.03 107.756a9.811 9.811 0 0 1-9.787 9.771H39.671a9.808 9.808 0 0 1-9.787-9.771L20.093 96.339a9.813 9.813 0 0 1 9.791-9.772h196.233M101.725 21.999H49.551a29.549 29.549 0 0 0-29.533 29.5 20 20 0 0 0 .235 3.081v13.513A29.9 29.9 0 0 0-.002 96.344c0 .605.031 1.208.086 1.814l9.724 107.089a29.9 29.9 0 0 0 29.862 28.691h176.417a29.9 29.9 0 0 0 29.854-28.663l9.975-107.074c.051-.617.082-1.239.082-1.857a29.87 29.87 0 0 0-15.909-26.376 29.555 29.555 0 0 0-29.537-29.106h-81.5c-.4-.532-.786-1.059-1.123-1.517-5.1-6.906-12.8-17.342-26.2-17.342Z"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 875",fill:"none",d:"M0 0h256v256H0z"})]})]}))},ve=n(93482),ge=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({},e),{},{className:"min-icon",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",children:(0,a.jsxs)("g",{id:"Layer 1",children:[(0,a.jsx)("path",{d:"M217.452+193.452L217.452+224.458L38.4601+224.458L38.4601+193.452L0.104767+193.452L0.104767+255.464L255.807+255.464L255.807+193.452L217.452+193.452Z",opacity:"1"}),(0,a.jsx)("path",{d:"M70.1156+194.746L98.6658+194.746L98.6658+97.0605L120.994+97.0605L84.3907+51.995L47.7878+97.0605L70.1156+97.0605L70.1156+194.746Z",opacity:"1"}),(0,a.jsx)("path",{d:"M183.757+52.6023L155.207+52.6922L155.515+150.377L133.187+150.448L169.932+195.398L206.392+150.217L184.065+150.288L183.757+52.6023Z",opacity:"1"})]})}))},ye=n(78851),xe=n(26805),be=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 36",d:"m203.074 254.064-74.746-44.835-74.746 44.835a13.592 13.592 0 0 1-20.586-11.636V46.276A46.324 46.324 0 0 1 79.277 0h98.078a46.328 46.328 0 0 1 46.281 46.276v196.152a13.576 13.576 0 0 1-20.562 11.636Zm-67.778-72.319 61.176 36.71V46.276a19.133 19.133 0 0 0-19.113-19.133H79.277a19.148 19.148 0 0 0-19.113 19.133v172.179l61.16-36.71a13.569 13.569 0 0 1 13.969 0Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 921",fill:"none",d:"M0 0h256v256H0z"})]})]}))},we=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({version:"1.1",id:"Layer_1",className:"min-icon",fill:"currentcolor",viewBox:"0 0 256 256"},e),{},{children:(0,a.jsxs)("g",{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("rect",{id:"SVGID_1_",x:"2.6",y:"47.4",width:"250.4",height:"161.2"})}),(0,a.jsxs)("g",{children:[(0,a.jsx)("path",{d:"M127.8,95.5c-18,0-32.5,14.6-32.5,32.5c0,18,14.6,32.5,32.5,32.5l0,0 c18,0,32.5-14.6,32.5-32.5C160.3,110,145.8,95.5,127.8,95.5",fill:"currentcolor"}),(0,a.jsx)("path",{d:"M248.2,112C204.1,45.5,114.5,27.4,48,71.4C31.9,82.1,18.1,95.9,7.5,112 c-6.5,9.7-6.5,22.3,0,32c44.1,66.5,133.7,84.6,200.1,40.5c16.1-10.7,29.9-24.5,40.5-40.5C254.6,134.3,254.6,121.7,248.2,112 M127.8,181.2c-29.4,0-53.2-23.8-53.2-53.2s23.8-53.2,53.2-53.2S181,98.6,181,128l0,0C181,157.4,157.2,181.2,127.8,181.2",fill:"currentcolor"})]})]})}))},_e=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"PrometheusIcon",children:[(0,a.jsx)("path",{d:"M128.908 0a128 128 0 1 0 128 128 128 128 0 0 0-128-128Zm0 239.565c-20.112 0-36.42-13.435-36.42-30h72.839c.004 16.561-16.302 30-36.419 30Zm60.154-39.941H68.751v-21.818h120.317v21.817Zm-.432-33.046H69.094c-.4-.458-.8-.91-1.188-1.375-12.315-14.954-15.216-22.76-18.032-30.717-.048-.262 14.933 3.06 25.556 5.45 0 0 5.466 1.265 13.458 2.722a49.95 49.95 0 0 1-12.23-32.117c0-25.658 19.68-48.08 12.58-66.2 6.91.562 14.3 14.583 14.8 36.506 7.346-10.152 10.42-28.691 10.42-40.057 0-11.769 7.755-25.44 15.512-25.908-6.915 11.4 1.79 21.165 9.53 45.4 2.9 9.1 2.532 24.423 4.772 34.139.744-20.178 4.213-49.621 17.014-59.785-5.647 12.8.836 28.819 5.27 36.519 7.154 12.424 11.49 21.836 11.49 39.639a49.518 49.518 0 0 1-11.84 31.959c8.452-1.586 14.289-3.016 14.289-3.016l27.451-5.355s-3.985 16.4-19.312 32.196Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 895",fill:"none",d:"M0 0h256v256H0z"})]})]})]}))},Ze=n(11733),Ee=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 373",d:"M18 145.888A110.2 110.2 0 0 1 126.767 35.85L113.78 22.869c-12.378-12.378 6.448-31.2 18.822-18.824l37.722 37.72a13.32 13.32 0 0 1 0 18.979l-37.722 37.714c-12.374 12.374-31.2-6.442-18.822-18.82l14.085-14.085a80.434 80.434 0 0 0-80.1 80.335 80.443 80.443 0 0 0 80.349 80.35 80.441 80.441 0 0 0 80.349-80.35 14.878 14.878 0 0 1 14.879-14.877 14.879 14.879 0 0 1 14.882 14.877A110.234 110.234 0 0 1 128.114 256 110.232 110.232 0 0 1 18 145.888Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 871",fill:"none",d:"M0 0h256v256H0z"})]})]}))},Se=n(18221),je=n(35150),Te=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{"data-name":"Reported Usage",clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 390",d:"M128.003 0a128.151 128.151 0 0 0-128 128c0 70.573 57.424 127.995 128 127.995a128.147 128.147 0 0 0 128-127.995 128.15 128.15 0 0 0-128-128Zm0 223.078a95.188 95.188 0 0 1-95.085-95.075 95.191 95.191 0 0 1 95.085-95.084v95.084h95.075a95.184 95.184 0 0 1-95.075 95.074Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 869",fill:"none",d:"M0 0h256v256H0z"})]})]}))},Ae=n(13336),Ce=n(74524),ke=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"servers-icn",children:[(0,a.jsx)("path",{"data-name":"Trazado 404",d:"M128 0C64.408 0 0 15.267 0 44.414v167.17c0 29.147 64.408 44.415 128 44.415s128-15.268 128-44.415V44.414C256 15.267 191.592 0 128 0Zm105.743 211.584c0 8.945-37.324 25.909-105.739 25.909s-105.74-17.118-105.74-25.909v-58.911c24.116 11.967 65.15 18.2 105.74 18.2s81.623-6.169 105.739-18.29Zm0-85.128c0 8.791-37.324 25.908-105.739 25.908s-105.74-17.118-105.74-25.908V70.537c24.116 12.06 65.15 18.29 105.74 18.29s81.623-6.168 105.739-18.29ZM128.004 70.321c-68.416 0-105.74-17.118-105.74-25.908s37.324-25.908 105.74-25.908 105.739 17.119 105.739 25.909S196.415 70.323 128 70.323Z"}),(0,a.jsx)("circle",{"data-name":"Elipse 59",cx:15.793,cy:15.793,r:15.793,transform:"rotate(-31.72 348.405 44.732)"}),(0,a.jsx)("circle",{"data-name":"Elipse 60",cx:15.793,cy:15.793,r:15.793,transform:"rotate(-31.72 207.061 4.576)"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 854",fill:"none",d:"M0 0h256v256H0z"})]})]}))},Me=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 463",d:"M32.291 232.53a32.336 32.336 0 0 1-32.289-32.3V76.935a32.33 32.33 0 0 1 32.289-32.3 8.837 8.837 0 0 1 8.832 8.822 8.845 8.845 0 0 1-8.832 8.831 14.663 14.663 0 0 0-14.648 14.648v123.295a14.661 14.661 0 0 0 14.648 14.64h191.4a14.66 14.66 0 0 0 14.641-14.64V76.936a14.661 14.661 0 0 0-14.641-14.648h-54.07a8.845 8.845 0 0 1-8.832-8.831 8.762 8.762 0 0 1 2.586-6.236 8.735 8.735 0 0 1 6.246-2.586h54.07a32.345 32.345 0 0 1 32.313 32.3V200.23a32.351 32.351 0 0 1-32.312 32.3Zm140.445-33.006a3.078 3.078 0 0 1-3.082-3.07V179.02a3.08 3.08 0 0 1 3.082-3.08h47.18a3.077 3.077 0 0 1 3.07 3.08v17.434a3.075 3.075 0 0 1-3.07 3.07Zm-113.141 0a22.643 22.643 0 0 1-20.648-12.767 26.835 26.835 0 0 1 1.891-26.579l.02-.019c.094-.143.2-.285.3-.428.273-.409.559-.827.871-1.245a70.651 70.651 0 0 1 52.277-28.5 62.967 62.967 0 0 1 3.543-.095 67.043 67.043 0 0 1 15.211 1.777 71.594 71.594 0 0 1 14.734 5.219 71.248 71.248 0 0 1 26.73 22.149 27.371 27.371 0 0 1 2.672 27.53 22.363 22.363 0 0 1-20.629 12.956Zm-3.719-30.372v.01l-.047.058c-.191.256-.371.5-.531.741v.028l-.258.371a8.365 8.365 0 0 0-.715 8.261 5.526 5.526 0 0 0 5.27 3.1h76.969a6.062 6.062 0 0 0 3.156-.761 4.988 4.988 0 0 0 1.949-2.243 8.485 8.485 0 0 0 .715-4.524 9.18 9.18 0 0 0-1.7-4.468 54.088 54.088 0 0 0-42.969-22.007c-.93 0-1.75.019-2.508.066h-.012a53.055 53.055 0 0 0-39.318 21.368Zm116.859-5.01a3.08 3.08 0 0 1-3.082-3.079v-17.425a3.08 3.08 0 0 1 3.082-3.08h47.18a3.077 3.077 0 0 1 3.07 3.08v17.425a3.077 3.077 0 0 1-3.07 3.079Zm-.59-38.7a2.5 2.5 0 0 1-2.492-2.5V82.066a2.5 2.5 0 0 1 2.492-2.5h48.348a2.5 2.5 0 0 1 2.492 2.5v40.876a2.5 2.5 0 0 1-2.492 2.5ZM50.981 74.213c0-28.233 22.09-51.209 49.242-51.209s49.258 22.976 49.258 51.209a52.579 52.579 0 0 1-3.867 19.906 51.257 51.257 0 0 1-10.551 16.274 49.07 49.07 0 0 1-15.656 11 47.257 47.257 0 0 1-19.184 4.041c-27.151 0-49.241-22.976-49.241-51.22Zm17.977 0c0 18.033 14.031 32.711 31.266 32.711 17.262 0 31.3-14.678 31.3-32.711s-14.039-32.7-31.3-32.7c-17.234 0-31.265 14.668-31.265 32.701Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 883",fill:"none",d:"M0 0h256v256H0z"})]})]}))},Pe=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({},e),{},{className:"min-icon",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 10 9.5",children:(0,a.jsxs)("g",{transform:"translate(231 719.516)",children:[(0,a.jsx)("path",{d:"M-125.5,7.984a4.5,4.5,0,0,1,4.5-4.5,4.5,4.5,0,0,1,4.5,4.5Z",transform:"translate(-105 -720)"}),(0,a.jsx)("rect",{width:"10",height:"1",transform:"translate(-231 -711.016)"}),(0,a.jsx)("path",{d:"M-119.5.484h-3v1h1v1h1v-1h1Z",transform:"translate(-105 -720)"})]})}))},Oe=n(30723),Re=n(35994),Ne=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"SpeedTestIcon",children:[(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 850",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 426",d:"m63.413 63.057-.1.084a5.326 5.326 0 0 0 3.505 9.344l-.011.063a5.319 5.319 0 0 0 3.516-1.371l.1-.084q.167-.135.322-.281a5.337 5.337 0 1 0-7.333-7.756Z"}),(0,a.jsx)("path",{"data-name":"Trazado 427",d:"M48.827 88.433a4.336 4.336 0 0 0-5.884 1.729v.095a4.336 4.336 0 0 0 3.817 6.344l-.011.01a4.361 4.361 0 0 0 2.078-8.178Z"}),(0,a.jsx)("path",{"data-name":"Trazado 428",d:"M127.29 52.816h.293a7.816 7.816 0 1 0-.046-15.631h-.247a7.816 7.816 0 0 0 0 15.631Z"}),(0,a.jsx)("path",{"data-name":"Trazado 429",d:"M37.263 119.721h-.028a2.958 2.958 0 0 0-3.324 2.541v.08a2.973 2.973 0 0 0 2.559 3.336 3.173 3.173 0 0 0 .379 0l-.021.007a2.972 2.972 0 0 0 2.959-2.558v-.056a2.966 2.966 0 0 0-2.524-3.35Z"}),(0,a.jsx)("path",{"data-name":"Trazado 430",d:"m91.954 44.052-.209.078a7.07 7.07 0 0 0 2.5 13.688l-.022.065a7.009 7.009 0 0 0 2.537-.529l.165-.066.1-.039a7.071 7.071 0 1 0-5.076-13.2Z"}),(0,a.jsx)("path",{"data-name":"Trazado 431",d:"M192.48 73.763a9.817 9.817 0 0 0-.929-13.852l-.268-.235a9.817 9.817 0 0 0-12.881 14.8l.246.212a9.806 9.806 0 0 0 6.452 2.426 9.815 9.815 0 0 0 7.38-3.351Z"}),(0,a.jsx)("path",{"data-name":"Trazado 432",d:"M205.131 108.033Z"}),(0,a.jsx)("path",{"data-name":"Trazado 433",d:"m227.69 121.128-.067-.495a12.786 12.786 0 0 0-12.612-11.007 12.761 12.761 0 0 0-12.638 14.485v.428a12.786 12.786 0 0 0 12.612 11.047 13.068 13.068 0 0 0 1.778-.12 12.76 12.76 0 0 0 10.927-14.338Z"}),(0,a.jsx)("path",{"data-name":"Trazado 434",d:"M210.416 102.215a11.283 11.283 0 0 0 4.537-15.3l-.2-.361a16.398 16.398 0 0 0-.27-.5 11.283 11.283 0 1 0-19.545 11.281l.187.336a11.278 11.278 0 0 0 15.289 4.538Z"}),(0,a.jsx)("path",{"data-name":"Trazado 435",d:"m160.575 42.633-.289-.111a8.657 8.657 0 1 0-6.052 16.222l.255.1a8.643 8.643 0 0 0 3.048.556l-.01.066a8.7 8.7 0 0 0 3.048-16.833Z"}),(0,a.jsx)("path",{"data-name":"Trazado 436",d:"m148.433 112.148-13.839 11.867a.333.333 0 0 1-.331 0 17.171 17.171 0 1 0 10.435 12.167.333.333 0 0 1 0-.316l13.9-11.866a7.807 7.807 0 0 0-10.165-11.851Zm-12.039 27.588a8.26 8.26 0 1 1-8.26-8.26 8.26 8.26 0 0 1 8.26 8.259Z"}),(0,a.jsx)("path",{"data-name":"Trazado 437",d:"M138.134 194.756h-20.3a3.765 3.765 0 0 0 0 7.53h20.33a3.764 3.764 0 0 0 3.764-3.765v-.03a3.765 3.765 0 0 0-3.794-3.735Z"}),(0,a.jsx)("path",{"data-name":"Trazado 438",d:"M127.999 0a128 128 0 1 0 128 128 128.15 128.15 0 0 0-128-128Zm0 233.412A105.412 105.412 0 1 1 233.414 128a105.412 105.412 0 0 1-105.415 105.412Z"})]})]})]}))},ze=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 864",fill:"none",d:"M0 0h256v255.259H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 396",d:"M241.464 0H14.521A14.433 14.433 0 0 0 .001 14.3v51.963a14.433 14.433 0 0 0 14.52 14.3h226.943A14.437 14.437 0 0 0 256 66.263V14.3A14.437 14.437 0 0 0 241.464 0Zm.285 66.263a.283.283 0 0 1-.285.28l-227.224-.28.281-52.241 227.229.278Z",stroke:"#000"}),(0,a.jsx)("path",{"data-name":"Trazado 397",d:"M241.464 87.715H14.521a14.431 14.431 0 0 0-14.52 14.3v51.959a14.432 14.432 0 0 0 14.52 14.3h226.943a14.436 14.436 0 0 0 14.536-14.3v-51.959a14.435 14.435 0 0 0-14.536-14.3Zm.285 66.259a.281.281 0 0 1-.285.28l-227.224-.28.281-52.241 227.229.282Z",stroke:"#000"}),(0,a.jsx)("path",{"data-name":"Trazado 398",d:"M241.464 175.427H14.521a14.441 14.441 0 0 0-14.52 14.31v51.959a14.434 14.434 0 0 0 14.52 14.3h226.943a14.437 14.437 0 0 0 14.536-14.3v-51.959a14.445 14.445 0 0 0-14.536-14.31Zm.285 66.269a.279.279 0 0 1-.285.281l-227.224-.281.281-52.245 227.229.286Z",stroke:"#000"}),(0,a.jsx)("rect",{"data-name":"Rect\\xE1ngulo 813",width:23.651,height:15.695,rx:.643,transform:"translate(20.301 21.991)",stroke:"#000",strokeWidth:.5}),(0,a.jsx)("rect",{"data-name":"Rect\\xE1ngulo 814",width:23.651,height:15.695,rx:.643,transform:"translate(20.301 111.056)",stroke:"#000",strokeWidth:.5}),(0,a.jsx)("rect",{"data-name":"Rect\\xE1ngulo 815",width:23.651,height:15.695,rx:.643,transform:"translate(20.301 200.016)",stroke:"#000",strokeWidth:.5})]})]}))},Ie=n(22598),Le=n(10542),De=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{"data-name":"Tenants Outline",clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 452",d:"M135.881 213.702a42.222 42.222 0 0 1 7.779-24.429l-29.932-38.917a76.63 76.63 0 0 1-20.656 5.106l-.867 16.144a24.837 24.837 0 0 1 7.207 17.521 24.937 24.937 0 0 1-24.893 24.918 24.94 24.94 0 0 1-24.891-24.918 24.779 24.779 0 0 1 18.055-23.967l.6-11.047A78.47 78.47 0 0 1 7.002 77.955 78 78 0 0 1 84.861-.005a78 78 0 0 1 77.863 77.96 77.537 77.537 0 0 1-1.119 13.111l28.8 4.184a31.653 31.653 0 0 1 25.73-12.966 32.13 32.13 0 0 1 32.082 32.115 32.128 32.128 0 0 1-32.082 32.108 32.267 32.267 0 0 1-31.66-27.009l-31.1-4.519a78.56 78.56 0 0 1-18.219 22.474l28.188 36.653a42.235 42.235 0 0 1 14.787-2.7 42.307 42.307 0 0 1 42.238 42.293 42.313 42.313 0 0 1-42.238 42.293 42.322 42.322 0 0 1-42.25-42.29Zm28.877-23.668-3.377 1.911-2.689 2.762a27.045 27.045 0 0 0-7.75 19 27.231 27.231 0 0 0 27.182 27.218 27.232 27.232 0 0 0 27.184-27.218 27.232 27.232 0 0 0-27.184-27.218 27 27 0 0 0-13.366 3.548Zm-100.051-.906a9.84 9.84 0 0 0 9.813 9.842 9.847 9.847 0 0 0 9.824-9.842 9.889 9.889 0 0 0-4.2-8.058l-2.445-1.711-2.979-.054a9.827 9.827 0 0 0-10.016 9.826ZM22.078 77.956a62.885 62.885 0 0 0 55.014 62.386l4.365.535 4.355-.063a62.125 62.125 0 0 0 26.91-6.511l4-1.992 3.578-2.455a63.038 63.038 0 0 0 21.867-26.212l1.793-3.993 1.268-4.381a63.234 63.234 0 0 0 2.424-17.313 62.907 62.907 0 0 0-62.793-62.883A62.9 62.9 0 0 0 22.078 77.96Zm178.871 28.831-1.549 3.061-.219 3.54c-.051 10.4 7.58 18.045 16.949 18.045a17.044 17.044 0 0 0 17.018-17.032 17.046 17.046 0 0 0-17.018-17.04 16.888 16.888 0 0 0-15.181 9.429Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 865",fill:"none",d:"M0 0h256v256H0z"})]})]}))},He=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"TiersIcon",children:[(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 848",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 441",d:"M128.249 0a11.373 11.373 0 0 0-5.583 1.308L5.334 63.851a9.483 9.483 0 0 0 0 17.039l36.187 19.289-36.187 19.288a9.485 9.485 0 0 0 0 17.058l36.187 19.27-36.187 19.288a9.485 9.485 0 0 0 0 17.058l117.331 62.54a11.442 11.442 0 0 0 10.666 0l117.331-62.54a9.485 9.485 0 0 0 0-17.058l-36.187-19.289 36.187-19.27a9.485 9.485 0 0 0 0-17.058l-36.187-19.289 36.187-19.289a9.483 9.483 0 0 0 0-17.039L133.332 1.311A11.349 11.349 0 0 0 128.249 0ZM62.875 111.563l59.791 31.866a11.442 11.442 0 0 0 10.666 0l59.791-31.866 30.876 16.443-96 51.154-96-51.154Zm-.021 55.617 59.812 31.866a11.442 11.442 0 0 0 10.667 0l59.812-31.866 30.854 16.442-96 51.155-96-51.155Z"})]})]})]}))},Be=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"ToolsIcon",children:[(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 846",fill:"none",d:"M0 0h255.535v255.516H0z"}),(0,a.jsxs)("g",{"data-name":"Grupo 1552",children:[(0,a.jsx)("path",{"data-name":"Uni\\xF3n 12",d:"M187.377 246.393 68.398 127.416q-2.3.164-4.6.164a63.373 63.373 0 0 1-45.111-18.629A64.284 64.284 0 0 1 2.218 47.216a19.958 19.958 0 0 1 33.414-9.02l12.7 12.695 3.006-3-12.7-12.7a19.962 19.962 0 0 1 9.02-33.412A65.038 65.038 0 0 1 64.283-.384a63.344 63.344 0 0 1 45.113 18.635 64.122 64.122 0 0 1 18.461 49.688l.59.59c.146-.153.291-.3.441-.453l23.5-23.312-.055-3.286a19.965 19.965 0 0 1 10.5-17.912l40.215-21.659a19.949 19.949 0 0 1 23.523 3.4l23.526 23.33a19.973 19.973 0 0 1 3.266 24.089l-22.524 39.362a19.955 19.955 0 0 1-17.4 10.049l-2.51-.009-24.086 23.888c-.15.151-.3.3-.461.443l60.469 60.463a31.038 31.038 0 0 1 0 43.848l-15.619 15.622a31.015 31.015 0 0 1-43.855 0Zm14.119-14.117a11.039 11.039 0 0 0 15.617 0l15.619-15.617a11.033 11.033 0 0 0 0-15.617L106.566 74.884a43.813 43.813 0 0 0-53.811-53.81L79.57 47.886l-31.239 31.23-26.812-26.8a43.815 43.815 0 0 0 53.809 53.8Zm-29.2-191.135.2 11.8-29.549 29.307 29.838 29.6 29.951-29.712 10.777.041 22.524-39.368-23.52-23.331Z"}),(0,a.jsx)("g",{"data-name":"Grupo 1551",children:(0,a.jsx)("path",{"data-name":"Trazado 444",d:"m80.891 143.919-57.656 57.656a10.859 10.859 0 0 0 0 15.357l15.357 15.359a10.861 10.861 0 0 0 15.359 0l57.652-57.655-30.712-30.717m0-20a20 20 0 0 1 14.142 5.858l30.716 30.717a20 20 0 0 1 0 28.284l-57.656 57.656a30.661 30.661 0 0 1-21.822 9.039 30.658 30.658 0 0 1-21.821-9.039l-15.358-15.36a30.657 30.657 0 0 1-9.038-21.82 30.656 30.656 0 0 1 9.04-21.822l57.654-57.655a20 20 0 0 1 14.143-5.858Z"})})]})]})]})]}))},Ue=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{"data-name":"Total Objects",clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"total-objects-icn",d:"M-.004 128.002a128.148 128.148 0 0 1 128-128 128.148 128.148 0 0 1 128 128 128.144 128.144 0 0 1-128 128 128.144 128.144 0 0 1-128-128Zm19.844 0a108.275 108.275 0 0 0 108.156 108.155 108.28 108.28 0 0 0 108.16-108.155 108.283 108.283 0 0 0-108.16-108.157A108.278 108.278 0 0 0 19.842 128.002Zm27.555 31.581a37.6 37.6 0 0 1 37.564-37.565 37.608 37.608 0 0 1 37.561 37.565 37.609 37.609 0 0 1-37.561 37.565 37.606 37.606 0 0 1-37.563-37.566Zm108.127 34.939a17.425 17.425 0 0 1-17.408-17.4v-37.7a17.429 17.429 0 0 1 17.408-17.407h37.689a17.429 17.429 0 0 1 17.408 17.407v37.7a17.425 17.425 0 0 1-17.408 17.4Zm-54.881-81.311a13.3 13.3 0 0 1-11.477-6.625 13.3 13.3 0 0 1 0-13.249l26.861-46.521a13.287 13.287 0 0 1 11.477-6.629 13.281 13.281 0 0 1 11.475 6.629l26.861 46.521a13.285 13.285 0 0 1 0 13.249 13.294 13.294 0 0 1-11.479 6.625Z",stroke:"rgba(0,0,0,0)",strokeMiterlimit:10}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 853",fill:"none",d:"M0 0h256v256H0z"})]})]}))},Fe=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"trace-icn",d:"m28.428 74.404 56.9 62.738v110.977A8.062 8.062 0 0 1 77.154 256H65.065a8.082 8.082 0 0 1-8.189-7.881v-98.742L.003 82.287V7.879A8.036 8.036 0 0 1 8.16 0h12.105a8.043 8.043 0 0 1 8.166 7.879Zm56.9-66.525A8.061 8.061 0 0 0 77.154 0H65.065a8.081 8.081 0 0 0-8.189 7.879v71.315l56.921 67.091v101.834a8.045 8.045 0 0 0 8.166 7.881h12.1a8.058 8.058 0 0 0 8.157-7.881V134.051L85.331 71.322ZM134.059 0h-12.1a8.044 8.044 0 0 0-8.166 7.879v39.1a8.044 8.044 0 0 0 8.166 7.88h12.1a8.058 8.058 0 0 0 8.157-7.88v-39.1a8.057 8.057 0 0 0-8.16-7.88Zm44.783 118.856h12.105a8.05 8.05 0 0 0 8.166-7.88V7.876a8.049 8.049 0 0 0-8.166-7.879h-12.105a8.056 8.056 0 0 0-8.174 7.879v103.1a8.058 8.058 0 0 0 8.172 7.88ZM247.818-.001h-12.1a8.043 8.043 0 0 0-8.165 7.879v39.1a8.044 8.044 0 0 0 8.165 7.88h12.1a8.059 8.059 0 0 0 8.182-7.88v-39.1a8.058 8.058 0 0 0-8.182-7.879Zm0 173.715h-12.1a8.044 8.044 0 0 0-8.165 7.881v66.523a8.044 8.044 0 0 0 8.165 7.881h12.1a8.059 8.059 0 0 0 8.182-7.881v-66.519a8.058 8.058 0 0 0-8.182-7.884Zm0-82.286h-12.1a8.044 8.044 0 0 0-8.165 7.881v17.727l-56.889 56.678v74.4a8.057 8.057 0 0 0 8.174 7.881h12.105a8.05 8.05 0 0 0 8.166-7.881v-56.115l56.889-67.09v-25.6a8.059 8.059 0 0 0-8.18-7.881ZM20.262 137.142H8.157A8.038 8.038 0 0 0 0 145.022v103.1a8.037 8.037 0 0 0 8.157 7.881h12.105a8.044 8.044 0 0 0 8.166-7.881v-103.1a8.045 8.045 0 0 0-8.166-7.88Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 880",fill:"none",d:"M0 0h256v256H0z"})]})]}))},Ve=n(61846),Ge=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({},e),{},{className:"min-icon",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 13 12.996",children:(0,a.jsxs)("g",{transform:"translate(-63.686 -70.783)",children:[(0,a.jsx)("path",{className:"a",d:"M74.736,79.879v1.95h-9.1v-1.95h-1.95v3.9h13v-3.9Z"}),(0,a.jsx)("path",{className:"a",d:"M69.211,80.533h1.95V73.861h1.525l-2.5-3.078-2.5,3.078h1.525Z"})]})}))},We=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({},e),{},{className:"min-icon",fill:"currentcolor",xmlns:"http://www.w3.org/2000/svg",viewBox:"-1 -37.9 256 256",children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"a",children:(0,a.jsx)("path",{d:"M53.548,94.912v44.816c.43-.22.737-.378,1.517-.759a20.07,20.07,0,0,1,27.673,15.21c.1.677.115.688.163,1.1.063.567.084.968.108,1.463.01.21.068,1.914.072,2,.2,2.214.363,4.336.452,6.449.269,6.381.536,11,.957,15.5.6,6.412.964,12.128,1.066,17.7a19.838,19.838,0,0,1-.976,6.231c.683,6.455,1.592,14.938,1.752,16.438.014.128.023.253.036.38,3.927-.511,5.969-.716,8.382-.813,8.553-.344,16.809-.382,29.335-.235,1.42.017,2.559.021,5.094.054,10.044.13,14.46.163,19.906.127.93-.007,1.643,0,3.234,0,7.429.005,10.477-.237,12.174-.958-.178-1.123-.351-2.228-.614-3.558-.313-1.589-.586-2.862-1.264-5.979-2.292-10.53-3.161-15.585-3.414-22.508a68.539,68.539,0,0,1,2.764-23.067A29.713,29.713,0,0,1,164.278,159c.461-.922.889-1.737,1.372-2.547a22.021,22.021,0,0,1,1.987-2.836,19.87,19.87,0,0,1,3.776-3.5A19.984,19.984,0,0,1,192.33,125.6a20.223,20.223,0,0,1,9.195,3V94.912Z",fill:"none"})}),(0,a.jsx)("clipPath",{id:"b",children:(0,a.jsx)("path",{d:"M204.03,236.91c-.393.722-.717,1.447-1.156,2.168-.795,1.3-1.66,2.592-2.547,3.811h3.7Z",fill:"none"})})]}),(0,a.jsxs)("g",{transform:"translate(-0.036 -24.789)",children:[(0,a.jsx)("path",{d:"M239.185,72.637A29.456,29.456,0,0,0,209.767,43.6H128.581l-1.119-1.512c-5.078-6.886-12.756-17.3-26.1-17.3H49.394A29.455,29.455,0,0,0,19.972,54.21a19.778,19.778,0,0,0,.236,3.081V70.763A29.818,29.818,0,0,0,.036,98.947c0,.6.023,1.205.076,1.806L9.8,207.577A29.8,29.8,0,0,0,39.545,236.2h175.73A29.8,29.8,0,0,0,245.021,207.6L254.947,100.8q.088-.928.09-1.852A29.792,29.792,0,0,0,239.185,72.637ZM49.394,44.808h51.963c6.586,0,13.645,18.813,20.7,18.813h87.709a9.429,9.429,0,0,1,9.4,9.4v4.7H40.213V54.206h-.229A9.431,9.431,0,0,1,49.394,44.808ZM225.031,206.43a9.781,9.781,0,0,1-9.754,9.748H39.547a9.779,9.779,0,0,1-9.75-9.748L20.051,98.947A9.782,9.782,0,0,1,29.8,89.192H225.268a9.788,9.788,0,0,1,9.758,9.755Z"}),(0,a.jsx)("g",{transform:"translate(-351.512 467)",children:(0,a.jsx)("g",{transform:"translate(352 -469)",clipPath:"url(#a)",children:(0,a.jsx)("path",{d:"M118.046,203.4c0,12.123,18.976,12.123,18.976,0V126.379l10.748,10.443c8.823,8.569,22.236-4.465,13.415-13.034L134.3,97.665a9.685,9.685,0,0,0-13.526,0L93.89,123.788c-8.82,8.568,4.592,21.6,13.415,13.034l10.745-10.443V203.4Z"})})}),(0,a.jsx)("g",{clipPath:"url(#b)",children:(0,a.jsx)("path",{d:"M56.052,158.235c0-12.121,18.978-12.121,18.978,0v66.218H185.056V158.235c0-12.121,18.973-12.121,18.973,0v75.436a9.357,9.357,0,0,1-9.486,9.217h-129a9.357,9.357,0,0,1-9.486-9.217V158.235Zm64.5,45.162c0,12.123,18.976,12.123,18.976,0V126.379l10.748,10.443c8.823,8.569,22.236-4.465,13.415-13.034L136.8,97.665a9.685,9.685,0,0,0-13.526,0L96.394,123.788c-8.82,8.568,4.593,21.6,13.415,13.034l10.745-10.443V203.4Z"})})]})]}))},qe=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 870",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"Trazado 454",d:"M16.412 256A16.487 16.487 0 0 1-.002 239.463V104.082c0-21.752 32.824-21.752 32.824 0v118.829h190.355V104.082c0-21.752 32.822-21.752 32.822 0v135.381a16.477 16.477 0 0 1-16.4 16.537Zm95.176-61.308V56.465L93 75.208c-15.262 15.385-38.471-8-23.205-23.393l46.5-46.878a16.345 16.345 0 0 1 23.408 0l46.51 46.878c15.266 15.39-7.949 38.777-23.211 23.393L144.41 56.464v138.227c0 10.872-8.205 16.307-16.41 16.307s-16.412-5.435-16.412-16.307Z"}),(0,a.jsx)("path",{"data-name":"Trazado 454 - Contorno",d:"M239.6 256.5H16.416A17 17 0 0 1-.498 239.463V104.082a16.259 16.259 0 0 1 5.3-12.61 16.393 16.393 0 0 1 5.422-3.156 18.547 18.547 0 0 1 6.193-1.048 18.547 18.547 0 0 1 6.193 1.048 16.393 16.393 0 0 1 5.422 3.156 16.259 16.259 0 0 1 5.3 12.61v118.329h189.355V104.082a16.259 16.259 0 0 1 5.3-12.61 16.374 16.374 0 0 1 5.422-3.156 18.528 18.528 0 0 1 6.191-1.048 18.531 18.531 0 0 1 6.193 1.048 16.374 16.374 0 0 1 5.422 3.156 16.259 16.259 0 0 1 5.3 12.61v135.381a17.034 17.034 0 0 1-1.328 6.625 16.992 16.992 0 0 1-3.621 5.416 16.846 16.846 0 0 1-5.373 3.655 16.663 16.663 0 0 1-6.593 1.341ZM16.414 88.268a17.535 17.535 0 0 0-5.859.991 15.388 15.388 0 0 0-5.094 2.962 15.286 15.286 0 0 0-4.959 11.861v135.381A15.994 15.994 0 0 0 16.416 255.5H239.6a15.989 15.989 0 0 0 15.9-16.037V104.082a15.286 15.286 0 0 0-4.959-11.861 15.368 15.368 0 0 0-5.094-2.962 17.518 17.518 0 0 0-5.859-.991 17.515 17.515 0 0 0-5.857.991 15.368 15.368 0 0 0-5.094 2.962 15.286 15.286 0 0 0-4.959 11.861v119.329H32.323V104.082a15.286 15.286 0 0 0-4.959-11.861 15.388 15.388 0 0 0-5.094-2.962 17.526 17.526 0 0 0-5.86-.992ZM128 211.5a18.547 18.547 0 0 1-6.193-1.048 16.37 16.37 0 0 1-5.422-3.154 16.248 16.248 0 0 1-5.3-12.6V57.685L93.349 75.567a16.238 16.238 0 0 1-11.6 5.179 16.682 16.682 0 0 1-9.711-3.251 19.071 19.071 0 0 1-6.451-8.051 15.968 15.968 0 0 1-1.051-8.961 17 17 0 0 1 4.9-9.013l46.5-46.878a16.869 16.869 0 0 1 12.006-5.084 16.81 16.81 0 0 1 6.482 1.3 17.213 17.213 0 0 1 5.631 3.786l46.51 46.879a16.976 16.976 0 0 1 4.9 9.01 15.975 15.975 0 0 1-1.049 8.958 19.084 19.084 0 0 1-6.453 8.054 16.694 16.694 0 0 1-9.715 3.254 16.237 16.237 0 0 1-11.6-5.179l-17.736-17.882v137.013a16.249 16.249 0 0 1-5.3 12.6 16.351 16.351 0 0 1-5.422 3.154A18.527 18.527 0 0 1 128 211.5ZM112.088 55.252v139.441a15.275 15.275 0 0 0 4.959 11.855 15.365 15.365 0 0 0 5.094 2.961 17.538 17.538 0 0 0 5.859.991 17.547 17.547 0 0 0 5.859-.991 15.375 15.375 0 0 0 5.092-2.961 15.276 15.276 0 0 0 4.959-11.855V55.25l.855.862 18.592 18.744a15.257 15.257 0 0 0 10.891 4.883 15.7 15.7 0 0 0 9.133-3.067 18.064 18.064 0 0 0 6.111-7.625 14.955 14.955 0 0 0 .988-8.4 16 16 0 0 0-4.625-8.482l-46.51-46.878a16.222 16.222 0 0 0-5.3-3.567 15.825 15.825 0 0 0-6.1-1.222 15.868 15.868 0 0 0-11.295 4.789l-46.5 46.878a16.011 16.011 0 0 0-4.627 8.485 15 15 0 0 0 .988 8.4 18.055 18.055 0 0 0 6.111 7.623 15.688 15.688 0 0 0 9.129 3.064 15.259 15.259 0 0 0 10.893-4.883Z",fill:"rgba(0,0,0,0)"})]})]}))},Ke=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"UploadStatIcon",children:[(0,a.jsx)("path",{"data-name":"Uni\\xF3n 27",d:"M256 127.997a128.006 128.006 0 0 1-128 128.006A128.008 128.008 0 0 1 0 127.997a128.007 128.007 0 0 1 128.008-128 128 128 0 0 1 127.992 128Zm-20.477 0a107.649 107.649 0 0 0-107.52-107.52 107.641 107.641 0 0 0-107.52 107.52A107.635 107.635 0 0 0 128 235.513a107.642 107.642 0 0 0 107.523-107.516Zm-97.082-77.788 32.332 32.331a13.2 13.2 0 0 1 3.184 14.751 14.916 14.916 0 0 1-13.316 9.225 13.45 13.45 0 0 1-9.617-4.216l-8.559-8.565v89.178c0 9.072-7.035 13.8-13.977 13.8s-13.965-4.731-13.965-13.8V93.738l-8.547 8.565a13.5 13.5 0 0 1-9.637 4.216 14.917 14.917 0 0 1-13.3-9.225 13.216 13.216 0 0 1 3.18-14.751l32.344-32.331a13.916 13.916 0 0 1 9.9-4.168 14.021 14.021 0 0 1 9.978 4.169Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 894",fill:"none",d:"M0 0h256v256H0z"})]})]})]}))},$e=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"UptimeIcon",children:[(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 851",fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"Grupo 1558",children:[(0,a.jsx)("path",{"data-name":"Sustracci\\xF3n 3",d:"M220.67 154.223h-10.627c.012-.6.016-1.149.016-1.669a82.374 82.374 0 0 0-1.073-13.283h-64.771v-78.9l25.611 11.287 45.143 34.182 4.232 33.5a53.041 53.041 0 0 1 5.371 4.445 22.28 22.28 0 0 1 3.4 3.962c.938 1.48 1.252 2.729.941 3.709-.577 1.836-3.35 2.767-8.243 2.767Z",fill:"#e3e3e3"}),(0,a.jsx)("path",{"data-name":"Uni\\xF3n 9",d:"M24.003 152.341a102.96 102.96 0 0 1 24.863-67.172 104.134 104.134 0 0 1 61.651-35.019l.586-.1v22.866l-.4.084a81.178 81.178 0 0 0-64.137 79.337c0 44.762 36.557 81.18 81.492 81.18s81.492-36.418 81.492-81.18a80.636 80.636 0 0 0-18.828-51.854 81.865 81.865 0 0 0-20.838-17.8 80.846 80.846 0 0 0-26.053-10l-.408-.084V49.8l.582.089a103.267 103.267 0 0 1 34.789 11.962 104.595 104.595 0 0 1 27.953 22.727 103.042 103.042 0 0 1 25.363 67.76C232.114 209.5 185.437 256 128.062 256S24.003 209.5 24.003 152.341Zm104.625 9.91a10.07 10.07 0 0 1-1.023-.054c-4.723-.094-9.377-3.03-9.377-8.8V30.467l-10.9 10.113c-8.939 8.3-22.533-4.325-13.594-12.619l27.248-25.3a10.162 10.162 0 0 1 13.719 0l27.252 25.3c8.943 8.294-4.658 20.918-13.6 12.619L137.46 30.467v113.674h41.412a9.055 9.055 0 1 1 0 18.11Z"})]})]})]})]}))},Ye=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsxs)("g",{"data-name":"users-icn",children:[(0,a.jsx)("path",{"data-name":"Trazado 331",d:"M128.212 142.371c39.3 0 71.279-31.6 71.279-70.444S167.512 1.483 128.212 1.483s-71.268 31.6-71.268 70.444 31.977 70.444 71.268 70.444Zm0-121.306c28.383 0 51.463 22.818 51.463 50.862s-23.08 50.862-51.463 50.862-51.445-22.816-51.445-50.862 23.066-50.862 51.445-50.862Z"}),(0,a.jsx)("path",{"data-name":"Trazado 331 - Contorno",d:"M128.212 143.853c-40.124 0-72.768-32.266-72.768-71.927S88.088-.001 128.212-.001s72.779 32.266 72.779 71.927-32.649 71.927-72.779 71.927Zm0-140.888c-38.47 0-69.768 30.936-69.768 68.961s31.3 68.961 69.768 68.961 69.779-30.936 69.779-68.961-31.303-68.961-69.779-68.961Zm0 121.305c-29.194 0-52.945-23.481-52.945-52.344s23.751-52.345 52.945-52.345 52.963 23.482 52.963 52.345-23.76 52.345-52.963 52.345Zm0-101.724c-27.54 0-49.945 22.152-49.945 49.38s22.405 49.379 49.945 49.379 49.963-22.151 49.963-49.379-22.414-49.379-49.963-49.379Z"}),(0,a.jsx)("path",{"data-name":"Trazado 332",d:"M215.129 199.095a108.6 108.6 0 0 0-41.184-32.37 111.377 111.377 0 0 0-51.553-10.081c-31.26 1.575-62.109 17.524-80.5 41.632-.613.8-1.213 1.624-1.8 2.439a35.274 35.274 0 0 0-2.746 36.518c5.68 10.824 16.691 17.287 29.441 17.287h122.867c12.885 0 23.883-6.551 29.4-17.513a36.09 36.09 0 0 0-3.925-37.912Zm-13.812 29.2c-1.529 3.029-4.8 6.648-11.662 6.648H66.783c-7.25 0-10.545-4.215-11.861-6.724a15.692 15.692 0 0 1 1.361-16.225c.473-.647.938-1.29 1.43-1.93 14.951-19.6 40.129-32.58 65.688-33.869 1.408-.068 2.816-.1 4.213-.1 27.5 0 55.287 13.376 71.729 34.828a16.785 16.785 0 0 1 1.974 17.372Z"}),(0,a.jsx)("path",{"data-name":"Trazado 332 - Contorno",d:"M127.643 155.028a110.952 110.952 0 0 1 23.833 2.624 115.878 115.878 0 0 1 23.1 7.726 110.137 110.137 0 0 1 41.751 32.821 37.565 37.565 0 0 1 4.07 39.465 33.137 33.137 0 0 1-5.348 7.707 32.51 32.51 0 0 1-7.156 5.772 33.964 33.964 0 0 1-8.59 3.612 37.261 37.261 0 0 1-9.646 1.247H66.783a37.248 37.248 0 0 1-9.57-1.23 34.36 34.36 0 0 1-8.568-3.563 33.1 33.1 0 0 1-7.191-5.693 33.672 33.672 0 0 1-5.443-7.6 36.758 36.758 0 0 1 2.851-38.053l.009-.012c.576-.794 1.2-1.642 1.825-2.466 18.644-24.445 49.918-40.623 81.618-42.22 1.769-.092 3.556-.137 5.329-.137Zm62.011 98.007c12.31 0 22.8-6.24 28.053-16.691a34.607 34.607 0 0 0-3.773-36.354 107.135 107.135 0 0 0-40.617-31.92 112.854 112.854 0 0 0-22.492-7.524 107.908 107.908 0 0 0-23.179-2.552c-1.722 0-3.463.044-5.174.13-30.837 1.554-61.251 17.281-79.375 41.044-.608.8-1.214 1.627-1.779 2.4a33.793 33.793 0 0 0-2.638 34.976c5.418 10.324 15.926 16.488 28.11 16.488Zm-62.037-78.43a93.962 93.962 0 0 1 40.673 9.521 90.119 90.119 0 0 1 32.251 25.895 18.687 18.687 0 0 1 3.738 9.3 17.136 17.136 0 0 1-1.619 9.631 13.216 13.216 0 0 1-4.318 5.019 15.031 15.031 0 0 1-8.688 2.453H66.783a15.1 15.1 0 0 1-9.041-2.706 13.981 13.981 0 0 1-4.152-4.818 17.173 17.173 0 0 1 1.466-17.761l.01-.015.19-.261c.4-.554.822-1.127 1.258-1.694 15.213-19.942 40.813-33.145 66.808-34.457a84.647 84.647 0 0 1 4.295-.108Zm62.037 58.85a12.08 12.08 0 0 0 6.975-1.922 10.268 10.268 0 0 0 3.345-3.9 14.2 14.2 0 0 0 1.324-7.982 15.738 15.738 0 0 0-3.147-7.833 87.116 87.116 0 0 0-31.182-25.025 90.916 90.916 0 0 0-39.353-9.218c-1.373 0-2.765.034-4.14.1a89.517 89.517 0 0 0-36.2 9.9 84.252 84.252 0 0 0-28.362 23.379v.005c-.414.538-.8 1.072-1.216 1.637l-.186.254a14.21 14.21 0 0 0-1.252 14.683 10.988 10.988 0 0 0 3.259 3.788 12.148 12.148 0 0 0 7.271 2.136Z"})]}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 885",fill:"none",d:"M0 0h256v256H0z"})]})]}))},Qe=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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{d:"m144.506 255.256-14.883-15.1a2.5 2.5 0 0 1-.721-1.758v-88.02c-4.229 2.145-8.4 4.255-12.479 6.313-5.391 2.731-10.971 5.553-16.449 8.336l-20.359 10.364-11.967 6.092a2.514 2.514 0 0 1-2.635-.217 2.508 2.508 0 0 1-.973-2.458 120.437 120.437 0 0 1 4.3-16.642 154.087 154.087 0 0 1 7.375-18.167 160.659 160.659 0 0 1 10.453-18.526 148.6 148.6 0 0 1 13.559-17.688 161.263 161.263 0 0 1 21-19.616 157.34 157.34 0 0 1 24.42-15.569 2.512 2.512 0 0 1 2.455.086 2.512 2.512 0 0 1 1.205 2.145v43.791a27.491 27.491 0 0 0 8.039-6.747 27.647 27.647 0 0 0 5.527-11.558 27.41 27.41 0 0 0-.295-12.7 27.57 27.57 0 0 0-6.549-11.788c-5.266-5.679-10.748-11.349-16.051-16.837-4.262-4.407-8.676-8.97-12.955-13.52-.342-.365-.689-.729-1.039-1.1-2.916-3.07-5.934-6.248-7.914-10.09a22.79 22.79 0 0 1-1.416-17.614 23.808 23.808 0 0 1 4.559-8.124 24.373 24.373 0 0 1 7.617-5.952A23.519 23.519 0 0 1 138.992 0a25.109 25.109 0 0 1 12.957 3.756 30.3 30.3 0 0 1 9.525 9.222l1.318 1.945c.018.026.035.056.053.082l1.033 1.663c2.971 4.767 6.035 9.7 9.018 14.584a9375.397 9375.397 0 0 1 19.088 31.434 7.057 7.057 0 0 1 .754 1.962c.049.183.1.352.141.486a2.514 2.514 0 0 1-1.117 2.948l-.582.343a2.514 2.514 0 0 1-2.895-.251 27.192 27.192 0 0 0-.447-.369 13.275 13.275 0 0 1-1.291-1.137l-2.756-2.875c-8.3-8.649-16.881-17.593-25.3-26.415a2847.157 2847.157 0 0 1-5.229-5.5c-4.15-4.372-9.322-9.816-10.338-10.841a5.772 5.772 0 0 0-4-1.88 4.533 4.533 0 0 0-3.152 1.333 4.7 4.7 0 0 0-1.594 3.269 5.364 5.364 0 0 0 1.693 3.791 7287.52 7287.52 0 0 0 18.535 19.351c4.8 5.01 9.777 10.19 14.656 15.292a47.4 47.4 0 0 1 6.354 8.306 46.309 46.309 0 0 1 4.229 9.152 46.6 46.6 0 0 1 2.131 9.648 46.826 46.826 0 0 1 .061 9.786 46.84 46.84 0 0 1-1.953 9.539 46.211 46.211 0 0 1-3.947 9 46.028 46.028 0 0 1-5.895 8.114 46.986 46.986 0 0 1-7.812 6.874 79.956 79.956 0 0 1-9.746 5.548 192.77 192.77 0 0 0-3.555 1.833c-.039.021-.084.047-.121.065v113.437a2.517 2.517 0 0 1-1.561 2.323 2.529 2.529 0 0 1-.951.186 2.513 2.513 0 0 1-1.79-.748Zm-23.9-141.771a136 136 0 0 0-10.672 11.727 137.8 137.8 0 0 0-9.287 12.973q-2.262 3.589-4.359 7.394c.139-.074.277-.143.416-.217 4.941-2.527 9.605-4.915 14.33-7.342l1.783-.916c5.258-2.7 10.693-5.5 16-8.306.018-.014.039-.035.061-.053.061-7.372.053-15.174.039-22.768a139.007 139.007 0 0 0-8.312 7.508Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 861",fill:"none",d:"M0 0h256v256H0z"})]})]}))},Je=(n(47424),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:"prefix__a",children:(0,a.jsx)("path",{d:"M0 0h256v256H0z"})})}),(0,a.jsxs)("g",{clipPath:"url(#prefix__a)",children:[(0,a.jsx)("path",{fill:"none",d:"M0 0h256v256H0z"}),(0,a.jsx)("path",{"data-name":"WarpIcon",d:"M223.777 256c-4.293 0-7.777-3.137-7.777-7V7c0-3.868 3.484-7 7.777-7h24.445c4.295 0 7.777 3.132 7.777 7v242c0 3.862-3.482 7-7.777 7Zm-54 0c-4.293 0-7.777-3.137-7.777-7V60c0-3.868 3.484-7 7.777-7h24.445c4.295 0 7.777 3.132 7.777 7v189c0 3.862-3.482 7-7.777 7Zm-54 0c-4.293 0-7.777-3.137-7.777-7V111c0-3.868 3.484-7 7.777-7h24.445c4.295 0 7.777 3.132 7.777 7v138c0 3.862-3.482 7-7.777 7Zm-54 0c-4.293 0-7.777-3.137-7.777-7v-87c0-3.868 3.484-7 7.777-7h24.445c4.295 0 7.777 3.132 7.777 7v87c0 3.862-3.482 7-7.777 7Zm-54 0C3.484 256 0 252.863 0 249v-35c0-3.862 3.484-7 7.777-7h24.445c4.295 0 7.777 3.137 7.777 7v35c0 3.862-3.482 7-7.777 7Z"}),(0,a.jsx)("path",{"data-name":"Rect\\xE1ngulo 922",fill:"none",d:"M0 0h256v256H0z"})]})]}))}),Xe=n(88538),et=function(e){return(0,a.jsx)("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.jsxs)("g",{transform:"translate(14.827 15.767) rotate(180)",children:[(0,a.jsx)("path",{fill:"currentcolor",d:"M-147.9-183c-4.1-4.1-10.8-4.1-14.9,0c0,0,0,0,0,0l-63.3,63.3c-4.1,4.1-4.1,10.8,0,14.9 c0,0,0,0,0,0l63.3,63.3c4.1,4.1,10.8,4.1,14.9,0c4.1-4.1,4.1-10.8,0-14.9l-55.9-55.9l55.9-55.9C-143.7-172.2-143.7-178.9-147.9-183 C-147.9-183-147.9-183-147.9-183L-147.9-183z"}),(0,a.jsx)("path",{fill:"currentcolor",d:"M-60.4-112.2c0-5.8-4.7-10.5-10.5-10.5h-137.1c-5.8,0-10.6,4.7-10.6,10.6 c0,5.8,4.7,10.6,10.6,10.6h137.1C-65.1-101.7-60.4-106.4-60.4-112.2C-60.4-112.2-60.4-112.2-60.4-112.2z M-7.6,14.4 c-5.8,0-10.5-4.7-10.5-10.5v-232.2c0-5.8,4.7-10.6,10.6-10.6c5.8,0,10.6,4.7,10.6,10.6V3.9C2.9,9.7-1.8,14.4-7.6,14.4L-7.6,14.4z"})]})}))},tt=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",viewBox:"0 0 284.616 49.568",className:"min-icon"},e),{},{children:(0,a.jsx)("g",{transform:"translate(0.5 0.5)",children:(0,a.jsx)("path",{d:"M10822.423,3589.089c0-14.873,14.033-24.285,33.612-24.285s33.7,9.328,33.7,24.285-13.782,24.282-33.7,24.282C10836.374,3613.371,10822.423,3604.046,10822.423,3589.089Zm7.731,0c0,11.763,11.263,18.065,25.881,18.065s25.966-6.3,25.966-18.065c0-11.681-11.345-18.068-25.966-18.068S10830.154,3577.408,10830.154,3589.089Zm-43.43,23.094-41.918-22.23a1.586,1.586,0,0,0-2.329,1.4v21.011H10726.5v-42.123a4.421,4.421,0,0,1,4.42-4.422h.029a4.4,4.4,0,0,1,2.077.519l41.752,22.233a1.587,1.587,0,0,0,2.334-1.4v-21.35h16.11v42.454a4.42,4.42,0,0,1-6.493,3.905Zm-88.75.186v-46.534h15.884v46.534Zm-28.218,0v-20.147a1.588,1.588,0,0,0-2.392-1.367l-19.068,11.186a5.668,5.668,0,0,1-5.818-.055l-18.07-11.057a1.589,1.589,0,0,0-2.416,1.355v20.084h-15.876v-42.323a4.423,4.423,0,0,1,4.423-4.422h.038a4.453,4.453,0,0,1,2.3.648l32.246,19.694a1.429,1.429,0,0,0,1.5,0l32.243-19.694a4.453,4.453,0,0,1,2.3-.648h.041a4.421,4.421,0,0,1,4.42,4.422v42.323Zm136.353-.011v-46.534h7.39v46.534Z",transform:"translate(-10606.116 -3564.803)",fill:"#fff",stroke:"rgba(0,0,0,0)",strokeWidth:"1"})})}))},nt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1018","data-name":"Rect\xe1ngulo 1018",width:"221.51",height:"256.002",fill:"#4ccb92"})}),(0,a.jsx)("clipPath",{id:"clip-Add_Access_Rule",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Add_Access_Rule","data-name":"Add Access Rule",clipPath:"url(#clip-Add_Access_Rule)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Add_Access_Rule_Icon","data-name":"Add Access Rule Icon",children:[(0,a.jsx)("g",{id:"Grupo_2406","data-name":"Grupo 2406",transform:"translate(18)",children:(0,a.jsxs)("g",{id:"Grupo_2405","data-name":"Grupo 2405",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7142","data-name":"Trazado 7142",d:"M104.258,94.5a8.671,8.671,0,1,0,12.263,0,8.672,8.672,0,0,0-12.263,0",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7143","data-name":"Trazado 7143",d:"M220.846,46.255a15.346,15.346,0,0,0-15.422-14.381h-.01l-2.217.017c-18.3,0-53.371-3.671-82.6-28.236A15.2,15.2,0,0,0,110.742,0a15.03,15.03,0,0,0-9.748,3.6C71.681,28.225,36.7,31.9,18.452,31.9l-2.764-.028A15.124,15.124,0,0,0,.665,46.358C-1.156,93.424-.821,159.771,23,192.41c22.161,30.467,65.486,55.314,78.912,61.614a20.721,20.721,0,0,0,17.7-.015c14.415-6.8,56.684-31.109,78.885-61.582,23.832-32.654,24.168-99,22.347-146.172m-92.069,94.893,0,25.363H118.635v12.845h10.146v11H118.635V203.2h10.148v1.651l-18.394,18.394L92,204.849l.007-63.7a38.469,38.469,0,0,1-9.2-6.8A39.158,39.158,0,0,1,116.79,68.09a38.019,38.019,0,0,1,23.45,13.338,39.022,39.022,0,0,1-11.463,59.72",fill:"#4ccb92"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1019","data-name":"Rect\xe1ngulo 1019",width:"256",height:"256",fill:"none"})]})]})]}))},rt=n(33447),at=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1041","data-name":"Rect\xe1ngulo 1041",width:"256",height:"242.667",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Add_New_Tag",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Add_New_Tag","data-name":"Add New Tag",clipPath:"url(#clip-Add_New_Tag)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Add_New_Tag_Icon","data-name":"Add New Tag Icon",children:[(0,a.jsx)("g",{id:"Add_New_","data-name":"Add New ",transform:"translate(0 7.836)",children:(0,a.jsxs)("g",{id:"Grupo_2429","data-name":"Grupo 2429",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7190","data-name":"Trazado 7190",d:"M227.22,126.576A53.114,53.114,0,1,0,155.674,55.03L109.365,8.722A29.86,29.86,0,0,0,88.94,0L29.97.032A30.021,30.021,0,0,0,0,29.99l0,59.2a29.8,29.8,0,0,0,8.7,20.186L133.237,233.909a29.806,29.806,0,0,0,21.266,8.758v0a29.813,29.813,0,0,0,21.25-8.743l58.162-58.157a30.211,30.211,0,0,0-.018-42.511ZM60.958,76.033A15.072,15.072,0,1,1,76.031,60.96,15.091,15.091,0,0,1,60.958,76.033m100.274,3.334A41.967,41.967,0,1,1,203.2,121.334a41.967,41.967,0,0,1-41.967-41.967",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7191","data-name":"Trazado 7191",d:"M316.362,94.258H303.2v13.164H290.033v13.165H303.2v13.165h13.164V120.587h13.164V107.422H316.362Z",transform:"translate(-106.58 -34.638)",fill:"#4ccb92"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1042","data-name":"Rect\xe1ngulo 1042",width:"256",height:"256",fill:"none"})]})]})]}))},ot=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1045","data-name":"Rect\xe1ngulo 1045",width:"256",height:"230.638",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Change_Access_Policy",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Change_Access_Policy","data-name":"Change Access Policy",clipPath:"url(#clip-Change_Access_Policy)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Change_Access_Policy_Icon","data-name":"Change Access Policy Icon",children:[(0,a.jsx)("g",{id:"Grupo_2432","data-name":"Grupo 2432",transform:"translate(0 13)",children:(0,a.jsx)("g",{id:"Grupo_2431","data-name":"Grupo 2431",clipPath:"url(#clip-path)",children:(0,a.jsx)("path",{id:"Trazado_7195","data-name":"Trazado 7195",d:"M230.943,74.7A72.225,72.225,0,0,0,217.05,30.786,74.4,74.4,0,0,0,82.376,74.139a73.1,73.1,0,0,0,3.216,21.5L0,181.212v49.426H49.426l2.217-2.22L38.01,214.786l17.257-17.257L68.9,211.161l14.776-14.778L70.043,182.753,87.3,165.5l13.629,13.63L135,145.045a73.794,73.794,0,0,0,41.481.594A45.523,45.523,0,1,0,230.943,74.7m15.771,40.663a35.971,35.971,0,1,1-35.971-35.971,35.971,35.971,0,0,1,35.971,35.971M228.838,99.516A8.172,8.172,0,0,0,222.913,97a8.71,8.71,0,0,0-6,2.447l-22.22,22.245a2.041,2.041,0,0,0-.593,1.112L191.8,134a2.062,2.062,0,0,0,.593,1.928,2.246,2.246,0,0,0,1.555.593.938.938,0,0,0,.444-.074l11.11-2.152a2.036,2.036,0,0,0,1.111-.593l22.219-22.245a8.511,8.511,0,0,0,0-11.938M148.261,65.9a16.475,16.475,0,1,1,16.475,16.475A16.475,16.475,0,0,1,148.261,65.9",transform:"translate(0 0)"})})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1046","data-name":"Rect\xe1ngulo 1046",width:"256",height:"256",fill:"none"})]})]})]}))},it=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1033","data-name":"Rect\xe1ngulo 1033",width:"234.584",height:"256",fill:"#4ccb92"})}),(0,a.jsx)("clipPath",{id:"clip-Change_User_Password",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Change_User_Password","data-name":"Change User Password",clipPath:"url(#clip-Change_User_Password)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Change_User_Password_Icon","data-name":"Change User Password Icon",children:[(0,a.jsx)("g",{id:"Grupo_2422","data-name":"Grupo 2422",transform:"translate(11)",children:(0,a.jsxs)("g",{id:"Grupo_2421","data-name":"Grupo 2421",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7174","data-name":"Trazado 7174",d:"M89.039,144.5h.048a66.549,66.549,0,0,0,26.922-5.683,68.721,68.721,0,0,0,22.01-15.464,71.754,71.754,0,0,0,14.829-22.881,73.555,73.555,0,0,0,5.44-27.984C158.291,32.8,127.233.5,89.04.5h0C50.868.5,19.816,32.794,19.816,72.49S50.868,144.5,89.039,144.5",transform:"translate(1.369 0.035)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7175","data-name":"Trazado 7175",d:"M89.039,144.5h.048a66.549,66.549,0,0,0,26.922-5.683,68.721,68.721,0,0,0,22.01-15.464,71.754,71.754,0,0,0,14.829-22.881,73.555,73.555,0,0,0,5.44-27.984C158.291,32.8,127.233.5,89.04.5h0C50.868.5,19.816,32.794,19.816,72.49S50.868,144.5,89.039,144.5Z",transform:"translate(1.369 0.035)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7176","data-name":"Trazado 7176",d:"M169.875,117.967A64.121,64.121,0,0,0,112.7,153.043c-1.421-.4-2.848-.78-4.286-1.119a94.31,94.31,0,0,0-21.382-2.511v.005c-1.748,0-3.424.045-4.982.135A99.34,99.34,0,0,0,8.563,189.619c-.386.516-.763,1.056-1.228,1.749l-.107.15c-.1.141-.213.3-.311.456L6.89,192a37.722,37.722,0,0,0-2.66,37.365,31.837,31.837,0,0,0,28.644,17.951H141.951a31.362,31.362,0,0,0,13.027-2.828,64.139,64.139,0,1,0,14.9-126.523m.382,114.817a50.676,50.676,0,1,1,50.676-50.676,50.676,50.676,0,0,1-50.676,50.676",transform:"translate(0.035 8.148)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7177","data-name":"Trazado 7177",d:"M169.875,117.967A64.121,64.121,0,0,0,112.7,153.043c-1.421-.4-2.848-.78-4.286-1.119a94.31,94.31,0,0,0-21.382-2.511v.005c-1.748,0-3.424.045-4.982.135A99.34,99.34,0,0,0,8.563,189.619c-.386.516-.763,1.056-1.228,1.749l-.107.15c-.1.141-.213.3-.311.456L6.89,192a37.722,37.722,0,0,0-2.66,37.365,31.837,31.837,0,0,0,28.644,17.951H141.951a31.362,31.362,0,0,0,13.027-2.828,64.139,64.139,0,1,0,14.9-126.523Zm.382,114.817a50.676,50.676,0,1,1,50.676-50.676A50.676,50.676,0,0,1,170.256,232.784Z",transform:"translate(0.035 8.148)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7178","data-name":"Trazado 7178",d:"M175.869,148.182a20.812,20.812,0,0,0-20.809,20.813,20.593,20.593,0,0,0,.9,6.036l-24.028,24.024v13.874h13.875L169.833,188.9a20.816,20.816,0,0,0,26.849-18.2,20.283,20.283,0,0,0-3.813-13.874,20.814,20.814,0,0,0-17-8.642m2.311,23.125a4.625,4.625,0,1,1,4.626-4.624,4.625,4.625,0,0,1-4.626,4.624",transform:"translate(9.112 10.235)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7179","data-name":"Trazado 7179",d:"M175.869,148.182a20.812,20.812,0,0,0-20.809,20.813,20.593,20.593,0,0,0,.9,6.036l-24.028,24.024v13.874h13.875L169.833,188.9a20.816,20.816,0,0,0,26.849-18.2,20.283,20.283,0,0,0-3.813-13.874A20.814,20.814,0,0,0,175.869,148.182Zm2.311,23.125a4.625,4.625,0,1,1,4.626-4.624A4.625,4.625,0,0,1,178.181,171.307Z",transform:"translate(9.112 10.235)",fill:"#4ccb92"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1034","data-name":"Rect\xe1ngulo 1034",width:"256",height:"256",fill:"none"})]})]})]}))},lt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1039","data-name":"Rect\xe1ngulo 1039",width:"256",height:"215.188",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Create_Group",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Create_Group","data-name":"Create Group",clipPath:"url(#clip-Create_Group)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Create_Group_Icon","data-name":"Create Group Icon",children:[(0,a.jsx)("g",{id:"Grupo_2428","data-name":"Grupo 2428",transform:"translate(0 20)",children:(0,a.jsxs)("g",{id:"Grupo_2427","data-name":"Grupo 2427",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7184","data-name":"Trazado 7184",d:"M498.413,74.672a63.2,63.2,0,0,1-3.786,21.575c.9.049,1.8.078,2.709.078,26.871,0,48.733-21.605,48.733-48.162S524.2,0,497.337,0a48.855,48.855,0,0,0-36.642,16.469,64.109,64.109,0,0,1,37.719,58.2",transform:"translate(-305.609 0)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7185","data-name":"Trazado 7185",d:"M95.34,96.326c.921,0,1.836-.031,2.744-.081A63.2,63.2,0,0,1,94.3,74.674a64.109,64.109,0,0,1,37.693-58.2A48.867,48.867,0,0,0,95.34,0C68.473,0,46.614,21.605,46.614,48.163S68.473,96.326,95.34,96.326",transform:"translate(-30.922 0)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7186","data-name":"Trazado 7186",d:"M80.135,346.621a97.66,97.66,0,0,1,21.039-9.138,64.833,64.833,0,0,1-30.526-28.792c-2.2-.2-4.4-.306-6.612-.308-1.071,0-2.152.027-3.221.075-.121,0-.243.005-.365.011a70.315,70.315,0,0,0-7.835.841c-18.427,3-35.857,13.09-46.8,27.434-.419.55-.838,1.119-1.223,1.65l-.005.008a24.616,24.616,0,0,0-1.906,25.48,22.559,22.559,0,0,0,3.644,5.089,22.224,22.224,0,0,0,4.817,3.812,23.01,23.01,0,0,0,5.736,2.385,24.94,24.94,0,0,0,6.409.823H49.714a37.659,37.659,0,0,1,2.685-4.371l.027-.038.046-.063c.569-.785,1.067-1.457,1.525-2.058a90.337,90.337,0,0,1,26.138-22.841",transform:"translate(0 -204.572)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7187","data-name":"Trazado 7187",d:"M215.477,113.623c0,30.276,24.92,54.907,55.549,54.907s55.557-24.63,55.557-54.907-24.929-54.907-55.557-54.907-55.549,24.63-55.549,54.907",transform:"translate(-142.94 -38.95)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7188","data-name":"Trazado 7188",d:"M358.424,337.287l0,0a73.77,73.77,0,0,0-27.955-21.978A77.668,77.668,0,0,0,315,310.141a74.21,74.21,0,0,0-15.959-1.757c-1.071,0-2.152.028-3.22.075-.122.005-.244.006-.365.011-.73.036-1.46.088-2.189.147a64.831,64.831,0,0,1-14.437,18.4,47.462,47.462,0,0,0-24.218,17.921c-.357-.083-.713-.172-1.071-.252a84.586,84.586,0,0,0-18.192-2c-1.221,0-2.454.031-3.671.085-.138.005-.277.006-.416.012a80.086,80.086,0,0,0-8.933.959c-21.008,3.419-40.879,14.924-53.349,31.275-.478.628-.955,1.276-1.394,1.882l-.006.008a28.062,28.062,0,0,0-2.177,29.05,25.77,25.77,0,0,0,4.155,5.8,25.368,25.368,0,0,0,5.491,4.346,26.29,26.29,0,0,0,6.541,2.718,28.435,28.435,0,0,0,7.306.938h93.79a28.421,28.421,0,0,0,5.814-.589,47.926,47.926,0,0,0,4.917.253A47.353,47.353,0,0,0,340.6,375.992a24.947,24.947,0,0,0,6.424-.835,22.741,22.741,0,0,0,5.751-2.418,21.778,21.778,0,0,0,4.793-3.867,22.122,22.122,0,0,0,3.581-5.16,25.152,25.152,0,0,0-2.726-26.426m-64.729,72.2a37.411,37.411,0,1,1,37.411-37.411A37.411,37.411,0,0,1,293.7,409.484",transform:"translate(-107.694 -204.572)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7189","data-name":"Trazado 7189",d:"M523.713,445.287H511.978v11.735H500.243v11.735h11.735v11.735h11.735V468.757h11.735V457.022H523.713Z",transform:"translate(-331.844 -295.388)",fill:"#4ccb92"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1040","data-name":"Rect\xe1ngulo 1040",width:"256",height:"256",fill:"none"})]})]})]}))},st=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1026","data-name":"Rect\xe1ngulo 1026",width:"255.576",height:"182.735",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Create_New_Path",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Create_New_Path","data-name":"Create New Path",clipPath:"url(#clip-Create_New_Path)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Create_New_Path_Icon","data-name":"Create New Path Icon",children:[(0,a.jsx)("g",{id:"Grupo_2415","data-name":"Grupo 2415",transform:"translate(0.424 26.642)",children:(0,a.jsxs)("g",{id:"Grupo_2414","data-name":"Grupo 2414",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7162","data-name":"Trazado 7162",d:"M21.8,141.76c-11.745,0-21.8,9.96-21.8,21.517a22.187,22.187,0,0,0,21.8,21.8c11.557,0,21.517-10.054,21.517-21.8A21.949,21.949,0,0,0,21.8,141.76",transform:"translate(0 -59.036)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7163","data-name":"Trazado 7163",d:"M21.8,235.632c-11.745,0-21.8,9.96-21.8,21.517a22.187,22.187,0,0,0,21.8,21.8c11.557,0,21.517-10.054,21.517-21.8A21.949,21.949,0,0,0,21.8,235.632",transform:"translate(0 -98.13)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7164","data-name":"Trazado 7164",d:"M200.314,0H187.871A11.54,11.54,0,0,0,177.5,6.479L99.6,166.135a11.54,11.54,0,0,0,10.371,16.6h12.443a11.54,11.54,0,0,0,10.371-6.479L210.684,16.6A11.539,11.539,0,0,0,200.314,0",transform:"translate(-40.986)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7165","data-name":"Trazado 7165",d:"M294.178,82.251c-1.23,0-2.445.061-3.652.149l32.106-65.8A11.539,11.539,0,0,0,312.262,0H299.819a11.539,11.539,0,0,0-10.371,6.479l-77.9,159.656a11.539,11.539,0,0,0,10.37,16.6h12.443a11.54,11.54,0,0,0,10.371-6.479l8.685-17.8a49,49,0,1,0,40.762-76.205m.292,87.721a38.717,38.717,0,1,1,38.717-38.717,38.717,38.717,0,0,1-38.717,38.717",transform:"translate(-87.607)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7166","data-name":"Trazado 7166",d:"M347.565,193.708H335.42v12.145H323.275V218H335.42v12.145h12.145V218h12.145V205.853H347.565Z",transform:"translate(-134.629 -80.67)",fill:"#4ccb92"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1027","data-name":"Rect\xe1ngulo 1027",width:"256",height:"256",fill:"none"})]})]})]}))},ct=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1016","data-name":"Rect\xe1ngulo 1016",width:"234.495",height:"256",fill:"#4ccb92"})}),(0,a.jsx)("clipPath",{id:"clip-Create_User",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Create_User","data-name":"Create User",clipPath:"url(#clip-Create_User)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Create_User-2","data-name":"Create User",children:[(0,a.jsx)("g",{id:"Grupo_2404","data-name":"Grupo 2404",transform:"translate(12)",children:(0,a.jsxs)("g",{id:"Grupo_2403","data-name":"Grupo 2403",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7140","data-name":"Trazado 7140",d:"M88.829,144.6h.048a66.829,66.829,0,0,0,27.035-5.707,69.009,69.009,0,0,0,22.1-15.529,72.055,72.055,0,0,0,14.891-22.977,73.863,73.863,0,0,0,5.463-28.1C158.372,32.435,127.183,0,88.831,0h0C50.5,0,19.316,32.43,19.316,72.292S50.5,144.6,88.829,144.6",transform:"translate(1.421)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7141","data-name":"Trazado 7141",d:"M170.085,117.467a64.39,64.39,0,0,0-57.412,35.223c-1.427-.4-2.86-.784-4.3-1.124A94.705,94.705,0,0,0,86.9,149.044v.005c-1.755,0-3.439.046-5,.135A99.747,99.747,0,0,0,8.1,189.42c-.388.519-.767,1.061-1.234,1.756l-.107.15c-.1.142-.214.3-.312.458l-.027.028a37.88,37.88,0,0,0-2.671,37.522A31.97,31.97,0,0,0,32.509,247.36H142.044a31.485,31.485,0,0,0,13.08-2.84,64.408,64.408,0,1,0,14.961-127.054m.383,115.3a50.889,50.889,0,1,1,50.888-50.888,50.888,50.888,0,0,1-50.888,50.888m-7.982-26.944V189.859H146.524V173.895h15.963V157.931H178.45v15.964h15.963v15.964H178.45v15.963Z",transform:"translate(0 8.64)",fill:"#4ccb92"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1017","data-name":"Rect\xe1ngulo 1017",width:"256",height:"256",fill:"none"})]})]})]}))},ut=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1025","data-name":"Rect\xe1ngulo 1025",width:"256",height:"236.235",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Drive_Format_Errors",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Drive_Format_Errors","data-name":"Drive Format Errors",clipPath:"url(#clip-Drive_Format_Errors)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Drive_Format_Errors-Icon","data-name":"Drive Format Errors-Icon",children:[(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1004","data-name":"Rect\xe1ngulo 1004",width:"256",height:"256",fill:"none"}),(0,a.jsx)("g",{id:"Grupo_2413","data-name":"Grupo 2413",transform:"translate(0.637 9.778)",children:(0,a.jsxs)("g",{id:"Grupo_2412","data-name":"Grupo 2412",transform:"translate(0 0.001)",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7156","data-name":"Trazado 7156",d:"M97.03,336.139a9.708,9.708,0,1,1,.007,0",transform:"translate(-47.133 -168.561)",fill:"#c83b51"}),(0,a.jsx)("path",{id:"Trazado_7157","data-name":"Trazado 7157",d:"M139.7,336.054a6.907,6.907,0,1,0-7.923-5.713,6.907,6.907,0,0,0,7.923,5.713",transform:"translate(-68.864 -168.564)",fill:"#c83b51"}),(0,a.jsx)("path",{id:"Trazado_7158","data-name":"Trazado 7158",d:"M256.009,77.663A47.444,47.444,0,0,0,198.24,31.346a118.111,118.111,0,1,0,38,86.785c0-.642-.014-1.281-.024-1.921a47.383,47.383,0,0,0,19.793-38.546M43.519,118.312,67.309,58.88A5.7,5.7,0,0,1,72.6,55.3h91.06a5.686,5.686,0,0,1,2.687.677,47.446,47.446,0,0,0,26.623,66.516,5.7,5.7,0,0,1-5.312,3.641H48.809a5.7,5.7,0,0,1-5.29-7.818M201.9,175.033a5.937,5.937,0,0,1-5.936,5.936H40.294a5.936,5.936,0,0,1-5.936-5.936V146.671a5.936,5.936,0,0,1,5.936-5.936H195.96a5.937,5.937,0,0,1,5.936,5.936Zm6.94-59.871A37.494,37.494,0,1,1,246.33,77.668a37.494,37.494,0,0,1-37.494,37.494",transform:"translate(-0.009 -0.013)",fill:"#c83b51"}),(0,a.jsx)("path",{id:"Trazado_7159","data-name":"Trazado 7159",d:"M282.274,335.577h-80.98a4.182,4.182,0,0,1-4.169-4.169v-5.956a4.182,4.182,0,0,1,4.169-4.169h80.98a4.182,4.182,0,0,1,4.169,4.169v5.956a4.182,4.182,0,0,1-4.169,4.169",transform:"translate(-103.088 -168.017)",fill:"#c83b51"}),(0,a.jsx)("path",{id:"Trazado_7160","data-name":"Trazado 7160",d:"M435.958,142.765l1.282-30.209h-12.4l1.282,30.209Z",transform:"translate(-222.172 -58.862)",fill:"#c83b51"}),(0,a.jsx)("path",{id:"Trazado_7161","data-name":"Trazado 7161",d:"M430.2,183.9a6.94,6.94,0,1,0,6.887,6.993v-.106A7.067,7.067,0,0,0,430.2,183.9",transform:"translate(-221.316 -96.17)",fill:"#c83b51"})]})})]})]})]}))},dt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1012","data-name":"Rect\xe1ngulo 1012",width:"219.579",height:"256"})}),(0,a.jsx)("clipPath",{id:"clip-Edit_YAML",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Edit_YAML","data-name":"Edit YAML",clipPath:"url(#clip-Edit_YAML)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Edit_YAML_Icon","data-name":"Edit YAML Icon",children:[(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1013","data-name":"Rect\xe1ngulo 1013",width:"256",height:"256",fill:"none"}),(0,a.jsx)("g",{id:"Grupo_2399","data-name":"Grupo 2399",transform:"translate(25)",children:(0,a.jsxs)("g",{id:"Grupo_2398","data-name":"Grupo 2398",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7135","data-name":"Trazado 7135",d:"M393.716,60.148a7.412,7.412,0,0,0-5.1,2.082L369.7,81.158a1.738,1.738,0,0,0-.5.946l-1.953,9.528a1.754,1.754,0,0,0,.5,1.64,1.912,1.912,0,0,0,1.323.5.8.8,0,0,0,.378-.063l9.453-1.83a1.736,1.736,0,0,0,.946-.5l18.906-18.928a7.242,7.242,0,0,0,0-10.158,6.957,6.957,0,0,0-5.042-2.145",transform:"translate(-207.088 -33.921)"}),(0,a.jsx)("path",{id:"Trazado_7136","data-name":"Trazado 7136",d:"M176.1,0a43.4,43.4,0,0,0-34.3,16.755c-4.119.092-8.241.181-12.357.164-21.964-.1-43.951.3-65.928.385-2.625.014-5.267.014-7.914.014H16.136A16.146,16.146,0,0,0,0,33.445V239.878A16.142,16.142,0,0,0,16.136,256H186.882A16.131,16.131,0,0,0,203,239.877V137.027c0-16.076-.4-32.234-.013-48.284.089-3.731.185-7.51.262-11.308A43.478,43.478,0,0,0,176.1,0M51.689,162.377v19.369H37.8V162.56l-19.3-31.977H34.44l10.343,19.333,10.306-19.333H70.547Zm81.6,19.369H119.4V149.733L111.182,177h-14.8l-8.223-27.262v32.014H74.271V130.583H93.53L103.8,161.354l10.233-30.771h19.259Zm45.823,0H140.6V130.583h13.888v38.372h24.631ZM176.359,77.831a34.352,34.352,0,1,1,34.352-34.352,34.352,34.352,0,0,1-34.352,34.352"})]})})]})]})]}))},ft=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1023","data-name":"Rect\xe1ngulo 1023",width:"256",height:"255.998",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Enable_Bucket_Encryption",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Enable_Bucket_Encryption","data-name":"Enable Bucket Encryption",clipPath:"url(#clip-Enable_Bucket_Encryption)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsx)("g",{id:"Enable_Bucket_Encryption_Icon","data-name":"Enable Bucket Encryption Icon",children:(0,a.jsxs)("g",{id:"Grupo_2410","data-name":"Grupo 2410",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7149","data-name":"Trazado 7149",d:"M127.927,130.84a8.009,8.009,0,0,0-4.486,14.645v6.451a4.238,4.238,0,0,0,4.228,4.228h.511a4.237,4.237,0,0,0,4.227-4.228v-6.451a8.009,8.009,0,0,0-4.48-14.645",transform:"translate(-0.009)"}),(0,a.jsx)("path",{id:"Trazado_7150","data-name":"Trazado 7150",d:"M250.852,8.773A21.516,21.516,0,0,0,233.732,0H22.264A21.507,21.507,0,0,0,5.148,8.773,25.864,25.864,0,0,0,.395,28.759c5.223,30.384,16.208,94.421,25,145.533l.014.1c4.457,26,8.337,48.644,10.616,61.787C37.988,247.666,47.17,256,57.875,256H198.129c10.712,0,19.873-8.332,21.859-19.818l10.591-61.712.076-.375,14.334-83.619.049-.243L255.6,28.759a25.8,25.8,0,0,0-4.748-19.986M37.855,98a9.544,9.544,0,0,1-9.408-7.93l-.007-.042a9.544,9.544,0,0,1,9.406-11.158h62.969A29.6,29.6,0,0,0,94.2,97.433v.176h-1.06a32.022,32.022,0,0,0-4.912.382Zm14.538,83.918a9.544,9.544,0,0,1-9.408-7.93l-.007-.041a9.544,9.544,0,0,1,9.405-11.159H63.256a26.924,26.924,0,0,0,8.909,18.292q.468.428.952.833ZM181.632,161.14c0,9.2-8.235,16.705-18.456,16.935l-35.261,6.136-35.259-6.135C82.434,177.844,74.2,170.337,74.2,161.14V125.55c0-9.342,8.5-16.941,18.943-16.941H105.2V97.433c0-11.162,10.19-20.244,22.714-20.244s22.714,9.08,22.714,20.244v11.176h12.059c10.446,0,18.944,7.6,18.944,16.941Zm31.479,12.751h0a9.543,9.543,0,0,1-9.413,7.989l-20.95.006c.311-.262.618-.529.918-.8a26.921,26.921,0,0,0,8.91-18.292H203.7a9.544,9.544,0,0,1,9.415,11.1M227.4,89.972a9.544,9.544,0,0,1-9.414,7.989l-50.5.012a32.024,32.024,0,0,0-4.8-.364h-1.06v-.176a29.6,29.6,0,0,0-6.613-18.56h62.97a9.544,9.544,0,0,1,9.416,11.1",transform:"translate(0)"}),(0,a.jsx)("path",{id:"Trazado_7151","data-name":"Trazado 7151",d:"M127.923,85.575c-7.334,0-13.3,5.32-13.3,11.858l0,11.175h26.61l0-11.175c0-6.538-5.967-11.858-13.3-11.858",transform:"translate(-0.009)"})]})})]})]}))},pt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1024","data-name":"Rect\xe1ngulo 1024",width:"256",height:"255.998",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Enable_Bucket_Quota",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Enable_Bucket_Quota","data-name":"Enable Bucket Quota",clipPath:"url(#clip-Enable_Bucket_Quota)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsx)("g",{id:"Enable_Bucket_Quota_icon","data-name":"Enable Bucket Quota icon",children:(0,a.jsxs)("g",{id:"Grupo_2411","data-name":"Grupo 2411",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7154","data-name":"Trazado 7154",d:"M250.852,8.773A21.516,21.516,0,0,0,233.731,0H22.263A21.507,21.507,0,0,0,5.148,8.773,25.866,25.866,0,0,0,.394,28.758c5.223,30.385,16.208,94.421,25,145.533l.015.1c4.457,26,8.336,48.644,10.616,61.787C37.988,247.665,47.17,256,57.875,256H198.129c10.712,0,19.873-8.33,21.859-19.818l10.59-61.711.077-.375,14.334-83.62.049-.243L255.6,28.758a25.8,25.8,0,0,0-4.748-19.985M37.855,98a9.546,9.546,0,0,1-9.408-7.931l-.007-.041a9.544,9.544,0,0,1,9.406-11.159H73.505A76.487,76.487,0,0,0,61.131,98ZM52.393,181.92a9.542,9.542,0,0,1-9.408-7.93l-.007-.041a9.543,9.543,0,0,1,9.406-11.158h9.537a76.056,76.056,0,0,0,13.085,19.123ZM95.5,184.747A65.491,65.491,0,0,1,166.073,74.4l-6.682,6.683a56.3,56.3,0,0,0-68.414,88.287h.016a56.4,56.4,0,0,0,68.255,8.755l6.7,6.7a65.481,65.481,0,0,1-70.445-.081m81.526-2.408-3.147-3.147L124.27,129.579l49.47-49.515,3.27-3.27,3.27,3.27a69.643,69.643,0,0,1,14.386,20.891q.409.909.789,1.828a70,70,0,0,1,0,53.585l.016-.013q-.46,1.113-.964,2.208A69.625,69.625,0,0,1,180.3,179.069Zm36.084-8.449h0a9.543,9.543,0,0,1-9.413,7.989l-11.062,0a80.263,80.263,0,0,0,11.888-18.775c.039-.085.079-.177.118-.264a9.542,9.542,0,0,1,8.469,11.047M227.4,89.971a9.542,9.542,0,0,1-9.414,7.989l-12.633,0c-.216-.509-.431-1.019-.659-1.526a80.169,80.169,0,0,0-10.75-17.566h24.04a9.544,9.544,0,0,1,9.416,11.1",transform:"translate(0)"}),(0,a.jsx)("path",{id:"Trazado_7155","data-name":"Trazado 7155",d:"M137.27,129.555,176.915,169.2a60.81,60.81,0,0,0,0-79.259Z",transform:"translate(-0.011)"})]})})]})]}))},ht=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1005","data-name":"Rect\xe1ngulo 1005",width:"228.951",height:"256",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Expand_Tenant:_Add_Pools",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Expand_Tenant:_Add_Pools","data-name":"Expand Tenant: Add Pools",clipPath:"url(#clip-Expand_Tenant:_Add_Pools)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Expand_Tenants_Add_Pools","data-name":"Expand Tenants Add Pools",children:[(0,a.jsx)("g",{id:"Grupo_2392","data-name":"Grupo 2392",transform:"translate(14)",children:(0,a.jsxs)("g",{id:"Grupo_2391","data-name":"Grupo 2391",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7129","data-name":"Trazado 7129",d:"M210.46,96.042a56.244,56.244,0,1,0-90.223-64.6A71.157,71.157,0,0,0,0,83.178v0A71.315,71.315,0,0,0,62.4,154l-1.316,24.278c-.121-.006-.238-.018-.354-.018a17.611,17.611,0,0,0,0,35.223h0a17.613,17.613,0,0,0,10.082-32.025l1.464-26.922a70.737,70.737,0,0,0,30.53-7.391l37.678,49.042a35.174,35.174,0,1,0,60.272,24.6h0a35.181,35.181,0,0,0-35.132-35.228h0a34.864,34.864,0,0,0-17.3,4.589L111.4,142.085a71.574,71.574,0,0,0,24.769-29.736l43.156,6.286c-.028.495-.075.985-.075,1.484A24.849,24.849,0,1,0,210.46,96.042m-39.406,4.639A44.437,44.437,0,1,1,215.49,56.244a44.437,44.437,0,0,1-44.437,44.437",transform:"translate(0)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7130","data-name":"Trazado 7130",d:"M224.419,96.438l-6.231-6.231V108.9H236.88l-6.23-6.231L243.11,90.207l-6.231-6.23Z",transform:"translate(-72.057 -27.733)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7131","data-name":"Trazado 7131",d:"M267.86,53,255.4,65.457l6.23,6.231L274.09,59.227l6.231,6.23V46.766H261.629Z",transform:"translate(-84.346 -15.444)",fill:"#4ccb92"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1006","data-name":"Rect\xe1ngulo 1006",width:"256",height:"256",fill:"none"})]})]})]}))},mt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1043","data-name":"Rect\xe1ngulo 1043",width:"255.479",height:"241.736",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Format_Drives",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Format_Drives","data-name":"Format Drives",clipPath:"url(#clip-Format_Drives)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Format_Drives_Icon","data-name":"Format Drives Icon",children:[(0,a.jsx)("g",{id:"Format_Drives_Icon-2","data-name":"Format Drives Icon",transform:"translate(0 -3)",children:(0,a.jsxs)("g",{id:"Grupo_2430","data-name":"Grupo 2430",transform:"translate(0 10)",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7192","data-name":"Trazado 7192",d:"M0,256.464v65.03c0,9.7,41.2,28.6,116.725,28.6s116.722-18.726,116.722-28.6v-65.13c-26.62,13.381-71.916,20.19-116.722,20.19S26.621,269.674,0,256.464M40.1,318.11A17.441,17.441,0,1,1,45.765,294.1,17.442,17.442,0,0,1,40.1,318.11",transform:"translate(0 -108.359)"}),(0,a.jsx)("path",{id:"Trazado_7193","data-name":"Trazado 7193",d:"M223.775,18.83C207.485,9.744,170.954,0,116.724,0,41.2,0,0,18.9,0,28.6S41.2,57.2,116.724,57.2l0,0a393.878,393.878,0,0,0,42.7-2.213,48.4,48.4,0,0,0,.4,20.494,428.272,428.272,0,0,1-43.1,2.145c-44.807,0-90.1-6.877-116.724-20.19v61.728c0,9.7,41.2,28.6,116.724,28.6s116.722-18.9,116.722-28.6V104.95a48.484,48.484,0,0,0-9.672-86.12M40.1,121.058a17.441,17.441,0,1,1,5.666-24.006A17.441,17.441,0,0,1,40.1,121.058m167.186-18.426a38.3,38.3,0,1,1,38.3-38.3,38.3,38.3,0,0,1-38.3,38.3",transform:"translate(0)"}),(0,a.jsx)("path",{id:"Trazado_7194","data-name":"Trazado 7194",d:"M352.322,69.425,344.043,77.7l-.913-.912a9.594,9.594,0,0,0-13.553,0L316.939,89.432a.185.185,0,0,0-.014.017.823.823,0,0,0-.054.065h0a1.109,1.109,0,0,0-.091.125c-.006.009-.013.016-.018.025l-4.4,7.751a1.091,1.091,0,0,0,.177,1.309l2.98,2.979v0l0,0,3.79,3.79,0,0,0,0,3.79,3.79v0h0l3.789,3.789,0,0,0,0,3.79,3.79v0h0l3.79,3.79,0,0,0,0,2.981,2.98a1.09,1.09,0,0,0,1.719-.233l4.327-7.623,12.534-12.534a9.6,9.6,0,0,0,0-13.553l-.912-.913,8.279-8.28a7.844,7.844,0,0,0-11.093-11.093M338,121.1l-1.383-1.385,2.27-4a1.091,1.091,0,0,0-1.9-1.077l-1.973,3.477-2.193-2.193,2.27-4a1.09,1.09,0,0,0-1.9-1.076l-1.973,3.477-2.194-2.195,2.27-4a1.09,1.09,0,0,0-1.9-1.077l-1.973,3.477-2.193-2.193,2.27-4a1.09,1.09,0,0,0-1.9-1.076l-1.973,3.477-2.194-2.194,2.27-4a1.09,1.09,0,0,0-1.9-1.077l-1.973,3.477-2.194-2.194,2.271-4a1.091,1.091,0,0,0-1.9-1.077l-1.973,3.477-1.382-1.382,3.283-5.784,23.33,23.33Z",transform:"translate(-131.967 -28.375)"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1044","data-name":"Rect\xe1ngulo 1044",width:"256",height:"256",fill:"none"})]})]})]}))},vt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1035","data-name":"Rect\xe1ngulo 1035",width:"210.934",height:"255.994",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Lifecycle_configuration",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Lifecycle_configuration","data-name":"Lifecycle configuration",clipPath:"url(#clip-Lifecycle_configuration)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Lifecycle_configuration_Icon","data-name":"Lifecycle configuration Icon",children:[(0,a.jsx)("g",{id:"Grupo_2424","data-name":"Grupo 2424",transform:"translate(23.344 0.006)",children:(0,a.jsxs)("g",{id:"Grupo_2423","data-name":"Grupo 2423",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7180","data-name":"Trazado 7180",d:"M75.518,71.671a11.964,11.964,0,0,0,16.92,0L118.06,46.047a11.963,11.963,0,0,0,0-16.92L92.437,3.5a11.964,11.964,0,0,0-16.92,16.92L82.892,27.8A104.264,104.264,0,0,0,0,129.712a11.964,11.964,0,1,0,23.928,0A80.279,80.279,0,0,1,75.4,54.879a11.959,11.959,0,0,0,.116,16.791",transform:"translate(0 0)"}),(0,a.jsx)("path",{id:"Trazado_7181","data-name":"Trazado 7181",d:"M372.224,332.6a11.964,11.964,0,0,0-23.928,0,80.278,80.278,0,0,1-51.474,74.833,11.96,11.96,0,0,0-17.036-16.791l-25.623,25.623a11.914,11.914,0,0,0-3.011,5.053,12.017,12.017,0,0,0-.274,5.692,11.91,11.91,0,0,0,3.285,6.175l0,0,25.621,25.621a11.964,11.964,0,0,0,16.92-16.92l-7.374-7.375A104.262,104.262,0,0,0,372.224,332.6",transform:"translate(-161.29 -206.318)"}),(0,a.jsx)("path",{id:"Trazado_7182","data-name":"Trazado 7182",d:"M225.178,323.044l6.176-4.656a24.5,24.5,0,0,0,2.824,1.184l1.1,7.65a2.82,2.82,0,0,0,2.824,2.428H249a2.827,2.827,0,0,0,2.824-2.428l1.1-7.65a25.862,25.862,0,0,0,2.824-1.184l6.178,4.628a2.822,2.822,0,0,0,3.7-.252l7.705-7.705a2.824,2.824,0,0,0,.255-3.7l-4.6-6.154a25.662,25.662,0,0,0,1.184-2.822l7.65-1.1a2.826,2.826,0,0,0,2.428-2.822V287.536a2.826,2.826,0,0,0-2.4-2.792l-7.648-1.1A26.6,26.6,0,0,0,269,280.821l4.633-6.183a2.817,2.817,0,0,0-.258-3.7l-7.7-7.762a2.814,2.814,0,0,0-3.693-.254l-6.187,4.656a25.437,25.437,0,0,0-2.823-1.184l-1.1-7.648a2.822,2.822,0,0,0-2.822-2.428H238.126a2.819,2.819,0,0,0-2.82,2.428l-1.1,7.648a25.448,25.448,0,0,0-2.824,1.184l-6.2-4.656a2.83,2.83,0,0,0-3.705.254l-7.7,7.705a2.817,2.817,0,0,0-.258,3.7l4.661,6.183a24.842,24.842,0,0,0-1.193,2.822l-7.643,1.1a2.822,2.822,0,0,0-2.429,2.823V298.4a2.822,2.822,0,0,0,2.429,2.823l7.643,1.1a24.549,24.549,0,0,0,1.193,2.823l-4.661,6.238a2.821,2.821,0,0,0,.258,3.7l7.7,7.705a2.833,2.833,0,0,0,3.705.252m9.93-30.056a8.466,8.466,0,1,1,16.931-.007v.007a8.464,8.464,0,0,1-8.46,8.468h-.008a8.465,8.465,0,0,1-8.463-8.467Z",transform:"translate(-133.14 -164.935)"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1036","data-name":"Rect\xe1ngulo 1036",width:"256",height:"256",fill:"none"})]})]})]}))},gt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1007","data-name":"Rect\xe1ngulo 1007",width:"256",height:"174.517",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-New_Service_Account_Created",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"New_Service_Account_Created","data-name":"New Service Account Created",clipPath:"url(#clip-New_Service_Account_Created)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Create_Service_Account_Icon","data-name":"Create Service Account Icon",children:[(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1006","data-name":"Rect\xe1ngulo 1006",width:"256",height:"256",fill:"none"}),(0,a.jsx)("g",{id:"Grupo_2394","data-name":"Grupo 2394",transform:"translate(0 41.709)",children:(0,a.jsx)("g",{id:"Grupo_2393","data-name":"Grupo 2393",transform:"translate(0 -0.001)",clipPath:"url(#clip-path)",children:(0,a.jsx)("path",{id:"Trazado_7132","data-name":"Trazado 7132",d:"M209.54,0a46.254,46.254,0,0,0-29.083,10.24H27.839a27.482,27.482,0,0,0-10.808,2.2A28.109,28.109,0,0,0,2.2,27.269,27.507,27.507,0,0,0,0,38.078v108.6a27.507,27.507,0,0,0,2.2,10.809,28.112,28.112,0,0,0,14.834,14.834,27.5,27.5,0,0,0,10.808,2.2H195.985a27.5,27.5,0,0,0,10.808-2.2,28.11,28.11,0,0,0,14.833-14.834,27.486,27.486,0,0,0,2.2-10.809v-56A46.462,46.462,0,0,0,209.54,0m-5.828,67.986V53.635H189.362V39.283h14.351V24.933h14.351V39.283h14.351V53.635H218.064V67.985Zm-69.071,1.7h34.67a46.667,46.667,0,0,0,17.844,17.486H134.641a8.743,8.743,0,1,1,0-17.486M68.625,23.35h0c19.765,0,35.837,16.716,35.837,37.255a38.068,38.068,0,0,1-2.816,14.482,37.124,37.124,0,0,1-7.674,11.841,35.566,35.566,0,0,1-11.39,8A34.44,34.44,0,0,1,68.65,97.872h-.025C48.872,97.872,32.8,81.148,32.8,60.606S48.872,23.35,68.625,23.35m41.452,122.5a16.272,16.272,0,0,1-14.76,9.426H38.868a16.474,16.474,0,0,1-14.823-9.289,19.517,19.517,0,0,1,1.376-19.337l.013-.014c.051-.08.111-.164.162-.236l.056-.078c.24-.358.435-.637.635-.9a51.4,51.4,0,0,1,38.031-20.735c.806-.046,1.673-.07,2.578-.07v0a48.828,48.828,0,0,1,11.065,1.3,52.471,52.471,0,0,1,10.723,3.8,51.858,51.858,0,0,1,19.446,16.116,19.952,19.952,0,0,1,1.946,20.028m85.765,8.641h-61.2a8.743,8.743,0,1,1,0-17.486h61.2a8.743,8.743,0,1,1,0,17.486m0-33.223h-61.2a8.743,8.743,0,1,1,0-17.485h61.2a8.743,8.743,0,1,1,0,17.485m13.976-38.1a36.707,36.707,0,1,1,36.707-36.707,36.707,36.707,0,0,1-36.707,36.707",transform:"translate(0 0.001)",fill:"#4ccb92"})})})]})]})]}))},yt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1031","data-name":"Rect\xe1ngulo 1031",width:"217",height:"256.004",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Object_Preview",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Object_Preview","data-name":"Object Preview",clipPath:"url(#clip-Object_Preview)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Object_Preview_Icon","data-name":"Object Preview Icon",children:[(0,a.jsx)("g",{id:"Grupo_2420","data-name":"Grupo 2420",transform:"translate(20)",children:(0,a.jsxs)("g",{id:"Grupo_2419","data-name":"Grupo 2419",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7171","data-name":"Trazado 7171",d:"M110.1,110.805A28.093,28.093,0,1,0,138.137,138.9,28.063,28.063,0,0,0,110.1,110.805m-.064,42.209a14.079,14.079,0,1,1,14.05-14.079,14.065,14.065,0,0,1-14.05,14.079",transform:"translate(-0.168)"}),(0,a.jsx)("path",{id:"Trazado_7172","data-name":"Trazado 7172",d:"M216.564,77.2c.166-6.9.359-13.945.413-21h-31.1A25.6,25.6,0,0,1,160.334,30.6l0-30.544q-3.775.06-7.553.148c-4.892.108-9.79.228-14.681.208C114.67.31,91.212.733,67.766.824c-2.8.016-5.619.016-8.444.016H17.216A17.241,17.241,0,0,0,0,18.08V238.769A17.238,17.238,0,0,0,17.216,256l182.163,0a17.226,17.226,0,0,0,17.2-17.235V128.815c0-17.186-.424-34.46-.013-51.618m-34.353,71.335a86.569,86.569,0,0,1-144.462,0,17.428,17.428,0,0,1,0-19.27,86.569,86.569,0,0,1,144.462,0,17.435,17.435,0,0,1,0,19.27",transform:"translate(0)"}),(0,a.jsx)("path",{id:"Trazado_7173","data-name":"Trazado 7173",d:"M203.277,0H171.758V22.411c-1.233,19.062,12.107,22.137,22.106,22.151h23.489V13.406c0-7.007-7.08-13.4-14.074-13.406",transform:"translate(-0.351)"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1032","data-name":"Rect\xe1ngulo 1032",width:"256",height:"256",fill:"none"})]})]})]}))},xt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1021","data-name":"Rect\xe1ngulo 1021",width:"256",height:"191.369",fill:"#4ccb92"})}),(0,a.jsx)("clipPath",{id:"clip-Set_Bucket_Replication",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Set_Bucket_Replication","data-name":"Set Bucket Replication",clipPath:"url(#clip-Set_Bucket_Replication)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsxs)("g",{id:"Set_Bucket_Replication_icon","data-name":"Set Bucket Replication icon",children:[(0,a.jsx)("g",{id:"Grupo_2409","data-name":"Grupo 2409",transform:"translate(0 32)",children:(0,a.jsxs)("g",{id:"Grupo_2408","data-name":"Grupo 2408",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7146","data-name":"Trazado 7146",d:"M21.3,87.4l-1.578-9.192H46.838c-.123-.722-.249-1.449-.371-2.162-1.931-11.245-3.66-21.315-4.976-28.97l-27.171.006-1.577-9.19H40.71a20.546,20.546,0,0,1,3.951-10.1,17.7,17.7,0,0,1,14.016-7.169h62.949l1.169-6.805a12.394,12.394,0,0,0-2.281-9.6A10.335,10.335,0,0,0,112.289,0H10.7A10.33,10.33,0,0,0,2.474,4.215a12.426,12.426,0,0,0-2.284,9.6C2.7,28.413,7.977,59.178,12.2,83.733l.007.048c2.141,12.491,4,23.369,5.1,29.683.943,5.519,5.354,9.523,10.5,9.523H54.529C52.5,111.17,50.4,98.923,48.415,87.392Z",transform:"translate(0)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7147","data-name":"Trazado 7147",d:"M264.2,97.863l2.41-14.045.037-.18,6.887-40.172.024-.117,5.074-29.533a12.4,12.4,0,0,0-2.281-9.6A10.336,10.336,0,0,0,268.128,0H166.535a10.331,10.331,0,0,0-8.223,4.215,12.425,12.425,0,0,0-2.283,9.6c.341,1.985.735,4.278,1.169,6.805H220.27A17.746,17.746,0,0,1,234.334,27.8a20.491,20.491,0,0,1,3.944,10.091h27.69l-1.514,9.169-26.959.006-5.351,31.141H259.1l-1.514,9.17-7.244,0A54.53,54.53,0,0,0,228,81.1l6.547-38.106a16.846,16.846,0,0,0-3.1-13.05,14.048,14.048,0,0,0-11.179-5.728H82.193a14.042,14.042,0,0,0-11.176,5.728,16.889,16.889,0,0,0-3.1,13.05C71.324,62.83,78.5,104.644,84.236,138.017l.01.065c2.91,16.977,5.443,31.762,6.932,40.344,1.282,7.5,7.277,12.942,14.267,12.942h91.579a13.777,13.777,0,0,0,9.436-3.82A54.824,54.824,0,0,0,264.2,97.863M87.119,88.2l-2.144-12.49H217.335l-.974,5.9a54.43,54.43,0,0,0-18.853,6.571ZM96.611,143l-2.144-12.492h75.608c-.168,1.748-.261,3.518-.261,5.31a55.27,55.27,0,0,0,.481,7.163Zm128.363,36.14A43.322,43.322,0,1,1,268.3,135.817a43.322,43.322,0,0,1-43.322,43.322",transform:"translate(-23.479)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7148","data-name":"Trazado 7148",d:"M313.356,176.316c-.055.053-.11.107-.163.162h-.014l-25.036,24.646-8.883-8.767a6.569,6.569,0,1,0-9.224,9.354l18.121,17.855,34.329-33.735a6.594,6.594,0,1,0-9.13-9.516",transform:"translate(-93.036 -60.553)",fill:"#4ccb92"})]})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1022","data-name":"Rect\xe1ngulo 1022",width:"256",height:"256",fill:"none"})]})]})]}))},bt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-Subscribe_to_event",children:(0,a.jsx)("rect",{width:"256",height:"256"})})}),(0,a.jsxs)("g",{id:"Subscribe_to_event","data-name":"Subscribe to event",clipPath:"url(#clip-Subscribe_to_event)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsx)("g",{id:"subscribe_to_event_icon","data-name":"subscribe to event icon",transform:"translate(-675.16 -286.16)",children:(0,a.jsx)("g",{id:"Grupo_2272","data-name":"Grupo 2272",transform:"translate(676.2 287.84)",children:(0,a.jsxs)("g",{id:"Grupo_2271","data-name":"Grupo 2271",children:[(0,a.jsx)("path",{id:"Trazado_7031","data-name":"Trazado 7031",d:"M218.265,151a12.276,12.276,0,0,0-12.37,12.1v3.147H184.5c-17.317,0-31.3,13.678-31.3,30.383v178.3c0,16.7,14.1,30.383,31.3,30.383h191.73c17.318,0,31.3-13.678,31.3-30.383v-178.3c0-16.7-14.1-30.383-31.3-30.383h-24.74V163.1a12.372,12.372,0,0,0-24.739,0v3.147H230.634V163.1A12.275,12.275,0,0,0,218.265,151Zm157.96,229.99H184.5a6.408,6.408,0,0,1-6.556-6.173v-127.7H382.9v127.7A6.6,6.6,0,0,1,376.225,380.99ZM326.746,190.461v3.39a12.372,12.372,0,0,0,24.739,0v-3.39h24.74a6.408,6.408,0,0,1,6.556,6.174v26.388H177.939V196.635a6.408,6.408,0,0,1,6.556-6.174h21.4v3.39a12.373,12.373,0,0,0,24.74,0v-3.39Z",transform:"translate(-153.2 -151)",fill:"#4ccb92"}),(0,a.jsx)("path",{id:"Trazado_7032","data-name":"Trazado 7032",d:"M320.582,251.052l-58.245,57.325-20.692-20.386a15.283,15.283,0,0,0-21.459,21.766L262.337,351.3l79.857-78.478a15.336,15.336,0,1,0-21.612-21.765Z",transform:"translate(-151.567 -145.725)",fill:"#4ccb92"})]})})})]})]}))},wt=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1028","data-name":"Rect\xe1ngulo 1028",width:"256",height:"256",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Generic_Confirmation",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Generic_Confirmation","data-name":"Generic Confirmation",clipPath:"url(#clip-Generic_Confirmation)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsx)("g",{id:"Generic_Confirmation_Icon","data-name":"Generic Confirmation Icon",children:(0,a.jsx)("g",{id:"Grupo_2416","data-name":"Grupo 2416",clipPath:"url(#clip-path)",children:(0,a.jsx)("path",{id:"Trazado_7167","data-name":"Trazado 7167",d:"M128,0A128,128,0,1,0,256,128,128,128,0,0,0,128,0m.762,229.13A101.13,101.13,0,1,1,229.892,128a101.13,101.13,0,0,1-101.13,101.13M167.851,81.8,111,137.769,90.83,117.862A14.916,14.916,0,0,0,69.884,139.1l41.148,40.543,77.952-76.6a14.973,14.973,0,1,0-20.732-21.609q-.188.181-.37.367Z",fill:"#4ccb92"})})})]})]}))},_t=function(e){return(0,a.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",width:"284.616",height:"49.568",className:"min-icon",viewBox:"0 0 256 256"},e),{},{children:[(0,a.jsxs)("defs",{children:[(0,a.jsx)("clipPath",{id:"clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1030","data-name":"Rect\xe1ngulo 1030",width:"256.722",height:"256.722",fill:"none"})}),(0,a.jsx)("clipPath",{id:"clip-Generic_Delete",children:(0,a.jsx)("rect",{width:"256",height:"256"})})]}),(0,a.jsxs)("g",{id:"Generic_Delete","data-name":"Generic Delete",clipPath:"url(#clip-Generic_Delete)",children:[(0,a.jsx)("rect",{width:"256",height:"256",fill:"#fff"}),(0,a.jsx)("g",{id:"Generic_Delete_Icon","data-name":"Generic Delete Icon",children:(0,a.jsxs)("g",{id:"Grupo_2418","data-name":"Grupo 2418",clipPath:"url(#clip-path)",children:[(0,a.jsx)("path",{id:"Trazado_7169","data-name":"Trazado 7169",d:"M128.362,0a128.361,128.361,0,1,0,128.36,128.361A128.361,128.361,0,0,0,128.362,0m.764,229.776A101.415,101.415,0,1,1,230.541,128.361,101.415,101.415,0,0,1,129.126,229.776",fill:"#c83b51"}),(0,a.jsx)("path",{id:"Trazado_7170","data-name":"Trazado 7170",d:"M239.678,162.575l-18.744-19.187a4.572,4.572,0,0,0-6.36,0l-22.136,22.661-22.133-22.661a4.44,4.44,0,0,0-6.356,0L145.2,162.575a4.45,4.45,0,0,0,0,6.211L167.491,191.6,145.2,214.411a4.45,4.45,0,0,0,0,6.211l18.746,19.189a4.571,4.571,0,0,0,6.358,0l22.133-22.661,22.136,22.661a4.442,4.442,0,0,0,6.358,0l18.744-19.189a4.445,4.445,0,0,0,0-6.211L217.392,191.6l22.286-22.814a4.445,4.445,0,0,0,0-6.211",transform:"translate(-64.082 -63.239)",fill:"#c83b51"})]})})]})]}))},Zt=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 16 16"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"enabled-clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1067","data-name":"Rect\xe1ngulo 1067",width:"16",height:"16",fill:"none"})})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1066","data-name":"Rect\xe1ngulo 1066",width:"16",height:"16",fill:"none"}),(0,a.jsx)("g",{id:"Grupo_2453","data-name":"Grupo 2453",children:(0,a.jsx)("g",{id:"Grupo_2452","data-name":"Grupo 2452",clipPath:"url(#enabled-clip-path)",children:(0,a.jsx)("path",{id:"Trazado_7231","data-name":"Trazado 7231",d:"M8,0a8,8,0,1,0,8,8A8,8,0,0,0,8,0m4.575,5.769-.005.005L7.837,11.69a.89.89,0,0,1-.635.284H7.185a.889.889,0,0,1-.628-.26h0L3.421,8.577a.889.889,0,1,1,1.2-1.31q.028.025.053.053L7.16,9.8l4.117-5.246.024-.026h0a.889.889,0,0,1,1.275,1.24",fill:"#969fa8"})})})]}))},Et=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 16 16"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"disabled-clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1068","data-name":"Rect\xe1ngulo 1068",width:"16",height:"16",fill:"none"})})}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1065","data-name":"Rect\xe1ngulo 1065",width:"16",height:"16",fill:"none"}),(0,a.jsx)("g",{id:"Grupo_2455","data-name":"Grupo 2455",children:(0,a.jsx)("g",{id:"Grupo_2454","data-name":"Grupo 2454",clipPath:"url(#disabled-clip-path)",children:(0,a.jsx)("path",{id:"Trazado_7232","data-name":"Trazado 7232",d:"M8,0a8,8,0,1,0,8,8A8,8,0,0,0,8,0m3.235,5.4L8.965,8.174,10.949,10.6a.857.857,0,0,1-1.327,1.086h0L7.857,9.528,6.092,11.686A.857.857,0,0,1,4.765,10.6L6.749,8.174,4.479,5.4A.857.857,0,0,1,5.806,4.314L7.857,6.821l2.05-2.506A.857.857,0,1,1,11.235,5.4",fill:"#969fa8"})})})]}))},St=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 36.369 36.346"},e),{},{children:(0,a.jsxs)("g",{id:"hardquota-icn",transform:"translate(-98.002 -28.027)",children:[(0,a.jsx)("path",{id:"Trazado_7233","data-name":"Trazado 7233",d:"M344.76,203.93l2.664-2.664,8.15,8.15-2.664,2.664Z",transform:"translate(-228.962 -160.744)",fill:"#07193e"}),(0,a.jsx)("path",{id:"Trazado_7234","data-name":"Trazado 7234",d:"M464.768,316.895a1.11,1.11,0,0,0-1.575,0l-2.827,2.827h0a1.111,1.111,0,0,0,0,1.575l5.182,5.182a1.114,1.114,0,0,0,.787.327,1.1,1.1,0,0,0,.808-.327l2.827-2.827a1.11,1.11,0,0,0,0-1.575Z",transform:"translate(-335.926 -267.73)",fill:"#07193e"}),(0,a.jsx)("path",{id:"Trazado_7235","data-name":"Trazado 7235",d:"M235.486,84.317l-5.408-5.408a2.141,2.141,0,0,1-.157-.174L222.2,86.45c.061.052.121.105.178.161l5.4,5.4c.057.057.109.117.161.178l7.718-7.718a2.2,2.2,0,0,1-.178-.157Z",transform:"translate(-115.243 -47.051)",fill:"#07193e"}),(0,a.jsx)("path",{id:"Trazado_7236","data-name":"Trazado 7236",d:"M337.566,36.693a1.912,1.912,0,0,0,2.706-2.7l-5.408-5.4a1.91,1.91,0,1,0-2.7,2.7Z",transform:"translate(-216.754)",fill:"#07193e"}),(0,a.jsx)("path",{id:"Trazado_7237","data-name":"Trazado 7237",d:"M174.741,188.807a1.912,1.912,0,1,0-2.7,2.706l5.408,5.392a1.911,1.911,0,1,0,2.7-2.7Z",transform:"translate(-68.177 -148.665)",fill:"#07193e"}),(0,a.jsx)("path",{id:"Trazado_7238","data-name":"Trazado 7238",d:"M143.562,432.083a3.239,3.239,0,0,1,.525.048v-.565a2.383,2.383,0,0,0-2.379-2.383h-15.63a2.383,2.383,0,0,0-2.379,2.383v.565a3.245,3.245,0,0,1,.525-.048Z",transform:"translate(-23.844 -372.224)",fill:"#07193e"}),(0,a.jsx)("path",{id:"Trazado_7239","data-name":"Trazado 7239",d:"M122.1,482.968a2.379,2.379,0,0,0-2.379-2.379H100.381A2.379,2.379,0,0,0,98,482.968V484.3h24.1Z",transform:"translate(0 -419.924)",fill:"#07193e"})]})}))},jt=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 37.001 37"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"rep-quota-clip-path",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_959","data-name":"Rect\xe1ngulo 959",width:"37",height:"37",transform:"translate(0 0)",fill:"#07193e"})})}),(0,a.jsxs)("g",{id:"reported-usage-icn-full",transform:"translate(-0.213 -0.213)",children:[(0,a.jsx)("rect",{id:"Rect\xe1ngulo_869","data-name":"Rect\xe1ngulo 869",width:"37",height:"37",transform:"translate(0.213 0.213)",fill:"none"}),(0,a.jsx)("g",{id:"Grupo_2317","data-name":"Grupo 2317",transform:"translate(0.213 0.213)",children:(0,a.jsx)("g",{id:"Grupo_2316","data-name":"Grupo 2316",transform:"translate(0 0)",clipPath:"url(#rep-quota-clip-path)",children:(0,a.jsx)("path",{id:"Trazado_7046","data-name":"Trazado 7046",d:"M18.5,0A18.5,18.5,0,1,0,37,18.5,18.5,18.5,0,0,0,18.5,0m0,18.5V4.756A13.757,13.757,0,0,1,32.238,18.5H18.5Z",transform:"translate(0.074 0.074)",fill:"#07193e"})})})]})]}))},Tt=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 28 28"},e),{},{children:(0,a.jsxs)("g",{id:"Tiers-NotAvailable-icon",transform:"translate(-340 -149)",children:[(0,a.jsx)("circle",{id:"Elipse_594","data-name":"Elipse 594",cx:"14",cy:"14",r:"14",transform:"translate(340 149)",fill:"#c83b51"}),(0,a.jsxs)("g",{id:"Grupo_2399","data-name":"Grupo 2399",children:[(0,a.jsxs)("g",{id:"TiersIcon",transform:"translate(345 154)",children:[(0,a.jsx)("rect",{id:"Rect\xe1ngulo_848","data-name":"Rect\xe1ngulo 848",width:"17.95",height:"17.95",transform:"translate(0 0.021)",fill:"none"}),(0,a.jsx)("g",{id:"tiers-icn",transform:"translate(-0.001 0)",children:(0,a.jsx)("g",{id:"tiers",children:(0,a.jsx)("path",{id:"Trazado_441","data-name":"Trazado 441",d:"M13,3a.8.8,0,0,0-.392.092L4.374,7.482a.666.666,0,0,0,0,1.2l2.54,1.354-2.54,1.354a.666.666,0,0,0,0,1.2l2.54,1.353-2.54,1.354a.666.666,0,0,0,0,1.2l8.236,4.39a.8.8,0,0,0,.749,0l8.236-4.39a.666.666,0,0,0,0-1.2l-2.54-1.354,2.54-1.353a.666.666,0,0,0,0-1.2l-2.54-1.354L21.6,8.678a.666.666,0,0,0,0-1.2L13.36,3.092A.8.8,0,0,0,13,3ZM8.414,10.832l4.2,2.237a.8.8,0,0,0,.749,0l4.2-2.237,2.167,1.154-6.739,3.591L6.246,11.986Zm0,3.9,4.2,2.237a.8.8,0,0,0,.749,0l4.2-2.237,2.166,1.154-6.739,3.591L6.246,15.89Z",transform:"translate(-4 -3)",fill:"#fff"})})})]}),(0,a.jsxs)("g",{id:"Grupo_2398","data-name":"Grupo 2398",transform:"translate(-3 5)",children:[(0,a.jsx)("circle",{id:"Elipse_593","data-name":"Elipse 593",cx:"5",cy:"5",r:"5",transform:"translate(358 156)",fill:"#fff"}),(0,a.jsx)("path",{id:"Elipse_593_-_Contorno","data-name":"Elipse 593 - Contorno",d:"M5,1A4,4,0,1,0,9,5,4,4,0,0,0,5,1M5,0A5,5,0,1,1,0,5,5,5,0,0,1,5,0Z",transform:"translate(358 156)",fill:"#c83b51"}),(0,a.jsx)("g",{id:"Page-1",transform:"translate(361.707 159.513)",children:(0,a.jsxs)("g",{id:"Fill-2",transform:"translate(0 0)",children:[(0,a.jsx)("path",{id:"Trazado_6970","data-name":"Trazado 6970",d:"M2.978.3l-.3-.3L1.489,1.189.3,0,0,.3,1.189,1.489,0,2.678l.3.3L1.489,1.789,2.678,2.978l.3-.3L1.789,1.489Z",transform:"translate(0 0)",fill:"#c83b51"}),(0,a.jsx)("path",{id:"Trazado_6970_-_Contorno","data-name":"Trazado 6970 - Contorno",d:"M.3-.354,1.489.835,2.678-.354,3.331.3,2.142,1.489,3.331,2.678l-.653.653L1.489,2.142.3,3.331l-.653-.653L.835,1.489-.354.3Z",transform:"translate(0 0)",fill:"#c83b51"})]})})]})]})]})}))},At=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 24.858 50.321"},e),{},{children:(0,a.jsx)("path",{id:"minio-logo-color",d:"M50.1,20.478q-1.908-3.154-3.826-6.3c-.664-1.088-1.339-2.171-2.012-3.254l-.266-.393a4.682,4.682,0,0,0-6-1.913,4.208,4.208,0,0,0-1.936,5.674,10.029,10.029,0,0,0,1.714,2.129c1.924,2.044,3.91,4.031,5.818,6.089a6.008,6.008,0,0,1-2.092,9.664l-.128.052V22.652A31.007,31.007,0,0,0,32.4,29.6a30.255,30.255,0,0,0-7.034,13.992l6.481-3.3c2.155-1.1,4.295-2.172,6.532-3.308V55.447l2.984,3.027V35.425s.068-.032.292-.152a24.676,24.676,0,0,0,2.614-1.448,8.834,8.834,0,0,0,1.3-13.358c-2.216-2.318-4.443-4.626-6.656-6.946a1.424,1.424,0,0,1,0-2.128,1.47,1.47,0,0,1,2.138.12c.308.311,2.386,2.506,3.127,3.283q2.808,2.941,5.625,5.872a4.005,4.005,0,0,0,.311.266l.117-.069A1.864,1.864,0,0,0,50.1,20.478ZM38.375,33.551a.538.538,0,0,1-.273.364c-1.186.629-2.382,1.241-3.577,1.855C33.109,36.5,31.69,37.223,30.17,38a28.176,28.176,0,0,1,8.16-10.112l.053-.044C38.386,29.7,38.392,31.7,38.375,33.551Z",transform:"translate(-25.369 -8.153)",fill:"#c72c48"})}))},Ct=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 10.868 22"},e),{},{children:(0,a.jsx)("path",{id:"minio-logo-color",d:"M36.179,13.541q-.834-1.379-1.673-2.755c-.29-.476-.585-.949-.88-1.422l-.116-.172a2.047,2.047,0,0,0-2.624-.836,1.84,1.84,0,0,0-.846,2.481,4.385,4.385,0,0,0,.749.931c.841.894,1.709,1.762,2.544,2.662a2.626,2.626,0,0,1-.915,4.225l-.056.023V14.492a13.556,13.556,0,0,0-3.918,3.036,13.227,13.227,0,0,0-3.075,6.117L28.2,22.2c.942-.479,1.878-.95,2.856-1.446V28.83l1.3,1.323V20.076s.03-.014.127-.067a10.787,10.787,0,0,0,1.143-.633,3.862,3.862,0,0,0,.567-5.84c-.969-1.013-1.942-2.022-2.91-3.037a.623.623,0,0,1,0-.93.643.643,0,0,1,.935.053c.135.136,1.043,1.1,1.367,1.435q1.228,1.286,2.459,2.567a1.752,1.752,0,0,0,.136.116l.051-.03A.815.815,0,0,0,36.179,13.541Zm-5.124,5.715a.235.235,0,0,1-.119.159c-.519.275-1.042.543-1.564.811l-1.9.976a12.318,12.318,0,0,1,3.568-4.421l.023-.019C31.06,17.572,31.063,18.448,31.055,19.257Z",transform:"translate(-25.369 -8.153)",fill:"#8399ab"})}))},kt=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 47.137 36.516"},e),{},{children:(0,a.jsx)("g",{id:"azure-logo-color",transform:"translate(-437.603 -471.382)",children:(0,a.jsx)("g",{id:"layer1-1",transform:"translate(437.603 471.382)",children:(0,a.jsx)("path",{id:"path21",d:"M459.411,505.944c6.055-1.07,11.056-1.953,11.115-1.965l.1-.024-5.717-6.8c-3.143-3.74-5.717-6.815-5.717-6.831,0-.032,5.9-16.291,5.936-16.347.012-.019,4.03,6.919,9.738,16.812,5.347,9.266,9.755,16.9,9.8,16.975l.075.132-18.168,0-18.169,0S459.411,505.944,459.411,505.944ZM437.6,503.868c0-.008,2.693-4.686,5.987-10.391l5.987-10.375,6.978-5.856c3.839-3.219,6.986-5.86,7-5.864a1.448,1.448,0,0,1-.112.282c-.075.159-3.485,7.471-7.574,16.247l-7.44,15.957-5.41.008C440.037,503.884,437.6,503.88,437.6,503.868Z",transform:"translate(-437.603 -471.382)",fill:"#2a94dc"})})})}))},Mt=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 22 17.043"},e),{},{children:(0,a.jsx)("g",{id:"azure-logo-gray",transform:"translate(-437.603 -471.382)",children:(0,a.jsx)("g",{id:"layer1-1",transform:"translate(437.603 471.382)",children:(0,a.jsx)("path",{id:"path21",d:"M447.781,487.513l5.188-.917.049-.011-2.668-3.173c-1.467-1.746-2.668-3.181-2.668-3.188s2.756-7.6,2.771-7.63c.006-.009,1.881,3.229,4.545,7.847l4.572,7.923.035.062-8.479,0-8.48,0S447.781,487.513,447.781,487.513Zm-10.178-.969s1.257-2.187,2.794-4.85l2.794-4.842,3.257-2.733c1.792-1.5,3.261-2.735,3.266-2.737a.672.672,0,0,1-.052.132c-.035.074-1.627,3.487-3.535,7.583l-3.472,7.448-2.525,0C438.739,486.551,437.6,486.55,437.6,486.544Z",transform:"translate(-437.603 -471.382)",fill:"#8399ab"})})})}))},Pt=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 42.239 33.998"},e),{},{children:(0,a.jsx)("g",{id:"google-cloud-logo-color",transform:"translate(-526 -141)",children:(0,a.jsxs)("g",{id:"Grupo_1820","data-name":"Grupo 1820",transform:"translate(526 141)",children:[(0,a.jsx)("path",{id:"Trazado_6946","data-name":"Trazado 6946",d:"M78,40.648h1.288l3.671-3.671.18-1.559A16.5,16.5,0,0,0,56.295,43.47a1.988,1.988,0,0,1,1.288-.076l7.343-1.212s.373-.619.568-.581a9.159,9.159,0,0,1,12.535-.953Z",transform:"translate(-51.201 -31.287)",fill:"#ea4335"}),(0,a.jsx)("path",{id:"Trazado_6947","data-name":"Trazado 6947",d:"M238.1,84.8a16.527,16.527,0,0,0-4.985-8.037l-5.152,5.152a9.161,9.161,0,0,1,3.362,7.267V90.1a4.587,4.587,0,0,1,0,9.173h-9.173l-.915.928v5.5l.915.915h9.173A11.932,11.932,0,0,0,238.1,84.8Z",transform:"translate(-201.103 -72.617)",fill:"#4285f4"}),(0,a.jsx)("path",{id:"Trazado_6948","data-name":"Trazado 6948",d:"M12.273,142.319a11.928,11.928,0,0,0-7.2,21.384l5.319-5.319a4.586,4.586,0,1,1,6.067-6.067L21.779,147a11.9,11.9,0,0,0-9.505-4.678Z",transform:"translate(-0.415 -132.197)",fill:"#fbbc05"})]})})}))},Ot=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 21.883 17.614"},e),{},{children:(0,a.jsx)("g",{id:"Grupo_2504","data-name":"Grupo 2504",transform:"translate(-492.881 -516.58)",children:(0,a.jsx)("g",{id:"google-cloud-logo-color",transform:"translate(492.881 516.58)",children:(0,a.jsxs)("g",{id:"Grupo_1820","data-name":"Grupo 1820",children:[(0,a.jsx)("path",{id:"Trazado_6946","data-name":"Trazado 6946",d:"M67.542,36.137h.667l1.9-1.9.093-.808A8.55,8.55,0,0,0,56.3,37.6a1.03,1.03,0,0,1,.667-.039l3.8-.628s.193-.321.294-.3a4.745,4.745,0,0,1,6.494-.494Z",transform:"translate(-53.656 -31.287)",fill:"#8399ab"}),(0,a.jsx)("path",{id:"Trazado_6947","data-name":"Trazado 6947",d:"M229.968,80.926a8.562,8.562,0,0,0-2.582-4.164l-2.669,2.669a4.746,4.746,0,0,1,1.742,3.765v.474a2.376,2.376,0,0,1,0,4.752h-4.752l-.474.481v2.85l.474.474h4.752a6.182,6.182,0,0,0,3.51-11.3Z",transform:"translate(-210.804 -74.614)",fill:"#6b8295"}),(0,a.jsx)("path",{id:"Trazado_6948","data-name":"Trazado 6948",d:"M6.558,142.319A6.18,6.18,0,0,0,2.828,153.4l2.756-2.756A2.376,2.376,0,1,1,8.727,147.5l2.756-2.756a6.166,6.166,0,0,0-4.924-2.423Z",transform:"translate(-0.415 -137.075)",fill:"#9aafbf"})]})})})}))},Rt=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 33.055 39.954"},e),{},{children:[(0,a.jsx)("path",{id:"Trazado_6934","data-name":"Trazado 6934",d:"M2.663,53.686,0,55.018V78.391l2.663,1.324.016-.019V53.7l-.016-.018",transform:"translate(0 -46.754)",fill:"#8c3123"}),(0,a.jsx)("path",{id:"Trazado_6935","data-name":"Trazado 6935",d:"M34.876,76.323,20.624,79.715V53.686L34.876,57V76.323",transform:"translate(-17.961 -46.754)",fill:"#e05243"}),(0,a.jsx)("path",{id:"Trazado_6936","data-name":"Trazado 6936",d:"M81.178,125.086l6.045.77.038-.088.034-9.913-.072-.077-6.045.758v8.55",transform:"translate(-70.696 -100.829)",fill:"#8c3123"}),(0,a.jsx)("path",{id:"Trazado_6937","data-name":"Trazado 6937",d:"M128,76.361l13.864,3.362.022-.035V53.709l-.022-.023L128,57.043V76.361",transform:"translate(-111.469 -46.754)",fill:"#8c3123"}),(0,a.jsx)("path",{id:"Trazado_6938","data-name":"Trazado 6938",d:"M134.043,125.086l-6.047.77V115.778l6.047.758v8.55",transform:"translate(-111.469 -100.829)",fill:"#e05243"}),(0,a.jsx)("path",{id:"Trazado_6939","data-name":"Trazado 6939",d:"M93.27,78.958l-6.047,1.1-6.045-1.1,6.038-1.583,6.055,1.583",transform:"translate(-70.696 -67.384)",fill:"#5e1f18"}),(0,a.jsx)("path",{id:"Trazado_6940","data-name":"Trazado 6940",d:"M93.27,212.319l-6.047-1.109-6.045,1.109L87.216,214l6.054-1.685",transform:"translate(-70.696 -183.938)",fill:"#f2b0a9"}),(0,a.jsx)("path",{id:"Trazado_6941","data-name":"Trazado 6941",d:"M81.178,11.573l6.045-1.5.049-.015V.04L87.223,0,81.178,3.023v8.55",transform:"translate(-70.696)",fill:"#8c3123"}),(0,a.jsx)("path",{id:"Trazado_6942","data-name":"Trazado 6942",d:"M134.043,11.573,128,10.077V0l6.047,3.023v8.55",transform:"translate(-111.469)",fill:"#e05243"}),(0,a.jsx)("path",{id:"Trazado_6943","data-name":"Trazado 6943",d:"M87.219,231.378l-6.046-3.022v-8.55l6.046,1.5.089.1-.024,9.8-.065.174",transform:"translate(-70.692 -191.424)",fill:"#8c3123"}),(0,a.jsx)("path",{id:"Trazado_6944","data-name":"Trazado 6944",d:"M128,231.378l6.046-3.022v-8.55L128,221.3v10.077",transform:"translate(-111.469 -191.424)",fill:"#e05243"}),(0,a.jsx)("path",{id:"Trazado_6945","data-name":"Trazado 6945",d:"M235.367,53.686l2.664,1.332V78.391l-2.664,1.331V53.686",transform:"translate(-204.976 -46.754)",fill:"#e05243"})]}))},Nt=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 18.201 22"},e),{},{children:[(0,a.jsx)("path",{id:"Trazado_6934","data-name":"Trazado 6934",d:"M1.477,53.686,0,54.417V67.239l1.477.726.009-.011V53.7l-.009-.01",transform:"translate(0 -49.842)",fill:"#6b8295"}),(0,a.jsx)("path",{id:"Trazado_6935","data-name":"Trazado 6935",d:"M28.526,66.1l-7.9,1.861V53.686l7.9,1.821V66.1",transform:"translate(-19.147 -49.842)",fill:"#8399ab"}),(0,a.jsx)("path",{id:"Trazado_6936","data-name":"Trazado 6936",d:"M81.178,120.939l3.352.427.021-.049.019-5.5-.04-.043-3.352.421v4.74",transform:"translate(-75.415 -107.566)",fill:"#6b8295"}),(0,a.jsx)("path",{id:"Trazado_6937","data-name":"Trazado 6937",d:"M128,66.125l7.687,1.844.012-.019V53.7l-.012-.013L128,55.527v10.6",transform:"translate(-118.959 -49.842)",fill:"#6b8295"}),(0,a.jsx)("path",{id:"Trazado_6938","data-name":"Trazado 6938",d:"M131.349,120.939l-3.353.427v-5.588l3.353.421v4.74",transform:"translate(-118.91 -107.566)",fill:"#8399ab"}),(0,a.jsx)("path",{id:"Trazado_6939","data-name":"Trazado 6939",d:"M87.883,78.252l-3.353.611-3.352-.611,3.348-.877,3.357.877",transform:"translate(-75.429 -71.876)",fill:"#5a6e7e"}),(0,a.jsx)("path",{id:"Trazado_6940","data-name":"Trazado 6940",d:"M87.883,211.825l-3.353-.615-3.352.615,3.348.934,3.357-.934",transform:"translate(-75.429 -196.201)",fill:"#9aafbf"}),(0,a.jsx)("path",{id:"Trazado_6941","data-name":"Trazado 6941",d:"M81.178,6.417l3.352-.829.027-.008V.022L84.53,0,81.178,1.676V6.417",transform:"translate(-75.415)",fill:"#6b8295"}),(0,a.jsx)("path",{id:"Trazado_6942","data-name":"Trazado 6942",d:"M131.349,6.417,128,5.587V0l3.353,1.676V6.417",transform:"translate(-118.91)",fill:"#8399ab"}),(0,a.jsx)("path",{id:"Trazado_6943","data-name":"Trazado 6943",d:"M84.525,226.222l-3.352-1.676v-4.741l3.352.829.049.056-.013,5.434-.036.1",transform:"translate(-75.411 -204.222)",fill:"#6b8295"}),(0,a.jsx)("path",{id:"Trazado_6944","data-name":"Trazado 6944",d:"M128,226.222l3.352-1.676v-4.741l-3.352.829v5.587",transform:"translate(-118.91 -204.222)",fill:"#8399ab"}),(0,a.jsx)("path",{id:"Trazado_6945","data-name":"Trazado 6945",d:"M235.367,53.686l1.477.731V67.239l-1.477.73V53.686",transform:"translate(-218.643 -49.842)",fill:"#8399ab"})]}))},zt=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 10.906 10.906"},e),{},{children:(0,a.jsx)("path",{id:"Trazado_7002","data-name":"Trazado 7002",d:"M8.577,3a5.447,5.447,0,1,0,5.144,4.037,8.109,8.109,0,0,1-.951.783,6.211,6.211,0,0,1-2.174,1,2.252,2.252,0,0,1-2.143-.373,2.252,2.252,0,0,1-.373-2.143,6.234,6.234,0,0,1,1-2.174,8.085,8.085,0,0,1,.783-.951A5.483,5.483,0,0,0,8.577,3Zm2.961,8.536a4.343,4.343,0,0,0,1.228-2.42c-1.934,1.115-3.964,1.225-5.083.106s-1.009-3.149.106-5.083a4.362,4.362,0,1,0,3.75,7.4Z",transform:"translate(-3.001 -3.001)",fill:"#969fa8"})}))},It=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 14 14"},e),{},{children:[(0,a.jsx)("path",{id:"Trazado_7179","data-name":"Trazado 7179",d:"M141.421,148.182a4.5,4.5,0,0,0-4.3,5.805l-5.188,5.195v3h3l5.187-5.2a4.5,4.5,0,0,0,5.8-3.936,4.39,4.39,0,0,0-.823-3A4.492,4.492,0,0,0,141.421,148.182Zm.5,5a1,1,0,1,1,1-1A1,1,0,0,1,141.92,153.182Z",transform:"translate(-131.934 -148.182)",fill:"#5e5e5e"}),(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1090","data-name":"Rect\xe1ngulo 1090",width:"13.764",height:"13.764",transform:"translate(0.118 0.118)",fill:"none"})]}))},Lt=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 21 21"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-help-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_961","data-name":"Rect\xe1ngulo 961",width:"21",height:"21",transform:"translate(0 -0.159)",fill:"#07193e"})})}),(0,a.jsx)("g",{id:"HelpIcon-Full",transform:"translate(0 0.159)",children:(0,a.jsx)("g",{id:"Grupo_2320","data-name":"Grupo 2320",clipPath:"url(#clip-path-help-icon)",children:(0,a.jsx)("path",{id:"Trazado_7048","data-name":"Trazado 7048",d:"M10.42,0A10.42,10.42,0,1,0,20.84,10.42,10.42,10.42,0,0,0,10.42,0M9.534,18.477a2,2,0,0,1-1.953-1.953h0a1.943,1.943,0,1,1,1.953,1.953m1.309-6.32-.082,1.176H8.3V9.856h.982c1.974,0,3.037-.624,3.037-1.82,0-1.1-1.053-1.7-3.007-1.7-.552,0-1.125.041-1.554.081L7.561,3.73A15.939,15.939,0,0,1,9.626,3.6c3.569,0,5.635,1.647,5.635,4.234,0,2.362-1.575,3.876-4.418,4.326",fill:"#07193e"})})})]}))},Dt=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 26 25"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-call-home-feature",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1614","data-name":"Rect\xe1ngulo 1614",width:"6.172",height:"6.309",fill:"#fff",stroke:"rgba(0,0,0,0)",strokeWidth:"1"})})}),(0,a.jsxs)("g",{id:"Grupo_2540","data-name":"Grupo 2540",transform:"translate(0.531 0.596)",children:[(0,a.jsx)("path",{id:"call-home-icon",d:"M16.865,8.241a1.7,1.7,0,0,1-1.6,1.092h-.633v5.3a1.694,1.694,0,0,1-1.694,1.694h-8.9a1.7,1.7,0,0,1-1.694-1.694v-5.3H1.71A1.694,1.694,0,0,1,.58,6.362L7.358.432a1.694,1.694,0,0,1,2.259,0L16.4,6.362h0a1.694,1.694,0,0,1,.47,1.879",transform:"translate(0 0)",fill:"#07193e",stroke:"rgba(0,0,0,0)",strokeWidth:"1"}),(0,a.jsx)("g",{id:"Grupo_2539","data-name":"Grupo 2539",transform:"translate(5.441 6.68)",children:(0,a.jsx)("g",{id:"Grupo_2539-2","data-name":"Grupo 2539",clipPath:"url(#clip-path-call-home-feature)",children:(0,a.jsx)("path",{id:"Trazado_7262","data-name":"Trazado 7262",d:"M4.6,38.068a.164.164,0,0,0-.231,0l-.377.377a.149.149,0,0,1-.21,0L2.254,36.918a.149.149,0,0,1,0-.21l.377-.377a.164.164,0,0,0,0-.231L1.4,34.871a.164.164,0,0,0-.231,0l-.763.763a1.4,1.4,0,0,0,0,1.982l2.669,2.672a1.4,1.4,0,0,0,1.982,0l.763-.763a.164.164,0,0,0,0-.231Z",transform:"translate(0 -34.389)",fill:"#fff",stroke:"rgba(0,0,0,0)",strokeWidth:"1"})})}),(0,a.jsxs)("g",{id:"Grupo_2537","data-name":"Grupo 2537",transform:"translate(12.323 0)",children:[(0,a.jsxs)("g",{id:"Elipse_623","data-name":"Elipse 623",transform:"translate(-0.323 -0.249)",fill:"#4ccb92",stroke:"#fff",strokeWidth:"1",children:[(0,a.jsx)("circle",{cx:"7",cy:"7",r:"7",stroke:"none"}),(0,a.jsx)("circle",{cx:"7",cy:"7",r:"6.5",fill:"none"})]}),(0,a.jsx)("g",{id:"check",transform:"translate(2.934 4.069)",children:(0,a.jsx)("path",{id:"Trazado_7261","data-name":"Trazado 7261",d:"M14.9,10.862a.622.622,0,1,1,.889.871l-3.311,4.139a.622.622,0,0,1-.9.017L9.384,13.694a.622.622,0,1,1,.879-.879L12,14.551l2.881-3.67.017-.018Z",transform:"translate(-9.182 -10.676)",fill:"#fff"})})]})]})]}))},Ht=function(e){return(0,a.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 26 25"},e),{},{children:(0,a.jsxs)("g",{id:"Grupo_2542","data-name":"Grupo 2542",transform:"translate(0 0.249)",children:[(0,a.jsx)("g",{id:"health-icon",transform:"translate(0 7.842)",children:(0,a.jsx)("path",{id:"Uni\xf3n_51","data-name":"Uni\xf3n 51",d:"M1.977,17A1.976,1.976,0,0,1,0,15.015V4.938H2.144v9.918h9.892V17Zm12.591-.443V14.584h1.974v1.973Zm.288-4.538V2.144H4.965V0H15.023A1.98,1.98,0,0,1,17,1.973V12.019Zm-4.8,0V10.045h1.979v1.973Zm-5.094,0V10.045H6.944v1.973Zm5.094-5.106V4.938h1.979V6.912Zm-5.09,0V4.938H6.942V6.912ZM.458,2.448V.475H2.432V2.448Z",transform:"translate(0 -0.091)",fill:"#07193e"})}),(0,a.jsxs)("g",{id:"Grupo_2537","data-name":"Grupo 2537",transform:"translate(12.323 0)",children:[(0,a.jsxs)("g",{id:"Elipse_623","data-name":"Elipse 623",transform:"translate(-0.323 -0.249)",fill:"#4ccb92",stroke:"#fff",strokeWidth:"1",children:[(0,a.jsx)("circle",{cx:"7",cy:"7",r:"7",stroke:"none"}),(0,a.jsx)("circle",{cx:"7",cy:"7",r:"6.5",fill:"none"})]}),(0,a.jsx)("g",{id:"check",transform:"translate(2.934 4.069)",children:(0,a.jsx)("path",{id:"Trazado_7261","data-name":"Trazado 7261",d:"M14.9,10.862a.622.622,0,1,1,.889.871l-3.311,4.139a.622.622,0,0,1-.9.017L9.384,13.694a.622.622,0,1,1,.879-.879L12,14.551l2.881-3.67.017-.018Z",transform:"translate(-9.182 -10.676)",fill:"#fff"})})]})]})}))},Bt=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 25 23"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-perf-feat-icon",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_985","data-name":"Rect\xe1ngulo 985",width:"17",height:"17",transform:"translate(-0.12 0.298)",fill:"#07193e"})})}),(0,a.jsxs)("g",{id:"Grupo_2543","data-name":"Grupo 2543",transform:"translate(0.12 0.101)",children:[(0,a.jsx)("g",{id:"speedtest-icon-full",transform:"translate(0 5.601)",children:(0,a.jsxs)("g",{id:"Grupo_2352","data-name":"Grupo 2352",transform:"translate(0 0)",clipPath:"url(#clip-path-perf-feat-icon)",children:[(0,a.jsx)("path",{id:"Trazado_7077","data-name":"Trazado 7077",d:"M120.559,129.741a.529.529,0,1,0,.529.529h0a.529.529,0,0,0-.529-.529",transform:"translate(-112.345 -121.572)",fill:"#07193e"}),(0,a.jsx)("path",{id:"Trazado_7078","data-name":"Trazado 7078",d:"M8.2,0a8.2,8.2,0,1,0,8.2,8.2A8.2,8.2,0,0,0,8.2,0M8.16,2.27h.027a.5.5,0,1,1-.008,1H8.16a.5.5,0,0,1,0-1m-5.6,5.5v0a.19.19,0,0,1-.189.164H2.345a.19.19,0,0,1-.164-.214V7.717h0a.189.189,0,0,1,.213-.163h0a.19.19,0,0,1,.162.214M3,6.075H3a.278.278,0,0,1-.244-.406V5.662h0A.278.278,0,1,1,3,6.075M4.54,4.423l-.021.018-.006.005a.34.34,0,0,1-.225.088v0a.341.341,0,0,1-.224-.6l.006-.005h0l0,0a.342.342,0,1,1,.466.5m1.683-.868-.006,0-.011,0a.449.449,0,0,1-.162.034v0a.453.453,0,0,1-.16-.876l.013,0h0a.453.453,0,1,1,.325.845M9.1,12.6h0a.241.241,0,0,1-.241.241h-1.3a.241.241,0,1,1,0-.482h1.3A.241.241,0,0,1,9.1,12.6Zm1.067-4.771-.89.76a.021.021,0,0,0,0,.02,1.1,1.1,0,1,1-.668-.779.021.021,0,0,0,.021,0l.886-.76h0a.5.5,0,0,1,.651.759M10.1,3.7v0a.552.552,0,0,1-.2-.036L9.885,3.65a.554.554,0,0,1,.387-1.039l.019.007A.557.557,0,0,1,10.1,3.7m1.765,1.13a.628.628,0,0,1-.413-.155l-.016-.014a.629.629,0,0,1,.825-.948l.017.015a.628.628,0,0,1-.413,1.1M12.5,6.142l-.012-.022A.722.722,0,0,1,13.743,5.4l.017.032.013.023h0a.722.722,0,0,1-.291.979h0a.722.722,0,0,1-.979-.291m1.385,2.42a.817.817,0,0,1-.921-.7V7.835a.817.817,0,0,1,.809-.927.819.819,0,0,1,.807.7l0,.032a.817.817,0,0,1-.7.918",transform:"translate(0 -0.138)",fill:"#07193e"})]})}),(0,a.jsxs)("g",{id:"Grupo_2538","data-name":"Grupo 2538",transform:"translate(11.203 0)",children:[(0,a.jsxs)("g",{id:"Elipse_623","data-name":"Elipse 623",transform:"translate(-0.324 -0.101)",fill:"#4ccb92",stroke:"#fff",strokeWidth:"1",children:[(0,a.jsx)("circle",{cx:"7",cy:"7",r:"7",stroke:"none"}),(0,a.jsx)("circle",{cx:"7",cy:"7",r:"6.5",fill:"none"})]}),(0,a.jsx)("g",{id:"check",transform:"translate(2.797 4.098)",children:(0,a.jsx)("path",{id:"Trazado_7261","data-name":"Trazado 7261",d:"M14.938,10.864a.627.627,0,1,1,.895.877L12.5,15.91a.627.627,0,0,1-.9.017l-2.21-2.211a.627.627,0,1,1,.886-.886l1.75,1.748,2.9-3.7.017-.018Z",transform:"translate(-9.182 -10.676)",fill:"#fff"})})]})]})]}))},Ut=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 23.786 22.2"},e),{},{children:[(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip-path-prom-error",children:(0,a.jsx)("rect",{id:"Rect\xe1ngulo_1578","data-name":"Rect\xe1ngulo 1578",width:"23.786",height:"22.2",fill:"none"})})}),(0,a.jsxs)("g",{id:"Grupo_2402","data-name":"Grupo 2402",clipPath:"url(#clip-path-prom-error)",children:[(0,a.jsx)("path",{id:"Trazado_7049","data-name":"Trazado 7049",d:"M23.786,7.136a3.967,3.967,0,0,0-4.824-3.871A11.1,11.1,0,1,0,22.2,11.1c0-.26-.01-.518-.027-.773a3.958,3.958,0,0,0,1.613-3.192M11.1,20.776v0a2.92,2.92,0,0,1-3.158-2.6h6.317a2.922,2.922,0,0,1-3.159,2.6m5.217-3.464H5.883V15.42H16.317Zm-.038-2.865H5.913c-.035-.04-.07-.079-.1-.119a7.561,7.561,0,0,1-1.564-2.664c0-.023,1.295.266,2.22.476,0,0,.476.109,1.167.238A4.332,4.332,0,0,1,6.573,9.592c0-2.225,1.707-4.17,1.091-5.741.6.048,1.24,1.269,1.284,3.166a6.8,6.8,0,0,0,.9-3.474c0-1.02.672-2.207,1.348-2.247-.6.988.159,1.835.826,3.937.251.793.22,2.118.414,2.961.064-1.75.366-4.3,1.476-5.185a3.83,3.83,0,0,0,.457,3.167,6,6,0,0,1,1,3.437,4.294,4.294,0,0,1-1.031,2.775c.733-.137,1.239-.262,1.239-.262l2.379-.465a6.749,6.749,0,0,1-1.676,2.785M19.822,10.7A3.568,3.568,0,1,1,23.39,7.136,3.568,3.568,0,0,1,19.822,10.7",transform:"translate(0 -0.001)",fill:"#c83b51"}),(0,a.jsx)("path",{id:"Trazado_7050","data-name":"Trazado 7050",d:"M491.022,131.222l.121-2.851h-1.17l.121,2.851Z",transform:"translate(-470.607 -123.297)",fill:"#c83b51"}),(0,a.jsx)("path",{id:"Trazado_7051","data-name":"Trazado 7051",d:"M488.865,209.66a.655.655,0,1,0,.65.65.667.667,0,0,0-.65-.65",transform:"translate(-468.913 -201.374)",fill:"#c83b51"})]})]}))}},77130:function(e,t,n){"use strict";n.d(t,{Kr:function(){return r},ST:function(){return a},sp:function(){return o},mx:function(){return i},p9:function(){return l},YK:function(){return s},Mz:function(){return c},hO:function(){return u},vw:function(){return d},sP:function(){return f},cD:function(){return p},k7:function(){return h},Nv:function(){return m},Wz:function(){return v},qk:function(){return g},l5:function(){return y},pK:function(){return x},Og:function(){return b},YP:function(){return w},hN:function(){return _},i9:function(){return Z},_X:function(){return E},FB:function(){return S},_n:function(){return j},Tv:function(){return T},Mf:function(){return A},bC:function(){return C},d5:function(){return k},f4:function(){return M}});var r="ADD_BUCKET_OPEN",a="ADD_BUCKET_NAME",o="ADD_BUCKET_VERSIONED",i="ADD_BUCKET_LOCKING",l="ADD_BUCKET_QUOTA",s="ADD_BUCKET_QUOTA_TYPE",c="ADD_BUCKET_QUOTA_SIZE",u="ADD_BUCKET_QUOTA_UNIT",d="ADD_BUCKET_RESET",f="ADD_BUCKET_RETENTION",p="ADD_BUCKET_RETENTION_MODE",h="ADD_BUCKET_RETENTION_UNIT",m="ADD_BUCKET_RETENTION_VALIDITY",v="BUCKET_DETAILS/SET_TAB",g="BUCKET_DETAILS/LOADING",y="BUCKET_DETAILS/SET_INFO";function x(e){return{type:a,name:e}}function b(e){return{type:o,versioned:e}}function w(e){return{type:i,locking:e}}function _(e){return{type:l,quota:e}}function Z(e){return{type:s,quotaType:e}}function E(e){return{type:c,quotaSize:e}}function S(e){return{type:u,quotaUnit:e}}function j(e){return{type:f,retention:e}}function T(e){return{type:p,retentionMode:e}}function A(e){return{type:h,retentionUnit:e}}function C(e){return{type:m,retentionValidity:e}}var k=function(e){return{type:g,state:e}},M=function(e){return{type:y,info:e}}},72462:function(e,t,n){"use strict";n.d(t,{YI:function(){return o},oO:function(){return i},Hr:function(){return l},lM:function(){return c},FU:function(){return d},Bz:function(){return f},OR:function(){return p},qg:function(){return h},xx:function(){return m},cx:function(){return v},jY:function(){return g},Je:function(){return y},fc:function(){return x},o$:function(){return b},NP:function(){return w},bN:function(){return _},Rp:function(){return Z},sN:function(){return E},AK:function(){return S},Si:function(){return j},bp:function(){return T},oZ:function(){return A},gM:function(){return C},IX:function(){return k},SJ:function(){return P},Bw:function(){return O},bl:function(){return R},VX:function(){return N},bK:function(){return z},DF:function(){return I},bV:function(){return L},Qw:function(){return D},S:function(){return H},QV:function(){return B},ID:function(){return U},VI:function(){return F},$b:function(){return V},xS:function(){return G}});var r=n(18489),a={fontWeight:600,marginRight:10,fontSize:14,color:"#07193E",textAlign:"left",overflow:"hidden",alignItems:"center",display:"flex","& span":{display:"flex",alignItems:"center"}},o={inputLabel:(0,r.Z)((0,r.Z)({},a),{},{minWidth:160}),noMinWidthLabel:(0,r.Z)({},a),fieldLabelError:{paddingBottom:22},fieldContainer:{marginBottom:20,position:"relative",display:"flex",flexWrap:"wrap","@media (max-width: 600px)":{flexFlow:"column"}},tooltipContainer:{marginLeft:5,display:"flex",alignItems:"center","& .min-icon":{width:13}},switchContainer:{display:"flex",maxWidth:840}},i={formScrollable:{maxHeight:"calc(100vh - 300px)",overflowY:"auto",marginBottom:25},formSlider:{marginLeft:0},clearButton:{fontFamily:"Lato, sans-serif",border:"0",backgroundColor:"transparent",color:"#393939",fontWeight:600,fontSize:14,marginRight:10,outline:"0",padding:"16px 25px 16px 25px",cursor:"pointer"},floatingEnabled:{position:"absolute",right:58,zIndex:1e3,marginTop:-38},configureString:{border:"#EAEAEA 1px solid",borderRadius:4,padding:"24px 50px",overflowY:"auto",height:170,backgroundColor:"#FBFAFA"},moduleDescription:{color:"#848484",fontSize:12,fontStyle:"italic"}},l={tooltip:{"& .min-icon":{width:13}}},s={width:16,height:16,borderRadius:2},c={unCheckedIcon:(0,r.Z)((0,r.Z)({},s),{},{border:"1px solid #c3c3c3",boxShadow:"inset 0px 1px 3px rgba(0,0,0,0.1)"}),checkedIcon:(0,r.Z)((0,r.Z)({},s),{},{border:"1px solid #FFFFFF",backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 3px rgba(0,0,0,0.1)",width:14,height:14,marginLeft:1,"&:before":{content:"''",display:"block",marginLeft:-2,marginTop:-2,width:16,height:16,top:0,bottom:0,left:0,right:0,borderRadius:2,border:"1px solid #ccc"}})},u={width:16,height:16,borderRadius:"100%","input:disabled ~ &":{border:"1px solid #E5E5E5"},padding:1},d={radioUnselectedIcon:(0,r.Z)((0,r.Z)({},u),{},{border:"2px solid #E5E5E5"}),radioSelectedIcon:(0,r.Z)((0,r.Z)({},u),{},{border:"2px solid #E5E5E5",backgroundColor:"#072C4F"})},f=function(e){return{container:{position:"relative",maxWidth:1180,padding:"20px 35px 0","& h6":{color:"#777777",fontSize:30},"& p":{"& span:not(*[class*='smallUnit'])":{fontSize:16}}},sectionTitle:{margin:0,marginBottom:".8rem",fontSize:"1.3rem"},topSpacer:{height:"8px"},boxy:{border:"#E5E5E5 1px solid",borderRadius:2,padding:40,backgroundColor:"#fff"}}},p={filterTitle:{color:"#848484",fontSize:13,alignSelf:"center",whiteSpace:"nowrap","&:not(:first-of-type)":{marginLeft:10}},label:{color:"#07193E",fontSize:13,alignSelf:"center",whiteSpace:"nowrap","&:not(:first-of-type)":{marginLeft:10}},timeContainers:{display:"flex","& button":{flexGrow:0,marginLeft:15},height:40,maxWidth:1185,marginBottom:15,justifyContent:"flex-start","& > *":{marginRight:15}},actionsTray:{display:"flex",justifyContent:"space-between",marginBottom:"1rem",alignItems:"center","& button":{flexGrow:0,marginLeft:8}},filterContainer:{backgroundColor:"#fff",border:"#EEF1F4 2px solid",borderRadius:2,display:"flex",alignItems:"center",padding:"0 12px"},divisorLine:{borderRight:"#EEF1F4 1px solid",height:20,margin:"0 15px"}},h={searchField:{flexGrow:1,height:38,background:"#FFFFFF",borderRadius:3,border:"#EAEDEE 1px solid",display:"flex",justifyContent:"center",padding:"0 16px","& label, & label.MuiInputLabel-shrink":{fontSize:10,transform:"translate(5px, 2px)",transformOrigin:"top left"},"& input":{fontSize:12,fontWeight:700,color:"#000","&::placeholder":{color:"#858585",opacity:1,fontWeight:400}},"&:hover":{borderColor:"#000"},"& .min-icon":{width:16,height:16},"&:focus-within":{borderColor:"rgba(0, 0, 0, 0.87)"}}},m={prefinedContainer:{display:"flex",width:"100%",alignItems:"center",margin:"15px 0 0"},predefinedTitle:{color:"rgba(0, 0, 0, 0.87)",display:"flex",overflow:"hidden",fontSize:14,maxWidth:160,textAlign:"left",marginRight:10,flexGrow:0,fontWeight:"normal"},predefinedList:{backgroundColor:"#fbfafa",border:"#e5e5e5 1px solid",padding:"12px 10px",color:"#696969",fontSize:12,fontWeight:600,minHeight:41,borderRadius:4},innerContent:{width:"100%",overflowX:"auto",whiteSpace:"nowrap",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}},innerContentMultiline:{width:"100%",maxHeight:100,overflowY:"auto",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}},v={obTitleSection:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",marginBottom:20},sectionTitle:{fontSize:22,color:"#000",fontWeight:600,height:40,lineHeight:"40px"},breadcrumbs:{fontSize:10,color:"#000",marginTop:2,"& a":{textDecoration:"none",color:"#000","&:hover":{textDecoration:"underline"}},"&.fullSize":{fontSize:18,marginLeft:10}},smallLabel:{color:"#9C9C9C",fontSize:15},bucketDetails:{marginLeft:10,fontSize:14,color:"#969FA8"},detailsSpacer:{marginRight:18}},g={multiSelectTable:{height:200}},y={customTitle:{fontSize:18,color:"#000",fontWeight:600,padding:"12px 0",borderBottom:"#eaedee 1px solid",marginBottom:10,margin:"15px 38px 27px"},settingsFormContainer:{padding:38,overflowY:"auto",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}},settingsButtonContainer:{padding:"15px 38px",textAlign:"right"},innerSettingsButtonContainer:{maxWidth:840,textAlign:"right"},settingsOptionsContainer:{height:"calc(100vh - 244px)",backgroundColor:"#fff",border:"#EAEDEE 1px solid",borderRadius:3,marginTop:15},backButton:{cursor:"pointer",fontSize:10,fontWeight:600,color:"#000",backgroundColor:"transparent",border:0,padding:0,display:"flex",alignItems:"center","&:active, &:focus":{outline:0},"& svg":{width:10,marginRight:4}},backContainer:{margin:"20px 38px 0"},mainCont:{paddingLeft:50,paddingRight:50},mainTitle:{fontSize:18,color:"#000",fontWeight:600,marginBottom:10,marginTop:10}},x={iconContainer:{display:"flex",flexDirection:"row",maxWidth:1180,justifyContent:"start",flexWrap:"wrap",width:"100%"},nonIconContainer:{marginBottom:16,width:455,marginTop:15,"& button":{marginRight:16}},pickTitle:{fontWeight:600,color:"#393939",fontSize:14,marginBottom:16},centerElements:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},logoButton:{height:"80px"},lambdaNotif:{background:"#ffffff",border:"#E5E5E5 1px solid",borderRadius:5,width:250,height:80,display:"flex",alignItems:"center",justifyContent:"start",marginBottom:16,marginRight:8,cursor:"pointer",padding:0,overflow:"hidden"},lambdaNotifIcon:{backgroundColor:"#FEFEFE",display:"flex",alignItems:"center",justifyContent:"center",width:80,height:80,"& img":{maxWidth:46,maxHeight:46}},lambdaNotifTitle:{color:"#07193E",fontSize:16,fontFamily:"Lato,sans-serif",paddingLeft:18}},b={logsSubContainer:{height:"calc(100vh - 230px)",padding:"15px 0"}},w={singleValueContainer:{height:200,maxWidth:1185,border:"#eef1f4 2px solid",backgroundColor:"#fff",borderRadius:10,width:"100%",padding:16},titleContainer:{color:"#404143",fontSize:14,textTransform:"uppercase",fontWeight:800,borderBottom:"#eef1f4 1px solid",paddingBottom:14,marginBottom:5,display:"flex",justifyContent:"space-between"},contentContainer:{justifyContent:"center",alignItems:"center",display:"flex",width:"100%",height:140},contentContainerWithLabel:{height:"calc(100% - 25px)"},legendBlock:{position:"absolute",bottom:5,display:"flex",width:"100%",height:15,flexWrap:"wrap",overflowY:"auto"},singleLegendContainer:{display:"flex",alignItems:"center",padding:"0 10px",maxWidth:"100%"},colorContainer:{width:8,height:8,minWidth:8,marginRight:5},legendLabel:{fontSize:"80%",color:"#393939",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},zoomChartCont:{position:"relative",height:340,width:"100%"},zoomChartIcon:{backgroundColor:"transparent",border:0,padding:0,cursor:"pointer","& svg":{color:"#D0D0D0",height:16},"&:hover":{"& svg":{color:"#404143"}}}},_={widgetPanelDelimiter:{padding:10},dashboardRow:{display:"flex",flexDirection:"row",justifyContent:"flex-start",flexWrap:"wrap",maxWidth:1180}},Z={customTooltip:{backgroundColor:"rgba(255, 255, 255, 0.90)",border:"#eaeaea 1px solid",borderRadius:3,padding:"5px 10px",maxHeight:300,overflowY:"auto"},labelContainer:{display:"flex",alignItems:"center"},labelColor:{width:6,height:6,display:"block",borderRadius:"100%",marginRight:5},itemValue:{fontSize:"75%",color:"#393939"},valueContainer:{fontWeight:600},timeStampTitle:{fontSize:"80%",color:"#9c9c9c",textAlign:"center",marginBottom:6}},E={snackBar:{backgroundColor:"#081F44",fontWeight:400,fontFamily:"Lato, sans-serif",fontSize:14,padding:"0px 20px 0px 20px;",boxShadow:"none","&.MuiPaper-root.MuiSnackbarContent-root":{borderRadius:"0px 0px 5px 5px"},"& div":{textAlign:"center",padding:"6px 30px",width:"100%",overflowX:"hidden",textOverflow:"ellipsis"}},errorSnackBar:{backgroundColor:"#C72C48",color:"#fff"},snackBarExternal:{top:-1,height:33,position:"fixed",minWidth:348,whiteSpace:"nowrap",left:0,width:"100%",justifyContent:"center"},snackDiv:{top:"17px",left:"50%",position:"absolute"},snackBarModal:{top:0,position:"absolute",minWidth:"348px",whiteSpace:"nowrap",height:"33px",width:"100%",justifyContent:"center",left:0}},S={multiContainer:{display:"flex",alignItems:"center",justifyContent:"flex-start"},sizeFactorContainer:{marginLeft:8,alignSelf:"flex-start"},headerElement:{position:"sticky",top:0,paddingTop:5,marginBottom:10,zIndex:500,backgroundColor:"#fff"},tableTitle:{fontWeight:700,width:"30%"},poolError:{color:"#dc1f2e",fontSize:"0.75rem",paddingLeft:120},error:{color:"#dc1f2e",fontSize:"0.75rem"},h3Section:{marginTop:0,margin:0},descriptionText:{fontSize:14},container:{padding:"77px 0 0 0","& h6":{color:"#777777",fontSize:14},"& p":{"& span:not(*[class*='smallUnit'])":{fontSize:16}}},paperWrapper:{padding:12,border:0}},j={anchorButton:{textDecoration:"underline",textTransform:"unset",fontWeight:"normal",padding:0,lineHeight:"unset",height:"unset",width:"unset",textAlign:"left",border:0,minWidth:"unset"}},T={hrClass:{borderTop:0,borderLeft:0,borderRight:0,borderColor:"#999999",backgroundColor:"transparent"}},A=(0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({buttonContainer:{textAlign:"right"},multiContainer:{display:"flex",alignItems:"center",justifyContent:"flex-start"},sizeFactorContainer:{marginLeft:8},containerHeader:{display:"flex",justifyContent:"space-between"},paperContainer:{padding:"15px 15px 15px 50px"},infoGrid:{display:"grid",gridTemplateColumns:"auto auto auto auto",gridGap:8,"& div":{display:"flex",alignItems:"center"},"& div:nth-child(odd)":{justifyContent:"flex-end",fontWeight:700},"& div:nth-child(2n)":{paddingRight:35}},masterActions:{width:"25%",minWidth:"120px","& div":{margin:"5px 0px"}},updateButton:{backgroundColor:"transparent",border:0,padding:"0 6px",cursor:"pointer","&:focus, &:active":{outline:"none"},"& svg":{height:12}},poolLabel:{color:"#666666"},titleCol:{fontWeight:700},breadcrumLink:{textDecoration:"none",color:"black"},healthCol:{fontWeight:700,paddingRight:"10px"}},i),p),j),h),T),{},{actionsTray:(0,r.Z)((0,r.Z)({},p.actionsTray),{},{padding:"15px 0 0"})}),C={root:{borderRadius:3,"&::before":{borderColor:"#9c9c9c"},"& fieldset":{borderColor:"#e5e5e5"},"&:hover fieldset":{borderColor:"#07193E"},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"#07193E",borderWidth:1},"&.Mui-error + p":{marginLeft:3}},disabled:{"&.MuiOutlinedInput-root::before":{borderColor:"#e5e5e5",borderBottomStyle:"solid",borderRadius:3}},input:{height:38,padding:"0 35px 0 15px",color:"#07193E",fontSize:13,fontWeight:600,"&:placeholder":{color:"#858585",opacity:1,fontWeight:400}},error:{color:"#b53b4b"}},k={inlineCheckboxes:{display:"flex",justifyContent:"flex-start"}},M={marginRight:10,lineHeight:1,display:"inline-flex",marginTop:6},P={cardIconContainer:{display:"flex",position:"relative",alignItems:"center"},stateContainer:{display:"flex",flexWrap:"wrap",justifyContent:"flex-start"},infoValue:{fontWeight:500,color:"#07193E",fontSize:16,margin:"8px 40px 5px 0",display:"inline-flex","& strong":{marginRight:4},"& .min-icon":{width:20,height:20},alignItems:"center"},redState:(0,r.Z)({color:"#F55B5B"},M),greenState:(0,r.Z)({color:"#9FF281"},M),yellowState:(0,r.Z)({color:"#F7A25A"},M),greyState:(0,r.Z)({color:"grey"},M),healthStatusIcon:{position:"absolute",fontSize:8,left:18,height:10,bottom:2,marginRight:10,"& .min-icon":{width:5,height:5}},innerState:{fontSize:8,display:"flex",alignItems:"center",marginTop:-3,"& .min-icon":{marginTop:5,width:10,height:10}},cardContainer:{borderRadius:10,boxShadow:"0 0 15px #00000029",maxWidth:1185,marginBottom:30},cardHeader:{"& .MuiCardHeader-title":{fontWeight:"bolder"}},cardNumber:{color:"#848484",fontSize:16,fontWeight:400,marginBottom:10},referenceTitle:{display:"flex",alignItems:"center",lineHeight:1,fontWeight:"bold","& .min-icon":{width:10,height:10,marginTop:-5}}},O={contentSpacer:{padding:"2rem"}},R={jsonPolicyEditor:{minHeight:400,width:"100%"},buttonContainer:{textAlign:"right"},infoDetails:{color:"#393939",fontSize:12,fontStyle:"italic",marginBottom:"8px"},containerScrollable:{maxHeight:"calc(100vh - 200px)",overflowY:"auto"},codeMirrorContainer:{marginBottom:20,paddingLeft:15,"& label":{marginBottom:".5rem"},"& label + div":{display:"none"}},stackedInputs:{display:"flex",gap:15,paddingBottom:"1rem",paddingLeft:"1rem",flexFlow:"column"},buttonSpacer:{marginRight:"1rem"}},N={tableBlock:{display:"flex",flexDirection:"row","& .ReactVirtualized__Table__headerRow.rowLine, .ReactVirtualized__Table__row.rowLine":{borderBottom:"1px solid #EAEAEA"},"& .rowLine:hover:not(.ReactVirtualized__Table__headerRow)":{backgroundColor:"#F8F8F8"},"& .ReactVirtualized__Table__row.rowLine":{fontSize:".8rem"},"& .optionsAlignment ":{textAlign:"right","& .MuiButtonBase-root":{backgroundColor:"#F8F8F8"},"&:hover":{backgroundColor:"#E2E2E2"},"& .min-icon":{width:13,margin:3}}}},z={spacerRight:{marginRight:".9rem"},spacerLeft:{marginLeft:".9rem"},spacerBottom:{marginBottom:".9rem"},spacerTop:{marginTop:".9rem"}},I={formFieldRow:{marginBottom:".8rem","& .MuiInputLabel-root":{fontWeight:"normal"}}},L={fieldBottom:{borderBottom:0},fileReselect:{border:"1px solid #EAEAEA",width:"100%",paddingLeft:10,display:"flex",alignItems:"center",justifyContent:"center",height:36,maxWidth:300},textBoxContainer:{border:"1px solid #EAEAEA",borderRadius:3,height:36,padding:5,"& input":{width:"100%",margin:"auto"},display:"flex",alignItems:"center",justifyContent:"center",maxWidth:300}},D={root:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},title:{display:"flex",alignItems:"center",justifyContent:"space-between"},titleText:{fontSize:"1rem",fontWeight:600,display:"flex",alignItems:"center","& svg":{marginRight:10}},closeContainer:{"& .MuiIconButton-root":{top:-20,left:30,position:"relative",padding:1,"&:focus, &:hover":{background:"#EAEAEA"}},"& .min-icon":{height:16,width:16}}},H={advancedButton:{flexGrow:1,alignItems:"flex-end",display:"flex",justifyContent:"flex-end"},advancedConfiguration:{color:"#2781B0",fontSize:10,textDecoration:"underline",border:"none",backgroundColor:"transparent",cursor:"pointer",alignItems:"center",display:"flex",float:"right","&:hover":{color:"#07193E"},"& svg":{width:10,alignSelf:"center",marginLeft:5}},advancedOpen:{transform:"rotateZ(-90deg) translateX(-4px) translateY(2px)"},advancedClosed:{transform:"rotateZ(90deg)"}},B={fieldGroup:{border:"1px solid #EAEAEA",paddingTop:15},descriptionText:{fontSize:14}},U={modalButtonBar:{marginTop:15,display:"flex",alignItems:"center",justifyContent:"flex-end","& button":{marginRight:10},"& button:last-child":{marginRight:0}},modalFormScrollable:{maxHeight:"calc(100vh - 300px)",overflowY:"auto",paddingTop:10}},F={textMuted:{color:"#8399AB"}},V={metadataLinear:{marginBottom:15,fontSize:14,maxHeight:180,overflowY:"auto"},hrClass:{borderTop:0,borderLeft:0,borderRight:0,borderColor:"#E2E2E2",backgroundColor:"transparent"},sectionTitle:{fontSize:18,color:"#000",fontWeight:"bold",borderBottom:"#E2E2E2 1px solid",margin:"10px 22px",paddingBottom:18,width:"100%"},detailContainer:{padding:"0 22px",marginBottom:20,fontSize:14},titleLabel:{fontSize:14,fontWeight:"bold",color:"#000",padding:"12px 22px 8px 22px"},objectActions:{backgroundColor:"#F8F8F8",border:"#F1F1F1 1px solid",borderRadius:3,margin:"8px 22px",padding:0,color:"#696969","& li":{listStyle:"none",padding:6,margin:0,borderBottom:"#E5E5E5 1px solid",fontSize:14,"&:first-of-type":{padding:10,fontWeight:"bold",color:"#000"},"&:last-of-type":{borderBottom:0}}}},G={deleted:{color:"#ACACAC",backgroundColor:"#FDFDFD",fontStyle:"italic"}}},45980:function(e,t,n){"use strict";var r,a=n(23430),o=n(50390),i=n(34424),l=n(38342),s=n.n(l),c=n(92125),u=n(19538),d=n(21278),f=n(86509),p=n(4285),h=n(44149),m=n(62559),v=function(e){r=setInterval(e,1e4)},g=function(){clearInterval(r)},y={displayErrorMessage:h.Ih},x=(0,i.$j)((function(e){return{snackBar:e.system.snackBar}}),y);t.Z=x((0,p.Z)((function(e){return(0,f.Z)({mainErrorContainer:{position:"fixed",width:"100%",backgroundColor:"#fff",border:"#C72C48 1px solid",borderLeftWidth:12,borderRadius:3,zIndex:5e3,padding:"10px 15px",maxWidth:600,left:"50%",transform:"translateX(-50%)",marginTop:15,opacity:0,transitionDuration:"0.2s"},mainErrorShow:{opacity:1},closeButton:{position:"absolute",right:5,fontSize:"small",border:0,backgroundColor:"#fff",cursor:"pointer"},errorTitle:{display:"flex",alignItems:"center"},errorLabel:{color:"#000",fontSize:18,fontWeight:500,marginLeft:5},messageIcon:{color:"#C72C48",display:"flex","& svg":{width:32,height:32}},simpleError:{marginTop:5,padding:"2px 5px",fontSize:16,color:"#000"},detailsButton:{color:"#9C9C9C",display:"flex",alignItems:"center",border:0,backgroundColor:"transparent",paddingLeft:5,fontSize:14,transformDuration:"0.3s",cursor:"pointer"},extraDetailsContainer:{fontStyle:"italic",color:"#9C9C9C",lineHeight:0,padding:"0 10px",transition:"all .2s ease-in-out",overflow:"hidden"},extraDetailsOpen:{lineHeight:1,padding:"3px 10px"},arrowElement:{marginLeft:-5},arrowOpen:{transform:"rotateZ(90deg)",transformDuration:"0.3s"}})}))((function(e){var t=e.classes,n=e.snackBar,i=e.displayErrorMessage,l=e.customStyle,f=(0,o.useState)(!1),p=(0,a.Z)(f,2),h=p[0],y=p[1],x=(0,o.useState)(!1),b=(0,a.Z)(x,2),w=b[0],_=b[1],Z=(0,o.useCallback)((function(){_(!1)}),[]);(0,o.useEffect)((function(){w||(i({detailedError:"",errorMessage:""}),y(!1),clearInterval(r))}),[i,w]),(0,o.useEffect)((function(){""!==n.message&&"error"===n.type&&(_(!0),v(Z))}),[Z,n.message,n.type]);var E=s()(n,"message",""),S=s()(n,"detailedErrorMsg","");return"error"!==n.type||""===E?null:(0,m.jsx)(o.Fragment,{children:(0,m.jsxs)("div",{className:"".concat(t.mainErrorContainer," ").concat(w?t.mainErrorShow:""),style:l,onMouseOver:g,onMouseLeave:function(){return v(Z)},children:[(0,m.jsx)("button",{className:t.closeButton,onClick:Z,children:(0,m.jsx)(d.Z,{})}),(0,m.jsxs)("div",{className:t.errorTitle,children:[(0,m.jsx)("span",{className:t.messageIcon,children:(0,m.jsx)(u.Z,{})}),(0,m.jsx)("span",{className:t.errorLabel,children:"Error"})]}),(0,m.jsx)("div",{className:t.simpleError,children:E}),""!==S&&(0,m.jsxs)(o.Fragment,{children:[(0,m.jsx)("div",{className:t.detailsContainerLink,children:(0,m.jsxs)("button",{className:t.detailsButton,onClick:function(){y(!h)},children:["Details",(0,m.jsx)(c.Z,{className:"".concat(t.arrowElement," ").concat(h?t.arrowOpen:"")})]})}),(0,m.jsx)("div",{className:"".concat(t.extraDetailsContainer," ").concat(h?t.extraDetailsOpen:""),children:S})]})]})})})))},47373:function(e,t,n){"use strict";n.d(t,{N1:function(){return r},cM:function(){return a},xG:function(){return o},jv:function(){return i}});var r="DASHBOARD/OPEN_ZOOM",a="DASHBOARD/CLOSE_ZOOM";function o(e){return{type:r,widget:e}}function i(){return{type:a}}},43117:function(e,t,n){"use strict";n.d(t,{J:function(){return r}});var r="DIRECT_CSI/SELECT_DRIVE"},71497:function(e,t,n){"use strict";n.d(t,{$P:function(){return r},X8:function(){return a},ec:function(){return o},Xp:function(){return i}});var r="HEALTH_INFO_MESSAGE_RECEIVED",a="HEALTH_INFO_RESET_MESSAGE";function o(e){return{type:r,message:e}}function i(){return{type:a}}},70753:function(e,t,n){"use strict";n.d(t,{JL:function(){return r},me:function(){return a},Qo:function(){return o},i1:function(){return i}});var r="LOG_MESSAGE_RECEIVED",a="LOG_RESET_MESSAGES";function o(e){return{type:r,message:e}}function i(){return{type:a}}},5265:function(e,t,n){"use strict";n.d(t,{lx:function(){return r},JR:function(){return a},lB:function(){return o},nY:function(){return i},kB:function(){return l},GW:function(){return s},P$:function(){return c},sR:function(){return u},Jt:function(){return d},f0:function(){return f},SZ:function(){return p},t$:function(){return h},SV:function(){return m},_w:function(){return v},WA:function(){return g},Mc:function(){return y},RO:function(){return x},oK:function(){return b},lF:function(){return w},XH:function(){return _},kQ:function(){return Z},LD:function(){return E},G4:function(){return S}});var r="REWIND/SET_ENABLE",a="REWIND/RESET_REWIND",o="BUCKET_BROWSER/FILE_MODE_ENABLED",i="OBJECT_MANAGER/NEW_OBJECT",l="OBJECT_MANAGER/UPDATE_PROGRESS_OBJECT",s="OBJECT_MANAGER/COMPLETE_OBJECT",c="OBJECT_MANAGER/DELETE_FROM_OBJECT_LIST",u="OBJECT_MANAGER/CLEAN_LIST",d="OBJECT_MANAGER/TOGGLE_LIST",f="OBJECT_MANAGER/OPEN_LIST",p="OBJECT_MANAGER/CLOSE_LIST",h="OBJECT_MANAGER/SET_SEARCH_OBJECT",m=function(e,t,n){return{type:r,state:e,bucket:t,dateRewind:n}},v=function(){return{type:a}},g=function(e){return{type:o,status:e}},y=function(e){return{type:i,newObject:e}},x=function(e,t){return{type:l,instanceID:e,progress:t}},b=function(e){return{type:s,instanceID:e}},w=function(e){return{type:c,instanceID:e}},_=function(){return{type:u}},Z=function(){return{type:d}},E=function(){return{type:f}},S=function(e){return{type:h,searchString:e}}},77441:function(e,t,n){"use strict";n.d(t,{d0:function(){return r},JC:function(){return a},Jq:function(){return o},j5:function(){return i},$0:function(){return l},WC:function(){return s},nr:function(){return c},KU:function(){return u},$j:function(){return d},Oz:function(){return f},PO:function(){return p},HD:function(){return h},wv:function(){return m},lV:function(){return v},dJ:function(){return g},AY:function(){return y},J7:function(){return x},ci:function(){return b},s5:function(){return w},A3:function(){return _},ox:function(){return Z},Vr:function(){return E},Mm:function(){return S},Xq:function(){return j},f$:function(){return T},E0:function(){return A}});var r="ADD_TENANT/SET_CURRENT_PAGE",a="ADD_TENANT/UPDATE_FIELD",o="ADD_TENANT/SET_PAGE_VALID",i="ADD_TENANT/RESET_FORM",l="ADD_TENANT/SET_STORAGE_CLASSES_LIST",s="ADD_TENANT/SET_LIMIT_SIZE",c="ADD_TENANT/ADD_MINIO_KEYPAIR",u="ADD_TENANT/ADD_FILE_MINIO_KEYPAIR",d="ADD_TENANT/DELETE_MINIO_KEYPAIR",f="ADD_TENANT/ADD_CA_KEYPAIR",p="ADD_TENANT/ADD_FILE_TO_CA_KEYPAIR",h="ADD_TENANT/DELETE_CA_KEYPAIR",m="ADD_TENANT/ADD_CONSOLE_CERT",v="ADD_TENANT/ADD_CONSOLE_CA_KEYPAIR",g="ADD_TENANT/ADD_FILE_TO_CONSOLE_CA_KEYPAIR",y="ADD_TENANT/DELETE_CONSOLE_CA_KEYPAIR",x="ADD_TENANT/ENCRYPTION_SERVER_CERT",b="ADD_TENANT/ENCRYPTION_CLIENT_CERT",w="ADD_TENANT/ENCRYPTION_VAULT_CERT",_="ADD_TENANT/ENCRYPTION_VAULT_CA",Z="ADD_TENANT/ENCRYPTION_GEMALTO_CA",E="ADD_TENANT/SET_KEY_PAIR_VALUE",S="TENANT_DETAILS/SET_LOADING",j="TENANT_DETAILS/SET_CURRENT_TENANT",T="TENANT_DETAILS/SET_TENANT",A="TENANT_DETAILS/SET_TAB"},10369:function(e,t,n){"use strict";n.d(t,{h:function(){return a},z:function(){return o}});var r=n(18489),a=function(e,t){var n=(0,r.Z)({},e);return delete n[t],n},o=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,t="",n="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",r=0;r0&&void 0!==arguments[0]?arguments[0]:g,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case v.TY:return(0,m.Z)((0,m.Z)({},e),{},{loggedIn:t.logged});case v.M6:return(0,m.Z)((0,m.Z)({},e),{},{operatorMode:t.operatorMode});case v.YY:return localStorage.setItem("sidebarOpen",JSON.stringify({open:t.open})),(0,m.Z)((0,m.Z)({},e),{},{sidebarOpen:t.open});case v.vx:return(0,m.Z)((0,m.Z)({},e),{},{serverNeedsRestart:t.needsRestart});case v.mp:return(0,m.Z)((0,m.Z)({},e),{},{serverIsLoading:t.isLoading});case v.b7:return(0,m.Z)((0,m.Z)({},e),{},{loadingProgress:t.loadingProgress});case v.pX:return(0,m.Z)((0,m.Z)({},e),{},{snackBar:{message:t.message,detailedErrorMsg:"",type:"message"}});case v.Cs:return(0,m.Z)((0,m.Z)({},e),{},{snackBar:{message:t.message.errorMessage,detailedErrorMsg:t.message.detailedError,type:"error"}});case v.MC:return(0,m.Z)((0,m.Z)({},e),{},{modalSnackBar:{message:t.message,detailedErrorMsg:"",type:"message"}});case v.DA:return(0,m.Z)((0,m.Z)({},e),{},{modalSnackBar:{message:t.message.errorMessage,detailedErrorMsg:t.message.detailedError,type:"error"}});case v.YH:return(0,m.Z)((0,m.Z)({},e),{},{serverDiagnosticStatus:t.serverDiagnosticStatus});case v.nl:return(0,m.Z)((0,m.Z)({},e),{},{distributedSetup:t.distributedSetup});default:return e}},trace:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:b,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case x.Q:return(0,m.Z)((0,m.Z)({},e),{},{messages:[].concat((0,y.Z)(e.messages),[t.message])});case x.TU:return(0,m.Z)((0,m.Z)({},e),{},{messages:[]});case x.Dx:return(0,m.Z)((0,m.Z)({},e),{},{traceStarted:t.status});default:return e}},logs:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case w.JL:return(0,m.Z)((0,m.Z)({},e),{},{messages:[].concat((0,y.Z)(e.messages),[t.message])});case w.me:return(0,m.Z)((0,m.Z)({},e),{},{messages:[]});default:return e}},watch:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:j,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case S.jj:return(0,m.Z)((0,m.Z)({},e),{},{messages:[].concat((0,y.Z)(e.messages),[t.message])});case S.Vu:return(0,m.Z)((0,m.Z)({},e),{},{messages:[]});default:return e}},console:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:A,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case T.jj:return(0,m.Z)((0,m.Z)({},e),{},{session:t.message});case T.F9:return(0,m.Z)((0,m.Z)({},e),{},{session:A.session});default:return e}},buckets:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:k,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case C.Kr:return(0,m.Z)((0,m.Z)({},e),{},{open:t.open});case C.ST:return(0,m.Z)((0,m.Z)({},e),{},{addBucketName:t.name});case C.sp:return(0,m.Z)((0,m.Z)({},e),{},{addBucketVersioningEnabled:t.versioned});case C.mx:return(0,m.Z)((0,m.Z)({},e),{},{addBucketLockingEnabled:t.locking});case C.p9:return(0,m.Z)((0,m.Z)({},e),{},{addBucketQuotaEnabled:t.quota});case C.YK:return(0,m.Z)((0,m.Z)({},e),{},{addBucketQuotaType:t.quotaType});case C.Mz:return(0,m.Z)((0,m.Z)({},e),{},{addBucketQuotaSize:t.quotaSize});case C.hO:return(0,m.Z)((0,m.Z)({},e),{},{addBucketQuotaUnit:t.quotaUnit});case C.sP:return(0,m.Z)((0,m.Z)({},e),{},{addBucketRetentionEnabled:t.retention});case C.cD:return(0,m.Z)((0,m.Z)({},e),{},{addBucketRetentionMode:t.retentionMode});case C.k7:return(0,m.Z)((0,m.Z)({},e),{},{addBucketRetentionUnit:t.retentionUnit});case C.Nv:return(0,m.Z)((0,m.Z)({},e),{},{addBucketRetentionValidity:t.retentionValidity});case C.Wz:return(0,m.Z)((0,m.Z)({},e),{},{bucketDetails:(0,m.Z)((0,m.Z)({},e.bucketDetails),{},{selectedTab:t.tab})});case C.vw:return(0,m.Z)((0,m.Z)({},e),{},{addBucketName:"",addBucketVersioningEnabled:!1,addBucketLockingEnabled:!1,addBucketQuotaEnabled:!1,addBucketQuotaType:"hard",addBucketQuotaSize:"1",addBucketQuotaUnit:"TiB",addBucketRetentionEnabled:!1,addBucketRetentionMode:"compliance",addBucketRetentionUnit:"days",addBucketRetentionValidity:1});case C.qk:return(0,m.Z)((0,m.Z)({},e),{},{bucketDetails:(0,m.Z)((0,m.Z)({},e.bucketDetails),{},{loadingBucket:t.state})});case C.l5:return(0,m.Z)((0,m.Z)({},e),{},{bucketDetails:(0,m.Z)((0,m.Z)({},e.bucketDetails),{},{bucketInfo:t.info})});default:return e}},objectBrowser:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:P,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case M.lx:var n=(0,m.Z)((0,m.Z)({},e.rewind),{},{rewindEnabled:t.state,bucketToRewind:t.bucket,dateToRewind:t.dateRewind});return(0,m.Z)((0,m.Z)({},e),{},{rewind:n});case M.JR:var r={rewindEnabled:!1,bucketToRewind:"",dateToRewind:null};return(0,m.Z)((0,m.Z)({},e),{},{rewind:r});case M.lB:return(0,m.Z)((0,m.Z)({},e),{},{fileMode:t.status});case M.nY:var a=[t.newObject].concat((0,y.Z)(e.objectManager.objectsToManage));return(0,m.Z)((0,m.Z)({},e),{},{objectManager:{objectsToManage:a,managerOpen:e.objectManager.managerOpen}});case M.kB:var o=(0,y.Z)(e.objectManager.objectsToManage),i=e.objectManager.objectsToManage.findIndex((function(e){return e.instanceID===t.instanceID}));return-1===i?(0,m.Z)({},e):(o[i].percentage=t.progress,o[i].waitingForFile=!1,(0,m.Z)((0,m.Z)({},e),{},{objectManager:{objectsToManage:o,managerOpen:e.objectManager.managerOpen}}));case M.GW:var l=(0,y.Z)(e.objectManager.objectsToManage),s=e.objectManager.objectsToManage.findIndex((function(e){return e.instanceID===t.instanceID}));return-1===s?(0,m.Z)({},e):(l[s].percentage=100,l[s].waitingForFile=!1,l[s].done=!0,(0,m.Z)((0,m.Z)({},e),{},{objectManager:{objectsToManage:l,managerOpen:e.objectManager.managerOpen}}));case M.P$:var c=e.objectManager.objectsToManage.filter((function(e){return e.instanceID!==t.instanceID}));return(0,m.Z)((0,m.Z)({},e),{},{objectManager:{objectsToManage:c,managerOpen:0!==c.length&&e.objectManager.managerOpen}});case M.sR:var u=e.objectManager.objectsToManage.filter((function(e){return!e.done}));return(0,m.Z)((0,m.Z)({},e),{},{objectManager:{objectsToManage:u,managerOpen:0!==u.length&&e.objectManager.managerOpen}});case M.Jt:return(0,m.Z)((0,m.Z)({},e),{},{objectManager:(0,m.Z)((0,m.Z)({},e.objectManager),{},{managerOpen:!e.objectManager.managerOpen})});case M.f0:return(0,m.Z)((0,m.Z)({},e),{},{objectManager:(0,m.Z)((0,m.Z)({},e.objectManager),{},{managerOpen:!0})});case M.SZ:return(0,m.Z)((0,m.Z)({},e),{},{objectManager:(0,m.Z)((0,m.Z)({},e.objectManager),{},{managerOpen:!1})});case M.t$:return(0,m.Z)((0,m.Z)({},e),{},{searchObjects:t.searchString});default:return e}},healthInfo:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:E,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case Z.$P:return(0,m.Z)((0,m.Z)({},e),{},{message:t.message});case Z.X8:return(0,m.Z)((0,m.Z)({},e),{},{message:{}});default:return e}},tenants:function(){var e,t,n,r,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:H,o=arguments.length>1?arguments[1]:void 0,i=(0,m.Z)({},a);switch(o.type){case L.d0:return i.createTenant.page=o.page,(0,m.Z)({},i);case L.JC:if(N()(i.createTenant.fields,"".concat(o.pageName,".").concat(o.field))){var l=I()(i.createTenant.fields,"".concat(o.pageName),{}),s={};s[o.field]=o.value;var c=(0,m.Z)((0,m.Z)({},l),s);return i.createTenant.fields[o.pageName]=(0,m.Z)({},c),(0,m.Z)({},i)}return a;case L.Jq:var u=a.createTenant.validPages;if(o.valid)u.includes(o.pageName)||(u.push(o.pageName),i.createTenant.validPages=(0,y.Z)(u));else{var d=u.filter((function(e){return e!==o.pageName}));i.createTenant.validPages=(0,y.Z)(d)}return(0,m.Z)({},i);case L.$0:var f=(0,m.Z)((0,m.Z)({},a),{},{createTenant:(0,m.Z)((0,m.Z)({},a.createTenant),{},{storageClasses:o.storageClasses})});return(0,m.Z)({},f);case L.WC:var p=(0,m.Z)((0,m.Z)({},a),{},{createTenant:(0,m.Z)((0,m.Z)({},a.createTenant),{},{limitSize:o.limitSize})});return(0,m.Z)({},p);case L.nr:var h=[].concat((0,y.Z)(a.createTenant.certificates.minioCertificates),[{id:Date.now().toString(),key:"",cert:"",encoded_key:"",encoded_cert:""}]);return i.createTenant.certificates.minioCertificates=(0,y.Z)(h),(0,m.Z)({},i);case L.KU:var v=a.createTenant.certificates.minioCertificates,g=v.map((function(e){var t;return e.id===o.id?(0,m.Z)((0,m.Z)({},e),{},(t={},(0,O.Z)(t,o.key,o.fileName),(0,O.Z)(t,"encoded_".concat(o.key),o.value),t)):e}));return i.createTenant.certificates.minioCertificates=(0,y.Z)(g),(0,m.Z)({},i);case L.$j:var x=a.createTenant.certificates.minioCertificates;if(x.length>1){var b=x.filter((function(e){return e.id!==o.id}));return i.createTenant.certificates.minioCertificates=(0,y.Z)(b),(0,m.Z)({},i)}return(0,m.Z)({},a);case L.Oz:var w=[].concat((0,y.Z)(a.createTenant.certificates.caCertificates),[{id:Date.now().toString(),key:"",cert:"",encoded_key:"",encoded_cert:""}]);return i.createTenant.certificates.caCertificates=(0,y.Z)(w),(0,m.Z)({},i);case L.PO:var _=a.createTenant.certificates.caCertificates,Z=_.map((function(e){var t;return e.id===o.id?(0,m.Z)((0,m.Z)({},e),{},(t={},(0,O.Z)(t,o.key,o.fileName),(0,O.Z)(t,"encoded_".concat(o.key),o.value),t)):e}));return i.createTenant.certificates.caCertificates=(0,y.Z)(Z),(0,m.Z)({},i);case L.HD:var E=a.createTenant.certificates.caCertificates;if(E.length>1){var S=E.filter((function(e){return e.id!==o.id}));return i.createTenant.certificates.caCertificates=(0,y.Z)(S),(0,m.Z)({},i)}return(0,m.Z)({},a);case L.wv:var j=a.createTenant.certificates.consoleCertificate;return i.createTenant.certificates.consoleCertificate=(0,m.Z)((0,m.Z)({},j),{},(e={},(0,O.Z)(e,o.key,o.fileName),(0,O.Z)(e,"encoded_".concat(o.key),o.value),e)),(0,m.Z)({},i);case L.lV:var T=[].concat((0,y.Z)(a.createTenant.certificates.consoleCaCertificates),[{id:Date.now().toString(),key:"",cert:"",encoded_key:"",encoded_cert:""}]);return i.createTenant.certificates.consoleCaCertificates=(0,y.Z)(T),(0,m.Z)({},i);case L.dJ:var A=a.createTenant.certificates.consoleCaCertificates,C=A.map((function(e){var t;return e.id===o.id?(0,m.Z)((0,m.Z)({},e),{},(t={},(0,O.Z)(t,o.key,o.fileName),(0,O.Z)(t,"encoded_".concat(o.key),o.value),t)):e}));return i.createTenant.certificates.consoleCaCertificates=(0,y.Z)(C),(0,m.Z)({},i);case L.AY:var k=a.createTenant.certificates.consoleCaCertificates;if(k.length>1){var M=k.filter((function(e){return e.id!==o.id}));return i.createTenant.certificates.consoleCaCertificates=(0,y.Z)(M),(0,m.Z)({},i)}return(0,m.Z)({},a);case L.J7:var P=a.createTenant.certificates.serverCertificate;return i.createTenant.certificates.serverCertificate=(0,m.Z)((0,m.Z)({},P),{},(t={},(0,O.Z)(t,o.key,o.fileName),(0,O.Z)(t,"encoded_".concat(o.key),o.value),t)),(0,m.Z)({},i);case L.ci:var R=a.createTenant.certificates.clientCertificate;return i.createTenant.certificates.clientCertificate=(0,m.Z)((0,m.Z)({},R),{},(n={},(0,O.Z)(n,o.key,o.fileName),(0,O.Z)(n,"encoded_".concat(o.key),o.value),n)),(0,m.Z)({},i);case L.s5:var z=a.createTenant.certificates.vaultCertificate;return i.createTenant.certificates.vaultCertificate=(0,m.Z)((0,m.Z)({},z),{},(r={},(0,O.Z)(r,o.key,o.fileName),(0,O.Z)(r,"encoded_".concat(o.key),o.value),r)),(0,m.Z)({},i);case L.A3:var B=a.createTenant.certificates.vaultCA;return i.createTenant.certificates.vaultCA=(0,m.Z)((0,m.Z)({},B),{},{cert:o.fileName,encoded_cert:o.value}),(0,m.Z)({},i);case L.ox:var U=a.createTenant.certificates.gemaltoCA;return i.createTenant.certificates.gemaltoCA=(0,m.Z)((0,m.Z)({},U),{},{cert:o.fileName,encoded_cert:o.value}),(0,m.Z)({},i);case L.j5:return(0,m.Z)((0,m.Z)({},a),{},{createTenant:{page:0,validPages:["tenantSize","configure","affinity","identityProvider","security","encryption"],storageClasses:[],limitSize:{},fields:{nameTenant:{tenantName:"",namespace:"",selectedStorageClass:"",selectedStorageType:""},configure:{customImage:!1,imageName:"",customDockerhub:!1,imageRegistry:"",imageRegistryUsername:"",imageRegistryPassword:"",exposeMinIO:!0,exposeConsole:!0,tenantCustom:!1,logSearchCustom:!1,prometheusCustom:!1,logSearchVolumeSize:"5",logSearchSizeFactor:"Gi",logSearchSelectedStorageClass:"default",logSearchImage:"",kesImage:"",logSearchPostgresImage:"",logSearchPostgresInitImage:"",prometheusVolumeSize:"5",prometheusSizeFactor:"Gi",prometheusSelectedStorageClass:"default",prometheusImage:"",prometheusSidecarImage:"",prometheusInitImage:"",tenantSecurityContext:{runAsUser:"1000",runAsGroup:"1000",fsGroup:"1000",runAsNonRoot:!0},logSearchSecurityContext:{runAsUser:"1000",runAsGroup:"1000",fsGroup:"1000",runAsNonRoot:!0},logSearchPostgresSecurityContext:{runAsUser:"999",runAsGroup:"999",fsGroup:"999",runAsNonRoot:!0},prometheusSecurityContext:{runAsUser:"1000",runAsGroup:"1000",fsGroup:"1000",runAsNonRoot:!0}},identityProvider:{idpSelection:"Built-in",accessKeys:[(0,D.z)(16)],secretKeys:[(0,D.z)(32)],openIDConfigurationURL:"",openIDClientID:"",openIDSecretID:"",openIDCallbackURL:"",openIDClaimName:"",openIDScopes:"",ADURL:"",ADSkipTLS:!1,ADServerInsecure:!1,ADUserNameSearchFilter:"",ADGroupSearchBaseDN:"",ADGroupSearchFilter:"",ADGroupNameAttribute:"",ADUserDNs:[""],ADUserNameFormat:"",ADLookupBindDN:"",ADLookupBindPassword:"",ADUserDNSearchBaseDN:"",ADUserDNSearchFilter:"",ADServerStartTLS:!1},security:{enableAutoCert:!0,enableCustomCerts:!1,enableTLS:!0},encryption:{enableEncryption:!1,encryptionType:"vault",gemaltoEndpoint:"",gemaltoToken:"",gemaltoDomain:"",gemaltoRetry:"0",awsEndpoint:"",awsRegion:"",awsKMSKey:"",awsAccessKey:"",awsSecretKey:"",awsToken:"",vaultEndpoint:"",vaultEngine:"",vaultNamespace:"",vaultPrefix:"",vaultAppRoleEngine:"",vaultId:"",vaultSecret:"",vaultRetry:"0",vaultPing:"0",azureEndpoint:"",azureTenantID:"",azureClientID:"",azureClientSecret:"",gcpProjectID:"",gcpEndpoint:"",gcpClientEmail:"",gcpClientID:"",gcpPrivateKeyID:"",gcpPrivateKey:"",enableCustomCertsForKES:!1,replicas:"1",kesSecurityContext:{runAsUser:"1000",runAsGroup:"1000",fsGroup:"1000",runAsNonRoot:!0}},tenantSize:{volumeSize:"100",sizeFactor:"Gi",drivesPerServer:"1",nodes:"4",memoryNode:"2",ecParity:"",ecParityChoices:[],cleanECChoices:[],distribution:{error:"",nodes:0,persistentVolumes:0,disks:0},ecParityCalc:{error:0,defaultEC:"",erasureCodeSet:0,maxEC:"",rawCapacity:"0",storageFactors:[]},limitSize:{},cpuToUse:"0",resourcesSpecifyLimit:!1,resourcesCPURequestError:"",resourcesCPURequest:"",resourcesCPULimitError:"",resourcesCPULimit:"",resourcesMemoryRequestError:"",resourcesMemoryRequest:"",resourcesMemoryLimitError:"",resourcesMemoryLimit:"",resourcesSize:{error:"",memoryRequest:0,memoryLimit:0,cpuRequest:0,cpuLimit:0},maxAllocatableResources:{min_allocatable_mem:0,min_allocatable_cpu:0,cpu_priority:{max_allocatable_cpu:0,max_allocatable_mem:0},mem_priority:{max_allocatable_cpu:0,max_allocatable_mem:0}},maxCPUsUse:"0",maxMemorySize:"0",integrationSelection:{driveSize:{driveSize:"0",sizeUnit:"B"},CPU:0,typeSelection:"",memory:0,drivesPerServer:0,storageClass:""}},affinity:{nodeSelectorLabels:"",podAffinity:"default",withPodAntiAffinity:!0}},certificates:{minioCertificates:[{id:Date.now().toString(),key:"",cert:"",encoded_key:"",encoded_cert:""}],caCertificates:[{id:Date.now().toString(),key:"",cert:"",encoded_key:"",encoded_cert:""}],consoleCaCertificates:[{id:Date.now().toString(),key:"",cert:"",encoded_key:"",encoded_cert:""}],consoleCertificate:{id:"console_cert_pair",key:"",cert:"",encoded_key:"",encoded_cert:""},serverCertificate:{id:"encryptionServerCertificate",key:"",cert:"",encoded_key:"",encoded_cert:""},clientCertificate:{id:"encryptionClientCertificate",key:"",cert:"",encoded_key:"",encoded_cert:""},vaultCertificate:{id:"encryptionVaultCertificate",key:"",cert:"",encoded_key:"",encoded_cert:""},vaultCA:{id:"encryptionVaultCA",key:"",cert:"",encoded_key:"",encoded_cert:""},gemaltoCA:{id:"encryptionGemaltoCA",key:"",cert:"",encoded_key:"",encoded_cert:""}},nodeSelectorPairs:[{key:"",value:""}]}});case L.Vr:return(0,m.Z)((0,m.Z)({},a),{},{createTenant:(0,m.Z)((0,m.Z)({},a.createTenant),{},{nodeSelectorPairs:o.newArray})});case L.Mm:var F=(0,m.Z)((0,m.Z)({},a.tenantDetails),{},{loadingTenant:o.state});return(0,m.Z)((0,m.Z)({},a),{},{tenantDetails:(0,m.Z)({},F)});case L.Xq:var V=(0,m.Z)((0,m.Z)({},a.tenantDetails),{},{currentTenant:o.name,currentNamespace:o.namespace});return(0,m.Z)((0,m.Z)({},a),{},{tenantDetails:(0,m.Z)({},V)});case L.f$:var G=null;o.tenant&&(G={tenantInfo:(0,m.Z)({},o.tenant)});var W=(0,m.Z)((0,m.Z)({},a.tenantDetails),G);return(0,m.Z)((0,m.Z)({},a),{},{tenantDetails:(0,m.Z)({},W)});case L.E0:var q=(0,m.Z)((0,m.Z)({},a.tenantDetails),{},{currentTab:o.tab});return(0,m.Z)((0,m.Z)({},a),{},{tenantDetails:(0,m.Z)({},q)});default:return a}},directCSI:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:U,t=arguments.length>1?arguments[1]:void 0;if(t.type===B.J){if(""!==t.driveName){var n=(0,m.Z)({},e);return n.selectedDrive=t.driveName,n}return e}return e},dashboard:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:V,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case F.N1:return(0,m.Z)((0,m.Z)({},e),{},{zoom:{openZoom:!0,widgetRender:(0,m.Z)({},t.widget)}});case F.cM:return(0,m.Z)((0,m.Z)({},e),{},{zoom:{openZoom:!1,widgetRender:null}});default:return e}}}),W=function e(t,n,r){var a;if("function"===typeof n&&"function"===typeof r||"function"===typeof r&&"function"===typeof arguments[3])throw new Error(i(0));if("function"===typeof n&&"undefined"===typeof r&&(r=n,n=void 0),"undefined"!==typeof r){if("function"!==typeof r)throw new Error(i(1));return r(e)(t,n)}if("function"!==typeof t)throw new Error(i(2));var o=t,s=n,d=[],f=d,p=!1;function h(){f===d&&(f=d.slice())}function m(){if(p)throw new Error(i(3));return s}function v(e){if("function"!==typeof e)throw new Error(i(4));if(p)throw new Error(i(5));var t=!0;return h(),f.push(e),function(){if(t){if(p)throw new Error(i(6));t=!1,h();var n=f.indexOf(e);f.splice(n,1),d=null}}}function g(e){if(!u(e))throw new Error(i(7));if("undefined"===typeof e.type)throw new Error(i(8));if(p)throw new Error(i(9));try{p=!0,s=o(s,e)}finally{p=!1}for(var t=d=f,n=0;n0?u(b,--y):0,v--,10===x&&(v=1,m--),x}function E(){return x=y2||A(x)>3?"":" "}function O(e,t){for(;--t&&E()&&!(x<48||x>102||x>57&&x<65||x>70&&x<97););return T(e,j()+(t<6&&32==S()&&32==E()))}function R(e){for(;E();)switch(x){case e:return y;case 34:case 39:34!==e&&39!==e&&R(x);break;case 40:41===e&&R(e);break;case 92:E()}return y}function N(e,t){for(;E()&&e+x!==57&&(e+x!==84||47!==S()););return"/*"+T(t,y-1)+"*"+o(47===e?e:E())}function z(e){for(;!A(S());)E();return T(e,y)}var I="-ms-",L="-moz-",D="-webkit-",H="comm",B="rule",U="decl",F="@keyframes";function V(e,t){for(var n="",r=p(e),a=0;a6)switch(u(e,t+1)){case 109:if(45!==u(e,t+4))break;case 102:return s(e,/(.+:)(.+)-([^]+)/,"$1-webkit-$2-$3$1"+L+(108==u(e,t+3)?"$3":"$2-$3"))+e;case 115:return~c(e,"stretch")?W(s(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==u(e,t+1))break;case 6444:switch(u(e,f(e)-3-(~c(e,"!important")&&10))){case 107:return s(e,":",":"+D)+e;case 101:return s(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+D+(45===u(e,14)?"inline-":"")+"box$3$1"+D+"$2$3$1"+I+"$2box$3")+e}break;case 5936:switch(u(e,t+11)){case 114:return D+e+I+s(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return D+e+I+s(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return D+e+I+s(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return D+e+I+e+e}return e}function q(e){return k(K("",null,null,null,[""],e=C(e),0,[0],e))}function K(e,t,n,r,a,i,l,u,d){for(var p=0,m=0,v=l,g=0,y=0,x=0,b=1,w=1,_=1,T=0,A="",C=a,k=i,R=r,I=A;w;)switch(x=T,T=E()){case 40:if(108!=x&&58==I.charCodeAt(v-1)){-1!=c(I+=s(M(T),"&","&\f"),"&\f")&&(_=-1);break}case 34:case 39:case 91:I+=M(T);break;case 9:case 10:case 13:case 32:I+=P(x);break;case 92:I+=O(j()-1,7);continue;case 47:switch(S()){case 42:case 47:h(Y(N(E(),j()),t,n),d);break;default:I+="/"}break;case 123*b:u[p++]=f(I)*_;case 125*b:case 59:case 0:switch(T){case 0:case 125:w=0;case 59+m:y>0&&f(I)-v&&h(y>32?Q(I+";",r,n,v-1):Q(s(I," ","")+";",r,n,v-2),d);break;case 59:I+=";";default:if(h(R=$(I,t,n,p,m,a,u,A,C=[],k=[],v),i),123===T)if(0===m)K(I,t,R,R,C,i,v,u,k);else switch(g){case 100:case 109:case 115:K(e,R,R,r&&h($(e,R,R,0,0,a,u,A,a,C=[],v),k),a,k,v,u,r?C:k);break;default:K(I,R,R,R,[""],k,0,u,k)}}p=m=y=0,b=_=1,A=I="",v=l;break;case 58:v=1+f(I),y=x;default:if(b<1)if(123==T)--b;else if(125==T&&0==b++&&125==Z())continue;switch(I+=o(T),T*b){case 38:_=m>0?1:(I+="\f",-1);break;case 44:u[p++]=(f(I)-1)*_,_=1;break;case 64:45===S()&&(I+=M(E())),g=S(),m=v=f(A=I+=z(j())),T++;break;case 45:45===x&&2==f(I)&&(b=0)}}return i}function $(e,t,n,r,o,i,c,u,f,h,m){for(var v=o-1,g=0===o?i:[""],y=p(g),x=0,b=0,_=0;x0?g[Z]+" "+E:s(E,/&\f/g,g[Z])))&&(f[_++]=S);return w(e,t,n,0===o?B:u,f,h,m)}function Y(e,t,n){return w(e,t,n,H,o(x),d(e,2,-2),0)}function Q(e,t,n,r){return w(e,t,n,U,d(e,0,r),d(e,r+1,-1),r)}var J=function(e,t,n){for(var r=0,a=0;r=a,a=S(),38===r&&12===a&&(t[n]=1),!A(a);)E();return T(e,y)},X=function(e,t){return k(function(e,t){var n=-1,r=44;do{switch(A(r)){case 0:38===r&&12===S()&&(t[n]=1),e[n]+=J(y-1,t,n);break;case 2:e[n]+=M(r);break;case 4:if(44===r){e[++n]=58===S()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=o(r)}}while(r=E());return e}(C(e),t))},ee=new WeakMap,te=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;"rule"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||ee.get(n))&&!r){ee.set(e,!0);for(var a=[],o=X(t,a),i=n.props,l=0,s=0;l-1&&!e.return)switch(e.type){case U:e.return=W(e.value,e.length);break;case F:return V([_(e,{value:s(e.value,"@","@"+D)})],r);case B:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return(e=t.exec(e))?e[0]:e}(t,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return V([_(e,{props:[s(t,/:(read-\w+)/,":-moz-$1")]})],r);case"::placeholder":return V([_(e,{props:[s(t,/:(plac\w+)/,":-webkit-input-$1")]}),_(e,{props:[s(t,/:(plac\w+)/,":-moz-$1")]}),_(e,{props:[s(t,/:(plac\w+)/,I+"input-$1")]})],r)}return""}))}}],ae=function(e){var t=e.key;if("css"===t){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))}var a=e.stylisPlugins||re;var o,i,l={},s=[];o=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),n=1;n=4;++r,a-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(a){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)},a={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},o=n(71049),i=/[A-Z]|^ms/g,l=/_EMO_([^_]+?)_([^]*?)_EMO_/g,s=function(e){return 45===e.charCodeAt(1)},c=function(e){return null!=e&&"boolean"!==typeof e},u=(0,o.Z)((function(e){return s(e)?e:e.replace(i,"-$&").toLowerCase()})),d=function(e,t){switch(e){case"animation":case"animationName":if("string"===typeof t)return t.replace(l,(function(e,t,n){return p={name:t,styles:n,next:p},t}))}return 1===a[e]||s(e)||"number"!==typeof t||0===t?t:t+"px"};function f(e,t,n){if(null==n)return"";if(void 0!==n.__emotion_styles)return n;switch(typeof n){case"boolean":return"";case"object":if(1===n.anim)return p={name:n.name,styles:n.styles,next:p},n.name;if(void 0!==n.styles){var r=n.next;if(void 0!==r)for(;void 0!==r;)p={name:r.name,styles:r.styles,next:p},r=r.next;return n.styles+";"}return function(e,t,n){var r="";if(Array.isArray(n))for(var a=0;a0){var a,o,i=Boolean((null==(a=T.current)?void 0:a.shiftKey)&&"Tab"===(null==(o=T.current)?void 0:o.key)),l=r[0],s=r[r.length-1];i?s.focus():l.focus()}else n.focus()}}else x.current=!1},n=function(t){T.current=t,!d&&g()&&"Tab"===t.key&&e.activeElement===S.current&&t.shiftKey&&(x.current=!0,w.current.focus())};e.addEventListener("focusin",t),e.addEventListener("keydown",n,!0);var r=setInterval((function(){"BODY"===e.activeElement.tagName&&t()}),50);return function(){clearInterval(r),e.removeEventListener("focusin",t),e.removeEventListener("keydown",n,!0)}}}),[l,d,p,g,y,m]);var A=function(e){null===_.current&&(_.current=e.relatedTarget),E.current=!0};return(0,i.jsxs)(r.Fragment,{children:[(0,i.jsx)("div",{tabIndex:0,onFocus:A,ref:b,"data-test":"sentinelStart"}),r.cloneElement(t,{ref:j,onFocus:function(e){null===_.current&&(_.current=e.relatedTarget),E.current=!0,Z.current=e.target;var n=t.props.onFocus;n&&n(e)}}),(0,i.jsx)("div",{tabIndex:0,onFocus:A,ref:w,"data-test":"sentinelEnd"})]})}},50076:function(e,t,n){"use strict";function r(e,t,n){var r={};return Object.keys(e).forEach((function(a){r[a]=e[a].reduce((function(e,r){return r&&(n&&n[r]&&e.push(n[r]),e.push(t(r))),e}),[]).join(" ")})),r}n.d(t,{Z:function(){return r}})},91916:function(e,t){"use strict";var n=function(e){return e},r=function(){var e=n;return{configure:function(t){e=t},generate:function(t){return e(t)},reset:function(){e=n}}}();t.Z=r},10594:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(91916),a={active:"Mui-active",checked:"Mui-checked",completed:"Mui-completed",disabled:"Mui-disabled",error:"Mui-error",expanded:"Mui-expanded",focused:"Mui-focused",focusVisible:"Mui-focusVisible",required:"Mui-required",selected:"Mui-selected"};function o(e,t){return a[t]||"".concat(r.Z.generate(e),"-").concat(t)}},43349:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(10594);function a(e,t){var n={};return t.forEach((function(t){n[t]=(0,r.Z)(e,t)})),n}},53135:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(38331),a=n(45193);function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return(0,a.Z)(e)?t:(0,r.Z)({},t,{ownerState:(0,r.Z)({},t.ownerState,n)})}},45193:function(e,t){"use strict";t.Z=function(e){return"string"===typeof e}},92125:function(e,t,n){"use strict";var r=n(64119);t.Z=void 0;var a=r(n(66830)),o=n(62559),i=(0,a.default)((0,o.jsx)("path",{d:"m10 17 5-5-5-5v10z"}),"ArrowRight");t.Z=i},21278:function(e,t,n){"use strict";var r=n(64119);t.Z=void 0;var a=r(n(66830)),o=n(62559),i=(0,a.default)((0,o.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");t.Z=i},19538:function(e,t,n){"use strict";var r=n(64119);t.Z=void 0;var a=r(n(66830)),o=n(62559),i=(0,a.default)((0,o.jsx)("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline");t.Z=i},57826:function(e,t,n){"use strict";var r=n(64119);t.Z=void 0;var a=r(n(66830)),o=n(62559),i=(0,a.default)((0,o.jsx)("path",{d:"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"}),"Menu");t.Z=i},66830:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r.createSvgIcon}});var r=n(41667)},96699:function(e,t,n){"use strict";n.d(t,{Z:function(){return _}});var r=n(1048),a=n(32793),o=n(50390),i=n(45193),l=n(38331),s=n(23960),c=n(44977),u=n(50076),d=n(43349),f=n(10594);function p(e){return(0,f.Z)("MuiBackdrop",e)}(0,d.Z)("MuiBackdrop",["root","invisible"]);var h=n(62559),m=["classes","className","invisible","component","components","componentsProps","theme"],v=o.forwardRef((function(e,t){var n=e.classes,r=e.className,a=e.invisible,o=void 0!==a&&a,d=e.component,f=void 0===d?"div":d,v=e.components,g=void 0===v?{}:v,y=e.componentsProps,x=void 0===y?{}:y,b=e.theme,w=(0,s.Z)(e,m),_=(0,l.Z)({},e,{classes:n,invisible:o}),Z=function(e){var t=e.classes,n={root:["root",e.invisible&&"invisible"]};return(0,u.Z)(n,p,t)}(_),E=g.Root||f,S=x.root||{};return(0,h.jsx)(E,(0,l.Z)({"aria-hidden":!0},S,!(0,i.Z)(E)&&{as:f,ownerState:(0,l.Z)({},_,S.ownerState),theme:b},{ref:t},w,{className:(0,c.Z)(Z.root,S.className,r)}))})),g=n(8208),y=n(15573),x=n(19454),b=["children","components","componentsProps","className","invisible","open","transitionDuration","TransitionComponent"],w=(0,g.ZP)("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.invisible&&t.invisible]}})((function(e){var t=e.ownerState;return(0,a.Z)({position:"fixed",display:"flex",alignItems:"center",justifyContent:"center",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent"},t.invisible&&{backgroundColor:"transparent"})})),_=o.forwardRef((function(e,t){var n,o=(0,y.Z)({props:e,name:"MuiBackdrop"}),l=o.children,s=o.components,c=void 0===s?{}:s,u=o.componentsProps,d=void 0===u?{}:u,f=o.className,p=o.invisible,m=void 0!==p&&p,g=o.open,_=o.transitionDuration,Z=o.TransitionComponent,E=void 0===Z?x.Z:Z,S=(0,r.Z)(o,b),j=function(e){return e.classes}((0,a.Z)({},o,{invisible:m}));return(0,h.jsx)(E,(0,a.Z)({in:g,timeout:_},S,{children:(0,h.jsx)(v,{className:f,invisible:m,components:(0,a.Z)({Root:w},c),componentsProps:{root:(0,a.Z)({},d.root,(!c.Root||!(0,i.Z)(c.Root))&&{ownerState:(0,a.Z)({},null==(n=d.root)?void 0:n.ownerState)})},classes:j,ref:t,children:l})}))}))},56805:function(e,t,n){"use strict";n.d(t,{Z:function(){return m}});var r=n(54695),a=n(60916),o=n(50390),i=n(44977),l=n(45032),s=n(128),c=n(99301),u=n(85051),d=n(62559),f=["className","component"];var p=n(91916),h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.defaultTheme,n=e.defaultClassName,p=void 0===n?"MuiBox-root":n,h=e.generateClassName,m=(0,l.ZP)("div")(s.Z),v=o.forwardRef((function(e,n){var o=(0,u.Z)(t),l=(0,c.Z)(e),s=l.className,v=l.component,g=void 0===v?"div":v,y=(0,a.Z)(l,f);return(0,d.jsx)(m,(0,r.Z)({as:g,ref:n,className:(0,i.Z)(s,h?h(p):p),theme:o},y))}));return v}({defaultTheme:(0,n(80174).Z)(),defaultClassName:"MuiBox-root",generateClassName:p.Z.generate}),m=h},66946:function(e,t,n){"use strict";n.d(t,{Z:function(){return S}});var r=n(36222),a=n(1048),o=n(32793),i=n(50390),l=n(44977),s=n(95804),c=n(50076),u=n(36128),d=n(8208),f=n(15573),p=n(86875),h=n(91442),m=n(10594);function v(e){return(0,m.Z)("MuiButton",e)}var g=(0,n(43349).Z)("MuiButton",["root","text","textInherit","textPrimary","textSecondary","outlined","outlinedInherit","outlinedPrimary","outlinedSecondary","contained","containedInherit","containedPrimary","containedSecondary","disableElevation","focusVisible","disabled","colorInherit","textSizeSmall","textSizeMedium","textSizeLarge","outlinedSizeSmall","outlinedSizeMedium","outlinedSizeLarge","containedSizeSmall","containedSizeMedium","containedSizeLarge","sizeMedium","sizeSmall","sizeLarge","fullWidth","startIcon","endIcon","iconSizeSmall","iconSizeMedium","iconSizeLarge"]);var y=i.createContext({}),x=n(62559),b=["children","color","component","className","disabled","disableElevation","disableFocusRipple","endIcon","focusVisibleClassName","fullWidth","size","startIcon","type","variant"],w=function(e){return(0,o.Z)({},"small"===e.size&&{"& > *:nth-of-type(1)":{fontSize:18}},"medium"===e.size&&{"& > *:nth-of-type(1)":{fontSize:20}},"large"===e.size&&{"& > *:nth-of-type(1)":{fontSize:22}})},_=(0,d.ZP)(p.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiButton",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t[n.variant],t["".concat(n.variant).concat((0,h.Z)(n.color))],t["size".concat((0,h.Z)(n.size))],t["".concat(n.variant,"Size").concat((0,h.Z)(n.size))],"inherit"===n.color&&t.colorInherit,n.disableElevation&&t.disableElevation,n.fullWidth&&t.fullWidth]}})((function(e){var t,n=e.theme,a=e.ownerState;return(0,o.Z)({},n.typography.button,(t={minWidth:64,padding:"6px 16px",borderRadius:n.shape.borderRadius,transition:n.transitions.create(["background-color","box-shadow","border-color","color"],{duration:n.transitions.duration.short}),"&:hover":(0,o.Z)({textDecoration:"none",backgroundColor:(0,u.Fq)(n.palette.text.primary,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"text"===a.variant&&"inherit"!==a.color&&{backgroundColor:(0,u.Fq)(n.palette[a.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"outlined"===a.variant&&"inherit"!==a.color&&{border:"1px solid ".concat(n.palette[a.color].main),backgroundColor:(0,u.Fq)(n.palette[a.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"contained"===a.variant&&{backgroundColor:n.palette.grey.A100,boxShadow:n.shadows[4],"@media (hover: none)":{boxShadow:n.shadows[2],backgroundColor:n.palette.grey[300]}},"contained"===a.variant&&"inherit"!==a.color&&{backgroundColor:n.palette[a.color].dark,"@media (hover: none)":{backgroundColor:n.palette[a.color].main}}),"&:active":(0,o.Z)({},"contained"===a.variant&&{boxShadow:n.shadows[8]})},(0,r.Z)(t,"&.".concat(g.focusVisible),(0,o.Z)({},"contained"===a.variant&&{boxShadow:n.shadows[6]})),(0,r.Z)(t,"&.".concat(g.disabled),(0,o.Z)({color:n.palette.action.disabled},"outlined"===a.variant&&{border:"1px solid ".concat(n.palette.action.disabledBackground)},"outlined"===a.variant&&"secondary"===a.color&&{border:"1px solid ".concat(n.palette.action.disabled)},"contained"===a.variant&&{color:n.palette.action.disabled,boxShadow:n.shadows[0],backgroundColor:n.palette.action.disabledBackground})),t),"text"===a.variant&&{padding:"6px 8px"},"text"===a.variant&&"inherit"!==a.color&&{color:n.palette[a.color].main},"outlined"===a.variant&&{padding:"5px 15px",border:"1px solid ".concat("light"===n.palette.mode?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)")},"outlined"===a.variant&&"inherit"!==a.color&&{color:n.palette[a.color].main,border:"1px solid ".concat((0,u.Fq)(n.palette[a.color].main,.5))},"contained"===a.variant&&{color:n.palette.getContrastText(n.palette.grey[300]),backgroundColor:n.palette.grey[300],boxShadow:n.shadows[2]},"contained"===a.variant&&"inherit"!==a.color&&{color:n.palette[a.color].contrastText,backgroundColor:n.palette[a.color].main},"inherit"===a.color&&{color:"inherit",borderColor:"currentColor"},"small"===a.size&&"text"===a.variant&&{padding:"4px 5px",fontSize:n.typography.pxToRem(13)},"large"===a.size&&"text"===a.variant&&{padding:"8px 11px",fontSize:n.typography.pxToRem(15)},"small"===a.size&&"outlined"===a.variant&&{padding:"3px 9px",fontSize:n.typography.pxToRem(13)},"large"===a.size&&"outlined"===a.variant&&{padding:"7px 21px",fontSize:n.typography.pxToRem(15)},"small"===a.size&&"contained"===a.variant&&{padding:"4px 10px",fontSize:n.typography.pxToRem(13)},"large"===a.size&&"contained"===a.variant&&{padding:"8px 22px",fontSize:n.typography.pxToRem(15)},a.fullWidth&&{width:"100%"})}),(function(e){var t;return e.ownerState.disableElevation&&(t={boxShadow:"none","&:hover":{boxShadow:"none"}},(0,r.Z)(t,"&.".concat(g.focusVisible),{boxShadow:"none"}),(0,r.Z)(t,"&:active",{boxShadow:"none"}),(0,r.Z)(t,"&.".concat(g.disabled),{boxShadow:"none"}),t)})),Z=(0,d.ZP)("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:function(e,t){var n=e.ownerState;return[t.startIcon,t["iconSize".concat((0,h.Z)(n.size))]]}})((function(e){var t=e.ownerState;return(0,o.Z)({display:"inherit",marginRight:8,marginLeft:-4},"small"===t.size&&{marginLeft:-2},w(t))})),E=(0,d.ZP)("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:function(e,t){var n=e.ownerState;return[t.endIcon,t["iconSize".concat((0,h.Z)(n.size))]]}})((function(e){var t=e.ownerState;return(0,o.Z)({display:"inherit",marginRight:-4,marginLeft:8},"small"===t.size&&{marginRight:-2},w(t))})),S=i.forwardRef((function(e,t){var n=i.useContext(y),r=(0,s.Z)(n,e),u=(0,f.Z)({props:r,name:"MuiButton"}),d=u.children,p=u.color,m=void 0===p?"primary":p,g=u.component,w=void 0===g?"button":g,S=u.className,j=u.disabled,T=void 0!==j&&j,A=u.disableElevation,C=void 0!==A&&A,k=u.disableFocusRipple,M=void 0!==k&&k,P=u.endIcon,O=u.focusVisibleClassName,R=u.fullWidth,N=void 0!==R&&R,z=u.size,I=void 0===z?"medium":z,L=u.startIcon,D=u.type,H=u.variant,B=void 0===H?"text":H,U=(0,a.Z)(u,b),F=(0,o.Z)({},u,{color:m,component:w,disabled:T,disableElevation:C,disableFocusRipple:M,fullWidth:N,size:I,type:D,variant:B}),V=function(e){var t=e.color,n=e.disableElevation,r=e.fullWidth,a=e.size,i=e.variant,l=e.classes,s={root:["root",i,"".concat(i).concat((0,h.Z)(t)),"size".concat((0,h.Z)(a)),"".concat(i,"Size").concat((0,h.Z)(a)),"inherit"===t&&"colorInherit",n&&"disableElevation",r&&"fullWidth"],label:["label"],startIcon:["startIcon","iconSize".concat((0,h.Z)(a))],endIcon:["endIcon","iconSize".concat((0,h.Z)(a))]},u=(0,c.Z)(s,v,l);return(0,o.Z)({},l,u)}(F),G=L&&(0,x.jsx)(Z,{className:V.startIcon,ownerState:F,children:L}),W=P&&(0,x.jsx)(E,{className:V.endIcon,ownerState:F,children:P});return(0,x.jsxs)(_,(0,o.Z)({ownerState:F,className:(0,l.Z)(S,n.className),component:w,disabled:T,focusRipple:!M,focusVisibleClassName:(0,l.Z)(V.focusVisible,O),ref:t,type:D},U,{classes:V,children:[G,d,W]}))}))},86875:function(e,t,n){"use strict";n.d(t,{Z:function(){return W}});var r=n(23430),a=n(36222),o=n(32793),i=n(1048),l=n(50390),s=n(44977),c=n(50076),u=n(8208),d=n(15573),f=n(3299),p=n(87827),h=n(42081),m=n(35531),v=n(17186),g=n(10758),y=n(19471),x=n(62559);var b=function(e){var t=e.className,n=e.classes,a=e.pulsate,o=void 0!==a&&a,i=e.rippleX,c=e.rippleY,u=e.rippleSize,d=e.in,f=e.onExited,p=e.timeout,h=l.useState(!1),m=(0,r.Z)(h,2),v=m[0],g=m[1],y=(0,s.Z)(t,n.ripple,n.rippleVisible,o&&n.ripplePulsate),b={width:u,height:u,top:-u/2+c,left:-u/2+i},w=(0,s.Z)(n.child,v&&n.childLeaving,o&&n.childPulsate);return d||v||g(!0),l.useEffect((function(){if(!d&&null!=f){var e=setTimeout(f,p);return function(){clearTimeout(e)}}}),[f,d,p]),(0,x.jsx)("span",{className:y,style:b,children:(0,x.jsx)("span",{className:w})})},w=n(43349);var _,Z,E,S,j,T,A,C,k=(0,w.Z)("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]),M=["center","classes","className"],P=(0,y.F4)(j||(j=_||(_=(0,v.Z)(["\n 0% {\n transform: scale(0);\n opacity: 0.1;\n }\n\n 100% {\n transform: scale(1);\n opacity: 0.3;\n }\n"])))),O=(0,y.F4)(T||(T=Z||(Z=(0,v.Z)(["\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n"])))),R=(0,y.F4)(A||(A=E||(E=(0,v.Z)(["\n 0% {\n transform: scale(1);\n }\n\n 50% {\n transform: scale(0.92);\n }\n\n 100% {\n transform: scale(1);\n }\n"])))),N=(0,u.ZP)("span",{name:"MuiTouchRipple",slot:"Root"})({overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"}),z=(0,u.ZP)(b,{name:"MuiTouchRipple",slot:"Ripple"})(C||(C=S||(S=(0,v.Z)(["\n opacity: 0;\n position: absolute;\n\n &."," {\n opacity: 0.3;\n transform: scale(1);\n animation-name: ",";\n animation-duration: ","ms;\n animation-timing-function: ",";\n }\n\n &."," {\n animation-duration: ","ms;\n }\n\n & ."," {\n opacity: 1;\n display: block;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: currentColor;\n }\n\n & ."," {\n opacity: 0;\n animation-name: ",";\n animation-duration: ","ms;\n animation-timing-function: ",";\n }\n\n & ."," {\n position: absolute;\n /* @noflip */\n left: 0px;\n top: 0;\n animation-name: ",";\n animation-duration: 2500ms;\n animation-timing-function: ",";\n animation-iteration-count: infinite;\n animation-delay: 200ms;\n }\n"]))),k.rippleVisible,P,550,(function(e){return e.theme.transitions.easing.easeInOut}),k.ripplePulsate,(function(e){return e.theme.transitions.duration.shorter}),k.child,k.childLeaving,O,550,(function(e){return e.theme.transitions.easing.easeInOut}),k.childPulsate,R,(function(e){return e.theme.transitions.easing.easeInOut})),I=l.forwardRef((function(e,t){var n=(0,d.Z)({props:e,name:"MuiTouchRipple"}),a=n.center,c=void 0!==a&&a,u=n.classes,f=void 0===u?{}:u,p=n.className,h=(0,i.Z)(n,M),v=l.useState([]),y=(0,r.Z)(v,2),b=y[0],w=y[1],_=l.useRef(0),Z=l.useRef(null);l.useEffect((function(){Z.current&&(Z.current(),Z.current=null)}),[b]);var E=l.useRef(!1),S=l.useRef(null),j=l.useRef(null),T=l.useRef(null);l.useEffect((function(){return function(){clearTimeout(S.current)}}),[]);var A=l.useCallback((function(e){var t=e.pulsate,n=e.rippleX,r=e.rippleY,a=e.rippleSize,o=e.cb;w((function(e){return[].concat((0,m.Z)(e),[(0,x.jsx)(z,{classes:{ripple:(0,s.Z)(f.ripple,k.ripple),rippleVisible:(0,s.Z)(f.rippleVisible,k.rippleVisible),ripplePulsate:(0,s.Z)(f.ripplePulsate,k.ripplePulsate),child:(0,s.Z)(f.child,k.child),childLeaving:(0,s.Z)(f.childLeaving,k.childLeaving),childPulsate:(0,s.Z)(f.childPulsate,k.childPulsate)},timeout:550,pulsate:t,rippleX:n,rippleY:r,rippleSize:a},_.current)])})),_.current+=1,Z.current=o}),[f]),C=l.useCallback((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=t.pulsate,a=void 0!==r&&r,o=t.center,i=void 0===o?c||t.pulsate:o,l=t.fakeElement,s=void 0!==l&&l;if("mousedown"===e.type&&E.current)E.current=!1;else{"touchstart"===e.type&&(E.current=!0);var u,d,f,p=s?null:T.current,h=p?p.getBoundingClientRect():{width:0,height:0,left:0,top:0};if(i||0===e.clientX&&0===e.clientY||!e.clientX&&!e.touches)u=Math.round(h.width/2),d=Math.round(h.height/2);else{var m=e.touches?e.touches[0]:e,v=m.clientX,g=m.clientY;u=Math.round(v-h.left),d=Math.round(g-h.top)}if(i)(f=Math.sqrt((2*Math.pow(h.width,2)+Math.pow(h.height,2))/3))%2===0&&(f+=1);else{var y=2*Math.max(Math.abs((p?p.clientWidth:0)-u),u)+2,x=2*Math.max(Math.abs((p?p.clientHeight:0)-d),d)+2;f=Math.sqrt(Math.pow(y,2)+Math.pow(x,2))}e.touches?null===j.current&&(j.current=function(){A({pulsate:a,rippleX:u,rippleY:d,rippleSize:f,cb:n})},S.current=setTimeout((function(){j.current&&(j.current(),j.current=null)}),80)):A({pulsate:a,rippleX:u,rippleY:d,rippleSize:f,cb:n})}}),[c,A]),P=l.useCallback((function(){C({},{pulsate:!0})}),[C]),O=l.useCallback((function(e,t){if(clearTimeout(S.current),"touchend"===e.type&&j.current)return j.current(),j.current=null,void(S.current=setTimeout((function(){O(e,t)})));j.current=null,w((function(e){return e.length>0?e.slice(1):e})),Z.current=t}),[]);return l.useImperativeHandle(t,(function(){return{pulsate:P,start:C,stop:O}}),[P,C,O]),(0,x.jsx)(N,(0,o.Z)({className:(0,s.Z)(f.root,k.root,p),ref:T},h,{children:(0,x.jsx)(g.Z,{component:null,exit:!0,children:b})}))})),L=I,D=n(10594);function H(e){return(0,D.Z)("MuiButtonBase",e)}var B,U=(0,w.Z)("MuiButtonBase",["root","disabled","focusVisible"]),F=["action","centerRipple","children","className","component","disabled","disableRipple","disableTouchRipple","focusRipple","focusVisibleClassName","LinkComponent","onBlur","onClick","onContextMenu","onDragLeave","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","type"],V=(0,u.ZP)("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:function(e,t){return t.root}})((B={display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"}},(0,a.Z)(B,"&.".concat(U.disabled),{pointerEvents:"none",cursor:"default"}),(0,a.Z)(B,"@media print",{colorAdjust:"exact"}),B)),G=l.forwardRef((function(e,t){var n=(0,d.Z)({props:e,name:"MuiButtonBase"}),a=n.action,u=n.centerRipple,m=void 0!==u&&u,v=n.children,g=n.className,y=n.component,b=void 0===y?"button":y,w=n.disabled,_=void 0!==w&&w,Z=n.disableRipple,E=void 0!==Z&&Z,S=n.disableTouchRipple,j=void 0!==S&&S,T=n.focusRipple,A=void 0!==T&&T,C=n.LinkComponent,k=void 0===C?"a":C,M=n.onBlur,P=n.onClick,O=n.onContextMenu,R=n.onDragLeave,N=n.onFocus,z=n.onFocusVisible,I=n.onKeyDown,D=n.onKeyUp,B=n.onMouseDown,U=n.onMouseLeave,G=n.onMouseUp,W=n.onTouchEnd,q=n.onTouchMove,K=n.onTouchStart,$=n.tabIndex,Y=void 0===$?0:$,Q=n.TouchRippleProps,J=n.type,X=(0,i.Z)(n,F),ee=l.useRef(null),te=l.useRef(null),ne=(0,h.Z)(),re=ne.isFocusVisibleRef,ae=ne.onFocus,oe=ne.onBlur,ie=ne.ref,le=l.useState(!1),se=(0,r.Z)(le,2),ce=se[0],ue=se[1];function de(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:j;return(0,p.Z)((function(r){return t&&t(r),!n&&te.current&&te.current[e](r),!0}))}_&&ce&&ue(!1),l.useImperativeHandle(a,(function(){return{focusVisible:function(){ue(!0),ee.current.focus()}}}),[]),l.useEffect((function(){ce&&A&&!E&&te.current.pulsate()}),[E,A,ce]);var fe=de("start",B),pe=de("stop",O),he=de("stop",R),me=de("stop",G),ve=de("stop",(function(e){ce&&e.preventDefault(),U&&U(e)})),ge=de("start",K),ye=de("stop",W),xe=de("stop",q),be=de("stop",(function(e){oe(e),!1===re.current&&ue(!1),M&&M(e)}),!1),we=(0,p.Z)((function(e){ee.current||(ee.current=e.currentTarget),ae(e),!0===re.current&&(ue(!0),z&&z(e)),N&&N(e)})),_e=function(){var e=ee.current;return b&&"button"!==b&&!("A"===e.tagName&&e.href)},Ze=l.useRef(!1),Ee=(0,p.Z)((function(e){A&&!Ze.current&&ce&&te.current&&" "===e.key&&(Ze.current=!0,te.current.stop(e,(function(){te.current.start(e)}))),e.target===e.currentTarget&&_e()&&" "===e.key&&e.preventDefault(),I&&I(e),e.target===e.currentTarget&&_e()&&"Enter"===e.key&&!_&&(e.preventDefault(),P&&P(e))})),Se=(0,p.Z)((function(e){A&&" "===e.key&&te.current&&ce&&!e.defaultPrevented&&(Ze.current=!1,te.current.stop(e,(function(){te.current.pulsate(e)}))),D&&D(e),P&&e.target===e.currentTarget&&_e()&&" "===e.key&&!e.defaultPrevented&&P(e)})),je=b;"button"===je&&(X.href||X.to)&&(je=k);var Te={};"button"===je?(Te.type=void 0===J?"button":J,Te.disabled=_):(X.href||X.to||(Te.role="button"),_&&(Te["aria-disabled"]=_));var Ae=(0,f.Z)(ie,ee),Ce=(0,f.Z)(t,Ae),ke=l.useState(!1),Me=(0,r.Z)(ke,2),Pe=Me[0],Oe=Me[1];l.useEffect((function(){Oe(!0)}),[]);var Re=Pe&&!E&&!_;var Ne=(0,o.Z)({},n,{centerRipple:m,component:b,disabled:_,disableRipple:E,disableTouchRipple:j,focusRipple:A,tabIndex:Y,focusVisible:ce}),ze=function(e){var t=e.disabled,n=e.focusVisible,r=e.focusVisibleClassName,a=e.classes,o={root:["root",t&&"disabled",n&&"focusVisible"]},i=(0,c.Z)(o,H,a);return n&&r&&(i.root+=" ".concat(r)),i}(Ne);return(0,x.jsxs)(V,(0,o.Z)({as:je,className:(0,s.Z)(ze.root,g),ownerState:Ne,onBlur:be,onClick:P,onContextMenu:pe,onFocus:we,onKeyDown:Ee,onKeyUp:Se,onMouseDown:fe,onMouseLeave:ve,onMouseUp:me,onDragLeave:he,onTouchEnd:ye,onTouchMove:xe,onTouchStart:ge,ref:Ce,tabIndex:_?-1:Y,type:J},Te,X,{children:[v,Re?(0,x.jsx)(L,(0,o.Z)({ref:te,center:m},Q)):null]}))})),W=G},18201:function(e,t,n){"use strict";n.d(t,{Z:function(){return M}});var r=n(17186),a=n(1048),o=n(32793),i=n(50390),l=n(44977),s=n(50076),c=n(19471),u=n(91442),d=n(15573),f=n(8208),p=n(10594);function h(e){return(0,p.Z)("MuiCircularProgress",e)}(0,n(43349).Z)("MuiCircularProgress",["root","determinate","indeterminate","colorPrimary","colorSecondary","svg","circle","circleDeterminate","circleIndeterminate","circleDisableShrink"]);var m,v,g,y,x,b,w,_,Z=n(62559),E=["className","color","disableShrink","size","style","thickness","value","variant"],S=44,j=(0,c.F4)(x||(x=m||(m=(0,r.Z)(["\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n"])))),T=(0,c.F4)(b||(b=v||(v=(0,r.Z)(["\n 0% {\n stroke-dasharray: 1px, 200px;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -15px;\n }\n\n 100% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -125px;\n }\n"])))),A=(0,f.ZP)("span",{name:"MuiCircularProgress",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t[n.variant],t["color".concat((0,u.Z)(n.color))]]}})((function(e){var t=e.ownerState,n=e.theme;return(0,o.Z)({display:"inline-block"},"determinate"===t.variant&&{transition:n.transitions.create("transform")},"inherit"!==t.color&&{color:n.palette[t.color].main})}),(function(e){return"indeterminate"===e.ownerState.variant&&(0,c.iv)(w||(w=g||(g=(0,r.Z)(["\n animation: "," 1.4s linear infinite;\n "]))),j)})),C=(0,f.ZP)("svg",{name:"MuiCircularProgress",slot:"Svg",overridesResolver:function(e,t){return t.svg}})({display:"block"}),k=(0,f.ZP)("circle",{name:"MuiCircularProgress",slot:"Circle",overridesResolver:function(e,t){var n=e.ownerState;return[t.circle,t["circle".concat((0,u.Z)(n.variant))],n.disableShrink&&t.circleDisableShrink]}})((function(e){var t=e.ownerState,n=e.theme;return(0,o.Z)({stroke:"currentColor"},"determinate"===t.variant&&{transition:n.transitions.create("stroke-dashoffset")},"indeterminate"===t.variant&&{strokeDasharray:"80px, 200px",strokeDashoffset:0})}),(function(e){var t=e.ownerState;return"indeterminate"===t.variant&&!t.disableShrink&&(0,c.iv)(_||(_=y||(y=(0,r.Z)(["\n animation: "," 1.4s ease-in-out infinite;\n "]))),T)})),M=i.forwardRef((function(e,t){var n=(0,d.Z)({props:e,name:"MuiCircularProgress"}),r=n.className,i=n.color,c=void 0===i?"primary":i,f=n.disableShrink,p=void 0!==f&&f,m=n.size,v=void 0===m?40:m,g=n.style,y=n.thickness,x=void 0===y?3.6:y,b=n.value,w=void 0===b?0:b,_=n.variant,j=void 0===_?"indeterminate":_,T=(0,a.Z)(n,E),M=(0,o.Z)({},n,{color:c,disableShrink:p,size:v,thickness:x,value:w,variant:j}),P=function(e){var t=e.classes,n=e.variant,r=e.color,a=e.disableShrink,o={root:["root",n,"color".concat((0,u.Z)(r))],svg:["svg"],circle:["circle","circle".concat((0,u.Z)(n)),a&&"circleDisableShrink"]};return(0,s.Z)(o,h,t)}(M),O={},R={},N={};if("determinate"===j){var z=2*Math.PI*((S-x)/2);O.strokeDasharray=z.toFixed(3),N["aria-valuenow"]=Math.round(w),O.strokeDashoffset="".concat(((100-w)/100*z).toFixed(3),"px"),R.transform="rotate(-90deg)"}return(0,Z.jsx)(A,(0,o.Z)({className:(0,l.Z)(P.root,r),style:(0,o.Z)({width:v,height:v},R,g),ownerState:M,ref:t,role:"progressbar"},N,T,{children:(0,Z.jsx)(C,{className:P.svg,ownerState:M,viewBox:"".concat(22," ").concat(22," ").concat(S," ").concat(S),children:(0,Z.jsx)(k,{className:P.circle,style:O,ownerState:M,cx:S,cy:S,r:(S-x)/2,fill:"none",strokeWidth:x})})}))}))},55600:function(e,t,n){"use strict";n.d(t,{Z:function(){return E}});var r=n(36222),a=n(1048),o=n(32793),i=n(50390),l=n(44977),s=n(25558),c=n(50076),u=n(8208),d=n(15573),f=n(78157),p=n(40138),h=n(88669),m=n(3299),v=n(10594);function g(e){return(0,v.Z)("MuiCollapse",e)}(0,n(43349).Z)("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]);var y=n(62559),x=["addEndListener","children","className","collapsedSize","component","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","orientation","style","timeout","TransitionComponent"],b=(0,u.ZP)("div",{name:"MuiCollapse",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t[n.orientation],"entered"===n.state&&t.entered,"exited"===n.state&&!n.in&&"0px"===n.collapsedSize&&t.hidden]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({height:0,overflow:"hidden",transition:t.transitions.create("height")},"horizontal"===n.orientation&&{height:"auto",width:0,transition:t.transitions.create("width")},"entered"===n.state&&(0,o.Z)({height:"auto",overflow:"visible"},"horizontal"===n.orientation&&{width:"auto"}),"exited"===n.state&&!n.in&&"0px"===n.collapsedSize&&{visibility:"hidden"})})),w=(0,u.ZP)("div",{name:"MuiCollapse",slot:"Wrapper",overridesResolver:function(e,t){return t.wrapper}})((function(e){var t=e.ownerState;return(0,o.Z)({display:"flex",width:"100%"},"horizontal"===t.orientation&&{width:"auto",height:"100%"})})),_=(0,u.ZP)("div",{name:"MuiCollapse",slot:"WrapperInner",overridesResolver:function(e,t){return t.wrapperInner}})((function(e){var t=e.ownerState;return(0,o.Z)({width:"100%"},"horizontal"===t.orientation&&{width:"auto",height:"100%"})})),Z=i.forwardRef((function(e,t){var n=(0,d.Z)({props:e,name:"MuiCollapse"}),u=n.addEndListener,v=n.children,Z=n.className,E=n.collapsedSize,S=void 0===E?"0px":E,j=n.component,T=n.easing,A=n.in,C=n.onEnter,k=n.onEntered,M=n.onEntering,P=n.onExit,O=n.onExited,R=n.onExiting,N=n.orientation,z=void 0===N?"vertical":N,I=n.style,L=n.timeout,D=void 0===L?f.x9.standard:L,H=n.TransitionComponent,B=void 0===H?s.ZP:H,U=(0,a.Z)(n,x),F=(0,o.Z)({},n,{orientation:z,collapsedSize:S}),V=function(e){var t=e.orientation,n=e.classes,r={root:["root","".concat(t)],entered:["entered"],hidden:["hidden"],wrapper:["wrapper","".concat(t)],wrapperInner:["wrapperInner","".concat(t)]};return(0,c.Z)(r,g,n)}(F),G=(0,h.Z)(),W=i.useRef(),q=i.useRef(null),K=i.useRef(),$="number"===typeof S?"".concat(S,"px"):S,Y="horizontal"===z,Q=Y?"width":"height";i.useEffect((function(){return function(){clearTimeout(W.current)}}),[]);var J=i.useRef(null),X=(0,m.Z)(t,J),ee=function(e){return function(t){if(e){var n=J.current;void 0===t?e(n):e(n,t)}}},te=function(){return q.current?q.current[Y?"clientWidth":"clientHeight"]:0},ne=ee((function(e,t){q.current&&Y&&(q.current.style.position="absolute"),e.style[Q]=$,C&&C(e,t)})),re=ee((function(e,t){var n=te();q.current&&Y&&(q.current.style.position="");var r=(0,p.C)({style:I,timeout:D,easing:T},{mode:"enter"}),a=r.duration,o=r.easing;if("auto"===D){var i=G.transitions.getAutoHeightDuration(n);e.style.transitionDuration="".concat(i,"ms"),K.current=i}else e.style.transitionDuration="string"===typeof a?a:"".concat(a,"ms");e.style[Q]="".concat(n,"px"),e.style.transitionTimingFunction=o,M&&M(e,t)})),ae=ee((function(e,t){e.style[Q]="auto",k&&k(e,t)})),oe=ee((function(e){e.style[Q]="".concat(te(),"px"),P&&P(e)})),ie=ee(O),le=ee((function(e){var t=te(),n=(0,p.C)({style:I,timeout:D,easing:T},{mode:"exit"}),r=n.duration,a=n.easing;if("auto"===D){var o=G.transitions.getAutoHeightDuration(t);e.style.transitionDuration="".concat(o,"ms"),K.current=o}else e.style.transitionDuration="string"===typeof r?r:"".concat(r,"ms");e.style[Q]=$,e.style.transitionTimingFunction=a,R&&R(e)}));return(0,y.jsx)(B,(0,o.Z)({in:A,onEnter:ne,onEntered:ae,onEntering:re,onExit:oe,onExited:ie,onExiting:le,addEndListener:function(e){"auto"===D&&(W.current=setTimeout(e,K.current||0)),u&&u(J.current,e)},nodeRef:J,timeout:"auto"===D?null:D},U,{children:function(e,t){return(0,y.jsx)(b,(0,o.Z)({as:j,className:(0,l.Z)(V.root,Z,{entered:V.entered,exited:!A&&"0px"===$&&V.hidden}[e]),style:(0,o.Z)((0,r.Z)({},Y?"minWidth":"minHeight",$),I),ownerState:(0,o.Z)({},F,{state:e}),ref:X},t,{children:(0,y.jsx)(w,{ownerState:(0,o.Z)({},F,{state:e}),className:V.wrapper,ref:q,children:(0,y.jsx)(_,{ownerState:(0,o.Z)({},F,{state:e}),className:V.wrapperInner,children:v})})}))}}))}));Z.muiSupportAuto=!0;var E=Z},19454:function(e,t,n){"use strict";var r=n(32793),a=n(1048),o=n(50390),i=n(25558),l=n(78157),s=n(88669),c=n(40138),u=n(3299),d=n(62559),f=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"],p={entering:{opacity:1},entered:{opacity:1}},h={enter:l.x9.enteringScreen,exit:l.x9.leavingScreen},m=o.forwardRef((function(e,t){var n=e.addEndListener,l=e.appear,m=void 0===l||l,v=e.children,g=e.easing,y=e.in,x=e.onEnter,b=e.onEntered,w=e.onEntering,_=e.onExit,Z=e.onExited,E=e.onExiting,S=e.style,j=e.timeout,T=void 0===j?h:j,A=e.TransitionComponent,C=void 0===A?i.ZP:A,k=(0,a.Z)(e,f),M=(0,s.Z)(),P=o.useRef(null),O=(0,u.Z)(v.ref,t),R=(0,u.Z)(P,O),N=function(e){return function(t){if(e){var n=P.current;void 0===t?e(n):e(n,t)}}},z=N(w),I=N((function(e,t){(0,c.n)(e);var n=(0,c.C)({style:S,timeout:T,easing:g},{mode:"enter"});e.style.webkitTransition=M.transitions.create("opacity",n),e.style.transition=M.transitions.create("opacity",n),x&&x(e,t)})),L=N(b),D=N(E),H=N((function(e){var t=(0,c.C)({style:S,timeout:T,easing:g},{mode:"exit"});e.style.webkitTransition=M.transitions.create("opacity",t),e.style.transition=M.transitions.create("opacity",t),_&&_(e)})),B=N(Z);return(0,d.jsx)(C,(0,r.Z)({appear:m,in:y,nodeRef:P,onEnter:I,onEntered:L,onEntering:z,onExit:H,onExited:B,onExiting:D,addEndListener:function(e){n&&n(P.current,e)},timeout:T},k,{children:function(e,t){return o.cloneElement(v,(0,r.Z)({style:(0,r.Z)({opacity:0,visibility:"exited"!==e||y?void 0:"hidden"},p[e],S,v.props.style),ref:R},t))}}))}));t.Z=m},90118:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});var r=n(32793),a=(n(50390),n(19471)),o=n(62559);function i(e){var t=e.styles,n=e.defaultTheme,r=void 0===n?{}:n,i="function"===typeof t?function(e){return t(void 0===(n=e)||null===n||0===Object.keys(n).length?r:e);var n}:t;return(0,o.jsx)(a.xB,{styles:i})}var l=n(75158);var s=function(e){return(0,o.jsx)(i,(0,r.Z)({},e,{defaultTheme:l.Z}))}},25594:function(e,t,n){"use strict";n.d(t,{ZP:function(){return E}});var r=n(35531),a=n(36222),o=n(1048),i=n(32793),l=n(50390),s=n(44977),c=n(11188),u=n(99301),d=n(50076),f=n(8208),p=n(15573);var h=l.createContext(),m=n(10594);function v(e){return(0,m.Z)("MuiGrid",e)}var g=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],y=(0,n(43349).Z)("MuiGrid",["root","container","item","zeroMinWidth"].concat((0,r.Z)([0,1,2,3,4,5,6,7,8,9,10].map((function(e){return"spacing-xs-".concat(e)}))),(0,r.Z)(["column-reverse","column","row-reverse","row"].map((function(e){return"direction-xs-".concat(e)}))),(0,r.Z)(["nowrap","wrap-reverse","wrap"].map((function(e){return"wrap-xs-".concat(e)}))),(0,r.Z)(g.map((function(e){return"grid-xs-".concat(e)}))),(0,r.Z)(g.map((function(e){return"grid-sm-".concat(e)}))),(0,r.Z)(g.map((function(e){return"grid-md-".concat(e)}))),(0,r.Z)(g.map((function(e){return"grid-lg-".concat(e)}))),(0,r.Z)(g.map((function(e){return"grid-xl-".concat(e)}))))),x=n(62559),b=["className","columns","columnSpacing","component","container","direction","item","lg","md","rowSpacing","sm","spacing","wrap","xl","xs","zeroMinWidth"];function w(e){var t=parseFloat(e);return"".concat(t).concat(String(e).replace(String(t),"")||"px")}function _(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t||!e||e<=0)return[];if("string"===typeof e&&!Number.isNaN(Number(e))||"number"===typeof e)return[n["spacing-xs-".concat(String(e))]||"spacing-xs-".concat(String(e))];var r=e.xs,a=e.sm,o=e.md,i=e.lg,l=e.xl;return[Number(r)>0&&(n["spacing-xs-".concat(String(r))]||"spacing-xs-".concat(String(r))),Number(a)>0&&(n["spacing-sm-".concat(String(a))]||"spacing-sm-".concat(String(a))),Number(o)>0&&(n["spacing-md-".concat(String(o))]||"spacing-md-".concat(String(o))),Number(i)>0&&(n["spacing-lg-".concat(String(i))]||"spacing-lg-".concat(String(i))),Number(l)>0&&(n["spacing-xl-".concat(String(l))]||"spacing-xl-".concat(String(l)))]}var Z=(0,f.ZP)("div",{name:"MuiGrid",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState,a=n.container,o=n.direction,i=n.item,l=n.lg,s=n.md,c=n.sm,u=n.spacing,d=n.wrap,f=n.xl,p=n.xs,h=n.zeroMinWidth;return[t.root,a&&t.container,i&&t.item,h&&t.zeroMinWidth].concat((0,r.Z)(_(u,a,t)),["row"!==o&&t["direction-xs-".concat(String(o))],"wrap"!==d&&t["wrap-xs-".concat(String(d))],!1!==p&&t["grid-xs-".concat(String(p))],!1!==c&&t["grid-sm-".concat(String(c))],!1!==s&&t["grid-md-".concat(String(s))],!1!==l&&t["grid-lg-".concat(String(l))],!1!==f&&t["grid-xl-".concat(String(f))]])}})((function(e){var t=e.ownerState;return(0,i.Z)({boxSizing:"border-box"},t.container&&{display:"flex",flexWrap:"wrap",width:"100%"},t.item&&{margin:0},t.zeroMinWidth&&{minWidth:0},"wrap"!==t.wrap&&{flexWrap:t.wrap})}),(function(e){var t=e.theme,n=e.ownerState,r=(0,c.P$)({values:n.direction,breakpoints:t.breakpoints.values});return(0,c.k9)({theme:t},r,(function(e){var t={flexDirection:e};return 0===e.indexOf("column")&&(t["& > .".concat(y.item)]={maxWidth:"none"}),t}))}),(function(e){var t=e.theme,n=e.ownerState,r=n.container,o=n.rowSpacing,i={};if(r&&0!==o){var l=(0,c.P$)({values:o,breakpoints:t.breakpoints.values});i=(0,c.k9)({theme:t},l,(function(e){var n=t.spacing(e);return"0px"!==n?(0,a.Z)({marginTop:"-".concat(w(n))},"& > .".concat(y.item),{paddingTop:w(n)}):{}}))}return i}),(function(e){var t=e.theme,n=e.ownerState,r=n.container,o=n.columnSpacing,i={};if(r&&0!==o){var l=(0,c.P$)({values:o,breakpoints:t.breakpoints.values});i=(0,c.k9)({theme:t},l,(function(e){var n=t.spacing(e);return"0px"!==n?(0,a.Z)({width:"calc(100% + ".concat(w(n),")"),marginLeft:"-".concat(w(n))},"& > .".concat(y.item),{paddingLeft:w(n)}):{}}))}return i}),(function(e){var t,n=e.theme,r=e.ownerState;return n.breakpoints.keys.reduce((function(e,a){var o={};if(r[a]&&(t=r[a]),!t)return e;if(!0===t)o={flexBasis:0,flexGrow:1,maxWidth:"100%"};else if("auto"===t)o={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"};else{var l=(0,c.P$)({values:r.columns,breakpoints:n.breakpoints.values}),s="object"===typeof l?l[a]:l;if(void 0===s||null===s)return e;var u="".concat(Math.round(t/s*1e8)/1e6,"%"),d={};if(r.container&&r.item&&0!==r.columnSpacing){var f=n.spacing(r.columnSpacing);if("0px"!==f){var p="calc(".concat(u," + ").concat(w(f),")");d={flexBasis:p,maxWidth:p}}}o=(0,i.Z)({flexBasis:u,flexGrow:0,maxWidth:u},d)}return 0===n.breakpoints.values[a]?Object.assign(e,o):e[n.breakpoints.up(a)]=o,e}),{})})),E=l.forwardRef((function(e,t){var n,a=(0,p.Z)({props:e,name:"MuiGrid"}),c=(0,u.Z)(a),f=c.className,m=c.columns,g=c.columnSpacing,y=c.component,w=void 0===y?"div":y,E=c.container,S=void 0!==E&&E,j=c.direction,T=void 0===j?"row":j,A=c.item,C=void 0!==A&&A,k=c.lg,M=void 0!==k&&k,P=c.md,O=void 0!==P&&P,R=c.rowSpacing,N=c.sm,z=void 0!==N&&N,I=c.spacing,L=void 0===I?0:I,D=c.wrap,H=void 0===D?"wrap":D,B=c.xl,U=void 0!==B&&B,F=c.xs,V=void 0!==F&&F,G=c.zeroMinWidth,W=void 0!==G&&G,q=(0,o.Z)(c,b),K=R||L,$=g||L,Y=l.useContext(h),Q=m||Y||12,J=(0,i.Z)({},c,{columns:Q,container:S,direction:T,item:C,lg:M,md:O,sm:z,rowSpacing:K,columnSpacing:$,wrap:H,xl:U,xs:V,zeroMinWidth:W}),X=function(e){var t=e.classes,n=e.container,a=e.direction,o=e.item,i=e.lg,l=e.md,s=e.sm,c=e.spacing,u=e.wrap,f=e.xl,p=e.xs,h={root:["root",n&&"container",o&&"item",e.zeroMinWidth&&"zeroMinWidth"].concat((0,r.Z)(_(c,n)),["row"!==a&&"direction-xs-".concat(String(a)),"wrap"!==u&&"wrap-xs-".concat(String(u)),!1!==p&&"grid-xs-".concat(String(p)),!1!==s&&"grid-sm-".concat(String(s)),!1!==l&&"grid-md-".concat(String(l)),!1!==i&&"grid-lg-".concat(String(i)),!1!==f&&"grid-xl-".concat(String(f))])};return(0,d.Z)(h,v,t)}(J);return n=(0,x.jsx)(Z,(0,i.Z)({ownerState:J,className:(0,s.Z)(X.root,f),as:w,ref:t},q)),12!==Q?(0,x.jsx)(h.Provider,{value:Q,children:n}):n}))},2074:function(e,t,n){"use strict";var r=n(32793),a=n(1048),o=n(50390),i=n(25558),l=n(88669),s=n(40138),c=n(3299),u=n(62559),d=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"];function f(e){return"scale(".concat(e,", ").concat(Math.pow(e,2),")")}var p={entering:{opacity:1,transform:f(1)},entered:{opacity:1,transform:"none"}},h=o.forwardRef((function(e,t){var n=e.addEndListener,h=e.appear,m=void 0===h||h,v=e.children,g=e.easing,y=e.in,x=e.onEnter,b=e.onEntered,w=e.onEntering,_=e.onExit,Z=e.onExited,E=e.onExiting,S=e.style,j=e.timeout,T=void 0===j?"auto":j,A=e.TransitionComponent,C=void 0===A?i.ZP:A,k=(0,a.Z)(e,d),M=o.useRef(),P=o.useRef(),O=(0,l.Z)(),R=o.useRef(null),N=(0,c.Z)(v.ref,t),z=(0,c.Z)(R,N),I=function(e){return function(t){if(e){var n=R.current;void 0===t?e(n):e(n,t)}}},L=I(w),D=I((function(e,t){(0,s.n)(e);var n,r=(0,s.C)({style:S,timeout:T,easing:g},{mode:"enter"}),a=r.duration,o=r.delay,i=r.easing;"auto"===T?(n=O.transitions.getAutoHeightDuration(e.clientHeight),P.current=n):n=a,e.style.transition=[O.transitions.create("opacity",{duration:n,delay:o}),O.transitions.create("transform",{duration:.666*n,delay:o,easing:i})].join(","),x&&x(e,t)})),H=I(b),B=I(E),U=I((function(e){var t,n=(0,s.C)({style:S,timeout:T,easing:g},{mode:"exit"}),r=n.duration,a=n.delay,o=n.easing;"auto"===T?(t=O.transitions.getAutoHeightDuration(e.clientHeight),P.current=t):t=r,e.style.transition=[O.transitions.create("opacity",{duration:t,delay:a}),O.transitions.create("transform",{duration:.666*t,delay:a||.333*t,easing:o})].join(","),e.style.opacity="0",e.style.transform=f(.75),_&&_(e)})),F=I(Z);return o.useEffect((function(){return function(){clearTimeout(M.current)}}),[]),(0,u.jsx)(C,(0,r.Z)({appear:m,in:y,nodeRef:R,onEnter:D,onEntered:H,onEntering:L,onExit:U,onExited:F,onExiting:B,addEndListener:function(e){"auto"===T&&(M.current=setTimeout(e,P.current||0)),n&&n(R.current,e)},timeout:"auto"===T?null:T},k,{children:function(e,t){return o.cloneElement(v,(0,r.Z)({style:(0,r.Z)({opacity:0,transform:f(.75),visibility:"exited"!==e||y?void 0:"hidden"},p[e],S,v.props.style),ref:z},t))}}))}));h.muiSupportAuto=!0,t.Z=h},95467:function(e,t,n){"use strict";n.d(t,{Z:function(){return b}});var r=n(36222),a=n(1048),o=n(32793),i=n(50390),l=n(44977),s=n(50076),c=n(36128),u=n(8208),d=n(15573),f=n(86875),p=n(91442),h=n(10594);function m(e){return(0,h.Z)("MuiIconButton",e)}var v=(0,n(43349).Z)("MuiIconButton",["root","disabled","colorInherit","colorPrimary","colorSecondary","edgeStart","edgeEnd","sizeSmall","sizeMedium","sizeLarge"]),g=n(62559),y=["edge","children","className","color","disabled","disableFocusRipple","size"],x=(0,u.ZP)(f.Z,{name:"MuiIconButton",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,"default"!==n.color&&t["color".concat((0,p.Z)(n.color))],n.edge&&t["edge".concat((0,p.Z)(n.edge))],t["size".concat((0,p.Z)(n.size))]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({textAlign:"center",flex:"0 0 auto",fontSize:t.typography.pxToRem(24),padding:8,borderRadius:"50%",overflow:"visible",color:t.palette.action.active,transition:t.transitions.create("background-color",{duration:t.transitions.duration.shortest})},!n.disableRipple&&{"&:hover":{backgroundColor:(0,c.Fq)(t.palette.action.active,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"start"===n.edge&&{marginLeft:"small"===n.size?-3:-12},"end"===n.edge&&{marginRight:"small"===n.size?-3:-12})}),(function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({},"inherit"===n.color&&{color:"inherit"},"inherit"!==n.color&&"default"!==n.color&&(0,o.Z)({color:t.palette[n.color].main},!n.disableRipple&&{"&:hover":{backgroundColor:(0,c.Fq)(t.palette[n.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}}),"small"===n.size&&{padding:5,fontSize:t.typography.pxToRem(18)},"large"===n.size&&{padding:12,fontSize:t.typography.pxToRem(28)},(0,r.Z)({},"&.".concat(v.disabled),{backgroundColor:"transparent",color:t.palette.action.disabled}))})),b=i.forwardRef((function(e,t){var n=(0,d.Z)({props:e,name:"MuiIconButton"}),r=n.edge,i=void 0!==r&&r,c=n.children,u=n.className,f=n.color,h=void 0===f?"default":f,v=n.disabled,b=void 0!==v&&v,w=n.disableFocusRipple,_=void 0!==w&&w,Z=n.size,E=void 0===Z?"medium":Z,S=(0,a.Z)(n,y),j=(0,o.Z)({},n,{edge:i,color:h,disabled:b,disableFocusRipple:_,size:E}),T=function(e){var t=e.classes,n=e.disabled,r=e.color,a=e.edge,o=e.size,i={root:["root",n&&"disabled","default"!==r&&"color".concat((0,p.Z)(r)),a&&"edge".concat((0,p.Z)(a)),"size".concat((0,p.Z)(o))]};return(0,s.Z)(i,m,t)}(j);return(0,g.jsx)(x,(0,o.Z)({className:(0,l.Z)(T.root,u),centerRipple:!0,focusRipple:!_,disabled:b,ref:t,ownerState:j},S,{children:c}))}))},81378:function(e,t,n){"use strict";var r,a,o,i,l,s,c,u,d,f,p,h,m=n(17186),v=n(1048),g=n(32793),y=n(50390),x=n(44977),b=n(50076),w=n(19471),_=n(36128),Z=n(91442),E=n(88669),S=n(8208),j=n(15573),T=n(55179),A=n(62559),C=["className","color","value","valueBuffer","variant"],k=(0,w.F4)(c||(c=r||(r=(0,m.Z)(["\n 0% {\n left: -35%;\n right: 100%;\n }\n\n 60% {\n left: 100%;\n right: -90%;\n }\n\n 100% {\n left: 100%;\n right: -90%;\n }\n"])))),M=(0,w.F4)(u||(u=a||(a=(0,m.Z)(["\n 0% {\n left: -200%;\n right: 100%;\n }\n\n 60% {\n left: 107%;\n right: -8%;\n }\n\n 100% {\n left: 107%;\n right: -8%;\n }\n"])))),P=(0,w.F4)(d||(d=o||(o=(0,m.Z)(["\n 0% {\n opacity: 1;\n background-position: 0 -23px;\n }\n\n 60% {\n opacity: 0;\n background-position: 0 -23px;\n }\n\n 100% {\n opacity: 1;\n background-position: -200px -23px;\n }\n"])))),O=function(e,t){return"inherit"===t?"currentColor":"light"===e.palette.mode?(0,_.$n)(e.palette[t].main,.62):(0,_._j)(e.palette[t].main,.5)},R=(0,S.ZP)("span",{name:"MuiLinearProgress",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["color".concat((0,Z.Z)(n.color))],t[n.variant]]}})((function(e){var t=e.ownerState,n=e.theme;return(0,g.Z)({position:"relative",overflow:"hidden",display:"block",height:4,zIndex:0,"@media print":{colorAdjust:"exact"},backgroundColor:O(n,t.color)},"inherit"===t.color&&"buffer"!==t.variant&&{backgroundColor:"none","&::before":{content:'""',position:"absolute",left:0,top:0,right:0,bottom:0,backgroundColor:"currentColor",opacity:.3}},"buffer"===t.variant&&{backgroundColor:"transparent"},"query"===t.variant&&{transform:"rotate(180deg)"})})),N=(0,S.ZP)("span",{name:"MuiLinearProgress",slot:"Dashed",overridesResolver:function(e,t){var n=e.ownerState;return[t.dashed,t["dashedColor".concat((0,Z.Z)(n.color))]]}})((function(e){var t=e.ownerState,n=e.theme,r=O(n,t.color);return(0,g.Z)({position:"absolute",marginTop:0,height:"100%",width:"100%"},"inherit"===t.color&&{opacity:.3},{backgroundImage:"radial-gradient(".concat(r," 0%, ").concat(r," 16%, transparent 42%)"),backgroundSize:"10px 10px",backgroundPosition:"0 -23px"})}),(0,w.iv)(f||(f=i||(i=(0,m.Z)(["\n animation: "," 3s infinite linear;\n "]))),P)),z=(0,S.ZP)("span",{name:"MuiLinearProgress",slot:"Bar1",overridesResolver:function(e,t){var n=e.ownerState;return[t.bar,t["barColor".concat((0,Z.Z)(n.color))],("indeterminate"===n.variant||"query"===n.variant)&&t.bar1Indeterminate,"determinate"===n.variant&&t.bar1Determinate,"buffer"===n.variant&&t.bar1Buffer]}})((function(e){var t=e.ownerState,n=e.theme;return(0,g.Z)({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",backgroundColor:"inherit"===t.color?"currentColor":n.palette[t.color].main},"determinate"===t.variant&&{transition:"transform .".concat(4,"s linear")},"buffer"===t.variant&&{zIndex:1,transition:"transform .".concat(4,"s linear")})}),(function(e){var t=e.ownerState;return("indeterminate"===t.variant||"query"===t.variant)&&(0,w.iv)(p||(p=l||(l=(0,m.Z)(["\n width: auto;\n animation: "," 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;\n "]))),k)})),I=(0,S.ZP)("span",{name:"MuiLinearProgress",slot:"Bar2",overridesResolver:function(e,t){var n=e.ownerState;return[t.bar,t["barColor".concat((0,Z.Z)(n.color))],("indeterminate"===n.variant||"query"===n.variant)&&t.bar2Indeterminate,"buffer"===n.variant&&t.bar2Buffer]}})((function(e){var t=e.ownerState,n=e.theme;return(0,g.Z)({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left"},"buffer"!==t.variant&&{backgroundColor:"inherit"===t.color?"currentColor":n.palette[t.color].main},"inherit"===t.color&&{opacity:.3},"buffer"===t.variant&&{backgroundColor:O(n,t.color),transition:"transform .".concat(4,"s linear")})}),(function(e){var t=e.ownerState;return("indeterminate"===t.variant||"query"===t.variant)&&(0,w.iv)(h||(h=s||(s=(0,m.Z)(["\n width: auto;\n animation: "," 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;\n "]))),M)})),L=y.forwardRef((function(e,t){var n=(0,j.Z)({props:e,name:"MuiLinearProgress"}),r=n.className,a=n.color,o=void 0===a?"primary":a,i=n.value,l=n.valueBuffer,s=n.variant,c=void 0===s?"indeterminate":s,u=(0,v.Z)(n,C),d=(0,g.Z)({},n,{color:o,variant:c}),f=function(e){var t=e.classes,n=e.variant,r=e.color,a={root:["root","color".concat((0,Z.Z)(r)),n],dashed:["dashed","dashedColor".concat((0,Z.Z)(r))],bar1:["bar","barColor".concat((0,Z.Z)(r)),("indeterminate"===n||"query"===n)&&"bar1Indeterminate","determinate"===n&&"bar1Determinate","buffer"===n&&"bar1Buffer"],bar2:["bar","buffer"!==n&&"barColor".concat((0,Z.Z)(r)),"buffer"===n&&"color".concat((0,Z.Z)(r)),("indeterminate"===n||"query"===n)&&"bar2Indeterminate","buffer"===n&&"bar2Buffer"]};return(0,b.Z)(a,T.E,t)}(d),p=(0,E.Z)(),h={},m={bar1:{},bar2:{}};if("determinate"===c||"buffer"===c)if(void 0!==i){h["aria-valuenow"]=Math.round(i),h["aria-valuemin"]=0,h["aria-valuemax"]=100;var y=i-100;"rtl"===p.direction&&(y=-y),m.bar1.transform="translateX(".concat(y,"%)")}else 0;if("buffer"===c)if(void 0!==l){var w=(l||0)-100;"rtl"===p.direction&&(w=-w),m.bar2.transform="translateX(".concat(w,"%)")}else 0;return(0,A.jsxs)(R,(0,g.Z)({className:(0,x.Z)(f.root,r),ownerState:d,role:"progressbar"},h,{ref:t},u,{children:["buffer"===c?(0,A.jsx)(N,{className:f.dashed,ownerState:d}):null,(0,A.jsx)(z,{className:f.bar1,ownerState:d,style:m.bar1}),"determinate"===c?null:(0,A.jsx)(I,{className:f.bar2,ownerState:d,style:m.bar2})]}))}));t.Z=L},55179:function(e,t,n){"use strict";n.d(t,{E:function(){return a}});var r=n(10594);function a(e){return(0,r.Z)("MuiLinearProgress",e)}var o=(0,n(43349).Z)("MuiLinearProgress",["root","colorPrimary","colorSecondary","determinate","indeterminate","buffer","query","dashed","dashedColorPrimary","dashedColorSecondary","bar","barColorPrimary","barColorSecondary","bar1Indeterminate","bar1Determinate","bar1Buffer","bar2Indeterminate","bar2Buffer"]);t.Z=o},5211:function(e,t,n){"use strict";n.d(t,{Z:function(){return v}});var r=n(1048),a=n(32793),o=n(50390),i=n(44977),l=n(50076),s=n(8208),c=n(15573),u=n(57308),d=n(10594);function f(e){return(0,d.Z)("MuiList",e)}(0,n(43349).Z)("MuiList",["root","padding","dense","subheader"]);var p=n(62559),h=["children","className","component","dense","disablePadding","subheader"],m=(0,s.ZP)("ul",{name:"MuiList",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,!n.disablePadding&&t.padding,n.dense&&t.dense,n.subheader&&t.subheader]}})((function(e){var t=e.ownerState;return(0,a.Z)({listStyle:"none",margin:0,padding:0,position:"relative"},!t.disablePadding&&{paddingTop:8,paddingBottom:8},t.subheader&&{paddingTop:0})})),v=o.forwardRef((function(e,t){var n=(0,c.Z)({props:e,name:"MuiList"}),s=n.children,d=n.className,v=n.component,g=void 0===v?"ul":v,y=n.dense,x=void 0!==y&&y,b=n.disablePadding,w=void 0!==b&&b,_=n.subheader,Z=(0,r.Z)(n,h),E=o.useMemo((function(){return{dense:x}}),[x]),S=(0,a.Z)({},n,{component:g,dense:x,disablePadding:w}),j=function(e){var t=e.classes,n={root:["root",!e.disablePadding&&"padding",e.dense&&"dense",e.subheader&&"subheader"]};return(0,l.Z)(n,f,t)}(S);return(0,p.jsx)(u.Z.Provider,{value:E,children:(0,p.jsxs)(m,(0,a.Z)({as:g,className:(0,i.Z)(j.root,d),ref:t,ownerState:S},Z,{children:[_,s]}))})}))},57308:function(e,t,n){"use strict";var r=n(50390).createContext({});t.Z=r},14291:function(e,t,n){"use strict";n.d(t,{ZP:function(){return O}});var r=n(36222),a=n(1048),o=n(32793),i=n(50390),l=n(44977),s=n(50076),c=n(45193),u=n(36128),d=n(8208),f=n(15573),p=n(86875),h=n(43201),m=n(40839),v=n(3299),g=n(57308),y=n(10594),x=n(43349);function b(e){return(0,y.Z)("MuiListItem",e)}var w=(0,x.Z)("MuiListItem",["root","container","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","padding","button","secondaryAction","selected"]),_=n(43432);function Z(e){return(0,y.Z)("MuiListItemSecondaryAction",e)}(0,x.Z)("MuiListItemSecondaryAction",["root","disableGutters"]);var E=n(62559),S=["className"],j=(0,d.ZP)("div",{name:"MuiListItemSecondaryAction",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.disableGutters&&t.disableGutters]}})((function(e){var t=e.ownerState;return(0,o.Z)({position:"absolute",right:16,top:"50%",transform:"translateY(-50%)"},t.disableGutters&&{right:0})})),T=i.forwardRef((function(e,t){var n=(0,f.Z)({props:e,name:"MuiListItemSecondaryAction"}),r=n.className,c=(0,a.Z)(n,S),u=i.useContext(g.Z),d=(0,o.Z)({},n,{disableGutters:u.disableGutters}),p=function(e){var t=e.disableGutters,n=e.classes,r={root:["root",t&&"disableGutters"]};return(0,s.Z)(r,Z,n)}(d);return(0,E.jsx)(j,(0,o.Z)({className:(0,l.Z)(p.root,r),ownerState:d,ref:t},c))}));T.muiName="ListItemSecondaryAction";var A=T,C=["className"],k=["alignItems","autoFocus","button","children","className","component","components","componentsProps","ContainerComponent","ContainerProps","dense","disabled","disableGutters","disablePadding","divider","focusVisibleClassName","secondaryAction","selected"],M=(0,d.ZP)("div",{name:"MuiListItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,"flex-start"===n.alignItems&&t.alignItemsFlexStart,n.divider&&t.divider,!n.disableGutters&&t.gutters,!n.disablePadding&&t.padding,n.button&&t.button,n.hasSecondaryAction&&t.secondaryAction]}})((function(e){var t,n=e.theme,a=e.ownerState;return(0,o.Z)({display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",width:"100%",boxSizing:"border-box",textAlign:"left"},!a.disablePadding&&(0,o.Z)({paddingTop:8,paddingBottom:8},a.dense&&{paddingTop:4,paddingBottom:4},!a.disableGutters&&{paddingLeft:16,paddingRight:16},!!a.secondaryAction&&{paddingRight:48}),!!a.secondaryAction&&(0,r.Z)({},"& > .".concat(_.Z.root),{paddingRight:48}),(t={},(0,r.Z)(t,"&.".concat(w.focusVisible),{backgroundColor:n.palette.action.focus}),(0,r.Z)(t,"&.".concat(w.selected),(0,r.Z)({backgroundColor:(0,u.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(w.focusVisible),{backgroundColor:(0,u.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,r.Z)(t,"&.".concat(w.disabled),{opacity:n.palette.action.disabledOpacity}),t),"flex-start"===a.alignItems&&{alignItems:"flex-start"},a.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},a.button&&(0,r.Z)({transition:n.transitions.create("background-color",{duration:n.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(w.selected,":hover"),{backgroundColor:(0,u.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,u.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),a.hasSecondaryAction&&{paddingRight:48})})),P=(0,d.ZP)("li",{name:"MuiListItem",slot:"Container",overridesResolver:function(e,t){return t.container}})({position:"relative"}),O=i.forwardRef((function(e,t){var n=(0,f.Z)({props:e,name:"MuiListItem"}),r=n.alignItems,u=void 0===r?"center":r,d=n.autoFocus,y=void 0!==d&&d,x=n.button,_=void 0!==x&&x,Z=n.children,S=n.className,j=n.component,T=n.components,O=void 0===T?{}:T,R=n.componentsProps,N=void 0===R?{}:R,z=n.ContainerComponent,I=void 0===z?"li":z,L=n.ContainerProps,D=(L=void 0===L?{}:L).className,H=n.dense,B=void 0!==H&&H,U=n.disabled,F=void 0!==U&&U,V=n.disableGutters,G=void 0!==V&&V,W=n.disablePadding,q=void 0!==W&&W,K=n.divider,$=void 0!==K&&K,Y=n.focusVisibleClassName,Q=n.secondaryAction,J=n.selected,X=void 0!==J&&J,ee=(0,a.Z)(n.ContainerProps,C),te=(0,a.Z)(n,k),ne=i.useContext(g.Z),re={dense:B||ne.dense||!1,alignItems:u,disableGutters:G},ae=i.useRef(null);(0,m.Z)((function(){y&&ae.current&&ae.current.focus()}),[y]);var oe=i.Children.toArray(Z),ie=oe.length&&(0,h.Z)(oe[oe.length-1],["ListItemSecondaryAction"]),le=(0,o.Z)({},n,{alignItems:u,autoFocus:y,button:_,dense:re.dense,disabled:F,disableGutters:G,disablePadding:q,divider:$,hasSecondaryAction:ie,selected:X}),se=function(e){var t=e.alignItems,n=e.button,r=e.classes,a=e.dense,o=e.disabled,i={root:["root",a&&"dense",!e.disableGutters&&"gutters",!e.disablePadding&&"padding",e.divider&&"divider",o&&"disabled",n&&"button","flex-start"===t&&"alignItemsFlexStart",e.hasSecondaryAction&&"secondaryAction",e.selected&&"selected"],container:["container"]};return(0,s.Z)(i,b,r)}(le),ce=(0,v.Z)(ae,t),ue=O.Root||M,de=N.root||{},fe=(0,o.Z)({className:(0,l.Z)(se.root,de.className,S),disabled:F},te),pe=j||"li";return _&&(fe.component=j||"div",fe.focusVisibleClassName=(0,l.Z)(w.focusVisible,Y),pe=p.Z),ie?(pe=fe.component||j?pe:"div","li"===I&&("li"===pe?pe="div":"li"===fe.component&&(fe.component="div")),(0,E.jsx)(g.Z.Provider,{value:re,children:(0,E.jsxs)(P,(0,o.Z)({as:I,className:(0,l.Z)(se.container,D),ref:ce,ownerState:le},ee,{children:[(0,E.jsx)(ue,(0,o.Z)({},de,!(0,c.Z)(ue)&&{as:pe,ownerState:(0,o.Z)({},le,de.ownerState)},fe,{children:oe})),oe.pop()]}))})):(0,E.jsx)(g.Z.Provider,{value:re,children:(0,E.jsxs)(ue,(0,o.Z)({},de,{as:pe,ref:ce,ownerState:le},!(0,c.Z)(ue)&&{ownerState:(0,o.Z)({},le,de.ownerState)},fe,{children:[oe,Q&&(0,E.jsx)(A,{children:Q})]}))})}))},43432:function(e,t,n){"use strict";n.d(t,{t:function(){return a}});var r=n(10594);function a(e){return(0,r.Z)("MuiListItemButton",e)}var o=(0,n(43349).Z)("MuiListItemButton",["root","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","selected"]);t.Z=o},80498:function(e,t,n){"use strict";var r=n(1048),a=n(32793),o=n(50390),i=n(44977),l=n(50076),s=n(8208),c=n(15573),u=n(2198),d=n(57308),f=n(62559),p=["className"],h=(0,s.ZP)("div",{name:"MuiListItemIcon",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,"flex-start"===n.alignItems&&t.alignItemsFlexStart]}})((function(e){var t=e.theme,n=e.ownerState;return(0,a.Z)({minWidth:56,color:t.palette.action.active,flexShrink:0,display:"inline-flex"},"flex-start"===n.alignItems&&{marginTop:8})})),m=o.forwardRef((function(e,t){var n=(0,c.Z)({props:e,name:"MuiListItemIcon"}),s=n.className,m=(0,r.Z)(n,p),v=o.useContext(d.Z),g=(0,a.Z)({},n,{alignItems:v.alignItems}),y=function(e){var t=e.alignItems,n=e.classes,r={root:["root","flex-start"===t&&"alignItemsFlexStart"]};return(0,l.Z)(r,u.f,n)}(g);return(0,f.jsx)(h,(0,a.Z)({className:(0,i.Z)(y.root,s),ownerState:g,ref:t},m))}));t.Z=m},2198:function(e,t,n){"use strict";n.d(t,{f:function(){return a}});var r=n(10594);function a(e){return(0,r.Z)("MuiListItemIcon",e)}var o=(0,n(43349).Z)("MuiListItemIcon",["root","alignItemsFlexStart"]);t.Z=o},70902:function(e,t,n){"use strict";var r=n(36222),a=n(1048),o=n(32793),i=n(50390),l=n(44977),s=n(50076),c=n(35477),u=n(57308),d=n(15573),f=n(8208),p=n(23586),h=n(62559),m=["children","className","disableTypography","inset","primary","primaryTypographyProps","secondary","secondaryTypographyProps"],v=(0,f.ZP)("div",{name:"MuiListItemText",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[(0,r.Z)({},"& .".concat(p.Z.primary),t.primary),(0,r.Z)({},"& .".concat(p.Z.secondary),t.secondary),t.root,n.inset&&t.inset,n.primary&&n.secondary&&t.multiline,n.dense&&t.dense]}})((function(e){var t=e.ownerState;return(0,o.Z)({flex:"1 1 auto",minWidth:0,marginTop:4,marginBottom:4},t.primary&&t.secondary&&{marginTop:6,marginBottom:6},t.inset&&{paddingLeft:56})})),g=i.forwardRef((function(e,t){var n=(0,d.Z)({props:e,name:"MuiListItemText"}),r=n.children,f=n.className,g=n.disableTypography,y=void 0!==g&&g,x=n.inset,b=void 0!==x&&x,w=n.primary,_=n.primaryTypographyProps,Z=n.secondary,E=n.secondaryTypographyProps,S=(0,a.Z)(n,m),j=i.useContext(u.Z).dense,T=null!=w?w:r,A=Z,C=(0,o.Z)({},n,{disableTypography:y,inset:b,primary:!!T,secondary:!!A,dense:j}),k=function(e){var t=e.classes,n=e.inset,r=e.primary,a=e.secondary,o={root:["root",n&&"inset",e.dense&&"dense",r&&a&&"multiline"],primary:["primary"],secondary:["secondary"]};return(0,s.Z)(o,p.L,t)}(C);return null==T||T.type===c.Z||y||(T=(0,h.jsx)(c.Z,(0,o.Z)({variant:j?"body2":"body1",className:k.primary,component:"span",display:"block"},_,{children:T}))),null==A||A.type===c.Z||y||(A=(0,h.jsx)(c.Z,(0,o.Z)({variant:"body2",className:k.secondary,color:"text.secondary",display:"block"},E,{children:A}))),(0,h.jsxs)(v,(0,o.Z)({className:(0,l.Z)(k.root,f),ownerState:C,ref:t},S,{children:[T,A]}))}));t.Z=g},23586:function(e,t,n){"use strict";n.d(t,{L:function(){return a}});var r=n(10594);function a(e){return(0,r.Z)("MuiListItemText",e)}var o=(0,n(43349).Z)("MuiListItemText",["root","multiline","dense","inset","primary","secondary"]);t.Z=o},57757:function(e,t,n){"use strict";n.d(t,{Z:function(){return U}});var r=n(23430),a=n(1048),o=n(32793),i=n(50390),l=n(45193),s=n(38331),c=n(23960),u=n(44977),d=n(15851),f=n(78241),p=n(84449),h=n(68888),m=n(50076),v=n(15118),g=n(27853),y=n(84531),x=n(35531),b=n(52064),w=n(20630);function _(e,t){t?e.setAttribute("aria-hidden","true"):e.removeAttribute("aria-hidden")}function Z(e){return parseInt((0,b.Z)(e).getComputedStyle(e).paddingRight,10)||0}function E(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],a=arguments.length>4?arguments[4]:void 0,o=[t,n].concat((0,x.Z)(r)),i=["TEMPLATE","SCRIPT","STYLE"];[].forEach.call(e.children,(function(e){-1===o.indexOf(e)&&-1===i.indexOf(e.tagName)&&_(e,a)}))}function S(e,t){var n=-1;return e.some((function(e,r){return!!t(e)&&(n=r,!0)})),n}function j(e,t){var n=[],r=e.container;if(!t.disableScrollLock){if(function(e){var t=(0,f.Z)(e);return t.body===e?(0,b.Z)(e).innerWidth>t.documentElement.clientWidth:e.scrollHeight>e.clientHeight}(r)){var a=(0,w.Z)((0,f.Z)(r));n.push({value:r.style.paddingRight,property:"padding-right",el:r}),r.style.paddingRight="".concat(Z(r)+a,"px");var o=(0,f.Z)(r).querySelectorAll(".mui-fixed");[].forEach.call(o,(function(e){n.push({value:e.style.paddingRight,property:"padding-right",el:e}),e.style.paddingRight="".concat(Z(e)+a,"px")}))}var i=r.parentElement,l=(0,b.Z)(r),s="HTML"===(null==i?void 0:i.nodeName)&&"scroll"===l.getComputedStyle(i).overflowY?i:r;n.push({value:s.style.overflow,property:"overflow",el:s},{value:s.style.overflowX,property:"overflow-x",el:s},{value:s.style.overflowY,property:"overflow-y",el:s}),s.style.overflow="hidden"}return function(){n.forEach((function(e){var t=e.value,n=e.el,r=e.property;t?n.style.setProperty(r,t):n.style.removeProperty(r)}))}}var T=function(){function e(){(0,g.Z)(this,e),this.containers=void 0,this.modals=void 0,this.modals=[],this.containers=[]}return(0,y.Z)(e,[{key:"add",value:function(e,t){var n=this.modals.indexOf(e);if(-1!==n)return n;n=this.modals.length,this.modals.push(e),e.modalRef&&_(e.modalRef,!1);var r=function(e){var t=[];return[].forEach.call(e.children,(function(e){"true"===e.getAttribute("aria-hidden")&&t.push(e)})),t}(t);E(t,e.mount,e.modalRef,r,!0);var a=S(this.containers,(function(e){return e.container===t}));return-1!==a?(this.containers[a].modals.push(e),n):(this.containers.push({modals:[e],container:t,restore:null,hiddenSiblings:r}),n)}},{key:"mount",value:function(e,t){var n=S(this.containers,(function(t){return-1!==t.modals.indexOf(e)})),r=this.containers[n];r.restore||(r.restore=j(r,t))}},{key:"remove",value:function(e){var t=this.modals.indexOf(e);if(-1===t)return t;var n=S(this.containers,(function(t){return-1!==t.modals.indexOf(e)})),r=this.containers[n];if(r.modals.splice(r.modals.indexOf(e),1),this.modals.splice(t,1),0===r.modals.length)r.restore&&r.restore(),e.modalRef&&_(e.modalRef,!0),E(r.container,e.mount,e.modalRef,r.hiddenSiblings,!1),this.containers.splice(n,1);else{var a=r.modals[r.modals.length-1];a.modalRef&&_(a.modalRef,!1)}return t}},{key:"isTopModal",value:function(e){return this.modals.length>0&&this.modals[this.modals.length-1]===e}}]),e}(),A=n(20250),C=n(43349),k=n(10594);function M(e){return(0,k.Z)("MuiModal",e)}(0,C.Z)("MuiModal",["root","hidden"]);var P=n(62559),O=["BackdropComponent","BackdropProps","children","classes","className","closeAfterTransition","component","components","componentsProps","container","disableAutoFocus","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted","manager","onBackdropClick","onClose","onKeyDown","open","theme","onTransitionEnter","onTransitionExited"];var R=new T,N=i.forwardRef((function(e,t){var n=e.BackdropComponent,a=e.BackdropProps,o=e.children,g=e.classes,y=e.className,x=e.closeAfterTransition,b=void 0!==x&&x,w=e.component,Z=void 0===w?"div":w,E=e.components,S=void 0===E?{}:E,j=e.componentsProps,T=void 0===j?{}:j,C=e.container,k=e.disableAutoFocus,N=void 0!==k&&k,z=e.disableEnforceFocus,I=void 0!==z&&z,L=e.disableEscapeKeyDown,D=void 0!==L&&L,H=e.disablePortal,B=void 0!==H&&H,U=e.disableRestoreFocus,F=void 0!==U&&U,V=e.disableScrollLock,G=void 0!==V&&V,W=e.hideBackdrop,q=void 0!==W&&W,K=e.keepMounted,$=void 0!==K&&K,Y=e.manager,Q=void 0===Y?R:Y,J=e.onBackdropClick,X=e.onClose,ee=e.onKeyDown,te=e.open,ne=e.theme,re=e.onTransitionEnter,ae=e.onTransitionExited,oe=(0,c.Z)(e,O),ie=i.useState(!0),le=(0,r.Z)(ie,2),se=le[0],ce=le[1],ue=i.useRef({}),de=i.useRef(null),fe=i.useRef(null),pe=(0,d.Z)(fe,t),he=function(e){return!!e.children&&e.children.props.hasOwnProperty("in")}(e),me=function(){return ue.current.modalRef=fe.current,ue.current.mountNode=de.current,ue.current},ve=function(){Q.mount(me(),{disableScrollLock:G}),fe.current.scrollTop=0},ge=(0,p.Z)((function(){var e=function(e){return"function"===typeof e?e():e}(C)||(0,f.Z)(de.current).body;Q.add(me(),e),fe.current&&ve()})),ye=i.useCallback((function(){return Q.isTopModal(me())}),[Q]),xe=(0,p.Z)((function(e){de.current=e,e&&(te&&ye()?ve():_(fe.current,!0))})),be=i.useCallback((function(){Q.remove(me())}),[Q]);i.useEffect((function(){return function(){be()}}),[be]),i.useEffect((function(){te?ge():he&&b||be()}),[te,be,he,b,ge]);var we=(0,s.Z)({},e,{classes:g,closeAfterTransition:b,disableAutoFocus:N,disableEnforceFocus:I,disableEscapeKeyDown:D,disablePortal:B,disableRestoreFocus:F,disableScrollLock:G,exited:se,hideBackdrop:q,keepMounted:$}),_e=function(e){var t=e.open,n=e.exited,r=e.classes,a={root:["root",!t&&n&&"hidden"]};return(0,m.Z)(a,M,r)}(we);if(!$&&!te&&(!he||se))return null;var Ze={};void 0===o.props.tabIndex&&(Ze.tabIndex="-1"),he&&(Ze.onEnter=(0,h.Z)((function(){ce(!1),re&&re()}),o.props.onEnter),Ze.onExited=(0,h.Z)((function(){ce(!0),ae&&ae(),b&&be()}),o.props.onExited));var Ee=S.Root||Z,Se=T.root||{};return(0,P.jsx)(v.Z,{ref:xe,container:C,disablePortal:B,children:(0,P.jsxs)(Ee,(0,s.Z)({role:"presentation"},Se,!(0,l.Z)(Ee)&&{as:Z,ownerState:(0,s.Z)({},we,Se.ownerState),theme:ne},oe,{ref:pe,onKeyDown:function(e){ee&&ee(e),"Escape"===e.key&&ye()&&(D||(e.stopPropagation(),X&&X(e,"escapeKeyDown")))},className:(0,u.Z)(_e.root,Se.className,y),children:[!q&&n?(0,P.jsx)(n,(0,s.Z)({open:te,onClick:function(e){e.target===e.currentTarget&&(J&&J(e),X&&X(e,"backdropClick"))}},a)):null,(0,P.jsx)(A.Z,{disableEnforceFocus:I,disableAutoFocus:N,disableRestoreFocus:F,isEnabled:ye,open:te,children:i.cloneElement(o,Ze)})]}))})})),z=n(8208),I=n(15573),L=n(96699),D=["BackdropComponent","closeAfterTransition","children","components","componentsProps","disableAutoFocus","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted"],H=(0,z.ZP)("div",{name:"MuiModal",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,!n.open&&n.exited&&t.hidden]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({position:"fixed",zIndex:t.zIndex.modal,right:0,bottom:0,top:0,left:0},!n.open&&n.exited&&{visibility:"hidden"})})),B=(0,z.ZP)(L.Z,{name:"MuiModal",slot:"Backdrop",overridesResolver:function(e,t){return t.backdrop}})({zIndex:-1}),U=i.forwardRef((function(e,t){var n,s=(0,I.Z)({name:"MuiModal",props:e}),c=s.BackdropComponent,u=void 0===c?B:c,d=s.closeAfterTransition,f=void 0!==d&&d,p=s.children,h=s.components,m=void 0===h?{}:h,v=s.componentsProps,g=void 0===v?{}:v,y=s.disableAutoFocus,x=void 0!==y&&y,b=s.disableEnforceFocus,w=void 0!==b&&b,_=s.disableEscapeKeyDown,Z=void 0!==_&&_,E=s.disablePortal,S=void 0!==E&&E,j=s.disableRestoreFocus,T=void 0!==j&&j,A=s.disableScrollLock,C=void 0!==A&&A,k=s.hideBackdrop,M=void 0!==k&&k,O=s.keepMounted,R=void 0!==O&&O,z=(0,a.Z)(s,D),L=i.useState(!0),U=(0,r.Z)(L,2),F=U[0],V=U[1],G={closeAfterTransition:f,disableAutoFocus:x,disableEnforceFocus:w,disableEscapeKeyDown:Z,disablePortal:S,disableRestoreFocus:T,disableScrollLock:C,hideBackdrop:M,keepMounted:R},W=function(e){return e.classes}((0,o.Z)({},s,G,{exited:F}));return(0,P.jsx)(N,(0,o.Z)({components:(0,o.Z)({Root:H},m),componentsProps:{root:(0,o.Z)({},g.root,(!m.Root||!(0,l.Z)(m.Root))&&{ownerState:(0,o.Z)({},null==(n=g.root)?void 0:n.ownerState)})},BackdropComponent:u,onTransitionEnter:function(){return V(!1)},onTransitionExited:function(){return V(!0)},ref:t},z,{classes:W},G,{children:p}))}))},46981:function(e,t,n){"use strict";n.d(t,{Z:function(){return g}});var r=n(1048),a=n(32793),o=n(50390),i=n(44977),l=n(50076),s=n(36128),c=n(8208),u=n(15573),d=n(10594);function f(e){return(0,d.Z)("MuiPaper",e)}(0,n(43349).Z)("MuiPaper",["root","rounded","outlined","elevation","elevation0","elevation1","elevation2","elevation3","elevation4","elevation5","elevation6","elevation7","elevation8","elevation9","elevation10","elevation11","elevation12","elevation13","elevation14","elevation15","elevation16","elevation17","elevation18","elevation19","elevation20","elevation21","elevation22","elevation23","elevation24"]);var p=n(62559),h=["className","component","elevation","square","variant"],m=function(e){return((e<1?5.11916*Math.pow(e,2):4.5*Math.log(e+1)+2)/100).toFixed(2)},v=(0,c.ZP)("div",{name:"MuiPaper",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t[n.variant],!n.square&&t.rounded,"elevation"===n.variant&&t["elevation".concat(n.elevation)]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,a.Z)({backgroundColor:t.palette.background.paper,color:t.palette.text.primary,transition:t.transitions.create("box-shadow")},!n.square&&{borderRadius:t.shape.borderRadius},"outlined"===n.variant&&{border:"1px solid ".concat(t.palette.divider)},"elevation"===n.variant&&(0,a.Z)({boxShadow:t.shadows[n.elevation]},"dark"===t.palette.mode&&{backgroundImage:"linear-gradient(".concat((0,s.Fq)("#fff",m(n.elevation)),", ").concat((0,s.Fq)("#fff",m(n.elevation)),")")}))})),g=o.forwardRef((function(e,t){var n=(0,u.Z)({props:e,name:"MuiPaper"}),o=n.className,s=n.component,c=void 0===s?"div":s,d=n.elevation,m=void 0===d?1:d,g=n.square,y=void 0!==g&&g,x=n.variant,b=void 0===x?"elevation":x,w=(0,r.Z)(n,h),_=(0,a.Z)({},n,{component:c,elevation:m,square:y,variant:b}),Z=function(e){var t=e.square,n=e.elevation,r=e.variant,a=e.classes,o={root:["root",r,!t&&"rounded","elevation"===r&&"elevation".concat(n)]};return(0,l.Z)(o,f,a)}(_);return(0,p.jsx)(v,(0,a.Z)({as:c,ownerState:_,className:(0,i.Z)(Z.root,o),ref:t},w))}))},67361:function(e,t,n){"use strict";n.d(t,{Z:function(){return Me}});var r=n(32793),a=n(50390),o=n(23430),i=n(38331),l=n(23960),s=n(15851),c=n(62752),u=n(78241);function d(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function f(e){return e instanceof d(e).Element||e instanceof Element}function p(e){return e instanceof d(e).HTMLElement||e instanceof HTMLElement}function h(e){return"undefined"!==typeof ShadowRoot&&(e instanceof d(e).ShadowRoot||e instanceof ShadowRoot)}var m=Math.max,v=Math.min,g=Math.round;function y(e,t){void 0===t&&(t=!1);var n=e.getBoundingClientRect(),r=1,a=1;if(p(e)&&t){var o=e.offsetHeight,i=e.offsetWidth;i>0&&(r=g(n.width)/i||1),o>0&&(a=g(n.height)/o||1)}return{width:n.width/r,height:n.height/a,top:n.top/a,right:n.right/r,bottom:n.bottom/a,left:n.left/r,x:n.left/r,y:n.top/a}}function x(e){var t=d(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function b(e){return e?(e.nodeName||"").toLowerCase():null}function w(e){return((f(e)?e.ownerDocument:e.document)||window.document).documentElement}function _(e){return y(w(e)).left+x(e).scrollLeft}function Z(e){return d(e).getComputedStyle(e)}function E(e){var t=Z(e),n=t.overflow,r=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+a+r)}function S(e,t,n){void 0===n&&(n=!1);var r=p(t),a=p(t)&&function(e){var t=e.getBoundingClientRect(),n=g(t.width)/e.offsetWidth||1,r=g(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(t),o=w(t),i=y(e,a),l={scrollLeft:0,scrollTop:0},s={x:0,y:0};return(r||!r&&!n)&&(("body"!==b(t)||E(o))&&(l=function(e){return e!==d(e)&&p(e)?{scrollLeft:(t=e).scrollLeft,scrollTop:t.scrollTop}:x(e);var t}(t)),p(t)?((s=y(t,!0)).x+=t.clientLeft,s.y+=t.clientTop):o&&(s.x=_(o))),{x:i.left+l.scrollLeft-s.x,y:i.top+l.scrollTop-s.y,width:i.width,height:i.height}}function j(e){var t=y(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function T(e){return"html"===b(e)?e:e.assignedSlot||e.parentNode||(h(e)?e.host:null)||w(e)}function A(e){return["html","body","#document"].indexOf(b(e))>=0?e.ownerDocument.body:p(e)&&E(e)?e:A(T(e))}function C(e,t){var n;void 0===t&&(t=[]);var r=A(e),a=r===(null==(n=e.ownerDocument)?void 0:n.body),o=d(r),i=a?[o].concat(o.visualViewport||[],E(r)?r:[]):r,l=t.concat(i);return a?l:l.concat(C(T(i)))}function k(e){return["table","td","th"].indexOf(b(e))>=0}function M(e){return p(e)&&"fixed"!==Z(e).position?e.offsetParent:null}function P(e){for(var t=d(e),n=M(e);n&&k(n)&&"static"===Z(n).position;)n=M(n);return n&&("html"===b(n)||"body"===b(n)&&"static"===Z(n).position)?t:n||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&p(e)&&"fixed"===Z(e).position)return null;for(var n=T(e);p(n)&&["html","body"].indexOf(b(n))<0;){var r=Z(n);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||t&&"filter"===r.willChange||t&&r.filter&&"none"!==r.filter)return n;n=n.parentNode}return null}(e)||t}var O="top",R="bottom",N="right",z="left",I="auto",L=[O,R,N,z],D="start",H="end",B="viewport",U="popper",F=L.reduce((function(e,t){return e.concat([t+"-"+D,t+"-"+H])}),[]),V=[].concat(L,[I]).reduce((function(e,t){return e.concat([t,t+"-"+D,t+"-"+H])}),[]),G=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function W(e){var t=new Map,n=new Set,r=[];function a(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&a(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||a(e)})),r}function q(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=void 0,n(e())}))}))),t}}var K={placement:"bottom",modifiers:[],strategy:"absolute"};function $(){for(var e=arguments.length,t=new Array(e),n=0;n=0?"x":"y"}function te(e){var t,n=e.reference,r=e.element,a=e.placement,o=a?J(a):null,i=a?X(a):null,l=n.x+n.width/2-r.width/2,s=n.y+n.height/2-r.height/2;switch(o){case O:t={x:l,y:n.y-r.height};break;case R:t={x:l,y:n.y+n.height};break;case N:t={x:n.x+n.width,y:s};break;case z:t={x:n.x-r.width,y:s};break;default:t={x:n.x,y:n.y}}var c=o?ee(o):null;if(null!=c){var u="y"===c?"height":"width";switch(i){case D:t[c]=t[c]-(n[u]/2-r[u]/2);break;case H:t[c]=t[c]+(n[u]/2-r[u]/2)}}return t}var ne={top:"auto",right:"auto",bottom:"auto",left:"auto"};function re(e){var t,n=e.popper,r=e.popperRect,a=e.placement,o=e.variation,i=e.offsets,l=e.position,s=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,f=e.isFixed,p=i.x,h=void 0===p?0:p,m=i.y,v=void 0===m?0:m,y="function"===typeof u?u({x:h,y:v}):{x:h,y:v};h=y.x,v=y.y;var x=i.hasOwnProperty("x"),b=i.hasOwnProperty("y"),_=z,E=O,S=window;if(c){var j=P(n),T="clientHeight",A="clientWidth";if(j===d(n)&&"static"!==Z(j=w(n)).position&&"absolute"===l&&(T="scrollHeight",A="scrollWidth"),j=j,a===O||(a===z||a===N)&&o===H)E=R,v-=(f&&S.visualViewport?S.visualViewport.height:j[T])-r.height,v*=s?1:-1;if(a===z||(a===O||a===R)&&o===H)_=N,h-=(f&&S.visualViewport?S.visualViewport.width:j[A])-r.width,h*=s?1:-1}var C,k=Object.assign({position:l},c&&ne),M=!0===u?function(e){var t=e.x,n=e.y,r=window.devicePixelRatio||1;return{x:g(t*r)/r||0,y:g(n*r)/r||0}}({x:h,y:v}):{x:h,y:v};return h=M.x,v=M.y,s?Object.assign({},k,((C={})[E]=b?"0":"",C[_]=x?"0":"",C.transform=(S.devicePixelRatio||1)<=1?"translate("+h+"px, "+v+"px)":"translate3d("+h+"px, "+v+"px, 0)",C)):Object.assign({},k,((t={})[E]=b?v+"px":"",t[_]=x?h+"px":"",t.transform="",t))}var ae={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,r=e.name,a=n.offset,o=void 0===a?[0,0]:a,i=V.reduce((function(e,n){return e[n]=function(e,t,n){var r=J(e),a=[z,O].indexOf(r)>=0?-1:1,o="function"===typeof n?n(Object.assign({},t,{placement:e})):n,i=o[0],l=o[1];return i=i||0,l=(l||0)*a,[z,N].indexOf(r)>=0?{x:l,y:i}:{x:i,y:l}}(n,t.rects,o),e}),{}),l=i[t.placement],s=l.x,c=l.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=s,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=i}},oe={left:"right",right:"left",bottom:"top",top:"bottom"};function ie(e){return e.replace(/left|right|bottom|top/g,(function(e){return oe[e]}))}var le={start:"end",end:"start"};function se(e){return e.replace(/start|end/g,(function(e){return le[e]}))}function ce(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&h(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function ue(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function de(e,t){return t===B?ue(function(e){var t=d(e),n=w(e),r=t.visualViewport,a=n.clientWidth,o=n.clientHeight,i=0,l=0;return r&&(a=r.width,o=r.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(i=r.offsetLeft,l=r.offsetTop)),{width:a,height:o,x:i+_(e),y:l}}(e)):f(t)?function(e){var t=y(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):ue(function(e){var t,n=w(e),r=x(e),a=null==(t=e.ownerDocument)?void 0:t.body,o=m(n.scrollWidth,n.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0),i=m(n.scrollHeight,n.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0),l=-r.scrollLeft+_(e),s=-r.scrollTop;return"rtl"===Z(a||n).direction&&(l+=m(n.clientWidth,a?a.clientWidth:0)-o),{width:o,height:i,x:l,y:s}}(w(e)))}function fe(e,t,n){var r="clippingParents"===t?function(e){var t=C(T(e)),n=["absolute","fixed"].indexOf(Z(e).position)>=0&&p(e)?P(e):e;return f(n)?t.filter((function(e){return f(e)&&ce(e,n)&&"body"!==b(e)})):[]}(e):[].concat(t),a=[].concat(r,[n]),o=a[0],i=a.reduce((function(t,n){var r=de(e,n);return t.top=m(r.top,t.top),t.right=v(r.right,t.right),t.bottom=v(r.bottom,t.bottom),t.left=m(r.left,t.left),t}),de(e,o));return i.width=i.right-i.left,i.height=i.bottom-i.top,i.x=i.left,i.y=i.top,i}function pe(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function he(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function me(e,t){void 0===t&&(t={});var n=t,r=n.placement,a=void 0===r?e.placement:r,o=n.boundary,i=void 0===o?"clippingParents":o,l=n.rootBoundary,s=void 0===l?B:l,c=n.elementContext,u=void 0===c?U:c,d=n.altBoundary,p=void 0!==d&&d,h=n.padding,m=void 0===h?0:h,v=pe("number"!==typeof m?m:he(m,L)),g=u===U?"reference":U,x=e.rects.popper,b=e.elements[p?g:u],_=fe(f(b)?b:b.contextElement||w(e.elements.popper),i,s),Z=y(e.elements.reference),E=te({reference:Z,element:x,strategy:"absolute",placement:a}),S=ue(Object.assign({},x,E)),j=u===U?S:Z,T={top:_.top-j.top+v.top,bottom:j.bottom-_.bottom+v.bottom,left:_.left-j.left+v.left,right:j.right-_.right+v.right},A=e.modifiersData.offset;if(u===U&&A){var C=A[a];Object.keys(T).forEach((function(e){var t=[N,R].indexOf(e)>=0?1:-1,n=[O,R].indexOf(e)>=0?"y":"x";T[e]+=C[n]*t}))}return T}function ve(e,t,n){return m(e,v(t,n))}var ge={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,a=n.mainAxis,o=void 0===a||a,i=n.altAxis,l=void 0!==i&&i,s=n.boundary,c=n.rootBoundary,u=n.altBoundary,d=n.padding,f=n.tether,p=void 0===f||f,h=n.tetherOffset,g=void 0===h?0:h,y=me(t,{boundary:s,rootBoundary:c,padding:d,altBoundary:u}),x=J(t.placement),b=X(t.placement),w=!b,_=ee(x),Z="x"===_?"y":"x",E=t.modifiersData.popperOffsets,S=t.rects.reference,T=t.rects.popper,A="function"===typeof g?g(Object.assign({},t.rects,{placement:t.placement})):g,C="number"===typeof A?{mainAxis:A,altAxis:A}:Object.assign({mainAxis:0,altAxis:0},A),k=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,M={x:0,y:0};if(E){if(o){var I,L="y"===_?O:z,H="y"===_?R:N,B="y"===_?"height":"width",U=E[_],F=U+y[L],V=U-y[H],G=p?-T[B]/2:0,W=b===D?S[B]:T[B],q=b===D?-T[B]:-S[B],K=t.elements.arrow,$=p&&K?j(K):{width:0,height:0},Y=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Q=Y[L],te=Y[H],ne=ve(0,S[B],$[B]),re=w?S[B]/2-G-ne-Q-C.mainAxis:W-ne-Q-C.mainAxis,ae=w?-S[B]/2+G+ne+te+C.mainAxis:q+ne+te+C.mainAxis,oe=t.elements.arrow&&P(t.elements.arrow),ie=oe?"y"===_?oe.clientTop||0:oe.clientLeft||0:0,le=null!=(I=null==k?void 0:k[_])?I:0,se=U+ae-le,ce=ve(p?v(F,U+re-le-ie):F,U,p?m(V,se):V);E[_]=ce,M[_]=ce-U}if(l){var ue,de="x"===_?O:z,fe="x"===_?R:N,pe=E[Z],he="y"===Z?"height":"width",ge=pe+y[de],ye=pe-y[fe],xe=-1!==[O,z].indexOf(x),be=null!=(ue=null==k?void 0:k[Z])?ue:0,we=xe?ge:pe-S[he]-T[he]-be+C.altAxis,_e=xe?pe+S[he]+T[he]-be-C.altAxis:ye,Ze=p&&xe?function(e,t,n){var r=ve(e,t,n);return r>n?n:r}(we,pe,_e):ve(p?we:ge,pe,p?_e:ye);E[Z]=Ze,M[Z]=Ze-pe}t.modifiersData[r]=M}},requiresIfExists:["offset"]};var ye={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,a=e.options,o=n.elements.arrow,i=n.modifiersData.popperOffsets,l=J(n.placement),s=ee(l),c=[z,N].indexOf(l)>=0?"height":"width";if(o&&i){var u=function(e,t){return pe("number"!==typeof(e="function"===typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:he(e,L))}(a.padding,n),d=j(o),f="y"===s?O:z,p="y"===s?R:N,h=n.rects.reference[c]+n.rects.reference[s]-i[s]-n.rects.popper[c],m=i[s]-n.rects.reference[s],v=P(o),g=v?"y"===s?v.clientHeight||0:v.clientWidth||0:0,y=h/2-m/2,x=u[f],b=g-d[c]-u[p],w=g/2-d[c]/2+y,_=ve(x,w,b),Z=s;n.modifiersData[r]=((t={})[Z]=_,t.centerOffset=_-w,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!==typeof r||(r=t.elements.popper.querySelector(r)))&&ce(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function xe(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function be(e){return[O,N,R,z].some((function(t){return e[t]>=0}))}var we=Y({defaultModifiers:[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,r=e.options,a=r.scroll,o=void 0===a||a,i=r.resize,l=void 0===i||i,s=d(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach((function(e){e.addEventListener("scroll",n.update,Q)})),l&&s.addEventListener("resize",n.update,Q),function(){o&&c.forEach((function(e){e.removeEventListener("scroll",n.update,Q)})),l&&s.removeEventListener("resize",n.update,Q)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=te({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,r=n.gpuAcceleration,a=void 0===r||r,o=n.adaptive,i=void 0===o||o,l=n.roundOffsets,s=void 0===l||l,c={placement:J(t.placement),variation:X(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:a,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,re(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:i,roundOffsets:s})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,re(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:s})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},a=t.elements[e];p(a)&&b(a)&&(Object.assign(a.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?a.removeAttribute(e):a.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],a=t.attributes[e]||{},o=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});p(r)&&b(r)&&(Object.assign(r.style,o),Object.keys(a).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]},ae,{name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var a=n.mainAxis,o=void 0===a||a,i=n.altAxis,l=void 0===i||i,s=n.fallbackPlacements,c=n.padding,u=n.boundary,d=n.rootBoundary,f=n.altBoundary,p=n.flipVariations,h=void 0===p||p,m=n.allowedAutoPlacements,v=t.options.placement,g=J(v),y=s||(g===v||!h?[ie(v)]:function(e){if(J(e)===I)return[];var t=ie(e);return[se(e),t,se(t)]}(v)),x=[v].concat(y).reduce((function(e,n){return e.concat(J(n)===I?function(e,t){void 0===t&&(t={});var n=t,r=n.placement,a=n.boundary,o=n.rootBoundary,i=n.padding,l=n.flipVariations,s=n.allowedAutoPlacements,c=void 0===s?V:s,u=X(r),d=u?l?F:F.filter((function(e){return X(e)===u})):L,f=d.filter((function(e){return c.indexOf(e)>=0}));0===f.length&&(f=d);var p=f.reduce((function(t,n){return t[n]=me(e,{placement:n,boundary:a,rootBoundary:o,padding:i})[J(n)],t}),{});return Object.keys(p).sort((function(e,t){return p[e]-p[t]}))}(t,{placement:n,boundary:u,rootBoundary:d,padding:c,flipVariations:h,allowedAutoPlacements:m}):n)}),[]),b=t.rects.reference,w=t.rects.popper,_=new Map,Z=!0,E=x[0],S=0;S=0,k=C?"width":"height",M=me(t,{placement:j,boundary:u,rootBoundary:d,altBoundary:f,padding:c}),P=C?A?N:z:A?R:O;b[k]>w[k]&&(P=ie(P));var H=ie(P),B=[];if(o&&B.push(M[T]<=0),l&&B.push(M[P]<=0,M[H]<=0),B.every((function(e){return e}))){E=j,Z=!1;break}_.set(j,B)}if(Z)for(var U=function(e){var t=x.find((function(t){var n=_.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return E=t,"break"},G=h?3:1;G>0;G--){if("break"===U(G))break}t.placement!==E&&(t.modifiersData[r]._skip=!0,t.placement=E,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},ge,ye,{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,a=t.rects.popper,o=t.modifiersData.preventOverflow,i=me(t,{elementContext:"reference"}),l=me(t,{altBoundary:!0}),s=xe(i,r),c=xe(l,a,o),u=be(s),d=be(c);t.modifiersData[n]={referenceClippingOffsets:s,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":d})}}]}),_e=n(15118),Ze=n(62559),Ee=["anchorEl","children","direction","disablePortal","modifiers","open","ownerState","placement","popperOptions","popperRef","TransitionProps"],Se=["anchorEl","children","container","direction","disablePortal","keepMounted","modifiers","open","placement","popperOptions","popperRef","style","transition"];function je(e){return"function"===typeof e?e():e}var Te={},Ae=a.forwardRef((function(e,t){var n=e.anchorEl,r=e.children,u=e.direction,d=e.disablePortal,f=e.modifiers,p=e.open,h=e.placement,m=e.popperOptions,v=e.popperRef,g=e.TransitionProps,y=(0,l.Z)(e,Ee),x=a.useRef(null),b=(0,s.Z)(x,t),w=a.useRef(null),_=(0,s.Z)(w,v),Z=a.useRef(_);(0,c.Z)((function(){Z.current=_}),[_]),a.useImperativeHandle(v,(function(){return w.current}),[]);var E=function(e,t){if("ltr"===t)return e;switch(e){case"bottom-end":return"bottom-start";case"bottom-start":return"bottom-end";case"top-end":return"top-start";case"top-start":return"top-end";default:return e}}(h,u),S=a.useState(E),j=(0,o.Z)(S,2),T=j[0],A=j[1];a.useEffect((function(){w.current&&w.current.forceUpdate()})),(0,c.Z)((function(){if(n&&p){je(n);var e=[{name:"preventOverflow",options:{altBoundary:d}},{name:"flip",options:{altBoundary:d}},{name:"onUpdate",enabled:!0,phase:"afterWrite",fn:function(e){var t=e.state;A(t.placement)}}];null!=f&&(e=e.concat(f)),m&&null!=m.modifiers&&(e=e.concat(m.modifiers));var t=we(je(n),x.current,(0,i.Z)({placement:E},m,{modifiers:e}));return Z.current(t),function(){t.destroy(),Z.current(null)}}}),[n,d,f,p,m,E]);var C={placement:T};return null!==g&&(C.TransitionProps=g),(0,Ze.jsx)("div",(0,i.Z)({ref:b,role:"tooltip"},y,{children:"function"===typeof r?r(C):r}))})),Ce=a.forwardRef((function(e,t){var n=e.anchorEl,r=e.children,s=e.container,c=e.direction,d=void 0===c?"ltr":c,f=e.disablePortal,p=void 0!==f&&f,h=e.keepMounted,m=void 0!==h&&h,v=e.modifiers,g=e.open,y=e.placement,x=void 0===y?"bottom":y,b=e.popperOptions,w=void 0===b?Te:b,_=e.popperRef,Z=e.style,E=e.transition,S=void 0!==E&&E,j=(0,l.Z)(e,Se),T=a.useState(!0),A=(0,o.Z)(T,2),C=A[0],k=A[1];if(!m&&!g&&(!S||C))return null;var M=s||(n?(0,u.Z)(je(n)).body:void 0);return(0,Ze.jsx)(_e.Z,{disablePortal:p,container:M,children:(0,Ze.jsx)(Ae,(0,i.Z)({anchorEl:n,direction:d,disablePortal:p,modifiers:v,ref:t,open:S?!C:g,placement:x,popperOptions:w,popperRef:_},j,{style:(0,i.Z)({position:"fixed",top:0,left:0,display:g||!m||S&&!C?null:"none"},Z),TransitionProps:S?{in:g,onEnter:function(){k(!1)},onExited:function(){k(!0)}}:null,children:r}))})})),ke=n(92638),Me=a.forwardRef((function(e,t){var n=(0,ke.Z)();return(0,Ze.jsx)(Ce,(0,r.Z)({direction:null==n?void 0:n.direction},e,{ref:t}))}))},97771:function(e,t,n){"use strict";n.d(t,{Z:function(){return L}});var r=n(23430),a=n(36222),o=n(1048),i=n(32793),l=n(50390),s=n(44977),c=n(50076),u=n(15851),d=n(84449),f=n(78241),p=n(62559);function h(e){return e.substring(2).toLowerCase()}var m=function(e){var t=e.children,n=e.disableReactTree,r=void 0!==n&&n,a=e.mouseEvent,o=void 0===a?"onClick":a,i=e.onClickAway,s=e.touchEvent,c=void 0===s?"onTouchEnd":s,m=l.useRef(!1),v=l.useRef(null),g=l.useRef(!1),y=l.useRef(!1);l.useEffect((function(){return setTimeout((function(){g.current=!0}),0),function(){g.current=!1}}),[]);var x=(0,u.Z)(t.ref,v),b=(0,d.Z)((function(e){var t=y.current;y.current=!1;var n=(0,f.Z)(v.current);!g.current||!v.current||"clientX"in e&&function(e,t){return t.documentElement.clientWidth-1:!n.documentElement.contains(e.target)||v.current.contains(e.target))||!r&&t||i(e))})),w=function(e){return function(n){y.current=!0;var r=t.props[e];r&&r(n)}},_={ref:x};return!1!==c&&(_[c]=w(c)),l.useEffect((function(){if(!1!==c){var e=h(c),t=(0,f.Z)(v.current),n=function(){m.current=!0};return t.addEventListener(e,b),t.addEventListener("touchmove",n),function(){t.removeEventListener(e,b),t.removeEventListener("touchmove",n)}}}),[b,c]),!1!==o&&(_[o]=w(o)),l.useEffect((function(){if(!1!==o){var e=h(o),t=(0,f.Z)(v.current);return t.addEventListener(e,b),function(){t.removeEventListener(e,b)}}}),[b,o]),(0,p.jsx)(l.Fragment,{children:l.cloneElement(t,_)})},v=n(8208),g=n(88669),y=n(15573),x=n(78157),b=n(87827),w=n(91442),_=n(2074),Z=n(36128),E=n(46981),S=n(10594),j=n(43349);function T(e){return(0,S.Z)("MuiSnackbarContent",e)}(0,j.Z)("MuiSnackbarContent",["root","message","action"]);var A=["action","className","message","role"],C=(0,v.ZP)(E.Z,{name:"MuiSnackbarContent",slot:"Root",overridesResolver:function(e,t){return t.root}})((function(e){var t=e.theme,n="light"===t.palette.mode?.8:.98,r=(0,Z._4)(t.palette.background.default,n);return(0,i.Z)({},t.typography.body2,(0,a.Z)({color:t.palette.getContrastText(r),backgroundColor:r,display:"flex",alignItems:"center",flexWrap:"wrap",padding:"6px 16px",borderRadius:t.shape.borderRadius,flexGrow:1},t.breakpoints.up("sm"),{flexGrow:"initial",minWidth:288}))})),k=(0,v.ZP)("div",{name:"MuiSnackbarContent",slot:"Message",overridesResolver:function(e,t){return t.message}})({padding:"8px 0"}),M=(0,v.ZP)("div",{name:"MuiSnackbarContent",slot:"Action",overridesResolver:function(e,t){return t.action}})({display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}),P=l.forwardRef((function(e,t){var n=(0,y.Z)({props:e,name:"MuiSnackbarContent"}),r=n.action,a=n.className,l=n.message,u=n.role,d=void 0===u?"alert":u,f=(0,o.Z)(n,A),h=n,m=function(e){var t=e.classes;return(0,c.Z)({root:["root"],action:["action"],message:["message"]},T,t)}(h);return(0,p.jsxs)(C,(0,i.Z)({role:d,square:!0,elevation:6,className:(0,s.Z)(m.root,a),ownerState:h,ref:t},f,{children:[(0,p.jsx)(k,{className:m.message,ownerState:h,children:l}),r?(0,p.jsx)(M,{className:m.action,ownerState:h,children:r}):null]}))}));function O(e){return(0,S.Z)("MuiSnackbar",e)}(0,j.Z)("MuiSnackbar",["root","anchorOriginTopCenter","anchorOriginBottomCenter","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft"]);var R=["onEnter","onExited"],N=["action","anchorOrigin","autoHideDuration","children","className","ClickAwayListenerProps","ContentProps","disableWindowBlurListener","message","onBlur","onClose","onFocus","onMouseEnter","onMouseLeave","open","resumeHideDuration","TransitionComponent","transitionDuration","TransitionProps"],z=(0,v.ZP)("div",{name:"MuiSnackbar",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["anchorOrigin".concat((0,w.Z)(n.anchorOrigin.vertical)).concat((0,w.Z)(n.anchorOrigin.horizontal))]]}})((function(e){var t=e.theme,n=e.ownerState,r=(0,i.Z)({},!n.isRtl&&{left:"50%",right:"auto",transform:"translateX(-50%)"},n.isRtl&&{right:"50%",left:"auto",transform:"translateX(50%)"});return(0,i.Z)({zIndex:t.zIndex.snackbar,position:"fixed",display:"flex",left:8,right:8,justifyContent:"center",alignItems:"center"},"top"===n.anchorOrigin.vertical?{top:8}:{bottom:8},"left"===n.anchorOrigin.horizontal&&{justifyContent:"flex-start"},"right"===n.anchorOrigin.horizontal&&{justifyContent:"flex-end"},(0,a.Z)({},t.breakpoints.up("sm"),(0,i.Z)({},"top"===n.anchorOrigin.vertical?{top:24}:{bottom:24},"center"===n.anchorOrigin.horizontal&&r,"left"===n.anchorOrigin.horizontal&&(0,i.Z)({},!n.isRtl&&{left:24,right:"auto"},n.isRtl&&{right:24,left:"auto"}),"right"===n.anchorOrigin.horizontal&&(0,i.Z)({},!n.isRtl&&{right:24,left:"auto"},n.isRtl&&{left:24,right:"auto"}))))})),I=l.forwardRef((function(e,t){var n=(0,y.Z)({props:e,name:"MuiSnackbar"}),a=n.action,u=n.anchorOrigin,d=(u=void 0===u?{vertical:"bottom",horizontal:"left"}:u).vertical,f=u.horizontal,h=n.autoHideDuration,v=void 0===h?null:h,Z=n.children,E=n.className,S=n.ClickAwayListenerProps,j=n.ContentProps,T=n.disableWindowBlurListener,A=void 0!==T&&T,C=n.message,k=n.onBlur,M=n.onClose,I=n.onFocus,L=n.onMouseEnter,D=n.onMouseLeave,H=n.open,B=n.resumeHideDuration,U=n.TransitionComponent,F=void 0===U?_.Z:U,V=n.transitionDuration,G=void 0===V?{enter:x.x9.enteringScreen,exit:x.x9.leavingScreen}:V,W=n.TransitionProps,q=(W=void 0===W?{}:W).onEnter,K=W.onExited,$=(0,o.Z)(n.TransitionProps,R),Y=(0,o.Z)(n,N),Q="rtl"===(0,g.Z)().direction,J=(0,i.Z)({},n,{anchorOrigin:{vertical:d,horizontal:f},isRtl:Q}),X=function(e){var t=e.classes,n=e.anchorOrigin,r={root:["root","anchorOrigin".concat((0,w.Z)(n.vertical)).concat((0,w.Z)(n.horizontal))]};return(0,c.Z)(r,O,t)}(J),ee=l.useRef(),te=l.useState(!0),ne=(0,r.Z)(te,2),re=ne[0],ae=ne[1],oe=(0,b.Z)((function(){M&&M.apply(void 0,arguments)})),ie=(0,b.Z)((function(e){M&&null!=e&&(clearTimeout(ee.current),ee.current=setTimeout((function(){oe(null,"timeout")}),e))}));l.useEffect((function(){return H&&ie(v),function(){clearTimeout(ee.current)}}),[H,v,ie]);var le=function(){clearTimeout(ee.current)},se=l.useCallback((function(){null!=v&&ie(null!=B?B:.5*v)}),[v,B,ie]);return l.useEffect((function(){if(!A&&H)return window.addEventListener("focus",se),window.addEventListener("blur",le),function(){window.removeEventListener("focus",se),window.removeEventListener("blur",le)}}),[A,se,H]),l.useEffect((function(){if(H)return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)};function e(e){e.defaultPrevented||"Escape"!==e.key&&"Esc"!==e.key||M&&M(e,"escapeKeyDown")}}),[re,H,M]),!H&&re?null:(0,p.jsx)(m,(0,i.Z)({onClickAway:function(e){M&&M(e,"clickaway")}},S,{children:(0,p.jsx)(z,(0,i.Z)({className:(0,s.Z)(X.root,E),onBlur:function(e){k&&k(e),se()},onFocus:function(e){I&&I(e),le()},onMouseEnter:function(e){L&&L(e),le()},onMouseLeave:function(e){D&&D(e),se()},ownerState:J,ref:t},Y,{children:(0,p.jsx)(F,(0,i.Z)({appear:!0,in:H,timeout:G,direction:"top"===d?"down":"up",onEnter:function(e,t){ae(!1),q&&q(e,t)},onExited:function(e){ae(!0),K&&K(e)}},$,{children:Z||(0,p.jsx)(P,(0,i.Z)({message:C,action:a},j))}))}))}))})),L=I},94187:function(e,t,n){"use strict";n.d(t,{Z:function(){return R}});var r=n(23430),a=n(36222),o=n(1048),i=n(32793),l=n(50390),s=n(44977),c=n(50076),u=n(53135),d=n(36128),f=n(8208),p=n(88669),h=n(15573),m=n(91442),v=n(2074),g=n(67361),y=n(87827),x=n(3299),b=n(4733),w=n(42081),_=n(55386),Z=n(10594);function E(e){return(0,Z.Z)("MuiTooltip",e)}var S=(0,n(43349).Z)("MuiTooltip",["popper","popperInteractive","popperArrow","popperClose","tooltip","tooltipArrow","touch","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","arrow"]),j=n(62559),T=["arrow","children","classes","components","componentsProps","describeChild","disableFocusListener","disableHoverListener","disableInteractive","disableTouchListener","enterDelay","enterNextDelay","enterTouchDelay","followCursor","id","leaveDelay","leaveTouchDelay","onClose","onOpen","open","placement","PopperComponent","PopperProps","title","TransitionComponent","TransitionProps"];var A=(0,f.ZP)(g.Z,{name:"MuiTooltip",slot:"Popper",overridesResolver:function(e,t){var n=e.ownerState;return[t.popper,!n.disableInteractive&&t.popperInteractive,n.arrow&&t.popperArrow,!n.open&&t.popperClose]}})((function(e){var t,n=e.theme,r=e.ownerState,o=e.open;return(0,i.Z)({zIndex:n.zIndex.tooltip,pointerEvents:"none"},!r.disableInteractive&&{pointerEvents:"auto"},!o&&{pointerEvents:"none"},r.arrow&&(t={},(0,a.Z)(t,'&[data-popper-placement*="bottom"] .'.concat(S.arrow),{top:0,marginTop:"-0.71em","&::before":{transformOrigin:"0 100%"}}),(0,a.Z)(t,'&[data-popper-placement*="top"] .'.concat(S.arrow),{bottom:0,marginBottom:"-0.71em","&::before":{transformOrigin:"100% 0"}}),(0,a.Z)(t,'&[data-popper-placement*="right"] .'.concat(S.arrow),(0,i.Z)({},r.isRtl?{right:0,marginRight:"-0.71em"}:{left:0,marginLeft:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"100% 100%"}})),(0,a.Z)(t,'&[data-popper-placement*="left"] .'.concat(S.arrow),(0,i.Z)({},r.isRtl?{left:0,marginLeft:"-0.71em"}:{right:0,marginRight:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"0 0"}})),t))})),C=(0,f.ZP)("div",{name:"MuiTooltip",slot:"Tooltip",overridesResolver:function(e,t){var n=e.ownerState;return[t.tooltip,n.touch&&t.touch,n.arrow&&t.tooltipArrow,t["tooltipPlacement".concat((0,m.Z)(n.placement.split("-")[0]))]]}})((function(e){var t,n,r=e.theme,o=e.ownerState;return(0,i.Z)({backgroundColor:(0,d.Fq)(r.palette.grey[700],.92),borderRadius:r.shape.borderRadius,color:r.palette.common.white,fontFamily:r.typography.fontFamily,padding:"4px 8px",fontSize:r.typography.pxToRem(11),maxWidth:300,margin:2,wordWrap:"break-word",fontWeight:r.typography.fontWeightMedium},o.arrow&&{position:"relative",margin:0},o.touch&&{padding:"8px 16px",fontSize:r.typography.pxToRem(14),lineHeight:"".concat((n=16/14,Math.round(1e5*n)/1e5),"em"),fontWeight:r.typography.fontWeightRegular},(t={},(0,a.Z)(t,".".concat(S.popper,'[data-popper-placement*="left"] &'),(0,i.Z)({transformOrigin:"right center"},o.isRtl?(0,i.Z)({marginLeft:"14px"},o.touch&&{marginLeft:"24px"}):(0,i.Z)({marginRight:"14px"},o.touch&&{marginRight:"24px"}))),(0,a.Z)(t,".".concat(S.popper,'[data-popper-placement*="right"] &'),(0,i.Z)({transformOrigin:"left center"},o.isRtl?(0,i.Z)({marginRight:"14px"},o.touch&&{marginRight:"24px"}):(0,i.Z)({marginLeft:"14px"},o.touch&&{marginLeft:"24px"}))),(0,a.Z)(t,".".concat(S.popper,'[data-popper-placement*="top"] &'),(0,i.Z)({transformOrigin:"center bottom",marginBottom:"14px"},o.touch&&{marginBottom:"24px"})),(0,a.Z)(t,".".concat(S.popper,'[data-popper-placement*="bottom"] &'),(0,i.Z)({transformOrigin:"center top",marginTop:"14px"},o.touch&&{marginTop:"24px"})),t))})),k=(0,f.ZP)("span",{name:"MuiTooltip",slot:"Arrow",overridesResolver:function(e,t){return t.arrow}})((function(e){var t=e.theme;return{overflow:"hidden",position:"absolute",width:"1em",height:"0.71em",boxSizing:"border-box",color:(0,d.Fq)(t.palette.grey[700],.9),"&::before":{content:'""',margin:"auto",display:"block",width:"100%",height:"100%",backgroundColor:"currentColor",transform:"rotate(45deg)"}}})),M=!1,P=null;function O(e,t){return function(n){t&&t(n),e(n)}}var R=l.forwardRef((function(e,t){var n,a,d,f,Z,S,R=(0,h.Z)({props:e,name:"MuiTooltip"}),N=R.arrow,z=void 0!==N&&N,I=R.children,L=R.components,D=void 0===L?{}:L,H=R.componentsProps,B=void 0===H?{}:H,U=R.describeChild,F=void 0!==U&&U,V=R.disableFocusListener,G=void 0!==V&&V,W=R.disableHoverListener,q=void 0!==W&&W,K=R.disableInteractive,$=void 0!==K&&K,Y=R.disableTouchListener,Q=void 0!==Y&&Y,J=R.enterDelay,X=void 0===J?100:J,ee=R.enterNextDelay,te=void 0===ee?0:ee,ne=R.enterTouchDelay,re=void 0===ne?700:ne,ae=R.followCursor,oe=void 0!==ae&&ae,ie=R.id,le=R.leaveDelay,se=void 0===le?0:le,ce=R.leaveTouchDelay,ue=void 0===ce?1500:ce,de=R.onClose,fe=R.onOpen,pe=R.open,he=R.placement,me=void 0===he?"bottom":he,ve=R.PopperComponent,ge=R.PopperProps,ye=void 0===ge?{}:ge,xe=R.title,be=R.TransitionComponent,we=void 0===be?v.Z:be,_e=R.TransitionProps,Ze=(0,o.Z)(R,T),Ee=(0,p.Z)(),Se="rtl"===Ee.direction,je=l.useState(),Te=(0,r.Z)(je,2),Ae=Te[0],Ce=Te[1],ke=l.useState(null),Me=(0,r.Z)(ke,2),Pe=Me[0],Oe=Me[1],Re=l.useRef(!1),Ne=$||oe,ze=l.useRef(),Ie=l.useRef(),Le=l.useRef(),De=l.useRef(),He=(0,_.Z)({controlled:pe,default:!1,name:"Tooltip",state:"open"}),Be=(0,r.Z)(He,2),Ue=Be[0],Fe=Be[1],Ve=Ue,Ge=(0,b.Z)(ie),We=l.useRef(),qe=l.useCallback((function(){void 0!==We.current&&(document.body.style.WebkitUserSelect=We.current,We.current=void 0),clearTimeout(De.current)}),[]);l.useEffect((function(){return function(){clearTimeout(ze.current),clearTimeout(Ie.current),clearTimeout(Le.current),qe()}}),[qe]);var Ke=function(e){clearTimeout(P),M=!0,Fe(!0),fe&&!Ve&&fe(e)},$e=(0,y.Z)((function(e){clearTimeout(P),P=setTimeout((function(){M=!1}),800+se),Fe(!1),de&&Ve&&de(e),clearTimeout(ze.current),ze.current=setTimeout((function(){Re.current=!1}),Ee.transitions.duration.shortest)})),Ye=function(e){Re.current&&"touchstart"!==e.type||(Ae&&Ae.removeAttribute("title"),clearTimeout(Ie.current),clearTimeout(Le.current),X||M&&te?Ie.current=setTimeout((function(){Ke(e)}),M?te:X):Ke(e))},Qe=function(e){clearTimeout(Ie.current),clearTimeout(Le.current),Le.current=setTimeout((function(){$e(e)}),se)},Je=(0,w.Z)(),Xe=Je.isFocusVisibleRef,et=Je.onBlur,tt=Je.onFocus,nt=Je.ref,rt=l.useState(!1),at=(0,r.Z)(rt,2)[1],ot=function(e){et(e),!1===Xe.current&&(at(!1),Qe(e))},it=function(e){Ae||Ce(e.currentTarget),tt(e),!0===Xe.current&&(at(!0),Ye(e))},lt=function(e){Re.current=!0;var t=I.props;t.onTouchStart&&t.onTouchStart(e)},st=Ye,ct=Qe;l.useEffect((function(){if(Ve)return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)};function e(e){"Escape"!==e.key&&"Esc"!==e.key||$e(e)}}),[$e,Ve]);var ut=(0,x.Z)(Ce,t),dt=(0,x.Z)(nt,ut),ft=(0,x.Z)(I.ref,dt);""===xe&&(Ve=!1);var pt=l.useRef({x:0,y:0}),ht=l.useRef(),mt={},vt="string"===typeof xe;F?(mt.title=Ve||!vt||q?null:xe,mt["aria-describedby"]=Ve?Ge:null):(mt["aria-label"]=vt?xe:null,mt["aria-labelledby"]=Ve&&!vt?Ge:null);var gt=(0,i.Z)({},mt,Ze,I.props,{className:(0,s.Z)(Ze.className,I.props.className),onTouchStart:lt,ref:ft},oe?{onMouseMove:function(e){var t=I.props;t.onMouseMove&&t.onMouseMove(e),pt.current={x:e.clientX,y:e.clientY},ht.current&&ht.current.update()}}:{});var yt={};Q||(gt.onTouchStart=function(e){lt(e),clearTimeout(Le.current),clearTimeout(ze.current),qe(),We.current=document.body.style.WebkitUserSelect,document.body.style.WebkitUserSelect="none",De.current=setTimeout((function(){document.body.style.WebkitUserSelect=We.current,Ye(e)}),re)},gt.onTouchEnd=function(e){I.props.onTouchEnd&&I.props.onTouchEnd(e),qe(),clearTimeout(Le.current),Le.current=setTimeout((function(){$e(e)}),ue)}),q||(gt.onMouseOver=O(st,gt.onMouseOver),gt.onMouseLeave=O(ct,gt.onMouseLeave),Ne||(yt.onMouseOver=st,yt.onMouseLeave=ct)),G||(gt.onFocus=O(it,gt.onFocus),gt.onBlur=O(ot,gt.onBlur),Ne||(yt.onFocus=it,yt.onBlur=ot));var xt=l.useMemo((function(){var e,t=[{name:"arrow",enabled:Boolean(Pe),options:{element:Pe,padding:4}}];return null!=(e=ye.popperOptions)&&e.modifiers&&(t=t.concat(ye.popperOptions.modifiers)),(0,i.Z)({},ye.popperOptions,{modifiers:t})}),[Pe,ye]),bt=(0,i.Z)({},R,{isRtl:Se,arrow:z,disableInteractive:Ne,placement:me,PopperComponentProp:ve,touch:Re.current}),wt=function(e){var t=e.classes,n=e.disableInteractive,r=e.arrow,a=e.touch,o=e.placement,i={popper:["popper",!n&&"popperInteractive",r&&"popperArrow"],tooltip:["tooltip",r&&"tooltipArrow",a&&"touch","tooltipPlacement".concat((0,m.Z)(o.split("-")[0]))],arrow:["arrow"]};return(0,c.Z)(i,E,t)}(bt),_t=null!=(n=D.Popper)?n:A,Zt=null!=(a=null!=(d=D.Transition)?d:we)?a:v.Z,Et=null!=(f=D.Tooltip)?f:C,St=null!=(Z=D.Arrow)?Z:k,jt=(0,u.Z)(_t,(0,i.Z)({},ye,B.popper),bt),Tt=(0,u.Z)(Zt,(0,i.Z)({},_e,B.transition),bt),At=(0,u.Z)(Et,(0,i.Z)({},B.tooltip),bt),Ct=(0,u.Z)(St,(0,i.Z)({},B.arrow),bt);return(0,j.jsxs)(l.Fragment,{children:[l.cloneElement(I,gt),(0,j.jsx)(_t,(0,i.Z)({as:null!=ve?ve:g.Z,placement:me,anchorEl:oe?{getBoundingClientRect:function(){return{top:pt.current.y,left:pt.current.x,right:pt.current.x,bottom:pt.current.y,width:0,height:0}}}:Ae,popperRef:ht,open:!!Ae&&Ve,id:Ge,transition:!0},yt,jt,{className:(0,s.Z)(wt.popper,null==ye?void 0:ye.className,null==(S=B.popper)?void 0:S.className),popperOptions:xt,children:function(e){var t,n,r=e.TransitionProps;return(0,j.jsx)(Zt,(0,i.Z)({timeout:Ee.transitions.duration.shorter},r,Tt,{children:(0,j.jsxs)(Et,(0,i.Z)({},At,{className:(0,s.Z)(wt.tooltip,null==(t=B.tooltip)?void 0:t.className),children:[xe,z?(0,j.jsx)(St,(0,i.Z)({},Ct,{className:(0,s.Z)(wt.arrow,null==(n=B.arrow)?void 0:n.className),ref:Oe})):null]}))}))}}))]})}))},35477:function(e,t,n){"use strict";n.d(t,{Z:function(){return x}});var r=n(1048),a=n(32793),o=n(50390),i=n(44977),l=n(99301),s=n(50076),c=n(8208),u=n(15573),d=n(91442),f=n(10594);function p(e){return(0,f.Z)("MuiTypography",e)}(0,n(43349).Z)("MuiTypography",["root","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","inherit","button","caption","overline","alignLeft","alignRight","alignCenter","alignJustify","noWrap","gutterBottom","paragraph"]);var h=n(62559),m=["align","className","component","gutterBottom","noWrap","paragraph","variant","variantMapping"],v=(0,c.ZP)("span",{name:"MuiTypography",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.variant&&t[n.variant],"inherit"!==n.align&&t["align".concat((0,d.Z)(n.align))],n.noWrap&&t.noWrap,n.gutterBottom&&t.gutterBottom,n.paragraph&&t.paragraph]}})((function(e){var t=e.theme,n=e.ownerState;return(0,a.Z)({margin:0},n.variant&&t.typography[n.variant],"inherit"!==n.align&&{textAlign:n.align},n.noWrap&&{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},n.gutterBottom&&{marginBottom:"0.35em"},n.paragraph&&{marginBottom:16})})),g={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p",inherit:"p"},y={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},x=o.forwardRef((function(e,t){var n=(0,u.Z)({props:e,name:"MuiTypography"}),o=function(e){return y[e]||e}(n.color),c=(0,l.Z)((0,a.Z)({},n,{color:o})),f=c.align,x=void 0===f?"inherit":f,b=c.className,w=c.component,_=c.gutterBottom,Z=void 0!==_&&_,E=c.noWrap,S=void 0!==E&&E,j=c.paragraph,T=void 0!==j&&j,A=c.variant,C=void 0===A?"body1":A,k=c.variantMapping,M=void 0===k?g:k,P=(0,r.Z)(c,m),O=(0,a.Z)({},c,{align:x,color:o,className:b,component:w,gutterBottom:Z,noWrap:S,paragraph:T,variant:C,variantMapping:M}),R=w||(T?"p":M[C]||g[C])||"span",N=function(e){var t=e.align,n=e.gutterBottom,r=e.noWrap,a=e.paragraph,o=e.variant,i=e.classes,l={root:["root",o,"inherit"!==e.align&&"align".concat((0,d.Z)(t)),n&&"gutterBottom",r&&"noWrap",a&&"paragraph"]};return(0,s.Z)(l,p,i)}(O);return(0,h.jsx)(v,(0,a.Z)({as:R,ref:t,ownerState:O,className:(0,i.Z)(N.root,b)},P))}))},83310:function(e,t){"use strict";t.Z={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"}},80174:function(e,t,n){"use strict";n.d(t,{Z:function(){return R}});var r=n(32793),a=n(1048),o=n(64487),i=n(29605),l=n(36222);function s(e,t,n){var a;return(0,r.Z)({toolbar:(a={minHeight:56},(0,l.Z)(a,"".concat(e.up("xs")," and (orientation: landscape)"),{minHeight:48}),(0,l.Z)(a,e.up("sm"),{minHeight:64}),a)},n)}var c=n(87838),u=n(36128),d={black:"#000",white:"#fff"},f={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},p={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},h=n(83310),m={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},v={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},g={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},y={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},x=["mode","contrastThreshold","tonalOffset"],b={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:d.white,default:d.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},w={text:{primary:d.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:d.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function _(e,t,n,r){var a=r.light||r,o=r.dark||1.5*r;e[t]||(e.hasOwnProperty(n)?e[t]=e[n]:"light"===t?e.light=(0,u.$n)(e.main,a):"dark"===t&&(e.dark=(0,u._j)(e.main,o)))}function Z(e){var t=e.mode,n=void 0===t?"light":t,i=e.contrastThreshold,l=void 0===i?3:i,s=e.tonalOffset,Z=void 0===s?.2:s,E=(0,a.Z)(e,x),S=e.primary||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:v[200],light:v[50],dark:v[400]}:{main:v[700],light:v[400],dark:v[800]}}(n),j=e.secondary||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:p[200],light:p[50],dark:p[400]}:{main:p[500],light:p[300],dark:p[700]}}(n),T=e.error||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:h.Z[500],light:h.Z[300],dark:h.Z[700]}:{main:h.Z[700],light:h.Z[400],dark:h.Z[800]}}(n),A=e.info||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:g[400],light:g[300],dark:g[700]}:{main:g[700],light:g[500],dark:g[900]}}(n),C=e.success||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:y[400],light:y[300],dark:y[700]}:{main:y[800],light:y[500],dark:y[900]}}(n),k=e.warning||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:m[400],light:m[300],dark:m[700]}:{main:"#ed6c02",light:m[500],dark:m[900]}}(n);function M(e){return(0,u.mi)(e,w.text.primary)>=l?w.text.primary:b.text.primary}var P=function(e){var t=e.color,n=e.name,a=e.mainShade,o=void 0===a?500:a,i=e.lightShade,l=void 0===i?300:i,s=e.darkShade,u=void 0===s?700:s;if(!(t=(0,r.Z)({},t)).main&&t[o]&&(t.main=t[o]),!t.hasOwnProperty("main"))throw new Error((0,c.Z)(11,n?" (".concat(n,")"):"",o));if("string"!==typeof t.main)throw new Error((0,c.Z)(12,n?" (".concat(n,")"):"",JSON.stringify(t.main)));return _(t,"light",l,Z),_(t,"dark",u,Z),t.contrastText||(t.contrastText=M(t.main)),t},O={dark:w,light:b};return(0,o.Z)((0,r.Z)({common:d,mode:n,primary:P({color:S,name:"primary"}),secondary:P({color:j,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:P({color:T,name:"error"}),warning:P({color:k,name:"warning"}),info:P({color:A,name:"info"}),success:P({color:C,name:"success"}),grey:f,contrastThreshold:l,getContrastText:M,augmentColor:P,tonalOffset:Z},O[n]),E)}var E=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"];var S={textTransform:"uppercase"},j='"Roboto", "Helvetica", "Arial", sans-serif';function T(e,t){var n="function"===typeof t?t(e):t,i=n.fontFamily,l=void 0===i?j:i,s=n.fontSize,c=void 0===s?14:s,u=n.fontWeightLight,d=void 0===u?300:u,f=n.fontWeightRegular,p=void 0===f?400:f,h=n.fontWeightMedium,m=void 0===h?500:h,v=n.fontWeightBold,g=void 0===v?700:v,y=n.htmlFontSize,x=void 0===y?16:y,b=n.allVariants,w=n.pxToRem,_=(0,a.Z)(n,E);var Z=c/14,T=w||function(e){return"".concat(e/x*Z,"rem")},A=function(e,t,n,a,o){return(0,r.Z)({fontFamily:l,fontWeight:e,fontSize:T(t),lineHeight:n},l===j?{letterSpacing:"".concat((i=a/t,Math.round(1e5*i)/1e5),"em")}:{},o,b);var i},C={h1:A(d,96,1.167,-1.5),h2:A(d,60,1.2,-.5),h3:A(p,48,1.167,0),h4:A(p,34,1.235,.25),h5:A(p,24,1.334,0),h6:A(m,20,1.6,.15),subtitle1:A(p,16,1.75,.15),subtitle2:A(m,14,1.57,.1),body1:A(p,16,1.5,.15),body2:A(p,14,1.43,.15),button:A(m,14,1.75,.4,S),caption:A(p,12,1.66,.4),overline:A(p,12,2.66,1,S)};return(0,o.Z)((0,r.Z)({htmlFontSize:x,pxToRem:T,fontFamily:l,fontSize:c,fontWeightLight:d,fontWeightRegular:p,fontWeightMedium:m,fontWeightBold:g},C),_,{clone:!1})}function A(){return["".concat(arguments.length<=0?void 0:arguments[0],"px ").concat(arguments.length<=1?void 0:arguments[1],"px ").concat(arguments.length<=2?void 0:arguments[2],"px ").concat(arguments.length<=3?void 0:arguments[3],"px rgba(0,0,0,").concat(.2,")"),"".concat(arguments.length<=4?void 0:arguments[4],"px ").concat(arguments.length<=5?void 0:arguments[5],"px ").concat(arguments.length<=6?void 0:arguments[6],"px ").concat(arguments.length<=7?void 0:arguments[7],"px rgba(0,0,0,").concat(.14,")"),"".concat(arguments.length<=8?void 0:arguments[8],"px ").concat(arguments.length<=9?void 0:arguments[9],"px ").concat(arguments.length<=10?void 0:arguments[10],"px ").concat(arguments.length<=11?void 0:arguments[11],"px rgba(0,0,0,").concat(.12,")")].join(",")}var C=["none",A(0,2,1,-1,0,1,1,0,0,1,3,0),A(0,3,1,-2,0,2,2,0,0,1,5,0),A(0,3,3,-2,0,3,4,0,0,1,8,0),A(0,2,4,-1,0,4,5,0,0,1,10,0),A(0,3,5,-1,0,5,8,0,0,1,14,0),A(0,3,5,-1,0,6,10,0,0,1,18,0),A(0,4,5,-2,0,7,10,1,0,2,16,1),A(0,5,5,-3,0,8,10,1,0,3,14,2),A(0,5,6,-3,0,9,12,1,0,3,16,2),A(0,6,6,-3,0,10,14,1,0,4,18,3),A(0,6,7,-4,0,11,15,1,0,4,20,3),A(0,7,8,-4,0,12,17,2,0,5,22,4),A(0,7,8,-4,0,13,19,2,0,5,24,4),A(0,7,9,-4,0,14,21,2,0,5,26,4),A(0,8,9,-5,0,15,22,2,0,6,28,5),A(0,8,10,-5,0,16,24,2,0,6,30,5),A(0,8,11,-5,0,17,26,2,0,6,32,5),A(0,9,11,-5,0,18,28,2,0,7,34,6),A(0,9,12,-6,0,19,29,2,0,7,36,6),A(0,10,13,-6,0,20,31,3,0,8,38,7),A(0,10,13,-6,0,21,33,3,0,8,40,7),A(0,10,14,-6,0,22,35,3,0,8,42,7),A(0,11,14,-7,0,23,36,3,0,9,44,8),A(0,11,15,-7,0,24,38,3,0,9,46,8)],k=n(78157),M={mobileStepper:1e3,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},P=["breakpoints","mixins","spacing","palette","transitions","typography","shape"];function O(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.mixins,n=void 0===t?{}:t,l=e.palette,c=void 0===l?{}:l,u=e.transitions,d=void 0===u?{}:u,f=e.typography,p=void 0===f?{}:f,h=(0,a.Z)(e,P),m=Z(c),v=(0,i.Z)(e),g=(0,o.Z)(v,{mixins:s(v.breakpoints,v.spacing,n),palette:m,shadows:C.slice(),typography:T(m,p),transitions:(0,k.ZP)(d),zIndex:(0,r.Z)({},M)});g=(0,o.Z)(g,h);for(var y=arguments.length,x=new Array(y>1?y-1:0),b=1;b0&&void 0!==arguments[0]?arguments[0]:["all"],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=a.duration,l=void 0===i?n.standard:i,c=a.easing,u=void 0===c?t.easeInOut:c,d=a.delay,f=void 0===d?0:d;(0,r.Z)(a,o);return(Array.isArray(e)?e:[e]).map((function(e){return"".concat(e," ").concat("string"===typeof l?l:s(l)," ").concat(u," ").concat("string"===typeof f?f:s(f))})).join(",")}},e,{easing:t,duration:n})}},75158:function(e,t,n){"use strict";var r=(0,n(80174).Z)();t.Z=r},8208:function(e,t,n){"use strict";n.d(t,{ZP:function(){return T},FO:function(){return E},Dz:function(){return S}});var r=n(35531),a=n(23430),o=n(54695),i=n(60916),l=n(45032),s=n(29605),c=n(128),u=n(89705),d=["variant"];function f(e){return 0===e.length}function p(e){var t=e.variant,n=(0,i.Z)(e,d),r=t||"";return Object.keys(n).sort().forEach((function(t){r+="color"===t?f(r)?e[t]:(0,u.Z)(e[t]):"".concat(f(r)?t:(0,u.Z)(t)).concat((0,u.Z)(e[t].toString()))})),r}var h=["name","slot","skipVariantsResolver","skipSx","overridesResolver"],m=["theme"],v=["theme"];function g(e){return 0===Object.keys(e).length}var y=function(e,t){return t.components&&t.components[e]&&t.components[e].styleOverrides?t.components[e].styleOverrides:null},x=function(e,t){var n=[];t&&t.components&&t.components[e]&&t.components[e].variants&&(n=t.components[e].variants);var r={};return n.forEach((function(e){var t=p(e.props);r[t]=e.style})),r},b=function(e,t,n,r){var a,o,i=e.ownerState,l=void 0===i?{}:i,s=[],c=null==n||null==(a=n.components)||null==(o=a[r])?void 0:o.variants;return c&&c.forEach((function(n){var r=!0;Object.keys(n.props).forEach((function(t){l[t]!==n.props[t]&&e[t]!==n.props[t]&&(r=!1)})),r&&s.push(t[p(n.props)])})),s};function w(e){return"ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e}var _=(0,s.Z)();var Z=n(75158),E=function(e){return w(e)&&"classes"!==e},S=w,j=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.defaultTheme,n=void 0===t?_:t,s=e.rootShouldForwardProp,u=void 0===s?w:s,d=e.slotShouldForwardProp,f=void 0===d?w:d;return function(e){var t,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},d=s.name,p=s.slot,_=s.skipVariantsResolver,Z=s.skipSx,E=s.overridesResolver,S=(0,i.Z)(s,h),j=void 0!==_?_:p&&"Root"!==p||!1,T=Z||!1;var A=w;"Root"===p?A=u:p&&(A=f);var C=(0,l.ZP)(e,(0,o.Z)({shouldForwardProp:A,label:t},S)),k=function(e){for(var t=arguments.length,l=new Array(t>1?t-1:0),s=1;s0){var h=new Array(p).fill("");(f=[].concat((0,r.Z)(e),(0,r.Z)(h))).raw=[].concat((0,r.Z)(e.raw),(0,r.Z)(h))}else"function"===typeof e&&(f=function(t){var r=t.theme,a=(0,i.Z)(t,v);return e((0,o.Z)({theme:g(r)?n:r},a))});var w=C.apply(void 0,[f].concat((0,r.Z)(u)));return w};return C.withConfig&&(k.withConfig=C.withConfig),k}}({defaultTheme:Z.Z,rootShouldForwardProp:E}),T=j},88669:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});n(50390);var r=n(85051),a=n(75158);function o(){return(0,r.Z)(a.Z)}},15573:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(41398),a=n(85051);var o=n(75158);function i(e){return function(e){var t=e.props,n=e.name,o=e.defaultTheme,i=(0,a.Z)(o);return(0,r.Z)({theme:i,name:n,props:t})}({props:e.props,name:e.name,defaultTheme:o.Z})}},40138:function(e,t,n){"use strict";n.d(t,{n:function(){return r},C:function(){return a}});var r=function(e){return e.scrollTop};function a(e,t){var n,r,a=e.timeout,o=e.easing,i=e.style,l=void 0===i?{}:i;return{duration:null!=(n=l.transitionDuration)?n:"number"===typeof a?a:a[t.mode]||0,easing:null!=(r=l.transitionTimingFunction)?r:"object"===typeof o?o[t.mode]:o,delay:l.transitionDelay}}},91442:function(e,t,n){"use strict";var r=n(89705);t.Z=r.Z},8908:function(e,t,n){"use strict";var r=n(68888);t.Z=r.Z},55900:function(e,t,n){"use strict";n.d(t,{Z:function(){return y}});var r=n(32793),a=n(50390),o=n(1048),i=n(44977),l=n(50076),s=n(91442),c=n(15573),u=n(8208),d=n(10594);function f(e){return(0,d.Z)("MuiSvgIcon",e)}(0,n(43349).Z)("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);var p=n(62559),h=["children","className","color","component","fontSize","htmlColor","inheritViewBox","titleAccess","viewBox"],m=(0,u.ZP)("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,"inherit"!==n.color&&t["color".concat((0,s.Z)(n.color))],t["fontSize".concat((0,s.Z)(n.fontSize))]]}})((function(e){var t,n,r,a,o,i,l,s,c,u,d,f,p,h,m,v,g,y=e.theme,x=e.ownerState;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",fill:"currentColor",flexShrink:0,transition:null==(t=y.transitions)||null==(n=t.create)?void 0:n.call(t,"fill",{duration:null==(r=y.transitions)||null==(a=r.duration)?void 0:a.shorter}),fontSize:{inherit:"inherit",small:(null==(o=y.typography)||null==(i=o.pxToRem)?void 0:i.call(o,20))||"1.25rem",medium:(null==(l=y.typography)||null==(s=l.pxToRem)?void 0:s.call(l,24))||"1.5rem",large:(null==(c=y.typography)||null==(u=c.pxToRem)?void 0:u.call(c,35))||"2.1875"}[x.fontSize],color:null!=(d=null==(f=y.palette)||null==(p=f[x.color])?void 0:p.main)?d:{action:null==(h=y.palette)||null==(m=h.action)?void 0:m.active,disabled:null==(v=y.palette)||null==(g=v.action)?void 0:g.disabled,inherit:void 0}[x.color]}})),v=a.forwardRef((function(e,t){var n=(0,c.Z)({props:e,name:"MuiSvgIcon"}),a=n.children,u=n.className,d=n.color,v=void 0===d?"inherit":d,g=n.component,y=void 0===g?"svg":g,x=n.fontSize,b=void 0===x?"medium":x,w=n.htmlColor,_=n.inheritViewBox,Z=void 0!==_&&_,E=n.titleAccess,S=n.viewBox,j=void 0===S?"0 0 24 24":S,T=(0,o.Z)(n,h),A=(0,r.Z)({},n,{color:v,component:y,fontSize:b,inheritViewBox:Z,viewBox:j}),C={};Z||(C.viewBox=j);var k=function(e){var t=e.color,n=e.fontSize,r=e.classes,a={root:["root","inherit"!==t&&"color".concat((0,s.Z)(t)),"fontSize".concat((0,s.Z)(n))]};return(0,l.Z)(a,f,r)}(A);return(0,p.jsxs)(m,(0,r.Z)({as:y,className:(0,i.Z)(k.root,u),ownerState:A,focusable:"false",color:w,"aria-hidden":!E||void 0,role:E?"img":void 0,ref:t},C,T,{children:[a,E?(0,p.jsx)("title",{children:E}):null]}))}));v.muiName="SvgIcon";var g=v;function y(e,t){var n=function(n,a){return(0,p.jsx)(g,(0,r.Z)({"data-testid":"".concat(t,"Icon"),ref:a},n,{children:e}))};return n.muiName=g.muiName,a.memo(a.forwardRef(n))}},60563:function(e,t,n){"use strict";var r=n(53693);t.Z=r.Z},41667:function(e,t,n){"use strict";n.r(t),n.d(t,{capitalize:function(){return r.Z},createChainedFunction:function(){return a.Z},createSvgIcon:function(){return o.Z},debounce:function(){return i.Z},deprecatedPropType:function(){return l},isMuiElement:function(){return s.Z},ownerDocument:function(){return c.Z},ownerWindow:function(){return u.Z},requirePropFactory:function(){return d},setRef:function(){return f},unstable_ClassNameGenerator:function(){return b.Z},unstable_useEnhancedEffect:function(){return p.Z},unstable_useId:function(){return h.Z},unsupportedProp:function(){return m},useControlled:function(){return v.Z},useEventCallback:function(){return g.Z},useForkRef:function(){return y.Z},useIsFocusVisible:function(){return x.Z}});var r=n(91442),a=n(8908),o=n(55900),i=n(60563);var l=function(e,t){return function(){return null}},s=n(43201),c=n(64132),u=n(89603);n(71860);var d=function(e,t){return function(){return null}},f=n(65017).Z,p=n(40839),h=n(4733);var m=function(e,t,n,r,a){return null},v=n(55386),g=n(87827),y=n(3299),x=n(42081),b=n(91916)},43201:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(50390);var a=function(e,t){return r.isValidElement(e)&&-1!==t.indexOf(e.type.muiName)}},64132:function(e,t,n){"use strict";var r=n(78241);t.Z=r.Z},89603:function(e,t,n){"use strict";var r=n(52064);t.Z=r.Z},55386:function(e,t,n){"use strict";var r=n(17832);t.Z=r.Z},40839:function(e,t,n){"use strict";var r=n(62752);t.Z=r.Z},87827:function(e,t,n){"use strict";var r=n(84449);t.Z=r.Z},3299:function(e,t,n){"use strict";var r=n(15851);t.Z=r.Z},4733:function(e,t,n){"use strict";var r=n(83364);t.Z=r.Z},42081:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});var r,a=n(50390),o=!0,i=!1,l={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function s(e){e.metaKey||e.altKey||e.ctrlKey||(o=!0)}function c(){o=!1}function u(){"hidden"===this.visibilityState&&i&&(o=!0)}function d(e){var t=e.target;try{return t.matches(":focus-visible")}catch(n){}return o||function(e){var t=e.type,n=e.tagName;return!("INPUT"!==n||!l[t]||e.readOnly)||"TEXTAREA"===n&&!e.readOnly||!!e.isContentEditable}(t)}var f=function(){var e=a.useCallback((function(e){var t;null!=e&&((t=e.ownerDocument).addEventListener("keydown",s,!0),t.addEventListener("mousedown",c,!0),t.addEventListener("pointerdown",c,!0),t.addEventListener("touchstart",c,!0),t.addEventListener("visibilitychange",u,!0))}),[]),t=a.useRef(!1);return{isFocusVisibleRef:t,onFocus:function(e){return!!d(e)&&(t.current=!0,!0)},onBlur:function(){return!!t.current&&(i=!0,window.clearTimeout(r),r=window.setTimeout((function(){i=!1}),100),t.current=!1,!0)},ref:e}}},46663:function(e,t){"use strict";var n="function"===typeof Symbol&&Symbol.for;t.Z=n?Symbol.for("mui.nested"):"__THEME_NESTED__"},45319:function(e,t,n){"use strict";var r=n(50390).createContext(null);t.Z=r},32657:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(50390),a=n(45319);function o(){return r.useContext(a.Z)}},45032:function(e,t,n){"use strict";n.d(t,{ZP:function(){return x}});var r=n(50390),a=n(87462),o=n(71049),i=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,l=(0,o.Z)((function(e){return i.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91})),s=n(83998),c=n(61866),u=n(34473),d=l,f=function(e){return"theme"!==e},p=function(e){return"string"===typeof e&&e.charCodeAt(0)>96?d:f},h=function(e,t,n){var r;if(t){var a=t.shouldForwardProp;r=e.__emotion_forwardProp&&a?function(t){return e.__emotion_forwardProp(t)&&a(t)}:a}return"function"!==typeof r&&n&&(r=e.__emotion_forwardProp),r},m=function(){return null},v=function e(t,n){var o,i,l=t.__emotion_real===t,d=l&&t.__emotion_base||t;void 0!==n&&(o=n.label,i=n.target);var f=h(t,n,l),v=f||p(d),g=!v("as");return function(){var y=arguments,x=l&&void 0!==t.__emotion_styles?t.__emotion_styles.slice(0):[];if(void 0!==o&&x.push("label:"+o+";"),null==y[0]||void 0===y[0].raw)x.push.apply(x,y);else{0,x.push(y[0][0]);for(var b=y.length,w=1;w<+~=|^:(),"'`\s])/g,_="undefined"!==typeof CSS&&CSS.escape,Z=function(e){return _?_(e):e.replace(w,"\\$1")},E=function(){function e(e,t,n){this.type="style",this.isProcessed=!1;var r=n.sheet,a=n.Renderer;this.key=e,this.options=n,this.style=t,r?this.renderer=r.renderer:a&&(this.renderer=new a)}return e.prototype.prop=function(e,t,n){if(void 0===t)return this.style[e];var r=!!n&&n.force;if(!r&&this.style[e]===t)return this;var a=t;n&&!1===n.process||(a=this.options.jss.plugins.onChangeValue(t,e,this));var o=null==a||!1===a,i=e in this.style;if(o&&!i&&!r)return this;var l=o&&i;if(l?delete this.style[e]:this.style[e]=a,this.renderable&&this.renderer)return l?this.renderer.removeProperty(this.renderable,e):this.renderer.setProperty(this.renderable,e,a),this;var s=this.options.sheet;return s&&s.attached,this},e}(),S=function(e){function t(t,n,r){var a;a=e.call(this,t,n,r)||this;var o=r.selector,i=r.scoped,l=r.sheet,s=r.generateId;return o?a.selectorText=o:!1!==i&&(a.id=s((0,d.Z)((0,d.Z)(a)),l),a.selectorText="."+Z(a.id)),a}(0,u.Z)(t,e);var n=t.prototype;return n.applyTo=function(e){var t=this.renderer;if(t){var n=this.toJSON();for(var r in n)t.setProperty(e,r,n[r])}return this},n.toJSON=function(){var e={};for(var t in this.style){var n=this.style[t];"object"!==typeof n?e[t]=n:Array.isArray(n)&&(e[t]=g(n))}return e},n.toString=function(e){var t=this.options.sheet,n=!!t&&t.options.link?(0,i.Z)({},e,{allowEmpty:!0}):e;return b(this.selectorText,this.style,n)},(0,c.Z)(t,[{key:"selector",set:function(e){if(e!==this.selectorText){this.selectorText=e;var t=this.renderer,n=this.renderable;if(n&&t)t.setSelector(n,e)||t.replaceRule(n,this)}},get:function(){return this.selectorText}}]),t}(E),j={onCreateRule:function(e,t,n){return"@"===e[0]||n.parent&&"keyframes"===n.parent.type?null:new S(e,t,n)}},T={indent:1,children:!0},A=/@([\w-]+)/,C=function(){function e(e,t,n){this.type="conditional",this.isProcessed=!1,this.key=e;var r=e.match(A);for(var a in this.at=r?r[1]:"unknown",this.query=n.name||"@"+this.at,this.options=n,this.rules=new X((0,i.Z)({},n,{parent:this})),t)this.rules.add(a,t[a]);this.rules.process()}var t=e.prototype;return t.getRule=function(e){return this.rules.get(e)},t.indexOf=function(e){return this.rules.indexOf(e)},t.addRule=function(e,t,n){var r=this.rules.add(e,t,n);return r?(this.options.jss.plugins.onProcessRule(r),r):null},t.replaceRule=function(e,t,n){var r=this.rules.replace(e,t,n);return r&&this.options.jss.plugins.onProcessRule(r),r},t.toString=function(e){void 0===e&&(e=T);var t=y(e).linebreak;if(null==e.indent&&(e.indent=T.indent),null==e.children&&(e.children=T.children),!1===e.children)return this.query+" {}";var n=this.rules.toString(e);return n?this.query+" {"+t+n+t+"}":""},e}(),k=/@media|@supports\s+/,M={onCreateRule:function(e,t,n){return k.test(e)?new C(e,t,n):null}},P={indent:1,children:!0},O=/@keyframes\s+([\w-]+)/,R=function(){function e(e,t,n){this.type="keyframes",this.at="@keyframes",this.isProcessed=!1;var r=e.match(O);r&&r[1]?this.name=r[1]:this.name="noname",this.key=this.type+"-"+this.name,this.options=n;var a=n.scoped,o=n.sheet,l=n.generateId;for(var s in this.id=!1===a?this.name:Z(l(this,o)),this.rules=new X((0,i.Z)({},n,{parent:this})),t)this.rules.add(s,t[s],(0,i.Z)({},n,{parent:this}));this.rules.process()}return e.prototype.toString=function(e){void 0===e&&(e=P);var t=y(e).linebreak;if(null==e.indent&&(e.indent=P.indent),null==e.children&&(e.children=P.children),!1===e.children)return this.at+" "+this.id+" {}";var n=this.rules.toString(e);return n&&(n=""+t+n+t),this.at+" "+this.id+" {"+n+"}"},e}(),N=/@keyframes\s+/,z=/\$([\w-]+)/g,I=function(e,t){return"string"===typeof e?e.replace(z,(function(e,n){return n in t?t[n]:e})):e},L=function(e,t,n){var r=e[t],a=I(r,n);a!==r&&(e[t]=a)},D={onCreateRule:function(e,t,n){return"string"===typeof e&&N.test(e)?new R(e,t,n):null},onProcessStyle:function(e,t,n){return"style"===t.type&&n?("animation-name"in e&&L(e,"animation-name",n.keyframes),"animation"in e&&L(e,"animation",n.keyframes),e):e},onChangeValue:function(e,t,n){var r=n.options.sheet;if(!r)return e;switch(t){case"animation":case"animation-name":return I(e,r.keyframes);default:return e}}},H=function(e){function t(){return e.apply(this,arguments)||this}return(0,u.Z)(t,e),t.prototype.toString=function(e){var t=this.options.sheet,n=!!t&&t.options.link?(0,i.Z)({},e,{allowEmpty:!0}):e;return b(this.key,this.style,n)},t}(E),B={onCreateRule:function(e,t,n){return n.parent&&"keyframes"===n.parent.type?new H(e,t,n):null}},U=function(){function e(e,t,n){this.type="font-face",this.at="@font-face",this.isProcessed=!1,this.key=e,this.style=t,this.options=n}return e.prototype.toString=function(e){var t=y(e).linebreak;if(Array.isArray(this.style)){for(var n="",r=0;r=this.index)t.push(e);else for(var r=0;rn)return void t.splice(r,0,e)},t.reset=function(){this.registry=[]},t.remove=function(e){var t=this.registry.indexOf(e);this.registry.splice(t,1)},t.toString=function(e){for(var t=void 0===e?{}:e,n=t.attached,r=(0,f.Z)(t,["attached"]),a=y(r).linebreak,o="",i=0;i0){var n=function(e,t){for(var n=0;nt.index&&r.options.insertionPoint===t.insertionPoint)return r}return null}(t,e);if(n&&n.renderer)return{parent:n.renderer.element.parentNode,node:n.renderer.element};if(n=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.attached&&r.options.insertionPoint===t.insertionPoint)return r}return null}(t,e),n&&n.renderer)return{parent:n.renderer.element.parentNode,node:n.renderer.element.nextSibling}}var r=e.insertionPoint;if(r&&"string"===typeof r){var a=function(e){for(var t=pe(),n=0;nn?n:t},ye=function(){function e(e){this.getPropertyValue=ce,this.setProperty=ue,this.removeProperty=de,this.setSelector=fe,this.hasInsertedRules=!1,this.cssRules=[],e&&re.add(e),this.sheet=e;var t=this.sheet?this.sheet.options:{},n=t.media,r=t.meta,a=t.element;this.element=a||function(){var e=document.createElement("style");return e.textContent="\n",e}(),this.element.setAttribute("data-jss",""),n&&this.element.setAttribute("media",n),r&&this.element.setAttribute("data-meta",r);var o=me();o&&this.element.setAttribute("nonce",o)}var t=e.prototype;return t.attach=function(){if(!this.element.parentNode&&this.sheet){!function(e,t){var n=t.insertionPoint,r=he(t);if(!1!==r&&r.parent)r.parent.insertBefore(e,r.node);else if(n&&"number"===typeof n.nodeType){var a=n,o=a.parentNode;o&&o.insertBefore(e,a.nextSibling)}else pe().appendChild(e)}(this.element,this.sheet.options);var e=Boolean(this.sheet&&this.sheet.deployed);this.hasInsertedRules&&e&&(this.hasInsertedRules=!1,this.deploy())}},t.detach=function(){if(this.sheet){var e=this.element.parentNode;e&&e.removeChild(this.element),this.sheet.options.link&&(this.cssRules=[],this.element.textContent="\n")}},t.deploy=function(){var e=this.sheet;e&&(e.options.link?this.insertRules(e.rules):this.element.textContent="\n"+e.toString()+"\n")},t.insertRules=function(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{},t=e.baseClasses,n=e.newClasses;e.Component;if(!n)return t;var r=(0,a.Z)({},t);return Object.keys(n).forEach((function(e){n[e]&&(r[e]="".concat(t[e]," ").concat(n[e]))})),r}var Se={set:function(e,t,n,r){var a=e.get(t);a||(a=new Map,e.set(t,a)),a.set(n,r)},get:function(e,t,n){var r=e.get(t);return r?r.get(n):void 0},delete:function(e,t,n){e.get(t).delete(n)}},je=Se,Te=n(32657),Ae=n(46663),Ce=["checked","disabled","error","focused","focusVisible","required","expanded","selected"];var ke=Date.now(),Me="fnValues"+ke,Pe="fnStyle"+ ++ke,Oe=function(){return{onCreateRule:function(e,t,n){if("function"!==typeof t)return null;var r=m(e,{},n);return r[Pe]=t,r},onProcessStyle:function(e,t){if(Me in t||Pe in t)return e;var n={};for(var r in e){var a=e[r];"function"===typeof a&&(delete e[r],n[r]=a)}return t[Me]=n,e},onUpdate:function(e,t,n,r){var a=t,o=a[Pe];o&&(a.style=o(e)||{});var i=a[Me];if(i)for(var l in i)a.prop(l,i[l](e),r)}}},Re="@global",Ne="@global ",ze=function(){function e(e,t,n){for(var r in this.type="global",this.at=Re,this.isProcessed=!1,this.key=e,this.options=n,this.rules=new X((0,i.Z)({},n,{parent:this})),t)this.rules.add(r,t[r]);this.rules.process()}var t=e.prototype;return t.getRule=function(e){return this.rules.get(e)},t.addRule=function(e,t,n){var r=this.rules.add(e,t,n);return r&&this.options.jss.plugins.onProcessRule(r),r},t.replaceRule=function(e,t,n){var r=this.rules.replace(e,t,n);return r&&this.options.jss.plugins.onProcessRule(r),r},t.indexOf=function(e){return this.rules.indexOf(e)},t.toString=function(e){return this.rules.toString(e)},e}(),Ie=function(){function e(e,t,n){this.type="global",this.at=Re,this.isProcessed=!1,this.key=e,this.options=n;var r=e.substr(Ne.length);this.rule=n.jss.createRule(r,t,(0,i.Z)({},n,{parent:this}))}return e.prototype.toString=function(e){return this.rule?this.rule.toString(e):""},e}(),Le=/\s*,\s*/g;function De(e,t){for(var n=e.split(Le),r="",a=0;a-1){var a=Ht[e];if(!Array.isArray(a))return ht+Et(a)in t&&mt+a;if(!r)return!1;for(var o=0;ot?1:-1:e.length-t.length};return{onProcessStyle:function(t,n){if("style"!==n.type)return t;for(var r={},a=Object.keys(t).sort(e),o=0;o0&&void 0!==arguments[0]?arguments[0]:{},t=e.disableGlobal,n=void 0!==t&&t,r=e.productionPrefix,a=void 0===r?"jss":r,o=e.seed,i=void 0===o?"":o,l=""===i?"":"".concat(i,"-"),s=0,c=function(){return s+=1};return function(e,t){var r=t.options.name;if(r&&0===r.indexOf("Mui")&&!t.options.link&&!n){if(-1!==Ce.indexOf(e.key))return"Mui-".concat(e.key);var o="".concat(l).concat(r,"-").concat(e.key);return t.options.theme[Ae.Z]&&""===i?"".concat(o,"-").concat(c()):o}return"".concat(l).concat(a).concat(c())}}(),sn={disableGeneration:!1,generateClassName:ln,jss:on,sheetsCache:null,sheetsManager:new Map,sheetsRegistry:null},cn=o.createContext(sn);var un=-1e9;function dn(){return un+=1}var fn=n(64487),pn=n(89705),hn=["variant"];function mn(e){return 0===e.length}function vn(e){var t="function"===typeof e;return{create:function(n,o){var i;try{i=t?e(n):e}catch(u){throw u}if(!o||!n.components||!n.components[o]||!n.components[o].styleOverrides&&!n.components[o].variants)return i;var l=n.components[o].styleOverrides||{},s=n.components[o].variants||[],c=(0,a.Z)({},i);return Object.keys(l).forEach((function(e){c[e]=(0,fn.Z)(c[e]||{},l[e])})),s.forEach((function(e){var t=function(e){var t=e.variant,n=(0,r.Z)(e,hn),a=t||"";return Object.keys(n).sort().forEach((function(t){a+="color"===t?mn(a)?e[t]:(0,pn.Z)(e[t]):"".concat(mn(a)?t:(0,pn.Z)(t)).concat((0,pn.Z)(e[t].toString()))})),a}(e.props);c[t]=(0,fn.Z)(c[t]||{},e.style)})),c},options:{}}}var gn={},yn=["name","classNamePrefix","Component","defaultTheme"];function xn(e,t,n){var r=e.state;if(e.stylesOptions.disableGeneration)return t||{};r.cacheClasses||(r.cacheClasses={value:null,lastProp:null,lastJSS:{}});var a=!1;return r.classes!==r.cacheClasses.lastJSS&&(r.cacheClasses.lastJSS=r.classes,a=!0),t!==r.cacheClasses.lastProp&&(r.cacheClasses.lastProp=t,a=!0),a&&(r.cacheClasses.value=Ee({baseClasses:r.cacheClasses.lastJSS,newClasses:t,Component:n})),r.cacheClasses.value}function bn(e,t){var n=e.state,r=e.theme,o=e.stylesOptions,i=e.stylesCreator,l=e.name;if(!o.disableGeneration){var s=je.get(o.sheetsManager,i,r);s||(s={refs:0,staticSheet:null,dynamicStyles:null},je.set(o.sheetsManager,i,r,s));var c=(0,a.Z)({},i.options,o,{theme:r,flip:"boolean"===typeof o.flip?o.flip:"rtl"===r.direction});c.generateId=c.serverGenerateClassName||c.generateClassName;var u=o.sheetsRegistry;if(0===s.refs){var d;o.sheetsCache&&(d=je.get(o.sheetsCache,i,r));var f=i.create(r,l);d||((d=o.jss.createStyleSheet(f,(0,a.Z)({link:!1},c))).attach(),o.sheetsCache&&je.set(o.sheetsCache,i,r,d)),u&&u.add(d),s.staticSheet=d,s.dynamicStyles=Ze(f)}if(s.dynamicStyles){var p=o.jss.createStyleSheet(s.dynamicStyles,(0,a.Z)({link:!0},c));p.update(t),p.attach(),n.dynamicSheet=p,n.classes=Ee({baseClasses:s.staticSheet.classes,newClasses:p.classes}),u&&u.add(p)}else n.classes=s.staticSheet.classes;s.refs+=1}}function wn(e,t){var n=e.state;n.dynamicSheet&&n.dynamicSheet.update(t)}function _n(e){var t=e.state,n=e.theme,r=e.stylesOptions,a=e.stylesCreator;if(!r.disableGeneration){var o=je.get(r.sheetsManager,a,n);o.refs-=1;var i=r.sheetsRegistry;0===o.refs&&(je.delete(r.sheetsManager,a,n),r.jss.removeStyleSheet(o.staticSheet),i&&i.remove(o.staticSheet)),t.dynamicSheet&&(r.jss.removeStyleSheet(t.dynamicSheet),i&&i.remove(t.dynamicSheet))}}function Zn(e,t){var n,r=o.useRef([]),a=o.useMemo((function(){return{}}),t);r.current!==a&&(r.current=a,n=e()),o.useEffect((function(){return function(){n&&n()}}),[a])}function En(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.name,i=t.classNamePrefix,l=t.Component,s=t.defaultTheme,c=void 0===s?gn:s,u=(0,r.Z)(t,yn),d=vn(e),f=n||i||"makeStyles";d.options={index:dn(),name:n,meta:f,classNamePrefix:f};var p=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,Te.Z)()||c,r=(0,a.Z)({},o.useContext(cn),u),i=o.useRef(),s=o.useRef();Zn((function(){var a={name:n,state:{},stylesCreator:d,stylesOptions:r,theme:t};return bn(a,e),s.current=!1,i.current=a,function(){_n(a)}}),[t,d]),o.useEffect((function(){s.current&&wn(i.current,e),s.current=!0}));var f=xn(i.current,e.classes,l);return f};return p}},4285:function(e,t,n){"use strict";n.d(t,{Z:function(){return h}});var r=n(22516),a=n(99411),o=n(50390),i=n(97178),l=n.n(i),s=n(62449);function c(e){var t=e.theme,n=e.name,a=e.props;if(!t||!t.components||!t.components[n]||!t.components[n].defaultProps)return a;var o,i=(0,r.Z)({},a),l=t.components[n].defaultProps;for(o in l)void 0===i[o]&&(i[o]=l[o]);return i}var u=n(32657),d=n(62559),f=["defaultTheme","withTheme","name"],p=["classes"],h=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(n){var i=t.defaultTheme,h=t.withTheme,m=void 0!==h&&h,v=t.name,g=(0,a.Z)(t,f);var y=v,x=(0,s.Z)(e,(0,r.Z)({defaultTheme:i,Component:n,name:v||n.displayName,classNamePrefix:y},g)),b=o.forwardRef((function(e,t){var o,l=(0,a.Z)(e,p),s=x((0,r.Z)({},n.defaultProps,e)),f=l;return("string"===typeof v||m)&&(o=(0,u.Z)()||i,v&&(f=c({theme:o,name:v,props:l})),m&&!f.theme&&(f.theme=o)),(0,d.jsx)(n,(0,r.Z)({ref:t,classes:s},f))}));return l()(b,n),b}}},11188:function(e,t,n){"use strict";n.d(t,{VO:function(){return r},k9:function(){return o},W8:function(){return i},L7:function(){return l},P$:function(){return s}});var r={xs:0,sm:600,md:900,lg:1200,xl:1536},a={keys:["xs","sm","md","lg","xl"],up:function(e){return"@media (min-width:".concat(r[e],"px)")}};function o(e,t,n){var o=e.theme||{};if(Array.isArray(t)){var i=o.breakpoints||a;return t.reduce((function(e,r,a){return e[i.up(i.keys[a])]=n(t[a]),e}),{})}if("object"===typeof t){var l=o.breakpoints||a;return Object.keys(t).reduce((function(e,a){if(-1!==Object.keys(l.values||r).indexOf(a)){e[l.up(a)]=n(t[a],a)}else{var o=a;e[o]=t[o]}return e}),{})}return n(t)}function i(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=null==t||null==(e=t.keys)?void 0:e.reduce((function(e,n){return e[t.up(n)]={},e}),{});return n||{}}function l(e,t){return e.reduce((function(e,t){var n=e[t];return(!n||0===Object.keys(n).length)&&delete e[t],e}),t)}function s(e){var t,n=e.values,r=e.breakpoints,a=e.base||function(e,t){if("object"!==typeof e)return{};var n={},r=Object.keys(t);return Array.isArray(e)?r.forEach((function(t,r){r1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return Math.min(Math.max(t,e),n)}function o(e){if(e.type)return e;if("#"===e.charAt(0))return o(function(e){e=e.substr(1);var t=new RegExp(".{1,".concat(e.length>=6?2:1,"}"),"g"),n=e.match(t);return n&&1===n[0].length&&(n=n.map((function(e){return e+e}))),n?"rgb".concat(4===n.length?"a":"","(").concat(n.map((function(e,t){return t<3?parseInt(e,16):Math.round(parseInt(e,16)/255*1e3)/1e3})).join(", "),")"):""}(e));var t=e.indexOf("("),n=e.substring(0,t);if(-1===["rgb","rgba","hsl","hsla","color"].indexOf(n))throw new Error((0,r.Z)(9,e));var a,i=e.substring(t+1,e.length-1);if("color"===n){if(a=(i=i.split(" ")).shift(),4===i.length&&"/"===i[3].charAt(0)&&(i[3]=i[3].substr(1)),-1===["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(a))throw new Error((0,r.Z)(10,a))}else i=i.split(",");return{type:n,values:i=i.map((function(e){return parseFloat(e)})),colorSpace:a}}function i(e){var t=e.type,n=e.colorSpace,r=e.values;return-1!==t.indexOf("rgb")?r=r.map((function(e,t){return t<3?parseInt(e,10):e})):-1!==t.indexOf("hsl")&&(r[1]="".concat(r[1],"%"),r[2]="".concat(r[2],"%")),r=-1!==t.indexOf("color")?"".concat(n," ").concat(r.join(" ")):"".concat(r.join(", ")),"".concat(t,"(").concat(r,")")}function l(e){var t="hsl"===(e=o(e)).type?o(function(e){var t=(e=o(e)).values,n=t[0],r=t[1]/100,a=t[2]/100,l=r*Math.min(a,1-a),s=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(e+n/30)%12;return a-l*Math.max(Math.min(t-3,9-t,1),-1)},c="rgb",u=[Math.round(255*s(0)),Math.round(255*s(8)),Math.round(255*s(4))];return"hsla"===e.type&&(c+="a",u.push(t[3])),i({type:c,values:u})}(e)).values:e.values;return t=t.map((function(t){return"color"!==e.type&&(t/=255),t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)})),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function s(e,t){var n=l(e),r=l(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function c(e,t){return e=o(e),t=a(t),"rgb"!==e.type&&"hsl"!==e.type||(e.type+="a"),"color"===e.type?e.values[3]="/".concat(t):e.values[3]=t,i(e)}function u(e,t){if(e=o(e),t=a(t),-1!==e.type.indexOf("hsl"))e.values[2]*=1-t;else if(-1!==e.type.indexOf("rgb")||-1!==e.type.indexOf("color"))for(var n=0;n<3;n+=1)e.values[n]*=1-t;return i(e)}function d(e,t){if(e=o(e),t=a(t),-1!==e.type.indexOf("hsl"))e.values[2]+=(100-e.values[2])*t;else if(-1!==e.type.indexOf("rgb"))for(var n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;else if(-1!==e.type.indexOf("color"))for(var r=0;r<3;r+=1)e.values[r]+=(1-e.values[r])*t;return i(e)}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.15;return l(e)>.5?u(e,t):d(e,t)}},29605:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});var r=n(54695),a=n(60916),o=n(64487),i=["values","unit","step"];function l(e){var t=e.values,n=void 0===t?{xs:0,sm:600,md:900,lg:1200,xl:1536}:t,o=e.unit,l=void 0===o?"px":o,s=e.step,c=void 0===s?5:s,u=(0,a.Z)(e,i),d=Object.keys(n);function f(e){var t="number"===typeof n[e]?n[e]:e;return"@media (min-width:".concat(t).concat(l,")")}function p(e){var t="number"===typeof n[e]?n[e]:e;return"@media (max-width:".concat(t-c/100).concat(l,")")}function h(e,t){var r=d.indexOf(t);return"@media (min-width:".concat("number"===typeof n[e]?n[e]:e).concat(l,") and ")+"(max-width:".concat((-1!==r&&"number"===typeof n[d[r]]?n[d[r]]:t)-c/100).concat(l,")")}return(0,r.Z)({keys:d,values:n,up:f,down:p,between:h,only:function(e){return d.indexOf(e)+10&&void 0!==arguments[0]?arguments[0]:8;if(e.mui)return e;var t=(0,c.hB)({spacing:e}),n=function(){for(var e=arguments.length,n=new Array(e),r=0;r0&&void 0!==arguments[0]?arguments[0]:{},t=e.breakpoints,n=void 0===t?{}:t,i=e.palette,c=void 0===i?{}:i,f=e.spacing,p=e.shape,h=void 0===p?{}:p,m=(0,a.Z)(e,d),v=l(n),g=u(f),y=(0,o.Z)({breakpoints:v,direction:"ltr",components:{},palette:(0,r.Z)({mode:"light"},c),spacing:g,shape:(0,r.Z)({},s,h)},m),x=arguments.length,b=new Array(x>1?x-1:0),w=1;w2){if(!c[e])return[e];e=c[e]}var t=e.split(""),n=(0,r.Z)(t,2),a=n[0],o=n[1],i=l[a],u=s[o]||"";return Array.isArray(u)?u.map((function(e){return i+e})):[i+u]})),d=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],f=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"],p=[].concat(d,f);function h(e,t,n,r){var a=(0,o.D)(e,t)||n;return"number"===typeof a?function(e){return"string"===typeof e?e:a*e}:Array.isArray(a)?function(e){return"string"===typeof e?e:a[e]}:"function"===typeof a?a:function(){}}function m(e){return h(e,"spacing",8)}function v(e,t){if("string"===typeof t||null==t)return t;var n=e(Math.abs(t));return t>=0?n:"number"===typeof n?-n:"-".concat(n)}function g(e,t,n,r){if(-1===t.indexOf(n))return null;var o=function(e,t){return function(n){return e.reduce((function(e,r){return e[r]=v(t,n),e}),{})}}(u(n),r),i=e[n];return(0,a.k9)(e,i,o)}function y(e,t){var n=m(e.theme);return Object.keys(e).map((function(r){return g(e,t,r,n)})).reduce(i.Z,{})}function x(e){return y(e,d)}function b(e){return y(e,f)}function w(e){return y(e,p)}x.propTypes={},x.filterProps=d,b.propTypes={},b.filterProps=f,w.propTypes={},w.filterProps=p;var _=w},29001:function(e,t,n){"use strict";n.d(t,{D:function(){return i}});var r=n(36222),a=n(89705),o=n(11188);function i(e,t){return t&&"string"===typeof t?t.split(".").reduce((function(e,t){return e&&e[t]?e[t]:null}),e):null}function l(e,t,n){var r,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:n;return r="function"===typeof e?e(n):Array.isArray(e)?e[n]||a:i(e,n)||a,t&&(r=t(r)),r}t.Z=function(e){var t=e.prop,n=e.cssProperty,s=void 0===n?e.prop:n,c=e.themeKey,u=e.transform,d=function(e){if(null==e[t])return null;var n=e[t],d=i(e.theme,c)||{};return(0,o.k9)(e,n,(function(e){var n=l(d,u,e);return e===n&&"string"===typeof e&&(n=l(d,u,"".concat(t).concat("default"===e?"":(0,a.Z)(e)),e)),!1===s?n:(0,r.Z)({},s,n)}))};return d.propTypes={},d.filterProps=[t],d}},99301:function(e,t,n){"use strict";n.d(t,{Z:function(){return c}});var r=n(35531),a=n(54695),o=n(60916),i=n(64487),l=n(92039),s=["sx"];function c(e){var t,n=e.sx,c=function(e){var t={systemProps:{},otherProps:{}};return Object.keys(e).forEach((function(n){l.G[n]?t.systemProps[n]=e[n]:t.otherProps[n]=e[n]})),t}((0,o.Z)(e,s)),u=c.systemProps,d=c.otherProps;return t=Array.isArray(n)?[u].concat((0,r.Z)(n)):"function"===typeof n?function(){var e=n.apply(void 0,arguments);return(0,i.P)(e)?(0,a.Z)({},u,e):u}:(0,a.Z)({},u,n),(0,a.Z)({},d,{sx:t})}},128:function(e,t,n){"use strict";var r=n(36222),a=n(75243),o=n(92039),i=n(11188);function l(e){var t=e||{},n=t.sx,s=t.theme,c=void 0===s?{}:s;if(!n)return null;function u(e){var t=e;if("function"===typeof e)t=e(c);else if("object"!==typeof e)return e;var n=(0,i.W8)(c.breakpoints),s=Object.keys(n),u=n;return Object.keys(t).forEach((function(e){var n,s,d=(n=t[e],s=c,"function"===typeof n?n(s):n);if(null!==d&&void 0!==d)if("object"===typeof d)if(o.G[e])u=(0,a.Z)(u,(0,o.Z)(e,d,c));else{var f=(0,i.k9)({theme:c},d,(function(t){return(0,r.Z)({},e,t)}));!function(){for(var e=arguments.length,t=new Array(e),n=0;n0&&void 0!==arguments[0]?arguments[0]:o;return(0,a.Z)(e)}},41398:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(95804);function a(e){var t=e.theme,n=e.name,a=e.props;return t&&t.components&&t.components[n]&&t.components[n].defaultProps?(0,r.Z)(t.components[n].defaultProps,a):a}},92638:function(e,t,n){"use strict";var r=n(32657);function a(e){return 0===Object.keys(e).length}t.Z=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=(0,r.Z)();return!t||a(t)?e:t}},89705:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(87838);function a(e){if("string"!==typeof e)throw new Error((0,r.Z)(7));return e.charAt(0).toUpperCase()+e.slice(1)}},68888:function(e,t,n){"use strict";function r(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:166;function r(){for(var r=this,a=arguments.length,o=new Array(a),i=0;i2&&void 0!==arguments[2]?arguments[2]:{clone:!0},i=n.clone?(0,r.Z)({},e):e;return a(e)&&a(t)&&Object.keys(t).forEach((function(r){"__proto__"!==r&&(a(t[r])&&r in e&&a(e[r])?i[r]=o(e[r],t[r],n):i[r]=t[r])})),i}},87838:function(e,t,n){"use strict";function r(e){for(var t="https://mui.com/production-error/?code="+e,n=1;n-1?a(n):n}},94912:function(e,t,n){"use strict";var r=n(64480),a=n(49793),o=a("%Function.prototype.apply%"),i=a("%Function.prototype.call%"),l=a("%Reflect.apply%",!0)||r.call(i,o),s=a("%Object.getOwnPropertyDescriptor%",!0),c=a("%Object.defineProperty%",!0),u=a("%Math.max%");if(c)try{c({},"a",{value:1})}catch(f){c=null}e.exports=function(e){var t=l(r,i,arguments);if(s&&c){var n=s(t,"length");n.configurable&&c(t,"length",{value:1+u(0,e.length-(arguments.length-1))})}return t};var d=function(){return l(r,o,arguments)};c?c(e.exports,"apply",{value:d}):e.exports.apply=d},44977:function(e,t,n){"use strict";function r(e){var t,n,a="";if("string"===typeof e||"number"===typeof e)a+=e;else if("object"===typeof e)if(Array.isArray(e))for(t=0;tu.depthLimit)return void l(t,e,r,i);if("undefined"!==typeof u.edgesLimit&&a+1>u.edgesLimit)return void l(t,e,r,i);if(o.push(e),Array.isArray(e))for(d=0;dt?1:0}function u(e,t,n,i){"undefined"===typeof i&&(i=o());var l,s=d(e,"",0,[],void 0,0,i)||e;try{l=0===a.length?JSON.stringify(s,t,n):JSON.stringify(s,f(t),n)}catch(u){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==r.length;){var c=r.pop();4===c.length?Object.defineProperty(c[0],c[1],c[3]):c[0][c[1]]=c[2]}}return l}function d(e,a,o,i,s,u,f){var p;if(u+=1,"object"===typeof e&&null!==e){for(p=0;pf.depthLimit)return void l(t,e,a,s);if("undefined"!==typeof f.edgesLimit&&o+1>f.edgesLimit)return void l(t,e,a,s);if(i.push(e),Array.isArray(e))for(p=0;p0)for(var r=0;r1&&"boolean"!==typeof t)throw new i('"allowMissing" argument must be a boolean');var n=j(e),r=n.length>0?n[0]:"",o=T("%"+r+"%",t),l=o.name,c=o.value,u=!1,d=o.alias;d&&(r=d[0],w(n,b([0,1],d)));for(var f=1,p=!0;f=n.length){var y=s(c,h);c=(p=!!y)&&"get"in y&&!("originalValue"in y.get)?y.get:c[h]}else p=x(c,h),c=c[h];p&&!u&&(m[l]=c)}}return c}},32285:function(e,t,n){"use strict";var r="undefined"!==typeof Symbol&&Symbol,a=n(23004);e.exports=function(){return"function"===typeof r&&("function"===typeof Symbol&&("symbol"===typeof r("foo")&&("symbol"===typeof Symbol("bar")&&a())))}},23004:function(e){"use strict";e.exports=function(){if("function"!==typeof Symbol||"function"!==typeof Object.getOwnPropertySymbols)return!1;if("symbol"===typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),n=Object(t);if("string"===typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(t in e[t]=42,e)return!1;if("function"===typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"===typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var r=Object.getOwnPropertySymbols(e);if(1!==r.length||r[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"===typeof Object.getOwnPropertyDescriptor){var a=Object.getOwnPropertyDescriptor(e,t);if(42!==a.value||!0!==a.enumerable)return!1}return!0}},14285:function(e,t,n){"use strict";var r=n(64480);e.exports=r.call(Function.call,Object.prototype.hasOwnProperty)},33156:function(e,t,n){"use strict";n.d(t,{lX:function(){return Z},q_:function(){return C},ob:function(){return m},PP:function(){return M},Ep:function(){return h},Hp:function(){return v}});var r=n(87462);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&a(i[0])||i.unshift("");var h=i.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};function l(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var s=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,r){return e(t,n[r])}));if("object"===typeof t||"object"===typeof n){var r=l(t),a=l(n);return r!==t||a!==n?e(r,a):Object.keys(Object.assign({},t,n)).every((function(r){return e(t[r],n[r])}))}return!1},c=n(73400);function u(e){return"/"===e.charAt(0)?e:"/"+e}function d(e){return"/"===e.charAt(0)?e.substr(1):e}function f(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function p(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function h(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function m(e,t,n,a){var o;"string"===typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function v(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&s(e.state,t.state)}function g(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"===typeof e?e(t,n):e;"string"===typeof o?"function"===typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=m(e,t,f(),b.location);u.confirmTransitionTo(a,r,n,(function(e){e&&(b.entries[b.index]=a,d({action:r,location:a}))}))},go:x,goBack:function(){x(-1)},goForward:function(){x(1)},canGo:function(e){var t=b.index+e;return t>=0&&t0&&void 0!==arguments[0]?arguments[0]:{};l(this,e),this.cookieOptions=Object.assign({path:"/"},t),s=void 0===t.prefix?s:t.prefix}return r(e,[{key:"getItem",value:function(e){var t=i.default.parse(document.cookie);return t&&t.hasOwnProperty(s+e)?t[s+e]:null}},{key:"setItem",value:function(e,t){return document.cookie=i.default.serialize(s+e,t,this.cookieOptions),t}},{key:"removeItem",value:function(e){var t=Object.assign({},this.cookieOptions,{maxAge:-1});return document.cookie=i.default.serialize(s+e,"",t),null}},{key:"clear",value:function(){var e=i.default.parse(document.cookie);for(var t in e)0===t.indexOf(s)&&this.removeItem(t.substr(s.length));return null}}]),e}();t.default=c},89902:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:"localStorage",t=String(e).replace(/storage$/i,"").toLowerCase();if("local"===t)return o("localStorage");if("session"===t)return o("sessionStorage");if("cookie"===t)return(0,r.hasCookies)();if("memory"===t)return!0;throw new Error("Storage method `"+e+"` is not available.\n Please use one of the following: localStorage, sessionStorage, cookieStorage, memoryStorage.")};var r=n(55549),a="__test";function o(e){try{var t=window[e];return t.setItem(a,"1"),t.removeItem(a),!0}catch(n){return!1}}},45678:function(e,t,n){var r=n(56738),a=n(98697),o=n(74299),i=n(29467),l=n(73643);function s(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e-1}},93191:function(e,t,n){var r=n(80981);e.exports=function(e,t){var n=this.__data__,a=r(n,e);return a<0?(++this.size,n.push([e,t])):n[a][1]=t,this}},68805:function(e,t,n){var r=n(45678),a=n(32272),o=n(37161);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||a),string:new r}}},2718:function(e,t,n){var r=n(90711);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},71399:function(e,t,n){var r=n(90711);e.exports=function(e){return r(this,e).get(e)}},13221:function(e,t,n){var r=n(90711);e.exports=function(e){return r(this,e).has(e)}},56910:function(e,t,n){var r=n(90711);e.exports=function(e,t){var n=r(this,e),a=n.size;return n.set(e,t),this.size+=n.size==a?0:1,this}},11974:function(e,t,n){var r=n(29190);e.exports=function(e){var t=r(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t}},15571:function(e,t,n){var r=n(26006)(Object,"create");e.exports=r},1031:function(e){var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},81683:function(e,t,n){var r=n(52769),a="object"==typeof self&&self&&self.Object===Object&&self,o=r||a||Function("return this")();e.exports=o},2788:function(e,t,n){var r=n(11974),a=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,i=r((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(a,(function(e,n,r,a){t.push(r?a.replace(o,"$1"):n||e)})),t}));e.exports=i},99556:function(e,t,n){var r=n(82913);e.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-Infinity?"-0":t}},14939:function(e){var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(n){}try{return e+""}catch(n){}}return""}},81786:function(e){e.exports=function(e,t){return e===t||e!==e&&t!==t}},38342:function(e,t,n){var r=n(61423);e.exports=function(e,t,n){var a=null==e?void 0:r(e,t);return void 0===a?n:a}},93270:function(e,t,n){var r=n(73724),a=n(94370);e.exports=function(e,t){return null!=e&&a(e,t,r)}},39326:function(e,t,n){var r=n(38883),a=n(30135),o=Object.prototype,i=o.hasOwnProperty,l=o.propertyIsEnumerable,s=r(function(){return arguments}())?r:function(e){return a(e)&&i.call(e,"callee")&&!l.call(e,"callee")};e.exports=s},85809:function(e){var t=Array.isArray;e.exports=t},66071:function(e,t,n){var r=n(28485),a=n(74216);e.exports=function(e){if(!a(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},29228:function(e){e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},74216:function(e){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},30135:function(e){e.exports=function(e){return null!=e&&"object"==typeof e}},82913:function(e,t,n){var r=n(28485),a=n(30135);e.exports=function(e){return"symbol"==typeof e||a(e)&&"[object Symbol]"==r(e)}},29190:function(e,t,n){var r=n(30081);function a(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function n(){var r=arguments,a=t?t.apply(this,r):r[0],o=n.cache;if(o.has(a))return o.get(a);var i=e.apply(this,r);return n.cache=o.set(a,i)||o,i};return n.cache=new(a.Cache||r),n}a.Cache=r,e.exports=a},73865:function(e,t,n){var r=n(36675);e.exports=function(e){return null==e?"":r(e)}},61982:function(e){"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function a(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(a){return!1}}()?Object.assign:function(e,o){for(var i,l,s=a(e),c=1;c-1e3&&e<1e3||_.call(/e/,t))return t;var n=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"===typeof e){var r=e<0?-j(-e):j(e);if(r!==e){var a=String(r),o=y.call(t,a.length+1);return x.call(a,n,"$&_")+"."+x.call(x.call(o,/([0-9]{3})/g,"$&_"),/_$/,"")}}return x.call(t,n,"$&_")}var N=n(24654).custom,z=N&&H(N)?N:null;function I(e,t,n){var r="double"===(n.quoteStyle||t)?'"':"'";return r+e+r}function L(e){return x.call(String(e),/"/g,""")}function D(e){return"[object Array]"===F(e)&&(!M||!("object"===typeof e&&M in e))}function H(e){if(k)return e&&"object"===typeof e&&e instanceof Symbol;if("symbol"===typeof e)return!0;if(!e||"object"!==typeof e||!C)return!1;try{return C.call(e),!0}catch(t){}return!1}e.exports=function e(t,n,r,a){var l=n||{};if(U(l,"quoteStyle")&&"single"!==l.quoteStyle&&"double"!==l.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(U(l,"maxStringLength")&&("number"===typeof l.maxStringLength?l.maxStringLength<0&&l.maxStringLength!==1/0:null!==l.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var s=!U(l,"customInspect")||l.customInspect;if("boolean"!==typeof s&&"symbol"!==s)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(U(l,"indent")&&null!==l.indent&&"\t"!==l.indent&&!(parseInt(l.indent,10)===l.indent&&l.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(U(l,"numericSeparator")&&"boolean"!==typeof l.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var m=l.numericSeparator;if("undefined"===typeof t)return"undefined";if(null===t)return"null";if("boolean"===typeof t)return t?"true":"false";if("string"===typeof t)return G(t,l);if("number"===typeof t){if(0===t)return 1/0/t>0?"0":"-0";var b=String(t);return m?R(t,b):b}if("bigint"===typeof t){var _=String(t)+"n";return m?R(t,_):_}var j="undefined"===typeof l.depth?5:l.depth;if("undefined"===typeof r&&(r=0),r>=j&&j>0&&"object"===typeof t)return D(t)?"[Array]":"[Object]";var A=function(e,t){var n;if("\t"===e.indent)n="\t";else{if(!("number"===typeof e.indent&&e.indent>0))return null;n=E.call(Array(e.indent+1)," ")}return{base:n,prev:E.call(Array(t+1),n)}}(l,r);if("undefined"===typeof a)a=[];else if(V(a,t)>=0)return"[Circular]";function N(t,n,o){if(n&&(a=S.call(a)).push(n),o){var i={depth:l.depth};return U(l,"quoteStyle")&&(i.quoteStyle=l.quoteStyle),e(t,i,r+1,a)}return e(t,l,r+1,a)}if("function"===typeof t){var B=function(e){if(e.name)return e.name;var t=g.call(v.call(e),/^function\s*([\w$]+)/);if(t)return t[1];return null}(t),W=Q(t,N);return"[Function"+(B?": "+B:" (anonymous)")+"]"+(W.length>0?" { "+E.call(W,", ")+" }":"")}if(H(t)){var J=k?x.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):C.call(t);return"object"!==typeof t||k?J:q(J)}if(function(e){if(!e||"object"!==typeof e)return!1;if("undefined"!==typeof HTMLElement&&e instanceof HTMLElement)return!0;return"string"===typeof e.nodeName&&"function"===typeof e.getAttribute}(t)){for(var X="<"+w.call(String(t.nodeName)),ee=t.attributes||[],te=0;te"}if(D(t)){if(0===t.length)return"[]";var ne=Q(t,N);return A&&!function(e){for(var t=0;t=0)return!1;return!0}(ne)?"["+Y(ne,A)+"]":"[ "+E.call(ne,", ")+" ]"}if(function(e){return"[object Error]"===F(e)&&(!M||!("object"===typeof e&&M in e))}(t)){var re=Q(t,N);return"cause"in t&&!P.call(t,"cause")?"{ ["+String(t)+"] "+E.call(Z.call("[cause]: "+N(t.cause),re),", ")+" }":0===re.length?"["+String(t)+"]":"{ ["+String(t)+"] "+E.call(re,", ")+" }"}if("object"===typeof t&&s){if(z&&"function"===typeof t[z])return t[z]();if("symbol"!==s&&"function"===typeof t.inspect)return t.inspect()}if(function(e){if(!o||!e||"object"!==typeof e)return!1;try{o.call(e);try{c.call(e)}catch(X){return!0}return e instanceof Map}catch(t){}return!1}(t)){var ae=[];return i.call(t,(function(e,n){ae.push(N(n,t,!0)+" => "+N(e,t))})),$("Map",o.call(t),ae,A)}if(function(e){if(!c||!e||"object"!==typeof e)return!1;try{c.call(e);try{o.call(e)}catch(t){return!0}return e instanceof Set}catch(n){}return!1}(t)){var oe=[];return u.call(t,(function(e){oe.push(N(e,t))})),$("Set",c.call(t),oe,A)}if(function(e){if(!d||!e||"object"!==typeof e)return!1;try{d.call(e,d);try{f.call(e,f)}catch(X){return!0}return e instanceof WeakMap}catch(t){}return!1}(t))return K("WeakMap");if(function(e){if(!f||!e||"object"!==typeof e)return!1;try{f.call(e,f);try{d.call(e,d)}catch(X){return!0}return e instanceof WeakSet}catch(t){}return!1}(t))return K("WeakSet");if(function(e){if(!p||!e||"object"!==typeof e)return!1;try{return p.call(e),!0}catch(t){}return!1}(t))return K("WeakRef");if(function(e){return"[object Number]"===F(e)&&(!M||!("object"===typeof e&&M in e))}(t))return q(N(Number(t)));if(function(e){if(!e||"object"!==typeof e||!T)return!1;try{return T.call(e),!0}catch(t){}return!1}(t))return q(N(T.call(t)));if(function(e){return"[object Boolean]"===F(e)&&(!M||!("object"===typeof e&&M in e))}(t))return q(h.call(t));if(function(e){return"[object String]"===F(e)&&(!M||!("object"===typeof e&&M in e))}(t))return q(N(String(t)));if(!function(e){return"[object Date]"===F(e)&&(!M||!("object"===typeof e&&M in e))}(t)&&!function(e){return"[object RegExp]"===F(e)&&(!M||!("object"===typeof e&&M in e))}(t)){var ie=Q(t,N),le=O?O(t)===Object.prototype:t instanceof Object||t.constructor===Object,se=t instanceof Object?"":"null prototype",ce=!le&&M&&Object(t)===t&&M in t?y.call(F(t),8,-1):se?"Object":"",ue=(le||"function"!==typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(ce||se?"["+E.call(Z.call([],ce||[],se||[]),": ")+"] ":"");return 0===ie.length?ue+"{}":A?ue+"{"+Y(ie,A)+"}":ue+"{ "+E.call(ie,", ")+" }"}return String(t)};var B=Object.prototype.hasOwnProperty||function(e){return e in this};function U(e,t){return B.call(e,t)}function F(e){return m.call(e)}function V(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,r=e.length;nt.maxStringLength){var n=e.length-t.maxStringLength,r="... "+n+" more character"+(n>1?"s":"");return G(y.call(e,0,t.maxStringLength),t)+r}return I(x.call(x.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,W),"single",t)}function W(e){var t=e.charCodeAt(0),n={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return n?"\\"+n:"\\x"+(t<16?"0":"")+b.call(t.toString(16))}function q(e){return"Object("+e+")"}function K(e){return e+" { ? }"}function $(e,t,n,r){return e+" ("+t+") {"+(r?Y(n,r):E.call(n,", "))+"}"}function Y(e,t){if(0===e.length)return"";var n="\n"+t.prev+t.base;return n+E.call(e,","+n)+"\n"+t.prev}function Q(e,t){var n=D(e),r=[];if(n){r.length=e.length;for(var a=0;a